Remove autoskillit_version from Bundled Recipes#1950
Conversation
Trecek
left a comment
There was a problem hiding this comment.
AutoSkillit PR Review — Verdict: approved. Clean removal of autoskillit_version from bundled recipes with consistent updates across CI workflows, sync script, migration loader, rules, version utilities, and tests.
| "match", | ||
| "recipe_versions_match", | ||
| "stale_recipes", | ||
| } |
There was a problem hiding this comment.
[info] tests: The set assertion now excludes recipe_versions_match and stale_recipes fields. Confirm these keys are fully removed from the version_info return value (they are — verified in the src/autoskillit/version.py diff).
| findings = [f for f in run_semantic_rules(wf) if f.rule == "outdated-recipe-version"] | ||
| assert findings[0].severity == Severity.WARNING | ||
|
|
||
| def test_none_version_does_not_fire(self, monkeypatch: pytest.MonkeyPatch) -> None: |
There was a problem hiding this comment.
[info] tests: test_none_version_does_not_fire duplicates the parametrized case MSR3 at line 18 (None, "0.2.0", 0). Both assert the same behavior. The explicit test adds coverage clarity for the version=None contract, so this is acceptable redundancy.
…ion tests applicable_migrations now returns [] when script_version is None (bundled recipes without a version field are not subject to migration). Server tests for outdated-recipe-version rule now supply an explicit old version since the rule correctly skips version=None recipes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tests that exercise the migration engine now supply explicit autoskillit_version: "0.0.0" to trigger migrations. The loader test for None version asserts the new behavior (not migratable). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
aa5915e to
ef690c8
Compare
## Summary Remove the `autoskillit_version` field from all 13 bundled recipe YAML files under `src/autoskillit/recipes/`, eliminate the recipe-sync logic from `scripts/sync_versions.py`, remove the dead `stale_recipes`/`recipe_versions_match` computation from `version.py`, delete the contract test enforcing version field presence, and guard the `outdated-recipe-version` semantic rule so it no longer fires on recipes with `version=None` (which bundled recipes will now have). Closes #1943 ## Implementation Plan Plan file: `/home/talon/projects/autoskillit-runs/impl-20260505-145554-493622/.autoskillit/temp/make-plan/remove_autoskillit_version_from_bundled_recipes_plan_2026-05-05_150300.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 --> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…1979) ## Summary Create `src/autoskillit/recipes/research-archive.yaml` as a standalone sub-recipe that extracts the 9-step archival phase from `research.yaml` (lines 855–963). The critical change from the parent recipe: all ingredient-sourced values (`pr_url`, `worktree_path`, `research_dir`, `base_branch`) use `inputs.X` references instead of `context.X`, since these are declared ingredients in the standalone recipe rather than step-captured context variables. Step-captured values (`experiment_branch`, `artifact_branch`, `artifact_pr_url`, `archive_tag`) correctly remain as `context.X`. Pack declarations are `[github, ci]` (the archival phase only needs GitHub CLI and CI tools, not the full `research` pack). No `autoskillit_version` field — consistent with bundled recipe policy (removed in #1950). Only 4 ingredients: 3 campaign-sourced hidden (`worktree_path`, `research_dir`, `pr_url`) and 1 user-input (`base_branch`). The `report_path_after_finalize` and `source_dir` ingredients from the parent recipe are omitted because no archival step references them. Closes #1703 ## Implementation Plan Plan file: `/home/talon/projects/autoskillit-runs/impl-20260505-213323-163152/.autoskillit/temp/make-plan/p2_wp4_create_research_archive_yaml_sub_recipe_plan_2026-05-05_213600.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 --> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Summary
Remove the
autoskillit_versionfield from all 13 bundled recipe YAML files undersrc/autoskillit/recipes/, eliminate the recipe-sync logic fromscripts/sync_versions.py, remove the deadstale_recipes/recipe_versions_matchcomputation fromversion.py, delete the contract test enforcing version field presence, and guard theoutdated-recipe-versionsemantic rule so it no longer fires on recipes withversion=None(which bundled recipes will now have).Closes #1943
Implementation Plan
Plan file:
/home/talon/projects/autoskillit-runs/impl-20260505-145554-493622/.autoskillit/temp/make-plan/remove_autoskillit_version_from_bundled_recipes_plan_2026-05-05_150300.md🤖 Generated with Claude Code via AutoSkillit
Token Usage Summary
Token Efficiency