fix: surface OTel and sentinel visibility gaps

This commit is contained in:
Codex
2026-06-30 06:44:10 +00:00
parent 5e2276a305
commit 9e3747d9ed
6 changed files with 116 additions and 7 deletions
@@ -1986,8 +1986,26 @@ service_path = {
service: ("reached" if service in services else "missing")
for service in expected_services
}
service_path["complete"] = all(service in services for service in expected_services)
missing_services = [service for service in expected_services if service not in services]
service_path["complete"] = len(missing_services) == 0
observability_gap = {
"status": "complete" if len(missing_services) == 0 else "missing-service-spans",
"expectedServices": expected_services,
"seenServices": sorted(services),
"missingServices": missing_services,
"complete": len(missing_services) == 0,
}
if missing_services and ("hwlab-cloud-api" in services or identity.get("runId") not in (None, "") or identity.get("commandId") not in (None, "")):
candidates.insert(0, {
"code": "observability_gap_missing_service_spans",
"label": "observability gap",
"confidence": 0.76,
"summary": "The business trace is correlated to Code Agent context but is missing expected service spans; do not interpret the missing manager/runner spans as proof that those services were not involved.",
"evidence": observability_gap,
})
facts = []
if missing_services:
facts.append("observability gap: missing service spans " + ",".join(missing_services))
if http_summary.get("actorForbidden"):
facts.append("actor forbidden")
terminal_status = agentrun.get("terminalStatus")
@@ -2014,6 +2032,7 @@ summary = {
"actorForbidden": http_summary.get("actorForbidden"),
"terminalStatus": terminal_status,
"failureKind": agentrun.get("failureKind"),
"observabilityGap": observability_gap.get("status"),
},
}
evidence = {
@@ -2041,6 +2060,7 @@ payload = {
"spanCount": len(spans),
"services": services,
"servicePath": service_path,
"observabilityGap": observability_gap,
"businessTraceIds": business_trace_ids[:20],
"identity": identity,
"agentrun": {