Första verkliga produkten på hela kedjan policy → contract → UI (våg 3.6-piloten).
ADR-0001 (docs/adr/): server-renderad resolution vald — GET /api/orders returnerar per order frozen advance_action (ResolvedAction via resolveAction ur lib/order-flow.ts); ingen extra fetch, ingen policylogik i UI. Klientsides-alternativet avvisat (roundtrip + policy-läckagerisk).
Ändringar:
lib/order-flow.ts: kanoniskt flöde (NEXT_STATUS) + resolveAdvanceAction (available för aktiva steg, read_only/read_only_resource för terminala — i den fri-text-status-DB:n täcker det även okända statusar som tidigare missvisande visades som "klar")
app/api/orders/route.ts: GET mappar på advance_action per order
Verifiering: full svit 1138 godkända (+3 nya), tsc grön, @siax/contracts ^0.10.0 + @siax/ui ^0.11.0 tillagda som deps.
Golden journey (standards/13): admin → orderkö → advance på draft-order (available) → status flyttas; delivered-order visar read_only-varför. Kör mot prod efter deploy.
Första verkliga produkten på hela kedjan **policy → contract → UI** (våg 3.6-piloten).
**ADR-0001 (docs/adr/):** server-renderad resolution vald — GET /api/orders returnerar per order frozen `advance_action` (ResolvedAction via `resolveAction` ur `lib/order-flow.ts`); ingen extra fetch, ingen policylogik i UI. Klientsides-alternativet avvisat (roundtrip + policy-läckagerisk).
**Ändringar:**
- `lib/order-flow.ts`: kanoniskt flöde (NEXT_STATUS) + `resolveAdvanceAction` (available för aktiva steg, read_only/read_only_resource för terminala — i den fri-text-status-DB:n täcker det även okända statusar som tidigare missvisande visades som "klar")
- `app/api/orders/route.ts`: GET mappar på `advance_action` per order
- `app/admin/page.tsx`: advance-knappen inuti `ActionGate` — gated states renderar barnet inert + varför-text
- `tests/order-flow.test.ts`: 3/3 (available/read_only/okänd status)
**Verifiering:** full svit **1138 godkända** (+3 nya), `tsc` grön, `@siax/contracts ^0.10.0` + `@siax/ui ^0.11.0` tillagda som deps.
**Golden journey (standards/13):** admin → orderkö → advance på draft-order (available) → status flyttas; delivered-order visar read_only-varför. Kör mot prod efter deploy.
GET /api/orders returnerar per order frozen advance_action (resolveAction ur
lib/order-flow); admin renderar via ActionGate — policy i serverlagret,
presentation i klienten (DoD §21). Terminala/okända statusar → read_only med
varför-text i stället för missvisande 'klar'. tests/order-flow.test.ts 3/3;
full svit 1138 godkända; typecheck grön.
CODEOWNERS rules
requested review from sax3l 2026-09-29 10:21:05 +00:00
Parallellsessions-merge lämnade 12 eslint-errors på main (no-explicit-any i
graph-mailbox-adapter + 2 p0-tester). Graph-JSON:n är genuint ostrukturerad
— medveten, avgränsad eslint-undantag med skäl (DoD §13); p0-testerna
typade med Record/cast. Lint 0 errors; tsc grön; 1141/1141.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Första verkliga produkten på hela kedjan policy → contract → UI (våg 3.6-piloten).
ADR-0001 (docs/adr/): server-renderad resolution vald — GET /api/orders returnerar per order frozen
advance_action(ResolvedAction viaresolveActionurlib/order-flow.ts); ingen extra fetch, ingen policylogik i UI. Klientsides-alternativet avvisat (roundtrip + policy-läckagerisk).Ändringar:
lib/order-flow.ts: kanoniskt flöde (NEXT_STATUS) +resolveAdvanceAction(available för aktiva steg, read_only/read_only_resource för terminala — i den fri-text-status-DB:n täcker det även okända statusar som tidigare missvisande visades som "klar")app/api/orders/route.ts: GET mappar påadvance_actionper orderapp/admin/page.tsx: advance-knappen inutiActionGate— gated states renderar barnet inert + varför-texttests/order-flow.test.ts: 3/3 (available/read_only/okänd status)Verifiering: full svit 1138 godkända (+3 nya),
tscgrön,@siax/contracts ^0.10.0+@siax/ui ^0.11.0tillagda som deps.Golden journey (standards/13): admin → orderkö → advance på draft-order (available) → status flyttas; delivered-order visar read_only-varför. Kör mot prod efter deploy.