Problem
Operators currently infer check states from heterogeneous GitHub outputs, which leads to false-green triage when no checks is interpreted as success.
Why now
Cross-repo automation is now blocked on a deterministic check-state contract (failed, pending, no checks, policy-blocked).
Current behavior is insufficient
gh pr checks output is human-oriented and inconsistent across repos/workflow setups, so downstream tooling has to guess state.
Expected behavior
Provide a machine-readable classifier command in gh-aw that maps PR check rollups to normalized states.
Acceptance criteria
- Command accepts repo + PR input and emits JSON.
- JSON contains one normalized state plus supporting raw signals.
no checks reported is explicitly classified as no checks configured/not triggered.
- Policy/account gates are classified separately from product failures.
Validation
- Add fixture-based tests for
failed, pending, no checks, and policy-blocked.
- Verify deterministic output shape in CI.
Codepaths
cmd/gh-aw
internal/github
scripts