Repository navigation
feat(vibe): Add cl-execute plan-review prompt and cost scaling gate - #298
Merged
Merged
Conversation
- Ship the plan-review prompt as references/plan-review-prompt.md and pass it verbatim to the single plan reviewer, with a private review path and Claude Code and Codex worker forms. - Carry every reviewer HUMAN DECISIONS item into the numbered decisions returned with MANUAL_INTERVENTION_REQUIRED. - Treat a mechanism a ticket names as a proposal; a dominated one goes to the human as one decision instead of being built or swapped. - Add a Decision provenance readiness item and a Discovery Routes row for existing channels between surfaces. - Require a Cost Scaling table for periodic or cross-surface work and enforce it in check-plan.mjs, with a --no-periodic waiver. - Release vibe 1.0.46. Testing: node --test over every plugin test file (392 pass), vibe pytest (235 pass), check-plan.mjs run against sample plans. Risks: The keyword trigger can fire on plans that only mention a socket or feed; --no-periodic waives it on the record.
This was referenced Oct 16, 2026
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.
Purpose
cl-executeplans kept clearing review with mechanisms nobody had weighed against what already exists. I ran it blind on one historical ticket (three planner runs, then two rounds of plan-review A/B testing) and saw the same failures each time:The plan-review prompt added here won the A/B test: it blocked an install-scaled design in 3 of 3 reviews, against 0 of 3 for the baseline prompt, and it did not block a sound design in the control.
What changed
references/plan-review-prompt.md. Step 20 now passes it verbatim to the single plan reviewer, followed by the plan path, ticket, PRD slugs and a private path for the review file. Only two parts differ from the tested text: the review is written to the ticket's private evidence directory instead of/tmp, and the worker section gives both the Claude Code and the Codex (spawn_agent,send_input) forms, with a support lane doing the reads itself since it never delegates.MANUAL_INTERVENTION_REQUIRED, and the worker can add its own view beside it. The exactly-one-review rule is unchanged.### Cost Scalingtable (Option, Cost scales with, Per-device idle cost, At 10x / 100x, Existing mechanism reused) with at least two rows, and one row has to name an existing mechanism.check-plan.mjsenforces it when prose outside code fences uses a conservative keyword set.--no-periodicwaives it, and the waiver is on the record.Files changed
plugins/vibe/skills/cl-execute/references/plan-review-prompt.md(new)plugins/vibe/skills/cl-execute/references/planning-and-gates.mdplugins/vibe/skills/cl-execute/SKILL.mdplugins/vibe/skills/cl-execute/scripts/check-plan.mjs,check-plan.test.mjsplugins/vibe/.claude-plugin/plugin.json,plugins/vibe/.codex-plugin/plugin.jsonCHANGELOG.mdCommands run
The
cl-sweepskill-contract test still passes unchanged; the pinned step 13 and step 20 sentences were kept word for word. New linter tests cover: table present, table missing, one-row table, no existing mechanism, missing column, no trigger, keywords inside code fences, and--no-periodic.