feat(platform): surface canonical run correlation

This commit is contained in:
Your Name
2026-07-22 18:05:38 +08:00
parent 7b3b7786c7
commit 873c7aa388
6 changed files with 156 additions and 34 deletions

View File

@@ -56,6 +56,7 @@ from src.services.platform_operator_service import (
_remediation_timeline_summary,
_repair_candidate_projection_from_metadata,
_run_callback_reply_summary,
_run_detail_payload,
_run_list_item,
_run_remediation_list_summary,
_score_source_correlation_event,
@@ -618,6 +619,46 @@ def test_run_list_item_preserves_noncanonical_trace_truth(
assert item["correlation_status"] == "legacy_or_invalid_trace"
@pytest.mark.parametrize("trace_id", [canonical_traceparent(UUID("019f88d5-f6c9-7a18-b764-df0df0cbe222")), "legacy-trace", None])
def test_run_list_and_detail_share_correlation_readback(
trace_id: str | None,
) -> None:
run_id = UUID("019f88d5-f6c9-7a18-b764-df0df0cbe222")
run = SimpleNamespace(
run_id=run_id,
project_id="awoooi",
agent_id="legacy-signal-worker",
state="completed",
is_shadow=True,
trace_id=trace_id,
trigger_type="channel_event",
trigger_ref="event-1",
cost_usd=Decimal("0.0000"),
step_count=4,
attempt_count=1,
max_attempts=3,
error_code=None,
error_detail=None,
created_at=datetime(2026, 7, 22, 8, 0, 0),
started_at=datetime(2026, 7, 22, 8, 0, 1),
completed_at=datetime(2026, 7, 22, 8, 0, 2),
timeout_at=None,
heartbeat_at=datetime(2026, 7, 22, 8, 0, 2),
)
list_item = _run_list_item(
run,
remediation_summary=None,
callback_reply_summary=None,
)
detail = _run_detail_payload(run)
keys = ("trace_id", "work_item_id", "correlation_status")
assert {key: list_item[key] for key in keys} == {
key: detail[key] for key in keys
}
def test_callback_reply_event_item_surfaces_run_link_and_human_flag() -> None:
run_id = UUID("5c0306e0-591a-5445-9a33-80f499426b38")
message_id = UUID("56cdb6ad-46a4-48f5-9d3b-b1ac9c0b2e92")