feat(bridge): protocol 6 — first-party clans, one board and five events #6
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/phase-9-clans"
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 9 (R5). The bridge reports Rust's own clan system, which the website turns into core's Teams. Spec:
docs/rust-link/PROTOCOL.md§12. Design:docs/modules/rust/PLAN.md§24.What it sends
clansboard. Every clan the game will list, with its roster and role ranks, plusenabled,backend,supported,truncatedandumodClans. It is re-sent on connect, every 60 s, and about 3 s after any clan hook fires.clan.created,clan.disbanded,clan.member.added,clan.member.leftandclan.member.kicked.LastSeenis never sent, because it is presence (§23).What the game's assemblies dictated
truncated, as does one past 768 KiB (the sidecar drops lines over 1 MiB). The org lead accepted the ceiling (D55).ValueTask. A task that has not completed means another backend, such as Nexus. It is refused with a reason, never waited on from the main thread.createdMs.OnClanMemberAddedhands over a bare id, fired before the game's cache refreshes. The plugin reads the clan back for its identity.OnClanDisbanded(string, List<ulong>), the same name and arity as the game's hook. The bridge types it exactly.overlay.tomlmoves to protocol 6 and dropsClansfromrequires_plugins(D47, amending R6): Teams come from the game's own clans, and the plugin splits a server's players across two systems.Verified
checkPlugin: protocol 6, 29 hooks, every one void and listed. The self-tests pass (14).rg.hooks: created 2, added 3, left 1, kicked 1, colour 1, disbanded 1). The board and all five events reached the website end to end.OnClanDisbandedshapes left the bridge's count at the one real disband, with nothing logged.AI disclosure
Written with Claude Code (Opus 5.5).
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY