feat(daemon): Tier B IPC client — live familiar status#5
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Adds Tier B Coven daemon IPC support so familiar entries can be annotated with live daemon status while preserving graceful fallback when the daemon is unavailable.
Changes:
- Introduces a blocking HTTP-over-Unix-socket
DaemonClientwith familiar/session status models. - Re-exports daemon IPC types through
coven_shared. - Updates agent loading to append live familiar status badges when daemon data is available.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
src-rust/crates/core/src/coven_daemon.rs |
Adds the Unix-socket daemon client, response models, parsing logic, and tests. |
src-rust/crates/core/src/lib.rs |
Wires the new daemon module into the core crate. |
src-rust/crates/core/src/coven_shared.rs |
Updates Tier B documentation and re-exports daemon IPC types. |
src-rust/crates/tui/src/agents_view.rs |
Fetches daemon familiar statuses and appends live badges to familiar descriptions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements PR5: Tier B daemon socket client for coven-code.
What's new
src-rust/crates/core/src/coven_daemon.rs— new module:DaemonClient— blocking HTTP-over-Unix-socket client targeting~/.coven/coven.sockDaemonClient::new()— returnsNonewhen socket is absent; never panicsDaemonClient::is_online()— quick liveness checkDaemonClient::familiar_statuses()— callsGET /api/v1/familiars, returnsVec<FamiliarStatus>DaemonClient::active_sessions()— callsGET /api/v1/sessions, filters archived, returnsVec<DaemonSession>UnixStream+ hand-written HTTP/1.0 (no new async/tokio deps)coven_shared.rs— re-exportsDaemonClient,FamiliarStatus,DaemonSessionagents_view.rs—load_agent_definitions()now optionally fetches live familiar statuses from the daemon and appends a badge to each familiar's description (e.g.· active (2 sessions),· online,· offline)Graceful degradation
Tests
4 new tests in
coven_daemon:new_returns_none_when_sock_absent,new_returns_some_when_sock_present,familiar_status_deserializes_from_json,familiar_statuses_returns_empty_on_bad_jsonVerification
cargo check -p claurst-tui✅cargo test -p claurst-core coven_daemon— 4/4 passed ✅cargo test -p claurst-core— 430 passed, 2 pre-existing keybindings failures unrelated to this PR