Repository navigation
Haiku cards: read every file in full; a brief caps the search space, never the reading depth - #1598
Conversation
…e, never the reading depth Haiku tokens are cheap enough that reading is the default, not a cost to manage. Each card gains a "Read in full" section: every reported file is read to its last line, a search hit is only where to read, a brief that caps reading depth is overridden and noted, and a file only scanned is listed as unread (status PARTIAL). harvest-scout now marks each hit match or substring (clamp vs CLAM); census-counter cross-checks counts by reading; spec-editor re-reads after editing; guarded-executor reads complete outputs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Each card gains an "Output is capped; reading is not" section. Reading stays unbounded; a response has an output cap the worker cannot see, so a long map or reply written in one call can be cut off silently. substrate-mapper writes long maps as numbered parts and re-reads the end of each part; the reply-only cards stop at a whole item, report PARTIAL and list what remains, so the orchestrator splits the brief instead of asking for shallower reading. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
128k tokens per response at the API against a 1M context; the harness may set a lower per-response cap. A 12,255-word map came through one Write intact, so the split threshold rises from ~4,000 to ~10,000 words. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
Thinking tokens count toward the 128k output limit, so a long Write after heavy thinking is the case the split rule protects. The protocol note now cites "What's new in Claude Haiku 5.5" and records the three facts that matter for subagent runs: earlier thinking blocks stay in context, the same text counts as about 30% more tokens, and long prompts use long-context pricing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b2a5cfc5c0
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - For each file, state whether you read it in full: | ||
| `read: <path> (<n> lines, full)`. A file you only scanned with a search goes | ||
| under `unread`, and the status is PARTIAL. |
There was a problem hiding this comment.
Add read metadata to the exact reply schemas
These requirements cannot be satisfied alongside this card's Reply format (exactly this, nothing before or after): every successful run must emit read: entries, and an unread or length-limited run must emit PARTIAL, unread, or remaining, but the schema at lines 77–90 permits none of those fields and does not permit PARTIAL. The same copied requirements conflict with the exact schemas in the other cards, so agents must either omit the new verification data or violate their output contract.
Useful? React with 👍 / 👎.
| - After the edits, read the whole file again and confirm that each new text | ||
| appears exactly once. Report a mismatch under `notes:`. |
There was a problem hiding this comment.
Check edited spans instead of global new-text uniqueness
A valid exact edit does not imply that its replacement text occurs only once in the whole file. If the replacement is common text, already exists elsewhere, is intentionally produced by two edits, or is empty for a deletion, the edit can be applied correctly while this check reports a mismatch. Verify that the expected text appears at the edited anchor/span instead of requiring global uniqueness.
Useful? React with 👍 / 👎.
Haiku tokens are cheap enough that reading every file in full costs effectively nothing. So reading is the default for the Haiku cards, not something a brief rations.
What changed in each of the six cards:
read: <path> (<n> lines, full);unread, and the status becomes PARTIAL.harvest-scoutmarks each hitmatchorsubstring, so a hit likeclampis not counted asCLAM;census-countercross-checks each command count by reading the files;quote-harvesterreads the whole file, so it can report text that also appears elsewhere;spec-editorre-reads the file after editing;guarded-executorreads the complete output of every command, never just its tail.Protocol and CLAUDE.md:
tiered-agent-execution-protocol.mdgains a "Reading is free" decision with its basis and revisit condition.Why: the five wiring maps over PRs #1447–#1596 came back PARTIAL. The brief had said "read the first 120 lines", and the mappers scanned files with grep and read 40-line windows instead of reading them.
The same card change goes to ndarray and tesseract-rs.
Generated by Claude Code