Skip to content

tape.search should return references instead of copying full tape entries #284

Description

@PsiACE

Problem

tape.search can return full matching entries, including previous tool results. The search output is then recorded in the tape and may be matched by later searches, copying the same content back into the conversation. Large or repeated searches can therefore exceed the model context window before compaction can run.

General tool-result spilling, as proposed in #249 and implemented by #278, bounds newly recorded results. However, search results already refer to content stored in the tape, so copying that content into another spill record adds duplication and leaves recursive search behavior difficult to control.

Expected behavior

tape.search should return bounded snippets and references to the original tape entries instead of full records. A separate tape.read tool should retrieve referenced content in bounded chunks.

Search-derived results should be excluded from normal search results by default so repeated searches do not recursively match earlier search output. The compact search result should remain in the tape to preserve the tool call and result history.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions