Hmbown / Hmbown/Codewhale

Event projection for watch-only clients: broadcast/watch instead of a single-consumer event channel

Open
#6,152 3 comments 0 reactions 0 assignees View on GitHub
enhancement rust
Dominant language
Rust
Stars
41k
Forks
3.6k
Avg merge
13h 59m
Merged PRs (30d)
299

Description

From the 0.9.14 refactor backlog.

Engine events are a single-consumer `mpsc(256)` — one TUI, one exec consumer. The moment the App or an IDE surface wants to watch a session (PRD: one runtime contract), it needs `tokio::sync::broadcast` (lag = drop-policy receipts) or a `watch` of the latest snapshot plus an event log. Design it as part of the ACP/app-server client work (#6088, app-server client issue) — retrofitting later is worse. The shared pet owner (#6109) is the first concrete watch-only consumer.

Size: design + M.

Contributor guide

Open the contributing guide

Research direction

Start with the ACP/app-server client work in #6088 and inspect the engine’s single-consumer mpsc(256) event channel described here. Use the shared pet owner in #6109 as the first watch-only consumer; done means an agreed event-projection design that supports watch-only clients and defines broadcast/watch behavior and lag or drop handling.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.