CODY-115: Add mode system and two-threshold model to orchestrate-dev - #123
Merged
Conversation
Add --mode=<vibe|strict> argument to orchestrate-dev with per-mode pipeline tables and preset bundles. Replace boolean --fix-low/--no-fix-low with --approval-threshold and --budget-threshold for finer-grained control over which findings block approval vs. get opportunistic budget. Update flow control in Phase 4 and Phase 4b to use the two-threshold model. Retain --fix-low/--no-fix-low as backward-compatible aliases. Update run-index.json schema (fixLowFindings -> approvalThreshold + budgetThreshold).
… model Fix Phase 4b behavioral regression where low criticality with exhausted budget exited as needs_manual_review instead of converged, breaking backward compatibility with default mode. Remove mode preset step from engine's threshold resolution cascade since mode resolution is the wrapper's responsibility. Clarify holistic_reviewer naming convention and update Phase 4a entry condition to use threshold-based language.
…flow control Extend Phase 4a entry-condition description to cover the budget-exhausted path where criticality remains between thresholds but no review rounds remain. Remove the redundant standalone `none` bullet from Phase 4b flow control and absorb it into the `criticality < budget_threshold` rule, consistent with the Phase 4 pattern.
8 tasks
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.
What
Adds a
--mode=<vibe|strict>argument to/orchestrate-devand replaces the boolean--fix-low/--no-fix-lowflag with a two-threshold model (--approval-thresholdand--budget-threshold). Each mode is a preset bundle that configures pipeline phases, review thresholds, model assignments, and review round limits. The threshold model gives finer-grained control over which findings block approval versus which consume review budget opportunistically.Why
The orchestration system ran a single configuration for all tasks. Well-understood tasks (small features, bug fixes) were over-provisioned — architecture and planning phases ran unnecessarily, low-criticality findings consumed review budget, and the holistic reviewer always used the most expensive model. There was no way to select a lighter-weight profile without manually passing multiple arguments on every invocation. The boolean
--fix-lowwas too coarse, offering only all-or-nothing control.Details
Features
--mode=vibe: lightweight orchestration — skips architecture/planning, sets high approval/budget thresholds, uses sonnet for holistic review, limits to 1 review round--mode=strict: thorough orchestration — all phases required, 4 review rounds--mode) preserves identical behavior to the previous version--approval-threshold=<low|medium|high>: findings at or above this level block code approval--budget-threshold=<low|medium|high>: findings at or above this level consume review budget opportunistically--fix-low/--no-fix-lowretained as backward-compatible aliasesfixLowFindingsreplaced withapprovalThresholdandbudgetThresholdTest plan
pnpm run ws typecheckpasses in agents packagepnpm run ws testpasses in agents package--fix-low/--no-fix-lowbackward-compatible aliases map correctly to threshold valuesapprovalThreshold/budgetThresholdinstead offixLowFindingsCloses #115. Follow-up: #122 (minor wording refinements in review-cycle.md).