huskies: create 477_spike_distributed_build_agents_via_bft_crdts_over_websocket

This commit is contained in:
dave
2026-04-04 20:15:37 +00:00
parent 3941abcca8
commit 7b6865b099
@@ -20,7 +20,7 @@ Story markdown files (content/AC), worktrees, and config files remain on the fil
2. **Work claiming**: Two nodes see a story enter current simultaneously. Each writes a claim (node ID) into the CRDT doc. The CRDT merges deterministically — one node wins, losing nodes see the merged state and kill their Claude Code process. Design the merge rule (lowest node ID? earliest timestamp?) and the "loser stops work" mechanism. Worst case: a few seconds of wasted API time on the losing node before merge propagates. 2. **Work claiming**: Two nodes see a story enter current simultaneously. Each writes a claim (node ID) into the CRDT doc. The CRDT merges deterministically — one node wins, losing nodes see the merged state and kill their Claude Code process. Design the merge rule (lowest node ID? earliest timestamp?) and the "loser stops work" mechanism. Worst case: a few seconds of wasted API time on the losing node before merge propagates.
3. **WebSocket transport**: Each node runs `huskies` and connects to peers via WebSocket. Node discovery: static config (`peers = ["ws://laptop-2:3001"]`), mDNS, or rendezvous? What's simplest for a home LAN setup? 3. **WebSocket transport**: Each node runs `huskies` and connects to a known rendezvous point via WebSocket. Static config in `project.toml` (e.g. `rendezvous = "ws://server:3001"`).
4. **Node modes**: Single binary with a flag — `huskies /workspace` (current full mode with chat/web UI) vs `huskies agent --peers ws://host:3001` (build agent mode: syncs state, runs coders, no chat UI). What's the minimum viable agent mode? 4. **Node modes**: Single binary with a flag — `huskies /workspace` (current full mode with chat/web UI) vs `huskies agent --peers ws://host:3001` (build agent mode: syncs state, runs coders, no chat UI). What's the minimum viable agent mode?