feat(admin): authz-pilot — server-renderad advance-resolution + ActionGate (ADR-0001) #128

Merged
admin merged 6 commits from feat/authz-pilot-20260929 into main 2026-09-29 11:48:56 +00:00
Owner

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.

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.
admin added 1 commit 2026-09-29 10:21:05 +00:00
feat(admin): authz-pilot — server-renderad advance-resolution + ActionGate (ADR-0001)
CI (SIAX Cloud) / integration (push) Skipped
CI (SIAX Cloud) / sonar (push) Skipped
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 7s
masterplan-lock / check (push) Successful in 8s
CI (SIAX Cloud) / security (push) Successful in 15s
Security Scan (SIAX Cloud) / security (push) Successful in 18s
CI (SIAX Cloud) / security (pull_request) Successful in 20s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 19s
CI (SIAX Cloud) / quality (push) Failing after 1m31s
CI (SIAX Cloud) / quality (pull_request) Failing after 1m33s
CI (SIAX Cloud) / integration (pull_request) Successful in 1m34s
a49bc148fc
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
admin added 1 commit 2026-09-29 10:31:37 +00:00
fix(lint): rotfelsa ärvd lint-skuld — graph-adapter + p0-tester (blockerade #128)
CI (SIAX Cloud) / integration (push) Skipped
CI (SIAX Cloud) / sonar (push) Skipped
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 10s
masterplan-lock / check (pull_request) Successful in 9s
Security Scan (SIAX Cloud) / security (push) Successful in 24s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 24s
CI (SIAX Cloud) / security (pull_request) Successful in 48s
CI (SIAX Cloud) / security (push) Successful in 49s
CI (SIAX Cloud) / integration (pull_request) Successful in 49s
CI (SIAX Cloud) / quality (push) Failing after 56s
CI (SIAX Cloud) / quality (pull_request) Failing after 1m1s
1b6140a16a
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.
admin added 1 commit 2026-09-29 10:50:09 +00:00
fix(lint): eslint-undantag på rätt rader — json:any i graph-adapter + require-fixtures
CI (SIAX Cloud) / integration (push) Skipped
CI (SIAX Cloud) / sonar (push) Skipped
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 6s
masterplan-lock / check (pull_request) Successful in 6s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 17s
CI (SIAX Cloud) / security (push) Successful in 18s
CI (SIAX Cloud) / quality (pull_request) Failing after 37s
CI (SIAX Cloud) / security (pull_request) Successful in 1m0s
Security Scan (SIAX Cloud) / security (push) Successful in 1m1s
CI (SIAX Cloud) / quality (push) Failing after 1m3s
CI (SIAX Cloud) / integration (pull_request) Successful in 1m7s
3279fa0533
eslint-disable-next-line gällde nästa rad; json:any-linen behövde eget
undantag. npm run lint: 0 errors (8→0). 1141/1141.
admin added 1 commit 2026-09-29 11:17:03 +00:00
fix(lint): typa AUD0-ingest-body i external-writeback-testet (CI-fynd)
CI (SIAX Cloud) / integration (push) Skipped
CI (SIAX Cloud) / sonar (push) Skipped
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 8s
masterplan-lock / check (push) Successful in 8s
CI (SIAX Cloud) / security (pull_request) Successful in 20s
CI (SIAX Cloud) / security (push) Successful in 20s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 24s
Security Scan (SIAX Cloud) / security (push) Successful in 26s
CI (SIAX Cloud) / quality (pull_request) Failing after 55s
CI (SIAX Cloud) / quality (push) Failing after 1m57s
CI (SIAX Cloud) / integration (pull_request) Successful in 1m56s
e24f8e8af4
admin added 1 commit 2026-09-29 11:27:35 +00:00
fix(lint): odoo-bills-adapter AUD0-body — disable med skäl (CI-fynd)
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 7s
masterplan-lock / check (push) Successful in 9s
CI (SIAX Cloud) / integration (pull_request) Successful in 35s
CI (SIAX Cloud) / quality (pull_request) Failing after 39s
Security Scan (SIAX Cloud) / security (push) Successful in 1m12s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 1m14s
CI (SIAX Cloud) / security (pull_request) Successful in 1m18s
CI (SIAX Cloud) / integration (push) Skipped
CI (SIAX Cloud) / security (push) Successful in 21s
CI (SIAX Cloud) / sonar (push) Skipped
CI (SIAX Cloud) / quality (push) Failing after 37s
5ffd41a461
admin added 1 commit 2026-09-29 11:39:20 +00:00
fix(build): transpilePackages för @siax/* — Turbopack kan inte konsumera rå src/TS
CI (SIAX Cloud) / integration (push) Skipped
CI (SIAX Cloud) / sonar (push) Skipped
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 4s
masterplan-lock / check (push) Successful in 6s
CI (SIAX Cloud) / security (pull_request) Successful in 19s
Security Scan (SIAX Cloud) / security (push) Successful in 19s
CI (SIAX Cloud) / integration (pull_request) Successful in 41s
CI (SIAX Cloud) / security (push) Successful in 58s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 57s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m34s
CI (SIAX Cloud) / quality (push) Successful in 1m38s
cc363a790f
@siax/ui 0.11.1 exporterar src/index.ts (DES1GN-konventionen); Next/Turbopack
kraschade med 'Unknown module type' i node_modules. transpilePackages för
samtliga @siax/*-beroenden. pnpm build grön lokalt.
admin merged commit 3e122572b3 into main 2026-09-29 11:48:56 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/0pt#128