fix(web): ship findings compare baseline availability
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# 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®ions=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.
|
||||
Reference in New Issue
Block a user