RAGE #129: implement ZARA/1 protocol and ZeroMQ client #142

Merged
lost-rob0t merged 49 commits from rage/129-zara1-protocol into master 2026-08-22 12:26:13 +00:00
lost-rob0t commented 2026-08-22 07:03:09 +00:00 (Migrated from github.com)

Consumes #129 under TASK #139 / epic #127.

RAGE evidence

  • immutable start: b0bc03590215424db01277cbc4758067a7b854ab
  • research: rage/daemon-129-research.org
  • design: rage/daemon-129-design.org
  • append-only gate evidence: rage/daemon-129-gate.org

Implemented #129 slices

  • strict closed ZARA/1 multipart framing and bounded validation;
  • explicit runtime command/event codecs with no reflection serializer;
  • ROUTER gateway and DEALER ZmqZaraClient behind the existing ZaraClient seam;
  • hello/ping/status/conversation/request correlation;
  • text turn submit/cancel and unsolicited runtime event routing;
  • reconnect and stable-id idempotency handling;
  • bounded pending requests and per-route outbound queues;
  • slow/dead route isolation and ROUTER mandatory-delivery behavior;
  • local-owner-only server integration with owner-private ipc:// endpoint;
  • deterministic safe fallback for Unix IPC path-length limits;
  • focused scripts/test-zara1-protocol.sh included in the full repository gate.

Authentication and hard multi-user isolation remain explicitly deferred to #130/#131. zara remains the client-facing executable and zara-server remains the daemon/service.

TDD evidence

The work was developed as committed red/green slices. Notable later red findings:

  • CI #270: five tests exposed one coherent Unix IPC path-length defect; fixed at 67b0e8dd2ec1c076a1865e583d876e9171bb276f.
  • CI #282 at 61ef9d8e4bcce125ad978d1bc573cc711330e158: the focused gate exposed that turn.completed was emitted by the server codec but dropped by the client event adapter. Both distro audio lanes remained green.
  • production fix 52b447cc9eb7bcf050bba279f03af1b123b9bc3b: turn.completed maps to AgentCompleted, preserving turn/conversation IDs and success.

Final exact-head authority

Candidate: 3ab7d04c6af2e62f00570fb9ebdc731c4eb075c0

CI #284 / run 32572470202: GREEN

  • complete scripts/test-all.sh: PASS
  • nix flake check: PASS
  • packaged nix build: PASS
  • Arch Linux shared-mic lane: PASS
  • Ubuntu 24.04 shared-mic lane: PASS
  • unresolved review threads: none
  • acceptance audit: clean for #129; auth/isolation/audio/client migration remain in their owning later issues

This exact SHA is the merge authority.

Consumes #129 under TASK #139 / epic #127. ## RAGE evidence - immutable start: `b0bc03590215424db01277cbc4758067a7b854ab` - research: `rage/daemon-129-research.org` - design: `rage/daemon-129-design.org` - append-only gate evidence: `rage/daemon-129-gate.org` ## Implemented #129 slices - strict closed `ZARA/1` multipart framing and bounded validation; - explicit runtime command/event codecs with no reflection serializer; - ROUTER gateway and DEALER `ZmqZaraClient` behind the existing `ZaraClient` seam; - hello/ping/status/conversation/request correlation; - text turn submit/cancel and unsolicited runtime event routing; - reconnect and stable-id idempotency handling; - bounded pending requests and per-route outbound queues; - slow/dead route isolation and ROUTER mandatory-delivery behavior; - local-owner-only server integration with owner-private `ipc://` endpoint; - deterministic safe fallback for Unix IPC path-length limits; - focused `scripts/test-zara1-protocol.sh` included in the full repository gate. Authentication and hard multi-user isolation remain explicitly deferred to #130/#131. `zara` remains the client-facing executable and `zara-server` remains the daemon/service. ## TDD evidence The work was developed as committed red/green slices. Notable later red findings: - CI #270: five tests exposed one coherent Unix IPC path-length defect; fixed at `67b0e8dd2ec1c076a1865e583d876e9171bb276f`. - CI #282 at `61ef9d8e4bcce125ad978d1bc573cc711330e158`: the focused gate exposed that `turn.completed` was emitted by the server codec but dropped by the client event adapter. Both distro audio lanes remained green. - production fix `52b447cc9eb7bcf050bba279f03af1b123b9bc3b`: `turn.completed` maps to `AgentCompleted`, preserving turn/conversation IDs and success. ## Final exact-head authority Candidate: `3ab7d04c6af2e62f00570fb9ebdc731c4eb075c0` CI #284 / run `32572470202`: **GREEN** - complete `scripts/test-all.sh`: PASS - `nix flake check`: PASS - packaged `nix build`: PASS - Arch Linux shared-mic lane: PASS - Ubuntu 24.04 shared-mic lane: PASS - unresolved review threads: none - acceptance audit: clean for #129; auth/isolation/audio/client migration remain in their owning later issues This exact SHA is the merge authority.
Sign in to join this conversation.
No description provided.