Stop the docs saying the migration does not work

Two places told an operator that `run` is unimplemented and refuses: the
usage text, and the first line of the README's status. Both predate `run`
being wired up, and the README contradicted itself three lines later, where
the command table says it works. Anyone reading either would conclude the
tool cannot migrate.

The rest of that section had drifted too: staging exists as a package, and
the package table was missing it along with applyplan, while the line counts
had aged. Recounted, and the column now says what it is measuring.

`report` really is unimplemented, so the usage text now says so where it is
advertised.
This commit is contained in:
2026-08-24 12:19:26 -07:00
parent e955a41d58
commit 558af1005f
2 changed files with 18 additions and 14 deletions
+16 -12
View File
@@ -12,9 +12,9 @@ Go, standard library only — no external dependencies.
## Status ## Status
Partially implemented. Roughly 8,800 lines of tested code. Every phase Roughly 14,600 lines of Go, stdlib only, of which about 6,300 are tests.
except staging now exists as a package, including cutover, but nothing wires Every phase exists as a package and `run` wires them into a migration that
them into a production run yet, so `run` still refuses. has been performed end to end.
| Command | State | | Command | State |
|---|---| |---|---|
@@ -39,17 +39,21 @@ not data volume.
Package state: Package state:
Lines are implementation only; each package carries its tests alongside.
| Package | Lines | Tests | | Package | Lines | Tests |
|---|---|---| |---|---|---|
| `internal/backup` | 1806 | yes | | `internal/stalwartapi` | 1456 | yes |
| `internal/preflight` | 1329 | yes | | `internal/backup` | 1333 | yes |
| `internal/stalwartapi` | 1276 | yes | | `internal/preflight` | 1035 | yes |
| `internal/cutover` | 1186 | yes | | `internal/applyplan` | 913 | yes |
| `internal/validate` | 792 | yes | | `internal/cutover` | 784 | yes |
| `internal/recovery` | 702 | yes | | `internal/recovery` | 431 | yes |
| `internal/checkpoint` | 556 | yes | | `internal/checkpoint` | 406 | yes |
| `internal/service` | 467 | yes | | `internal/validate` | 382 | yes |
| `internal/plan` | 195 | yes | | `internal/stage` | 233 | yes |
| `internal/service` | 201 | yes |
| `internal/plan` | 130 | yes |
| `internal/config` | stub | — | | `internal/config` | stub | — |
## Why not a shell script ## Why not a shell script
+2 -2
View File
@@ -48,7 +48,7 @@ func usage() {
commands: commands:
preflight run read-only checks and print the migration plan preflight run read-only checks and print the migration plan
rehearse convert this instance's settings and report what will NOT carry over (read-only) rehearse convert this instance's settings and report what will NOT carry over (read-only)
run perform the migration (not implemented yet - refuses) run perform the migration (needs --yes and --recovery-point-confirmed)
status show the state of an in-progress or completed run status show the state of an in-progress or completed run
report print the validation report for a run`) report print the validation report for a run (not implemented yet)`)
} }