# V13-FE-035 — KBX freshness indicator adoption ## Scope - **Source:** KBX v60 `KbxFreshnessIndicator.vue` and freshness contract principles. - **Adopted:** explicit caller-supplied clock, optional source/revision metadata, stale label, and opt-in refresh command with accessible naming. - **Not adopted:** system-clock reads, invented freshness windows, automatic refresh loops, server `published_at`/revision persistence, or provider APIs. ## Source / Assumption / Unknown / Decision Required - **Source:** current `DataFreshnessBadge.vue`, centralized `formatAsOf`, and KBX freshness indicator. - **Assumption:** `staleAfterMinutes` remains an approved caller input; the shared component does not choose a domain threshold. - **Unknown:** production mapping from PIT `published_at`/revision and approved source display names. - **Decision Required:** Data/UX/QA must approve freshness windows, source redaction, revision semantics, and refresh ownership. ## Evidence - Targeted Vitest: 3 tests passed. - `pnpm typecheck`: required after this change. Visual, browser, PIT integration, and production evidence remain outstanding.