read_file dedup cache bugs and response inconsistencies

NousResearch/hermes-agent · cluster 13079 · agent

Data as of

7 open items. Fix merged in #16382. Check it covers your case.

The short answer

3open issues
4open PRs
19items grouped
Known?
Yes. 19 related items grouped here, 2 issues already closed.
Fix event
A fix was merged to main in PR #16382. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this partially resolved, deciding PR #16382. That is separate from the fix event.
Still open
3 issues and 4 PRs.

These issues and fixes center on problems with the read_file tool's deduplication mechanism, including incorrect response structures in the execute_code sandbox, cache invalidation using only mtime, loop detection bypasses, and dedup metadata leaking into file content.

Open issues3

  • Issue#44819[Bug]: read_file In some inappropriate situations, is the dedup likely to affect instruction compliance? For example, when reading skill commands
  • Issue#44843read_file` returns inconsistent response structure in `execute_code()` sandbox
  • Issue#53812read_file dedup uses mtime only — stale cache on sub-second edits

Open PRs4

  • PR#44847fix(tools): bypass read dedup in execute_code
  • PR#45269fix(tools): preserve instruction file rereads
  • PR#53816fix(tools): verify content hash alongside mtime in read_file dedup (#53812)
  • PR#102813fix(tools): bypass read dedup in execute_code

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #16382 fix(file-tools): escalate to BLOCKED on repeated read_file dedup stubs

    merged to main

    files: tests/tools/test_file_read_guards.py, tools/file_tools.py

9 PRs closed without merging

From the close comments: superseded by another PR 3 · done elsewhere 2 · duplicate 1 · other 3

  • #13210 fix(file_tools): use error field instead of content in dedup stub · done elsewhere → #16223
  • #14092 fix(file-tools): move dedup hints out of content · done elsewhere → #13079
  • #15762 fix(tools): dedup early-return bypasses loop detection in read_file (#15759) · superseded by another PR → a32b325, 977d5f5, ced8f44, #16382, #15759
  • #44849 fix(tools): skip read_file dedup for execute_code sandbox calls · superseded by another PR → #44847
  • #44960 fix(tools): align read_file sandbox response format with normal tool (#44843) · other
Show 4 more
  • #44997 fix(tools): make read_file dedup response consistent (#44843) · other
  • #45087 fix(tools): read_file returns inconsistent response structure in execute_code sandbox (#44843) · other → #44843, #44997, #44847, #44849, #44960
  • #54281 fix(files): hash read dedup cache entries · duplicate → #53816, #53812
  • #82873 fix(tools): bypass read_file dedup in execute_code sandbox · superseded by another PR → #44847
Closed issues · 2
  • Closed#13079Bug: read_file tool's dedup mechanism pollutes file content with cache hint text
  • Closed#15759[Bug]: read_file dedup stub never triggers loop detection — infinite read loop
How this cluster was grouped
  • Link evidence (partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
  • Members outside that structural core may belong to a different underlying problem.
  • Pairwise link density 0.09: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Subsystem
agent
Merged PRs
#16382
Closed issues
2
Attempts
9 PRs closed without merging
Fix link checked
27 Apr 2026

For your agent

The same facts, typed.