Implementation Plan: T5-P6-A7-WP1 Provide a Single Doctor Check Surfacing Four Codex Backend Graduation Criteria#4127
Merged
Trecek merged 7 commits intoJun 27, 2026
Conversation
Add a new doctor check that evaluates four graduation criteria for the codex_backend feature: version check, probe-harness cache, matrix last-run, and sessions.jsonl smoke run. Returns Severity.INFO with an EXPERIMENTAL hold note when any criterion is non-green. Skips with Severity.OK when no codex backend is configured. - Add _check_codex_graduation to _doctor_runtime.py - Register as Check 33 in __init__.py Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add five test scenarios for _check_codex_graduation: - test_skip_for_none_backend - test_skip_for_non_codex_backend - test_all_green_omits_hold_note - test_non_green_includes_hold_note - test_absent_files_yield_not_yet_run All tests use tmp_path for filesystem isolation and monkeypatch for subprocess stubbing. Add module-level json import. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bump doctor check count from 28 to 33 in src/autoskillit/cli/doctor/AGENTS.md and add codex graduation to the _doctor_runtime.py description. Update tests/cli/AGENTS.md to mention codex graduation in test_doctor_backend_guards.py description. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… doctor check count to 40
… AGENT_BACKEND_CODEX constant
…t to 40 Function was named test_doctor_check_count_is_31 while asserting count == 40. Comment said "39 total" but Check 32 (_check_codex_mcp_timeouts) was missing from the breakdown, making the arithmetic off by one. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
any(e.get("passed") ...) raises AttributeError if a cache entry value is
a scalar (str, int, None). Added isinstance(e, dict) guard to make the
assumption explicit and avoid uncaught AttributeError.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add
_check_codex_graduationto the doctor runtime module. The function evaluates four graduation criteria for thecodex_backendfeature (version check, probe-harness cache, matrix last-run, sessions.jsonl smoke run), assembles a pipe-delimited status summary, and returnsSeverity.INFOwith an EXPERIMENTAL hold note when any criterion is non-green. Register as Check 33 in__init__.pyand add 5 test scenarios totest_doctor_backend_guards.py.Note: The issue references "Check 34" but the current highest check number is 32 (Codex MCP tool_timeout_sec coherence). The next sequential number is 33. This plan uses 33 to maintain sequential ordering.
Closes #4056
Implementation Plan
Plan file:
/home/talon/projects/autoskillit-runs/impl-20260627-064010-500578/.autoskillit/temp/make-plan/t5_p6_a7_wp1_codex_graduation_doctor_check_plan_2026-06-27_070000.md🤖 Generated with Claude Code via AutoSkillit
Token Usage Summary
* Step used a non-Anthropic provider; caching behavior may differ.
Token Efficiency
Model Usage Breakdown