search-with-proof: startup environment and data files, dead-end dedupe, task_spend continues

Demos may set a bounded environment (loader variables denied) and up to 8 small
data files under .demo/; the reason step sees conclusions and may not re-propose
them; a task spend limit concludes its intent, not the search; finish wins over
stray tool calls.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
Marius Ciepluch
2026-10-06 00:24:26 +02:00
co-authored by Claude Fable 5.1
parent 67eb629c16
commit ceeaa66717
12 changed files with 498 additions and 48 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ def validate_result(data: bytes, output: Path) -> None:
raise ValueError("invalid probe result")
if record["status"] == "ok" and (
set(record.get("oracles", {})) != {"sql", "path", "command", "ssrf", "xss"}
or record.get("isolation_check", {}).get("status") != "ok"
or record.get("isolation_check", {}).get("status") not in ("ok", "skipped")
):
raise ValueError("incomplete probe")
(output / "result.json").write_text(json.dumps(record))