Skip to content

fix(vibe): Allow compile-only repairs to v1.0 stories - #285

Merged
shafty023 merged 1 commit into
mainfrom
fix/vibe-v1-compile-only-repairs
Oct 15, 2026
Merged

shafty023 merged 1 commit into
mainfrom
fix/vibe-v1-compile-only-repairs

Conversation

@shafty023

Copy link
Copy Markdown
Collaborator

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 meta title, meta tags and set of exported story names (so its story IDs) are identical between base and current now goes into a new non-blocking compileOnlyV1Repairs list. A change to the title, tags or exported story set, or a move, stays in v1Stories with frozen and blocks. Visual changes cannot be proven mechanically and are left to the reviewer and the engineer.
  • Ticket placement: references/ticket-template.md gains a "Compile-only v1.0 repairs" rule and agents/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.
  • Prose: agents/vibe-storybook-decomposer.md step 4 states the exception and its limits; one-liners in guardrails.md (plus its inventory paragraph), design-pass.md, skills/handoff/SKILL.md and the README sentence that would otherwise contradict it; agents/vibe-change-worker.md repairs, never avoids a rename for this reason, and logs Compile-only repair to v1.0: <file>; agents/vibe-guardrails-reviewer.md check 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 in compileOnlyV1Repairs; an added story, a removed story, a renamed story export, a title change, a tag change and a move each stay in v1Stories as frozen and block. With only the repair left, handoff passes (exit 0). Fails on 1.0.33 (compileOnlyV1Repairs is undefined and the repair blocks).
  • New 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.
  • Pinned wording updated in test_vibe_storybook_existing_component_contract.py, test_vibe_forbidden_path_routing_contract.py and test_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 . and pyright clean.

- 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.
@shafty023
shafty023 merged commit a7ea7f1 into main Oct 15, 2026
10 checks passed
@shafty023
shafty023 deleted the fix/vibe-v1-compile-only-repairs branch October 15, 2026 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant