Commit graph

14 commits

Author SHA1 Message Date
damocles
753409a5ef reminder: fix symlink escape + db bloat cap + handler consistency 2026-05-17 11:26:59 +02:00
müde
e26143a412 dashboard: diff against applied/proposal/<id>, prefer fetched_sha
approval_diff now runs git diff refs/heads/main..refs/tags/
proposal/<id> against the applied repo instead of cobbling a
single-file diff from proposed. consequences: multi-file
proposals show every change, manager amendments in proposed
cannot lie about what'll be deployed, no-op proposals render
an explicit '(proposal matches currently-deployed tree)'.
displayed sha prefers fetched_sha (hive-c0re-vouched) and
falls back to commit_ref only for the brief pre-fetch window.
unified_diff helper + similar dep dropped — git diff is the
source of truth now. dead-code allows on the lifecycle git
helpers + approvals.set_fetched_sha come off since all are
wired up. readme picks up the tag flow + /applied RO mount.
2026-05-15 23:18:17 +02:00
müde
de09503b59 events: persist to sqlite, survive harness restart
hive_ag3nt::events::Bus replaces its in-memory VecDeque with a sqlite-
backed store at /state/hyperhive-events.sqlite (overridable via
HYPERHIVE_EVENTS_DB). emit() inserts a row; history() reads back the
most recent 2000 events. survives harness restart now — operator reload
mid-investigation no longer wipes the trail.

vacuum runs hourly (immediate first sweep): drop rows older than 7
days, then trim to 2000 newest. two-stage so a quiet agent keeps a
useful tail and a chatty one stays bounded. wired into both
hive-ag3nt and hive-m1nd via spawn_events_vacuum.

if the db open fails (e.g. no /state mount in dev), Bus runs in
no-store mode — events still broadcast, just nothing persisted.
2026-05-15 19:42:57 +02:00
müde
9eab28a716 agent ui: live event panel via SSE + stream-json 2026-05-15 15:01:26 +02:00
müde
65a10a3c2b agent: embedded MCP server (rmcp) with send/recv tools 2026-05-15 14:29:57 +02:00
müde
a59fe081f4 Cargo.lock: tokio-stream + similar deps 2026-05-15 00:13:54 +02:00
müde
46ff9c7aee dashboard: error_response takes &str 2026-05-15 00:06:51 +02:00
müde
2b4213d32a Cargo.lock: axum deps 2026-05-14 23:44:32 +02:00
müde
6dbf4eedd7 lifecycle: u16::try_from instead of as-cast 2026-05-14 23:39:53 +02:00
müde
28b3477216 Cargo.lock: rusqlite 2026-05-14 22:17:58 +02:00
müde
58141bdcf0 Cargo.lock: tokio time feature 2026-05-14 21:44:43 +02:00
müde
81059dc836 fmt: rustfmt + Cargo.lock refresh 2026-05-14 20:53:43 +02:00
müde
bb2770856d Cargo.lock: cli scaffolding deps 2026-05-14 20:47:36 +02:00
müde
6686df93a5 cargo workspace skeleton 2026-05-14 20:24:55 +02:00