fix(link): a protocol bump owes four declaration sites, not three #175
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/protocol-4-module-pin"
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?
Why
v4.md§5's cross-repo obligation table gavemodule-uoone row —shard_guild_members, theguild.roster/guild.leaveingest, the kind→feature map entries — and stopped there. It never named the pin: the version the website tells the sidecar it speaks, declared twice in that module (DEFAULT_PROTOCOLand theuo_link_config.protocolcolumn default).Both stayed at 3 when protocol 4 shipped. A fresh install then spoke 3 to a protocol-4 sidecar, which
409s rather than mis-parsing — so the deployment read nothing from its shard until an admin edited the number by hand. Existing installs were fine, because their stored row had already been moved by the protocol-3 one-shot and the stored row wins, which is precisely why nobody saw it.Found while standing up a demo deployment for the marketing site's screenshots.
What changes
module-uorow gains the pinned protocol → 4overlay.tomlnote recording the fourth declaration site, what its omission actually cost, and why the failure was invisible on existing installsCode half:
Module-uoPR — the pin, plus a protocol-4 one-shot mirroring the protocol-3 one.Co-Authored-By: Claude <noreply@anthropic.com>