← ClaudeAtlas

codex-review-wraplisted

Worktree-aware wrapper for /codex:review. Forces explicit worktree selection when several worktrees are active, preventing silent cwd mismatch, then gates every returned finding: premise verification before fact-modifying edits, flip detection halting A→B→A oscillation, sibling cross-checks for a port or parallel hotfix, a diminishing-returns advisory (PRAXIS_DIMINISHING_RETURNS_N), and a per-finding approval ask. It also reaps leaked openai-codex brokers (PRAXIS_CODEX_REAP=1).
devseunggwan/praxis · ★ 1 · AI & Automation · score 73
Install: claude install-skill devseunggwan/praxis
# codex-review-wrap ## Overview `/codex:review` selects the working tree based on cwd. When multiple worktrees are active — the common case mid-session after a merge or context switch — cwd drifts away from the intended target without warning. This wrapper intercepts before Codex runs: 1. Lists all active worktrees via `git worktree list` 2. If **≥ 2 worktrees** are active → `AskUserQuestion` forces explicit selection 3. If **exactly 1** → proceeds automatically (same as current `/codex:review` behaviour) 4. Delegates to `/codex:review` with the confirmed worktree as cwd After Codex returns, a second responsibility activates: every fact-modifying finding must pass an independent premise check before it becomes an edit, and the wrapper maintains a session ledger that halts same-session A→B→A flips. When the PR is a port / parallel hotfix / A/B implementation of logic in a sibling PR or repo, Step 5d additionally cross-checks each verified finding against the sibling and records the result. Step 5f tracks how many rounds have touched each `{file}:{region}` pair and emits a one-time non-blocking advisory when the count exceeds the configured threshold (default: 4 rounds, env var `PRAXIS_DIMINISHING_RETURNS_N`). Step 5i then puts every finding that survived 5b and 5c — fact-modifying, structural, or stylistic — in front of the user via `AskUserQuestion` before any edit lands: the agent's verdict is a recommendation, the user's answer is the decision. See **Step 5** for the f