# AEG-V16-018 — DataContextHeader

## Scope

- **WBS / Requirement / UI / Test:** AEG-V16-018 / REQ-V16-FEC-02 / UI-V16-FEC-02 / T-V16-FEC-02
- **Classification:** one shared FE component slice; no server, API, schema, policy, or provider change.

## Source / Assumption / Unknown / Decision Required

- **Source:** `docs/CURRENT/CATALOGS/WBS_MASTER.csv`, `frontend/src/shared/contracts/versionSet.ts`, `frontend/src/shared/ui/EvidenceVersionSet.vue`, and existing `KsDataContextHeader.vue`.
- **Assumption:** consumers pass values from an approved server-side evidence/projection context; this display component neither creates nor validates an evidence decision.
- **Unknown:** the WBS tracker lacks approved predecessor evidence for AEG-V16-017. This slice preserves that dependency as a completion blocker.
- **Decision Required:** a UI/UX owner must approve visual and accessibility evidence before this item is marked COMPLETED at MVP-A.

## Acceptance mapping

| Acceptance requirement | Implementation evidence |
| --- | --- |
| as-of / VersionSet / Projection / Watermark | all four are required props and rendered in the header. |
| stale state is visible and accessible | `data-stale`, visible `STALE`, and an assertive status label are rendered together. |
| reproducible component behavior | `KsDataContextHeader.spec.ts` verifies evidence propagation and stale output. |

## Execution evidence — 2026-08-08

- `frontend: pnpm test -- --run src/shared/ui/components/tests/KsDataContextHeader.spec.ts`: 1 file / 2 tests passed.
- `frontend: pnpm typecheck`: passed.
- `frontend: pnpm build`: passed. The build reported a 501.13 kB gzip main chunk warning; no unapproved performance threshold is inferred from that warning.
