بنقرة واحدة
review-loop
Review loop: run parallel reviews on a fix design.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Review loop: run parallel reviews on a fix design.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Lead: coordinate approved delivery, artifacts, and gates.
Keyboard, focus, screen-reader, contrast, WCAG A/AA.
Architecture/maintainability gate: coupling, cohesion, layering, debt.
Performance gate: latency, throughput, memory, CPU, benchmarks, budgets.
Auth, secrets, injection, exposure: merge gate.
Usability review: user flows, error states, interaction clarity.
| name | review-loop |
| description | Review loop: run parallel reviews on a fix design. |
Get independent multi-angle convergence on one written fix-design artifact BEFORE the change lands. Three scope angles (two SMART verdicts + one mechanical SCOUT) review the same artifact; the loop revises and re-dispatches autonomously under an anti-drift guard and gates the human only at convergence.
This is the Codex-line binding of the provider-neutral review-loop methodology. The design trunk (shared/references/review-loop-methodology.md) is NOT installed; this skill carries the operative rules for the Codex runtime.
Codex has no Claude Agent() background fan-out: it does not spawn three concurrent in-process subagents that fire completion notifications. The Codex loop runs the three angles through the external-dispatch / external-brigade surface and synthesizes sequentially:
$external-brigade and external-dispatch.md), each carrying its scope and the pinned objective verbatim.Angles are defined by SCOPE, not by vendor. The FOCUS each is given makes it independent. Vendors are symmetric; the Codex-line default below mirrors the Claude-line mapping (the Codex host puts Claude on the large-context/strategic scope and Codex on the surgical scope, per the symmetry rule in the trunk).
| Angle | Scope | Produces | Codex-line default |
|---|---|---|---|
| Surgical correctness | the specific defect, contract/seam violation, "this exact line/binding is wrong", visual-bug detection | a VERDICT (PASS/REVISE) | the surgery-strong engine (Codex on its own line; the host scope) |
| Deep reasoning | blast-radius, cross-system ripple, large-context synthesis, ADR / framing / "is this the right shape" | a VERDICT (PASS/REVISE) | the most capable deep-reasoning engine via $external-reviewer (auto resolves to Claude on the Codex line) |
| Mechanical scout | fully-specified scans: "does referenced X exist?", "list every reference to Y", sketch-vs-code, symbol/style | FINDINGS (no verdict) | a fast factual role; surfaces raw findings + blind-spot hints |
The scout does not co-judge: it executes spelled-out mechanical scans and surfaces raw facts that FEED the two verdict angles. A scout finding is an INPUT to a verdict, not a verdict. The scout maps to a FACTUAL, non-judging role, never a judging one.
.agents/.agents-mode.yaml first; honor parallelMode, externalProvider, externalPriorityProfile, reserveResolver, externalPriorityProfiles, externalOpinionCounts, externalModelMode, and externalCodexProfile. Shipped auto stays on codex | claude.CONFIRMED — do not re-litigate..scratch/reviews/fix-design-YYYY-MM-DD-<topic>.md: runtime-verified root with trace/file:line citations, candidate options with cost/risk, recommended option, implementation sketch, validation plan, and what each scope angle should evaluate.review-loop-state per round. No human gate per round. Each round: revise the artifact to fold in every open blocker and unreconciled scout finding; run the mandatory anti-drift check (goal, admitted scope, runtime root all unchanged — drift stops the loop); re-dispatch all angles. Persist one review-loop-state record per round under .scratch/reviews/. The runtime enforcement is hardening invariants 7-8 (failed-lane-is-unverified, fail-closed aggregation); when DEVELOPING this pack, run scripts/validate-review-loop-state.py on the ledger as a dev/CI backstop.$architect / $architecture-reviewer, or the external-reviewer lane on the Codex line — asked "is the MECHANISM right, or is the chase a symptom of a model mismatch?" — fed the manifestation PHASE-GRAPH, not the latest diff, to name the right model or confirm the honest documented-residual floor). Resume correctness only after the model is confirmed or replaced. Per the review-the-model-not-just-the-spec precedent.CONFIRMED).PASS — cite specific blockers (file:line / evidence) or a specific no-blocker rationale..out/.err carrying a normal-completion marker — never by a neighboring task's completion.REVISE and exits non-zero until every expected lane has substantive output and every recorded failure is reconciled.A shipped loop MUST persist a per-round review-loop-state record under .scratch/reviews/ so the autonomous loop leaves an auditable structural trace. Per round, persist: pinned objective / scope / runtime_root (identical across all rounds), round (≤ cap), diff, per verdict angle (surgical, deep) a non-empty successful attempt_id + a non-bare verdict plus the three meta-answers (root_proven, scope_unchanged, verification_adequate), scout attempt_id + findings + reconciliation, a lane_failures list (every expected lane that errored/died/hit a limit, each naming the failed attempt_id, the failure kind error | died | limit, and the successful redispatched_as attempt; lane_failures: [] when none failed), and evidence references. The structural validator scripts/validate-review-loop-state.* --self-test (a development/CI tool in the repo, NOT shipped into the runtime) checks the SCHEMA (anchors present + unchanged, diff present, both verdict angles + scout present with non-empty unique current attempt_ids, no bare PASS, cap respected, lane_failures well-formed with each failure reconciled to its current successful re-dispatch), and treats a missing/null sub-verdict or findings payload as NOT-clean; it does not and cannot check semantics. The RUNTIME enforcement for a shipped loop is hardening invariants 7-8 above; when DEVELOPING this pack, run the validator against the current ledger as a dev/CI backstop.
$lead.$consultant (which shells out to its own provider — the role-confusion). consultant stays untouched.$second-opinion / $consultant).$external-brigade).codex or claude.python scripts/agent-run-ledger.py --work-item <item> append --event-kind launch --status running --gate none --role <angle-role> --lane <lane> ... before, and the terminal (--event-kind terminal --launch-run-id <id>, gate parsed from the artifact's final GATE: line per the completion
oracle) after.REVISE closes only when THAT lane (or a
recorded equivalent, structured fields) re-verifies PASS naming the exact closesRunIds. Author
belief, applied fixes, or a green mechanical validator never close it; check-work-items-state
FAILs on open obligations by default and the root publication gate blocks on them.HOW→VERIFY independence: VERIFY(F) owner/engine ≠ HOW(F) author. Independence is a property of the HOW→VERIFY edge, not the WHAT→HOW edge: a reviewer may author a fix's HOW while context is fresh; only verification of the implemented fix must stay independent. For an inline-sufficient finding, no separate fix-design/HOW-review pass is required before implementation, but the existing loop-to-PASS re-verification remains mandatory. Author-exclusion for design-class (fix-class: design-decision) fixes: when the implemented fix of a design-decision finding followed a reviewer's authored HOW, at least one discharging verdict MUST come from an angle that did not author that HOW. A distinct scope counts as distinct even on the same engine (see ## The angles); this is stronger than the same-angle re-verification that suffices for inline-sufficient findings. No non-authoring verifier means no clean PASS: leave the HOW advisory and report the gap as UNVERIFIED.WAIVED:user with the user's authorization as manual-check evidence
(never against protected or unclassified findings); WAIVED:security-reviewer requires completed
status, exact target-bound manual-check evidence, and role or assignedRole equal to
security-reviewer.