the-custodian/canon/architecture
codex d7d1a490f9
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
ADR-008: multi-tenancy model — four planes, one isolation ladder (proposed)
The estate has built multi-tenancy across five documents that each cover a
slice and do not compose. This records the whole model and names what is
missing.

Core framing: multi-tenancy here is four orthogonal planes — identity,
authorization, data isolation, placement — not one property. Identity and
authorization are ratified and solid. Data isolation is stated but
unverified. Placement is owned by nobody and is precedent-by-accident.

Three findings that motivated the draft:

- R0 -> R1 -> R2 does not improve tenant isolation at all. Those rungs buy
  consumer isolation and capacity. Only R3 makes the tenant boundary
  structural. A plan tier selling R2 as isolation would be false.
- No fleet mechanism verifies that any consumer actually enforces the tenant
  boundary it is obliged to enforce. A missing WHERE tenant_id would be a
  cross-tenant breach that no probe fails and no log shows as an error.
  Highest-severity gap; needs an appointed owner.
- platform-pg holds roughly six consumers (100 max_connections, 14 each) and
  memory likely binds before connections do. Two are provisioned. The runway
  is shorter than the ladder implies.

Also reconciles two already-ratified and contradictory defaults:
instance-per-client for business apps, pooled for platform services, with no
rule for telling a new service which it is.

Proposed, not ratified. Carries a ratification path so it does not join the
shared-platform-relational-storage draft in limbo.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 11:26:07 +02:00
..
adr-001-workplans-as-repo-artefacts.md feat(terminology): prose sweep tool and custodian workplan cleanup (CUST-WP-0055 T04) 2026-07-08 16:35:37 +02:00
adr-002-custodian-agent-runtime-design.md feat(CUST-WP-0001): implement Custodian Agent Runtime bootstrap 2026-03-12 22:36:24 +01:00
adr-003-materialized-derived-state.md docs(adr): ADR-003 — Materialized Derived State with Fingerprint Invalidation 2026-03-20 01:54:21 +01:00
adr-004-connectivity-first-network-posture.md ADR and Runbook artefacts 2026-03-27 00:16:09 +01:00
adr-005-cross-repo-workplans-project-repos.md docs(canon): define prj- project repository flavor 2026-08-09 17:24:07 +02:00
adr-006-canon-federation-concept-ownership.md docs(canon): ADR-006 accepted — R7 places evidence pair in dedicated itc-evid 2026-08-17 10:03:15 +02:00
adr-007-workplan-identity-and-repo-worker-topology.md docs(canon): retire RAIL-BS-WP-; cluster takes RCLUSTER-WP-, bootstrap RBS-WP- 2026-08-17 10:41:03 +02:00
adr-008-multi-tenancy-model.md ADR-008: multi-tenancy model — four planes, one isolation ladder (proposed) 2026-08-17 11:26:07 +02:00