Replies: 1 comment
|
Maintainer disclosure: I build Better Agent, a local workspace supervising native Claude, Codex, and Gemini coding-agent sessions. The taxonomy that has stayed operationally useful for us is three-dimensional rather than one flat failure label:
Two distinctions catch many misleading “successes”:
For a stop receipt I would capture run/attempt/provider-session IDs; last durable event and event-log range; requested scope; effective approval/policy versions; side effects observed; expected evidence and validation status; checks run/skipped; failure domain and trigger; retry/resume safety; next required authority; and whether recovery replay converged with the live state. The edge case worth making first-class is accepted_no_event: the provider accepted or a process started, but no durable semantic event arrived. It is not the same as not_started, and blindly retrying can duplicate external work. Another is recovered_outcome_uncertain: after restart, logs prove some actions occurred but cannot prove the terminal outcome. That should remain blocked/uncertain rather than being projected as failed or completed. License note: Better Agent is source-available and free for non-commercial use; commercial use requires separate permission. |
Uh oh!
There was an error while loading. Please reload this page.
Most agent runs do not fail in one generic way. The useful split we keep seeing is more like:
If you are building or operating coding agents, what buckets actually matter in practice?
I am trying to make MartinLoop more useful as an open-source control layer here, so I care more about the taxonomy being operationally honest than theoretically neat. If you have a better split, edge case, or field you would want captured in the stop receipt, I would really like to see it.
All reactions