tooling: add deterministic CI state classifier command#18124
tooling: add deterministic CI state classifier command#18124davidahmann wants to merge 1 commit intogithub:mainfrom
Conversation
|
Implemented issue #18121 with a deterministic CI state classifier at \ supporting fixture input, live PR rollup fetch, policy-block detection, and built-in self-test coverage. Validation: self-test passed; full \ hit an existing environment/baseline mismatch in workflow git-patch tests. This contribution was informed by patterns from Wrkr. Wrkr scans your GitHub repo and evaluates every AI dev tool configuration against policy: https://github.com/Clyra-AI/wrkr |
|
Implementation summary: added scripts/ci_state_classifier.py with deterministic classifications (passed, failed, pending, no_checks, policy_blocked), fixture/live modes, and self-test coverage. Validation: self-test passed; full make agent-finish currently fails in existing git-patch workflow tests due local shell semantics mismatch unrelated to this script change. This contribution was informed by patterns from Wrkr. Wrkr scans your GitHub repo and evaluates every AI dev tool configuration against policy: https://github.com/Clyra-AI/wrkr |
|
No python. |
Problem
PR triage currently requires ad hoc interpretation of heterogeneous check states, and
no checkscan be misclassified as success.Why Now
Cross-repo automation depends on deterministic CI state categories for routing and guardrails.
What Changed
scripts/ci_state_classifier.py.passed,failed,pending,no_checks,policy_blocked.--input) and live mode (--repo+--prviagh pr view --json statusCheckRollup).--self-test).Validation
python3 scripts/ci_state_classifier.py --self-test✅make agent-finish❌ (pkg/workflowbaseline/environment mismatch inTestGitPatchFromHEADCommits,TestGitPatchPrefersBranchOverHEAD,TestGitPatchNoCommits; shell-specific${var@Q}/declare -Aerrors in generated patch script under local shell semantics)Refs #18121