feat(agent): expose harbor receipt output contract
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 41s
CD Pipeline / build-and-deploy (push) Failing after 2m35s
CD Pipeline / post-deploy-checks (push) Has been skipped
AWOOOI Harbor 110 Local Repair / workflow-shape (push) Successful in 0s
AWOOOI Harbor 110 Local Repair / harbor-110-local-repair (push) Has been cancelled

This commit is contained in:
Your Name
2026-07-01 08:13:39 +08:00
parent f3a29b4818
commit 693a31343b
5 changed files with 189 additions and 2 deletions

View File

@@ -74,6 +74,12 @@ def _assert_executor_readback(payload: dict, *, public_endpoint: bool = False):
payload["rollups"]["current_blocker_harbor_recovery_receipt_input_count"]
== 9
)
assert (
payload["rollups"][
"current_blocker_harbor_recovery_receipt_output_contract_count"
]
== 6
)
assert payload["rollups"]["runtime_dispatch_performed"] is False
batches = {batch["target"]: batch for batch in payload["execution_batches"]}
@@ -151,6 +157,32 @@ def _assert_executor_readback(payload: dict, *, public_endpoint: bool = False):
assert current_queue[0]["harbor_recovery_receipt_inputs"][-1][
"expected_schema"
] == "awoooi_production_deploy_readback_blocker_v1"
assert current_queue[0]["harbor_recovery_receipt_output_contract_count"] == 6
assert [
item["output_id"]
for item in current_queue[0]["harbor_recovery_receipt_output_contract"]
] == [
"control_path_readiness",
"controlled_cd_lane_readiness",
"gitea_actions_queue",
"local_console_phase_readback",
"post_apply_verifier",
"deploy_marker",
]
assert all(
item["metadata_only"] is True
and item["raw_output_allowed"] is False
and item["secret_value_allowed"] is False
and item["writeback_targets"] == [
"km",
"rag",
"playbook",
"mcp",
"verifier",
"ai_agent",
]
for item in current_queue[0]["harbor_recovery_receipt_output_contract"]
)
assert current_queue[0]["queue_readback_normalizer_contract_count"] == 3
assert [
item["field_id"]

View File

@@ -344,6 +344,23 @@ def test_awoooi_priority_work_order_readback_overlays_ai_loop_current_blocker_qu
assert evidence["ai_loop_current_blocker_harbor_recovery_receipt_inputs"][-1][
"expected_schema"
] == "awoooi_production_deploy_readback_blocker_v1"
assert (
evidence[
"ai_loop_current_blocker_harbor_recovery_receipt_output_contract_count"
]
== 6
)
assert evidence["ai_loop_current_blocker_harbor_recovery_receipt_output_ids"] == [
"control_path_readiness",
"controlled_cd_lane_readiness",
"gitea_actions_queue",
"local_console_phase_readback",
"post_apply_verifier",
"deploy_marker",
]
assert evidence["ai_loop_current_blocker_harbor_recovery_receipt_output_contract"][
0
]["writeback_targets"] == ["km", "rag", "playbook", "mcp", "verifier", "ai_agent"]
assert evidence["ai_loop_current_blocker_queue_readback_normalizer_field_ids"] == [
"cd_run_jobs_payload_classifier",
"harbor_110_repair_jobs_payload_classifier",
@@ -393,6 +410,15 @@ def test_awoooi_priority_work_order_readback_overlays_ai_loop_current_blocker_qu
assert payload["summary"][
"ai_loop_current_blocker_harbor_recovery_receipt_input_ids"
][-1] == "deploy_marker_readback"
assert (
payload["summary"][
"ai_loop_current_blocker_harbor_recovery_receipt_output_contract_count"
]
== 6
)
assert payload["summary"][
"ai_loop_current_blocker_harbor_recovery_receipt_output_ids"
][0] == "control_path_readiness"
assert (
payload["summary"][
"ai_loop_current_blocker_queue_readback_normalizer_contract_count"