Skip to content

Demote post_run_diagnostics to Config-as-Default & Complete Feedback Contract#4183

Merged
Trecek merged 3 commits into
developfrom
per-run-post-run-diagnostics-enablement-demote-to-config-as/4180
Jul 5, 2026
Merged

Demote post_run_diagnostics to Config-as-Default & Complete Feedback Contract#4183
Trecek merged 3 commits into
developfrom
per-run-post-run-diagnostics-enablement-demote-to-config-as/4180

Conversation

@Trecek

@Trecek Trecek commented Jul 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

This plan demotes post_run_diagnostics from a server-authoritative ingredient to a config-as-default ingredient. After this change: (1) an explicit open_kitchen override for post_run_diagnostics wins over the config value, (2) absent an override the config value diagnostics.post_run_analysis remains the default source, (3) the key becomes lockable via lock_ingredients, (4) clobber warnings for remaining authoritative keys gain hint parity with the lock-rejection envelope, (5) a sous-chef rule requires the orchestrator to relay open_kitchen warnings, and (6) implementation-groups.yaml terminal paths gain run_diagnostic* step parity with implementation.yaml.

Requirements

ING — ingredient authority

  • REQ-ING-001: An explicit open_kitchen override for post_run_diagnostics must win over the config-derived value (the key must no longer be a member of SERVER_AUTHORITATIVE_INGREDIENTS).
  • REQ-ING-002: Absent a caller override, post_run_diagnostics must continue to resolve from diagnostics.post_run_analysis (config remains the default source; the shipped default stays false).
  • REQ-ING-003: Every recipe declaring post_run_diagnostics with authority: config must drop that authority marker so validation and admission match the new behavior.
  • REQ-ING-004: lock_ingredients must accept locking post_run_diagnostics, and the lock must be enforced by the existing lock/trace mechanism like any other lockable ingredient.
  • REQ-ING-005: The open_kitchen docstring and the sous-chef server-authoritative do-not-lock list must no longer name post_run_diagnostics among the authoritative examples.

FDB — feedback parity (remaining authoritative keys)

  • REQ-FDB-001: The open_kitchen clobber warning for a server-authoritative key must include that key's SERVER_AUTHORITATIVE_KEY_HINTS line when one exists, matching the lock_ingredients rejection envelope.

SKL — consumption contract

  • REQ-SKL-001: Sous-chef discipline must require that when open_kitchen returns a non-empty warnings array, each warning is relayed to the user in the orchestrator's next response before the pipeline proceeds (an immediate-action rule; no deferred-action obligations).

PAR — parity and documentation

  • REQ-PAR-001: implementation-groups.yaml terminal paths must route through run_diagnostic* steps gated on post_run_diagnostics with parity to implementation.yaml (today it declares the ingredient but contains zero diagnostic steps, so the feature can never fire there).
  • REQ-PAR-002: diagnostics.post_run_analysis and the per-run override behavior must be documented in docs/.

TEST — co-update surface

Closes #4180

Implementation Plan

Plan file: /home/talon/projects/autoskillit-runs/impl-20260704-151702-234347/.autoskillit/temp/make-plan/demote_post_run_diagnostics_plan_2026-07-04_160500.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 2.2k 44.9k 4.1M 168.5k 87 149.6k 22m 37s
review_approach* opus 1 9.2k 5.3k 199.4k 49.0k 12 61.8k 6m 1s
verify* fable 1 31.1k 41.3k 2.0M 169.7k 44 170.1k 14m 49s
implement* MiniMax-M3 1 96.2k 18.9k 7.0M 0 156 0 18m 6s
fix* opus 2 117 17.4k 5.0M 112.5k 123 130.3k 16m 25s
audit_impl* opus 1 49 32.4k 750.7k 108.5k 39 93.5k 14m 1s
prepare_pr* MiniMax-M3 1 56.9k 2.6k 297.6k 0 16 0 46s
compose_pr* MiniMax-M3 1 44.5k 1.7k 210.7k 0 10 0 30s
review_pr* opus 1 29 30.6k 747.7k 103.2k 35 87.2k 8m 23s
resolve_review* opus 1 52 9.2k 963.6k 69.3k 36 51.0k 6m 52s
Total 240.3k 204.1k 21.2M 169.7k 743.5k 1h 48m

* 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
review_approach 0
verify 0
implement 577 12052.9 0.0 32.8
fix 37 135594.4 3522.5 469.7
audit_impl 0
prepare_pr 0
compose_pr 0
review_pr 0
resolve_review 3 321213.3 17015.7 3052.3
Total 617 34306.0 1205.0 330.9

Model Usage Breakdown

Model steps uncached output cache_read cache_write time
opus[1m] 1 2.2k 44.9k 4.1M 149.6k 22m 37s
opus 5 9.5k 94.8k 7.7M 423.8k 51m 45s
fable 1 31.1k 41.3k 2.0M 170.1k 14m 49s
MiniMax-M3 3 197.6k 23.2k 7.5M 0 19m 22s

Trecek and others added 3 commits July 4, 2026 20:11
…ty-feedback contract

- Remove post_run_diagnostics from CONFIG_AUTHORITY_KEYS, SERVER_AUTHORITATIVE_CONFIG_PATHS, and SERVER_AUTHORITATIVE_KEY_HINTS
- Add CONFIG_DEFAULT_INGREDIENTS frozenset and build_config_default_layer() function
- Inject config-default layer at base priority in all three merge sites (open_kitchen, load_recipe, get_recipe)
- Add hint parity to build_authority_clobber_warnings — mirror the rejection envelope hint pattern
- Add sous-chef warning relay rule for open_kitchen warnings
- Remove authority: config from post_run_diagnostics in all four recipe YAMLs
- Add diagnostic routing to implementation-groups.yaml terminal paths (run_diagnostic, run_diagnostic_error, run_diagnostic_unconfirmed, run_diagnostic_no_ci)
- Update docstrings and sous-chef do-not-lock list
- Add per-run enablement section to diagnostics.md
- Regenerate contract cards and compiled recipe JSON
- Migrate existing test examples; add T1-T7 for new behavior
- Add post_run_diagnostics back to _PATCHED_DEFAULTS (config-default layer needs it)
- Fix test_load_recipe_emits_authority_warning to match actual server value 'develop'
- Update tools_kitchen.py atomic_write line numbers in schema version allowlist
- Bump tools_kitchen.py line limit exemption to 1395
- Update register_clone_unconfirmed routing assertion to run_diagnostic_unconfirmed
- Refresh recipe diagram hashes for implementation, implementation-groups, merge-prs, remediation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove two comments (L1156-1157 and L1160) that restate intent already
captured by assertions and docstrings, per project no-comment convention.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Trecek Trecek force-pushed the per-run-post-run-diagnostics-enablement-demote-to-config-as/4180 branch from ebe1a15 to 14679d9 Compare July 5, 2026 03:11
@Trecek Trecek added this pull request to the merge queue Jul 5, 2026
Merged via the queue into develop with commit 838128f Jul 5, 2026
3 checks passed
@Trecek Trecek deleted the per-run-post-run-diagnostics-enablement-demote-to-config-as/4180 branch July 5, 2026 03:23
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