Commit 46519ee
Implementation Plan: Remediation — source-dir-enforcement-seam Part A (#4201)
## Summary
Two concrete code defects were left behind by the prior implementation
round and are cited in the remediation audit:
1. **REQ-004 — unauthorized fourth branch**:
`apply_config_authoritative_overrides` in
`src/autoskillit/config/ingredient_defaults.py` contains a fourth `elif
key not in CONFIG_AUTHORITY_KEYS: logger.warning(...)` branch that the
plan never authorized. The plan specifies exactly three branches:
`SERVER_AUTHORITATIVE_INGREDIENTS`, `BACKEND_CAPABILITY_INGREDIENTS`,
and an implicit `else` (caller-sovereign). The fourth branch must be
removed so the loop body matches the specified three-branch structure.
2. **REQ-009 — weak T2 assertion**: The T2 test
`test_apply_config_authoritative_overrides_source_dir_not_injected_when_absent`
uses `captured["ingredients"].get("source_dir") != URL` — a weaker
assertion that passes if `source_dir` is present with any non-URL value
(e.g., the empty string `""` injected by `execute_dispatch` when the
caller omits the ingredient and the recipe defines `default=""`). The
test must assert `"source_dir" not in result` against the output of
`apply_config_authoritative_overrides` directly, bypassing the
`execute_dispatch` default-injection path.
Both changes are in the same commit to satisfy the green-gate invariant
(the T2 test must pass after the function fix, and the function fix
changes the behavior T2 validates).
Part B (introducing `CALLER_SOVEREIGN_INGREDIENTS`, tightening
config-authority-requires-resolve-source, removing `authority: config`
from 15 recipe YAMLs) is a separate task and must NOT be implemented
here.
Closes #4200
## Implementation Plan
Plan file:
`/home/talon/projects/autoskillit-runs/remediation-20260707-023904-630849/.autoskillit/temp/make-plan/remediation_source-dir-enforcement-seam-part-a_plan_2026-07-07_035458.md`
🤖 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 |
|------|-------|-------|----------|--------|------------|----------|-------|-------------|------|
| investigate* | fable | 1 | 8.9k | 34.4k | 769.5k | 126.2k | 27 |
136.5k | 24m 45s |
| rectify* | sonnet | 1 | 219 | 38.1k | 2.1M | 118.9k | 72 | 119.6k |
20m 17s |
| dry_walkthrough* | sonnet | 2 | 1.7k | 24.8k | 924.2k | 61.7k | 54 |
85.0k | 10m 12s |
| implement* | sonnet | 2 | 290 | 18.8k | 1.8M | 77.2k | 87 | 96.3k | 8m
32s |
| assess* | sonnet | 3 | 354 | 23.0k | 2.0M | 66.4k | 108 | 118.0k | 15m
5s |
| audit_impl* | sonnet | 2 | 194 | 45.7k | 1.0M | 72.0k | 65 | 108.0k |
16m 16s |
| make_plan* | sonnet | 1 | 103 | 10.0k | 577.4k | 63.8k | 30 | 49.4k |
3m 17s |
| prepare_pr* | MiniMax-M3 | 1 | 42.2k | 2.6k | 153.7k | 44.1k | 12 | 0
| 43s |
| compose_pr* | MiniMax-M3 | 1 | 35.7k | 2.5k | 182.9k | 0 | 13 | 0 |
37s |
| **Total** | | | 89.6k | 200.0k | 9.6M | 126.2k | | 712.9k | 1h 39m |
\* *Step used a non-Anthropic provider; caching behavior may differ.*
## Token Efficiency
| Step | LoC Changed | cache_read/LoC | cache_write/LoC | output/LoC |
|------|-------------|----------------|-----------------|------------|
| investigate | 0 | — | — | — |
| rectify | 0 | — | — | — |
| dry_walkthrough | 0 | — | — | — |
| implement | 250 | 7150.7 | 385.4 | 75.0 |
| assess | 66 | 30170.3 | 1787.4 | 349.0 |
| audit_impl | 0 | — | — | — |
| make_plan | 0 | — | — | — |
| prepare_pr | 0 | — | — | — |
| compose_pr | 0 | — | — | — |
| **Total** | **316** | 30286.9 | 2255.9 | 632.8 |
## Model Usage Breakdown
| Model | steps | uncached | output | cache_read | cache_write | time |
|-------|-------|----------|--------|------------|-------------|------|
| fable | 1 | 8.9k | 34.4k | 769.5k | 136.5k | 24m 45s |
| sonnet | 6 | 2.9k | 160.5k | 8.5M | 576.3k | 1h 13m |
| MiniMax-M3 | 2 | 77.9k | 5.1k | 336.6k | 0 | 1m 20s |
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 704a8cc commit 46519ee
3 files changed
Lines changed: 171 additions & 41 deletions
File tree
- src/autoskillit/config
- tests
- config
- fleet
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
205 | 206 | | |
206 | 207 | | |
207 | 208 | | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
220 | 228 | | |
221 | 229 | | |
222 | 230 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
250 | | - | |
251 | | - | |
252 | | - | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
253 | 254 | | |
254 | 255 | | |
255 | 256 | | |
| |||
275 | 276 | | |
276 | 277 | | |
277 | 278 | | |
278 | | - | |
| 279 | + | |
279 | 280 | | |
280 | 281 | | |
281 | 282 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
319 | 319 | | |
320 | 320 | | |
321 | 321 | | |
322 | | - | |
323 | | - | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
324 | 325 | | |
325 | 326 | | |
326 | 327 | | |
| |||
373 | 374 | | |
374 | 375 | | |
375 | 376 | | |
376 | | - | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
377 | 380 | | |
378 | 381 | | |
379 | 382 | | |
| |||
431 | 434 | | |
432 | 435 | | |
433 | 436 | | |
434 | | - | |
435 | | - | |
| 437 | + | |
| 438 | + | |
436 | 439 | | |
437 | 440 | | |
438 | | - | |
439 | | - | |
440 | 441 | | |
441 | 442 | | |
442 | 443 | | |
| |||
458 | 459 | | |
459 | 460 | | |
460 | 461 | | |
| 462 | + | |
| 463 | + | |
461 | 464 | | |
462 | 465 | | |
463 | | - | |
464 | | - | |
| 466 | + | |
| 467 | + | |
465 | 468 | | |
466 | 469 | | |
467 | | - | |
468 | | - | |
469 | | - | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | | - | |
477 | | - | |
478 | | - | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
479 | 484 | | |
480 | 485 | | |
481 | | - | |
482 | | - | |
483 | | - | |
484 | | - | |
| 486 | + | |
485 | 487 | | |
486 | 488 | | |
487 | 489 | | |
| |||
537 | 539 | | |
538 | 540 | | |
539 | 541 | | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
540 | 661 | | |
541 | 662 | | |
542 | 663 | | |
| |||
0 commit comments