--- runner/core.py.before +++ runner/core.py.after @@ -653,7 +653,7 @@ body["validation_sources"] = {p: git(self.repo,"show",f"{revision}:{p}") for p in names if not secret_path(p) and any(p == x or p.startswith(x.rstrip("/") + "/") for x in test_paths)} body["tests"] = [read_json(r[0]) for r in self.db.execute("SELECT artifact FROM evidence WHERE task_id=? AND kind='validation' AND commit_sha=? AND passed=1",(task_id,revision))] - require(len(json.dumps(body).encode()) < 500_000, "packetが大き過ぎます。タスクを小さく分割してください") + # Review completeness is not bounded by an arbitrary serialized byte cap. prompt = (CONTROL/"prompts"/(role+".txt")).read_text() + "\nDATA:\n" + json.dumps(body,ensure_ascii=False) return prompt @@ -669,8 +669,8 @@ "-c","approval_policy=\"never\"","-c",f"sqlite_home={json.dumps(str(runtime/'sqlite'))}", "-c",f"log_dir={json.dumps(str(runtime/'logs'))}","--output-schema",str(schema_file),"--output-last-message",str(runtime/"answer.json"),"-"] elif service == "claude": - # No tools for commander and reviewer; all required data is in the packet. - args=[cli,"-p","--safe-mode","--restricted","--output-format","json","--tools","","--strict-mcp-config","--mcp-config",'{"mcpServers":{}}', + # Existing read-only worktree/runtime access: inspect source as needed. + args=[cli,"-p","--safe-mode","--restricted","--output-format","json","--tools","Read,Grep,Glob","--strict-mcp-config","--mcp-config",'{"mcpServers":{}}', "--setting-sources","","--no-session-persistence","--permission-mode","plan","--json-schema",json.dumps(schema)] budget=self.config["policy"].get("claude_max_budget_usd") if budget is not None: args += ["--max-budget-usd",str(budget)]