fix(api): align log writeback sample counts
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 34s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled

This commit is contained in:
Your Name
2026-06-30 22:14:14 +08:00
parent 9351abfeea
commit ec48bad253
3 changed files with 54 additions and 29 deletions

View File

@@ -48,16 +48,19 @@ class _FakeContext:
def test_log_controlled_writeback_dispatch_builder_creates_metadata_receipts():
payload = build_ai_agent_log_controlled_writeback_dispatch_receipt()
expected_runtime_sample_count = 3
expected_target_count = 6
expected_selector_count = expected_runtime_sample_count * expected_target_count
assert payload["schema_version"] == "ai_agent_log_controlled_writeback_dispatch_receipt_v1"
assert payload["status"] == "controlled_writeback_dispatch_ready"
assert payload["active_blockers"] == []
assert payload["readback"]["operation_type"] == "log_controlled_writeback_dispatched"
assert payload["rollups"]["dispatch_batch_count"] == 6
assert payload["rollups"]["ready_dispatch_batch_count"] == 6
assert payload["rollups"]["target_selector_count"] == 12
assert payload["rollups"]["source_of_truth_diff_count"] == 12
assert payload["rollups"]["post_apply_verifier_ref_count"] == 12
assert payload["rollups"]["dispatch_batch_count"] == expected_target_count
assert payload["rollups"]["ready_dispatch_batch_count"] == expected_target_count
assert payload["rollups"]["target_selector_count"] == expected_selector_count
assert payload["rollups"]["source_of_truth_diff_count"] == expected_selector_count
assert payload["rollups"]["post_apply_verifier_ref_count"] == expected_selector_count
assert payload["rollups"]["runtime_dispatch_performed"] is False
targets = {batch["target"] for batch in payload["dispatch_batches"]}

View File

@@ -27,6 +27,10 @@ def test_log_controlled_writeback_executor_endpoint_returns_readback():
def _assert_executor_readback(payload: dict):
expected_runtime_sample_count = 3
expected_target_count = 6
expected_writeback_plan_count = expected_runtime_sample_count * expected_target_count
assert payload["schema_version"] == "ai_agent_log_controlled_writeback_executor_readback_v1"
assert payload["priority"] == "P1-LOG-KM-RAG-MCP-PLAYBOOK"
assert payload["status"] == "controlled_writeback_executor_ready"
@@ -47,15 +51,15 @@ def _assert_executor_readback(payload: dict):
assert policy["rollback_required"] is True
assert policy["post_apply_verifier_required"] is True
assert payload["rollups"]["source_writeback_plan_count"] == 12
assert payload["rollups"]["execution_batch_count"] == 6
assert payload["rollups"]["ready_execution_batch_count"] == 6
assert payload["rollups"]["target_count"] == 6
assert payload["rollups"]["target_selector_count"] == 12
assert payload["rollups"]["source_of_truth_diff_count"] == 12
assert payload["rollups"]["check_mode_ready_count"] == 6
assert payload["rollups"]["rollback_ready_count"] == 6
assert payload["rollups"]["post_apply_verifier_ready_count"] == 6
assert payload["rollups"]["source_writeback_plan_count"] == expected_writeback_plan_count
assert payload["rollups"]["execution_batch_count"] == expected_target_count
assert payload["rollups"]["ready_execution_batch_count"] == expected_target_count
assert payload["rollups"]["target_count"] == expected_target_count
assert payload["rollups"]["target_selector_count"] == expected_writeback_plan_count
assert payload["rollups"]["source_of_truth_diff_count"] == expected_writeback_plan_count
assert payload["rollups"]["check_mode_ready_count"] == expected_target_count
assert payload["rollups"]["rollback_ready_count"] == expected_target_count
assert payload["rollups"]["post_apply_verifier_ready_count"] == expected_target_count
assert payload["rollups"]["controlled_executor_dispatch_ready"] is True
assert payload["rollups"]["controlled_apply_enabled_by_policy"] is True
assert payload["rollups"]["runtime_dispatch_performed"] is False
@@ -68,17 +72,20 @@ def _assert_executor_readback(payload: dict):
assert batch["status"] == "ready_for_controlled_executor_dispatch"
assert batch["apply_mode"] == "controlled_apply"
assert batch["dispatch_enabled_by_policy"] is True
assert batch["plan_count"] == 2
assert len(batch["plan_ids"]) == 2
assert len(batch["receipt_ids"]) == 2
assert batch["target_selector_count"] == 2
assert batch["source_of_truth_diff_count"] == 2
assert batch["plan_count"] == expected_runtime_sample_count
assert len(batch["plan_ids"]) == expected_runtime_sample_count
assert len(batch["receipt_ids"]) == expected_runtime_sample_count
assert batch["target_selector_count"] == expected_runtime_sample_count
assert batch["source_of_truth_diff_count"] == expected_runtime_sample_count
assert batch["check_mode"]["enabled"] is True
assert batch["check_mode"]["required"] is True
assert batch["rollback"]["required"] is True
assert len(batch["rollback"]["rollback_refs"]) == 2
assert len(batch["rollback"]["rollback_refs"]) == expected_runtime_sample_count
assert batch["post_apply_verifier"]["required"] is True
assert len(batch["post_apply_verifier"]["verifier_refs"]) == 2
assert (
len(batch["post_apply_verifier"]["verifier_refs"])
== expected_runtime_sample_count
)
assert batch["runtime_dispatch_performed"] is False
context = payload["agent_consumption_context"]

View File

@@ -27,6 +27,12 @@ def test_log_post_write_verifier_dry_run_endpoint_returns_readback():
def _assert_post_write_verifier_payload(payload: dict):
expected_runtime_sample_count = 3
expected_target_count = 6
expected_candidate_receipt_count = (
expected_runtime_sample_count * expected_target_count
)
assert payload["schema_version"] == "ai_agent_log_post_write_verifier_dry_run_v1"
assert payload["priority"] == "P1-LOG-KM-RAG-MCP-PLAYBOOK"
assert payload["status"] == "post_write_verifier_dry_run_ready"
@@ -38,13 +44,22 @@ def _assert_post_write_verifier_payload(payload: dict):
assert payload["rollups"]["verifier_node_count"] == 6
assert payload["rollups"]["passed_verifier_node_count"] == 6
assert payload["rollups"]["target_count"] == 6
assert payload["rollups"]["verified_target_count"] == 6
assert payload["rollups"]["candidate_receipt_count"] == 12
assert payload["rollups"]["verified_candidate_receipt_count"] == 12
assert payload["rollups"]["target_count"] == expected_target_count
assert payload["rollups"]["verified_target_count"] == expected_target_count
assert (
payload["rollups"]["candidate_receipt_count"]
== expected_candidate_receipt_count
)
assert (
payload["rollups"]["verified_candidate_receipt_count"]
== expected_candidate_receipt_count
)
assert payload["rollups"]["source_pipeline_node_count"] == 9
assert payload["rollups"]["source_candidate_receipt_count"] == 12
assert payload["rollups"]["runtime_sample_count"] == 2
assert (
payload["rollups"]["source_candidate_receipt_count"]
== expected_candidate_receipt_count
)
assert payload["rollups"]["runtime_sample_count"] == expected_runtime_sample_count
assert payload["rollups"]["dry_run_ready"] is True
assert payload["rollups"]["controlled_writeback_next_step_ready"] is True
assert payload["rollups"]["writeback_authorized_by_this_endpoint"] is False
@@ -72,8 +87,8 @@ def _assert_post_write_verifier_payload(payload: dict):
assert set(verifications) == {"km", "rag", "playbook", "mcp", "verifier", "ai_agent"}
for verification in verifications.values():
assert verification["status"] == "target_receipts_verified"
assert verification["candidate_count"] == 2
assert verification["verified_candidate_count"] == 2
assert verification["candidate_count"] == expected_runtime_sample_count
assert verification["verified_candidate_count"] == expected_runtime_sample_count
assert verification["invalid_candidate_count"] == 0
assert verification["invalid_receipts"] == []
assert verification["write_enabled"] is False