feat(migrate): 0.R5 - ludic migrate state --tighten takes mut off every state parameter nothing down the chain writes; --root DIR lets the edits reach a directory without running its programs; a write through a local holding part of a mut state counts as a write to it

Maroon Lake: 149 parameters became read-only. What stays mut is a real write - in the packages mostly a
lazy start inside a question (things_all, gear__ensure), which is what to take out next.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-27 00:20:44 +03:00
parent 40a91f39ed
commit 54f5efb23f
7 changed files with 50934 additions and 50157 deletions

View file

@ -161,6 +161,10 @@ entry {
g_allow_globals = true
}
else if a == "--migrate-prune" { g_mg_prune = true } # 0.S2: state parameters nothing uses go too
else if a == "--migrate-tighten" { # 0.R5: and `mut` goes where nothing down the chain writes
g_mg_prune = true
g_mg_tighten = true
}
else if a == "--migrate-runtime" { g_mg_runtime = true } # 0.S: the toolchain's own programs keep module-level vars # parse, type, module and port checks; nothing emitted
else if a == "--coverage" { g_coverage = true }
else if a == "--target" { ai += 1; if ai < arg_count() { target = arg(ai) } }