Expand description
Signal wire format for cross-process memory sync events.
Flows:
- commander writes →
~/.mur/commander/outbox/*.yaml→ POST /v1/signals/batch → mur-server - mur CLI
mur fetch← GET /v1/signals/pending ← mur-server →~/.mur/inbox/*.yaml
Schema version is bumped on breaking wire changes. Additive changes (new fields) are serde-default and backward compatible within the same major version.
Structs§
- Signal
- A single event envelope: who produced what kind of event about which target, with provenance. Carried verbatim through outbox → server → inbox.
- Signal
Batch - HTTP batch wrapper for
POST /v1/signals/batch. - Signal
Batch Response - Response body for
POST /v1/signals/batch.
Enums§
- Signal
Kind - What happened to the target.
- Signal
Target - What the signal refers to.
Constants§
- SIGNAL_
SCHEMA_ VERSION - Current schema version of the Signal wire format. FROZEN at v1 — see module-level comment for change rules.
- SIGNAL_
SIG_ INPUT_ VERSION - Canonicalization version — bump if the sign-input shape changes so an old signature is never silently checked against a new canonicalization.
Functions§
- require_
sig_ from_ env - Parse
MUR_SIGNAL_REQUIRE_SIG: only explicit truthy values enable signature enforcement (=0/=false, or unset, must NOT turn it on) — default-off is migration safety AND the commander wire (frozen v1, signals arrive bearer-token-authed but unsigned). One parser for every reader, mirroringMUR_CHANNEL_REQUIRE_SIG.