Audit Log + BYOK AI Editor
Compliance-grade audit trail and end-to-end BYOK AI configuration. Closes the renewal-readiness and demo-ready gaps from the v21-v23 reviews.
Added
- Audit Log Admin Tab - Paginated audit trail with filters (event, outcome, actor, target, time window) and one-click CSV export. 180-day retention, chunked storage that survives recall and template churn.
- BYOK AI Analyzer Editor - Tenant admins can now configure provider (OpenAI, Anthropic, Azure, custom), key reference, model, residency, and retention from the admin page. Save is admin-gated server side; Armada never stores raw keys.
- Operator Outcome Rollup on Compass - Three-row tenant outcome card (campaign completion, recall rate, AI token spend) on the Compass global page so operators see value without leaving their workspace.
- First-time Empty State - Outcome Metrics renders a welcoming onboarding card when a tenant has not launched any campaigns yet, instead of an 8-row "Not available" table.
- Approver Pills on Admin - Admin approval policy form resolves saved account IDs to JiraUser pills with names and avatars via the new get_users_by_account_ids resolver.
- Admin Back-Link - "← Back to Jira" link in the admin page header so admins do not lose their place.
Improved
- Outcome Metrics is always visible on its admin tab (no longer collapsed behind a click)
- Audit log entries persist reliably across Forge function invocations (logger.auditLog now returns a promise resolvers can await)
- save_ai_analyzer_config now admin-gated server side with proper UNAUTHORIZED / FORBIDDEN / RATE_LIMITED branches
Global Admin Page
Dedicated Jira admin page hosting all tenant-wide configuration. Removes the IA conflict of admins editing globals from a random issue panel.
Added
- jira:adminPage Module - New admin surface visible only to Jira site administrators via Atlassian's admin nav gate.
- Four-tab Shell - Outcome Metrics, Approval Policy, AI Analyzer, Intel Rules. Localised in English and German with strict parity.
- Organisation Approval Policy - New persistence layer + editor for tenant-wide default approval threshold, approver allowlist, admin-only requirement, and project override toggle. Effective policy resolution combines org default with per-project override.
- Deep Link from Issue Panel - Governance tab now points operators at the admin page for tenant defaults via a discovery-styled "Tenant configuration has moved" card.
Improved
- Issue panel Governance tab shrunk to per-campaign controls only (effective policy snapshot + pending launch actions)
- isJiraAdmin gate switched from app context to user context so real Jira site admins are recognised
Outcome Metrics + Event Persistence
Answers the renewal question: is Armada delivering value? Eight outcome metrics derived from real campaign state and persisted events.
Added
- Outcome Metrics Surface - Time-to-launch, campaign completion rate, recall rate, auto-nudge response rate, drift incident rate, AI analyzer invocations, AI token spend, template reuse rate. Period-over-period trends with metric-direction awareness.
- Outcome Event Persistence - Tagged-union event log (RECALL, NUDGE_SENT, NUDGE_RESPONSE, AI_INVOCATION, TEMPLATE_INSTANTIATION) stored in chunked Forge Storage with 90-day retention.
- Best-effort Emission - Recall, manual + auto nudge, AI analyzer, and template instantiate all emit outcome events at their natural seams without entangling domain logic with persistence.
- Daily Prune - Existing scheduled trigger now prunes events outside the retention window.
Improved
- Metric definitions are documented in code so GTM and customer-facing material cite the same source
- Auto-nudge response rate computed by joining NUDGE_SENT events with child issue updatedAt within a 48-hour window
Compass & Fleet Intelligence
Deep Atlassian Compass integration bringing campaign visibility to your service catalog.
Added
- Compass Component Page - View campaign status directly on Compass component pages, see which campaigns affect each service
- Compass Scorecards - Campaign metrics automatically pushed to Compass scorecards: open issues, active campaigns, completion rates, average response times
- Compass Team Discovery - Pull teams and services from Atlassian Compass for fleet building with direct component import
- Component Mapping - Map Compass services to Jira project keys for seamless fleet creation
- Fleet Drift Detection - Identify missing projects, renamed teams, schema drift, and permission changes since last configuration
- Adaptive Intel Rules - User-defined triggers like "IF comment contains 'blocked' → intel: BLOCKED"
- Campaign Indexing - Fast lookups for Compass integration with project-based campaign discovery
Improved
- Campaign launch now indexes campaigns for Compass component discovery
- Campaign recall properly unindexes campaigns from Compass
- GraphQL-based Compass API integration replacing deprecated libraries
First Marketplace Submission
The first version submitted to Atlassian Marketplace with all core features.
Added
- License Verification - Integration with Atlassian Marketplace licensing for proper entitlement checks
- Trial Banner - Clear indication of trial status and remaining days
- License Gate - Protected features based on license status
Improved
- CSV import workflow with better validation and error handling
- Auto-nudge batching based on inactivity age buckets
- Approval UX showing pending approver context
Fixed
- CSV import Frame component connection issues in certain browser configurations
Large-Scale Operations
Making large-scale operations faster and more intuitive.
Added
- Bulk Nudge - "Nudge all remaining" button for any non-DONE children
- Manual Fleet Builder - Add, edit, and remove teams manually without CSV files
- Inline Fleet Editing - Edit fleet rows directly in the dashboard
- Multi-Tab Interface - Organized tabs for Status, Launch, Fleet, Auto-Nudge, and Governance
- Smart Intel - Heuristic-based insights from comment scanning and keyword triggers
- Global SITREP Summary - Actionable summaries like "5 teams blocked"
- Auto-Nudge (Scheduled) - Automatically nudge assignees after configurable inactivity
- Approval Gates - Require approval for large fan-outs with configurable thresholds
Core Orchestration Engine
Replace spreadsheets with a native Jira orchestration experience.
Added
- Smart Fan-Out Engine - Automatic creation strategy (sub-task vs linked issue)
- Mission Control Dashboard - Weighted progress bar, fleet table, SITREP panel
- Fleet Persistence - CSV import and manual team entry
- Safety Systems - Fleet health check, recall with delete or soft-close options
- Audit Logging - Full audit trail for all campaign operations