Skip to content

Implementation Plan: Standardize recipe_version Field Across Recipe YAMLs#3904

Merged
Trecek merged 6 commits into
developfrom
standardize-recipe-version-field-across-recipe-yamls/3772
Jun 8, 2026
Merged

Implementation Plan: Standardize recipe_version Field Across Recipe YAMLs#3904
Trecek merged 6 commits into
developfrom
standardize-recipe-version-field-across-recipe-yamls/3772

Conversation

@Trecek

@Trecek Trecek commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Standardize the recipe_version field across all bundled recipe YAML files to use quoted semver format ("X.Y.Z"), fix schema_version values in experiment-type and methodology-tradition YAMLs from "1.0" to "1.0.0" (three-component semver), update all three registry/validation modules that compare against the expected version, update the CLI validate registries command constant, regenerate compiled JSON siblings, and add a structural test enforcing semver consistency going forward.

The schema_version key name is intentionally preserved for experiment-type and methodology-tradition files — these are not recipes (they're ExperimentTypeSpec and MethodologyTraditionSpec parsed by separate registries) and renaming to recipe_version would be semantically misleading.

Implementation Plan

Plan file: /home/talon/projects/autoskillit-runs/impl-20260608-005324-730329/.autoskillit/temp/make-plan/standardize_recipe_version_plan_2026-06-08_010500.md

Closes #3772

🤖 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 6.0k 25.3k 2.4M 118.3k 68 101.1k 14m 22s
verify* sonnet 1 84 7.1k 436.2k 52.7k 26 31.1k 3m 46s
implement* MiniMax-M3 1 94.5k 13.5k 3.5M 91.5k 148 0 9m 47s
fix* sonnet 1 134 3.5k 756.4k 57.3k 36 35.7k 6m 22s
audit_impl* sonnet 1 46 8.2k 170.0k 43.5k 16 31.6k 4m 36s
prepare_pr* MiniMax-M3 1 45.7k 4.4k 206.7k 50.0k 15 0 2m 4s
compose_pr* MiniMax-M3 1 36.3k 1.2k 151.4k 39.3k 12 0 58s
review_pr* sonnet 1 100 20.6k 711.0k 90.3k 36 69.6k 4m 56s
resolve_review* sonnet 1 313 17.3k 2.6M 87.6k 98 66.4k 8m 3s
Total 183.2k 101.1k 10.9M 118.3k 335.4k 54m 57s

* 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 187 18668.5 0.0 72.0
fix 2 378191.0 17854.5 1727.5
audit_impl 0
prepare_pr 0
compose_pr 0
review_pr 0
resolve_review 36 70928.5 1843.8 480.9
Total 225 48396.9 1490.9 449.1

Model Usage Breakdown

Model steps uncached output cache_read cache_write time
opus[1m] 1 6.0k 25.3k 2.4M 101.1k 14m 22s
sonnet 5 677 56.6k 4.6M 234.3k 27m 45s
MiniMax-M3 3 176.5k 19.1k 3.8M 0 12m 50s

Trecek and others added 6 commits June 8, 2026 01:20
…AMLs

Quote unquoted `recipe_version` values in implementation.yaml, merge-prs.yaml,
and remediation.yaml for consistency with all other recipes. Promote
planner.yaml's bare integer "2" to "2.0.0" semver. Add `recipe_version:
"1.0.0"` to sub-recipes/research.yaml (was missing).

Standardize `schema_version: "1.0"` to `"1.0.0"` (three-component semver)
across all 12 experiment-type and 14 methodology-tradition YAMLs.

Regenerate compiled JSON siblings via `task regen-contracts && task compile-recipes`.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Bump the compatibility check target version in:
- experiment_type_registry.py (lines 140, 145)
- methodology_tradition_registry.py (lines 246, 251)
- cli/_validate.py EXPECTED_SCHEMA_VERSION constant (line 22)

These three locations previously compared against the two-component "1.0"
string; they now match the three-component "1.0.0" semver used in the
bundled YAML data files.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Update existing test fixtures and assertions to use the new three-component
"1.0.0" schema_version in:
- tests/recipe/test_experiment_type_registry.py
- tests/recipe/test_methodology_tradition_registry.py
- tests/cli/test_validate_registries.py

Add test_all_bundled_recipes_have_semver_recipe_version to TestRecipeVersionField
in tests/recipe/test_io_schema_fields.py. The new test enforces X.Y.Z semver
format on every bundled recipe's recipe_version field, including sub-recipes
in builtin_sub_recipes_dir().

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…ils to avoid inline "1.0.0" duplication

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ver_recipe_version to module level

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Trecek Trecek added this pull request to the merge queue Jun 8, 2026
Merged via the queue into develop with commit c489396 Jun 8, 2026
3 checks passed
@Trecek Trecek deleted the standardize-recipe-version-field-across-recipe-yamls/3772 branch June 8, 2026 09:10
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