fix(agent): preserve runtime receipts and publish code audit
This commit is contained in:
@@ -917,10 +917,10 @@ def test_ai_automation_program_ledger_is_authoritative_and_runtime_strict():
|
||||
assert program_summary["next_work_item_id"] == "AIA-P0-001"
|
||||
assert program_summary["mainline_p0_order"][:5] == [
|
||||
"AIA-P0-001",
|
||||
"AIA-P0-006",
|
||||
"AIA-P0-008",
|
||||
"AIA-P0-009",
|
||||
"AIA-P0-010",
|
||||
"AIA-P0-011",
|
||||
"AIA-P0-002",
|
||||
"AIA-P0-003",
|
||||
"AIA-P0-004",
|
||||
]
|
||||
assert program_summary["parallel_governance_p0_ids"] == ["AIA-P0-000"]
|
||||
assert program_summary["completion_percent"] == 0
|
||||
@@ -939,14 +939,17 @@ def test_ai_automation_program_ledger_is_authoritative_and_runtime_strict():
|
||||
|
||||
assert work_item_by_id["AIA-P0-000"]["status"] == "in_progress"
|
||||
assert work_item_by_id["AIA-P0-000"]["mainline_blocking"] is False
|
||||
runtime_critical_ids = {f"AIA-P0-{index:03d}" for index in range(1, 11)}
|
||||
runtime_critical_ids = {f"AIA-P0-{index:03d}" for index in range(1, 12)}
|
||||
assert runtime_critical_ids.issubset(work_item_by_id)
|
||||
assert all(
|
||||
work_item_by_id[item_id]["status"] != "done"
|
||||
for item_id in runtime_critical_ids
|
||||
)
|
||||
assert work_item_by_id["AIA-P0-006"]["order"] == 2
|
||||
assert work_item_by_id["AIA-P0-008"]["order"] == 3
|
||||
assert work_item_by_id["AIA-P0-011"]["order"] == 2
|
||||
assert work_item_by_id["AIA-P0-011"]["status"] == "pending"
|
||||
assert work_item_by_id["AIA-P0-002"]["order"] == 3
|
||||
assert work_item_by_id["AIA-P0-006"]["order"] == 7
|
||||
assert work_item_by_id["AIA-P0-008"]["order"] == 8
|
||||
assert work_item_by_id["AIA-P0-008"]["status"] == "in_progress"
|
||||
assert work_item_by_id["AIA-P0-009"][
|
||||
"observed_awoooi_external_action_reference_count"
|
||||
@@ -959,6 +962,12 @@ def test_ai_automation_program_ledger_is_authoritative_and_runtime_strict():
|
||||
)
|
||||
assert program["professional_review"]["finding_count"] == 9
|
||||
assert program["professional_review"]["critical_finding_count"] == 3
|
||||
assert program["codebase_review"]["scope"]["reviewed_file_count"] == 977
|
||||
assert program["codebase_review"]["risk_metrics"][
|
||||
"broad_exception_handler_count"
|
||||
] == 715
|
||||
assert program_summary["codebase_review_finding_count"] == 6
|
||||
assert program_summary["codebase_review_critical_finding_count"] == 2
|
||||
assert work_item_by_id["AIA-P1-002"]["status"] == "in_progress"
|
||||
assert "CPU" in work_item_by_id["AIA-P1-002"]["title"]
|
||||
assert work_item_by_id["AIA-P1-004"]["schedule"] == {
|
||||
@@ -970,6 +979,8 @@ def test_ai_automation_program_ledger_is_authoritative_and_runtime_strict():
|
||||
assert "UI/UX" in work_item_by_id["AIA-P1-006"]["title"]
|
||||
assert work_item_by_id["AIA-P1-007"]["status"] == "pending"
|
||||
assert "MCP" in work_item_by_id["AIA-P1-007"]["title"]
|
||||
assert work_item_by_id["AIA-P1-008"]["status"] == "pending"
|
||||
assert "靜默失敗" in work_item_by_id["AIA-P1-008"]["title"]
|
||||
|
||||
legacy_items = payload["commander_inserted_requirement_work_items"]
|
||||
assert len(legacy_items) == program_summary["legacy_requirement_count"]
|
||||
@@ -1851,8 +1862,8 @@ def test_ai_automation_live_closure_readbacks_close_node_receipts():
|
||||
] is True
|
||||
program = payload["ai_automation_program_ledger"]
|
||||
program_items = {item["id"]: item for item in program["work_items"]}
|
||||
assert program["summary"]["next_work_item_id"] == "AIA-P0-006"
|
||||
assert program["summary"]["completion_percent"] == 6
|
||||
assert program["summary"]["next_work_item_id"] == "AIA-P0-011"
|
||||
assert program["summary"]["completion_percent"] == 5
|
||||
assert program_items["AIA-P0-001"]["status"] == "done"
|
||||
assert program_items["AIA-P0-001"]["completion_evidence"] == {
|
||||
"source": "agent-autonomous-runtime-control",
|
||||
|
||||
@@ -1887,6 +1887,10 @@ def test_ansible_runtime_stage_receipts_are_same_run_and_public_safe() -> None:
|
||||
for receipt in [*pre, *post]
|
||||
)
|
||||
assert inspect.iscoroutinefunction(_record_runtime_stage_receipts)
|
||||
receipt_writer_source = inspect.getsource(_record_runtime_stage_receipts)
|
||||
assert "jsonb_array_elements" in receipt_writer_source
|
||||
assert "WITH ORDINALITY" in receipt_writer_source
|
||||
assert "DISTINCT ON" in receipt_writer_source
|
||||
|
||||
|
||||
def test_ansible_context_receipts_reference_pre_decision_evidence_without_content() -> None:
|
||||
|
||||
Reference in New Issue
Block a user