Repository navigation
fix(vibe): Allow compile-only repairs to v1.0 stories - #285
Merged
Merged
Conversation
- Design ruling, 2026-10-15: a frozen v1.0 story file may take a compile-only repair. The freeze protects what a story shows and its link, not the code wording, so a rename elsewhere may repair one with only prop renames, imports and types: no story added or removed, no title, story ID or tag change and no visual change. Sessions no longer avoid a rename to protect a v1.0 story file. - handoff-inventory lists an in-place edit of a v1.0 story file whose meta title, meta tags and exported story names match the base under a new non-blocking compileOnlyV1Repairs. A change to any of those, or a move, stays in v1Stories with the reason frozen and blocks. - The ticket worker puts each repair on the live ticket's Engineering checklist as "Check compile-only repair to v1.0: <file>; confirm only prop, import or type changes and no visual change". - The placement owner states the exception; guardrails, design pass, handoff and the README carry it; the writer repairs and logs it; the guardrails reviewer's check 10 confirms each repair is mechanical with no visual change and blocks anything else. - Bump vibe to 1.0.34. Testing: new node test (prop rename passes; added, removed or renamed story export, title change, tag change and move each block) and a new contract test file for the prose and ticket placement, all failing on 1.0.33. Updated pinned wording in three existing contract tests. vibe node suites (284), vibe pytest (174), ruff and pyright pass. Risks: a visual change inside a compile-only repair is not caught mechanically; the reviewer and the Engineering checklist item cover it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Design ruling, 2026-10-15: compile-only fixes to frozen v1.0 story files are allowed. The freeze protects what a story shows and its link, not the code wording. A repair may make only mechanical changes (prop renames, imports, types), add or remove no story, change no title, story ID or tag, and change nothing visual. Sessions no longer avoid a rename to protect a v1.0 story file; those files are being retired anyway.
This refines #284 (1.0.33), which blocked every modified or moved v1.0 story file as
frozen.Changes
skills/handoff/scripts/handoff-inventory.mjs: a modified (not moved) v1.0 story file whose metatitle, metatagsand set of exported story names (so its story IDs) are identical between base and current now goes into a new non-blockingcompileOnlyV1Repairslist. A change to the title, tags or exported story set, or a move, stays inv1Storieswithfrozenand blocks. Visual changes cannot be proven mechanically and are left to the reviewer and the engineer.references/ticket-template.mdgains a "Compile-only v1.0 repairs" rule andagents/vibe-ticket-worker.md(handoff mode) places each entry once at the end of the Engineering checklist as- [ ] Check compile-only repair to v1.0: <file>; confirm only prop, import or type changes and no visual change.agents/vibe-storybook-decomposer.mdstep 4 states the exception and its limits; one-liners inguardrails.md(plus its inventory paragraph),design-pass.md,skills/handoff/SKILL.mdand the README sentence that would otherwise contradict it;agents/vibe-change-worker.mdrepairs, never avoids a rename for this reason, and logsCompile-only repair to v1.0: <file>;agents/vibe-guardrails-reviewer.mdcheck 10 confirms each repair is purely mechanical with no visual change and blocks anything else.vibe 1.0.34 in both manifests, CHANGELOG entry.
Test plan
handoff-inventory.test.mjs: new test with seven v1.0 files, each given the same prop rename and import change. The prop-rename-only file lands incompileOnlyV1Repairs; an added story, a removed story, a renamed story export, a title change, a tag change and a move each stay inv1Storiesasfrozenand block. With only the repair left, handoff passes (exit 0). Fails on 1.0.33 (compileOnlyV1Repairsis undefined and the repair blocks).test_vibe_v1_compile_only_repair_contract.py(6 tests) for the prose, the inventory output and the ticket placement; all fail on 1.0.33.test_vibe_storybook_existing_component_contract.py,test_vibe_forbidden_path_routing_contract.pyandtest_vibe_storybook_placement_contract.py(the Engineering checklist table row); those 6 tests fail on 1.0.33.pytest plugins/(2244 passed, 3 skipped), vibe node suites (284 passed),ruff check .andpyrightclean.