fix(916): cross-family state is per round, and the orchestrator reads cross_family before a verdict
A substitute that failed in round one said nothing about the tree that lands after round two, yet the flag was sticky and doomed the run; the xfamily string was never reset either, so clearing the stickiness alone would have let a stale "substitute ALSO failed" sentence into the PR body. Both reset at the top of review(). The harness runner is round-aware (ran per round, its own counter reset) and a two-round case pins the fix; restoring the sticky flag reddens it in both scripts. Step 4 of the mechanics page tells the referee to read cross_family, not only error, before posting on a rubric-class PR. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015QqCpYFsKgnAnx6jVwrKiV
This commit is contained in:
@@ -107,9 +107,11 @@ the review loop *inside* the worktree, before the single push:
|
||||
4. **Orchestrator**: read the review evidence, not the summaries. Send the PR back for anything
|
||||
that lets a route or test pass having done nothing. Tick each box whose evidence holds, then
|
||||
re-read the head sha immediately before posting `scripts/post-review-verdict.sh <pr> MERGEABLE
|
||||
<note>` naming the reviewers, the rounds and the workflow's returned `cross_family` status (a
|
||||
Codex failure in a post-rebase round is in that return, not in the PR body); tick the review
|
||||
box. Wait for CI — a `cancelled` job
|
||||
<note>` naming the reviewers, the rounds and the workflow's returned `cross_family` status. Read
|
||||
that field, not only `error`: a cross-family failure in the post-rebase round leaves the branch
|
||||
pushed and the run successful, and only `cross_family` says the substitute also failed; a
|
||||
rubric-class PR in that state gets no verdict until a cross-family or substitute review of the
|
||||
pushed head has run. Tick the review box. Wait for CI — a `cancelled` job
|
||||
reads as `failure` at the combined status endpoint, so resolve it via the run's jobs
|
||||
(`ci.cancelled-is-not-a-verdict`).
|
||||
5. **Merge through the Gitea merge tool with the full head sha**; the consent hook derives consent
|
||||
|
||||
Reference in New Issue
Block a user