Skip to content

Implementation Plan: T5-P6-A7-WP1 Provide a Single Doctor Check Surfacing Four Codex Backend Graduation Criteria#4127

Merged
Trecek merged 7 commits into
developfrom
t5-p6-a7-wp1-provide-a-single-doctor-check-surfacing-four-co/4056
Jun 27, 2026
Merged

Implementation Plan: T5-P6-A7-WP1 Provide a Single Doctor Check Surfacing Four Codex Backend Graduation Criteria#4127
Trecek merged 7 commits into
developfrom
t5-p6-a7-wp1-provide-a-single-doctor-check-surfacing-four-co/4056

Conversation

@Trecek

@Trecek Trecek commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add _check_codex_graduation to the doctor runtime module. The function evaluates four graduation criteria for the codex_backend feature (version check, probe-harness cache, matrix last-run, sessions.jsonl smoke run), assembles a pipe-delimited status summary, and returns Severity.INFO with an EXPERIMENTAL hold note when any criterion is non-green. Register as Check 33 in __init__.py and add 5 test scenarios to test_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 Model count uncached output cache_read peak_ctx turns cache_write time
plan* opus[1m] 1 1.4k 18.6k 1.2M 98.3k 44 84.2k 13m 7s
verify* sonnet 1 76 10.3k 385.4k 54.9k 26 36.4k 4m 50s
implement* MiniMax-M3 1 65.3k 8.4k 1.6M 0 67 0 3m 39s
fix* sonnet 1 360 16.5k 2.9M 86.7k 108 68.2k 8m 23s
audit_impl* sonnet 1 44 11.5k 164.7k 43.5k 14 36.5k 5m 20s
prepare_pr* MiniMax-M3 1 41.2k 2.8k 156.3k 0 13 0 42s
compose_pr* MiniMax-M3 1 36.1k 1.3k 176.4k 0 12 0 29s
review_pr* sonnet 1 158 55.9k 1.2M 105.8k 48 88.4k 12m 47s
resolve_review* sonnet 1 215 16.3k 1.6M 79.2k 62 61.4k 6m 49s
Total 144.9k 141.5k 9.4M 105.8k 375.1k 56m 10s

* Step used a non-Anthropic provider; caching behavior may differ.

Token Efficiency

Step LoC Changed cache_read/LoC cache_write/LoC output/LoC
plan 0
verify 0
implement 192 8428.7 0.0 43.8
fix 16 182832.3 4261.9 1032.5
audit_impl 0
prepare_pr 0
compose_pr 0
review_pr 0
resolve_review 13 125025.5 4720.8 1250.6
Total 221 42498.6 1697.4 640.1

Model Usage Breakdown

Model steps uncached output cache_read cache_write time
opus[1m] 1 1.4k 18.6k 1.2M 84.2k 13m 7s
sonnet 5 853 110.4k 6.3M 290.9k 38m 11s
MiniMax-M3 3 142.7k 12.5k 2.0M 0 4m 51s

Trecek and others added 7 commits June 27, 2026 07:01
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>
…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>
@Trecek Trecek added this pull request to the merge queue Jun 27, 2026
Merged via the queue into develop with commit 774b83b Jun 27, 2026
3 checks passed
@Trecek Trecek deleted the t5-p6-a7-wp1-provide-a-single-doctor-check-surfacing-four-co/4056 branch June 27, 2026 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant