fix: surface OTel and sentinel visibility gaps
This commit is contained in:
@@ -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": {
|
||||
|
||||
Reference in New Issue
Block a user