docs(installer): record Phase 4 — doctor, update and uninstall as built #93
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/installer-phase4"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
The docs half of installer#7, which implements Phase 4. Two of these edits are corrections rather than records: the plan and the guide had drifted apart in ways the implementation made impossible to ignore.
installer/PLAN.mdedge; theedge → maincutover now cuts a binary that does everythingINSTALL.mddescribes, with Phase 5 being packaging polish rather than capability.updateis theinstallpipeline in a different mode rather than a second implementation; why it neither reprints the token nor stays quiet about a protocol change; the tier's scope underupdate(re-resolve what was applied without re-asking, name what is new); howdoctorasks the binary under the environment the service pins; the exit-code rule, and why a stopped shard is a⚠while a running one that has not dialed in is a✗.patches/originals/move from Removed to Kept. The report that command prints tells the operator to diff against those originals, so deleting them made the advice impossible to follow within one command's own output.--purgeremoves them.installer/INSTALL.mddoctoranduninstalluse1for a completed run that found something wrong);--patchesnow applies toupdate;--yesmeans yes onuninstall;--purgecovers the patch cache.doctor— the real row set, what✓/⚠/✗mean, and that it writes nothing and is safe to run with the shard up (which is the only state in which the last row can be✓).update— it updates the treeinstall.jsonnames, needs the shard stopped, does not reprint the token, calls out a protocol change, and what it does and does not do with the patch tier.uninstall— what survives, that files edited since deployment are flagged in the listing, the confirmation's default, and where the report file lands.How it was tested
Prose only. Every claim was checked against the behaviour in installer#7 rather than against the design: the doctor sample is the shape of a real run's output, the exit codes and marks are what the code returns, and the uninstall table matches what a
--purgeand a non---purgerun actually leave on disk (both exercised on this machine).Checklist
AI-assisted contributions (required)
Claude Code (Opus 5). I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with aCo-Authored-Bytrailer.License
The installer crate now implements the whole command surface INSTALL.md published before the binary existed, so this records what Phase 4 turned out to be and corrects two places where the plan and the guide had drifted apart. PLAN.md - Status header: Phases 1–4 are on `edge`; the edge → main cutover now cuts a binary that does everything INSTALL.md describes, with Phase 5 being packaging polish rather than capability. - A Phase 4 "as built" section: why `update` is the install pipeline in a different mode rather than a second implementation, why it neither reprints the token nor stays quiet about a protocol change, the tier's scope under `update` (re-resolve what was applied, without re-asking; name what is new), how `doctor` asks the binary the way the service does, the exit-code rule and why a stopped shard is a ⚠ while a running one that has not dialed in is a ✗. - §5's uninstall table: the cached patch set and patches/originals/ move from "removed" to "kept". The report that command prints tells the operator to diff against those originals — deleting them made the advice impossible to follow within one command's output. `--purge` removes them. INSTALL.md - §2: exit codes stated (`doctor` and `uninstall` use 1 for a completed run that found something wrong), `--patches` now applies to `update`, `--yes` means yes on `uninstall`, `--purge` covers the patch cache. - §7 doctor: the real row set, what ✓/⚠/✗ mean, that it writes nothing and is safe to run with the shard up. - §7 update: it updates the tree install.json names, needs the shard stopped, does not reprint the token, calls out a protocol change, and what it does and does not do with the patch tier. - §7 uninstall: what survives, that edited files are flagged in the listing, the confirmation's default, and where the report file lands. Co-Authored-By: Claude <noreply@anthropic.com>