Skip to content

feat(awareness): unified liveness + working-note now lines#592

Merged
NagyVikt merged 2 commits into
mainfrom
agent/claude/unified-liveness-and-working-notes-aware-2026-06-12-14-54
Jun 12, 2026
Merged

feat(awareness): unified liveness + working-note now lines#592
NagyVikt merged 2 commits into
mainfrom
agent/claude/unified-liveness-and-working-notes-aware-2026-06-12-14-54

Conversation

@NagyVikt

Copy link
Copy Markdown
Collaborator

Summary

Awareness slice of the approved Colony plan (phases 7+8):

  • Unified liveness. Colony had two disconnected liveness systems — heartbeat files vs the SQLite observations DB — so a dead heartbeat writer hid a live agent. readHivemind now accepts sqliteLiveness (MemoryStore.storage satisfies it): heartbeat-stale sessions with an observation inside the heartbeat window reclassify to working with liveness_source: 'sqlite'. Every session carries liveness_source. Wired consistently: hivemind, hivemind_context, bridge_status, startup_panel, and the worker viewer.
  • "What is everyone doing" surface. attention_inbox gains active_working_notes — each other live session's latest task_note_working note per in-scope task (30-min window, whitespace-normalized 120-char preview, hydrate via get_observations) + summary.active_working_note_count. The SessionStart task preface shows up to 3 now: lines after Joined-with, so agents start each session knowing what co-participants are mid-flight on.
  • No storage migration (reuses taskObservationsByKind + existing indices — verified index-backed: idx_observations_session, idx_observations_task_kind_ts).

Test plan

  • pnpm typecheck / pnpm lint / pnpm test (exit 0) / pnpm build
  • New tests: unified-liveness suite (sqlite resurrection, stale-stays-stale, throwing source survives), working-notes inbox suite (latest-per-session + window expiry), preface now-lines cap
  • Independent review: APPROVE (HIGH newline-injection + 2 MEDIUM liveness-parity findings all fixed in-branch)
  • openspec validate --strict + --specs green; docs/mcp.md updated

🤖 Generated with Claude Code

NagyVikt added 2 commits June 12, 2026 15:11
Two disconnected liveness systems (heartbeat files vs SQLite
observations) meant a dead heartbeat writer hid a live agent.
readHivemind now reconciles both when given a sqliteLiveness source and
stamps liveness_source per session. attention_inbox gains
active_working_notes — each other live session's latest
task_note_working note (30-min window) — and the SessionStart preface
shows up to 3 'now:' lines so agents start knowing what everyone else
is mid-flight on. No storage migration.
… parity everywhere

Working-note previews are whitespace-normalized at the source so
multi-line content cannot break single-line renderers. bridge_status,
startup_panel, and the worker viewer now pass sqliteLiveness too — a
SQLite-alive lane must not show dead in one surface and alive in
another.
@NagyVikt NagyVikt merged commit f7b490a into main Jun 12, 2026
6 of 8 checks passed
@NagyVikt NagyVikt deleted the agent/claude/unified-liveness-and-working-notes-aware-2026-06-12-14-54 branch June 12, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant