Skip to content

Haiku cards: read every file in full; a brief caps the search space, never the reading depth - #1598

Merged
AdaWorldAPI merged 4 commits into
mainfrom
ccr-9f3b8075-74u47l-haiku-read-in-full
Oct 17, 2026
Merged

AdaWorldAPI merged 4 commits into
mainfrom
ccr-9f3b8075-74u47l-haiku-read-in-full

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

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:

  • A new "Read in full" section:
    • every file a card reports on is read with the Read tool, to its last line;
    • a grep or glob hit only says where to read;
    • a brief that asks for part of a file (first N lines, one section) is overridden, and the override is noted;
    • each file is reported as read: <path> (<n> lines, full);
    • a file that was only scanned goes under unread, and the status becomes PARTIAL.
  • Per-card additions:
    • harvest-scout marks each hit match or substring, so a hit like clamp is not counted as CLAM;
    • census-counter cross-checks each command count by reading the files;
    • quote-harvester reads the whole file, so it can report text that also appears elsewhere;
    • spec-editor re-reads the file after editing;
    • guarded-executor reads the complete output of every command, never just its tail.

Protocol and CLAUDE.md:

  • tiered-agent-execution-protocol.md gains a "Reading is free" decision with its basis and revisit condition.
  • The Haiku line in CLAUDE.md's model policy says reading in full is the default.

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

…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
@coderabbitai

coderabbitai Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: aa2a04d6-1016-446f-b544-d82dbd37f603
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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
@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 17, 2026 11:13
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 17, 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-10-17T11:15:47.111493Z b2a5cfc Draft marked ready
ℹ️ 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.

@AdaWorldAPI
AdaWorldAPI merged commit c90549e into main Oct 17, 2026
1 check passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment on lines +31 to +33
- 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Comment on lines +34 to +35
- After the edits, read the whole file again and confirm that each new text
appears exactly once. Report a mismatch under `notes:`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

AdaWorldAPI added a commit that referenced this pull request Oct 17, 2026
…g-tables-wiring

Thinking tables: wire the model to PRs #1447–#1596; arc entries for #1592–#1598
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.

2 participants