V13-FE-006: consolidate approved UI and contract hardening
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# V13-FE-022 — URL query codec slice note
|
||||
|
||||
- **Requirement:** REQ-FE-URL
|
||||
- **API/UI/Test:** UI-URL-01 / T-FE-URL-01
|
||||
- **Source:** v60 deep-link/canonical route boundary; current `frontend/src/shared/crud/queryCodec.ts`.
|
||||
- **Assumption:** Each screen that consumes the codec can provide an approved field/operator allowlist from its resource contract.
|
||||
- **Unknown:** No active production screen currently wires this codec to router state.
|
||||
- **Decision Required:** FE/QA must approve per-resource filter/sort allowlists before enabling URL synchronization in a screen.
|
||||
|
||||
## Applied boundary
|
||||
|
||||
- Added optional allowlists for sort fields, filter fields, and filter operators.
|
||||
- When supplied, unapproved URL values are discarded and the approved fallback remains authoritative.
|
||||
- Preserved existing behavior for callers that have not yet supplied a screen-specific allowlist.
|
||||
- Kept URL state as a serializable query contract; no Pinia/server-state duplication was introduced.
|
||||
|
||||
## Evidence
|
||||
|
||||
```text
|
||||
pnpm test -- src/shared/crud/tests/queryCodec.spec.ts
|
||||
PASS: 1 file / 3 tests (2026-08-12)
|
||||
|
||||
pnpm typecheck
|
||||
PASS (2026-08-12)
|
||||
```
|
||||
|
||||
The Slice remains IN_PROGRESS until a production screen supplies an approved allowlist and deep-link browser evidence is collected.
|
||||
Reference in New Issue
Block a user