TML-2690: close out migrate-to-rollback-plannable (retro landings + project-dir cleanup)#646
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR appends failure mode F15 to drive/calibration/failure-modes.md and a related 2026-05-30 drive-build-workflow retro finding to drive/retro/findings.md, documenting a provenance misclassification caused by consolidation/rewire dispatches and the governance gap that allowed it. ChangesIncident Documentation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ode + reviewer-gate-on-rewire finding) Signed-off-by: Will Madden <madden@prisma.io>
Signed-off-by: Will Madden <madden@prisma.io>
4975261 to
0238246
Compare
What this is
Close-out for the
migrate-to-rollback-plannableslice (TML-2690). The feature itself merged in #635 ("make rollback edges plannable and applyable via--to"); this PR lands the project's retro lessons in durable surfaces and removes the now-transientprojects/migrate-to-rollback-plannable/scaffold.Project DoD verification
All acceptance criteria shipped and merged in #635:
migratekeeps refusing to apply a non-existent path (refusal invariant preserved)migrate.tsstill never invents an edge;--toonly redirects the verification targetpathUnreachable(PN-RUN-3000) diagnostic reads as one plan-then-apply sequencecli-errors.tserrorPathUnreachable+migration-apply.tsbuildPathNotFoundFailure.whymigration plan --to <ref>plans toward an arbitrary target (incl. rollback)migration-plan.ts--towiring;plan-resolution.tsshared resolvermigrate --to <node>verifies/applies against the target bundle'send-contract.json(closes theDESTINATION_CONTRACT_MISMATCHdead-end)db update --to; e2eplan-to-rollback.e2e.test.tsplan --to <dir>^thenmigrate --to <dir>^round-trip, no contract-source edit)test/integration/test/cli-journeys/plan-to-rollback.e2e.test.tsRound-2 aggregate consolidation (rewire onto
ContractSpaceMember.contractAt) and the provenance fix (discriminatedContractAtResult) also merged in #635.Mandatory final retro: complete (per invariant I10). Lessons landed durably in this PR:
drive/calibration/failure-modes.md§ F14 — consolidation onto a shared facet must carry provenance, not re-infer result-kind from the input; a behaviour-preserving rewire needs an intent pass despite green tests.drive/retro/findings.md(2026-05-30,gap) — process root: the two round-2 rewire dispatches were pushed on green tests without a reviewer pass, and the provenance regression slipped to CodeRabbit; green is the weakest signal on a logic-replacing rewire because the suite predates the divergent branch.Migration / reference summary
docs/architecture docs/subsystems/7. Migration System.md) were updated inside TML-2690: make rollback edges plannable and applyable via --to #635; the project dir held onlyspec.md(transient shaping artefact) andretros.md(transient log — lessons landed above).projects/migrate-to-rollback-plannable/path references existed. The twodrive/retro entries reference the project by name + ticket (migrate-to-rollback-plannable(TML-2690)) as a durable incident label, which survives close-out by design.Known pre-existing item (not introduced here)
Nine
@prisma-next/clispawn-timeout flakes (500ms cap vs ~680ms cold start) pre-date this work and are unrelated — noted in the merged feature, no action in this PR.Closes TML-2690.
Summary by CodeRabbit