Skip to content

Make review fan-out topology mode-aware to reduce cost in lite/vibe modes #197

Description

@williamthorsen

Problem

The review cycle dispatches up to 4 parallel reviewers (core + 3 aspect) regardless of mode. In vibe mode this is disproportionately expensive — the core reviewer finds most unique issues, and aspect reviewers largely duplicate its findings. Token analysis from run 20260305-184232Z (#181) showed 4-way parallel reviewer fan-out consumed ~326K tokens across 2 rounds.

The review-cycle module already handles variable fan-out correctly. The gap: mode presets in orchestrate-dev can't feed into aspect reviewer activation — activation is resolved from preferences.yaml only, not from the mode cascade.

Scope

Two changes in this ticket:

  1. Thread aspect_reviewers through the mode cascade so modes control which aspect reviewers run.
  2. Remove --lite mode entirely. Replace orchestration mode with effort system #199's auto-sizing within accountability levels makes lite redundant — a small task at default accountability gets lite-like settings automatically.

Design decisions

  • Vibe mode: explicitly deactivates all aspect reviewers (false). Vibe intentionally trades thoroughness for speed.
  • Default/strict: no override (absent). The orchestrator retains discretion via the review-cycle module's file-pattern activation logic, which skips aspect reviewers when the changed files don't warrant them.
  • preferences.yaml override removed: The orchestration.aspect_reviewers boolean override mechanism in review-cycle.md is removed. It was never used in practice and would complicate Replace orchestration mode with effort system #199's cascade. Can be re-added when a concrete use case emerges.
  • review-cycle becomes a pure function of its inputs: it no longer reads preferences directly — the engine threads {aspect_reviewers} as a context variable.

Changes

File Change
orchestrate-dev/SKILL.md Remove lite (argument, preset column, pipeline spec). Add aspect_reviewers row to mode presets.
orchestrate/SKILL.md Remove lite from wrapper reference. Add {aspect_reviewers} to review-cycle context preparation.
review-cycle.md Add {aspect_reviewers} input. Replace preferences.yaml lookup with input-driven activation.

Acceptance criteria

  • --mode=vibe deactivates all three aspect reviewers (only core reviewer runs)
  • Default mode (no --mode) leaves aspect reviewer activation to the file-pattern logic in review-cycle
  • --mode=strict leaves aspect reviewer activation to the file-pattern logic in review-cycle
  • --lite is no longer accepted as a mode value
  • review-cycle.md no longer references preferences.yaml or orchestration.aspect_reviewers
  • {aspect_reviewers} appears in the review-cycle inputs table and the orchestrate engine's context preparation section
  • No other files reference lite in the orchestration context

Expected impact

For vibe mode (1 round): ~120K tokens (1 reviewer × 1 round) vs ~163K (4 reviewers × 1 round). ~63% savings on the review phase.

Related

Metadata

Metadata

Labels

featureAdded or improved external functionalityscope:agents

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions