docs(installer): record Phase 3 — the patch tier as built #92
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/installer-phase3"
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 the installer's patch tier.
PLAN.mdgains a "Phase 3 as built" section, and the sections the implementation touched are brought in line with what shipped rather than left describing what was planned.PLAN.md
§2.2.1 — the engine is fully native, and rung 1 no longer says
git apply. §1 chose the release-tarball model precisely so there would be no git on the shard host, and rung 2 needs a native applier regardless; rung 1 keeps its stronger verdict and shares rung 2's write path. On the real files this is not academic — the shipped patches are CRLF while two of their three targets are LF, sogit applyrefuses patches the installer places correctly.§7.0 documents
patch_tierin the overlay manifest. Which patches form one unit, which companion follows which, whether a core rebuild is needed, and what declining costs are none of them derivable from a diff — so the release declares them, and adding a patch regenerates release metadata rather than requiring an installer release. That is the rule §7.1 already applies to the bundle.§2.2 gains the pre-image cache (
patches/originals/) and the widened patch cache — every patch the tier evaluated, not only those that applied, because the refusal message names that path as the file to apply by hand.§2.2.1 gains the second, per-feature level of the all-or-nothing rule — the two vendor-sale patches are one unit, so a patch that could have been placed is held back when a sibling cannot be, and the run says that rather than reporting it applied.
INSTALL.md
installis complete; what remains isdoctor/update/uninstall.patches/originals/, and the uninstall row points at it as the thing to diff a revert against.git applyrefuse a patch whose target region is visibly untouched — and says the installer's own tier does not have it.How it was tested
Prose only. Every claim in the new "as built" section is one the paired PRs demonstrate: the rung-1 result on the real
EventSink.cs, the byte-identicalinstall.jsonacross three runs, the refusal that writes nothing, and the two consent paths on a non-57.4 tree.Paired with:
Checklist
AI-assisted contributions (required)
Claude Code (Opus). I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with aCo-Authored-Bytrailer.License