• v1.49.0 c7b41d77dd

    v1.49.0 — three-state notification control: the gate selector beside the master mute
    All checks were successful
    Checks / Functional checks (push) Successful in 25s
    Stable

    ClaudiuSchuster released this 2026-10-08 14:50:07 +00:00 | 67 commits to main since this release

    Round QQ (steer #36): the mute toggle becomes a three-state notification control against the shipped zcode-dispatch v1.0.27 lineage-gate contract.

    • Gate mode read ladder: env ZDO_NOTIFY_GATE > config notifications.gate > default smart — honest labels (smart · default when unset, · env read-only under an override), invalid values fall back smart with the raw surfaced.
    • Sanctioned write path: atomic, key-preserving config.json surgery (flock sidecar + tmp + fsync + replace; parse-verified; every other key byte-preserved). Per-echo resolution — no restart.
    • Surfaces: header gate selector (🔔 all / 🧠 smart / 🔕 muted, click cycles) + the DISTINCT master mute file toggle; slim line carries both stat-controls; both dims ride the poll so external edits reflect without a reload. /api/notifications extends additively.
    • SS follow-ups: escjs JS-layer escaping for inline handlers (hostile round-trip harness), guardian thresholds via :g, template createdAt stamped at creation.

    Validation: suite 573 green (+37); G1+G2 CDP rig 27/27; G3 semantic rig 11/11 (real dispatcher, fake app server); Super-Linter exit 0.

    Downloads