docs(adr-0026): promote to accepted + resolve open questions
CI / commits (pull_request) Successful in 2m49s
CI / check (pull_request) Successful in 3m25s
CI / scan (pull_request) Successful in 3m37s
CI / a11y (pull_request) Successful in 3m25s
Docs site / build (pull_request) Successful in 3m32s
CI / perf (pull_request) Successful in 5m33s
CI / commits (pull_request) Successful in 2m49s
CI / check (pull_request) Successful in 3m25s
CI / scan (pull_request) Successful in 3m37s
CI / a11y (pull_request) Successful in 3m25s
Docs site / build (pull_request) Successful in 3m32s
CI / perf (pull_request) Successful in 5m33s
ADR-0026 was reviewed; status flips proposed -> accepted with the two open questions closed: 1. Person dedup at first sign-in. v1 looks up by entraOid only; no email-based merging. Two distinct people genuinely can share an email, and silent auto-merge would corrupt the golden record. ADR-0027 introduces operator-confirmed reconciliation; v1 takes the safe-by-default posture. 2. Org-hierarchy seed placement. Region / Delegation / Etablissement codes ship inline in the Prisma migration as reference data — slow-moving, environment-agnostic, single atomic deploy. ADR-0027's Pléiades sync supersedes the inline seed when it ships. user_scopes for the 19 test personas stay in prisma/seed.ts (implementation PR 2) since those are test-tenant-specific data. Consequences section reworked to reflect the new dedup choice: the email-fragility Bad-because is removed; a new Bad-because documents the v1 cost (a self-signed-in Person + a later Pléiades-imported Person look like duplicates until ADR-0027's operator merge flow resolves them — observable, not silent). CLAUDE.md updated: - Roll-up bumped 0001 -> 0025 -> 0001 -> 0026. - New Architecture bullet for the portal-side data model. - Roadmap entry on @RequireScope Prisma resolver updated to reflect ADR-0026 (accepted) and the two-PR implementation phasing. Index row flipped to accepted.
This commit is contained in:
@@ -69,4 +69,4 @@ ADRs are listed in numerical order. To slice by topic, filter on the `Tags` colu
|
||||
| [0023](0023-charts-d3-observable-plot.md) | Charts + dashboards — D3 + Observable Plot wrapped in `libs/shared/charts` | accepted | `frontend`, `accessibility`, `performance` | 2026-05-16 |
|
||||
| [0024](0024-ai-service-relay-grpc-sse-bridge.md) | AI service relay — vendored gRPC protos, NestJS gRPC client, SSE bridge to the SPA, POC unsigned principal | accepted | `backend`, `security`, `observability` | 2026-05-19 |
|
||||
| [0025](0025-authorization-model-privileges-roles-scopes.md) | Authorization model — three orthogonal axes (privileges × functional roles × scopes), Entra-backed | accepted | `security`, `backend`, `data` | 2026-05-20 |
|
||||
| [0026](0026-person-user-portal-data-model.md) | `Person` golden record + `User` portal-account + organisational hierarchy — portal-side data model | proposed | `data`, `backend`, `security` | 2026-05-24 |
|
||||
| [0026](0026-person-user-portal-data-model.md) | `Person` golden record + `User` portal-account + organisational hierarchy — portal-side data model | accepted | `data`, `backend`, `security` | 2026-05-24 |
|
||||
|
||||
Reference in New Issue
Block a user