Shared memory and context tools for agentic work.
Code Rooms
{
"recorded_at": "2026-03-25T00:10:17.743532+00:00",
"scenario_id": "warm_search_empty_query_reroute",
"scenario_name": "Warm reroute from empty search query into glob-based file discovery",
"scenario_tags": [
"warm-graph",
"recovery",
"search",
"glob",
"wrong-tool-reroute"
],
"mode": "m1nd_warm",
"execution_origin": "replay",
"source_ref": "docs/benchmarks/events/warm-search-empty-query-reroute.json",
"cold_graph_time_ms": null,
"warm_graph_time_ms": null,
"time_to_first_good_answer_ms": 1.5,
"time_to_full_proof_ms": 2.0,
"answer_quality": "high",
"plan_changed": false,
"false_start_count": 0,
"tests_identified_before_edit": 0,
"public_claim_worthy": true,
"workflow_notes": "search rejects the empty content query, teaches glob as the right reroute, and lands directly in the handler without a shell file sweep",
"notes": "",
"events": [
"tool_name": "m1nd.search",
"query": "",
"elapsed_ms": 0.7,
"payload_chars": 300,
"hint": "query cannot be empty; add exact text/regex to search content; for file/path discovery use m1nd.glob instead; for natural-language intent use m1nd.seek",
"suggested_next_step": "Retry with m1nd.glob using a shell-style pattern like 'm1nd-mcp/src/**/*search*.rs'.",
"usage_hint": "Use search for content, glob for file/path discovery, and seek when you know the job but not the symbol name.",
"next_suggested_tool": "glob",
"next_suggested_target": "m1nd-mcp/src/**/*search*.rs",
"next_tool_used": "glob",
"recovery_followed": true,
"notes": "The error teaches that the tool choice is wrong, not just the input shape.",
"event_index": 1,
"opened_files": [],
"surfaced_files": []
},
"tool_name": "m1nd.glob",
"target": "m1nd-mcp/src/**/*search*.rs",
"elapsed_ms": 0.8,
"payload_chars": 360,
"surfaced_files": [
"m1nd-mcp/src/search_handlers.rs"
"opened_files": [
"next_suggested_tool": "view",
"next_suggested_target": "m1nd-mcp/src/search_handlers.rs",
"next_step_hint": "Open the matched handler file next to inspect the recovery path and validation logic.",
"next_tool_used": "view",
"event_index": 2
"tool_name": "m1nd.view",
"target": "m1nd-mcp/src/search_handlers.rs",
"elapsed_ms": 0.5,
"payload_chars": 540,
"event_index": 3,
}
"files_opened": 1,
"repeat_reads": 2,
"search_iterations": 2,
"chars_surfaced": 1200,
"token_proxy": 300,
"guidance_events": 2,
"guidance_followed": 2,
"guidance_followthrough_rate": 1.0,
"reactivated_nodes": 0,
"resume_hints": 0,
"proof_states": [],
"final_proof_state": null,
"proof_state_counts": {},
"progress_events": 0,
"max_progress_pct": 0.0,
"active_phases": [],
"next_phases": [],
"progress_event_types": [],
"progress_delivery_modes": [],
"live_progress_events": 0,
"replay_progress_events": 0,
"snapshot_progress_events": 0,
"progress_guidance_events": 0,
"progress_guidance_followed": 0,
"progress_guidance_followthrough_rate": null,
"recovery_events": 1,
"recovery_followed": 1,
"recovery_followthrough_rate": 1.0,
"repo_path": ".",
"question": "Recover from calling search with an empty query when the real task is to find matching Rust files under a scope, then reroute into glob instead of starting a fresh shell file-discovery sweep.",
"expected_strength": "strong"