Skip to main content

Module signal

Module signal 

Source
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.
SignalBatch
HTTP batch wrapper for POST /v1/signals/batch.
SignalBatchResponse
Response body for POST /v1/signals/batch.

Enums§

SignalKind
What happened to the target.
SignalTarget
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, mirroring MUR_CHANNEL_REQUIRE_SIG.