Explorar el Código

测试(脚本构建): 固化 explicit 模式无 GoalTree 边界

验证 Phase1 持久化重载后不生成 GoalTree,Trace API 明确返回 goal_tree=null。\n\n同时移除边界测试中遗留的 TaskRecord.goal_id 参数,确保 Host 测试只依赖 TaskLedger 显式编排合同。
SamLee hace 15 horas
padre
commit
6a61fce94d

+ 1 - 0
script_build_host/tests/test_api_security.py

@@ -430,6 +430,7 @@ async def test_phase_two_observation_hides_foreign_resources_and_returns_owned_a
         owned_trace = await client.get("/api/pattern/script_builds/7/traces/worker-7")
         owned_trace = await client.get("/api/pattern/script_builds/7/traces/worker-7")
         assert owned_trace.status_code == 200
         assert owned_trace.status_code == 200
         assert owned_trace.json()["trace"]["trace_id"] == "worker-7"
         assert owned_trace.json()["trace"]["trace_id"] == "worker-7"
+        assert owned_trace.json()["goal_tree"] is None
 
 
         foreign_trace = await client.get("/api/pattern/script_builds/7/traces/worker-8")
         foreign_trace = await client.get("/api/pattern/script_builds/7/traces/worker-8")
         assert foreign_trace.status_code == 404
         assert foreign_trace.status_code == 404

+ 3 - 3
script_build_host/tests/test_phase_one_e2e.py

@@ -596,10 +596,10 @@ async def test_real_runner_phase_one_fail_revise_pass_direction_accept_then_root
         binding.root_trace_id
         binding.root_trace_id
     )
     )
     assert reloaded_ledger.tasks[reloaded_ledger.root_task_id].status == TaskStatus.BLOCKED
     assert reloaded_ledger.tasks[reloaded_ledger.root_task_id].status == TaskStatus.BLOCKED
-    reloaded_trace = await FileSystemTraceStore(str(tmp_path / "trace")).get_trace(
-        binding.root_trace_id
-    )
+    reloaded_traces = FileSystemTraceStore(str(tmp_path / "trace"))
+    reloaded_trace = await reloaded_traces.get_trace(binding.root_trace_id)
     assert reloaded_trace is not None
     assert reloaded_trace is not None
+    assert await reloaded_traces.get_goal_tree(binding.root_trace_id) is None
     submitted = next(
     submitted = next(
         attempt for attempt in reloaded_ledger.attempts.values() if attempt.snapshot_id
         attempt for attempt in reloaded_ledger.attempts.values() if attempt.snapshot_id
     )
     )

+ 0 - 1
script_build_host/tests/test_phase_two_boundary.py

@@ -61,7 +61,6 @@ WRITE = "script-build://writes/full"
 def _task(task_id: str, parent: str | None, kind: str, status: TaskStatus) -> TaskRecord:
 def _task(task_id: str, parent: str | None, kind: str, status: TaskStatus) -> TaskRecord:
     return TaskRecord(
     return TaskRecord(
         task_id=task_id,
         task_id=task_id,
-        goal_id=None,
         parent_task_id=parent,
         parent_task_id=parent,
         display_path=task_id,
         display_path=task_id,
         specs=[
         specs=[