Tool · Hermes · Nous Research
read_file
What matters here2 of 3 invariants hold · 1 unverified
- Offset base1-indexedsrclike 7 of 8
- Announces truncationinvariantholdssrcall 7 hold
- Binary not silentinvariant?4 of 5 hold
- Staleness checkinvariantholdssrc3 of 9 hold
The facts the registry marks decision-changing, with how the other implementations answered. An invariant may be shown as pass/fail; a design choice never is, however unusual it looks.
How this differs from most implementations
- Byte / char cap100k chars (not lines)vs 50 KB in 3 of 5
- Whichever hits firstcharsvs lines or bytes in 4 of 5
- Giant single linechar budget absorbs itvs per-line cap in 4 of 6
Derived by comparing every recorded value against the other implementations of the same capability. Differing is not a defect unless the row is marked an invariant.
Description, as the model sees it
Not recorded yet — the verbatim description has not been captured for this tool.
Registered schema
Not recorded yet — the schema as registered has not been captured for this tool.
Observed · Read
compare all →| Fact | This tool | Across all implementations |
|---|---|---|
| Output shape | 3 of 3 recorded | |
| Dedicated read tool | read_filesrc | |
| Line numbering | N|src | only one of 7N + TAB ×2 · N: ×2 +12 unverified |
| Output wrapper | plainsrc | like 6 of 9<path>/<type>/<content> ×2 · raw stdout ×1 |
| Limits | 3 of 4 recorded | |
| Default line cap | 2000src | like 6 of 81000 ×1 · none ×11 unverified |
| Byte / char cap | 100k chars (not lines)src | only one of 650 KB ×3 · 100 KB ×1 +12 unverified |
| Per-line cap | — | 5 others recorded2000 chars ×4 · none ×12 unverified |
| Whichever hits first | charssrc | only one of 6lines or bytes ×4 · lines ×12 unverified |
| Pagination | 3 of 5 recorded | |
| Offset base | 1-indexedsrc | like 7 of 80-indexed ×1 |
| Announces truncationinvariant | holdssrc Returns next_offset. | all 7 hold1 unverified |
| Continuation hint | next_offsetsrc | only one of 7(Showing X-Y of N. Use offset=Z) ×2 · (truncated) ×1 +31 unverified |
| Reports total lines | ? | 4 others recordedyes ×2 · linesShown[] ×1 +14 unverified |
| Out-of-range offset | ? | 2 others recordedexplicit error w/ line count ×26 unverified |
| Non-text | 2 of 6 recorded | |
| Binary content never enters context silentlyinvariant | ? | 4 of 5 holdtrue ×4 · false ×14 unverified |
| Binary files | ? | 5 others recordederror: Cannot read binary file ×2 · raw bytes into context ×1 +24 unverified |
| Images | separate vision_analyzesrc | only one of 9attachment (jpeg/png/gif/webp) ×1 · attachment + mime sniff ×1 +6 |
| PDFs | ? | 5 others recordedattachment ×2 · page ranges + continuation ×1 +23 unverified |
| Notebooks | ? | 2 others recorded(notebook-edit tool) ×1 · cells + outputs ×16 unverified |
| Giant single line | char budget absorbs itsrc | only one of 7per-line cap ×4 · none ×1 +12 unverified |
| Errors | 0 of 4 recorded | |
| Missing path | ? | 4 others recordedDid you mean one of these? ×2 · error ×1 +15 unverified |
| Path is a directory | ? | 4 others recordedlists entries ×2 · error ×1 +15 unverified |
| Empty file | ? | 2 others recordedempty stdout ×1 · explicit reminder ×17 unverified |
| Non-vision model | ? | 2 others recordedexplicit note in output ×1 · requires image-capable model ×15 unverified |
| Correctness | 3 of 4 recorded | |
| Mixed line endings | ? | 2 others recordedraw ×1 · renders CR visibly ×17 unverified |
| Re-read dedup | (path,offset,limit)→mtime, 'File unchanged since last read'src | only one of 2file read cache ×1 |
| Staleness check before writeinvariant | holdssrc Compares mtime on write. | 3 of 9 holdfalse ×6 |
| Line-number contamination guard | write-side detector rejects N| contentsrc | only one of 2instructs model to strip prefix ×1 |