feat(sidecar): protocol 7 — the raid frame, and again no new code #7

Merged
whitlocktech merged 1 commits from feat/phase-10-engagement into edge 2026-09-23 18:43:45 +00:00

View File

@@ -118,9 +118,21 @@ use tracing_subscriber::EnvFilter;
/// `truncated` when it had to stop, because a board that never arrived would read as a server
/// with no clans.
///
/// # Protocol 7 — a raid frame that names who lives there
///
/// `entity.destroyed` widens to doors, external walls and the tool cupboard, and gains the
/// cupboard's `buildingId` and its `authorized` list, which is what lets the website send the
/// raid alert to the people whose base it was (the module's PLAN.md §25).
///
/// **Again nothing here changed but this number.** The frame is an `event`, stored and served as
/// it arrived. The bump exists because a website that alerts on `authorized` must not pair with a
/// plugin that never sends it — against protocol 6 it would read every raid as a base with no
/// cupboard, and alert nobody while looking healthy.
///
/// `docs/rust-link/PROTOCOL.md` is the specification — §8 the read path, §9 identity, §10 the
/// mirror, §11 configuration, §12 clans; this constant is one of its four declaration sites.
pub const PROTOCOL_VERSION: u32 = 6;
/// mirror, §11 configuration, §12 clans, §13 the raid frame; this constant is one of its four
/// declaration sites.
pub const PROTOCOL_VERSION: u32 = 7;
fn main() -> anyhow::Result<()> {
let args = match cli::parse(std::env::args().skip(1)) {