Replies: 1 comment 1 reply
|
The echo risk exists only if history stores content. If the history layer stores a pointer to the tool result (the tool call id, the file path and range, a hash of the output) and re-materialises the content on demand, then retrieving the same result across three context windows produces three references to one object, not three copies. A pointer cannot duplicate itself into an echo. A copy always can. The same rule that keeps this clean also keeps it honest. Memory and notes point at the source of truth instead of mirroring it, so when the underlying file changes, the pointer resolves to the new state instead of quietly serving a stale copy. Every write to the notes layer is one of four operations (add, update, delete, no-op), never a blind append, which is the other place echo entries come from. Where a checkpoint genuinely needs content, because the source is ephemeral, store it once with a stable id and have later windows reference the id. A periodic consolidation pass then merges duplicates and prunes. I maintain a reference architecture that documents this exact pattern: https://github.com/jimy-r/agent-workspace-architecture/blob/main/PATTERNS.md#5-memory-points-it-doesnt-mirror |
Uh oh!
There was an error while loading. Please reload this page.
I've been looking at the new token-budget /
history/notes/new_contextapproach and wanted to make one possible long-horizon failure mode explicit for discussion.Summary
My current mental model is:
notespreserves a small model-authored working checkpoint.historypreserves old window items and lets later windows retrieve exact items.history.search_contentsindexes those retrieval results as ordinary history, search can potentially find the original plus its echoes.transcript.jsonl(events),notes.md(checkpoint), and immutable files/artifacts (bulk content).Concrete example: retrieval echo across windows
Suppose W1 contains a valuable, very large tool output:
Before rollover, notes preserve:
W2 starts with a fresh active context and later needs the exact analysis:
This is desirable: W2 pays the 50K-token cost only when the information is actually needed.
Now W3 later needs it again:
Active-context behavior still looks excellent: W3 did not automatically inherit either earlier copy.
The question is what durable history now looks like conceptually:
If all three are independently searchable history items, a later query can potentially discover several manifestations of the same underlying evidence.
At sufficiently long horizons this can become a kind of "memory echo":
Even if byte storage is deduplicated internally, the logical/indexing identity still matters.
Why stable window/item IDs seem important
The existing ID model may already provide an elegant partial answer.
If W1:item-48 is the canonical source, notes can preserve that exact reference across every rollover:
Then W2, W3, W8, etc. always dereference the original:
rather than notes gradually changing to:
That prevents a provenance chain from turning into a copy-of-a-copy chain at the model level.
This makes me wonder whether history search/read internally preserves an equivalent canonical-source relationship as well.
Event history vs artifact identity
A filesystem implementation of the same general context-management idea makes one distinction especially visible:
These have different semantics:
Event history
Notes/checkpoint
Artifacts
A 50K-token compiler trace, repository survey, browser dump, subagent report, or generated analysis arguably behaves more like an artifact than like conversational prose.
One possible conceptual representation would therefore be:
There is one artifact identity and many events referring to it.
This could be content-addressed, file-backed, database-backed, or implemented some completely different way. I'm not advocating a particular storage design here—the useful distinction to me is simply event identity vs content/artifact identity.
Questions I'm mainly curious about
Are outputs from
history.read_item/history.search_contentsthemselves subsequently indexed as ordinary searchable history?If the same original item is retrieved in multiple later windows, does the backend preserve a canonical source identity or treat each returned payload as an independent history item?
Does search deduplicate or down-rank such retrieval echoes?
Does a retrieved item retain provenance like:
rather than only appearing as a new W2 tool result?
Is
historyconceptually intended to serve both as the event log and as storage for arbitrarily large tool-result artifacts, or is there another artifact/content layer involved internally?If none of this is currently special-cased, is repeated retrieval expected to remain uncommon enough that the simpler model wins?
I'm mostly interested in clarifying the conceptual model rather than asking for a particular feature.
Related work / why I think this is slightly different
Some nearby Codex discussions/issues already explore pieces of this space:
The distinction I'm trying to surface is specifically:
That feels like a secondary-order property of the new architecture rather than a request for another memory mechanism.
All reactions