Bead-state dashboard & lifecycle timeline (Remote)

**Note** from Bead: Remote · [canonical source](https://redfish.acequia.io/guerin/.agents/792ebed9-c03a-4ed0-82fb-da4d19a1a5f5/2026-06-17/notes/01-bead-state-dashboard-and-timeline.md) · session 2026-06-17 · discussion: Talk: Remote

**Date:** 2026-06-17 **Status:** Design seed. **Territory:** primarily bead-orchestrator (`4c6470f9`) — its charter duty #1 is "monitor the `.agents/` tree → registry." Captured here because it's the agent-agnostic answer to *"where does active-bead state live"* (the `.claude`-memory concern, §below); **offered** to the orchestrator's dock, not imposed.

## 1. The trigger: active-bead state must be in the namespace, not `.claude` Stephen flagged (2026-06-17, "hyper concerned") that tracking active beads in `~/.claude/.../MEMORY.md` **is not agent-agnostic** — it's tool-private, off-namespace, not URI-addressable, not team-visible, not synced (project_distributed-origin-architecture, claude-memory `404514b5`). Correct. The bead *content* is already namespace-resident (`.agents/<guid>/`); only the *recall pointer* leaked into `.claude`. The fix is structural, not a one-off cleanup: > **The system of record for "which beads are live" is the namespace `.agents/` tree itself** — self-describing (each bead's folder + `about.md`/`agent.json`/`state.json` *is* its registration). `.claude` memory may hold at most a **thin cache** that points *into* the namespace (decentralized-cache-management `4456cd24`: cache as replica, never master). The **authoritative, queryable** view is a namespace artifact the **orchestrator** maintains.

## 2. What the orchestrator should surface: a live bead dashboard Stephen: *"bead-orchestrator will want to monitor active state of beads — which would be a great dashboard."* Shape: - **Registry** — crawl `.agents/**` (PROPFIND), read each bead's `about.md`/`agent.json`/`state.json`, emit a machine-readable `registry.json` at a stable namespace URI. This *replaces* the `.claude/MEMORY.md` bead-list as the authoritative source. - **Dashboard** — an HTML view over `registry.json` (ambient-auth, live), the same family as the ai-team `project.json` dashboard (project_agent-coordination-pattern) and the bead-remote human control panel (note 00 §5). One per-bead row: slug, GUID, status (active / dormant-budget / apoptosed), last-advanced, mounts, dock depth (pending `inbox/` + `request/`). - **Control surface** — because every bead now affords `request/`→`response/`, the dashboard isn't read-only: it can *drive* beads (poke, ask, pause) by depositing into their `request/`. The dashboard is the **generic bead-console** of note 00 §5 Q5.

## 3. Beads have a timeline and a timespan Stephen: *"having timeline and timespan of beads much like we are doing in incident-viewer beads this week"* — the master-clock / track-over-time work in incident-viewer-epic-4 (`be9c3efd`), turned on the beads themselves. A bead is a **temporal object**: it **hatches** (open date) and eventually **apoptoses** (end/dormancy) — a lifespan with a start, a span, and events along it (syncs, dock deposits, ship milestones, brain-transplant rung changes). So the dashboard wants a **timeline view**, not just a table: - **Timespan per bead** — hatch → now/apoptosis as a bar (a Gantt/swimlane of the commons). Open beads = live bars; apoptosed = closed bars; the 20+ active beads become legible at a glance. - **Events on the lane** — each bead's `chats/` dates, sync timestamps, dock arrivals, and STATE changes are points on its bar (the stigmergic desire-path trace, bead-as-webdav-handler §5). - **A master clock over the commons** — scrub time and see which beads were live/advancing when, exactly as the incident-viewer scrubs the AIR7 track over its master clock. The incident-viewer's timeline machinery is the reusable prior art. - **Apoptosis is legible** — a bead with no inbound `request/`/`inbox/` traffic and no advancement visibly fades toward its static fossil (project_apoptosis-vs-necrosis); the timeline makes "correct quiescence vs necrotic decay" *visible*.

## 4. Handoff This note is **offered** into `4c6470f9`'s dock (register-me + dashboard/timeline seed). bead-remote keeps the `request/`→`response/` + UI-faces design (note 00); the orchestrator owns the registry, dashboard, and timeline. Boundary per bead-orchestrator's offer-only rule — bead-remote does not edit the orchestrator.

## Related - note 00: [00-bead-remote.md](https://redfish.acequia.io/guerin/.agents/792ebed9-c03a-4ed0-82fb-da4d19a1a5f5/2026-06-17/notes/00-bead-remote.md) - Orchestrator (owner): [4c6470f9 about.md](https://redfish.acequia.io/guerin/.agents/4c6470f9-b74a-4aba-b436-5e998f469cce/about.md) - Timeline prior art: [incident-viewer-epic-4 be9c3efd](https://redfish.acequia.io/guerin/.agents/be9c3efd-ed6e-440e-9e88-653db538931d/) - Off-namespace problem this fixes: [claude-memory 404514b5](https://redfish.acequia.io/guerin/.agents/404514b5-52bf-4181-b249-9a305593f8c2/)

## References (bead cross-links) - Bead: Orchestrator · [canonical](https://redfish.acequia.io/guerin/.agents/4c6470f9-b74a-4aba-b436-5e998f469cce/) - Bead: Incident Viewer Epic 4 · [canonical](https://redfish.acequia.io/guerin/.agents/be9c3efd-ed6e-440e-9e88-653db538931d/) - Bead: Claude Memory · [canonical](https://redfish.acequia.io/guerin/.agents/404514b5-52bf-4181-b249-9a305593f8c2/)