Files

49 KiB
Raw Permalink Blame History

Below are the redesigned flagship page wireframes (ASCII) for Stella Ops as an evidence-based release control plane with hybrid reachability as a first-class gate and explanation layer.

Im keeping the pages “small” in feel: the most important words first, then compact supporting text, with deep detail behind links/panels.


0) Shared Shell (applies to all flagship pages)

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ Stella Ops   [ Search: release | digest | CVE | env | target ]   Tenant: ACME  User ▼       │
│ Offline: OK   Feed Snapshot: 2026-01-15   Policy Baseline: prod-baseline v3.1   Evidence: ON│
├───────────────┬────────────────────────────────────────────────────────────────────────────┤
│ CONTROL PLANE │ Breadcrumb: <Section> > <Page>                                              │
│ RELEASES      │                                                                            │
│ APPROVALS     │  <router-outlet>                                                           │
│ SECURITY      │                                                                            │
│ EVIDENCE      │                                                                            │
│ OPERATIONS    │                                                                            │
│ SETTINGS      │                                                                            │
└───────────────┴────────────────────────────────────────────────────────────────────────────┘

Conventions:
- Primary actions are top-right.
- “Open Evidence” and “Open Proof Chain” are always one click away when decisions happen.
- Digests show short form + copy action; full value in hover/expand.
- Gate states: [PASS] [WARN] [BLOCK]
- Reachability states: Reachable / Unreachable / Uncertain + Confidence + Witness link

1) CONTROL PLANE — Overview (new /)

Goal: answer in one screen: whats deployed where, whats pending, what changed, what needs me.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ CONTROL PLANE                                                                               │
│ Release governance with evidence. Promote by digest. Explain every decision.       [Docs →] │
│                                                                              [Create Release]│
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ ENVIRONMENT PIPELINE                                                                         │
│ ┌───────────┐     ┌───────────┐     ┌───────────┐     ┌───────────┐                         │
│ │ DEV       │ --->│ QA        │ --->│ STAGING   │ --->│ PROD      │                         │
│ │ v1.3.0    │     │ v1.2.5    │     │ v1.2.4    │     │ v1.2.3    │                         │
│ │ OK        │     │ OK        │     │ PENDING   │     │ OK        │                         │
│ └───────────┘     └───────────┘     └───────────┘     └───────────┘                         │
│  Deployed by digest. Click an environment to see targets, drift, and evidence.              │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ ┌───────────────────────────────────────────────┐  ┌──────────────────────────────────────┐ │
│ │ ACTION INBOX                                  │  │ DRIFT & RISK CHANGES                  │ │
│ │ (what needs attention)                        │  │ (since last evidence)                 │ │
│ │                                               │  │                                      │ │
│ │ • 3 approvals pending                         │  │ • 2 promotions newly BLOCKED          │ │
│ │ • 1 blocked promotion (reachability)          │  │ • 5 CVEs updated (1 reachable)        │ │
│ │ • 2 failed deployments (retry available)      │  │ • 1 feed stale risk (OSV 36h old)     │ │
│ │ • 1 key expiring in 14 days                   │  │ • 0 config drifts in prod             │ │
│ │                                               │  │                                      │ │
│ │ [Go to Approvals] [Go to Deployments]         │  │ [View Drift] [View Security Impact]   │ │
│ └───────────────────────────────────────────────┘  └──────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ PENDING PROMOTIONS                                                                            │
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ Release    From → To     Status         Gates            Risk Delta      Actions          │ │
│ │ v1.2.5     QA → Staging  Waiting        [PASS][WARN]     +2 new CVEs     [Open Approval]  │ │
│ │ v1.2.6     Dev → QA      Auto-approved  [PASS]           net safer       [Deploy Now]     │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────────────────┘

2) RELEASES — List (/releases)

Goal: inventory releases as immutable bundles, show where deployed, and enable promotion/evidence.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ RELEASES                                                                                    │
│ Immutable digest bundles. Promote releases across environments.                     [Docs →] │
│                                                            [Create Release] [Export CSV]    │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ Filters: [Search release/component/digest…] [Env ▼] [Deployed ▼] [Gate ▼] [Date ▼]          │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ │ Release  Bundle Digest     Components  Deployed Where        Gates        Evidence  Action│
│ │ v1.2.6   sha256:9c1…3a     12          Dev, QA               [PASS]       Signed    [View]│
│ │ v1.2.5   sha256:7aa…2f     12          QA                    [WARN]       Signed    [View]│
│ │ v1.2.4   sha256:0b2…c9     11          Staging               [PASS]       Signed    [View]│
│ │ v1.2.3   sha256:1d9…11     11          Prod                  [PASS]       Signed    [View]│
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
│
│ Multi-select actions: [Request Promotion] [Generate Evidence] [Replay Verify] [Compare]     │
└────────────────────────────────────────────────────────────────────────────────────────────┘

3) RELEASES — Release Detail (/releases/:releaseId)

Goal: one flagship screen that ties promotion + gates + reachability + evidence + proof chain.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ RELEASE v1.2.5                                                                               │
│ Bundle: sha256:7aa…2f  (copy)   Created: 2026-01-15  Source: CI build #882          [Docs →] │
│                                                         [Request Promotion] [Rollback]     │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ DEPLOYMENT MAP                                                                               │
│ Dev: v1.3.0 (not this)   QA: v1.2.5 (THIS)   Staging: pending   Prod: v1.2.3                │
│ [Open Environment QA]   [Open Approval]   [Open Deployments]                                   │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ Tabs: [Overview] [Components] [Gates] [Promotions] [Deployments] [Evidence] [Proof Chain]   │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ OVERVIEW                                                                                    │
│ ┌───────────────────────────────────────────────┐  ┌──────────────────────────────────────┐ │
│ │ GATE SUMMARY (Policy: stg-baseline v3.1)      │  │ SECURITY IMPACT                        │ │
│ │ SBOM signed:            [PASS]                │  │ New CVEs: 2 (1 reachable)              │ │
│ │ Provenance present:     [PASS]                │  │ Fixed CVEs: 5                           │ │
│ │ Reachability coverage:  [WARN] 89%            │  │ VEX: 2 not-affected, 1 under review     │ │
│ │ Critical reachable:     [BLOCK] 1 (0.82 conf) │  │ Exceptions: 0                           │ │
│ │                                             │  │ [Open Findings for this Release]        │ │
│ │ [Open Reachability Witness] [Explain]         │  └──────────────────────────────────────┘ │
│ └───────────────────────────────────────────────┘                                           │
│
│ MOST RECENT EVIDENCE PACKET                                                                  │
│ Evidence: EVD-2026-0045  Signed: YES  Verified: YES  Feed Snapshot: 2026-01-15               │
│ [Open Evidence Packet]   [Export Bundle]   [Replay Verify]                                   │
└────────────────────────────────────────────────────────────────────────────────────────────┘

4) APPROVALS — Inbox (/approvals)

Goal: make approvals the decision cockpit: diff-first, evidence-first, reachability-first.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ APPROVALS                                                                                   │
│ Decide promotions with policy + reachability, backed by signed evidence.            [Docs →] │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ Filters: [Pending ▼] [Env ▼] [Team ▼] [Policy Baseline ▼] [Search…]                           │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ │ PENDING (3)                                                                               │
│ ├──────────────────────────────────────────────────────────────────────────────────────────┤
│ │ v1.2.5  QA → Staging   Requested by: deploy-bot   2h ago                                  │
│ │ WHAT CHANGED:  +3 pkgs   +2 CVEs (1 reachable)   -5 fixed   Drift: none                   │
│ │ GATES:  SBOM[PASS]  Provenance[PASS]  Reachability[BLOCK]  VEX[WARN]                      │
│ │ Actions: [Open] [Open Evidence] [Open Witness] [Request Exception] [Approve] [Reject]     │
│ ├──────────────────────────────────────────────────────────────────────────────────────────┤
│ │ v1.2.6  Dev → QA      Auto-approved gates. Waiting deploy window.                          │
│ │ WHAT CHANGED: net safer   -2 CVEs  Coverage: 92%                                          │
│ │ Actions: [Deploy Now] [Open Evidence]                                                     │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
└────────────────────────────────────────────────────────────────────────────────────────────┘

5) APPROVALS — Approval Detail (/approvals/:approvalId)

Goal: show everything needed to make a decision—without navigating away.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ APPROVAL: v1.2.5  QA → Staging                                                                │
│ Requested by: deploy-bot  2h ago  Policy: stg-baseline v3.1  Feed Snapshot: 2026-01-15       │
│                                                                 [Open Evidence] [Docs →]     │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ LEFT: DIFF & GATES                                         RIGHT: DECISION & COMMENTS       │
│ ┌───────────────────────────────────────────────────────┐  ┌─────────────────────────────┐ │
│ │ WHAT CHANGED (Diff-first)                             │  │ DECISION                     │ │
│ │ Components changed: 3                                 │  │ [Approve] [Reject]           │ │
│ │ New CVEs: 2 (1 reachable)                             │  │ Require comment: [____]      │ │
│ │ Fixed CVEs: 5                                         │  │ Optional: [Request Exception]│ │
│ │ Config drift: none                                    │  └─────────────────────────────┘ │
│ ├───────────────────────────────────────────────────────┤                                   │
│ │ GATES (expandable)                                    │  ┌─────────────────────────────┐ │
│ │ SBOM signed:                 [PASS]                   │  │ COMMENTS / AUDIT NOTES       │ │
│ │ Provenance attested:         [PASS]                   │  │ - user1: needs exception?    │ │
│ │ Reachability:                [BLOCK]                  │  │ - sec: confirm witness path  │ │
│ │ VEX consensus:               [WARN]                   │  │ [Add comment]                │ │
│ │                                                       │  └─────────────────────────────┘ │
│ │ [Explain Gate Results] [Open Proof Chain]             │                                   │
│ └───────────────────────────────────────────────────────┘                                   │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ REACHABILITY WITNESS (the moat)                                                                │
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ Finding: CVE-2026-1234 in log4j                                                             │
│ │ State: Reachable   Confidence: 0.82   Reason: static path + runtime signal present          │
│ │ Witness Path: main() → processRequest() → Logger.log() → vulnerable()                       │
│ │ Guards: none detected   Dynamic loading: no                                                  │
│ │ Actions: [Open Full Witness] [Export DOT] [Replay Verify]                                    │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────────────────┘

6) ENVIRONMENTS — List (/environments)

Goal: show environments as release destinations (not just config objects).

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ ENVIRONMENTS                                                                               │
│ What is deployed where, with policy and evidence.                                 [Docs →] │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ │ Environment  Current Release  Freeze  Targets  Policy Baseline        Last Deploy  Action│
│ │ Dev          v1.3.0           Off     12       dev-baseline v2.0      10m ago      [Open]│
│ │ QA           v1.2.5           Off     8        qa-baseline v2.5       2h ago       [Open]│
│ │ Staging      v1.2.4           On      6        stg-baseline v3.1      6h ago       [Open]│
│ │ Prod         v1.2.3           Off     20       prod-baseline v3.1     1d ago       [Open]│
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
└────────────────────────────────────────────────────────────────────────────────────────────┘

7) ENVIRONMENTS — Environment Detail (/environments/:envId)

Goal: environment as a “release ledger”: targets, drift, promotions, evidence.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ ENVIRONMENT: Staging                                                                         │
│ Current: v1.2.4   Policy: stg-baseline v3.1   Freeze: ON (window 18:0020:00 UTC)   [Docs →]│
│                                                         [Request Promotion] [Open Evidence] │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ Tabs: [Overview] [Targets] [Promotions] [Deployments] [Drift] [Evidence]                     │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ OVERVIEW                                                                                    │
│ ┌───────────────────────────────────────────────┐  ┌──────────────────────────────────────┐ │
│ │ RELEASE HISTORY (ledger)                      │  │ CURRENT RISK SNAPSHOT                 │ │
│ │ v1.2.2 → v1.2.3 → v1.2.4 (current)            │  │ Gate summary: [PASS][WARN]            │ │
│ │ Last promotion: QA → Staging  6h ago          │  │ Reachability coverage: 89%            │ │
│ │ Evidence: EVD-2026-0044 (verified)            │  │ Drift since evidence: none            │ │
│ │ [Open Proof Chain]                            │  │ [Open Findings Impacting Staging]     │ │
│ └───────────────────────────────────────────────┘  └──────────────────────────────────────┘ │
│
│ TARGETS (quick view)                                                                          │
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ Target            Type     Status   Deployed Digest     Last Seen   Action                │ │
│ │ stg-host-01       Docker   OK       sha256:abc…         1m ago      [Details]             │ │
│ │ stg-compose-02    Compose  OK       sha256:abc…         1m ago      [Details]             │ │
│ │ stg-ecs-service   ECS      OK       sha256:abc…         2m ago      [Details]             │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────────────────┘

8) DEPLOYMENTS — List (/deployments)

Goal: operational truth: deployments as executions with artifacts + evidence.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ DEPLOYMENTS                                                                                │
│ Execution history by environment and release, with evidence for every run.         [Docs →] │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ Filters: [Env ▼] [Release ▼] [Status ▼] [Target Type ▼] [Date ▼] [Search…]                  │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ │ Deployment     Env      Release  Started        Duration  Status    Evidence   Action    │
│ │ DEP-2026-045   Prod     v1.2.3   2h ago         3m12s     OK        Verified   [Open]    │
│ │ DEP-2026-044   Staging  v1.2.4   6h ago         2m55s     OK        Verified   [Open]    │
│ │ DEP-2026-043   QA       v1.2.5   10h ago        5m01s     FAILED    Partial    [Open]    │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
└────────────────────────────────────────────────────────────────────────────────────────────┘

9) DEPLOYMENTS — Run Detail (/deployments/:deployId)

Goal: show workflow DAG, logs, generated artifacts (immutable), and evidence.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ DEPLOYMENT: DEP-2026-045                                                                     │
│ Env: Prod   Release: v1.2.3   Plan Hash: ph_91a…   Agent: prod-agent-02               [Docs→]│
│                                                     [Open Evidence] [Rollback] [Replay Verify]│
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ Tabs: [Workflow] [Targets] [Artifacts] [Logs] [Evidence]                                     │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ WORKFLOW (DAG)                                                                               │
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ Fetch Digests → Generate compose.stella.lock.yml → Deploy → Verify → Seal Evidence         │
│ │   OK                 OK                         OK         OK        OK                   │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
│
│ ARTIFACTS (immutable outputs)                                                                │
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ compose.stella.lock.yml      sha256:11a…   [View] [Download]                               │
│ │ deploy.stella.script.dll     sha256:22b…   [View] [Download]                               │
│ │ release.evidence.json        sha256:33c…   [View] [Download]                               │
│ │ stella.version.json          sha256:44d…   [View] [Download]                               │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────────────────┘

10) EVIDENCE — Evidence Center (/evidence)

Goal: one unified hub for evidence packets (release/promotion/deploy/audit), verification, export, replay.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ EVIDENCE                                                                                   │
│ Search, verify, export signed evidence packets and proof chains.                    [Docs →]│
│                                                         [Create Audit Bundle] [Export]     │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ Filters: [Type ▼] [Release ▼] [Env ▼] [Signed ▼] [Verified ▼] [Date ▼] [Search…]            │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ │ Evidence ID     Type        Subject              Signed  Verified  Snapshot     Action   │
│ │ EVD-2026-0045   Promotion   v1.2.5 QA→Staging    Yes     Yes       2026-01-15   [Open]   │
│ │ EVD-2026-0044   Deployment  DEP-2026-044         Yes     Yes       2026-01-15   [Open]   │
│ │ EVD-2026-0043   Release     v1.2.3               Yes     Yes       2026-01-14   [Open]   │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
└────────────────────────────────────────────────────────────────────────────────────────────┘

11) EVIDENCE — Evidence Packet Viewer (/evidence/:evidenceId)

Goal: evidence as a structured “who/what/why/how/when” record + bundle contents + verify.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ EVIDENCE PACKET: EVD-2026-0045                                                               │
│ Type: Promotion   Subject: v1.2.5 QA→Staging   Signed: YES   Verified: YES          [Docs →]│
│                                        [Download Bundle] [Open Proof Chain] [Replay Verify]│
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ SUMMARY (audit-friendly)                                                                    │
│ Who: user1@acme      What: release bundle sha256:7aa…2f     When: 2026-01-15 10:23 UTC      │
│ Why: Gate verdict BLOCK (reachability) + VEX WARN                                               │
│ How: workflow ph_91a…  agent prod-agent-02                                                     │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ CONTENTS                                                                                     │
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ SBOM (CycloneDX 1.7)          sha256:aa1…  [View] [Download]                              │ │
│ │ Policy verdict (K4 lattice)   sha256:bb2…  [View] [Explain]                               │ │
│ │ Reachability witness slice    sha256:cc3…  [Open Witness] [Export DOT]                    │ │
│ │ VEX statements (OpenVEX)      sha256:dd4…  [View]                                         │ │
│ │ Attestations (DSSE)           sha256:ee5…  [View]                                         │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────────────────┘

12) SECURITY — Findings (release-aware) (/security/findings)

Goal: security becomes decision support: every finding shows impact on releases/environments.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ SECURITY FINDINGS                                                                           │
│ Findings with reachability and release impact. Triage feeds the release gates.      [Docs →]│
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ Filters: [Search CVE/pkg/release…] [Severity ▼] [Reachability ▼] [Env Impact ▼] [Date ▼]     │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ │ Sev  Finding        Component        Reachability (conf)   Impacts            Gate Impact │
│ │ CRIT CVE-2026-1234  log4j@2.14.1     Reachable (0.82)      v1.2.5 Staging     BLOCK       │
│ │ HIGH CVE-2026-5678  spring@5.2.1     Uncertain (0.55)      v1.2.6 QA          WARN        │
│ │ MED  CVE-2026-9012  commons-io@2.4   Unreachable (0.90)    v1.2.3 Prod        PASS        │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘
│
│ Selecting a row opens a detail drawer: Witness, VEX status, Exceptions, Evidence links.     │
└────────────────────────────────────────────────────────────────────────────────────────────┘

13) SECURITY — Vulnerability Detail (impact-first) (/security/vulnerabilities/:cveId)

Goal: unify CVE intelligence with where it matters (deployed + gated) + VEX + reachability witness.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ VULNERABILITY: CVE-2026-1234                                                                │
│ Severity: Critical   CVSS: 9.8   EPSS: 0.72   Exploited: Yes (KEV)                  [Docs →]│
│                                           [Open Findings] [Open Evidence] [Open Witness]   │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ IMPACT (where it matters)                                                                    │
│ ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ Deployed Environments: Staging (via v1.2.5), Prod (via v1.2.3)                             │ │
│ │ Gate Impact: Blocks QA→Staging promotions for v1.2.5                                       │ │
│ │ Fix path: Upgrade log4j to 2.17.x  (available)                                             │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ REACHABILITY SUMMARY                                                                         │
│ State: Reachable   Confidence: 0.82   Witness: main()→processRequest()→Logger.log()→vuln()  │
│ Guards: none detected   Dynamic loading: no                                                  │
└────────────────────────────────────────────────────────────────────────────────────────────┘

14) Reachability Witness Viewer (full page when needed) (/witness/:id)

Goal: this is your “best-in-class” differentiator page—clear, exportable, replayable.

┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ REACHABILITY WITNESS                                                                         │
│ Subject: CVE-2026-1234  Component: log4j@2.14.1  Release: v1.2.5  Env: Staging      [Docs →]│
│ State: Reachable  Confidence: 0.82  Snapshot: 2026-01-15  Deterministic: YES                │
│                                               [Export DOT] [Export Mermaid] [Replay Verify] │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ PATH (human-readable)                                                                        │
│ main() → processRequest() → Logger.log() → vulnerable_function()                              │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ EXPLANATION (why confidence is 0.82)                                                          │
│ • Static path found: yes                                                                      │
│ • Runtime signal present: yes                                                                 │
│ • Guards detected: none                                                                       │
│ • Dynamic loading: no                                                                         │
│ • Reflection: no                                                                              │
├────────────────────────────────────────────────────────────────────────────────────────────┤
│ GRAPH (collapsed by default; expand on demand)                                                │
│ [ Expand Graph Viewer ]                                                                       │
└────────────────────────────────────────────────────────────────────────────────────────────┘