Repository navigation
TML-3340: close out the one-config-file project - #30654
Conversation
Composer keeps a second config file and a second binary. The spec, design notes and plan record the decisions made with Will on 2026-09-30: the composer section of prisma.config.ts holds the whole configuration, the effect pre-flight is deleted in favour of the engine's fail-fast diagnostic, the prisma-composer binary goes, and no new command is mounted. The consolidation plan is corrected to say deploy and dev stay bare commands. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Grounding in prisma/composer found that the generated stack files import the config file in the Alchemy child, that the programmatic operations find their config by walking up from the entry, and that the engine merges sections across a config chain. The slice spec decides each: the section's provenance path travels with its value, the programmatic operations take the config as an input, and the section merges whole. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
The two review passes and the round-2 verification for prisma/composer#328, plus the grounding map the slice spec was written from. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Grounding found that CI and the docs-site deploy run the binary, that the published host pins an older Composer, and that four integration tests spawn it. The examples and CI run the real prisma host with a workspace override, and CI teardown becomes a script over the programmatic destroy. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
The host's shipped skill, five prisma/web pages and the web's account of the deleted effect pre-flight join slice 3's scope. The host needs a release, not only a pin bump, for prisma@latest to carry Composer 0.26.0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…y design pass Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
A branch-only CI failure must be reproduced and root-caused, never rescheduled around. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…-config-consolidation-3c9507
Every slice and side fix has merged and TML-3340 is Done. The decision lives in prisma/composer ADR-0049, the lesson in drive/calibration/failure-modes.md, and the deferred items in the consolidation plan and ADR-0049, so the project folder goes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe failure-mode entry previously numbered F39 is now numbered F42. Its title and body are unchanged. ChangesFailure-mode documentation
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~2 minutes Change: Other Suggested reviewers: Merge Risk: ⚪ Minimal · up to Only the failure-mode label changes from F39 to F42, with current references consistent. No actionable merge risk remains. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
#30536 added it as F39, but #30613 had already used F39 two days earlier, so the catalogue had two entries with one number. F42 is the next free number. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
This closes the one-config-file project. It deletes the project's working folder,
projects/one-config-file/, and fixes one duplicate number in the failure-mode catalogue. Linear: TML-3340.The project moved Prisma Composer's configuration out of its own
prisma-composer.config.tsinto thecomposersection ofprisma.config.ts, and deleted Composer's standaloneprisma-composerbinary. Prisma 8 now has one CLI and one config file. The rest of this description is the close-out record the Drive process asks for: what was checked, where each decision now lives, and where each unfinished item is tracked.What was delivered
composersection ofprisma.config.ts. The old file andconfigPathare refused.prisma-composerbinary is gone. Docs, examples and the shipped skill sayprisma deployandprisma dev. Released as Composer 0.26.0.prismahost runs Composer 0.26.0. Released asprisma@8.0.0-rc.20.composersection.prisma devandprisma deployfailed in pnpm projects. Merged, not yet released (TML-3520).PRISMA_COMPOSER_EMULATORS_DIR.Three more PRs came out of this close-out and are open:
prisma-composeras the entry point.prisma-composer.config.ts.composersection intoprisma.config.ts, and recognise repositories that already have it. Until now it wroteprisma-composer.config.mjsand pinned Composer 0.25.0, so imported repositories broke on upgrading to 0.26.0.Definition of Done
prisma deployandprisma devrun against it from the hostexamples/orm-demohas onlyprisma.config.ts.prisma devfrom the host build reached ready (slice 3 QA). A realprisma deployof orm-demo succeeds in Composer's e2e workflow onmain, using the published host with the workspace family. No deploy ran from the host build itself, because no service token was available.configPathget their diagnosticsCONFIG.FILE_RETIREDandCONFIG.FIELD_RETIRED, exit 2, from the host binary. Shown withprisma dev, becausedeploychecks credentials before reading the config. Both commands use the same validator.effectinstall fails withCLI.CONFIG_UNREADABLE, andprisma --versionstill worksbinand no stale name@prisma/composer-cliand@prisma/composer0.28.0 declare nobin. Their unpacked tarballs name the old file only in the messages that refuse it.pnpm lint:retired-binary-nameruns in CI. Its test plants a mention and expects a failure.deployanddevstay bareprojects/consolidate-clis/cli-consolidation-plan.md, and now ADR-0050 in prisma/composer.Where each decision lives now
Every decision recorded in the deleted spec and design notes has a home outside the folder:
composersection, validated by the section, with the old file and field refused: ADR-0049, and theCONFIGcode list in ADR-0044.effectversion pre-flight is deleted; a broken tree fails with the engine's error: ADR-0049. #347 adds the four rejected alternatives, which until now were only in Field names for 1:N relations are lost in the DMMF #328's description.destroyandlogstay programmatic: ADR-0050 in #347.deployanddevstay bare commands;destroyis not mounted: ADR-0050, and the consolidation plan.destroyscripts keep--productionand--stage: ADR-0050 records this as a repository-internal script grammar, not a public command.gotchas.mdandscripts/check-cli-engine-pin*.mjsin prisma/composer, which enforce it.alchemyinstalled beside@prisma/composer: ADR-0007's amendment anddocs/design/10-domains/deploy-cli.mdin prisma/composer.Deferred items and their tickets
prisma@latestgets the pnpm fix.prismacommand.prismahost thanlatest.effectpin onceeffect4 is stable or Alchemy pins its peer.prisma.config.ts.Two smaller review notes are accepted without tickets. The prisma-cli conformance check needs a new exception on each joint engine release, which is visible when it happens. Windows edge cases are out of scope, because Windows is documented as unsupported for local tooling.
What this PR deletes
Every file under
projects/one-config-file/is transient underdrive/project/README.md: the spec, plan, design notes, retro log, README, and each slice's spec, plan, grounding notes, reviews and QA transcript. None is methodology to migrate. The decisions are mapped above. The full files stay readable in the history of #30536.The failure-mode number
The retro added its lesson to
drive/calibration/failure-modes.mdas F39. #30613 had already used F39 two days earlier. This PR renumbers ours to F42, the next free number.Agent: saruman-38
🤖 Generated with Claude Code