search-with-proof: family-to-oracle mapping, build memory, tolerant tool calls

Demos declare their oracle within the family allowed set (injection: sql or
command; output_encoding: xss; untrusted_destination: ssrf; path: path);
builds and app starts use the search memory budget instead of the 256 MB tool
limit (npm died with SIGTRAP); malformed tool-call JSON is fed back once.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
Marius Ciepluch
2026-10-05 21:07:58 +02:00
co-authored by Claude Fable 5.1
parent c190d34f60
commit bf243e6680
16 changed files with 334 additions and 56 deletions
+1 -1
View File
@@ -65,7 +65,7 @@ def test_snapshot_caps_fact_text_and_preserves_context(tmp_path):
],
)
view = yaml.safe_load(board.snapshot(budget_left={"tasks": 3}))
assert view["candidate"]["file"] == "app.py" and view["family"] == "sql"
assert view["candidate"]["file"] == "app.py" and view["family"] == "injection"
assert view["budget_left"]["tasks"] == 3
assert {i["status"] for i in view["intents"]} == {"open", "concluded"}
assert all(len(f["text"]) <= 2000 for f in view["facts"])