migrate · git:20261019.2b9222e · 2026-10-19 · sha256 7a279a7a7087f079
migrate git:20261019.2b9222eB
Immutable. This exact content never changes and is served at /api/v1/blob/7a279a7a7087f079.
--- description: Bring a project to the shape of a release that changed the shape of files — a dry run first, the migration on the principal's word, the threads' origins judged, then /save argument-hint: "[project-slug]" disable-model-invocation: true --- The door to `scripts/forge-migrate.py` (SOL.0800, POS.1740): the script does every deterministic step and is described in full by its help header; this command adds what needs judgement and runs nothing without the principal's word. A migration runs once per project, on one clone, on `main`; everyone else pulls (the refusals and the way back are the script's). 1. Infer the project from context (`$0` may be a slug; `forge` is the engine's own project; if ambiguous, ask). Run the dry run, `python scripts/forge-migrate.py <slug>`, and show its print as it came: the marks of the shape, the steps that would run and what each would change. A project already in shape ends here. 2. On the principal's word, and only then, run `python scripts/forge-migrate.py <slug> --apply`. The script commits nothing. 3. Judge what the script printed for the principal: the origins it guessed for the threads it cut (`threads/THR.NNNN.md`, the field `origin`), the text after the last thread that was not a thread, the Waiting lines without an ID. The origins are a walkthrough (CLAUDE.md, Working methods): one table of Claude's judgement from the texts, the principal correcting what is wrong, written into the thread files at the round's end; what is not a thread goes where it belongs, usually a record of the intent's history. 4. Make the ledger, `python scripts/forge-ledger.py <slug>`, and propose `/save <slug>`; the migrated shape reaches the remote by that save. Should anything be wrong, the way back is `python scripts/forge-migrate.py <slug> --undo` before the save, the tag before the migration after it (CLAUDE.md, Persistence).