Skip to content

Commit 4510d61

Browse files
committed
docs(target-extensible-ir-namespaces): elevate explicit-dsl out of project scope
explicit-dsl (TML-2550) is required for the Supabase integration (colliding auth.*/public.* names the default-namespace fallback cannot disambiguate) but is purely additive on runtime-qualification. Decouple it: the project now closes after runtime-qualification, and explicit-dsl is tracked standalone and parallelizable rather than as a deferrable in-project unit. Signed-off-by: Will Madden <madden@prisma.io>
1 parent 0d6d52a commit 4510d61

2 files changed

Lines changed: 34 additions & 31 deletions

File tree

projects/target-extensible-ir-namespaces/plan.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
**Spec:** [`projects/target-extensible-ir-namespaces/spec.md`](./spec.md)
44
**Linear Project:** [Target-Extensible IR + Namespaces](https://linear.app/prisma-company/project/target-extensible-ir-namespaces-fd69eff8aec6)
5-
**Purpose** _(from spec)_: Make first-class namespaces and target-extensible IR usable for the downstream Supabase integration. The contract IR reaches its canonical symmetric two-plane shape; runtime SQL and the DSL/ORM surfaces qualify identifiers and dispatch through a default-namespace fallback so existing single-namespace consumers experience zero breakage; the explicit namespace-aware surface (`db.sql.auth.user`) lands later as purely additive work.
5+
**Purpose** _(from spec)_: Make first-class namespaces and target-extensible IR usable for the downstream Supabase integration. The contract IR reaches its canonical symmetric two-plane shape; runtime SQL and the DSL/ORM surfaces qualify identifiers and dispatch through a default-namespace fallback so existing single-namespace consumers experience zero breakage. The explicit namespace-aware surface (`db.sql.auth.user`) is **elevated out of this project**: it is required (not deferrable) for the Supabase integration — which must address colliding `auth.*` / `public.*` names that the default-namespace fallback cannot disambiguate — but it is purely additive on `runtime-qualification`, so it can run in parallel and must not gate this project's close-out.
66

77
## At a glance
88

@@ -11,7 +11,9 @@ Single sequential stack on top of the closed **contract-ir-planes** substrate ([
1111
Units are **named, not numbered** — the S-numbering drifted during replanning and bought nothing.
1212

1313
```text
14-
domain-plane → public-by-default → runtime-qualification → explicit-dsl (deferrable)
14+
domain-plane → public-by-default → runtime-qualification ← this project closes here
15+
16+
explicit-dsl — elevated out: standalone + parallelizable, required for Supabase
1517
```
1618

1719
One worktree + branch per slice; slice tickets at pickup.
@@ -68,13 +70,13 @@ One worktree + branch per slice; slice tickets at pickup.
6870

6971
**Depends on.** domain-plane + public-by-default.
7072

71-
#### explicit-dsl — explicit namespace-aware DSL/ORM surface
73+
#### explicit-dsl — explicit namespace-aware DSL/ORM surface (ELEVATED OUT)
7274

73-
**Unit type:** Slice. **Deferrable.**
75+
**Unit type:** Slice. **Elevated out of this project** — tracked standalone, parallelizable, does **not** gate close-out.
7476

75-
**Purpose.** `db.sql.<ns>.<table>`, `db.<ns>.<Model>` — additive on runtime-qualification.
77+
**Purpose.** `db.sql.<ns>.<table>`, `db.<ns>.<Model>` — additive on runtime-qualification. Required (not deferrable) for the Supabase integration: Supabase exposes colliding names across namespaces (`auth.users` alongside `public.users`), which the flat-by-name default-namespace fallback from `runtime-qualification` cannot disambiguate. Because it is purely additive, it can be built in parallel with — and shipped after — this project closes.
7678

77-
**Linear:** [TML-2550](https://linear.app/prisma-company/issue/TML-2550).
79+
**Linear:** [TML-2550](https://linear.app/prisma-company/issue/TML-2550) (removed from this project; required for the Supabase initiative).
7880

7981
### Parallel groups
8082

@@ -90,7 +92,7 @@ None.
9092

9193
| Project-DoD | Delivered by |
9294
|---|---|
93-
| **PDoD1.** All must-ship units delivered; explicit-dsl delivered or deferred | domain-plane + public-by-default + runtime-qualification; explicit-dsl optional |
95+
| **PDoD1.** All must-ship units delivered | domain-plane + public-by-default + runtime-qualification (explicit-dsl elevated out — no longer a member of this project) |
9496
| **PDoD2.** Emitted IR matches ADR 221 (symmetric `domain` + `storage` envelopes) | domain-plane |
9597
| **PDoD3.** Pack-contributed entity kinds (enum exemplar) | contract-ir-planes |
9698
| **PDoD4.** Postgres public-by-default; `__unbound__` opt-in | public-by-default |
@@ -111,16 +113,17 @@ None.
111113
contract-ir-planes ✓ CLOSED (ADR 221; storage.namespaces on main)
112114
113115
114-
domain-plane ([TML-2751](https://linear.app/prisma-company/issue/TML-2751)) ← IN PROGRESS
116+
domain-plane ([TML-2751](https://linear.app/prisma-company/issue/TML-2751)) ✓ MERGED (#653)
115117
116118
117-
public-by-default
119+
public-by-default (TML-2760) ← PR #662 (green, in review)
118120
119121
120-
runtime-qualification (TML-2605)
121-
122+
runtime-qualification (TML-2605) ← project closes after this
123+
124+
┊ (additive, parallelizable, elevated out — required for Supabase)
122125
123-
explicit-dsl (deferrable, TML-2550)
126+
explicit-dsl (TML-2550) — tracked standalone, not a project member
124127
```
125128

126129
## Close-out (required)

0 commit comments

Comments
 (0)