Files
git.stella-ops.org/docs/features/checked/web/findings-compare-baseline-availability-ui.md

2.7 KiB

Findings Compare Baseline Availability UI

Module

Web

Status

VERIFIED

Description

The embedded compare surface on /security/findings now treats active-scan as a first-class current target, shows an explicit unavailable state when no baseline exists, disables export until comparison data is real, and keeps detail mode on live findings data without the stale Export Audit Pack control.

Implementation Details

  • Feature directories:
    • src/Web/StellaOps.Web/src/app/features/findings/
    • src/Web/StellaOps.Web/src/app/features/compare/
  • Primary implementation files:
    • src/Web/StellaOps.Web/src/app/features/findings/container/findings-container.component.ts
    • src/Web/StellaOps.Web/src/app/features/compare/components/compare-view/compare-view.component.ts
    • src/Web/StellaOps.Web/src/app/features/findings/findings-list.component.ts
  • Focused regression files:
    • src/Web/StellaOps.Web/src/app/core/testing/findings-container.component.spec.ts
    • src/Web/StellaOps.Web/src/tests/findings/findings-list.audit-export.behavior.spec.ts
    • src/Web/StellaOps.Web/tests/e2e/findings-compare-baseline-availability.spec.ts
  • Canonical route:
    • /security/findings

Verification

  • Run:
    • npm test -- --watch=false --include src/tests/findings/findings-list.audit-export.behavior.spec.ts
    • npx playwright test --config playwright.config.ts tests/e2e/findings-compare-baseline-availability.spec.ts --workers=1
    • npm run build
  • Tier 0 (source): pass
  • Tier 1 (build/tests): pass
  • Tier 2 (behavior): pass
  • Notes:
    • Focused unit coverage passed: 1/1 tests in findings-list.audit-export.behavior.spec.ts.
    • Deterministic Playwright passed: 2/2 scenarios for no-baseline diff behavior and detail-mode audit-export removal.
    • Live authenticated replay on https://stella-ops.local/security/findings?tenant=demo-prod&regions=us-east&environments=stage&timeWindow=7d showed Active scan, rendered No baseline recommendations available for this scan, kept Export disabled, and issued no /api/compare/delta request without a selected baseline.
    • Production build passed; existing bundle-budget warnings remain unchanged from the baseline.
  • Verified on (UTC): 2026-03-08T13:04:26Z

Verified Behavior

  • /security/findings passes the embedded compare surface the active/current scan context instead of relying on standalone compare route params.
  • When /api/compare/baselines/active-scan returns selectedDigest: null, the page shows a truthful unavailable state instead of fake zero-change content.
  • Export remains disabled until both current and baseline targets exist.
  • Detail mode renders live findings rows and does not expose the removed Export Audit Pack action.