[T02] Number Stock View
Summary
Tenant-scoped current stock view of all RaceNumbers. Filter by NumberType / subtype / state; KPI tiles per state; drill-down to per-number audit log. Bulk-select hands off to T04.
Actor & Context
Actor: tenant admin, stock operator.
Frequency: weekly+ during event seasons; less often otherwise.
Precondition: user has TENANT_ADMIN permission.
Entry point: Tenant-admin workspace nav Number stock (or equivalent from C01 sidebar revision).
Main Flow
-
Render filter strip: NumberType / subtype / state (multi-select) + search.
-
KPI tiles: counts by state (
IN_STOCK,ISSUED,IN_USE,UNFIT_FOR_SERVICE,DESTROYED). -
Table: number, type, subtype, state, current
person_id(if any),last_used, audit-log popout. -
Row click → drill-down panel: full audit log of state transitions for that number (from
race_number_state_log). -
Bulk-select for actions handed off to T04.
Alternative Flows
-
AF-1: UNFIT row selected — actions filtered to dispose-only per ADR-0003.
-
AF-2: DESTROYED row — read-only; no actions available.
-
AF-3: Empty stock for selected filters — empty state with hint to adjust filters.
Acceptance Criteria
-
Use-case page authored.
-
Status
design-todo → handoff-readyafter Claude Design pass. -
Implementation surfaces existing backend state truthfully (state column from WS1a; audit log from
race_number_state_log). -
Filter, sort, paginate.
-
Honour ADR-0003 — no actions on UNFIT rows other than dispose.
API Surface
| Call | Purpose |
|---|---|
|
Filtered stock list (existing). |
|
Audit log for drill-down. |
|
KPI tile counts (likely existing or trivial composite). |
Design Anchors
-
design-journal/2026-03/number-tag-management.adoc— WS1a / WS1b / ADR-0003 -
Race Number Lifecycle (DRAFT)