chore(modules): bump MODULE_API_VERSION to 1.4.0 — the sidecar rule #147
Reference in New Issue
Block a user
No description provided.
Delete Branch "chore/module-api-1.4.0"
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?
Phase 5, decision 4 (docs#145,
MODULE_SYSTEM.md§2.11.1). Pairs with that PR; either order.What this is
MODULE_API.md§2.7 gains one prohibition: a module does not open a connection to a game server from the website process — a game socket, an RCON channel, a query port, an engine's admin API. It talks to a sidecar, which owns the durable copy of the game's state.This PR is the two declaration sites of the version number that says so.
Why it is minor, not major
No member was added, removed or changed — the surface is byte-for-byte the 1.3.0 surface.
module-uo'scoreApi: "^1.3.0"still resolves, and module-uo already complies, because the sidecar is where it came from.It bumps at all because a module written against 1.3.0 could satisfy every member of
ctxandapiand still be built the wrong way round, and the version is the only thing a module author checks before writing code.Why the rule exists
uo-linkwrites every event and board snapshot into SQLite and serves REST reads from there, so a website that is down, restarting or mid-deploy loses nothing. A module holding the connection itself has nowhere to put what arrives while the website is not running.This is the one §2.7 rule with no CI behind it — an outbound socket is not statically detectable the way an internal
requireis (§5.1) — so it is enforced in review, and stated so that every second module does not re-decide it.Checks
npm run routes:manifestandnpm run swaggerregenerate byte-identical — 166 routes + 2 internal, no spec change.🤖 Generated with Claude Code
https://claude.ai/code/session_018ocYxQWk3EhZe5gWRJXFU8