@@ -29,10 +29,25 @@ environment)" while CI had already run those tests. Runs with no denials average
2929seconds against 37 turns and 270 seconds for runs with five or more.
3030
3131Each block degrades to a sentence saying what is missing rather than to silence, because a reviewer
32- handed an empty CI block will state that CI is clean. The step is ` continue-on-error ` : a failure
32+ handed an empty CI block will state that CI is clean. Two reads get a stronger treatment: a failed
33+ ` /reviews ` or ` /pulls/{n}/comments ` would otherwise render as ` REVIEW CYCLE: 1 ` and "no prior review
34+ comments", which are claims rather than gaps, so those failures are disclosed to the reviewer in a
35+ ` ## Context warnings ` block at the top of the context. The step is ` continue-on-error ` : a failure
3336there once skipped the review step and the notify step with it, leaving the PR with no review and no
3437explanation.
3538
39+ Both step outputs are byte-bounded (100 KB of comment threads, 200 KB of context), with per-block
40+ caps beneath that — 3,000 diff lines, 40 KB per CI log excerpt, 3,000 characters per comment. The
41+ caps are deliberately far below any plausible runner limit: 400 inline comments rendered 1.1 MB of
42+ threads before they existed, and the runner accounts for output size in UTF-16, so a byte count here
43+ is not the number it checks against. Blocks are ordered so that truncation sacrifices the PR
44+ conversation before the diff or the CI status.
45+
46+ Everything reaching the prompt is attacker-controlled — title, body, diff, CI logs, comments — so the
47+ block delimiters are neutralised by shape rather than by exact string: ` </pr_context > ` ,
48+ ` </PR_CONTEXT> ` and ` < / pr_context foo="1"> ` all read as the same delimiter to a model, and any of
49+ them would otherwise end the data block early and land the rest where it reads as instructions.
50+
3651### Tool usage artifact
3752
3853Each run attaches a ` claude-tool-usage-pr-<number> ` artifact (14-day retention): tool call counts,
0 commit comments