with one click
upgrade-language
// Execute an ALS language-upgrade-recipe journey across one or more `als_version` hops. Use when the operator needs a whole-system ALS language cutover, not a normal module or construct update.
// Execute an ALS language-upgrade-recipe journey across one or more `als_version` hops. Use when the operator needs a whole-system ALS language cutover, not a normal module or construct update.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | upgrade-language |
| description | Execute an ALS language-upgrade-recipe journey across one or more `als_version` hops. Use when the operator needs a whole-system ALS language cutover, not a normal module or construct update. |
upgrade-language is the whole-system als_version cutover surface.
Do not use it for normal plugin refreshes (update), staged module evolution (change / migrate), or construct-version work.
Before mutating anything, read:
../docs/references/language-upgrades.md../validate/SKILL.md../../sdr/037-language-upgrade-recipe-contract.md../../sdr/039-update-transaction-wrapper-contract.mdUse SDR 037 for the recipe contract and SDR 039 for the two-phase runtime contract. The reference doc is the human-readable guide.
bun is on PATH.cd ${CLAUDE_PLUGIN_ROOT}/alsc/compiler && bun install so the compiler and recipe inspector can run.The runtime package at ${CLAUDE_PLUGIN_ROOT}/alsc/upgrade-language/ has no external dependencies, but the compiler does.
Resolve:
.als/system.ts)als_versionals_versionRules:
language-upgrades/recipes/ as the target.bun ${CLAUDE_PLUGIN_ROOT}/alsc/compiler/src/cli.ts validate <system-root>
als_version from the validation output.${CLAUDE_PLUGIN_ROOT}/language-upgrades/recipes/.vN → vN+1 → ... → vM.bun ${CLAUDE_PLUGIN_ROOT}/alsc/compiler/src/cli.ts upgrade-recipe inspect <recipe-bundle-or-recipe.yaml>
.als/ (currently the v1→v2 runtime-ephemera cleanup step)operator-prompt answer before execute begins. Execute must not stop for a mid-run AskUserQuestion.If any hop fails inspection, stop. Do not run a partial or uninspected chain.
Execution is governed by the runtime engine in ${CLAUDE_PLUGIN_ROOT}/alsc/upgrade-language/src/.
Honor these rules exactly:
must-run steps always run.recommended steps run unless the operator explicitly opts out.optional steps run only on explicit opt-in.recovery steps run only after their declared failure trigger.operator-prompt steps are discovered during preflight and consume pre-collected answers during execute.operator-prompt steps in category: "recovery" are invalid and must fail closed.script and agent-task steps normally change only <system_root>/.als/..gitignore and remove historical .claude/ runtime ephemera from the git index, but it must commit that hygiene immediately and leave the worktree clean for downstream steps.operator-prompt markdown asset through AskUserQuestion before execute starts.operator-prompt step without a pre-collected answer, fail closed.bun ${CLAUDE_PLUGIN_ROOT}/alsc/compiler/src/cli.ts validate <system-root>
als_version, and any future obligations acknowledged during operator-prompt steps./upgrade-language is being run through /update, let the SDR 039 transaction wrapper own the staged alsc deploy claude refresh. Do not restate a competing projection contract here..claude/ mutation may escape a step. The shipped v1→v2 bootstrap cleanup step may only remove historical .claude/ runtime ephemera from the git index as one-time hygiene.v1 → v2 recipe when none exists.