Phases E & F — Opportunities, Solutions & Migration Planning

What stands between today and the target, packaged into work; the transition architectures that are each individually useful; and the milestone plan with exit criteria that decide whether the next slice is worth building.

E1 · Gap analysisBaseline → target, and the work package that closes each gap

Baseline describes the common starting point in a large enterprise (and the empty state of the reference implementation). "Eliminated" rows are things the target deliberately removes.

AreaBaseline (today)TargetGapClosed by
Schema knowledgeTribal; comments sparse; no join-path knowledge outside people's headsVersioned semantic catalog with owner-reviewed cards, mined join paths, glossaryNo catalog, no crawler, no review loopWP02 · WP03
Retrieval over schemaNone, or schema pasted into promptsHybrid retrieval + graph expansion + entitlement pre-filter; cite-or-refuseNo index, no graph, no citation disciplineWP03 · WP05
Use-case intakeTickets in prose; requirements driftTyped spec with archetypes and clarification loopsNo spec schema, no archetype libraryWP04
API per use caseHand-written endpoints or ad-hoc SQL; per-project security reviewGenerated GraphQL slices, policies on fields, composed into one supergraphNo composer, no registry, no policy directive disciplineWP06 · WP08
AuthorizationPost-filtering in application code; route-level rulesEntitlements compiled into SQL; deny-by-default fields; 100% coverage gateNo compiler, no policy catalog as dataWP07 · WP06
ScreensBespoke React per use case; backlog measured in quartersSpec-driven runtime; ~12 components; reviewed escape hatchNo DSL, no runtime, no registryWP09 · WP10 · WP15
VerificationManual QA; security review at the endNine deterministic gates in CI; sample sandboxNo gates, no sandbox, no golden setsWP11
Approval & publishEmail threads; releases as code deploysReview workspace; release unit pinned; auto-publish rules for read-only re-publishesNo review UI, no release-unit conceptWP12 · WP14
WritesDirect writes from apps; approvals per appProposals; platform-enforced approval from registrationNo proposal serviceWP13
ChangeSchema changes break screens silentlyCatalog versioning → automatic re-verification → degraded stateNo drift detection, no re-verificationWP14
Observability & costPer-app logs; model spend untrackedTraces per use case and run; cost attributed; budgets enforcedNo trace model, no attributionWP16
Text-to-SQL for usersPilots existeliminatedReplace with persisted operations onlyWP08 (policy)
Generated apps per use casePrototypes existeliminatedReplace with spec + registryWP09 (policy)

E2 · Work packagesSeventeen packages, each with a deliverable and a done-test

WPDeliverableDone whenDepends onMilestone
WP01 Scaled sample DBGenerator producing ≥3,000 tables across ~12 domains with FKs, comments (deliberately sparse), pathologies, synthetic volumesSchema loads; row counts hit targets; pathology list presentM0
WP02 Crawler & cataloginformation_schema/comment/profile/query-log crawl → cards, join paths, versions; owner-review UICatalog #1 built; diff between two crawls correctWP01M0
WP03 Retrieval & join graphHybrid search, graph expansion, pruning, entitlement pre-filterSubgraph precision/recall measured on 50 seeded requestsWP02M0
WP04 Intake + supervisorSpec schema, archetype library, XState supervisor, budgets, run logAmbiguous request round-trips; budgets fail closedM1
WP05 Scout agentCatalog tools, cited subgraph output, ambiguity eventsZero hallucinated tables across seeded setWP03 · WP04M1
WP06 Contract composer + policy gateSDL generation, policy application, persisted operation set, coverage walker100% coverage on seeded slices; composition dry-run passesWP05 · policy storeM2
WP07 Query compiler + entitlementsKysely compiler; predicate injection; null-on-deny; batching; cost checkEvery op compiles scoped for every role; zero unscoped SQL in CIWP06M2
WP08 Registry + gateway + persisted docsHive registry, supergraph gateway, persisted document allow-listUnknown op id rejected; breaking change blocks publishWP06M2
WP09 UI spec DSL + runtimeDSL schema, validator, React renderer, component registry (12 components)Seeded spec renders every archetype; a11y lint passesWP08M3
WP10 UI composerSpec generation bound to persisted ops; custom-component requestsFirst end-to-end screen from proseWP09M3
WP11 Verifier gates + sandboxNine gates; sample sandbox runner; golden test generator; PII scannerGate failure taxonomy populated; no auto-override pathWP07 · WP09M4
WP12 Review workspace + publishEvidence bundle, preview, approval routing, publish, registration rulesReviewer approves a use case end to end; decision immutableWP11M4
WP13 ProposalsProposal subgraph; status lifecycle; owning-system hand-offWrite path requires separate approval; no direct write existsWP12M4
WP14 Drift & release unitsCatalog version events → re-verify → degraded state; release-unit pinningRenamed column yields computed blast radius and pinned fallbackWP11 · WP12M5
WP15 Escape-hatch pipelineSandboxed component build, allow-list, scan, screenshot diff, registry publish (federated)Custom component reaches registry only via reviewWP09 · WP11M5
WP16 Observability & costOTel spans with use-case/run/op ids; cost attribution; budgetsAny screen's SQL reproducible from the traceWP07M2 → M6
WP17 Seeded use cases & metrics100 use cases across archetypes; minutes per use case, escape-hatch rate, gate taxonomy, reviewer throughput§10 scaling claims measured, published with the caveatsallM6

E3 · Transition architecturesFive states, each useful on its own

Each transition is a stopping point that delivers value even if the next never happens — the honest test of a roadmap.

TA-0

Retrieval proven

Has: scaled sample DB, catalog, hybrid retrieval, join graph.

Useful as: a schema search and documentation tool for humans.

Proves: the model can be shown the right 30 tables.

TA-1

Contracts publishable

Adds: intake, supervisor, Scout, contract composer, compiler, registry.

Useful as: generated, governed GraphQL APIs without UI.

Proves: authorization compiled into the query, at scale.

TA-2

Screens, read-only

Adds: UI spec DSL, runtime, UI composer, gates, review, publish.

Useful as: on-demand read-only business screens.

Proves: minutes per use case; reviewer throughput.

TA-3

Writes & drift

Adds: proposals, release units, drift re-verification, degraded state.

Useful as: actionable screens that survive schema change.

Proves: computed blast radius; no direct writes.

TA-4

Scale & exceptions

Adds: escape-hatch pipeline, 100 seeded use cases, metrics, cost attribution.

Useful as: the reference implementation with published numbers.

Proves or disproves: the scaling claims.

F1 · Implementation & migration planMilestones M0 → M6 with exit criteria — each gate decides whether the next slice is built

Milestone
M0
M1
M2
M3
M4
M5
M6
M0 · Catalog & retrievalWP01–03 · TA-0
M1 · Intake, Scout, supervisorWP04–05
M2 · Contracts & compilerWP06–08 · TA-1
M3 · UI spec & runtimeWP09–10
M4 · Gates, review, proposalsWP11–13 · TA-2
M5 · Drift & escape hatchWP14–15 · TA-3
M6 · 100 use cases, metricsWP17 · TA-4
Observability & costWP16 · continuous

M0 exit

Subgraph precision/recall on 50 seeded requests meets target; ambiguity rate recorded. If retrieval fails here, nothing else is worth building.

M1 exit

No hallucinated tables across the seeded set; ambiguous requests round-trip; budgets fail closed and park.

M2 exit

Every persisted operation compiles scoped for every actor role; zero unscoped SQL reachable; unknown op ids rejected at the gateway; breaking changes block publish.

M3 exit

First end-to-end screen from a prose request; every archetype renders from a seeded spec; accessibility lint passes.

M4 exit

A reviewer approves a use case with a write path end to end; gate failure taxonomy populated; no auto-override path exists.

M5 exit

A renamed column yields a computed list of affected use cases, automatic re-verification, and a pinned fallback; a custom component reaches the registry only via review.

M6 exit

100 seeded use cases: minutes per use case, escape-hatch rate, reviewer throughput, gate taxonomy, cost per use case — published with caveats.

Dependencies & risks

  • Policy catalog quality gates M2 — classification coverage is a prerequisite
  • LLM provider variance — pinned versions; golden sets catch regressions
  • Review throughput — measured at M4, tuned at M6