Commit b82ed64
authored
Implementation Plan: T5-P4-A2-WP2 Make build_inspector_cmd a Proper Capability-Gated Method (#4093)
## Summary
Replace the unchecked `RuntimeError` stubs in both
`ClaudeCodeBackend.build_inspector_cmd` and
`CodexBackend.build_inspector_cmd` with a proper
`CapabilityNotSupportedError` that is raised only when
`inspector_capable=False`. This involves:
1. Defining `CapabilityNotSupportedError(Exception)` in
`core/types/_type_exceptions.py` with structured `capability` and
`backend_name` fields
2. Replacing `RuntimeError` raises in both backends with
`CapabilityNotSupportedError`
3. Removing `inspector_capable` from `_FORWARD_DECLARED` (it now has a
production consumer)
4. Updating conformance tests to assert the new exception type
5. Adding a parametrized arch test in
`test_backend_behavioral_contract.py`
## Implementation Plan
Plan file:
`/home/talon/projects/autoskillit-runs/impl-20260612-102320-415368/.autoskillit/temp/make-plan/t5-p4-a2-wp2-capability-gated-build-inspector-cmd_plan_2026-06-12_103500.md`
Closes #4017
🤖 Generated with [Claude Code](https://claude.com/claude-code) via
AutoSkillit
<!-- autoskillit:pipeline-signature
steps=prepare_pr,run_arch_lenses,compose_pr,annotate_pr_diff,review_pr
-->
## Token Usage Summary
| Step | Model | count | uncached | output | cache_read | peak_ctx |
turns | cache_write | time |
|------|-------|-------|----------|--------|------------|----------|-------|-------------|------|
| plan* | opus[1m] | 1 | 3.5k | 11.9k | 1.1M | 94.3k | 40 | 73.3k | 10m
33s |
| verify* | sonnet | 1 | 172 | 13.7k | 1.1M | 65.3k | 72 | 44.4k | 4m
17s |
| implement* | MiniMax-M3 | 1 | 2.0M | 8.4k | 0 | 0 | 74 | 0 | 4m 16s |
| fix* | sonnet | 1 | 126 | 5.2k | 692.4k | 59.5k | 42 | 38.6k | 5m 34s
|
| audit_impl* | sonnet | 1 | 46 | 16.1k | 168.1k | 43.3k | 17 | 38.9k |
5m 34s |
| prepare_pr* | MiniMax-M3 | 1 | 196.1k | 2.3k | 0 | 0 | 13 | 0 | 55s |
| compose_pr* | MiniMax-M3 | 1 | 176.6k | 1.2k | 0 | 0 | 11 | 0 | 46s |
| **Total** | | | 2.4M | 58.9k | 3.1M | 94.3k | | 195.2k | 31m 56s |
\* *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 | 50 | 0.0 | 0.0 | 167.2 |
| fix | 7 | 98910.0 | 5514.4 | 745.6 |
| audit_impl | 0 | — | — | — |
| prepare_pr | 0 | — | — | — |
| compose_pr | 0 | — | — | — |
| **Total** | **57** | 53800.9 | 3425.0 | 1033.6 |
## Model Usage Breakdown
| Model | steps | uncached | output | cache_read | cache_write | time |
|-------|-------|----------|--------|------------|-------------|------|
| opus[1m] | 1 | 3.5k | 11.9k | 1.1M | 73.3k | 10m 33s |
| sonnet | 3 | 344 | 35.1k | 1.9M | 121.9k | 15m 26s |
| MiniMax-M3 | 3 | 2.4M | 11.9k | 0 | 0 | 5m 56s |1 parent 8840c6d commit b82ed64
10 files changed
Lines changed: 44 additions & 20 deletions
File tree
- src/autoskillit
- core
- types
- execution/backends
- tests
- arch
- execution/backends
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
| 226 | + | |
226 | 227 | | |
227 | 228 | | |
228 | 229 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| |||
865 | 866 | | |
866 | 867 | | |
867 | 868 | | |
868 | | - | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
| |||
1054 | 1055 | | |
1055 | 1056 | | |
1056 | 1057 | | |
1057 | | - | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
248 | 248 | | |
249 | 249 | | |
250 | 250 | | |
251 | | - | |
| 251 | + | |
252 | 252 | | |
253 | 253 | | |
254 | 254 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | 47 | | |
53 | 48 | | |
54 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
982 | 982 | | |
983 | 983 | | |
984 | 984 | | |
985 | | - | |
| 985 | + | |
986 | 986 | | |
987 | 987 | | |
988 | 988 | | |
| |||
994 | 994 | | |
995 | 995 | | |
996 | 996 | | |
997 | | - | |
| 997 | + | |
| 998 | + | |
998 | 999 | | |
999 | 1000 | | |
1000 | 1001 | | |
| |||
Lines changed: 12 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
25 | 29 | | |
26 | 30 | | |
27 | 31 | | |
| |||
44 | 48 | | |
45 | 49 | | |
46 | 50 | | |
47 | | - | |
| 51 | + | |
48 | 52 | | |
49 | | - | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
50 | 59 | | |
51 | 60 | | |
52 | 61 | | |
| |||
Lines changed: 4 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
31 | | - | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| |||
276 | 276 | | |
277 | 277 | | |
278 | 278 | | |
279 | | - | |
| 279 | + | |
280 | 280 | | |
281 | | - | |
| 281 | + | |
| 282 | + | |
282 | 283 | | |
283 | 284 | | |
284 | 285 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
214 | | - | |
| 214 | + | |
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
| |||
670 | 670 | | |
671 | 671 | | |
672 | 672 | | |
673 | | - | |
| 673 | + | |
674 | 674 | | |
675 | 675 | | |
676 | 676 | | |
| |||
679 | 679 | | |
680 | 680 | | |
681 | 681 | | |
682 | | - | |
| 682 | + | |
683 | 683 | | |
684 | 684 | | |
685 | 685 | | |
686 | 686 | | |
687 | | - | |
688 | 687 | | |
689 | 688 | | |
690 | 689 | | |
| |||
0 commit comments