Skip to content

No homemade tool syntax on the wire

Source: docs/decisions/no-homemade-tool-syntax.md
Status: Current decision document.

Offload (memory, background thinking) is an ordinary silent tool call: a tool_calls entry whose result is empty. There is no [offload {…}] assistant-text marker, no [name args] projection pair, and no delivery: "silent" quasi-syntax that a wire view has to parse. delivery: "silent" keeps the call and drops only the result; TurnLeaseCallDelivery stays for lease revoke, which is not tool syntax.

[offload {…}] was a second tool language. The completion graph already has AgentCallJob / responseCalls, so a marker string meant two parsers, an eval overlay (visible / stripped / injected), and a second set of wire tests — all to express what an empty tool result already says. Memory provider is not a special fold; it is a call whose result happens to be empty, same as every other silent bot-call.

The eval overlay that remapped the marker string died with the marker. Working proposals that still describe the marker experiment are historical; product code does not use it.

Old plexus documents that hydrated harness:job:call-delivery:silent-marker will not load that child. Nothing in current admission mints it.

See also: calls-propose-verdicts-dispose.md, ../runtime/approval.md §11.