Problem
workflow_outcome for run is binary: one rejected AC (or a final revalidation failure) makes the whole run failed, so the fleet cannot distinguish a run that delivered 3 of 4 criteria from one that delivered none. On the maintainer's local event store (60d, 153 failed sessions): 33 runs had at least one AC accepted, 16 had every AC accepted and still failed (final workspace_mutated revalidation, fixed in 0.54.0), 97 were 0/N wipeouts clustered on three incident days. None of that is visible in PostHog.
Fix direction
Derive ac_passed / ac_total (root-level, from durable execution.ac.attempt_judged events; counts only) and carry them on every terminal run outcome — MCP job path, post-restart recovery, and CLI ooo run — with the telemetry boundary forwarding only a consistent non-negative int pair.
Problem
workflow_outcomeforrunis binary: one rejected AC (or a final revalidation failure) makes the whole runfailed, so the fleet cannot distinguish a run that delivered 3 of 4 criteria from one that delivered none. On the maintainer's local event store (60d, 153 failed sessions): 33 runs had at least one AC accepted, 16 had every AC accepted and still failed (finalworkspace_mutatedrevalidation, fixed in 0.54.0), 97 were 0/N wipeouts clustered on three incident days. None of that is visible in PostHog.Fix direction
Derive
ac_passed/ac_total(root-level, from durableexecution.ac.attempt_judgedevents; counts only) and carry them on every terminalrunoutcome — MCP job path, post-restart recovery, and CLIooo run— with the telemetry boundary forwarding only a consistent non-negative int pair.