docs(modules): module-rust phase 1 as built — the transport, and three org-lead decisions #252
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/rust-phase-1"
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?
Adds
docs/rust-link/, the canonical spec for the Rust bridge, and records phase 1 inmodules/rust/PLAN.mdas §13.Lands with Rust-Link#1, Rust-Plugins#1 and Module-Rust#1 — the four are one change across four repos.
docs/rust-link/PROTOCOL.md— canonical. The game link and the website API, the four declaration sites of the wire version and why they are enforced differently on each half, and everything protocol 1 defines.INTEGRATION.md— standing the bridge up by hand, and which of the three components is wrong when it does not work.Three org-lead decisions, none settled by §2
docs/rust-link/, a new top-level directory mirroringdocs/link/rather than sitting undermodules/rust/. Keeps theuo/linksymmetry and keeps module docs separate from bridge docs.Host/Portfrom the website could cut the link carrying the edit — becomes that phase's guard rather than a reason for a second config mechanism.§11.3 is corrected in place
It read
module.json'sextensionsarray as held against reality by the loader the waymountsis. Only half true. The loader checks that a named slot exists and never that the module filled it —checkDeclaredcoversmountsalone — and only one of R13's two slots can be declared there at all, becausesite.footer.statusis a client slot and naming it fails the load outright.§13.3 — five defects a running server found that no test could
Including a
bootIdthat regenerated on every plugin load rather than every server start, which would have asked core to reconcile its whole ledger on everyoxide.reload, for a world that never moved. And a four-connection SQLite pool over:memory:handing out four empty databases.The phase-0 lesson repeating: a plan claim derived from reading source is provisional until a rig agrees.
§13.4 — two corrections owed back to the Integration Kit
Both recorded for phase 19, and both are the kit being right about the general case and specific about the wrong detail. The kit was also right in a way worth keeping:
noGameConnection.test.js's header predicts the exact failure a module adding a sidecar client will hit and names the one-line fix, which is what happened.🤖 Generated with Claude Code
https://claude.ai/code/session_016wDDVXWMDz82WqE1i969r4