0.52.0 · core 2026-07-14
Breaking Change
- Removed all legacy/backward-compat code paths for Workflow.config migration — v0.50.0 introduced
stelow.json#workflows[].configas canonical source forappetite,review_mode,domains_detected. v0.51.x added "fallback to index.json" branches everywhere for pre-v0.50.0 workflows. This release removes all those fallbacks — workflows created before v0.50.0 must be re-initialized to set config.
Removed
- TS read-through fallback (
extensions/stelow/state.ts) —writeTracking()no longer readsindex.json#configand mirrors it intowf.config. Workflows from pre-v0.50.0 will havewf.config = undefined. - Bash helper fallback (
references/cli-tools/read-config.sh) —stelow_read_appetite/stelow_read_review_modeno longer fall back to grepping.stelow///index.json. Helper now exclusively reads fromstelow.json. - stages-guard fallback (
extensions/stelow/index.ts) — Hook readswf.config.review_modedirectly. No mirror fallback. - Slug→name migration (
extensions/stelow/state.ts) — RemovedmigrateTrackingData/migrateWorkflowfunctions that handled workflows pre-v0.10.0 (which usedslugfield instead ofname). - Empty-cwd legacy branch (
extensions/stelow/state.ts) —findWorkflowIndicesForProjectno longer falls back to workflows withoutcwdfield. All workflows since v0.10 havecwd. - Slug reads in
scanWorkflowDirs,archiveWorkflowOnDisk— Removedraw.name || raw.slugpatterns. - Doc comments about legacy workflows pre-v0.50.0 / pre-v0.10.0 — Removed from 5 skills/stages.
- Legacy test fixtures — Removed tests that exercised the fallback paths.
Migration
Workflows started on v0.50.0 or later are unaffected. Workflows started before v0.50.0 must be re-created (run /sw-start again) to set Workflow.config. The stages/setup.md Step 3 will write the canonical config to stelow.json#workflows[].config.
Tests
- 835 tests passing (was 838 in v0.51.3). Net change: -3 (removed 3 legacy tests) but +0 from fix. Some helper tests refactored.