Phase 1 — Graph-Primary Core and the Deployment Plane (Sketch)

Unit type: Phase (of Epic lattice-platform-development) Unit ID: phase-1 Promotes to: phase-1-plan.md Status record: phase-1-status.md Depends on: phase-0 exit gate (hard — no slice here starts before Phase 0’s ADRs are ratified and M0/M1 pass)

Why the boundary is here

Phase 1 is “move everything that currently lives in a relational ledger into the graph, then stand up the machinery to package and activate that graph for a tenant.” The epic groups these because they share one property: every one of them is a T-GPM (graph-primary migration) of an existing, already-implemented relational entity (Surface lifecycle, release ledger, MORK review snapshots, governance ledger), plus the new deployment-plane capability (tenancy, packs, activation) that only makes sense once the graph is authoritative. That is a coherent phase boundary and this decomposition does not redraw it.

The epic itself (Part 5, §0.5 rolling-wave note) already says Phase 0 and Phase 1 are “specified at slice granularity below and are ready to execute.” Unlike Phase 2–4, Phase 1 does not need a rolling-wave placeholder — it can be decomposed to the same depth as Phase 0.

What stays exactly as the epic wrote it

phase-1-plan.md points back to Part 5 of the epic for the full P1.1–P1.11 slice tables, rather than duplicating roughly 50 rows a second time.

What decomposition adds

Phase 1 is the one phase where the epic itself already names the exact solution-design-specification.md sections to update (P1.11.1: §1, §2.2, §4.1, §4.5, §4.6, §7.2) — that close-out slice is kept as written. What was missing, and what phase-1-plan.md adds, is:

Risks specific to starting this phase