docs(link): the cutover, and the counter two branches bumped at once (Phase 9b, 5 of 5) #245
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/asset-bridge-p9b"
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?
Step 5 of 5, and last, of the Asset Bridge
edge → maincutover. Held until the code repos hadmerged and the bundle had actually recomposed, so the record carries real numbers rather than
intentions.
What the cutover published
linksidecarservuo-pluginsoverlaymodule-uoinstalleredgestays standing in every repo. Merged:Module-uo#43(the sync),link#44+servuo-plugins#36together,Module-uo#44,installer#26;website#202is the converterdeletion and affects no release.
Three things this records that were not in §16's row
1.
PARSER_VERSIONhad to become 6, and the reason generalises. §10.4 wrote phase 7'scanonical-read-order bump as 4 → 5.
mainhad meanwhile bumped 4 → 5 for theUniqueIdfix andreleased it as v1.2.2. Same number, different derivation. An install that imported under v1.2.2
stores 5, so a phase-7 build also declaring 5 is read as current by
currentParserand neverre-reads — the exact failure the constant exists to prevent, arrived at through a merge instead of
through forgetting to bump. Two long-lived branches bumping one counter for different reasons is a
defect the counter cannot see; only the merge can. Corrected in §7, §10.4, §16 and
SPAWN_ATLAS.md, with both meanings kept rather than collapsed.2. The cutover was five repos, not four.
installer'sedgecarried 9a'slibgdiplusdoctorcheck, andSHARD_PREREQS.mdonmainhad been describing that check as existing sincephase 1 — a four-repo cutover leaves an operator-facing doc naming a check in no released binary.
3. The bundle did not recompose on its own, and the re-verify is what caught it. Two compose
runs failed for two unrelated reasons that only their logs separate:
gate refused the pair in exactly the terms the design predicted: "sidecar v2.2.0 speaks 7,
overlay v1.3.0 declares 8. Refusing to publish a bundle that would install a shard whose events
the sidecar rejects with 409." That is the concrete argument for landing the pair together.
Set up job14m33s, every laterstep failing at 0s, no log blob stored. Same signature as the 2026-09-09 outage.
A failed compose is silent from outside — the bundle keeps its previous value, so operators keep
installing the previous protocol while
maincarries the new one, and nothing says so. Dispatchingbundle.ymlrecovered it within the minute. Recorded as §17.16, with the lesson stated plainly:publishing the releases is not the last step, verifying the bundle moved is — and read
current.jsonthrough/contents/, never/raw/, which is CDN-cached for six hours.Changes
link/v8.md— §7 and §10.4'sPARSER_VERSION; §16's 9b row marked DONE with the releases;§17.15 (the cutover's four org-lead decisions) and §17.16 (what it published, and the bundle)
website/SPAWN_ATLAS.md— the parser version is 6, and why the renumber was the mechanismworking rather than bookkeeping
What remains
9c — runicgateway.com's
platform.json: protocol 7 → 8 and the bundle triple. It is unblockednow:
checkFacts.mjsreads the protocol fromlink'smain, which carries 8 as of this cutover,so the site is currently red by construction.
AI disclosure
Authored with Claude Code (Claude Opus 5). Commits carry the
Co-Authored-Bytrailer.🤖 Generated with Claude Code
https://claude.ai/code/session_016wDDVXWMDz82WqE1i969r4