• v1.55.0 858d01bbd3

    v1.55.0 — named sessions (Pinky UU)
    All checks were successful
    Checks / Functional checks (push) Successful in 29s
    Stable

    ClaudiuSchuster released this 2026-10-08 21:58:26 +00:00 | 62 commits to main since this release

    Steer #42 + folded WW follow-ups.

    • D1 — NAME field in the 🌱 genesis dialog: rides --title verbatim (one line, ≤ 55 code points); empty = the VV-3 derived auto-title byte-identically; wins over the derivation on opted-out doctrine; rides the genesis queue (titleName); shown in the review summary.
    • D2 — ✎ row rename through POST /api/session/<sid>/retitle → the dispatcher's standalone --retitle (the canonical pin helper; NEVER a raw DB write); honest 409 edges verbatim; modal Enter/Esc/blur semantics; classification preserved by construction.
    • THE G1 RIG'S LIVE CATCH — systemd-run 255 textually expands braced parameter forms in the command line: VV-3's ${10}/${a[@]} script forms evaluated EMPTY, so every post-v1.54.0 genesis spawn exec'd dispatcher "". The script now carries zero braced forms; the builder composes the flag pairs.
    • WW-F1 — pass-2 SIGKILL re-verifies every child's cmdline hash (swapped-child PID reuse recorded, never signaled). WW-F3 — the VV-4 brain-brief pointer follows the serving port. WW-F4 — README test count.

    Suite 716 green (+53); E2E rigs + trusted-input CDP 12/12 and 7/7 green; Super-Linter pinned recipe green.

    Downloads
  • v1.54.0 3abee6b512

    v1.54.0 — the emergency interrupt (Pinky WW)
    All checks were successful
    Checks / Functional checks (push) Successful in 29s
    Stable

    ClaudiuSchuster released this 2026-10-08 20:41:02 +00:00 | 63 commits to main since this release

    The owner's hammer 🔨: the emergency interrupt (verified surgical kill, honest guards, durable audit journal) + the ⚠ turn-blocking detection seam (steer #44/#45). Folds VV-2/3/4 and YY-F1/F2/F4. Evidence: 663-test suite, Super-Linter green, G1/G2/G3/G5 E2E rig 36/36, CDP smoke 15/15.

    Downloads
  • v1.53.0 6feb60f065

    v1.53.0 — newborn role doctrine + the first-class agent channel
    All checks were successful
    Checks / Functional checks (push) Successful in 29s
    Stable

    ClaudiuSchuster released this 2026-10-08 18:46:55 +00:00 | 64 commits to main since this release

    Every genesis spawn (dialog AND API — the one staging path) now attaches its role's compact ROLE BRIEF before the user's prompt text: the brain brief carries the topology (owner = prime channel, pinkies talk only to the brain), the bell protocol (systemd-run, END THE TURN — never wait in-turn for a pinky), idling as CORRECT, the ordered doctrine list and the agent-channel pointer; the pinky brief carries the single-round worker essentials. A prompt beginning with DOCTRINE: rides verbatim (power-user opt-out); injection is idempotent under the queue pump's re-feed.

    Surfaces: the spawn record / queue entry / genesis status carry the doctrine field, the audit journal notes every injection, the 🌱 review step shows the doctrine row and the status view hints 📜 doctrine attached.

    The first-class agent channel (steer #46): README §"For agents / inter-session steering" documents the canonical steer endpoint (auto-detected cwd+model, FIFO busy-queue, one-driver-per-cwd exit-3 cap, curl example) and the new read-only GET /api/session//info → {id, cwd, model, role, title}.

    Behavioral proof (fake-HOME rig, real app-server): a rig-born brain dispatched its pinky with the bell wired to itself, ENDED its turn (the doorbell self-queued exit-3 — no in-turn waiting) and reported “done” when the bell woke it; a rig-born pinky carried the worker brief and answered in one round.

    Suite: 624 tests (+25 new).

    Downloads
  • v1.52.0 adec45698e

    v1.52.0 — genesis-born forever: the family album
    All checks were successful
    Checks / Functional checks (push) Successful in 1m2s
    Stable

    ClaudiuSchuster released this 2026-10-08 17:57:43 +00:00 | 65 commits to main since this release

    Steer #48: a genesis birth is a first-class fleet member — visible FOR LIFE.

    • Permanent lineage witness — sid/cwd membership over the genesis journal homes, the genesis result files and the dispatch/bell/usage ledgers passes both gates the buggy first_input stamp fell between; no genesis-born session can vanish from the deck regardless of title state.
    • The learned album never forgets — lineage-album.json keeps membership across every capped source prune and observatory restarts (proven in a fresh process).
    • Steer #49 surface — every mention of a member resolves: a leftover quota-lane row click OPENS the session; the not-dispatcher-driven toast can no longer fire for a member.
    • No widening — exact-match joins only; the requestedPath is not membership; the v1.42.0 interactive-renamed matrix is unregressed.
    • XX-F02 folded — dead-letter history appends ride the dispatcher locked seam (flock sidecar + unique tmp + torn salvage), race-tested against a real appender process.

    Suite: 599 tests (+15). Live repro: the PDrive brain sess_98c08cbf listed again post-install.

    Downloads
  • v1.51.0 e4297e2e57

    v1.51.0 — authoritative dismissal: no zombies across both queues
    All checks were successful
    Checks / Functional checks (push) Successful in 26s
    Stable

    ClaudiuSchuster released this 2026-10-08 16:49:42 +00:00 | 66 commits to main since this release

    Steer #47: a dismissed-and-retried steer delivered anyway. Dismissal is now authoritative across EVERY pending representation: the exact synthetic child AND every same-parent content-fingerprint copy (retry copies die with the original), removed under the dispatcher ledger_io discipline (flock sidecar + salvage + atomic replace), dead-lettered truthfully, and guarded for 15 min against exit-3 re-queues. Retry re-queues exactly one fresh representation (keep arm). The mid-delivery boundary is honest: cannot recall — delivering, chip stays armed. QQ-F1: the expanded-header gate/mute buttons clear the 24 px click-target floor.

    Evidence: 584-test suite (11 new), a real-observatory E2E rig (owner zombie scenario → zero delivery; happy paths; in-flight boundary; live racing writer), a trusted-input CDP smoke, Super-Linter green.

    Downloads
  • 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
  • v1.48.0 bc6d370da3

    v1.48.0
    All checks were successful
    Checks / Functional checks (push) Successful in 25s
    Stable

    ClaudiuSchuster released this 2026-10-02 19:00:52 +00:00 | 68 commits to main since this release

    The context guardian — the self-driving recycle gradient.

    The owner's context-recycle doctrine made self-driving: the guardian watches BRAIN-class sessions (brain-role + masterbrains; pinkies excluded) on the scheduler tick and steers each stage ONCE through the ordinary steer machinery — at 70% the begin-successor-preparation notice (living handoff at ~/logs/-handoff.md), at 78% the transition RECOMMENDATION (seam-picking freedom, 95% max stretch only with the handoff complete on disk). Durable per-sid stage flags survive restarts; a sid never re-fires a stage. Stage hints in the UI wherever contextPct renders (amber prep / mint transition, doctrine never alarm).

    Validation follow-ups from v1.47.0: the concurrency gate now reserves its lane slot inside the critical section (F1 TOCTOU closed), esc() escapes single quotes (F2), _template_upsert strips the name before the previous-lookup (F5, createdAt preserved).

    Knobs: ZDO_GUARDIAN, ZDO_GUARDIAN_PREPARE_PCT (70), ZDO_GUARDIAN_TRANSITION_PCT (78), ZDO_GUARDIAN_STATE_FILE, ZDO_GUARDIAN_PRUNE_MS.

    Downloads
  • v1.47.0 059d73c97c

    v1.47.0 — fleet governance: templates, scheduled births, concurrency queue, advisory lane budgets
    All checks were successful
    Checks / Functional checks (push) Successful in 24s
    Stable

    ClaudiuSchuster released this 2026-10-02 17:51:03 +00:00 | 69 commits to main since this release

    Roadmap lane P2 — run the fleet, not just the sessions. Everything births through the EXISTING genesis rails; the budgets stay advisory.

    • D1 prompt templates — durable store + CRUD API; the 🌱 picker fills the form (prompts + defaults, never rails — a ~/git cwd default still walks the hard refusal)
    • D2 scheduled births — cron-lite recurrence (daily-at HH:MM DST-naive + every-N-hours sliding anchor), 1-min daemon scheduler birthing through the real genesis path with schedule lineage, missed-run policy (30-min grace → run; beyond → marked missed, no storm), failure honesty verbatim + live phase
    • D3 concurrency queue — per-lane cap (default 3), durable queue with honest positions, released by SSE turn-event nudges + status-poll fallback + scheduler ticks, cancelable, no silent drops
    • D4 advisory lane budgets — cwd-keyed daily budgets: review amber + quota day ≤ column; NEVER blocks (the dispatcher's guardrails stay the only enforcement)

    Gates: 35 new tests (suite 504 green), Super-Linter station recipe green, fixture CDP smoke 37/37 (live 2 s scheduler tick, queue drill with cap 1, decline surfacing, regression surfaces).

    Downloads
  • v1.46.0 9ebfae3a49

    v1.46.0 — prompt-area button polish
    All checks were successful
    Checks / Functional checks (push) Successful in 24s
    Stable

    ClaudiuSchuster released this 2026-10-02 16:47:11 +00:00 | 70 commits to main since this release

    Micro polish round (steer #35): the steering console's prompt area.

    • FOCUS/SEND breathing room: the ⤓ fold toggle sat flush against the right-aligned vertical Send strip (gap 0.0 px at 1177) — it now carries the console's 8 px rhythm (margin-right); the grid columns stay flush (the prompt's right edge still touches the tower). Collapsed, the margin resets so the restore bar keeps its full width.
    • Fixed EQUAL toggle pair: ⤢ expand and ⤓ fold wear a fixed equal 36 px width (was glyph-hugging ~27 px, content-derived) with centered glyphs — an evenly sized, comfortable click pair.
    • OO follow-ups accepted: the slim unread stat's decay-only clearing documented (open+read never reaches the server); slimWinOptions' 4-line no-DOM fallback left as-is with rationale.

    G1 geometry (CDP at exactly 1177, fixture rig): gap 0.0 → 8.0 px; widths 27.2 → 36 px fixed equal; glyph centering dx = 0.0; all spot boxes byte-identical. Suite 469 green (6 new); Super-Linter green.

    Downloads
  • v1.45.0 b971ec792f

    v1.45.0 — the capable slim line
    All checks were successful
    Checks / Functional checks (push) Successful in 23s
    Stable

    ClaudiuSchuster released this 2026-10-02 16:03:37 +00:00 | 71 commits to main since this release

    Steer #33/#34 + KK-1.

    The collapsed ~35 px header grows capability IN the line: the mute stat-button (server truth, visibly distinct states), the ◷ time-window popover (exactly the expanded band’s options + the 🧠/🧠↳ exemptions), 🌱 New Session at the line’s end (same dialog, all rails), and ⤒ as the one dedicated expand affordance. The slim unread stat now derives from the API’s per-session steerUnread flag — unopened panels’ steer answers count, no double counting.

    Also fixes a rig-found product bug: the popover’s outside-close now classifies in the capture phase (the brain-toggle re-render detached the click target mid-bubble and wrongly closed the popover).

    Suite 463 green; Super-Linter station recipe green; trusted-click CDP validation green at 1177 and 900.

    Downloads