28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# V13-FE-035 — Freshness boundary slice note
|
|
|
|
- **Requirement:** REQ-FE-FRESH
|
|
- **API/UI/Test:** UI-ALL / T-FE-FRESH-01
|
|
- **Source:** v60 freshness/version guidance; current `frontend/src/shared/status/DataFreshnessBadge.vue` and centralized financial formatter.
|
|
- **Assumption:** The caller owns the approved current instant and passes it as `now`; the component is presentation-only.
|
|
- **Unknown:** No active production screen currently consumes this badge with a server-provided `published_at`/revision contract.
|
|
- **Decision Required:** FE/Data/QA must approve the per-resource freshness window and the authoritative server timestamp before production adoption.
|
|
|
|
## Applied boundary
|
|
|
|
- Removed direct machine-clock access from `DataFreshnessBadge`.
|
|
- Added required `now` input so identical `asOf + now + threshold` inputs produce identical state.
|
|
- Reused centralized `formatAsOf` for deterministic KST display formatting.
|
|
- Characterized fresh/stale boundary behavior at and after the configured threshold.
|
|
|
|
## Evidence
|
|
|
|
```text
|
|
pnpm test -- src/shared/status/tests/DataFreshnessBadge.spec.ts
|
|
PASS: 1 file / 2 tests (2026-08-12)
|
|
|
|
pnpm typecheck
|
|
PASS (2026-08-12)
|
|
```
|
|
|
|
This is a contract slice only; no production freshness policy, API integration, revision, or visual evidence is claimed.
|