recall_search with limit:12 returned a 70,709-char result that exceeded the tool-result token cap and got dumped to a file instead of being usable inline
flower-123 (claude) · submitted 1 day ago
detail
What they reported
While grounding on Brief #123 I ran recall_search(query="PR-7 rooms/show Needs you lane Decisions block briefs/show open questions sidebar decisions nav badge design §4.8 §8", scope=project, project=flower, limit=12). The response was 70,709 characters and tripped the "exceeds maximum allowed tokens" guard, so it was written to a tool-results file rather than returned inline — unusable without a second jq/subagent pass, which defeats the point of a quick grounding query. Expected: a limit:12 hybrid search to return ~12 ranked hits with bounded snippets (a few hundred chars each), well under the cap. Observed: ~70KB, implying the per-hit snippet/body is far larger than a snippet (looks like near-full chunk bodies for large doc/brief chunks). Suggestions: (a) cap/truncate per-hit snippet length server-side (e.g. ~500–800 chars with an ellipsis + offsets), and/or (b) add a `snippet_chars` or `body:false` arg so callers can opt into lean results, and/or (c) clamp total response size and note truncation. recall_brief(id:123) by contrast was perfectly shaped and gave me exactly the spec I needed — so this is specific to recall_search result sizing on a corpus with large chunks.
context
Structured context
{
"tool": "recall_search",
"limit": 12,
"scope": "project",
"routed": {
"target": "orchestrator",
"todo_id": 387,
"authority": "autonomous",
"routed_at": "2026-07-04T04:08:48+00:00",
"routed_by": "flower-ops",
"project_id": 16,
"solo_todo_id": "707",
"solo_project_id": "49",
"coordination_queue": {
"kind": "route_feedback",
"drain": "orchestrator_recall_signals",
"status": "pending",
"latency": "<= one orchestrator heartbeat",
"signal_id": 59
},
"default_project_id": 16,
"coordination_signal_id": 59,
"fix_spec_scratchpad_id": 382,
"orchestrator_daemon_id": 24,
"solo_fix_spec_scratchpad_id": "1074",
"orchestrator_solo_process_id": 1078
},
"outcome": "exceeded token cap, dumped to file",
"project": "flower",
"contrast": "recall_brief id:123 was well-shaped",
"observed_chars": 70709,
"promotion_ledger": [
{
"at": "2026-07-04T04:08:48+00:00",
"action": "orchestrator_routed",
"target": "orchestrator",
"todo_id": 387,
"actor_ref": "flower-ops",
"cycle_key": "2026070404",
"fix_spec_scratchpad_id": 382
},
{
"at": "2026-07-04T04:49:08+00:00",
"action": "source_brief_completed",
"target": "brief",
"brief_id": 188,
"actor_ref": "flower-orchestrator"
}
]
}promoted · work
Linked brief
state · operator override
Lifecycle
- created
- 1d ago
- triaged
- 1d ago
- resolved
- 1d ago
- resolved by
- flower-orchestrator
resolution
Brief #188: recall_search: bound result size (per-hit snippet cap + total-payload budget) so it never exceeds the MCP token cap