bd: backup 2026-03-04 02:07

This commit is contained in:
ZenchantLive 2026-03-03 18:07:07 -08:00
parent 859ec69f60
commit 3381f61b2a
5 changed files with 65 additions and 356 deletions

View file

@ -1,13 +1,13 @@
{
"last_dolt_commit": "irb5sqf5snsansp7tok7qlunl5pgkqeg",
"last_dolt_commit": "1gn9cogcgj02p7pg46f2t9a0nhfusccc",
"last_event_id": 0,
"timestamp": "2026-03-04T01:49:20.59673841Z",
"timestamp": "2026-03-04T02:07:03.864962584Z",
"counts": {
"issues": 559,
"events": 972,
"issues": 472,
"events": 924,
"comments": 12,
"dependencies": 767,
"labels": 990,
"dependencies": 759,
"labels": 842,
"config": 14
}
}

View file

@ -587,7 +587,6 @@
{"created_at":"2026-03-01T18:26:25Z","created_by":"zenchantlive","depends_on_id":"beadboard-6wv","issue_id":"beadboard-9bz","type":"blocks"}
{"created_at":"2026-03-02T19:38:54Z","created_by":"ZenchantLive","depends_on_id":"beadboard-05a","issue_id":"beadboard-9xb","type":"relates-to"}
{"created_at":"2026-03-02T19:38:54Z","created_by":"ZenchantLive","depends_on_id":"beadboard-5r1","issue_id":"beadboard-9xb","type":"relates-to"}
{"created_at":"2026-03-02T19:38:54Z","created_by":"ZenchantLive","depends_on_id":"beadboard-ojo","issue_id":"beadboard-9xb","type":"relates-to"}
{"created_at":"2026-03-02T21:15:29Z","created_by":"ZenchantLive","depends_on_id":"beadboard-ass","issue_id":"beadboard-ass.1","type":"parent-child"}
{"created_at":"2026-03-02T13:30:05Z","created_by":"ZenchantLive","depends_on_id":"beadboard-1bg","issue_id":"beadboard-at4","type":"relates-to"}
{"created_at":"2026-03-02T13:29:55Z","created_by":"ZenchantLive","depends_on_id":"beadboard-5r1","issue_id":"beadboard-at4","type":"relates-to"}
@ -674,12 +673,6 @@
{"created_at":"2026-02-24T01:42:12Z","created_by":"zenchantlive","depends_on_id":"beadboard-gb0","issue_id":"beadboard-gb0.8","type":"parent-child"}
{"created_at":"2026-03-02T14:01:07Z","created_by":"ZenchantLive","depends_on_id":"beadboard-btt","issue_id":"beadboard-i0q","type":"blocks"}
{"created_at":"2026-03-02T14:01:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-c70","issue_id":"beadboard-i0q","type":"relates-to"}
{"created_at":"2026-03-03T17:34:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.1","issue_id":"beadboard-izs.2","type":"blocks"}
{"created_at":"2026-03-03T17:34:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.2","issue_id":"beadboard-izs.3","type":"blocks"}
{"created_at":"2026-03-03T17:34:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.3","issue_id":"beadboard-izs.4","type":"blocks"}
{"created_at":"2026-03-03T17:34:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.4","issue_id":"beadboard-izs.5","type":"blocks"}
{"created_at":"2026-03-03T17:34:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.5","issue_id":"beadboard-izs.6","type":"blocks"}
{"created_at":"2026-03-03T17:34:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.6","issue_id":"beadboard-izs.7","type":"blocks"}
{"created_at":"2026-02-24T01:38:07Z","created_by":"zenchantlive","depends_on_id":"beadboard-uui","issue_id":"beadboard-j3u","type":"parent"}
{"created_at":"2026-03-01T16:53:51Z","created_by":"ZenchantLive","depends_on_id":"beadboard-116","issue_id":"beadboard-jgy","type":"relates-to"}
{"created_at":"2026-03-02T15:34:22Z","created_by":"zenchantlive","depends_on_id":"beadboard-jq5","issue_id":"beadboard-jq5.1","type":"parent-child"}
@ -709,7 +702,6 @@
{"created_at":"2026-03-02T19:29:28Z","created_by":"ZenchantLive","depends_on_id":"beadboard-x6f","issue_id":"beadboard-nq9","type":"relates-to"}
{"created_at":"2026-03-02T15:06:41Z","created_by":"ZenchantLive","depends_on_id":"beadboard-c70","issue_id":"beadboard-nrb","type":"relates-to"}
{"created_at":"2026-03-02T15:06:54Z","created_by":"ZenchantLive","depends_on_id":"beadboard-ydu","issue_id":"beadboard-nrb","type":"blocks"}
{"created_at":"2026-03-02T19:38:54Z","created_by":"ZenchantLive","depends_on_id":"beadboard-9xb","issue_id":"beadboard-ojo","type":"relates-to"}
{"created_at":"2026-03-02T19:29:39Z","created_by":"ZenchantLive","depends_on_id":"beadboard-4k8","issue_id":"beadboard-om4","type":"relates-to"}
{"created_at":"2026-03-02T19:29:28Z","created_by":"ZenchantLive","depends_on_id":"beadboard-8st","issue_id":"beadboard-om4","type":"relates-to"}
{"created_at":"2026-03-02T19:29:39Z","created_by":"ZenchantLive","depends_on_id":"beadboard-cc8","issue_id":"beadboard-om4","type":"relates-to"}

View file

@ -255,9 +255,6 @@
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T19:35:08Z","event_type":"status_changed","id":255,"issue_id":"beadboard-x3l.4","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-x3l.4\",\"title\":\"Replace LeftPanel footer with live workspace stats\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-x3l.4\\n- Title: Replace LeftPanel footer with live workspace stats\\n- Parent/Epic: beadboard-x3l\\n- Dependencies (must be done first): beadboard-x3l.1\\n\\nTASK CONTRACT\\n- Goal: The LeftPanel footer currently shows a hardcoded identity string. Replace it with live stats: number of active agents and number of tasks currently in motion, derived from livenessMap and the live issues array.\\n- Success Criteria:\\n - Footer shows 'N agents active, M tasks in motion' with real counts\\n - Counts update reactively when SSE pushes changes\\n - No hardcoded identity text remains in LeftPanel footer\\n - npm run typecheck passes\\n- Scope:\\n - src/components/shared/left-panel.tsx — update footer section\\n - LeftPanel already receives issues prop — use it for task count\\n - livenessMap passed from UnifiedShell (add to LeftPanelProps if not present)\\n- Out of Scope:\\n - TopBar identity input (beadboard-0fi.1)\\n - Changing LeftPanel navigation or epic tree\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\\n- Reuse shared components and logic; avoid one-off forks.\\n- Keep changes targeted and minimal for this bead.\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Report any remaining risks and follow-up beads explicitly.\",\"status\":\"in_progress\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:34:43Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T03:34:55Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T19:35:43Z","event_type":"status_changed","id":256,"issue_id":"beadboard-x3l","new_value":"{\"notes\":\"Orchestrating Phase 4: x3l.1 closed, x3l.2/3/4 dispatched as parallel agents.\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-x3l\",\"title\":\"Phase 4: Agent Presence\",\"description\":\"TASK CONTEXT\\n- Bead ID: (auto)\\n- Title: Phase 4: Agent Presence\\n- Parent/Epic: none (phase epic)\\n- Dependencies (must be done first): beadboard-0fi (Phase 2 — actor identity in shell)\\n\\nTASK CONTRACT\\n- Goal: Move livenessMap from the deprecated SessionsHeader up to UnifiedShell and surface live agent state on both Social cards and Graph nodes, so an operator can see which agents are active and what they are working on within 5 seconds of opening the app.\\n- Success Criteria:\\n - useSessionFeed called in UnifiedShell, livenessMap available at shell level\\n - SocialCard shows agent avatar and liveness dot for the assigned agent\\n - Graph nodes show agent avatar with pulse animation for stuck agents\\n - LeftPanel footer replaced with live workspace stats (N agents active, M tasks in motion)\\n - npm run typecheck \\u0026\\u0026 npm run lint \\u0026\\u0026 npm run test all pass\\n- Scope:\\n - UnifiedShell livenessMap lift (src/hooks/use-session-feed.ts already exists)\\n - SocialCard agent presence UI\\n - SmartDag/graph node agent presence UI\\n - LeftPanel footer stats\\n- Out of Scope:\\n - Creating new API endpoints (liveness data already flows via SSE)\\n - Agent detail right panel (covered in Phase 1)\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\\n- Reuse shared components and logic; avoid one-off forks.\\n- Keep changes targeted and minimal for this bead.\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Report any remaining risks and follow-up beads explicitly.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"epic\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:29:51Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-02-28T22:29:51Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T19:38:22Z","event_type":"closed","id":257,"issue_id":"beadboard-x3l.4","new_value":"Replaced hardcoded Alex Chen/Lead Ops footer with WorkspaceStatsFooter showing live agent count and in-motion task count. Added 4 tests to left-panel.test.tsx. typecheck+lint+test all pass (2 pre-existing url-state failures excluded).","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T19:38:29Z","event_type":"created","id":258,"issue_id":"beadboard-rnk","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-01T19:38:29Z","event_type":"label_added","id":259,"issue_id":"beadboard-rnk","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: role:orchestrator","created_at":"2026-03-01T19:38:29Z","event_type":"label_added","id":260,"issue_id":"beadboard-rnk","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T19:38:33Z","event_type":"updated","id":261,"issue_id":"beadboard-x3l","new_value":"{\"assignee\":\"beadboard-rnk\",\"notes\":\"Orchestrator agent beadboard-rnk claimed this epic. x3l.1 closed, x3l.2/3/4 dispatched as parallel sub-agents.\"}","old_value":"{\"id\":\"beadboard-x3l\",\"title\":\"Phase 4: Agent Presence\",\"description\":\"TASK CONTEXT\\n- Bead ID: (auto)\\n- Title: Phase 4: Agent Presence\\n- Parent/Epic: none (phase epic)\\n- Dependencies (must be done first): beadboard-0fi (Phase 2 — actor identity in shell)\\n\\nTASK CONTRACT\\n- Goal: Move livenessMap from the deprecated SessionsHeader up to UnifiedShell and surface live agent state on both Social cards and Graph nodes, so an operator can see which agents are active and what they are working on within 5 seconds of opening the app.\\n- Success Criteria:\\n - useSessionFeed called in UnifiedShell, livenessMap available at shell level\\n - SocialCard shows agent avatar and liveness dot for the assigned agent\\n - Graph nodes show agent avatar with pulse animation for stuck agents\\n - LeftPanel footer replaced with live workspace stats (N agents active, M tasks in motion)\\n - npm run typecheck \\u0026\\u0026 npm run lint \\u0026\\u0026 npm run test all pass\\n- Scope:\\n - UnifiedShell livenessMap lift (src/hooks/use-session-feed.ts already exists)\\n - SocialCard agent presence UI\\n - SmartDag/graph node agent presence UI\\n - LeftPanel footer stats\\n- Out of Scope:\\n - Creating new API endpoints (liveness data already flows via SSE)\\n - Agent detail right panel (covered in Phase 1)\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\\n- Reuse shared components and logic; avoid one-off forks.\\n- Keep changes targeted and minimal for this bead.\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Report any remaining risks and follow-up beads explicitly.\",\"notes\":\"Orchestrating Phase 4: x3l.1 closed, x3l.2/3/4 dispatched as parallel agents.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"epic\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:29:51Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T03:35:42Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T19:38:44Z","event_type":"closed","id":262,"issue_id":"beadboard-x3l.4","new_value":"LeftPanel footer replaced with WorkspaceStatsFooter showing live agent count + in-motion tasks from livenessMap/agentStats. Hardcoded Alex Chen removed. Typecheck clean, 10/10 left-panel tests pass.","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T19:40:04Z","event_type":"closed","id":263,"issue_id":"beadboard-x3l.3","new_value":"Implemented: AgentAvatar overlay on graph nodes with stuck-agent pulse animation. Added livenessMap propagation SmartDag→WorkflowGraph→GraphNodeCard. 10 new tests all pass. typecheck+lint (0 errors)+test (only pre-existing 2 failures in url-state-integration) verified.","old_value":""}
@ -297,9 +294,6 @@
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T21:01:19Z","event_type":"updated","id":298,"issue_id":"beadboard-5kf","new_value":"{\"notes\":\"Epic verification summary:\\\\n- Backend write path implemented in src/lib/read-interactions.ts (updateCommentViaDolt/deleteCommentViaDolt).\\\\n- PATCH/DELETE item routes implemented at src/app/api/beads/[id]/comments/[commentId]/route.ts.\\\\n- UI inline edit/delete confirm implemented in src/components/shared/thread-view.tsx and wired in src/components/shared/thread-drawer.tsx.\\\\n- Focused tests pass; typecheck/lint pass (lint warnings only).\\\\n- Full npm run test remains red on unrelated pre-existing URL-state assertions; closure proceeds per explicit user direction to ignore unrelated failures.\\\\nMemory review: no new reusable memory.\"}","old_value":"{\"id\":\"beadboard-5kf\",\"title\":\"Feature: Edit and delete comments in thread drawer\",\"description\":\"## Requirements (IMMUTABLE)\\n- Any comment can be edited or deleted (no per-actor restriction)\\n- Edit: inline textarea replaces comment text; Save commits, Cancel reverts\\n- Delete: two-step — trash icon → row highlights red with Delete?/Cancel → confirm removes\\n- Writes go through Dolt SQL (DELETE/UPDATE on comments table); no bd CLI for these ops\\n- After edit or delete, comment list re-fetches (same pattern as post)\\n- No new modal components — inline UI only\\n\\n## Success Criteria\\n- [ ] Hovering a comment in ThreadView shows pencil + trash icons\\n- [ ] Edit: clicking pencil replaces text with textarea; Save persists via PATCH API; Cancel reverts\\n- [ ] Delete: clicking trash shows red confirm row; Confirm calls DELETE API and removes; Cancel reverts\\n- [ ] PATCH /api/beads/[id]/comments/[commentId] updates text in Dolt\\n- [ ] DELETE /api/beads/[id]/comments/[commentId] removes row from Dolt\\n- [ ] Comment list refreshes automatically after edit or delete\\n- [ ] typecheck + lint + test pass\\n\\n## Anti-Patterns (FORBIDDEN)\\n- NO writing to .beads/issues.jsonl directly (integrity: all writes go through Dolt SQL)\\n- NO confirm modal/dialog component (scope: inline confirmation only, no new modal)\\n- NO per-actor permission checks (design decision: any comment editable in this tool)\\n- NO optimistic UI without server confirmation (correctness: re-fetch after every mutation)\\n- NO new npm packages (existing mysql2 + Dolt client already handles writes)\\n\\n## Approach\\nAdd deleteCommentViaDolt() and updateCommentViaDolt() to read-interactions.ts using the existing getDoltConnection() pool. Wire two new Next.js route handlers. Update CommentItem in thread-view.tsx with hover-triggered edit/delete controls. ThreadDrawer passes edit/delete callbacks down; after success it re-fetches the comment list.\\n\\n## Architecture\\n- src/lib/read-interactions.ts — add deleteCommentViaDolt(), updateCommentViaDolt()\\n- src/app/api/beads/[id]/comments/[commentId]/route.ts — DELETE + PATCH handlers\\n- src/components/shared/thread-view.tsx — CommentItem hover state, inline edit, delete confirm row\\n- src/components/shared/thread-drawer.tsx — pass onEdit/onDelete callbacks, trigger re-fetch\\n\\n## Design Rationale\\n### Problem\\nComments are currently immutable once posted. Users need to fix typos or remove outdated comments without re-adding new ones.\\n\\n### Research Findings\\n**Codebase:**\\n- src/lib/dolt-client.ts — getDoltConnection(projectRoot) returns pooled mysql2 connection; already used for all reads\\n- src/lib/read-interactions.ts — readInteractionsViaBd() runs bd CLI; edit/delete need Dolt SQL instead\\n- src/components/shared/thread-view.tsx — CommentItem renders author/text/timestamp; no edit controls yet\\n- src/components/shared/thread-drawer.tsx — handleCommentSubmit re-fetches after POST; same pattern for edit/delete\\n- bd comments --help — only 'add' subcommand exists; no edit/delete CLI support\\n\\n**Comment schema from Dolt JSON:**\\n{ id: number, issue_id: string, author: string, text: string, created_at: string }\\nTable: comments — DELETE WHERE id = ?, UPDATE SET text = ? WHERE id = ?\\n\\n### Scope Boundaries\\n**In scope:**\\n- Edit comment text inline\\n- Delete comment with confirm step\\n- Dolt SQL write path\\n\\n**Out of scope:**\\n- Edit history / audit trail\\n- Permission checks (any comment editable)\\n- Bulk delete\\n- Comment reactions\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"epic\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T04:43:29Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T04:43:29Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T21:01:19Z","event_type":"closed","id":299,"issue_id":"beadboard-5kf.1","new_value":"Implemented comment edit/delete via Dolt + PATCH/DELETE APIs and wired ThreadView/ThreadDrawer inline edit + two-step delete confirm with post-mutation refresh. Unrelated URL-state test failures are acknowledged and waived per user directive.","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T21:01:20Z","event_type":"closed","id":300,"issue_id":"beadboard-5kf","new_value":"all steps complete","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:13:21Z","event_type":"created","id":301,"issue_id":"beadboard-zqt","new_value":"","old_value":""}
{"actor":"zenchantlive","comment":"Added label: gt:agent","created_at":"2026-03-01T21:13:21Z","event_type":"label_added","id":302,"issue_id":"beadboard-zqt","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: role:orchestrator","created_at":"2026-03-01T21:13:21Z","event_type":"label_added","id":303,"issue_id":"beadboard-zqt","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:13:38Z","event_type":"status_changed","id":304,"issue_id":"beadboard-d2x.1","new_value":"{\"assignee\":\"beadboard-zqt\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-d2x.1\",\"title\":\"Build BlockedTriageModal with inline ArchetypePicker\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-d2x.1\\n- Title: Build BlockedTriageModal with inline ArchetypePicker\\n- Parent/Epic: beadboard-d2x\\n- Dependencies (must be done first): beadboard-8ij.1 (useArchetypePicker hook)\\n\\nTASK CONTRACT\\n- Goal: Build a modal component that lists all blocked tasks with their full blocker chain context and allows the operator to assign an archetype agent to each blocked task inline without dismissing the modal.\\n- Success Criteria:\\n - BlockedTriageModal renders a list of all issues where status === 'blocked'\\n - Each row shows: task title, task ID, blocker chain (use buildBlockedByTree from src/lib if it exists, or derive from issue.dependencies)\\n - Each row has an inline ArchetypePicker (useArchetypePicker hook from beadboard-8ij.1) that assigns and then collapses without closing the modal\\n - Modal is scrollable if blocked list is long\\n - Modal closes via Escape key or close button\\n - npm run typecheck passes\\n- Scope:\\n - src/components/shared/blocked-triage-modal.tsx (new file)\\n - Use shadcn Dialog primitive (already in components/ui/) for the modal shell\\n - Use useArchetypePicker hook for each row's assignment action\\n - Search src/lib/ for buildBlockedByTree or equivalent before writing blocker-chain logic from scratch\\n- Out of Scope:\\n - Wiring modal open/close to TopBar (beadboard-d2x.2)\\n - Changing how issues are marked blocked\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\\n- Reuse shared components and logic; avoid one-off forks.\\n- Keep changes targeted and minimal for this bead.\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Report any remaining risks and follow-up beads explicitly.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:39:47Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T04:55:04Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:13:49Z","event_type":"updated","id":305,"issue_id":"beadboard-d2x.1","new_value":"{\"notes\":\"BlockedTriageModal created at src/components/shared/blocked-triage-modal.tsx. Uses deriveBlockedIds (exported in Task 1) and buildBlockedByTree for blocker chain. Inline archetype picker per row. 12 tests pass. Typecheck passes (pre-existing error in unrelated file). Lint passes.\"}","old_value":"{\"id\":\"beadboard-d2x.1\",\"title\":\"Build BlockedTriageModal with inline ArchetypePicker\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-d2x.1\\n- Title: Build BlockedTriageModal with inline ArchetypePicker\\n- Parent/Epic: beadboard-d2x\\n- Dependencies (must be done first): beadboard-8ij.1 (useArchetypePicker hook)\\n\\nTASK CONTRACT\\n- Goal: Build a modal component that lists all blocked tasks with their full blocker chain context and allows the operator to assign an archetype agent to each blocked task inline without dismissing the modal.\\n- Success Criteria:\\n - BlockedTriageModal renders a list of all issues where status === 'blocked'\\n - Each row shows: task title, task ID, blocker chain (use buildBlockedByTree from src/lib if it exists, or derive from issue.dependencies)\\n - Each row has an inline ArchetypePicker (useArchetypePicker hook from beadboard-8ij.1) that assigns and then collapses without closing the modal\\n - Modal is scrollable if blocked list is long\\n - Modal closes via Escape key or close button\\n - npm run typecheck passes\\n- Scope:\\n - src/components/shared/blocked-triage-modal.tsx (new file)\\n - Use shadcn Dialog primitive (already in components/ui/) for the modal shell\\n - Use useArchetypePicker hook for each row's assignment action\\n - Search src/lib/ for buildBlockedByTree or equivalent before writing blocker-chain logic from scratch\\n- Out of Scope:\\n - Wiring modal open/close to TopBar (beadboard-d2x.2)\\n - Changing how issues are marked blocked\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\\n- Reuse shared components and logic; avoid one-off forks.\\n- Keep changes targeted and minimal for this bead.\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Report any remaining risks and follow-up beads explicitly.\",\"status\":\"in_progress\",\"priority\":2,\"issue_type\":\"task\",\"assignee\":\"beadboard-zqt\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:39:47Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T05:13:39Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:13:58Z","event_type":"status_changed","id":306,"issue_id":"beadboard-d2x.2","new_value":"{\"assignee\":\"beadboard-zqt\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-d2x.2\",\"title\":\"Reroute TopBar blocked button to open BlockedTriageModal\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-d2x.2\\n- Title: Reroute TopBar blocked button to open BlockedTriageModal\\n- Parent/Epic: beadboard-d2x\\n- Dependencies (must be done first): beadboard-d2x.1\\n\\nTASK CONTRACT\\n- Goal: The TopBar 'Blocked Items' button currently toggles a URL param (blockedOnly). Replace this with a modal open trigger that opens BlockedTriageModal, keeping the blockedOnly filter wired from Phase 0 for the social feed but making the primary triage action the modal.\\n- Success Criteria:\\n - Clicking 'Blocked Items' in TopBar opens BlockedTriageModal\\n - BlockedTriageModal receives issues and projectRoot from UnifiedShell\\n - Existing blockedOnly URL toggle in TopBar is either removed or made secondary (decide when reading the component — do not break Phase 0 work)\\n - npm run typecheck passes\\n- Scope:\\n - src/components/shared/top-bar.tsx — change blocked button handler\\n - src/components/shared/unified-shell.tsx — add modal open state, pass to TopBar and BlockedTriageModal\\n- Out of Scope:\\n - Changing BlockedTriageModal internals (beadboard-d2x.1)\\n - Phase 0 blockedOnly social feed filter\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\\n- Reuse shared components and logic; avoid one-off forks.\\n- Keep changes targeted and minimal for this bead.\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Report any remaining risks and follow-up beads explicitly.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:39:47Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T04:55:04Z\"}"}
@ -309,18 +303,12 @@
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:23:02Z","event_type":"closed","id":310,"issue_id":"beadboard-d2x.2","new_value":"TopBar blocked button now opens BlockedTriageModal instead of toggling URL","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:23:02Z","event_type":"closed","id":311,"issue_id":"beadboard-d2x","new_value":"all steps complete","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:23:10Z","event_type":"closed","id":312,"issue_id":"beadboard-d2x.1","new_value":"BlockedTriageModal created with inline archetype picker, blocker chain display, uses deriveBlockedIds for accurate blocked computation","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:40:31Z","event_type":"updated","id":313,"issue_id":"beadboard-zqt","new_value":"{\"notes\":\"Fixed agent name bug: social-cards.ts was using bead.assignee (bead ID) instead of extracting from title/labels. Added extractAgentName() helper. Also added navigation to BlockedTriageModal via onSelectTask callback.\"}","old_value":"{\"id\":\"beadboard-zqt\",\"title\":\"Agent: orchestrator\",\"description\":\"Orchestrates multi-task implementation plans using subagent-driven development\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T05:13:22Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T05:13:22Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:40:47Z","event_type":"created","id":314,"issue_id":"beadboard-6iq","new_value":"","old_value":""}
{"actor":"zenchantlive","comment":"Added label: mem-canonical","created_at":"2026-03-01T21:40:47Z","event_type":"label_added","id":315,"issue_id":"beadboard-6iq","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: mem-hard","created_at":"2026-03-01T21:40:47Z","event_type":"label_added","id":316,"issue_id":"beadboard-6iq","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: memory","created_at":"2026-03-01T21:40:47Z","event_type":"label_added","id":317,"issue_id":"beadboard-6iq","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: memory-ui","created_at":"2026-03-01T21:40:47Z","event_type":"label_added","id":318,"issue_id":"beadboard-6iq","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:41:46Z","event_type":"closed","id":319,"issue_id":"beadboard-zqt","new_value":"Completed: Fixed agent name extraction in social-cards.ts, added navigation to BlockedTriageModal, created memory for UI display patterns","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:43:56Z","event_type":"status_changed","id":320,"issue_id":"bb-buff.4.1","new_value":"{\"status\":\"open\"}","old_value":"{\"id\":\"bb-buff.4.1\",\"title\":\"Core Skill Rewrite: beadboard-driver SKILL.md v4\",\"description\":\"Rewrite skill core contract in `skills/beadboard-driver/SKILL.md` for v4.\\n\\nRequired changes\\n1) Replace legacy \\\"Activity Lease\\\" wording with finalized telemetry/liveness semantics from bb-buff resiliency track.\\n2) Encode strict session loop:\\n - bootstrap/adopt,\\n - reserve,\\n - work + protocol signaling,\\n - typed state updates,\\n - release + closeout evidence.\\n3) Add role/scope/swarm-aware examples (not single-agent-only examples).\\n4) Remove/flag any command examples that no longer exist or were renamed.\\n5) Add a compatibility section explaining what changed from v3 and why.\\n\\nValidation requirements\\n- Every command shown must exist in current CLI surface or be explicitly marked as \\\"pending in linked bead\\\".\\n- Include at least one non-interactive machine-parseable flow example.\\n\\nFiles\\n- skills/beadboard-driver/SKILL.md\\r\\n\",\"acceptance_criteria\":\"SKILL.md v4 reflects bb-buff semantics with no legacy drift, includes swarm/state examples, and documents compatibility delta from prior version.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-14T23:04:17Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-02-14T23:04:17Z\",\"work_type\":\"mutex\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:44:05Z","event_type":"created","id":321,"issue_id":"beadboard-2qy","new_value":"","old_value":""}
{"actor":"zenchantlive","comment":"Added label: gt:agent","created_at":"2026-03-01T21:44:05Z","event_type":"label_added","id":322,"issue_id":"beadboard-2qy","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: role:ui","created_at":"2026-03-01T21:44:05Z","event_type":"label_added","id":323,"issue_id":"beadboard-2qy","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T21:44:55Z","event_type":"closed","id":324,"issue_id":"beadboard-2qy","new_value":"Not doing today - just reviewing bead setup","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T22:11:12Z","event_type":"updated","id":325,"issue_id":"beadboard-xte","new_value":"{\"notes\":\"Progress: Added child task for Fit to Screen control implementation in graph canvas.\"}","old_value":"{\"id\":\"beadboard-xte\",\"title\":\"DAG Views UX Overhaul (Macro/Micro Contexts)\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"epic\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-23T04:45:06Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-02-23T04:45:06Z\",\"work_type\":\"mutex\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T22:11:12Z","event_type":"created","id":326,"issue_id":"beadboard-xte.1","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T22:11:23Z","event_type":"status_changed","id":327,"issue_id":"beadboard-xte.1","new_value":"{\"notes\":\"Implemented in src/components/shared/workflow-graph.tsx: added Fit to screen button in top-right control area; wired to handleFitToScreen() using reactflow fitView().\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-xte.1\",\"title\":\"Add Fit to Screen control to DAG graph canvas\",\"description\":\"Scope: Add a visible Fit to Screen button in the DAG graph view that re-runs ReactFlow fitView after users pan/zoom. Out of scope: layout density controls or node size sliders.\",\"acceptance_criteria\":\"Graph view shows a Fit to screen control; clicking it re-fits the DAG within viewport; typecheck and lint pass.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T06:11:12Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T06:11:12Z\"}"}
@ -387,7 +375,6 @@
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T22:32:57Z","event_type":"updated","id":391,"issue_id":"beadboard-1d7","new_value":"{\"notes\":\"Implemented layout-shape controls in src/components/shared/workflow-graph.tsx: Horizontal/Vertical direction toggle, Compact/Normal density toggle, and retained Fit action. Layout now re-runs dagre with rankdir + spacing settings and updates node source/target port orientation.\\nVerification: npm run typecheck =\\u003e PASS. npm run lint =\\u003e PASS with existing warnings (19 warnings, 0 errors). Memory review: no new reusable memory.\"}","old_value":"{\"id\":\"beadboard-1d7\",\"title\":\"Graph: add layout shape controls (not zoom)\",\"description\":\"Scope: let users change DAG shape so nodes are not forced into a long horizontal line. Implement layout direction toggle (Horizontal/Vertical) and compact spacing option in WorkflowGraph controls.\",\"acceptance_criteria\":\"Graph has layout-shape controls; switching changes dagre rank direction and node/edge orientation; typecheck and lint pass.\",\"notes\":\"Implemented layout-shape controls in src/components/shared/workflow-graph.tsx: Horizontal/Vertical direction toggle, Compact/Normal density toggle, and retained Fit action. Layout now re-runs dagre with rankdir + spacing settings and updates node source/target port orientation.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T06:30:35Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T06:32:45Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T22:32:57Z","event_type":"closed","id":392,"issue_id":"beadboard-1d7","new_value":"Added true DAG shape controls (direction + density) so users can change graph form instead of only zooming viewport.","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:33:13Z","event_type":"updated","id":393,"issue_id":"bb-buff.4.1","new_value":"{\"description\":\"\\\"Rewrite\"}","old_value":"{\"id\":\"bb-buff.4.1\",\"title\":\"Core Skill Rewrite: beadboard-driver SKILL.md v4\",\"description\":\"Rewrite skill core contract in `skills/beadboard-driver/SKILL.md` for v4.\\n\\nRequired changes\\n1) Replace legacy \\\"Activity Lease\\\" wording with finalized telemetry/liveness semantics from bb-buff resiliency track.\\n2) Encode strict session loop:\\n - bootstrap/adopt,\\n - reserve,\\n - work + protocol signaling,\\n - typed state updates,\\n - release + closeout evidence.\\n3) Add role/scope/swarm-aware examples (not single-agent-only examples).\\n4) Remove/flag any command examples that no longer exist or were renamed.\\n5) Add a compatibility section explaining what changed from v3 and why.\\n\\nValidation requirements\\n- Every command shown must exist in current CLI surface or be explicitly marked as \\\"pending in linked bead\\\".\\n- Include at least one non-interactive machine-parseable flow example.\\n\\nFiles\\n- skills/beadboard-driver/SKILL.md\\r\\n\",\"acceptance_criteria\":\"SKILL.md v4 reflects bb-buff semantics with no legacy drift, includes swarm/state examples, and documents compatibility delta from prior version.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-14T23:04:17Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T05:43:56Z\",\"work_type\":\"mutex\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:33:13Z","event_type":"updated","id":394,"issue_id":"bb-format-check","new_value":"{\"description\":\"\\\"Rewrite\"}","old_value":"{\"id\":\"bb-format-check\",\"title\":\"Format Check\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-15T02:34:11Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-02-15T02:34:11Z\",\"work_type\":\"mutex\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:34:18Z","event_type":"closed","id":395,"issue_id":"bb-buff.4.1","new_value":"{\"notes\":\"Replaced by beadboard-1bg\",\"status\":\"closed\"}","old_value":"{\"id\":\"bb-buff.4.1\",\"title\":\"Core Skill Rewrite: beadboard-driver SKILL.md v4\",\"description\":\"\\\"Rewrite\",\"acceptance_criteria\":\"SKILL.md v4 reflects bb-buff semantics with no legacy drift, includes swarm/state examples, and documents compatibility delta from prior version.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-14T23:04:17Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T06:33:13Z\",\"work_type\":\"mutex\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:34:18Z","event_type":"closed","id":396,"issue_id":"bb-buff.4.2","new_value":"{\"notes\":\"Replaced by beadboard-1bg\",\"status\":\"closed\"}","old_value":"{\"id\":\"bb-buff.4.2\",\"title\":\"Reference Pack Rewrite: command matrix, lifecycle, failure modes\",\"description\":\"Refactor skill reference docs to match v4 contract and remove command drift.\\n\\nRequired updates\\n1) `references/command-matrix.md`\\n- remove deprecated entries,\\n- categorize commands by phase (bootstrap, coordination, state, closeout),\\n- annotate required/optional arguments and JSON envelopes.\\n2) `references/session-lifecycle.md`\\n- add swarm-aware and role-routing-aware lifecycle steps,\\n- include handoff and blocker obligations for multi-agent sessions.\\n3) `references/failure-modes.md`\\n- add new failure classes (state mismatch, swarm resolution failure, role fanout empty set, telemetry unavailable fallback),\\n- add deterministic remediation steps.\\n\\nCross-check\\n- reference docs must align with SKILL.md v4 and script behavior.\\n\\nFiles\\n- skills/beadboard-driver/references/command-matrix.md\\n- skills/beadboard-driver/references/session-lifecycle.md\\n- skills/beadboard-driver/references/failure-modes.md\\r\\n\",\"acceptance_criteria\":\"All reference docs are v4-consistent, command-accurate, and remediation-complete for new runtime semantics.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-14T23:04:23Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-02-14T23:04:23Z\",\"work_type\":\"mutex\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:34:19Z","event_type":"closed","id":397,"issue_id":"bb-buff.4.3","new_value":"{\"notes\":\"Replaced by beadboard-1bg\",\"status\":\"closed\"}","old_value":"{\"id\":\"bb-buff.4.3\",\"title\":\"Script Alignment: preflight/readiness/driver-lib v4\",\"description\":\"Align skill scripts with v4 runtime contract and diagnostics.\\n\\nTargets\\n1) `scripts/session-preflight.mjs`\\n- validate availability of required tools/paths for v4 flow,\\n- output machine-readable diagnostics for new orchestration/resiliency expectations.\\n2) `scripts/readiness-report.mjs`\\n- include checks for state/telemetry/routing evidence fields when applicable.\\n3) `scripts/lib/driver-lib.mjs`\\n- centralize any command/path resolution helpers needed by v4.\\n4) Ensure script outputs are stable JSON for downstream automation agents.\\n\\nRules\\n- No hidden interactive prompts.\\n- Clear error codes + remediation in all failure outputs.\\n\\nFiles\\n- skills/beadboard-driver/scripts/session-preflight.mjs\\n- skills/beadboard-driver/scripts/readiness-report.mjs\\n- skills/beadboard-driver/scripts/lib/driver-lib.mjs\\r\\n\",\"acceptance_criteria\":\"Skill scripts emit deterministic JSON diagnostics aligned with v4 contracts and include explicit error-code remediation.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-14T23:04:31Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-02-14T23:04:31Z\",\"work_type\":\"mutex\"}"}
@ -405,7 +392,6 @@
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:35:14Z","event_type":"closed","id":409,"issue_id":"beadboard-1sc","new_value":"Old test bead","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:35:14Z","event_type":"closed","id":410,"issue_id":"beadboard-6lq","new_value":"Old test bead","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:35:15Z","event_type":"closed","id":411,"issue_id":"beadboard-0ui","new_value":"Old test bead","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:35:24Z","event_type":"closed","id":412,"issue_id":"beadboard-rnk","new_value":"Session ended","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:35:25Z","event_type":"closed","id":413,"issue_id":"beadboard-yg7","new_value":"Not working on this now","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:35:43Z","event_type":"status_changed","id":414,"issue_id":"beadboard-1bg.1","new_value":"{\"status\":\"open\"}","old_value":"{\"id\":\"beadboard-1bg.1\",\"title\":\"Memory System Docs\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-1bg.1\\n- Parent: beadboard-1bg\\n- Dependencies: None\\n\\nTASK CONTRACT\\n- Goal: Document how agents use beadboard's memory system\\n- Success Criteria:\\n - Reference docs cover full memory workflow\\n - Includes query commands, provenance validation, contract creation\\n- Scope:\\n - Memory workflow (query → attach → ratify → evolve)\\n - Domain anchors\\n - Canonical memory nodes\\n - Memory contracts\\n - Noise budget limits\\n- Out of Scope:\\n - Frontend UI for memory\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Reference docs in skills/beadboard-driver/references/\\n- Follow help/memory/ patterns\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands: npm run typecheck, npm run lint\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T06:28:39Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T06:28:39Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:35:43Z","event_type":"status_changed","id":415,"issue_id":"beadboard-1bg.2","new_value":"{\"status\":\"open\"}","old_value":"{\"id\":\"beadboard-1bg.2\",\"title\":\"Coord Events + Sessions + Ack Docs\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-1bg.2\\n- Parent: beadboard-1bg\\n- Dependencies: None\\n\\nTASK CONTRACT\\n- Goal: Document coord events, sessions, and message acknowledgment\\n- Success Criteria:\\n - Reference docs for protocol events, inbox handling, ack workflow\\n- Scope:\\n - Coord events (HANDOFF, BLOCKED, RESUME, INFO, INCURSION)\\n - Sessions and inbox\\n - Message ack workflow (unread → read → acked)\\n- Out of Scope:\\n - Implementation details\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Reference docs in skills/beadboard-driver/references/\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands: npm run typecheck, npm run lint\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T06:28:51Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T06:28:51Z\"}"}
@ -484,9 +470,6 @@
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T23:06:14Z","event_type":"status_changed","id":488,"issue_id":"beadboard-tmj","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-tmj\",\"title\":\"[BUG] Epics with no children hidden by hideClosed filter\",\"description\":\"## Context\\nEpics with zero child tasks are hidden in the left panel when hideClosed=true (the default).\\n\\n## Root Cause\\nLine 327 in left-panel.tsx:\\n\\n\\nThis hides ANY epic with matchedChildren=0 when filters are active. Since hideClosed defaults to true, this hides ALL epics that have no children (which is ALL epics currently since none have parent-child deps).\\n\\n## Fix\\nChange condition to only hide if the epic HAS children but they're all filtered out:\\n\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"bug\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T07:05:48Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T07:05:48Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T23:10:47Z","event_type":"updated","id":489,"issue_id":"beadboard-tmj","new_value":"{\"notes\":\"Fixed two issues in left-panel.tsx:\\n1. Line 73: Filter out memory-anchor and brainstorm epics from epic list\\n2. Line 327: Added check to hide closed/tombstone epics when hideClosed=true\\n\\nBefore: ALL epics were hidden because:\\n- hideClosed defaults to true\\n- No code checked epic status, only matchedChildren\\n- All 0-child epics were hidden\\n\\nAfter:\\n- Memory anchors (memory-anchor label) filtered out\\n- Brainstorm epics (brainstorm label) filtered out \\n- Closed/tombstone epics hidden when hideClosed=true\\n- Epics with children only hidden when all children filtered\\n\\nVerification: npm run typecheck PASS, npm run lint PASS (warnings only), npm run test PASS (2 pre-existing failures)\"}","old_value":"{\"id\":\"beadboard-tmj\",\"title\":\"[BUG] Epics with no children hidden by hideClosed filter\",\"description\":\"## Context\\nEpics with zero child tasks are hidden in the left panel when hideClosed=true (the default).\\n\\n## Root Cause\\nLine 327 in left-panel.tsx:\\n\\n\\nThis hides ANY epic with matchedChildren=0 when filters are active. Since hideClosed defaults to true, this hides ALL epics that have no children (which is ALL epics currently since none have parent-child deps).\\n\\n## Fix\\nChange condition to only hide if the epic HAS children but they're all filtered out:\\n\",\"status\":\"in_progress\",\"priority\":0,\"issue_type\":\"bug\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T07:05:48Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T07:06:14Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T23:10:54Z","event_type":"closed","id":490,"issue_id":"beadboard-tmj","new_value":"Fixed: filtered memory-anchor and brainstorm epics, added hideClosed check for epic status","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T13:15:02Z","event_type":"created","id":491,"issue_id":"beadboard-8hq","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-02T13:15:02Z","event_type":"label_added","id":492,"issue_id":"beadboard-8hq","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: role:orchestrator","created_at":"2026-03-02T13:15:02Z","event_type":"label_added","id":493,"issue_id":"beadboard-8hq","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T13:15:38Z","event_type":"status_changed","id":494,"issue_id":"beadboard-1bg","new_value":"{\"assignee\":\"beadboard-8hq\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-1bg\",\"title\":\"[EPIC] BeadBoard Driver Skill v4 Rewrite\",\"description\":\"Rewrite beadboard-driver skill to be a complete agent SDK for interacting with beadboard from any project.\\\\n\\\\nSTRUCTURE:\\\\n1. Memory System Docs (btn.1)\\\\n2. Coord Events + Sessions + Ack Docs (btn.2)\\\\n3. Archetypes + Templates + Swarms Docs (btn.3)\\\\n4. Missions + Realtime Docs (btn.4)\\\\n5. project.md Template (btn.5)\\\\n6. Self-healing Scripts (btn.6)\\\\n7. Tests (btn.7)\\\\n8. Core Skill Rewrite: skill.md v4 (btn.8) - LAST\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"epic\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T06:28:30Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T06:28:30Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T13:29:46Z","event_type":"created","id":495,"issue_id":"beadboard-at4","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: mem-canonical","created_at":"2026-03-02T13:29:46Z","event_type":"label_added","id":496,"issue_id":"beadboard-at4","new_value":null,"old_value":null}
@ -520,17 +503,12 @@
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T13:55:53Z","event_type":"closed","id":524,"issue_id":"beadboard-1bg.8","new_value":"Core v4 skill entrypoint rewrite completed and aligned to external-repo + BeadBoard control-plane operating model.","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T13:55:54Z","event_type":"closed","id":525,"issue_id":"beadboard-1bg","new_value":"all steps complete","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T13:56:27Z","event_type":"updated","id":526,"issue_id":"beadboard-1bg","new_value":"{\"notes\":\"Session completed all child beads with evidence. Memory review: scope-authority correction captured as canonical memory beadboard-at4; no additional reusable memory required.\"}","old_value":"{\"id\":\"beadboard-1bg\",\"title\":\"[EPIC] BeadBoard Driver Skill v4 Rewrite\",\"description\":\"Rewrite beadboard-driver skill to be a complete agent SDK for interacting with beadboard from any project.\\\\n\\\\nSTRUCTURE:\\\\n1. Memory System Docs (btn.1)\\\\n2. Coord Events + Sessions + Ack Docs (btn.2)\\\\n3. Archetypes + Templates + Swarms Docs (btn.3)\\\\n4. Missions + Realtime Docs (btn.4)\\\\n5. project.md Template (btn.5)\\\\n6. Self-healing Scripts (btn.6)\\\\n7. Tests (btn.7)\\\\n8. Core Skill Rewrite: skill.md v4 (btn.8) - LAST\",\"status\":\"closed\",\"priority\":1,\"issue_type\":\"epic\",\"assignee\":\"beadboard-8hq\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T06:28:30Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T21:55:54Z\",\"closed_at\":\"2026-03-02T21:55:54Z\",\"close_reason\":\"all steps complete\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T13:56:36Z","event_type":"updated","id":527,"issue_id":"beadboard-8hq","new_value":"{\"notes\":\"Session orchestration complete: memory prep, epic beadboard-1bg execution, child beads claimed/closed, and NEXT_SESSION_PROMPT updated.\"}","old_value":"{\"id\":\"beadboard-8hq\",\"title\":\"Agent: codex-orchestrator\",\"description\":\"Session orchestrator preparing memory and execution context for beadboard-1bg\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T21:15:03Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T21:15:03Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T13:56:38Z","event_type":"closed","id":528,"issue_id":"beadboard-8hq","new_value":"Session complete.","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T13:59:01Z","event_type":"created","id":529,"issue_id":"beadboard-c70","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: skills","created_at":"2026-03-02T13:59:01Z","event_type":"label_added","id":530,"issue_id":"beadboard-c70","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: installation","created_at":"2026-03-02T13:59:01Z","event_type":"label_added","id":531,"issue_id":"beadboard-c70","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-02T13:59:01Z","event_type":"label_added","id":532,"issue_id":"beadboard-c70","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: documentation","created_at":"2026-03-02T13:59:01Z","event_type":"label_added","id":533,"issue_id":"beadboard-c70","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T14:00:09Z","event_type":"status_changed","id":534,"issue_id":"beadboard-c70","new_value":"{\"assignee\":\"beadboard-8hq\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-c70\",\"title\":\"[EPIC] BeadBoard Installation + Discovery Contract for Driver Skill\",\"description\":\"TASK CONTEXT\\\\n- Bead ID: auto\\\\n- Parent: none\\\\n- Dependencies: none\\\\n\\\\nTASK CONTRACT\\\\n- Goal: Make beadboard-driver reliably detect BeadBoard installation and provide clear install/remediation UX for both agents and humans.\\\\n- Success Criteria:\\\\n - Skill docs include explicit BeadBoard identity and GitHub link\\\\n - Driver scripts produce deterministic install guidance when BeadBoard tooling is missing\\\\n - Global vs repo-local usage model is documented and testable\\\\n- Scope:\\\\n - Installation checks and remediation messages\\\\n - Global package/distribution strategy decision\\\\n - Optional project template contract for global skills\\\\n- Out of Scope:\\\\n - Full package publish implementation unless split into child beads\\\\n\\\\nIMPLEMENTATION CONSTRAINTS\\\\n- Preserve existing bd as source-of-truth workflow semantics\\\\n- Keep user-facing copy simple and explicit\\\\n\\\\nVERIFICATION REQUIREMENTS\\\\n- Required commands: npm run typecheck, npm run lint, npm run test\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"epic\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T21:59:02Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T21:59:02Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T14:00:09Z","event_type":"created","id":535,"issue_id":"beadboard-frf","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-02T14:00:09Z","event_type":"label_added","id":536,"issue_id":"beadboard-frf","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: role:orchestrator","created_at":"2026-03-02T14:00:09Z","event_type":"label_added","id":537,"issue_id":"beadboard-frf","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T14:00:17Z","event_type":"updated","id":538,"issue_id":"beadboard-c70","new_value":"{\"assignee\":\"beadboard-frf\"}","old_value":"{\"id\":\"beadboard-c70\",\"title\":\"[EPIC] BeadBoard Installation + Discovery Contract for Driver Skill\",\"description\":\"TASK CONTEXT\\\\n- Bead ID: auto\\\\n- Parent: none\\\\n- Dependencies: none\\\\n\\\\nTASK CONTRACT\\\\n- Goal: Make beadboard-driver reliably detect BeadBoard installation and provide clear install/remediation UX for both agents and humans.\\\\n- Success Criteria:\\\\n - Skill docs include explicit BeadBoard identity and GitHub link\\\\n - Driver scripts produce deterministic install guidance when BeadBoard tooling is missing\\\\n - Global vs repo-local usage model is documented and testable\\\\n- Scope:\\\\n - Installation checks and remediation messages\\\\n - Global package/distribution strategy decision\\\\n - Optional project template contract for global skills\\\\n- Out of Scope:\\\\n - Full package publish implementation unless split into child beads\\\\n\\\\nIMPLEMENTATION CONSTRAINTS\\\\n- Preserve existing bd as source-of-truth workflow semantics\\\\n- Keep user-facing copy simple and explicit\\\\n\\\\nVERIFICATION REQUIREMENTS\\\\n- Required commands: npm run typecheck, npm run lint, npm run test\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"epic\",\"assignee\":\"beadboard-8hq\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T21:59:02Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T22:00:09Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T14:00:41Z","event_type":"created","id":539,"issue_id":"beadboard-btt","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: skills","created_at":"2026-03-02T14:00:41Z","event_type":"label_added","id":540,"issue_id":"beadboard-btt","new_value":null,"old_value":null}
@ -550,11 +528,6 @@
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T14:52:29Z","event_type":"updated","id":554,"issue_id":"beadboard-i0q","new_value":"{\"notes\":\"Implemented global-skill project context contract: removed in-skill project.md runtime file, added skills/beadboard-driver/project.template.md as template source, added scripts/ensure-project-context.mjs to create \\u003ctarget-repo\\u003e/project.md only when missing, and updated SKILL.md + command matrix accordingly. Added contract test skills/beadboard-driver/tests/ensure-project-context.contract.test.mjs and wired into run-tests.mjs. Verification: node skills/beadboard-driver/tests/run-tests.mjs (pass, 10 tests), npm run typecheck (pass), npm run lint (0 errors, 22 warnings).\"}","old_value":"{\"id\":\"beadboard-i0q\",\"title\":\"Global skill project-context contract (project.md optional path model)\",\"description\":\"TASK CONTEXT\\\\n- Bead ID: beadboard-c70.2\\\\n- Parent: beadboard-c70\\\\n- Dependencies: beadboard-c70.1\\\\n\\\\nTASK CONTRACT\\\\n- Goal: Make project template usage clear for global vs repo-local skill installs.\\\\n- Success Criteria:\\\\n - SKILL.md explains project template as source template and optional target-repo copy\\\\n - scripts optionally support external project context file path (if needed)\\\\n- Scope:\\\\n - docs + contract tests\\\\n- Out of Scope:\\\\n - UI integration changes\\\\n\\\\nVERIFICATION REQUIREMENTS\\\\n- Required commands: npm run typecheck, npm run lint, npm run test\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"assignee\":\"beadboard-frf\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T22:00:44Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T22:49:37Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T14:52:32Z","event_type":"closed","id":555,"issue_id":"beadboard-i0q","new_value":"Global-vs-local project context behavior clarified and implemented via template+ensure workflow.","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T14:52:34Z","event_type":"updated","id":556,"issue_id":"beadboard-c70","new_value":"{\"notes\":\"Completed beadboard-i0q. Remaining epic child: beadboard-05a (global package/distribution strategy decision).\"}","old_value":"{\"id\":\"beadboard-c70\",\"title\":\"[EPIC] BeadBoard Installation + Discovery Contract for Driver Skill\",\"description\":\"TASK CONTEXT\\\\n- Bead ID: auto\\\\n- Parent: none\\\\n- Dependencies: none\\\\n\\\\nTASK CONTRACT\\\\n- Goal: Make beadboard-driver reliably detect BeadBoard installation and provide clear install/remediation UX for both agents and humans.\\\\n- Success Criteria:\\\\n - Skill docs include explicit BeadBoard identity and GitHub link\\\\n - Driver scripts produce deterministic install guidance when BeadBoard tooling is missing\\\\n - Global vs repo-local usage model is documented and testable\\\\n- Scope:\\\\n - Installation checks and remediation messages\\\\n - Global package/distribution strategy decision\\\\n - Optional project template contract for global skills\\\\n- Out of Scope:\\\\n - Full package publish implementation unless split into child beads\\\\n\\\\nIMPLEMENTATION CONSTRAINTS\\\\n- Preserve existing bd as source-of-truth workflow semantics\\\\n- Keep user-facing copy simple and explicit\\\\n\\\\nVERIFICATION REQUIREMENTS\\\\n- Required commands: npm run typecheck, npm run lint, npm run test\",\"notes\":\"Completed beadboard-btt: install/discovery contract + human-convincing SKILL.md framing. Remaining children: beadboard-i0q (global-skill project context contract), beadboard-05a (global package/distribution strategy).\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"epic\",\"assignee\":\"beadboard-frf\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T21:59:02Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T22:09:50Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T14:52:45Z","event_type":"updated","id":557,"issue_id":"beadboard-frf","new_value":"{\"notes\":\"Implemented project template/runtime split for global skill usage and closed beadboard-i0q.\"}","old_value":"{\"id\":\"beadboard-frf\",\"title\":\"Agent: codex-skill-marketing\",\"description\":\"Refine beadboard-driver SKILL.md to sell human value while preserving agent execution contract\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T22:00:09Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T22:00:09Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T14:52:47Z","event_type":"closed","id":558,"issue_id":"beadboard-frf","new_value":"Session scope complete.","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:05:43Z","event_type":"created","id":559,"issue_id":"beadboard-axe","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-02T15:05:43Z","event_type":"label_added","id":560,"issue_id":"beadboard-axe","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: role:orchestrator","created_at":"2026-03-02T15:05:43Z","event_type":"label_added","id":561,"issue_id":"beadboard-axe","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:05:51Z","event_type":"status_changed","id":562,"issue_id":"beadboard-05a","new_value":"{\"assignee\":\"beadboard-axe\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-05a\",\"title\":\"Evaluate global BeadBoard package/distribution strategy\",\"description\":\"TASK CONTEXT\\\\n- Bead ID: beadboard-c70.3\\\\n- Parent: beadboard-c70\\\\n- Dependencies: beadboard-c70.1\\\\n\\\\nTASK CONTRACT\\\\n- Goal: Decide whether to ship a global BeadBoard CLI/install package and define rollout plan.\\\\n- Success Criteria:\\\\n - decision record with tradeoffs and recommendation\\\\n - if yes, follow-up implementation beads created\\\\n- Scope:\\\\n - npm/homebrew/powershell installer options\\\\n - update path/discovery expectations\\\\n- Out of Scope:\\\\n - full implementation in this bead\\\\n\\\\nVERIFICATION REQUIREMENTS\\\\n- Required commands: n/a (decision/documentation bead)\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T22:00:46Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T22:00:46Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:06:13Z","event_type":"created","id":563,"issue_id":"beadboard-ydu","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: installation","created_at":"2026-03-02T15:06:13Z","event_type":"label_added","id":564,"issue_id":"beadboard-ydu","new_value":null,"old_value":null}
@ -630,9 +603,6 @@
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:16:15Z","event_type":"updated","id":634,"issue_id":"beadboard-lgs","new_value":"{\"notes\":\"Superseded by hierarchical execution tree under beadboard-05a.x\"}","old_value":"{\"id\":\"beadboard-lgs\",\"title\":\"Installer docs: one-liner UX + operator quickstart\",\"description\":\"TASK CONTEXT\\\\n- Parent: beadboard-c70 / beadboard-05a\\\\n\\\\nTASK CONTRACT\\\\n- Goal: Publish final user docs for one-liner install and command usage.\\\\n- Success Criteria:\\\\n - docs show windows + linux/mac one-liners\\\\n - docs explain bb vs beadboard and launcher behavior\\\\n - docs align with shipped behavior only\\\\n- Scope: docs + skill boundary notes\\\\n- Out of Scope: non-shipped roadmap claims\\\\n\\\\nVERIFICATION REQUIREMENTS\\\\n- npm run lint\",\"status\":\"deferred\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T23:06:27Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T23:16:14Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:16:37Z","event_type":"updated","id":635,"issue_id":"beadboard-c70","new_value":"{\"assignee\":\"beadboard-axe\"}","old_value":"{\"id\":\"beadboard-c70\",\"title\":\"[EPIC] BeadBoard Installation + Discovery Contract for Driver Skill\",\"description\":\"TASK CONTEXT\\\\n- Bead ID: auto\\\\n- Parent: none\\\\n- Dependencies: none\\\\n\\\\nTASK CONTRACT\\\\n- Goal: Make beadboard-driver reliably detect BeadBoard installation and provide clear install/remediation UX for both agents and humans.\\\\n- Success Criteria:\\\\n - Skill docs include explicit BeadBoard identity and GitHub link\\\\n - Driver scripts produce deterministic install guidance when BeadBoard tooling is missing\\\\n - Global vs repo-local usage model is documented and testable\\\\n- Scope:\\\\n - Installation checks and remediation messages\\\\n - Global package/distribution strategy decision\\\\n - Optional project template contract for global skills\\\\n- Out of Scope:\\\\n - Full package publish implementation unless split into child beads\\\\n\\\\nIMPLEMENTATION CONSTRAINTS\\\\n- Preserve existing bd as source-of-truth workflow semantics\\\\n- Keep user-facing copy simple and explicit\\\\n\\\\nVERIFICATION REQUIREMENTS\\\\n- Required commands: npm run typecheck, npm run lint, npm run test\",\"notes\":\"Completed beadboard-i0q. Remaining epic child: beadboard-05a (global package/distribution strategy decision).\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"epic\",\"assignee\":\"beadboard-frf\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T21:59:02Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T22:52:34Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:17:57Z","event_type":"updated","id":636,"issue_id":"beadboard-05a","new_value":"{\"issue_type\":\"epic\",\"title\":\"[EPIC] Global BeadBoard Installer + Runtime Launch\"}","old_value":"{\"id\":\"beadboard-05a\",\"title\":\"Evaluate global BeadBoard package/distribution strategy\",\"description\":\"TASK CONTEXT\\\\n- Bead ID: beadboard-c70.3\\\\n- Parent: beadboard-c70\\\\n- Dependencies: beadboard-c70.1\\\\n\\\\nTASK CONTRACT\\\\n- Goal: Decide whether to ship a global BeadBoard CLI/install package and define rollout plan.\\\\n- Success Criteria:\\\\n - decision record with tradeoffs and recommendation\\\\n - if yes, follow-up implementation beads created\\\\n- Scope:\\\\n - npm/homebrew/powershell installer options\\\\n - update path/discovery expectations\\\\n- Out of Scope:\\\\n - full implementation in this bead\\\\n\\\\nVERIFICATION REQUIREMENTS\\\\n- Required commands: n/a (decision/documentation bead)\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"assignee\":\"beadboard-axe\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T22:00:46Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T23:05:51Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:30:52Z","event_type":"created","id":637,"issue_id":"beadboard-5jf","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-02T15:30:52Z","event_type":"label_added","id":638,"issue_id":"beadboard-5jf","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: role:orchestrator","created_at":"2026-03-02T15:30:52Z","event_type":"label_added","id":639,"issue_id":"beadboard-5jf","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:31:36Z","event_type":"created","id":640,"issue_id":"beadboard-xz5","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:31:36Z","event_type":"created","id":641,"issue_id":"beadboard-ay9","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: graph","created_at":"2026-03-02T15:31:36Z","event_type":"label_added","id":642,"issue_id":"beadboard-xz5","new_value":null,"old_value":null}
@ -642,9 +612,6 @@
{"actor":"ZenchantLive","comment":"Added label: epic","created_at":"2026-03-02T15:31:36Z","event_type":"label_added","id":646,"issue_id":"beadboard-ay9","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:31:49Z","event_type":"status_changed","id":647,"issue_id":"beadboard-ay9","new_value":"{\"assignee\":\"beadboard-5jf\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-ay9\",\"title\":\"[EPIC] Show Subtasks in DAG\",\"description\":\"Scope: DAG view for an epic must include nested descendant tasks and optionally render hierarchy links.\\\\nOut of Scope: non-graph surfaces and non-epic filtering logic.\\\\nSuccess Criteria: Nested subtasks under an epic are present in DAG data; hierarchy links can be toggled on/off in UI; tests updated with evidence.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"epic\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T23:31:37Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T23:31:37Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:31:49Z","event_type":"status_changed","id":648,"issue_id":"beadboard-xz5","new_value":"{\"assignee\":\"beadboard-5jf\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-xz5\",\"title\":\"Implement epic descendant inclusion + hierarchy edge toggle in DAG\",\"description\":\"Scope: Update graph issue selection for epic context to include all descendants, not only direct children; add hierarchy edge toggle for parent/subtask links in DAG.\\\\nOut of Scope: social view behavior changes and non-DAG cards.\\\\nSuccess Criteria: Nested subtasks appear in DAG; parent/subtask links are optional via toggle; tests cover new behavior.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T23:31:37Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T23:31:37Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T15:34:04Z","event_type":"created","id":649,"issue_id":"beadboard-6wu","new_value":"","old_value":""}
{"actor":"zenchantlive","comment":"Added label: gt:agent","created_at":"2026-03-02T15:34:05Z","event_type":"label_added","id":650,"issue_id":"beadboard-6wu","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: role:ui","created_at":"2026-03-02T15:34:05Z","event_type":"label_added","id":651,"issue_id":"beadboard-6wu","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T15:34:11Z","event_type":"status_changed","id":652,"issue_id":"beadboard-jq5","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-jq5\",\"title\":\"[BRAINSTORM] Project Scope System - UI and Backend\",\"description\":\"TASK CONTEXT\\n- Parent: None (top-level epic)\\n- Dependencies: None\\n\\nTASK CONTRACT\\n- Goal: Add back the project scope system with UI for switching between projects\\n- Success Criteria:\\n - Users can switch projects from UI\\n - Project registry persists\\n- Scope:\\n - Backend: project registry, project switching logic\\n - Frontend: project switcher UI component\\n- Out of Scope:\\n - Agent-specific project detection (agents know their project)\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Follow bead-prompting.md format\\n- Use brainstorming skill before implementation\\n- Reuse existing project-scope.ts patterns\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands: npm run typecheck, npm run lint, npm run test\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"epic\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T06:54:58Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T06:54:58Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T15:34:22Z","event_type":"created","id":653,"issue_id":"beadboard-jq5.1","new_value":"","old_value":""}
{"actor":"zenchantlive","comment":"Added label: frontend","created_at":"2026-03-02T15:34:22Z","event_type":"label_added","id":654,"issue_id":"beadboard-jq5.1","new_value":null,"old_value":null}
@ -655,19 +622,12 @@
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:37:00Z","event_type":"updated","id":659,"issue_id":"beadboard-xz5","new_value":"{\"notes\":\"Implemented DAG subtask visibility and hierarchy links.\\\\n\\\\nChanges:\\\\n- Added src/lib/epic-graph.ts with collectEpicDescendantIds() and buildWorkflowEdges().\\\\n- Updated src/components/graph/smart-dag.tsx to include recursive epic descendants (not just direct children).\\\\n- Updated src/components/shared/workflow-graph.tsx to support hierarchy edge toggle (default on) and render SUBTASK edges alongside BLOCKS edges.\\\\n- Added tests/lib/epic-graph.test.ts and registered it in package.json test script.\\\\n\\\\nTDD evidence:\\\\n1) node --import tsx --test tests/lib/epic-graph.test.ts\\\\n - initial run failed (MODULE_NOT_FOUND: ../../src/lib/epic-graph)\\\\n2) node --import tsx --test tests/lib/epic-graph.test.ts\\\\n - pass: 2 tests, 0 failed\\\\n\\\\nVerification gates:\\\\n- npm run typecheck: PASS\\\\n- npm run lint: PASS (warnings only, 0 errors)\\\\n- npm run test: FAIL (pre-existing/unrelated failures in tests/hooks/url-state-integration.test.ts)\\\\n - /?view=graph - graph view default expected flow got overview\\\\n - /?view=graph\\u0026graphTab=invalid expected flow got overview\\\\n\\\\nMemory review: no new reusable memory.\"}","old_value":"{\"id\":\"beadboard-xz5\",\"title\":\"Implement epic descendant inclusion + hierarchy edge toggle in DAG\",\"description\":\"Scope: Update graph issue selection for epic context to include all descendants, not only direct children; add hierarchy edge toggle for parent/subtask links in DAG.\\\\nOut of Scope: social view behavior changes and non-DAG cards.\\\\nSuccess Criteria: Nested subtasks appear in DAG; parent/subtask links are optional via toggle; tests cover new behavior.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"assignee\":\"beadboard-5jf\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T23:31:37Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T23:31:49Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:37:00Z","event_type":"closed","id":660,"issue_id":"beadboard-xz5","new_value":"Implemented recursive epic descendant inclusion and optional hierarchy (parent/subtask) edges in DAG with tests and verification evidence recorded.","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:37:00Z","event_type":"closed","id":661,"issue_id":"beadboard-ay9","new_value":"all steps complete","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:37:13Z","event_type":"updated","id":662,"issue_id":"beadboard-5jf","new_value":"{\"notes\":\"Session completed: created and closed beads for DAG subtask visibility improvement; implemented recursive epic descendant inclusion + hierarchy edge toggle; ran verification gates with evidence logged in beadboard-xz5. Memory review: no new reusable memory.\"}","old_value":"{\"id\":\"beadboard-5jf\",\"title\":\"Agent: codex-orchestrator\",\"description\":\"Implement DAG hierarchy toggle and close supporting beads\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T23:30:52Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T23:30:52Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T15:37:13Z","event_type":"closed","id":663,"issue_id":"beadboard-5jf","new_value":"Session work completed and handed off.","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T15:37:20Z","event_type":"updated","id":664,"issue_id":"beadboard-jq5.1","new_value":"{\"notes\":\"Added ProjectScopeControls to UnifiedShell after TopBar.\\n- Imported ProjectScopeMode and ProjectScopeControls\\n- Added component between TopBar and main content area\\n- Now visible in all views (Social, Graph, Activity)\\n\\nVerification: npm run typecheck PASS, npm run lint PASS (warnings only), npm run test PASS (2 pre-existing failures)\"}","old_value":"{\"id\":\"beadboard-jq5.1\",\"title\":\"Add ProjectScopeControls to UnifiedShell\",\"description\":\"## Context\\nProjectScopeControls exists in project-scope-controls.tsx but is only rendered in Kanban/Graph/Sessions views. Not in default Social view.\\n\\n## Root Cause\\nUnifiedShell receives projectScopeKey, projectScopeOptions, projectScopeMode props but doesn't render ProjectScopeControls.\\n\\n## Implementation\\n1. Import ProjectScopeControls in unified-shell.tsx\\n2. Add ProjectScopeControls component after TopBar, before main content area\\n3. Pass required props: projectScopeKey, projectScopeOptions, projectScopeMode\\n\\n## Files\\n- src/components/shared/unified-shell.tsx (modify)\\n\\n## Success Criteria\\n- ProjectScopeControls visible in all views (Social, Graph, Activity)\\n- Users can switch projects from UI\\n- Users can add/remove/scan projects\\n\\n## Verification\\nnpm run typecheck \\u0026\\u0026 npm run lint \\u0026\\u0026 npm run test\",\"status\":\"in_progress\",\"priority\":0,\"issue_type\":\"task\",\"assignee\":\"beadboard-6wu\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T23:34:22Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T23:34:30Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T15:37:31Z","event_type":"closed","id":665,"issue_id":"beadboard-jq5.1","new_value":"Added ProjectScopeControls to UnifiedShell - now visible in all views","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T15:37:31Z","event_type":"closed","id":666,"issue_id":"beadboard-jq5","new_value":"all steps complete","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T15:37:52Z","event_type":"closed","id":667,"issue_id":"beadboard-6wu","new_value":"Completed jq5.1 - Added ProjectScopeControls to UnifiedShell","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T16:04:32Z","event_type":"created","id":668,"issue_id":"beadboard-x1y","new_value":"","old_value":""}
{"actor":"zenchantlive","comment":"Added label: bug","created_at":"2026-03-02T16:04:32Z","event_type":"label_added","id":669,"issue_id":"beadboard-x1y","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: frontend","created_at":"2026-03-02T16:04:32Z","event_type":"label_added","id":670,"issue_id":"beadboard-x1y","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T19:14:24Z","event_type":"created","id":671,"issue_id":"beadboard-pxu","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-02T19:14:24Z","event_type":"label_added","id":672,"issue_id":"beadboard-pxu","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: role:orchestrator","created_at":"2026-03-02T19:14:24Z","event_type":"label_added","id":673,"issue_id":"beadboard-pxu","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T19:14:28Z","event_type":"status_changed","id":674,"issue_id":"beadboard-pxu","new_value":"{\"assignee\":\"beadboard-pxu\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-pxu\",\"title\":\"Agent: codex-debug-orchestrator\",\"description\":\"Diagnose and fix frontend/Dolt data mismatch and stale sidebar state\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-03T03:14:24Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-03T03:14:24Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T19:14:28Z","event_type":"status_changed","id":675,"issue_id":"beadboard-x1y","new_value":"{\"assignee\":\"beadboard-pxu\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-x1y\",\"title\":\"[BUG] Epics with no children hidden by hideClosed filter\",\"description\":\"## Context\\nEpics with zero child tasks are hidden in the left panel when hideClosed=true (the default).\\n\\n## Root Cause\\nLine 327 in left-panel.tsx filters out epics with no matched children, but since all epics have 0 children currently, they get hidden.\\n\\n## Notes\\nNEEDS DISCUSSION: Before implementing, discuss with user - the fix affects epic visibility logic.\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"bug\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-03T00:04:32Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-03T00:04:32Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T19:28:11Z","event_type":"updated","id":676,"issue_id":"beadboard-x1y","new_value":"{\"notes\":\"Root cause and fixes for Hide Closed epic leakage:\\\\n\\\\nRoot causes:\\\\n1) Left panel logic exempted selected epics from hide checks, so a selected closed epic (bb-u6f.7) remained visible.\\\\n2) Dependency graph epic chip strip was fed unfiltered epics in one path, so Hide Closed did not consistently apply in that surface.\\\\n3) Runtime data freshness was vulnerable to stale session state when SSE degraded; initial refresh hardening was added.\\\\n\\\\nFixes shipped:\\\\n- left-panel.tsx: Hide Closed now hides closed/tombstone epics even when selected.\\\\n- unified-shell.tsx: when hideClosed=true, selected closed epic is auto-cleared.\\\\n- dependency-graph-page.tsx: EpicChipStrip and selection logic now use hide-closed filtered selectableEpics.\\\\n- page.tsx + use-beads-subscription.ts: force-dynamic + initial silent refresh to reduce stale SSR/session reads.\\\\n\\\\nVerification evidence:\\\\n- node --import tsx --test tests/components/shared/left-panel-filtering.test.ts =\\u003e PASS\\\\n- node --import tsx --test tests/components/shared/unified-shell-hide-closed-contract.test.ts =\\u003e PASS\\\\n- node --import tsx --test tests/components/graph/dependency-graph-hide-closed-contract.test.ts =\\u003e PASS\\\\n- npm run typecheck =\\u003e PASS\\\\n- npm run lint =\\u003e PASS (warnings only)\\\\n- npm run test =\\u003e FAIL (pre-existing unrelated graphTab expectation in tests/hooks/url-state-integration.test.ts)\\\\n\\\\nMemory review trigger: create canonical memories for cross-surface filter invariants and selected-state invalidation under filters.\"}","old_value":"{\"id\":\"beadboard-x1y\",\"title\":\"[BUG] Epics with no children hidden by hideClosed filter\",\"description\":\"## Context\\nEpics with zero child tasks are hidden in the left panel when hideClosed=true (the default).\\n\\n## Root Cause\\nLine 327 in left-panel.tsx filters out epics with no matched children, but since all epics have 0 children currently, they get hidden.\\n\\n## Notes\\nNEEDS DISCUSSION: Before implementing, discuss with user - the fix affects epic visibility logic.\",\"status\":\"in_progress\",\"priority\":0,\"issue_type\":\"bug\",\"assignee\":\"beadboard-pxu\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-03T00:04:32Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-03T03:14:30Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T19:28:11Z","event_type":"closed","id":677,"issue_id":"beadboard-x1y","new_value":"Fixed Hide Closed regression across left panel and graph epic chip surfaces; added selected-state invalidation and regression tests.","old_value":""}
@ -717,12 +677,6 @@
{"actor":"zenchantlive","comment":"Added label: ui","created_at":"2026-03-02T19:36:42Z","event_type":"label_added","id":721,"issue_id":"beadboard-txj.3","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: graph","created_at":"2026-03-02T19:36:42Z","event_type":"label_added","id":722,"issue_id":"beadboard-txj.3","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: visualization","created_at":"2026-03-02T19:36:42Z","event_type":"label_added","id":723,"issue_id":"beadboard-txj.3","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T19:37:23Z","event_type":"created","id":724,"issue_id":"beadboard-8bs","new_value":"","old_value":""}
{"actor":"zenchantlive","comment":"Added label: gt:agent","created_at":"2026-03-02T19:37:23Z","event_type":"label_added","id":725,"issue_id":"beadboard-8bs","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: role:orchestrator","created_at":"2026-03-02T19:37:23Z","event_type":"label_added","id":726,"issue_id":"beadboard-8bs","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T19:37:36Z","event_type":"created","id":727,"issue_id":"beadboard-ojo","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-02T19:37:36Z","event_type":"label_added","id":728,"issue_id":"beadboard-ojo","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: role:orchestrator","created_at":"2026-03-02T19:37:36Z","event_type":"label_added","id":729,"issue_id":"beadboard-ojo","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T19:37:58Z","event_type":"status_changed","id":730,"issue_id":"beadboard-txj.1","new_value":"{\"assignee\":\"beadboard-8bs\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-txj.1\",\"title\":\"Implement graph transitive reduction algorithm\",\"description\":\"Scope: Write a robust algorithm that processes DAG nodes to identify transitive (redundant) edges across paths.\\\\nOut of scope: UI rendering.\\\\nSuccess Criteria: Takes nodes and edges, returns map of edges indicating if they are transitive or direct.\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-03T03:36:09Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-03T03:36:09Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T19:38:49Z","event_type":"created","id":731,"issue_id":"beadboard-9xb","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: mem-canonical","created_at":"2026-03-02T19:38:49Z","event_type":"label_added","id":732,"issue_id":"beadboard-9xb","new_value":null,"old_value":null}
@ -765,9 +719,6 @@
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T19:58:43Z","event_type":"updated","id":769,"issue_id":"beadboard-05a.7","new_value":"{\"notes\":\"Published installer/operator quickstart in README.md: explicit one-liners for install/install.sh and install/install.ps1, shim locations, and beadboard start/open/status commands. Evidence: node --import tsx --test tests/docs/installer-quickstart-contract.test.ts (pass 2/2).\"}","old_value":"{\"id\":\"beadboard-05a.7\",\"title\":\"Installer docs + operator quickstart\",\"description\":\"Publish one-liner docs and command behavior docs aligned with shipped behavior.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"assignee\":\"beadboard-ojo\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T23:15:15Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-03T03:56:42Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T19:58:43Z","event_type":"closed","id":770,"issue_id":"beadboard-05a.7","new_value":"Installer docs and operator quickstart updated to match shipped behavior.","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T19:58:45Z","event_type":"closed","id":771,"issue_id":"beadboard-05a","new_value":"all steps complete","old_value":""}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T20:31:42Z","event_type":"created","id":772,"issue_id":"beadboard-1kt","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-02T20:31:42Z","event_type":"label_added","id":773,"issue_id":"beadboard-1kt","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: role:orchestrator","created_at":"2026-03-02T20:31:42Z","event_type":"label_added","id":774,"issue_id":"beadboard-1kt","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T20:32:06Z","event_type":"created","id":775,"issue_id":"beadboard-vyt","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: installation","created_at":"2026-03-02T20:32:06Z","event_type":"label_added","id":776,"issue_id":"beadboard-vyt","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: cli","created_at":"2026-03-02T20:32:06Z","event_type":"label_added","id":777,"issue_id":"beadboard-vyt","new_value":null,"old_value":null}
@ -777,9 +728,6 @@
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T20:36:21Z","event_type":"updated","id":781,"issue_id":"beadboard-vyt","new_value":"{\"notes\":\"Batch 1 (Tasks 0-2) evidence: Task1 RED: node --import tsx --test tests/docs/runtime-manager-adr-contract.test.ts -\\u003e FAIL ENOENT docs/adr/2026-03-03-runtime-manager-global-install.md. Task1 GREEN: same command -\\u003e PASS (1/1). Task1 commit: a3ca82b. Task2 RED: node --import tsx --test tests/lib/runtime-manager.test.ts -\\u003e FAIL Cannot find module ../../src/lib/runtime-manager. Task2 GREEN: same command -\\u003e PASS (2/2). Task2 commit: 0f33a65. Note: stale .git/index.lock blocked one commit attempt; resolved via node skills/beadboard-driver/scripts/heal-common-issues.mjs --fix-git-index-lock --apply --project-root .\"}","old_value":"{\"id\":\"beadboard-vyt\",\"title\":\"Global installer runtime manager implementation\",\"description\":\"Scope: Implement npm-global-first runtime manager with migration from repo-path shims. Out of Scope: unrelated UI/test stabilization. Success Criteria: Tasks 0-8 from docs/plans/2026-03-03-global-install-runtime-manager.md implemented with verification evidence.\",\"notes\":\"Task 0 baseline (2026-03-03): npm run typecheck PASS (tsc --noEmit exit 0). npm run lint FAIL with 4 errors in .beads/fix.js/.beads/fix2.js (@typescript-eslint/no-require-imports) + 21 warnings in existing UI files. npm run test PASS across enumerated suite (0 fails).\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"assignee\":\"beadboard-1kt\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-03T04:32:07Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-03T04:33:49Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T20:37:23Z","event_type":"updated","id":782,"issue_id":"beadboard-txj.2","new_value":"{\"notes\":\"npm run test passed. Transitive edge styling verified.\"}","old_value":"{\"id\":\"beadboard-txj.2\",\"title\":\"Apply Status Colors and Transitive Context to Graph Edges\",\"description\":\"Scope: Update ReactFlow Edge generation in workflow-graph.tsx, dependency-graph-page.tsx, and specialized-agent-dag.tsx.\\\\nOut of scope: Algorithm calculation.\\\\nSuccess Criteria: Critical/in-progress edges glow bright amber. Standard direct edges are blue/slate. Transitive edges are dimmed/dashed dark gray.\",\"status\":\"in_progress\",\"priority\":0,\"issue_type\":\"task\",\"assignee\":\"beadboard-8bs\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-03T03:36:41Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-03T03:48:25Z\"}"}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T20:39:01Z","event_type":"closed","id":783,"issue_id":"beadboard-txj.2","new_value":"Transitive edges \u0026 status colors successfully implemented and tested.","old_value":""}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T20:43:28Z","event_type":"created","id":784,"issue_id":"beadboard-agent-anti","new_value":"","old_value":""}
{"actor":"zenchantlive","comment":"Added label: gt:agent","created_at":"2026-03-02T20:43:28Z","event_type":"label_added","id":785,"issue_id":"beadboard-agent-anti","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":"Added label: role:orchestrator","created_at":"2026-03-02T20:43:28Z","event_type":"label_added","id":786,"issue_id":"beadboard-agent-anti","new_value":null,"old_value":null}
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-02T20:43:33Z","event_type":"status_changed","id":787,"issue_id":"beadboard-txj.3","new_value":"{\"assignee\":\"beadboard-agent-anti\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-txj.3\",\"title\":\"Implement Graph Focus (Selection) Interactivity\",\"description\":\"Scope: When a node is clicked, highlight inbound/outbound blockers clearly, fading out the rest of the graph.\\\\nSuccess Criteria: The critical chain of a selected task is visually obvious.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-03T03:36:42Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-03T03:36:42Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T20:50:15Z","event_type":"updated","id":788,"issue_id":"beadboard-vyt","new_value":"{\"notes\":\"Batch 2-7 evidence: Task3 RED: node --import tsx --test tests/scripts/beadboard-launcher-runtime.test.ts -\\u003e FAIL missing runtimeRoot/installMode. GREEN: launcher tests pass (beadboard-launcher.test.ts + beadboard-launcher-runtime.test.ts). Commit 205f950. Task4 RED: node --import tsx --test tests/scripts/install-legacy-migration.test.ts -\\u003e FAIL assert.fail placeholder. GREEN: install-wrappers-contract/install-sh-smoke/install-legacy-migration all PASS. Commit 7945ee8. Task5 RED: node --import tsx --test tests/cli/beadboard-cli.test.ts -\\u003e FAIL missing module. GREEN: CLI tests PASS. Commit 4a98ab2. Task6 RED: resolve-bb + session-preflight tests FAIL missing npm-global remediation text. GREEN: both PASS after copy updates. Commit 8df567c. Task7 RED: installer-ci + installer-quickstart tests FAIL missing doctor command/docs text. GREEN: both PASS after CI/docs updates. Commit 6fbd632.\"}","old_value":"{\"id\":\"beadboard-vyt\",\"title\":\"Global installer runtime manager implementation\",\"description\":\"Scope: Implement npm-global-first runtime manager with migration from repo-path shims. Out of Scope: unrelated UI/test stabilization. Success Criteria: Tasks 0-8 from docs/plans/2026-03-03-global-install-runtime-manager.md implemented with verification evidence.\",\"notes\":\"Batch 1 (Tasks 0-2) evidence: Task1 RED: node --import tsx --test tests/docs/runtime-manager-adr-contract.test.ts -\\u003e FAIL ENOENT docs/adr/2026-03-03-runtime-manager-global-install.md. Task1 GREEN: same command -\\u003e PASS (1/1). Task1 commit: a3ca82b. Task2 RED: node --import tsx --test tests/lib/runtime-manager.test.ts -\\u003e FAIL Cannot find module ../../src/lib/runtime-manager. Task2 GREEN: same command -\\u003e PASS (2/2). Task2 commit: 0f33a65. Note: stale .git/index.lock blocked one commit attempt; resolved via node skills/beadboard-driver/scripts/heal-common-issues.mjs --fix-git-index-lock --apply --project-root .\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"assignee\":\"beadboard-1kt\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-03T04:32:07Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-03T04:36:21Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-02T20:50:26Z","event_type":"updated","id":789,"issue_id":"beadboard-vyt","new_value":"{\"notes\":\"Task8 verification (2026-03-03): npm run typecheck PASS after CLI test typing fix. npm run lint FAIL with known pre-existing errors only in .beads/fix.js and .beads/fix2.js (no new lint errors introduced by runtime-manager changes), plus existing warnings. npm run test PASS across explicitly enumerated suite including new runtime/install/cli tests. Targeted acceptance checks PASS: tests/lib/runtime-manager.test.ts, tests/scripts/beadboard-launcher-runtime.test.ts, tests/scripts/install-legacy-migration.test.ts, tests/skills/beadboard-driver/resolve-bb.test.ts.\"}","old_value":"{\"id\":\"beadboard-vyt\",\"title\":\"Global installer runtime manager implementation\",\"description\":\"Scope: Implement npm-global-first runtime manager with migration from repo-path shims. Out of Scope: unrelated UI/test stabilization. Success Criteria: Tasks 0-8 from docs/plans/2026-03-03-global-install-runtime-manager.md implemented with verification evidence.\",\"notes\":\"Batch 2-7 evidence: Task3 RED: node --import tsx --test tests/scripts/beadboard-launcher-runtime.test.ts -\\u003e FAIL missing runtimeRoot/installMode. GREEN: launcher tests pass (beadboard-launcher.test.ts + beadboard-launcher-runtime.test.ts). Commit 205f950. Task4 RED: node --import tsx --test tests/scripts/install-legacy-migration.test.ts -\\u003e FAIL assert.fail placeholder. GREEN: install-wrappers-contract/install-sh-smoke/install-legacy-migration all PASS. Commit 7945ee8. Task5 RED: node --import tsx --test tests/cli/beadboard-cli.test.ts -\\u003e FAIL missing module. GREEN: CLI tests PASS. Commit 4a98ab2. Task6 RED: resolve-bb + session-preflight tests FAIL missing npm-global remediation text. GREEN: both PASS after copy updates. Commit 8df567c. Task7 RED: installer-ci + installer-quickstart tests FAIL missing doctor command/docs text. GREEN: both PASS after CI/docs updates. Commit 6fbd632.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"assignee\":\"beadboard-1kt\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-03T04:32:07Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-03T04:50:15Z\"}"}
@ -885,41 +833,6 @@
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:29:11Z","event_type":"label_added","id":890,"issue_id":"beadboard-izs","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: mail","created_at":"2026-03-03T17:29:11Z","event_type":"label_added","id":891,"issue_id":"beadboard-izs","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: skills","created_at":"2026-03-03T17:29:11Z","event_type":"label_added","id":892,"issue_id":"beadboard-izs","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:33:01Z","event_type":"created","id":911,"issue_id":"beadboard-izs.1","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:33:01Z","event_type":"label_added","id":912,"issue_id":"beadboard-izs.1","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:33:01Z","event_type":"label_added","id":913,"issue_id":"beadboard-izs.1","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: design","created_at":"2026-03-03T17:33:01Z","event_type":"label_added","id":914,"issue_id":"beadboard-izs.1","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: mail","created_at":"2026-03-03T17:33:01Z","event_type":"label_added","id":915,"issue_id":"beadboard-izs.1","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:33:18Z","event_type":"created","id":916,"issue_id":"beadboard-izs.2","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:33:18Z","event_type":"label_added","id":917,"issue_id":"beadboard-izs.2","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:33:18Z","event_type":"label_added","id":918,"issue_id":"beadboard-izs.2","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: implementation","created_at":"2026-03-03T17:33:18Z","event_type":"label_added","id":919,"issue_id":"beadboard-izs.2","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: mail","created_at":"2026-03-03T17:33:18Z","event_type":"label_added","id":920,"issue_id":"beadboard-izs.2","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:33:18Z","event_type":"created","id":921,"issue_id":"beadboard-izs.3","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:33:18Z","event_type":"label_added","id":922,"issue_id":"beadboard-izs.3","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:33:18Z","event_type":"label_added","id":923,"issue_id":"beadboard-izs.3","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: implementation","created_at":"2026-03-03T17:33:18Z","event_type":"label_added","id":924,"issue_id":"beadboard-izs.3","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: mail","created_at":"2026-03-03T17:33:18Z","event_type":"label_added","id":925,"issue_id":"beadboard-izs.3","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:33:38Z","event_type":"created","id":926,"issue_id":"beadboard-izs.4","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:33:38Z","event_type":"label_added","id":927,"issue_id":"beadboard-izs.4","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:33:38Z","event_type":"label_added","id":928,"issue_id":"beadboard-izs.4","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: implementation","created_at":"2026-03-03T17:33:38Z","event_type":"label_added","id":929,"issue_id":"beadboard-izs.4","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: mail","created_at":"2026-03-03T17:33:38Z","event_type":"label_added","id":930,"issue_id":"beadboard-izs.4","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:33:39Z","event_type":"created","id":931,"issue_id":"beadboard-izs.5","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:33:39Z","event_type":"label_added","id":932,"issue_id":"beadboard-izs.5","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:33:39Z","event_type":"label_added","id":933,"issue_id":"beadboard-izs.5","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: mail","created_at":"2026-03-03T17:33:39Z","event_type":"label_added","id":934,"issue_id":"beadboard-izs.5","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: scripts","created_at":"2026-03-03T17:33:39Z","event_type":"label_added","id":935,"issue_id":"beadboard-izs.5","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:33:57Z","event_type":"created","id":936,"issue_id":"beadboard-izs.6","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:33:57Z","event_type":"label_added","id":937,"issue_id":"beadboard-izs.6","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:33:57Z","event_type":"label_added","id":938,"issue_id":"beadboard-izs.6","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: mail","created_at":"2026-03-03T17:33:57Z","event_type":"label_added","id":939,"issue_id":"beadboard-izs.6","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: tests","created_at":"2026-03-03T17:33:57Z","event_type":"label_added","id":940,"issue_id":"beadboard-izs.6","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:33:57Z","event_type":"created","id":941,"issue_id":"beadboard-izs.7","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:33:57Z","event_type":"label_added","id":942,"issue_id":"beadboard-izs.7","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:33:57Z","event_type":"label_added","id":943,"issue_id":"beadboard-izs.7","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: documentation","created_at":"2026-03-03T17:33:57Z","event_type":"label_added","id":944,"issue_id":"beadboard-izs.7","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: mail","created_at":"2026-03-03T17:33:57Z","event_type":"label_added","id":945,"issue_id":"beadboard-izs.7","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:34:21Z","event_type":"created","id":946,"issue_id":"beadboard-maf","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:34:21Z","event_type":"label_added","id":947,"issue_id":"beadboard-maf","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: documentation","created_at":"2026-03-03T17:34:21Z","event_type":"label_added","id":948,"issue_id":"beadboard-maf","new_value":null,"old_value":null}
@ -970,3 +883,42 @@
{"actor":"ZenchantLive","comment":"Added label: documentation","created_at":"2026-03-03T17:37:55Z","event_type":"label_added","id":993,"issue_id":"beadboard-maf.10","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: skill-md","created_at":"2026-03-03T17:37:55Z","event_type":"label_added","id":994,"issue_id":"beadboard-maf.10","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: skills","created_at":"2026-03-03T17:37:55Z","event_type":"label_added","id":995,"issue_id":"beadboard-maf.10","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:54:06Z","event_type":"updated","id":996,"issue_id":"beadboard-izs","new_value":"{\"description\":\"## EPIC CONTEXT\\ntools/bb.ts inside BeadBoard already implements a full bb agent coordination CLI (register, list, show, activity-lease, send, inbox, read, ack, reserve, release, status) backed by src/lib/agent-mail.ts, src/lib/agent-registry.ts, and src/lib/agent-reservations.ts. External agents cannot access this — it's internal to the BeadBoard repo. The global bb npm CLI (beadboard-cli.ts) only has start/open/status/doctor/uninstall.\\n\\n## EPIC GOAL\\nExpose the existing coordination stack to: (1) external agents via the global bb CLI, (2) the BeadBoard frontend dashboard, and (3) bd mail delegate routing.\\n\\n## SCOPE\\n- Wire bb agent commands into beadboard-cli.ts (global npm install)\\n- Add /api/agents/mail and /api/agents/reservations Next.js routes\\n- Add agent mail UI to Social/Activity views (inbox badge, HANDOFF/BLOCKED display)\\n- Configure bd mail to delegate to bb\\n- Tests + reference doc for v5 skill\\n\\n## OUT OF SCOPE\\n- Rebuilding the coordination libs (already done)\\n- SSE live updates for mail (polling sufficient for v1)\\n- Sending messages from the UI (read/ack only in v1)\"}","old_value":"{\"id\":\"beadboard-izs\",\"title\":\"[EPIC] bb mail: BeadBoard-native coordination messaging\",\"description\":\"Scope: Add bb mail subcommand to the bb global CLI package, implementing a BeadBoard-native persistent messaging system for agent coordination.\\\\n\\\\nOut of Scope: Replacing bd task tracking, building a full Gastown-style orchestration runtime, or supporting cross-repo federation in v1.\\\\n\\\\nMotivation: bd mail requires an external delegate (gt mail from Gastown). gt is a Go-based full multi-agent runtime — wrong dependency for bb. Building bb mail natively keeps the entire coordination stack within the npm-installable BeadBoard ecosystem.\\\\n\\\\nDesign:\\\\n- Messages stored as type=event beads with labels: mail, mail:unread|mail:read|mail:acked\\\\n- Recipient encoded as label: mail:to:\\u003cagent-id\\u003e\\\\n- bd query surfaces them natively; BeadBoard UI renders them in session/activity stream\\\\n- Agents configure once: bd config set mail.delegate 'bb mail'\\\\n- Ack after output (Gastown design principle: don't delay human-readable display)\\\\n- Ephemeral coordination uses bd comments add; bb mail is for persistent messages that must survive session death\\\\n\\\\nCommand surface:\\\\n bb mail send \\u003cto-agent-id\\u003e --bead \\u003cid\\u003e --category HANDOFF|BLOCKED|RESUME|INFO --subject '...' --body '...'\\\\n bb mail inbox [--agent \\u003cid\\u003e] [--state unread|read|acked]\\\\n bb mail read \\u003cmessage-id\\u003e\\\\n bb mail ack \\u003cmessage-id\\u003e\\\\n\\\\nSuccess Criteria:\\\\n- bb mail send creates a bead with correct labels and links\\\\n- bb mail inbox returns correctly filtered messages\\\\n- bb mail read marks message as mail:read\\\\n- bb mail ack marks message as mail:acked\\\\n- bd mail inbox delegates to bb mail correctly\\\\n- Tests pass on Linux/WSL and Windows\\\\n- Reference doc explains setup and usage for agents\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"epic\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-04T01:29:11Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T01:29:11Z\"}"}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:55:57Z","event_type":"created","id":997,"issue_id":"beadboard-izs.1","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:55:58Z","event_type":"label_added","id":998,"issue_id":"beadboard-izs.1","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:55:58Z","event_type":"label_added","id":999,"issue_id":"beadboard-izs.1","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: coordination","created_at":"2026-03-03T17:55:58Z","event_type":"label_added","id":1000,"issue_id":"beadboard-izs.1","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: audit","created_at":"2026-03-03T17:55:58Z","event_type":"label_added","id":1001,"issue_id":"beadboard-izs.1","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:56:04Z","event_type":"created","id":1002,"issue_id":"beadboard-izs.2","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:56:04Z","event_type":"label_added","id":1003,"issue_id":"beadboard-izs.2","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:56:04Z","event_type":"label_added","id":1004,"issue_id":"beadboard-izs.2","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: implementation","created_at":"2026-03-03T17:56:04Z","event_type":"label_added","id":1005,"issue_id":"beadboard-izs.2","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: cli","created_at":"2026-03-03T17:56:04Z","event_type":"label_added","id":1006,"issue_id":"beadboard-izs.2","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:56:10Z","event_type":"created","id":1007,"issue_id":"beadboard-izs.3","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:56:10Z","event_type":"label_added","id":1008,"issue_id":"beadboard-izs.3","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:56:10Z","event_type":"label_added","id":1009,"issue_id":"beadboard-izs.3","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: frontend","created_at":"2026-03-03T17:56:10Z","event_type":"label_added","id":1010,"issue_id":"beadboard-izs.3","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: api","created_at":"2026-03-03T17:56:10Z","event_type":"label_added","id":1011,"issue_id":"beadboard-izs.3","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:56:11Z","event_type":"created","id":1012,"issue_id":"beadboard-izs.4","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:56:11Z","event_type":"label_added","id":1013,"issue_id":"beadboard-izs.4","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:56:11Z","event_type":"label_added","id":1014,"issue_id":"beadboard-izs.4","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: frontend","created_at":"2026-03-03T17:56:11Z","event_type":"label_added","id":1015,"issue_id":"beadboard-izs.4","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: ui","created_at":"2026-03-03T17:56:11Z","event_type":"label_added","id":1016,"issue_id":"beadboard-izs.4","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:56:13Z","event_type":"created","id":1017,"issue_id":"beadboard-izs.5","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:56:13Z","event_type":"label_added","id":1018,"issue_id":"beadboard-izs.5","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:56:13Z","event_type":"label_added","id":1019,"issue_id":"beadboard-izs.5","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: mail","created_at":"2026-03-03T17:56:13Z","event_type":"label_added","id":1020,"issue_id":"beadboard-izs.5","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: scripts","created_at":"2026-03-03T17:56:13Z","event_type":"label_added","id":1021,"issue_id":"beadboard-izs.5","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:56:26Z","event_type":"created","id":1022,"issue_id":"beadboard-izs.6","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T17:56:26Z","event_type":"label_added","id":1023,"issue_id":"beadboard-izs.6","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T17:56:26Z","event_type":"label_added","id":1024,"issue_id":"beadboard-izs.6","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: tests","created_at":"2026-03-03T17:56:27Z","event_type":"label_added","id":1025,"issue_id":"beadboard-izs.6","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: coordination","created_at":"2026-03-03T17:56:27Z","event_type":"label_added","id":1026,"issue_id":"beadboard-izs.6","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T17:58:01Z","event_type":"created","id":1027,"issue_id":"beadboard-2i2","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-03T17:58:01Z","event_type":"label_added","id":1028,"issue_id":"beadboard-2i2","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: role:orchestrator","created_at":"2026-03-03T17:58:01Z","event_type":"label_added","id":1029,"issue_id":"beadboard-2i2","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:07:03Z","event_type":"created","id":1030,"issue_id":"beadboard-izs.7","new_value":"","old_value":""}
{"actor":"ZenchantLive","comment":"Added label: agents","created_at":"2026-03-03T18:07:03Z","event_type":"label_added","id":1031,"issue_id":"beadboard-izs.7","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: bb","created_at":"2026-03-03T18:07:03Z","event_type":"label_added","id":1032,"issue_id":"beadboard-izs.7","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: documentation","created_at":"2026-03-03T18:07:03Z","event_type":"label_added","id":1033,"issue_id":"beadboard-izs.7","new_value":null,"old_value":null}
{"actor":"ZenchantLive","comment":"Added label: coordination","created_at":"2026-03-03T18:07:03Z","event_type":"label_added","id":1034,"issue_id":"beadboard-izs.7","new_value":null,"old_value":null}

File diff suppressed because one or more lines are too long

View file

@ -41,8 +41,6 @@
{"issue_id":"bb-18e.9","label":"graph"}
{"issue_id":"bb-18e.9","label":"routing"}
{"issue_id":"bb-18e.9","label":"ux"}
{"issue_id":"bb-1d1","label":"gt:agent"}
{"issue_id":"bb-1d1","label":"swarm:test-swarm-1"}
{"issue_id":"bb-1es","label":"kanban"}
{"issue_id":"bb-1es","label":"ux"}
{"issue_id":"bb-1es","label":"workflow"}
@ -58,12 +56,8 @@
{"issue_id":"bb-1es.4","label":"details"}
{"issue_id":"bb-1es.4","label":"kanban"}
{"issue_id":"bb-1es.4","label":"workflow"}
{"issue_id":"bb-1xj","label":"agent"}
{"issue_id":"bb-1xj","label":"gt:agent"}
{"issue_id":"bb-1y7","label":"agents"}
{"issue_id":"bb-1y7","label":"refactor"}
{"issue_id":"bb-22l","label":"gt:agent"}
{"issue_id":"bb-22l","label":"role:ui"}
{"issue_id":"bb-29x","label":"perf"}
{"issue_id":"bb-29x","label":"quality"}
{"issue_id":"bb-29x","label":"testing"}
@ -75,22 +69,12 @@
{"issue_id":"bb-29x.3","label":"perf"}
{"issue_id":"bb-29x.4","label":"docs"}
{"issue_id":"bb-29x.4","label":"runbook"}
{"issue_id":"bb-3dv","label":"gt:agent"}
{"issue_id":"bb-3dv","label":"role:ui"}
{"issue_id":"bb-3ha","label":"gt:agent"}
{"issue_id":"bb-3ha","label":"role:ui"}
{"issue_id":"bb-3pr","label":"api"}
{"issue_id":"bb-3pr","label":"smoke"}
{"issue_id":"bb-3wy","label":"postmortem"}
{"issue_id":"bb-3wy","label":"realtime"}
{"issue_id":"bb-3wy","label":"sse"}
{"issue_id":"bb-3wy","label":"status"}
{"issue_id":"bb-54x","label":"gt:agent"}
{"issue_id":"bb-54x","label":"role:graph"}
{"issue_id":"bb-5am","label":"gt:agent"}
{"issue_id":"bb-5am","label":"role:ui"}
{"issue_id":"bb-5pw","label":"gt:agent"}
{"issue_id":"bb-5pw","label":"swarm:test-swarm-1"}
{"issue_id":"bb-6aj","label":"multi-project"}
{"issue_id":"bb-6aj","label":"scanner"}
{"issue_id":"bb-6aj.1","label":"config"}
@ -141,21 +125,6 @@
{"issue_id":"bb-92d.5","label":"windows"}
{"issue_id":"bb-92d.6","label":"guardrail"}
{"issue_id":"bb-92d.6","label":"safety"}
{"issue_id":"bb-98c","label":"gt:agent"}
{"issue_id":"bb-98c","label":"role:ui"}
{"issue_id":"bb-active-agent","label":"gt:agent"}
{"issue_id":"bb-active-agent","label":"role:infra"}
{"issue_id":"bb-agent-a","label":"gt:agent"}
{"issue_id":"bb-agent-a","label":"role:ui"}
{"issue_id":"bb-agent-b","label":"gt:agent"}
{"issue_id":"bb-agent-b","label":"role:backend"}
{"issue_id":"bb-agent-graph-1","label":"gt:agent"}
{"issue_id":"bb-agent-graph-1","label":"role:graph"}
{"issue_id":"bb-agent-ui-1","label":"gt:agent"}
{"issue_id":"bb-agent-ui-1","label":"role:ui"}
{"issue_id":"bb-atf","label":"gt:agent"}
{"issue_id":"bb-atf","label":"role:ui"}
{"issue_id":"bb-atf","label":"swarm:beadboard-2on"}
{"issue_id":"bb-atl","label":"smoke"}
{"issue_id":"bb-atl","label":"writeback"}
{"issue_id":"bb-b4j","label":"design-system"}
@ -245,7 +214,6 @@
{"issue_id":"bb-bc4.5","label":"visual"}
{"issue_id":"bb-bq6","label":"api"}
{"issue_id":"bb-bq6","label":"smoke"}
{"issue_id":"bb-bridge-fix-mlnaja4j","label":"gt:agent"}
{"issue_id":"bb-buff","label":"agents"}
{"issue_id":"bb-buff","label":"molecules"}
{"issue_id":"bb-buff","label":"orchestration"}
@ -352,9 +320,6 @@
{"issue_id":"bb-bvn.2","label":"ui"}
{"issue_id":"bb-bvn.3","label":"analysis"}
{"issue_id":"bb-bvn.3","label":"graph"}
{"issue_id":"bb-daemon-test-mln8e4tf","label":"gt:agent"}
{"issue_id":"bb-daemon-test-mln8e4tf","label":"role:tester"}
{"issue_id":"bb-daemon-test-mln8e4tf","label":"swarm:daemon-test"}
{"issue_id":"bb-dcv.2","label":"agents"}
{"issue_id":"bb-dcv.2","label":"cli"}
{"issue_id":"bb-dcv.2","label":"design"}
@ -376,68 +341,12 @@
{"issue_id":"bb-dcv.8","label":"agents"}
{"issue_id":"bb-dcv.8","label":"docs"}
{"issue_id":"bb-dcv.8","label":"skill"}
{"issue_id":"bb-debug-mln9knzs","label":"gt:agent"}
{"issue_id":"bb-debug-mln9knzs","label":"swarm:bb-buff"}
{"issue_id":"bb-debug-test-mln83q18","label":"gt:agent"}
{"issue_id":"bb-dwz","label":"gt:agent"}
{"issue_id":"bb-dwz","label":"role:ui"}
{"issue_id":"bb-final-mlnalaqz","label":"gt:agent"}
{"issue_id":"bb-final-mlnalaqz","label":"swarm:bb-buff"}
{"issue_id":"bb-final-mlnar702","label":"gt:agent"}
{"issue_id":"bb-final-mlnar702","label":"swarm:bb-buff"}
{"issue_id":"bb-final-mlnar702","label":"swarm:debug"}
{"issue_id":"bb-format-check","label":"gt:agent"}
{"issue_id":"bb-format-check","label":"rig:test-rig-xyz"}
{"issue_id":"bb-fresh-test-mln8canu","label":"gt:agent"}
{"issue_id":"bb-graph-agent-1","label":"gt:agent"}
{"issue_id":"bb-graph-agent-1","label":"role:graph"}
{"issue_id":"bb-green-falcon","label":"gt:agent"}
{"issue_id":"bb-green-falcon","label":"role:ui"}
{"issue_id":"bb-idem-test-mln8hp8j","label":"gt:agent"}
{"issue_id":"bb-idem-test-mln8pdgh","label":"gt:agent"}
{"issue_id":"bb-idem-test-mln97lyt","label":"gt:agent"}
{"issue_id":"bb-idem-test-mln9hraq","label":"gt:agent"}
{"issue_id":"bb-idem-test-mln9hraq","label":"swarm:bb-buff"}
{"issue_id":"bb-invalid-epic-mln9hraq","label":"gt:agent"}
{"issue_id":"bb-invepic-mln9perd","label":"gt:agent"}
{"issue_id":"bb-join-mln9perd","label":"gt:agent"}
{"issue_id":"bb-join-mln9perd","label":"swarm:bb-buff"}
{"issue_id":"bb-join-mlna9nbo","label":"gt:agent"}
{"issue_id":"bb-join-test-mln7xyls","label":"gt:agent"}
{"issue_id":"bb-join-test-mln8hp8j","label":"gt:agent"}
{"issue_id":"bb-join-test-mln8pdgh","label":"gt:agent"}
{"issue_id":"bb-join-test-mln8xxn4","label":"gt:agent"}
{"issue_id":"bb-join-test-mln8xxn4","label":"role:tester"}
{"issue_id":"bb-join-test-mln97lyt","label":"gt:agent"}
{"issue_id":"bb-join-test-mln9hraq","label":"gt:agent"}
{"issue_id":"bb-leave-mln9perd","label":"gt:agent"}
{"issue_id":"bb-leave-test-mln8hp8j","label":"gt:agent"}
{"issue_id":"bb-leave-test-mln8pdgh","label":"gt:agent"}
{"issue_id":"bb-leave-test-mln9hraq","label":"gt:agent"}
{"issue_id":"bb-linus-swarm","label":"gt:agent"}
{"issue_id":"bb-linus-swarm","label":"swarm:debug"}
{"issue_id":"bb-linus-swarm","label":"swarm:debug-allow-stale"}
{"issue_id":"bb-linus-swarm","label":"swarm:debug-test"}
{"issue_id":"bb-linus-swarm","label":"swarm:test-flush"}
{"issue_id":"bb-lvl","label":"realtime"}
{"issue_id":"bb-lvl","label":"sse"}
{"issue_id":"bb-lvl","label":"status"}
{"issue_id":"bb-m1-mln9perd","label":"gt:agent"}
{"issue_id":"bb-m2-mln9perd","label":"gt:agent"}
{"issue_id":"bb-m2-mln9perd","label":"swarm:bb-buff"}
{"issue_id":"bb-member1-mln9hraq","label":"gt:agent"}
{"issue_id":"bb-member1-mln9hraq","label":"role:tester"}
{"issue_id":"bb-member2-mln9hraq","label":"gt:agent"}
{"issue_id":"bb-member3-mln9hraq","label":"gt:agent"}
{"issue_id":"bb-n7p","label":"kanban"}
{"issue_id":"bb-n7p","label":"status"}
{"issue_id":"bb-n7p","label":"swimlane"}
{"issue_id":"bb-nolabel-test-mln8pdgh","label":"gt:agent"}
{"issue_id":"bb-nolabel-test-mln9hraq","label":"gt:agent"}
{"issue_id":"bb-nuy","label":"gt:agent"}
{"issue_id":"bb-nuy","label":"role:ui"}
{"issue_id":"bb-only-ui-agent","label":"gt:agent"}
{"issue_id":"bb-only-ui-agent","label":"role:ui"}
{"issue_id":"bb-q1s","label":"editing"}
{"issue_id":"bb-q1s","label":"mutation"}
{"issue_id":"bb-q1s","label":"ui"}
@ -454,21 +363,6 @@
{"issue_id":"bb-q1s.4","label":"ux"}
{"issue_id":"bb-q1s.4","label":"verification"}
{"issue_id":"bb-review-cleanup","label":"code-quality"}
{"issue_id":"bb-silver-castle","label":"gt:agent"}
{"issue_id":"bb-silver-castle","label":"role:backend"}
{"issue_id":"bb-smoke-mln9e525","label":"gt:agent"}
{"issue_id":"bb-smoke-mln9e525","label":"swarm:test"}
{"issue_id":"bb-step-test-mln872rm","label":"gt:agent"}
{"issue_id":"bb-switch-mln9perd","label":"gt:agent"}
{"issue_id":"bb-switch-mlna9nbo","label":"gt:agent"}
{"issue_id":"bb-switch-mlna9nbo","label":"swarm:bb-buff.2"}
{"issue_id":"bb-switch-test-mln7xyls","label":"gt:agent"}
{"issue_id":"bb-switch-test-mln8hp8j","label":"gt:agent"}
{"issue_id":"bb-switch-test-mln8pdgh","label":"gt:agent"}
{"issue_id":"bb-switch-test-mln8xxn4","label":"gt:agent"}
{"issue_id":"bb-switch-test-mln97lyt","label":"gt:agent"}
{"issue_id":"bb-switch-test-mln9hraq","label":"gt:agent"}
{"issue_id":"bb-test-agent","label":"gt:agent"}
{"issue_id":"bb-tpc","label":"realtime"}
{"issue_id":"bb-tpc","label":"sse"}
{"issue_id":"bb-tpc","label":"watcher"}
@ -552,20 +446,8 @@
{"issue_id":"bb-u6f.7.5","label":"navigation"}
{"issue_id":"bb-u6f.7.5","label":"planning"}
{"issue_id":"bb-u6f.7.5","label":"rollout"}
{"issue_id":"bb-ui-agent-1","label":"gt:agent"}
{"issue_id":"bb-ui-agent-1","label":"role:ui"}
{"issue_id":"bb-ui-agent-2","label":"gt:agent"}
{"issue_id":"bb-ui-agent-2","label":"role:ui"}
{"issue_id":"bb-ui2.27","label":"bb-ui2.9.1"}
{"issue_id":"bb-ui2.28","label":"bb-ui2.9.2"}
{"issue_id":"bb-upd-test-mln8981k","label":"gt:agent"}
{"issue_id":"bb-upd-test-mln8981k","label":"swarm:manual-test"}
{"issue_id":"bb-verify-mlnadaip","label":"gt:agent"}
{"issue_id":"bb-verify-mlnadaip","label":"swarm:manual-test"}
{"issue_id":"bb-verify-mlnadaip","label":"swarm:shell-test"}
{"issue_id":"bb-verify-mlnavzwu","label":"gt:agent"}
{"issue_id":"bb-verify-mlnavzwu","label":"swarm:bb-buff"}
{"issue_id":"bb-verify2-mlnaouad","label":"gt:agent"}
{"issue_id":"bb-xhm","label":"activity"}
{"issue_id":"bb-xhm","label":"timeline"}
{"issue_id":"bb-xhm.1","label":"model"}
@ -590,12 +472,6 @@
{"issue_id":"bb-ymg.3","label":"state"}
{"issue_id":"bb-ymg.4","label":"dnd"}
{"issue_id":"bb-ymg.4","label":"kanban"}
{"issue_id":"bb-z6s","label":"gt:agent"}
{"issue_id":"bb-z6s","label":"role:ui"}
{"issue_id":"bb-zenchantlive","label":"gt:agent"}
{"issue_id":"bb-zenchantlive","label":"role:architect"}
{"issue_id":"bb-zzr","label":"gt:agent"}
{"issue_id":"bb-zzr","label":"swarm:test-swarm-1"}
{"issue_id":"beadboard-05a","label":"decision"}
{"issue_id":"beadboard-05a","label":"installation"}
{"issue_id":"beadboard-05a","label":"skills"}
@ -661,8 +537,6 @@
{"issue_id":"beadboard-1bg.8","label":"documentation"}
{"issue_id":"beadboard-1bg.8","label":"skill-md"}
{"issue_id":"beadboard-1bg.8","label":"skills"}
{"issue_id":"beadboard-1kt","label":"gt:agent"}
{"issue_id":"beadboard-1kt","label":"role:orchestrator"}
{"issue_id":"beadboard-27u","label":"installation"}
{"issue_id":"beadboard-27u","label":"windows"}
{"issue_id":"beadboard-2e6","label":"critique"}
@ -671,8 +545,8 @@
{"issue_id":"beadboard-2fo","label":"cli"}
{"issue_id":"beadboard-2fo","label":"installation"}
{"issue_id":"beadboard-2fo","label":"runtime"}
{"issue_id":"beadboard-2qy","label":"gt:agent"}
{"issue_id":"beadboard-2qy","label":"role:ui"}
{"issue_id":"beadboard-2i2","label":"gt:agent"}
{"issue_id":"beadboard-2i2","label":"role:orchestrator"}
{"issue_id":"beadboard-3cv","label":"cli"}
{"issue_id":"beadboard-3cv","label":"status"}
{"issue_id":"beadboard-3cv","label":"ux"}
@ -688,8 +562,6 @@
{"issue_id":"beadboard-4vr","label":"memory"}
{"issue_id":"beadboard-4vr","label":"planning"}
{"issue_id":"beadboard-4vr","label":"roadmap"}
{"issue_id":"beadboard-5jf","label":"gt:agent"}
{"issue_id":"beadboard-5jf","label":"role:orchestrator"}
{"issue_id":"beadboard-5m0","label":"cli"}
{"issue_id":"beadboard-5m0","label":"diagnostics"}
{"issue_id":"beadboard-5m0","label":"status"}
@ -712,16 +584,10 @@
{"issue_id":"beadboard-6iq","label":"mem-hard"}
{"issue_id":"beadboard-6iq","label":"memory"}
{"issue_id":"beadboard-6iq","label":"memory-ui"}
{"issue_id":"beadboard-6wu","label":"gt:agent"}
{"issue_id":"beadboard-6wu","label":"role:ui"}
{"issue_id":"beadboard-76p","label":"memory"}
{"issue_id":"beadboard-76p","label":"memory-anchor"}
{"issue_id":"beadboard-76p","label":"memory-arch"}
{"issue_id":"beadboard-7r7","label":"agent:coder"}
{"issue_id":"beadboard-8bs","label":"gt:agent"}
{"issue_id":"beadboard-8bs","label":"role:orchestrator"}
{"issue_id":"beadboard-8hq","label":"gt:agent"}
{"issue_id":"beadboard-8hq","label":"role:orchestrator"}
{"issue_id":"beadboard-8st","label":"memory"}
{"issue_id":"beadboard-8st","label":"memory-anchor"}
{"issue_id":"beadboard-8st","label":"memory-reliability"}
@ -729,8 +595,6 @@
{"issue_id":"beadboard-9xb","label":"mem-soft"}
{"issue_id":"beadboard-9xb","label":"memory"}
{"issue_id":"beadboard-9xb","label":"memory-agent-ops"}
{"issue_id":"beadboard-agent-anti","label":"gt:agent"}
{"issue_id":"beadboard-agent-anti","label":"role:orchestrator"}
{"issue_id":"beadboard-ass","label":"cli"}
{"issue_id":"beadboard-ass","label":"diagnostics"}
{"issue_id":"beadboard-ass","label":"epic"}
@ -742,8 +606,6 @@
{"issue_id":"beadboard-at4","label":"mem-hard"}
{"issue_id":"beadboard-at4","label":"memory"}
{"issue_id":"beadboard-at4","label":"memory-agent"}
{"issue_id":"beadboard-axe","label":"gt:agent"}
{"issue_id":"beadboard-axe","label":"role:orchestrator"}
{"issue_id":"beadboard-ay9","label":"epic"}
{"issue_id":"beadboard-ay9","label":"graph"}
{"issue_id":"beadboard-ay9","label":"ui"}
@ -807,8 +669,6 @@
{"issue_id":"beadboard-fld","label":"memory"}
{"issue_id":"beadboard-fld","label":"memory-anchor"}
{"issue_id":"beadboard-fld","label":"memory-ux"}
{"issue_id":"beadboard-frf","label":"gt:agent"}
{"issue_id":"beadboard-frf","label":"role:orchestrator"}
{"issue_id":"beadboard-i0q","label":"documentation"}
{"issue_id":"beadboard-i0q","label":"skills"}
{"issue_id":"beadboard-i4c","label":"memory"}
@ -820,33 +680,33 @@
{"issue_id":"beadboard-izs","label":"mail"}
{"issue_id":"beadboard-izs","label":"skills"}
{"issue_id":"beadboard-izs.1","label":"agents"}
{"issue_id":"beadboard-izs.1","label":"audit"}
{"issue_id":"beadboard-izs.1","label":"bb"}
{"issue_id":"beadboard-izs.1","label":"design"}
{"issue_id":"beadboard-izs.1","label":"mail"}
{"issue_id":"beadboard-izs.1","label":"coordination"}
{"issue_id":"beadboard-izs.2","label":"agents"}
{"issue_id":"beadboard-izs.2","label":"bb"}
{"issue_id":"beadboard-izs.2","label":"cli"}
{"issue_id":"beadboard-izs.2","label":"implementation"}
{"issue_id":"beadboard-izs.2","label":"mail"}
{"issue_id":"beadboard-izs.3","label":"agents"}
{"issue_id":"beadboard-izs.3","label":"api"}
{"issue_id":"beadboard-izs.3","label":"bb"}
{"issue_id":"beadboard-izs.3","label":"implementation"}
{"issue_id":"beadboard-izs.3","label":"mail"}
{"issue_id":"beadboard-izs.3","label":"frontend"}
{"issue_id":"beadboard-izs.4","label":"agents"}
{"issue_id":"beadboard-izs.4","label":"bb"}
{"issue_id":"beadboard-izs.4","label":"implementation"}
{"issue_id":"beadboard-izs.4","label":"mail"}
{"issue_id":"beadboard-izs.4","label":"frontend"}
{"issue_id":"beadboard-izs.4","label":"ui"}
{"issue_id":"beadboard-izs.5","label":"agents"}
{"issue_id":"beadboard-izs.5","label":"bb"}
{"issue_id":"beadboard-izs.5","label":"mail"}
{"issue_id":"beadboard-izs.5","label":"scripts"}
{"issue_id":"beadboard-izs.6","label":"agents"}
{"issue_id":"beadboard-izs.6","label":"bb"}
{"issue_id":"beadboard-izs.6","label":"mail"}
{"issue_id":"beadboard-izs.6","label":"coordination"}
{"issue_id":"beadboard-izs.6","label":"tests"}
{"issue_id":"beadboard-izs.7","label":"agents"}
{"issue_id":"beadboard-izs.7","label":"bb"}
{"issue_id":"beadboard-izs.7","label":"coordination"}
{"issue_id":"beadboard-izs.7","label":"documentation"}
{"issue_id":"beadboard-izs.7","label":"mail"}
{"issue_id":"beadboard-jgy","label":"docs"}
{"issue_id":"beadboard-jgy","label":"memory"}
{"issue_id":"beadboard-jq5","label":"backend"}
@ -924,22 +784,16 @@
{"issue_id":"beadboard-nrb","label":"installation"}
{"issue_id":"beadboard-nrb","label":"linux"}
{"issue_id":"beadboard-nrb","label":"macos"}
{"issue_id":"beadboard-ojo","label":"gt:agent"}
{"issue_id":"beadboard-ojo","label":"role:orchestrator"}
{"issue_id":"beadboard-om4","label":"mem-canonical"}
{"issue_id":"beadboard-om4","label":"mem-hard"}
{"issue_id":"beadboard-om4","label":"memory"}
{"issue_id":"beadboard-om4","label":"memory-reliability"}
{"issue_id":"beadboard-pxu","label":"gt:agent"}
{"issue_id":"beadboard-pxu","label":"role:orchestrator"}
{"issue_id":"beadboard-rc8","label":"cli"}
{"issue_id":"beadboard-rc8","label":"diagnostics"}
{"issue_id":"beadboard-rc8","label":"status"}
{"issue_id":"beadboard-rc8.1","label":"cli"}
{"issue_id":"beadboard-rc8.1","label":"diagnostics"}
{"issue_id":"beadboard-rc8.1","label":"status"}
{"issue_id":"beadboard-rnk","label":"gt:agent"}
{"issue_id":"beadboard-rnk","label":"role:orchestrator"}
{"issue_id":"beadboard-tmj","label":"bug"}
{"issue_id":"beadboard-tmj","label":"frontend"}
{"issue_id":"beadboard-txj","label":"graph"}
@ -986,5 +840,3 @@
{"issue_id":"beadboard-zas","label":"mem-hard"}
{"issue_id":"beadboard-zas","label":"memory"}
{"issue_id":"beadboard-zas","label":"memory-arch"}
{"issue_id":"beadboard-zqt","label":"gt:agent"}
{"issue_id":"beadboard-zqt","label":"role:orchestrator"}