Extract signal-client for the socket path and frame iteration !15

merged merged by cmc on 2026-09-04 15:56 UTC · krz/ambient-companions:feat/signal-client into main

cmc

Second of the v1.0 stack. Targets !14; retarget to main once that merges.

default_socket_path was defined three times — the daemon and each renderer — with a README table and a per-binary test keeping the copies honest. The terminal-pet would have made a third copy.

crates/signal-client holds the one definition plus a Frames iterator that yields decoded signals and swallows frames this build cannot decode. signald depends on it for the path alone; it is not a client of its own bus, and the crate name reflects the dominant use rather than that one call. The alternative — leaving signald its own copy — was rejected because two definitions drift as readily as three.

Closes #9

retargeted from feat/schema-v5-health to main: !14 merged

2026-09-04 15:56 UTC