Skip to content

fix: the session reviewer's context budget was a ceiling nobody could raise - #172

Merged
thedancingdeveloper merged 1 commit into
mainfrom
fix/session-review-budget
Aug 5, 2026
Merged

fix: the session reviewer's context budget was a ceiling nobody could raise#172
thedancingdeveloper merged 1 commit into
mainfrom
fix/session-review-budget

Conversation

@thedancingdeveloper

Copy link
Copy Markdown
Contributor

When the review helpers were shared between the executors (#167), the session
side got DEFAULT_CONTEXT_BUDGET hardcoded at the call site. The headless
executor has taken that number from configuration since #150.

So a 272 KB file was always "too large to include", and the reviewer rejected
for lacking exactly the evidence the harness had refused it:

web/src/main.tsx is not included in full and I cannot inspect the
surrounding markup/context around that block here.

That is the correct answer to a partial view — #156 exists precisely because a
reviewer denied its surroundings rejects for the shape of its own prompt.
Giving it the file back is not weakening the gate; it is the gate's own stated
requirement.

SessionExecutor now takes context_budget, defaulting to the same number so
nothing changes for anyone not passing it, and run --context-budget reaches
both executors rather than only one.

Worth separating from the case next to it

Two items were rejected in the same run and they are not the same problem:

  • R4 (this PR) — the reviewer was denied the file and said so. My defect.
  • R3 (A reviewer's surplus insight should become the next item, not a refusal of this one #171) — the reviewer had the file, agreed the change "appears to
    satisfy the narrow support-bundle requirement", and rejected anyway for a
    guard against future accidental serialization that the item never asked for.
    That is a calibration question, and I deliberately did not fix it by editing
    the prompt a fifth time.

Conflating them would have made the second look solved.

All four gates green.

🤖 Generated with Claude Code

… raise

When the review helpers were shared between the executors (#167), the session
side got `DEFAULT_CONTEXT_BUDGET` hardcoded at the call site. The headless
executor has taken that number from configuration since #150.

So a 272 KB file was always "too large to include", and the reviewer rejected
for lacking exactly the evidence the harness had refused it:

  "web/src/main.tsx is not included in full and I cannot inspect the
   surrounding markup/context around that block here."

That is the right answer to a partial view, and #156 exists precisely because
a reviewer denied its surroundings rejects for the shape of its own prompt.
Giving it the file back is not weakening the gate — it is the gate's own
stated requirement.

`SessionExecutor` now takes `context_budget`, defaulting to the same number so
nothing changes for anyone not passing it, and `run --context-budget` reaches
both executors rather than only one.

Worth separating from the case next to it: R3's reviewer *had* the file it
needed and rejected for a guard against hypothetical future serialization that
the item never asked for. That one is a calibration question and is recorded
as #171, deliberately unfixed. This one was a defect I introduced.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@thedancingdeveloper
thedancingdeveloper merged commit 5fc9668 into main Aug 5, 2026
2 checks passed
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