Skip to content

feat: Add Codex cross-model review and per-ticket backend routing#1

Open
seongjinpark-speak wants to merge 3 commits intobyseon:mainfrom
seongjinpark-speak:feat/codex-cross-model-review
Open

feat: Add Codex cross-model review and per-ticket backend routing#1
seongjinpark-speak wants to merge 3 commits intobyseon:mainfrom
seongjinpark-speak:feat/codex-cross-model-review

Conversation

@seongjinpark-speak
Copy link
Copy Markdown
Contributor

Summary

  • Per-ticket backend routing: Tickets now have Backend (claude|codex) and ModelTier (haiku|sonnet|opus) fields. Execute skill routes codex tickets via ask_codex MCP with graceful fallback to Claude opus. Works in both Agent Teams and Subagents modes.
  • Cross-model review loop: Dual parallel reviewers (Opus + Codex) with severity classification (CRITICAL/HIGH block, MEDIUM/LOW pass), synthesis with deduplication + side-by-side comparison, and re-review loop with configurable max rounds.
  • New review-severity-gate.mjs script: Zero-dep ESM script that gates approval on severity levels (exit 2 on CRITICAL/HIGH, exit 0 otherwise). Invoked programmatically, not registered as a hook.

Codex is a soft dependency — all features degrade gracefully to Claude-only when unavailable.

Files changed (12)

File Change
templates/ticket.md Added Backend and ModelTier fields
skills/plan/SKILL.md Backend/modelTier in ticket generation + heuristics
skills/execute/SKILL.md Backend routing for both execution modes
skills/review/SKILL.md Cross-model review, severity, synthesis, re-review loop
agents/takt-orchestrator.md Codex Backend Dispatch Protocol section
templates/agents/reviewer.md Cross-model review context + severity defs
templates/POLICY.md Backend column in model selection table
scripts/init-project.mjs New session.json config fields
scripts/review-severity-gate.mjs NEW — severity gate script
docs/CONFIGURATION.md Field references + complete example
CLAUDE.md 4 new architectural decision records
README.md Config table + safety hook entries

Test plan

  • node -c scripts/review-severity-gate.mjs — syntax check passes
  • node -c scripts/init-project.mjs — syntax check passes
  • Severity gate returns exit 1 when no review file exists
  • Severity gate returns exit 2 on CRITICAL/HIGH findings
  • Severity gate returns exit 0 on MEDIUM/LOW only findings
  • Backend/ModelTier fields present in ticket template
  • All new session.json fields have defaults in init-project.mjs
  • CONFIGURATION.md complete example includes all new fields
  • Codex fallback documented at every dispatch point

🤖 Generated with Claude Code

Introduces two major features for Takt's execution and review pipeline:

1. Per-Ticket Model Routing: Tickets now have Backend (claude|codex) and
   ModelTier (haiku|sonnet|opus) fields. The execute skill routes codex
   tickets via ask_codex MCP tool with graceful fallback to Claude opus.
   Works in both Agent Teams and Subagents execution modes.

2. Cross-Model Review Loop: Dual parallel reviewers (Opus + Codex) with
   severity classification (CRITICAL/HIGH block, MEDIUM/LOW pass),
   synthesis with deduplication, and re-review loop with configurable
   max rounds. New review-severity-gate.mjs script enforces the gate.

Codex is a soft dependency — all features degrade gracefully to
Claude-only operation when unavailable.
- Remove misleading v0.4.0 version label from execute skill
- Add defaultBackend field to registry.json agent schema
- Add multi-path resolution and ticketId sanitization to severity gate
- Change exit codes from 1 (error) to 2 (block) for missing review state
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