Skip to content

fix(review): have the sweep wait for the workflow result, not read its run directory - #13167

Merged
kyle-sexton merged 1 commit into
mainfrom
host-run/12505-sweep-wait
Nov 4, 2026
Merged

kyle-sexton merged 1 commit into
mainfrom
host-run/12505-sweep-wait

Conversation

@kyle-sexton

Copy link
Copy Markdown
Member

Refs: #12505

Summary

The #12505 reviewer-diversity eval's L decoy suite was INVALID in round 4 (#13159's head), and round 3 failed the same way. In both, the main session read its own review:fanout-sweep workflow's run directory. Round 4's two denied cases show both shapes:

  • During the sweep (counted): a Bash ls of the run directory, after the background Workflow launch and before its completion notification.
  • After the sweep (warning): a Bash grep of the run's journal.jsonl for one leaf's text, after the completion notification. The result file that notification names already held that leaf's full text in the workflow's raw array (raw: returned.map(r => ({ label, output })), workflows/fanout-sweep.js:265).

Fix

  • plugins/review/skills/fanout/context/run-everything-mode.md:
    • Step 5 gets a Wait. bullet: wait for the sweep's completion notification without listing or reading its run directory.
    • Step 6 takes a leaf's text from its raw entry's output in the result the notification names, or from its findingsPaths file, and never from the run directory.
  • A patch changelog fragment for review.

Verification

Remaining on #12505

Related

🤖 Generated with Claude Code

…s run directory

Refs: #12505

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-04T08:36:45.008076Z 86378a5 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

claude-review reviewed 86378a50e98c626950e5f8e2c64619e439f6cb72: read 2 of 2 changed file(s); 0 finding(s), 0 as inline comments.

Code review: no findings

This PR changes the run-everything-mode.md guidance. It adds a Wait. bullet to step 5 and a sentence to step 6, so the main session waits for the review:fanout-sweep completion notification and takes each leaf's text from the returned raw array or the leaf's findingsPaths file. It no longer lists or reads the workflow's run directory. It also adds a bump: patch changelog fragment for review.

What I checked:

  • Step 6 matches the workflow script. The new sentence names a leaf's "raw entry's output". The script returns exactly that shape: raw: returned.map(r => ({ label: r.label, output: r.output })) (plugins/review/workflows/fanout-sweep.js#L265).
  • The fallback path is consistent. The findingsPaths file fallback agrees with the reconcile rule already in step 6, which re-runs Stage 0 on "the file at your own copy of its path".
  • The bump level fits. This is a guidance-only fix to how the sweep is driven, so patch is the right SemVer level.
  • Scope matches the PR description. The PR refs test(review): add fanout-diversity fixtures that separate the arms #12505 but closes no issue, so there are no closing-issue criteria to check. Its "Fix" section matches the diff.

Verification: The PR's verification (check-affected.sh --tests: 15 passed, 2 skipped; decoy suites run on a staged copy) is the author's claim. I did not run or confirm it.

There were no prior findings (round 0 of 3), no settled threads, and no plugin manifest changes. Neither changed file matches a trusted path.

@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

claude-security-review reviewed 86378a50e98c626950e5f8e2c64619e439f6cb72: read 2 of 2 changed file(s); 0 finding(s), 0 as inline comments.

Security review: PR #13167

No security issues found. I read every hunk of both changed files.

  • plugins/review/skills/fanout/context/run-everything-mode.md adds two things to the run-everything sweep:

    • a Wait. bullet in step 5: wait for the review:fanout-sweep completion notification without listing or reading the workflow's run directory;
    • a sentence in step 6: take a leaf's text from the returned raw entry's output, or from its findingsPaths file, and never from the run directory.

    Both are additions. The diff removes nothing from the instruction text, so it narrows no standing rule and weakens no guardrail. The change limits where the session reads, so the session gains no new reads, writes, commands or tools. The leaf output it now points to (the workflow's returned raw array, or the findings file) is the same reviewer output the run directory held. No untrusted text gets a new route into a credentialed context.

  • .changes/review/host-run-12505-round5-sweep-wait-4e81c0d2.md is a new patch changelog fragment containing only prose.

Neither file matches a trusted-path glob. The PR changes no plugin manifest, workflow, token, kill switch, trusted-actor list or merge hold. The PR description contains no embedded instructions aimed at this lane.

Spend: none. The PR changes no turn limits, model, effort or run counts.

critical-findings: 0

@kyle-sexton
kyle-sexton added this pull request to the merge queue Nov 4, 2026
Merged via the queue into main with commit 0f70a38 Nov 4, 2026
41 checks passed
@kyle-sexton
kyle-sexton deleted the host-run/12505-sweep-wait branch November 4, 2026 08:52
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