Page
docs/spec/instrument/hooks.md
What is wrong or missing
The exit_status field in steps/toolCallResult can be misread as the underlying process exit code, particularly when normalizing tool results from hosts such as OpenCode.
In ACS v0.1.0, exit_status is a four-value classification: success, failure, timeout, or blocked. It is not intended to represent a numeric process exit code. A tool that does not expose a numeric exit code can still populate the field based on whether the operation succeeded or failed.
The hooks documentation should explicitly state that exit_status is a classification rather than a process exit code, and provide normalization examples from OpenCode showing how host-specific result shapes map to the ACS classification. Where available, a numeric process exit code can remain additional detail in outputs.
Current Priority Scope
Feeds the AGT interoperability benchmark
Page
docs/spec/instrument/hooks.md
What is wrong or missing
The exit_status field in steps/toolCallResult can be misread as the underlying process exit code, particularly when normalizing tool results from hosts such as OpenCode.
In ACS v0.1.0, exit_status is a four-value classification: success, failure, timeout, or blocked. It is not intended to represent a numeric process exit code. A tool that does not expose a numeric exit code can still populate the field based on whether the operation succeeded or failed.
The hooks documentation should explicitly state that exit_status is a classification rather than a process exit code, and provide normalization examples from OpenCode showing how host-specific result shapes map to the ACS classification. Where available, a numeric process exit code can remain additional detail in outputs.
Current Priority Scope
Feeds the AGT interoperability benchmark