docs(plan): close dashboard contract gates

This commit is contained in:
2026-08-20 19:00:11 +03:30
parent 1654fd5f65
commit a5173d1601

View File

@@ -46,10 +46,11 @@ Implementation cannot start until all items in Gate A are approved. Foundation w
### Gate A — contract approval
- [ ] Approve or revise the backend draft API/OpenAPI contract and assign a stable version/checksum.
- [ ] Resolve the five API product questions: CSV limits, BOM/headers, audit retention, terminal-id presentation, and production Problem Details base URI.
- [ ] Reconcile the UX export states with synchronous CSV delivery and error handling.
- [ ] Confirm Nginx fallback behavior for deep links and the same-origin `/api/v1` proxy.
- [x] Backend OpenAPI `1.0.0` is approved; implementation Task 1 records its source commit/checksum before generation.
- [x] CSV limits/encoding, audit retention, terminal-reference presentation, and the production Problem Details URI namespace are approved.
- [x] UX export states are reconciled with synchronous CSV delivery and error handling.
- [x] Nginx serves history fallback only for frontend routes; `/api/v1` and reserved operational paths never fall through to `index.html`.
- [ ] Obtain a separate explicit instruction to begin implementation.
- [ ] Confirm `merchant.displayName` from `AuthSession` is the shell/export display authority.
- [ ] Confirm whether visible chart-data tables are sufficient or chart-data downloads are also required.
@@ -147,7 +148,7 @@ Route groups share authentication/layout requirements without changing public UR
| Form/dialog/drawer state | Owning component | Local Svelte rune state |
| Generated transport types | Build output/source | Regenerated from approved OpenAPI; never hand-edited |
Ready section content remains immutable for a run revision. Event reconciliation is idempotent by event and section identity. A sibling event cannot erase a valid ready section.
Ready section content remains immutable for a run dataset snapshot. Event reconciliation is idempotent by event and section identity. A sibling event cannot erase a valid ready section.
### 5.4 API and error handling