[PR #261] fix(groom): bound finder and builder exploration #264

Open
opened 2026-10-26 22:37:53 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/github-workflows/pull/261
Author: @christian-byrne
Created: 9/4/2026
Status: 🔄 Open

Base: main ← Head: christian-byrne/cifix-16923-groom-finder-bounds


📝 Commits (7)

  • 23416d9 fix(groom): bound finder exploration and spend
  • 16f8045 fix(groom): reserve finder output budget
  • 1f38b14 fix(groom): address finder budget review findings
  • 2f43bc8 fix(groom): bound builder feasibility exploration
  • d56a284 test(groom): anchor clean-bail recovery assertion
  • cc8c8b3 Merge remote-tracking branch 'origin/main' into codex/pr261-fix
  • 494d60c test(groom): track sandboxed agent step boundaries

📊 Changes

6 files changed (+201 additions, -5 deletions)

View changed files

📝 .github/groom/builder.md (+2 -0)
📝 .github/groom/finder.md (+5 -3)
➕ .github/groom/tests/test_builder_bounds.py (+45 -0)
📝 .github/groom/tests/test_claude_code_pin.py (+52 -0)
➕ .github/groom/tests/test_finder_bounds.py (+57 -0)
📝 .github/workflows/groom.yml (+40 -2)

📄 Description

Finder stops exploring before its execution ceiling.
Builder decides patch-or-bail within 20 inspection calls.
A completed clean bail still reaches issue filing.

Full context for agent readers

Cloud Groom run 33884019269 exhausted the finder’s 150-turn limit after 151 reported turns, 16 denied Bash calls, 19m49s, and $11.25, without producing finder JSON. A later builder run 34138588014 selected a subsystem-scale 2,213-line refactor, exhausted all 100 turns after 28m15s and 20 denied Bash calls, and produced neither a patch nor a bail control file.

This change:

  • tells the finder to stop after at most 60 inspection calls and reserve time for JSON output;
  • makes fewer than six findings explicitly valid, avoiding an implicit minimum that can prolong sparse scans;
  • caps finder spend independently at $8;
  • tells the builder to decide patch-or-bail after at most 20 inspection calls, before editing;
  • makes subsystem restructuring, multi-concern work, and unclear contracts explicit builder bail-outs;
  • tells both agents not to retry denied operations or seek shell-command substitutes;
  • preserves a valid builder bail-out after a late CLI ceiling only when the worktree is clean, while partial patches continue to fail;
  • adds regression tests for both bounded handoff contracts.

Verification:

  • Groom unit tests: 381 passed
  • Groom shellcheck: passed
  • Groom sandbox suite: passed
  • Workflow pin validation: passed
  • AGENTS.md integrity: passed with the two pre-existing repository warnings
  • git diff --check: passed

A live bounded dry run remains required after this workflow commit is merged and a consumer caller pin is updated. No billed workflow was blindly rerun.

Program row: cifix-16923.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/github-workflows/pull/261 **Author:** [@christian-byrne](https://github.com/christian-byrne) **Created:** 9/4/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `christian-byrne/cifix-16923-groom-finder-bounds` --- ### 📝 Commits (7) - [`23416d9`](https://github.com/Comfy-Org/github-workflows/commit/23416d97491c00fbbefa695999192f72a75cccf9) fix(groom): bound finder exploration and spend - [`16f8045`](https://github.com/Comfy-Org/github-workflows/commit/16f80459cb7c884bbdc8236c091b163227b48187) fix(groom): reserve finder output budget - [`1f38b14`](https://github.com/Comfy-Org/github-workflows/commit/1f38b1440fe20df283d24526c691585c64f90242) fix(groom): address finder budget review findings - [`2f43bc8`](https://github.com/Comfy-Org/github-workflows/commit/2f43bc86761ee39926f10945491eee6b4c25bada) fix(groom): bound builder feasibility exploration - [`d56a284`](https://github.com/Comfy-Org/github-workflows/commit/d56a284ac587d8076ec51776a451a313a127dcd7) test(groom): anchor clean-bail recovery assertion - [`cc8c8b3`](https://github.com/Comfy-Org/github-workflows/commit/cc8c8b31509c0a1efa9559ad4058a7801c5a994c) Merge remote-tracking branch 'origin/main' into codex/pr261-fix - [`494d60c`](https://github.com/Comfy-Org/github-workflows/commit/494d60c01b2a5bbef9e17a26693225ad50764eda) test(groom): track sandboxed agent step boundaries ### 📊 Changes **6 files changed** (+201 additions, -5 deletions) <details> <summary>View changed files</summary> 📝 `.github/groom/builder.md` (+2 -0) 📝 `.github/groom/finder.md` (+5 -3) ➕ `.github/groom/tests/test_builder_bounds.py` (+45 -0) 📝 `.github/groom/tests/test_claude_code_pin.py` (+52 -0) ➕ `.github/groom/tests/test_finder_bounds.py` (+57 -0) 📝 `.github/workflows/groom.yml` (+40 -2) </details> ### 📄 Description Finder stops exploring before its execution ceiling. Builder decides patch-or-bail within 20 inspection calls. A completed clean bail still reaches issue filing. <details><summary>Full context for agent readers</summary> Cloud Groom run [33884019269](https://github.com/Comfy-Org/cloud/actions/runs/33884019269) exhausted the finder’s 150-turn limit after 151 reported turns, 16 denied Bash calls, 19m49s, and $11.25, without producing finder JSON. A later builder run [34138588014](https://github.com/Comfy-Org/github-workflows/actions/runs/34138588014) selected a subsystem-scale 2,213-line refactor, exhausted all 100 turns after 28m15s and 20 denied Bash calls, and produced neither a patch nor a bail control file. This change: - tells the finder to stop after at most 60 inspection calls and reserve time for JSON output; - makes fewer than six findings explicitly valid, avoiding an implicit minimum that can prolong sparse scans; - caps finder spend independently at $8; - tells the builder to decide patch-or-bail after at most 20 inspection calls, before editing; - makes subsystem restructuring, multi-concern work, and unclear contracts explicit builder bail-outs; - tells both agents not to retry denied operations or seek shell-command substitutes; - preserves a valid builder bail-out after a late CLI ceiling only when the worktree is clean, while partial patches continue to fail; - adds regression tests for both bounded handoff contracts. Verification: - Groom unit tests: 381 passed - Groom shellcheck: passed - Groom sandbox suite: passed - Workflow pin validation: passed - AGENTS.md integrity: passed with the two pre-existing repository warnings - `git diff --check`: passed A live bounded dry run remains required after this workflow commit is merged and a consumer caller pin is updated. No billed workflow was blindly rerun. Program row: `cifix-16923`. </details> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/github-workflows#264
No description provided.