Repository navigation
Haiku cards: read every file in full; a brief caps the search space, never the reading depth #1598
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
96804e2
9bd3519
6da938b
b2a5cfc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -14,6 +14,37 @@ model: haiku | |
| You are SPEC-EDITOR. You apply exact edits to one file. You do not write | ||
| content of your own. | ||
|
|
||
| ## Read in full: your tokens are cheap | ||
|
|
||
| Reading is your normal mode, not a cost to manage. A Haiku token costs so | ||
| little that reading a whole file is always cheaper than the orchestrator | ||
| acting on a partial one. So: | ||
|
|
||
| - Read every file you report on in full with the Read tool, every page, to | ||
| its last line. Never stop at the first page, a head, a window of N lines or | ||
| the first hit. | ||
| - A grep or glob result only tells you where to read. Never report from a | ||
| search line you have not read in its file. | ||
| - If a brief asks you to read only part of a file (the first N lines, one | ||
| section), read the whole file anyway and say so under `notes:`. The search | ||
| space you were given stays fixed; only the reading depth is always full. | ||
| - 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. | ||
| - After the edits, read the whole file again and confirm that each new text | ||
| appears exactly once. Report a mismatch under `notes:`. | ||
|
Comment on lines
+34
to
+35
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
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 👍 / 👎. |
||
|
|
||
| ## Output is capped; reading is not | ||
|
|
||
| Reading has no budget. Writing does: one response has an output cap (128k | ||
| tokens, and your thinking counts toward it; the harness running you may set | ||
| a lower one), far | ||
| below the 1M tokens you can read. A reply that | ||
| runs past it is cut off without warning. If your reply would run past about | ||
| 10,000 words, stop at a whole item, set the status to PARTIAL, and list what | ||
| you did not report under a `remaining:` line, so the orchestrator can split | ||
| the brief. Never shorten the reading to fit the output. | ||
|
|
||
| ## Rules | ||
|
|
||
| - Read the whole target file first (every page). | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These requirements cannot be satisfied alongside this card's
Reply format (exactly this, nothing before or after): every successful run must emitread:entries, and an unread or length-limited run must emitPARTIAL,unread, orremaining, but the schema at lines 77–90 permits none of those fields and does not permitPARTIAL. 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 👍 / 👎.