bd: backup 2026-03-04 02:24
This commit is contained in:
parent
3381f61b2a
commit
1ba74e9966
7 changed files with 66 additions and 12 deletions
|
|
@ -1,13 +1,13 @@
|
|||
{
|
||||
"last_dolt_commit": "1gn9cogcgj02p7pg46f2t9a0nhfusccc",
|
||||
"last_dolt_commit": "itqakhd6pvdppn31nea2j0bigkb730mk",
|
||||
"last_event_id": 0,
|
||||
"timestamp": "2026-03-04T02:07:03.864962584Z",
|
||||
"timestamp": "2026-03-04T02:24:06.687812812Z",
|
||||
"counts": {
|
||||
"issues": 472,
|
||||
"events": 924,
|
||||
"comments": 12,
|
||||
"dependencies": 759,
|
||||
"labels": 842,
|
||||
"config": 14
|
||||
"issues": 475,
|
||||
"events": 944,
|
||||
"comments": 13,
|
||||
"dependencies": 784,
|
||||
"labels": 846,
|
||||
"config": 15
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -9,6 +9,7 @@
|
|||
{"key":"compact_tier2_dep_levels","value":"5"}
|
||||
{"key":"compaction_enabled","value":"false"}
|
||||
{"key":"issue_prefix","value":"beadboard"}
|
||||
{"key":"mail.delegate","value":"node /mnt/c/Users/Zenchant/codex/beadboard/.agents/skills/beadboard-driver/scripts/bb-mail-shim.mjs"}
|
||||
{"key":"schema_version","value":"6"}
|
||||
{"key":"sync.mode","value":"dolt-native"}
|
||||
{"key":"types.custom","value":"molecule"}
|
||||
|
|
|
|||
|
|
@ -673,12 +673,29 @@
|
|||
{"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-03T18:14:43Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs","issue_id":"beadboard-izs.1","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:14:43Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs","issue_id":"beadboard-izs.2","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:07:32Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.1","issue_id":"beadboard-izs.2","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:14:43Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs","issue_id":"beadboard-izs.3","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:07:32Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.1","issue_id":"beadboard-izs.3","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:14:44Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs","issue_id":"beadboard-izs.4","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:07:32Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.3","issue_id":"beadboard-izs.4","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:14:44Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs","issue_id":"beadboard-izs.5","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:07:32Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.1","issue_id":"beadboard-izs.5","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:14:44Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs","issue_id":"beadboard-izs.6","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:07:33Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.2","issue_id":"beadboard-izs.6","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:07:33Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.4","issue_id":"beadboard-izs.6","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:07:33Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs.5","issue_id":"beadboard-izs.6","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:14:44Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs","issue_id":"beadboard-izs.7","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:07:33Z","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"}
|
||||
{"created_at":"2026-03-02T15:06:50Z","created_by":"ZenchantLive","depends_on_id":"beadboard-c70","issue_id":"beadboard-lgs","type":"relates-to"}
|
||||
{"created_at":"2026-03-02T15:07:07Z","created_by":"ZenchantLive","depends_on_id":"beadboard-u4i","issue_id":"beadboard-lgs","type":"blocks"}
|
||||
{"created_at":"2026-03-03T17:34:30Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs","issue_id":"beadboard-maf","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:15:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf","issue_id":"beadboard-maf.1","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:15:05Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf","issue_id":"beadboard-maf.10","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T17:38:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf.1","issue_id":"beadboard-maf.10","type":"blocks"}
|
||||
{"created_at":"2026-03-03T17:38:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf.2","issue_id":"beadboard-maf.10","type":"blocks"}
|
||||
{"created_at":"2026-03-03T17:38:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf.3","issue_id":"beadboard-maf.10","type":"blocks"}
|
||||
|
|
@ -686,10 +703,18 @@
|
|||
{"created_at":"2026-03-03T17:38:05Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf.7","issue_id":"beadboard-maf.10","type":"blocks"}
|
||||
{"created_at":"2026-03-03T17:38:05Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf.8","issue_id":"beadboard-maf.10","type":"blocks"}
|
||||
{"created_at":"2026-03-03T17:38:05Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf.9","issue_id":"beadboard-maf.10","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:15:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf","issue_id":"beadboard-maf.2","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:15:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf","issue_id":"beadboard-maf.3","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:15:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf","issue_id":"beadboard-maf.4","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:15:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf","issue_id":"beadboard-maf.5","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T17:38:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-izs","issue_id":"beadboard-maf.6","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:15:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf","issue_id":"beadboard-maf.6","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T18:15:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf","issue_id":"beadboard-maf.7","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T17:38:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf.6","issue_id":"beadboard-maf.7","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:15:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf","issue_id":"beadboard-maf.8","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T17:38:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf.5","issue_id":"beadboard-maf.8","type":"blocks"}
|
||||
{"created_at":"2026-03-03T17:38:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf.6","issue_id":"beadboard-maf.8","type":"blocks"}
|
||||
{"created_at":"2026-03-03T18:15:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf","issue_id":"beadboard-maf.9","type":"parent-child"}
|
||||
{"created_at":"2026-03-03T17:38:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-maf.6","issue_id":"beadboard-maf.9","type":"blocks"}
|
||||
{"created_at":"2026-03-01T18:28:26Z","created_by":"zenchantlive","depends_on_id":"beadboard-6wv","issue_id":"beadboard-mdo","type":"relates-to"}
|
||||
{"created_at":"2026-03-01T18:28:25Z","created_by":"zenchantlive","depends_on_id":"beadboard-76p","issue_id":"beadboard-mdo","type":"relates-to"}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-02-28T10:20:47Z","event_type":"created","id":1,"issue_id":"beadboard-3t8","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"","created_at":"2026-03-03T18:18:33Z","event_type":"created","id":1,"issue_id":"beadboard-wisp-8zgx","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-02-28T10:20:56Z","event_type":"status_changed","id":2,"issue_id":"beadboard-3t8","new_value":"{\"notes\":\"Root cause: state divergence and backend drift. .beads/issues.jsonl + beads.db had 381 issues, while active Dolt DB exposed only 4 due stale/incorrect Dolt dataset, stale lock files, and server-mode requirements after upgrading bd.\\\\n\\\\nRepair sequence that worked:\\\\n1) Upgraded bd to 0.56.1.\\\\n2) Installed local dolt binary (~/.local/bin/dolt).\\\\n3) Started local dolt sql-server on 127.0.0.1:3307 rooted at .beads/dolt.\\\\n4) Verified source-of-truth candidate counts: issues.jsonl=381 and beads.db=381 matched.\\\\n5) Recovered known-good 381-issue Dolt dataset from backup path and restored into active .beads/dolt/beadboard.\\\\n6) Set active dolt database via 'bd dolt set database beadboard'.\\\\n7) Re-ran status/ready/list verification.\\\\n\\\\nFinal verification:\\\\n- bd status =\\u003e Total 381, Open 66, Blocked 23, Closed 219, Ready 43\\\\n- bd ready -n 20 =\\u003e non-empty (42 ready total)\\\\n- bd list --all --json =\\u003e total 381; status counts {open:66, closed:219, tombstone:94, deferred:2}\\\\n\\\\nOperational note:\\\\n- bd 0.56.1 is server-mode for Dolt; ensure dolt sql-server is running on configured host/port before bd commands.\\\\n- If unavailable, restart from repo with: cd .beads/dolt \\u0026\\u0026 dolt sql-server --host 127.0.0.1 --port 3307\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-3t8\",\"title\":\"Dolt/JSONL recovery: restore beadboard issue inventory\",\"description\":\"Capture successful Dolt reconciliation after bd 0.56.1 migration and lock/server failures.\",\"acceptance_criteria\":\"Document root cause, exact repair commands, final counts, and restart steps for dolt server\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T18:20:48Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-02-28T18:20:48Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-02-28T10:21:00Z","event_type":"closed","id":3,"issue_id":"beadboard-3t8","new_value":"Recovered active Dolt dataset to 381 issues, restored non-empty ready queue, and documented repeatable repair steps + server prerequisites.","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-02-28T12:59:29Z","event_type":"created","id":4,"issue_id":"beadboard-4qa","new_value":"","old_value":""}
|
||||
|
|
@ -922,3 +923,22 @@
|
|||
{"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}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:10:02Z","event_type":"updated","id":1035,"issue_id":"beadboard-maf.6","new_value":"{\"description\":\"## TASK CONTEXT\\n- Bead ID: beadboard-maf.6\\n- Parent/Epic: beadboard-maf\\n- Dependencies: beadboard-izs (bb mail epic must be fully complete — commands finalized and reference doc written in izs.7)\\n\\ncoord-events-sessions-ack.md currently documents deprecated command signatures. The coordination system is fully implemented in tools/bb.ts (bb agent send/inbox/read/ack/register/reserve/release/status), backed by src/lib/agent-mail.ts, agent-registry.ts, agent-reservations.ts. izs.7 produces the canonical reference doc — this task rewrites the skill reference using it.\\n\\n## TASK CONTRACT\\n**Goal**: Rewrite coord-events-sessions-ack.md (or replace with coordination-system.md from izs.7) with accurate bb agent command surface, WHEN-to-use triggers, and a worked BLOCKED flow example.\\n\\n**Success Criteria**:\\n- Uses bb agent send/inbox/read/ack with correct flags (not speculative — verified against tools/bb.ts)\\n- WHEN-to-use trigger map: condition that triggers each category (HANDOFF, BLOCKED, DECISION, INFO)\\n- Inbox polling protocol: when agents check inbox (session start, before claiming task, on state=stuck)\\n- Full BLOCKED walkthrough: agent sends bb agent send --category BLOCKED → bd agent state stuck → user sees in BeadBoard UI → user intervenes → agent resumes\\n- ACK escalation path documented for requires_ack=true messages\\n- bd mail delegate documented as the alternative invocation path (bd mail → bb agent)\\n- Reservation conflict protocol: active blocks, stale warns with --takeover-stale\\n- Zero references to phantom or deprecated API surfaces\\n- Must read izs.7 coordination-system.md FIRST — do not invent command syntax\\n\\n**Scope**:\\n- .agents/skills/beadboard-driver/references/coord-events-sessions-ack.md rewrite\\n- May link to or embed content from coordination-system.md (izs.7)\\n\\n**Out of Scope**:\\n- SKILL.md update (maf.10)\\n- Other reference docs\\n\\n## IMPLEMENTATION CONSTRAINTS\\n- Read izs.7 output (coordination-system.md) before writing anything\\n- Verify all command examples compile against actual tools/bb.ts command surface\\n\\n## VERIFICATION REQUIREMENTS\\n- All command examples match actual bb agent flags\\n- WHEN-to-use map covers at least 6 trigger scenarios\\n- Worked BLOCKED flow is end-to-end complete\"}","old_value":"{\"id\":\"beadboard-maf.6\",\"title\":\"v5: comm system rewrite (coord-events-sessions-ack.md)\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-maf.6\\n- Parent/Epic: beadboard-maf\\n- Dependencies: beadboard-izs (bb mail epic must be fully complete — commands finalized and reference doc written in izs.7)\\n\\nTASK CONTRACT\\n- Goal: Rewrite coord-events-sessions-ack.md replacing all deprecated bb agent send/inbox/read/ack commands with bb mail, adding a WHEN-to-use trigger map, inbox polling protocol, and a full worked BLOCKED flow example.\\n- Success Criteria:\\n - Zero references to bb agent send/inbox/read/ack/register/reserve (all deprecated)\\n - bb mail send/inbox/read/ack commands used throughout with correct syntax\\n - WHEN-to-use trigger map: exact condition that triggers each category (HANDOFF/BLOCKED/RESUME/INFO)\\n - Inbox polling protocol: when agents check inbox (session start, before claim, on state=stuck)\\n - Full BLOCKED walkthrough: agent sends BLOCKED via bb mail -\\u003e bd agent state stuck -\\u003e user sees in BeadBoard UI -\\u003e user intervenes -\\u003e agent resumes\\n - ACK escalation path: what happens if ack never comes\\n - UX Alignment section removed (wrong audience for agent-facing doc)\\n- Scope:\\n - skills/beadboard-driver/references/coord-events-sessions-ack.md full rewrite\\n- Out of Scope:\\n - bb mail implementation (done in izs epic)\\n - BeadBoard UI changes\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Only document commands verified to exist in bb mail (from izs.7 reference doc)\\n- Source of truth for bb mail commands: skills/beadboard-driver/references/bb-mail.md (written in izs.7)\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands: None (doc task)\\n- Required artifacts: updated skills/beadboard-driver/references/coord-events-sessions-ack.md\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-04T01:36:51Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T01:36:51Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:14:00Z","event_type":"status_changed","id":1036,"issue_id":"beadboard-izs.1","new_value":"{\"assignee\":\"beadboard-2i2\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-izs.1\",\"title\":\"bb coord: audit existing stack + define integration contract\",\"description\":\"## TASK CONTEXT\\ntools/bb.ts + src/lib/agent-mail.ts + agent-registry.ts + agent-reservations.ts + beadboard-cli.ts are the five source files that define what exists and what needs to be wired. Before writing any code, we need a precise integration map so izs.2 (global CLI), izs.3 (API routes), and izs.5 (bd mail delegate) all build toward the same contract.\\n\\n## TASK CONTRACT\\n**Goal**: Produce an integration map documenting the existing coordination stack and specifying what each downstream izs task must build.\\n\\n**Success Criteria**:\\n- All 5 source files read and annotated\\n- Storage paths confirmed: mail JSONL at ~/.beadboard/agent/messages/, reservations at ~/.beadboard/agent/reservations/active.json\\n- beadboard-cli.ts CLI framework identified (commander, minimist, etc.) and entry point documented\\n- API route contract written for /api/agents/mail and /api/agents/reservations (endpoints, request/response shape)\\n- Platform issues identified (Windows USERPROFILE vs Linux HOME path handling)\\n- Findings posted as bd comment on beadboard-izs\\n\\n**Scope**:\\n- Read-only investigation of 5 source files\\n- Write audit findings as bd comment\\n\\n**Out of Scope**:\\n- Any code changes\\n- Frontend or CLI implementation\\n\\n## IMPLEMENTATION CONSTRAINTS\\n- Source files: tools/bb.ts, src/lib/agent-mail.ts, src/lib/agent-registry.ts, src/lib/agent-reservations.ts, beadboard-cli.ts (find in project root)\\n\\n## VERIFICATION REQUIREMENTS\\n- bd comments list beadboard-izs shows audit findings comment\\n- API contract covers all CRUD operations for mail and reservations\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-04T01:55:58Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T01:55:58Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:15:23Z","event_type":"updated","id":1037,"issue_id":"beadboard-izs.1","new_value":"{\"notes\":\"Audit completed. Evidence: read tools/bb.ts, src/lib/agent-mail.ts, src/lib/agent-registry.ts, src/lib/agent-reservations.ts, src/cli/beadboard-cli.ts; posted integration contract comment to beadboard-izs via bd comments add beadboard-izs -f /tmp/beadboard-izs1-audit.md; verified via bd comments beadboard-izs --json. Memory review: no new reusable memory.\"}","old_value":"{\"id\":\"beadboard-izs.1\",\"title\":\"bb coord: audit existing stack + define integration contract\",\"description\":\"## TASK CONTEXT\\ntools/bb.ts + src/lib/agent-mail.ts + agent-registry.ts + agent-reservations.ts + beadboard-cli.ts are the five source files that define what exists and what needs to be wired. Before writing any code, we need a precise integration map so izs.2 (global CLI), izs.3 (API routes), and izs.5 (bd mail delegate) all build toward the same contract.\\n\\n## TASK CONTRACT\\n**Goal**: Produce an integration map documenting the existing coordination stack and specifying what each downstream izs task must build.\\n\\n**Success Criteria**:\\n- All 5 source files read and annotated\\n- Storage paths confirmed: mail JSONL at ~/.beadboard/agent/messages/, reservations at ~/.beadboard/agent/reservations/active.json\\n- beadboard-cli.ts CLI framework identified (commander, minimist, etc.) and entry point documented\\n- API route contract written for /api/agents/mail and /api/agents/reservations (endpoints, request/response shape)\\n- Platform issues identified (Windows USERPROFILE vs Linux HOME path handling)\\n- Findings posted as bd comment on beadboard-izs\\n\\n**Scope**:\\n- Read-only investigation of 5 source files\\n- Write audit findings as bd comment\\n\\n**Out of Scope**:\\n- Any code changes\\n- Frontend or CLI implementation\\n\\n## IMPLEMENTATION CONSTRAINTS\\n- Source files: tools/bb.ts, src/lib/agent-mail.ts, src/lib/agent-registry.ts, src/lib/agent-reservations.ts, beadboard-cli.ts (find in project root)\\n\\n## VERIFICATION REQUIREMENTS\\n- bd comments list beadboard-izs shows audit findings comment\\n- API contract covers all CRUD operations for mail and reservations\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"assignee\":\"beadboard-2i2\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-04T01:55:58Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T02:14:01Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:15:27Z","event_type":"closed","id":1038,"issue_id":"beadboard-izs.1","new_value":"Completed read-only audit of 5 coordination source files and published integration contract on beadboard-izs.","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:17:02Z","event_type":"status_changed","id":1039,"issue_id":"beadboard-izs.2","new_value":"{\"assignee\":\"beadboard-2i2\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-izs.2\",\"title\":\"bb coord: wire bb agent commands into global bb CLI\",\"description\":\"## TASK CONTEXT\\nThe global bb npm CLI (beadboard-cli.ts) only handles start/open/status/doctor/self-update/uninstall. External agents (in any repo) need bb agent send/inbox/read/ack/register/list/show/activity-lease/reserve/release/status. The full implementation is in src/lib/agent-*.ts. This task ports the agent subcommand from tools/bb.ts into beadboard-cli.ts.\\n\\n## TASK CONTRACT\\n**Goal**: Expose the full bb agent command surface through the globally-installed bb CLI.\\n\\n**Success Criteria**:\\n- bb agent register --name foo --role ui works from any directory\\n- bb agent send --from foo --to bar --bead x --category INFO --subject y --body z works\\n- bb agent inbox --agent foo lists messages\\n- bb agent read --agent foo --message m marks as read\\n- bb agent ack --agent foo --message m acknowledges\\n- bb agent reserve/release/status work\\n- bb agent activity-lease --agent foo works\\n- Human-readable output by default, JSON with --json flag\\n- npm run build passes\\n\\n**Scope**:\\n- Modify beadboard-cli.ts to add bb agent subcommand\\n- Import src/lib/agent-mail.ts, agent-registry.ts, agent-reservations.ts\\n- Port command routing and printResponse formatting from tools/bb.ts\\n\\n**Out of Scope**:\\n- Changes to the lib implementations\\n- Frontend routes\\n\\n## IMPLEMENTATION CONSTRAINTS\\n- Use the audit from izs.1 to understand beadboard-cli.ts structure before modifying\\n- Port tools/bb.ts agent command routing exactly — do not redesign the API surface\\n- Must work on Windows, WSL, and Linux\\n\\n## VERIFICATION REQUIREMENTS\\n- npm run build or equivalent passes\\n- bb agent list returns empty list (no crash) from a fresh test run\\n- bb agent register --name test-coord --role test succeeds then bb agent show --agent test-coord returns record\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-04T01:56:04Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T01:56:04Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:18:26Z","event_type":"created","id":1040,"issue_id":"bb-silver-scribe","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-03T18:18:26Z","event_type":"label_added","id":1041,"issue_id":"bb-silver-scribe","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:18:26Z","event_type":"updated","id":1042,"issue_id":"bb-silver-scribe","new_value":"{\"agent_state\":\"idle\",\"last_activity\":\"2026-03-03T18:18:26.347429498-08:00\"}","old_value":"{\"id\":\"bb-silver-scribe\",\"title\":\"Agent: bb-silver-scribe\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"created_at\":\"2026-03-04T02:18:26Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T02:18:26Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:18:26Z","event_type":"updated","id":1043,"issue_id":"bb-silver-scribe","new_value":"{\"title\":\"Agent: silver-scribe\"}","old_value":"{\"id\":\"bb-silver-scribe\",\"title\":\"Agent: bb-silver-scribe\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"created_at\":\"2026-03-04T02:18:26Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T02:18:26Z\",\"agent_state\":\"idle\",\"last_activity\":\"2026-03-04T02:18:26Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-03T18:18:26Z","event_type":"label_added","id":1044,"issue_id":"bb-silver-scribe","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: role:implementer","created_at":"2026-03-03T18:18:26Z","event_type":"label_added","id":1045,"issue_id":"bb-silver-scribe","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:18:29Z","event_type":"updated","id":1046,"issue_id":"bb-silver-scribe","new_value":"{\"agent_state\":\"working\",\"last_activity\":\"2026-03-03T18:18:29.467008511-08:00\"}","old_value":"{\"id\":\"bb-silver-scribe\",\"title\":\"Agent: silver-scribe\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"created_at\":\"2026-03-04T02:18:26Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T02:18:27Z\",\"agent_state\":\"idle\",\"last_activity\":\"2026-03-04T02:18:26Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:18:29Z","event_type":"status_changed","id":1047,"issue_id":"beadboard-izs.5","new_value":"{\"assignee\":\"silver-scribe\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-izs.5\",\"title\":\"bb coord: bd mail delegate configuration + session-preflight wiring\",\"description\":\"## TASK CONTEXT\\nbd mail is designed as a delegate — it shells out to a configured external provider via BEADS_MAIL_DELEGATE env var or bd config set mail.delegate. The bb CLI (now with bb agent send/inbox via izs.2) is the natural delegate for BeadBoard environments. This task wires bd mail → bb agent so agents using bd mail transparently use the BeadBoard coordination stack.\\n\\n## TASK CONTRACT\\n**Goal**: Configure bd mail to delegate to bb agent commands so the session-preflight script automatically sets up mail routing.\\n\\n**Success Criteria**:\\n- bd config set mail.delegate bb (or equivalent) documented and working\\n- .agents/skills/beadboard-driver/scripts/session-preflight.mjs runs the delegate config command on startup\\n- bd mail send --to foo --bead x --subject y --body z routes through bb agent send\\n- Fallback: if bb not installed, bd mail fails with helpful error (not silent failure)\\n- help/cli/bd_help.txt mail section read and delegate mechanism confirmed before implementing\\n\\n**Scope**:\\n- Update session-preflight.mjs to configure bd mail delegate\\n- Read help/cli/bd_help.txt to confirm exact bd mail delegate config syntax\\n- Document delegate config in bd comment on izs.5\\n\\n**Out of Scope**:\\n- Changes to bd internals\\n- Building an alternate mail system\\n- project.template.md update (tracked in maf.9)\\n\\n## IMPLEMENTATION CONSTRAINTS\\n- Read help/cli/bd_help.txt mail section BEFORE configuring — do not assume flag names\\n- Check BEADS_MAIL_DELEGATE env var as alternative to bd config\\n\\n## VERIFICATION REQUIREMENTS\\n- node scripts/session-preflight.mjs completes without error\\n- bd mail send routes to bb after preflight runs\\n- bd mail without bb installed produces useful error\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-04T01:56:13Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T01:56:13Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:18:33Z","event_type":"created","id":1048,"issue_id":"bb-test-coord-izs2","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-03T18:18:33Z","event_type":"label_added","id":1049,"issue_id":"bb-test-coord-izs2","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:18:34Z","event_type":"updated","id":1050,"issue_id":"bb-test-coord-izs2","new_value":"{\"agent_state\":\"idle\",\"last_activity\":\"2026-03-03T18:18:33.989311359-08:00\"}","old_value":"{\"id\":\"bb-test-coord-izs2\",\"title\":\"Agent: bb-test-coord-izs2\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"created_at\":\"2026-03-04T02:18:34Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T02:18:34Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-03T18:18:34Z","event_type":"updated","id":1051,"issue_id":"bb-test-coord-izs2","new_value":"{\"title\":\"Agent: test-coord-izs2\"}","old_value":"{\"id\":\"bb-test-coord-izs2\",\"title\":\"Agent: bb-test-coord-izs2\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"created_at\":\"2026-03-04T02:18:34Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-04T02:18:34Z\",\"agent_state\":\"idle\",\"last_activity\":\"2026-03-04T02:18:34Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":"Added label: gt:agent","created_at":"2026-03-03T18:18:34Z","event_type":"label_added","id":1052,"issue_id":"bb-test-coord-izs2","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: role:test","created_at":"2026-03-03T18:18:34Z","event_type":"label_added","id":1053,"issue_id":"bb-test-coord-izs2","new_value":null,"old_value":null}
|
||||
|
|
|
|||
|
|
@ -142,9 +142,11 @@
|
|||
{"acceptance_criteria":"- Typecheck and tests pass.\n- Guards confirm edit controls render on both surfaces.\n- No write boundary regressions.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Cross-surface verification and polish completed with fresh evidence.","closed_at":"2026-02-13T05:11:30Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"1f2cf86920acf64bc70b1fa89609c962e8fe82ac356a4a18151d87d57a4cf4b3","created_at":"2026-02-13T04:50:34Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Finalize edit experience and verify both surfaces end-to-end.\n\nIncludes:\n- responsive polish\n- keyboard/focus behavior\n- guard/unit test updates\n- mutation smoke checks","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-q1s.4","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Verification complete: npm run typecheck, npm run test, guard tests, and screenshots (artifacts/kanban-mobile-after.png, artifacts/kanban-tablet-after.png, artifacts/kanban-desktop-after.png, artifacts/graph-next-1440.png, artifacts/graph-next-768.png, artifacts/graph-next-390-overview.png, artifacts/graph-next-390-flow.png). Also adjusted screenshot script to use domcontentloaded due SSE/networkidle hang.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":2,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"closed","target":"","timeout_ns":0,"title":"Cross-surface verification + UX polish for edit flows","updated_at":"2026-02-13T05:11:30Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Remove DEBUG console.log statements from agent-registry.ts; Fix type safety in extendActivityLease return type; All tests pass; Typecheck passes; Lint passes","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-02-15T21:10:40Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"fe84f73a0c6d7238353dedc6dd460b7d121d0e1bdf4db48197ddc19372587469","created_at":"2026-02-15T05:42:51Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-review-cleanup","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"FIXES APPLIED:\n1. tools/bb.ts: Removed unused imports (joinSwarm, leaveSwarm, getSwarmMembers, SwarmCommandResponse)\n2. src/hooks/use-beads-subscription.ts: Added eslint-disable for intentional onUpdate dep exclusion\n\nVERIFICATION:\n- npm run typecheck: PASS (0 errors)\n- npm run lint: PASS (0 errors, 0 warnings)","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"closed","target":"","timeout_ns":0,"title":"Code review cleanup: fix DEBUG logs and type safety","updated_at":"2026-02-15T21:10:40Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"BaseCard, AgentAvatar, ProgressBar, ViewJumpIcons, LastActivity components created in src/components/shared/; All components have TypeScript interfaces; Unit tests pass for each component; npm run typecheck passes; npm run lint passes; npm run test passes","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"6e36dcc675dc811b983c7a9b5dea91ac0eb8e80bf8e4334f5edabb7609ad230e","created_at":"2026-02-16T02:32:26Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"GOAL:\nCreate the base reusable primitive components that will be used across all views (Social, Graph, Swarm).\n\nPROBLEM:\nWe need shared components for the unified shell: card base, agent avatar with status, progress bar, view-jump icons, and last activity display. These should use shadcn/ui primitives and the new earthy-dark tokens.\n\nACCEPTANCE CRITERIA:\n1. BaseCard component created with consistent styling\n2. AgentAvatar component with liveness status glow\n3. ProgressBar component for swarm progress visualization\n4. ViewJumpIcons component ([≡] [◊] [≋] buttons)\n5. LastActivity component for activity preview\n6. All components have TypeScript types\n7. Unit tests for each component\n8. npm run typecheck passes\n9. npm run lint passes\n10. npm run test passes\n\nIMPLEMENTATION STEPS:\n1. Create src/components/shared/ directory\n2. Implement BaseCard using shadcn Card\n3. Implement AgentAvatar with status glow CSS\n4. Implement ProgressBar with Tailwind\n5. Implement ViewJumpIcons with icons\n6. Implement LastActivity with timestamp formatting\n7. Write unit tests for each\n\nFILES TO CREATE:\n- src/components/shared/base-card.tsx\n- src/components/shared/agent-avatar.tsx\n- src/components/shared/progress-bar.tsx\n- src/components/shared/view-jump-icons.tsx\n- src/components/shared/last-activity.tsx\n- src/components/shared/index.ts (exports)\n- tests/components/shared/base-card.test.tsx\n- tests/components/shared/agent-avatar.test.tsx\n- tests/components/shared/progress-bar.test.tsx\n\nCOMPONENT INTERFACES:\n\n```typescript\n// BaseCard\ninterface BaseCardProps {\n children: React.ReactNode;\n isSelected?: boolean;\n onClick?: () =\u003e void;\n className?: string;\n}\n\n// AgentAvatar \ninterface AgentAvatarProps {\n agentId: string;\n liveness: 'active' | 'stale' | 'evicted' | 'idle' | 'stuck' | 'dead';\n currentTask?: { id: string; title: string } | null;\n size?: 'sm' | 'md' | 'lg';\n}\n\n// ProgressBar\ninterface ProgressBarProps {\n completed: number;\n total: number;\n showLabel?: boolean;\n className?: string;\n}\n\n// ViewJumpIcons\ninterface ViewJumpIconsProps {\n onGraph?: () =\u003e void;\n onSwarm?: () =\u003e void;\n onActivity?: () =\u003e void;\n}\n\n// LastActivity\ninterface LastActivityProps {\n message: string;\n author: string;\n timestamp: string;\n compact?: boolean;\n}\n```\n\nSKILLS TO USE:\n- verification-before-completion: Run all verification commands\n- test-driven-development: Write tests first, then implement\n- linus-beads-discipline: Claim, plan, execute, verify, close\n\nDEPENDENCIES: None (can run in parallel with 0.1 and 0.2, but tests require shadcn components)\n\nTEST STRATEGY:\n1. Write failing tests for each component's expected behavior\n2. Implement components to pass tests\n3. Run full test suite\n\nVERIFICATION:\n```bash\nnpm run typecheck\nnpm run lint\nnpm run test\n```\n\nEVIDENCE TO CAPTURE:\n- Test output showing all tests pass\n- File list of created components\n- npm run typecheck output\n- npm run lint output","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-rk4","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"tombstone","target":"","timeout_ns":0,"title":"0.3 Base Primitives: Shared UI components for unified shell","updated_at":"2026-02-16T02:41:08Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"working","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"1561287c88de069332084740930c4409d8fbebd8b46acca1ea03b4269165460c","created_at":"2026-03-04T02:18:26Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-silver-scribe","is_template":0,"issue_type":"task","last_activity":"2026-03-04T02:18:29Z","metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"","payload":"","pinned":0,"priority":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"Agent: silver-scribe","updated_at":"2026-03-04T02:18:29Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"RightPanel component created; Responsive behavior works (sidebar/tablet slide-over/mobile drawer); Open/close works; Backdrop works on tablet/mobile; npm run typecheck passes; npm run lint passes","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"3366c651d43f6dfb3bc2e6063199df4b54fd0275a22d6658d06084b0ca157959","created_at":"2026-02-16T02:35:23Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"GOAL:\nCreate the right panel that shows detail content for selected items, with responsive behavior (sidebar on desktop, drawer on mobile).\n\nPROBLEM:\nNeed a panel that:\n- Shows detail content when item selected\n- Is a sidebar on desktop (≥1024px)\n- Becomes a slide-over on tablet\n- Becomes a full-screen drawer on mobile\n- Can be opened/closed\n\nACCEPTANCE CRITERIA:\n1. RightPanel component created in src/components/shared/right-panel.tsx\n2. Shows/hides based on panel state from URL\n3. Desktop: Fixed sidebar 17rem width\n4. Tablet: Slide-over from right with backdrop\n5. Mobile: Full-screen drawer\n6. Close button works\n7. npm run typecheck passes\n8. npm run lint passes\n\nIMPLEMENTATION STEPS:\n1. Create RightPanel component\n2. Implement responsive behavior with Tailwind breakpoints\n3. Add backdrop overlay for tablet/mobile\n4. Add close button\n5. Add animation with framer-motion\n6. Style with earthy-dark tokens\n\nFILES TO CREATE:\n- src/components/shared/right-panel.tsx\n\nCOMPONENT INTERFACE:\n\n```typescript\ninterface RightPanelProps {\n isOpen: boolean;\n onClose: () =\u003e void;\n children: React.ReactNode;\n}\n\n// Internal hook for responsive\nfunction useResponsive() {\n return {\n isMobile: boolean; // \u003c 768px\n isTablet: boolean; // 768px - 1024px\n isDesktop: boolean; // \u003e= 1024px\n };\n}\n```\n\nRESPONSIVE BEHAVIOR:\n\n```typescript\n// Desktop (\u003e= 1024px)\n// Fixed sidebar, always visible when open\n\u003cdiv className=\"w-[17rem] border-l border-border-default\"\u003e\n\n// Tablet (768px - 1024px) \n// Slide-over from right with backdrop\n\u003cmotion.div\n initial={{ x: '100%' }}\n animate={{ x: isOpen ? 0 : '100%' }}\n className=\"fixed inset-y-0 right-0 w-[24rem]\"\n\u003e\n\n// Mobile (\u003c 768px)\n// Full-screen drawer\n\u003cmotion.div\n initial={{ y: '100%' }}\n animate={{ y: isOpen ? 0 : '100%' }}\n className=\"fixed inset-0\"\n\u003e\n```\n\nSKILLS TO USE:\n- verification-before-completion\n- test-driven-development: Test responsive behavior\n- linus-beads-discipline\n\nDEPENDENCIES:\n- Requires: 1.2 (UnifiedShell to integrate into)\n\nVERIFICATION:\n```bash\nnpm run typecheck\nnpm run lint\n# Visual check at 3 breakpoints\n```\n\nEVIDENCE TO CAPTURE:\n- npm run typecheck output\n- Screenshots at 390px, 768px, 1440px","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-slw","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"tombstone","target":"","timeout_ns":0,"title":"1.5 RightPanel Component: Detail strip container with responsive behavior","updated_at":"2026-02-16T02:41:08Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"b97c2a0f809eb3b09ec228d6454431589360687751977adcd3f67a979ccd24a2","created_at":"2026-02-12T04:36:32Z","created_by":"","crystallizes":0,"defer_until":null,"description":"","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-sse-smoke","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"","payload":"","pinned":0,"priority":2,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"open","target":"","timeout_ns":0,"title":"SSE smoke 1770870992420","updated_at":"2026-02-12T04:36:32Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"globals.css contains new earthy-dark token definitions; tailwind.config.ts references new CSS variables; Existing components render correctly; npm run typecheck passes; npm run lint passes","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"af036702bf432b3c1148842acf4feb5e9c3af4af8a3a5c7b0608d6802bb58b2f","created_at":"2026-02-16T02:31:14Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"GOAL:\nReplace Aero Chrome glass-morphism tokens with earthy-dark design system tokens.\n\nPROBLEM:\nCurrent globals.css uses Aero Chrome palette (#070709 base, glass effects, aurora gradients). This does not match the new unified UX direction.\n\nACCEPTANCE CRITERIA:\n1. globals.css contains new earthy-dark token definitions\n2. tailwind.config.ts maps to new tokens via CSS variables\n3. All existing usages of old tokens continue to work (backward compatibility during migration)\n4. npm run typecheck passes\n5. npm run lint passes\n\nIMPLEMENTATION STEPS:\n1. Read current globals.css to understand existing token structure\n2. Add new earthy-dark tokens UNDER existing tokens (do not remove yet)\n3. Update tailwind.config.ts to reference new CSS variables\n4. Test that existing components still render correctly\n\nFILES TO MODIFY:\n- src/app/globals.css (add new tokens)\n- tailwind.config.ts (update color mappings)\n\nTOKENS TO ADD:\n```css\n:root {\n /* Backgrounds */\n --color-bg-base: #2D2D2D;\n --color-bg-card: #363636;\n --color-bg-input: #404040;\n --color-bg-hover: #454545;\n \n /* Accents */\n --color-accent-green: #7CB97A;\n --color-accent-green-hover: #6BA869;\n --color-accent-amber: #D4A574;\n --color-accent-teal: #5BA8A0;\n \n /* Text */\n --color-text-primary: #FFFFFF;\n --color-text-secondary: #B8B8B8;\n --color-text-muted: #888888;\n \n /* Borders */\n --color-border-default: #4A4A4A;\n --color-border-subtle: #3A3A3A;\n --color-border-focus: #7CB97A;\n \n /* Status */\n --status-ready: #5BA8A0;\n --status-in-progress: #7CB97A;\n --status-blocked: #D4A574;\n --status-closed: #888888;\n \n /* Liveness */\n --liveness-active: #7CB97A;\n --liveness-stale: #D4A574;\n --liveness-stuck: #E57373;\n --liveness-dead: #9E4244;\n}\n```\n\nSKILLS TO USE:\n- verification-before-completion: Run npm run typecheck \u0026\u0026 npm run lint before closing\n- test-driven-development: Not required for CSS token changes\n- linus-beads-discipline: Claim bead before starting, close with evidence\n\nDEPENDENCIES: None (can run in parallel with 0.2 and 0.3)\n\nVERIFICATION:\n```bash\nnpm run typecheck\nnpm run lint\n# Visual check: existing pages still render\n```\n\nEVIDENCE TO CAPTURE:\n- Command output showing typecheck and lint pass\n- Note that old tokens still exist for backward compatibility","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-t9e","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"tombstone","target":"","timeout_ns":0,"title":"0.1 Token System: Earthy-dark CSS variables and Tailwind config","updated_at":"2026-02-16T02:41:08Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"idle","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"0b8d246e0d8f786556c950d8a6a7a16db02868c866db23a55f8a533bb30a93d5","created_at":"2026-03-04T02:18:34Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-test-coord-izs2","is_template":0,"issue_type":"task","last_activity":"2026-03-04T02:18:34Z","metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"","payload":"","pinned":0,"priority":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"Agent: test-coord-izs2","updated_at":"2026-03-04T02:18:34Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"- Editing `.beads/issues.jsonl` externally triggers UI refresh in \u003c1s without manual reload.\n- SSE stream remains connected with periodic heartbeat; reconnect path resumes safely.\n- Event stream and watcher code use Windows-safe path normalization.\n- No direct JSONL writes introduced (guard still passes).\n- `npm run typecheck`, `npm run test`, `npm run dev` pass.\r\n","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Completed watcher/SSE tracer end-to-end for project-scoped realtime updates with tests and smoke checks.","closed_at":"2026-02-12T04:37:50Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"9cae4771a22756f605aa72cc1ffc0269fe84425a4bd297f6e36e6d8c631849f1","created_at":"2026-02-12T01:11:53Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Realtime transport epic to deliver deterministic file-change propagation from .beads/issues.jsonl(.new) into the Kanban UI.\n\nScope boundaries:\n- Read source remains disk JSONL via read-issues; no bd CLI reads.\n- Mutation/write path remains bd.exe only (already implemented in bb-ymg).\n- This epic adds one-way change detection + push invalidation, not business-rule mutation logic.\n\nImplementation contract:\n1) Watch manager (`src/lib/watcher.ts`)\n- Uses chokidar to monitor `\u003cprojectRoot\u003e/.beads/issues.jsonl` and `.beads/issues.jsonl.new`.\n- Normalizes project roots with existing Windows path helpers.\n- Supports start/stop per project and global cleanup for tests/dev reloads.\n- Emits typed change events with monotonic event ids and timestamps.\n\n2) Burst and lock stability (`bb-tpc.2`)\n- Debounce/coalesce rapid write bursts into one logical event per project window.\n- Treat transient lock/read contention as retryable (EBUSY/EPERM) in read path.\n\n3) SSE server (`src/app/api/events/route.ts`)\n- `text/event-stream` endpoint with heartbeat and `id:` fields.\n- Optional `projectRoot` filter for scoped subscribers.\n- Cleans up subscriptions and timers on disconnect.\n\n4) Frontend subscriber (`bb-tpc.4`)\n- EventSource client reconnect behavior handled by browser defaults.\n- On event, re-fetch affected project issues and reconcile local state.\n- No direct JSONL polling loops after SSE is active.\n\nNon-goals in this epic:\n- WebSocket transport.\n- Cross-process durable event bus.\n- React Query migration (deferred; current lane keeps existing local fetch/reconcile pattern).\r\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-tpc","is_template":0,"issue_type":"epic","last_activity":null,"metadata":"{}","mol_type":"","notes":"Decoupled bb-tpc baseline from scanner epic: current implementation is project-scoped via query projectRoot and does not require registry integration. Multi-project watcher orchestration remains under scanner follow-up tasks.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"closed","target":"","timeout_ns":0,"title":"Live File Watching and SSE Transport","updated_at":"2026-02-12T04:37:50Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"- Starting watch for same project twice creates one active watcher.\n- Stopping watch removes watcher and prevents further events.\n- Events include canonical project root and unique monotonic event id.\n- Watch target includes both `.beads/issues.jsonl` and `.beads/issues.jsonl.new`.\r\n","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Watcher lifecycle manager implemented with canonical project scoping and tested watch behavior.","closed_at":"2026-02-12T04:36:50Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"e81a9b9819ae30b58e512992fc5c2413c8836a1209bb5e5c1b9cc2aa68b83f1a","created_at":"2026-02-12T01:11:54Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Implement `src/lib/watcher.ts` watch manager for project-scoped issue files.\n\nScope:\n- Watch both `\u003cprojectRoot\u003e/.beads/issues.jsonl` and `\u003cprojectRoot\u003e/.beads/issues.jsonl.new`.\n- Support startWatch(projectRoot), stopWatch(projectRoot), stopAll().\n- Ensure idempotent start behavior (no duplicate watchers for same canonical root).\n- Emit typed events into in-process realtime bus with:\n - id (monotonic)\n - projectRoot (canonical path)\n - kind (changed|renamed)\n - path\n - at (ISO timestamp)\n\nImplementation notes:\n- chokidar with `ignoreInitial: true` and Windows-safe normalized paths.\n- Maintain internal map keyed by windowsPathKey(projectRoot).\n- Route event -\u003e coalescer (bb-tpc.2), not direct SSE writes.\n\nTest plan:\n- Unit tests verify idempotent lifecycle and key normalization behavior.\n- Unit tests verify events from both jsonl candidates are accepted.\r\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-tpc.1","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Implemented src/lib/watcher.ts with chokidar manager, idempotent start/stop lifecycle, windowsPathKey normalization, and dual-file watch targets (.jsonl + .jsonl.new). Added tests/lib/watcher.test.ts.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"closed","target":"","timeout_ns":0,"title":"Implement chokidar watch manager for registered projects","updated_at":"2026-02-12T04:36:50Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"- Burst writes within debounce window produce one emitted project event.\n- Distinct project events are not incorrectly merged.\n- Transient EBUSY/EPERM reads are retried with bounded backoff.\n- Permanent read errors still surface as explicit failures.\r\n","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Burst coalescing and transient lock retry behavior implemented and covered by tests.","closed_at":"2026-02-12T04:36:51Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"bd814ef8378dae08697b22da707a2b8940cca09820a32606b9f666aca66401d0","created_at":"2026-02-12T01:11:54Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Implement debounce/coalescing + transient lock resilience for realtime updates.\n\nScope:\n- Coalesce rapid filesystem bursts into a single logical change event per project in a short window (e.g. 100-250ms).\n- Suppress duplicate events for same project/path within the same window.\n- Handle transient file lock contention in read layer with bounded retry for EBUSY/EPERM before surfacing failure.\n\nIntegration points:\n- Coalescer sits between watcher and SSE broadcaster.\n- Read retry applied in `readIssuesFromDisk` path used by UI reconciliation.\n\nTest plan:\n- Unit tests for coalescer burst behavior (N events =\u003e 1 broadcast).\n- Unit tests for lock retry logic and eventual success/failure behavior.\r\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"bb-tpc.2","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Implemented src/lib/coalescer.ts for burst event coalescing and integrated in watcher manager. Added src/lib/read-text-retry.ts and wired readIssuesFromDisk to retry transient lock errors (EBUSY/EPERM). Added tests/lib/coalescer.test.ts and tests/lib/read-text-retry.test.ts.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"closed","target":"","timeout_ns":0,"title":"Add debounce/coalescing and transient lock handling for file change bursts","updated_at":"2026-02-12T04:36:51Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
|
|
@ -394,11 +396,11 @@
|
|||
{"acceptance_criteria":"All existing canonical memory nodes have source bead relations and evidence_ids/plan_refs metadata; help docs require provenance capture.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Canonical memory provenance linked to historical beads and help/memory updated","closed_at":"2026-03-02T00:54:56Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"dca0bf2efdbf8f386504ed0c7473105b39e0471986abd0f6ea621aac7d191504","created_at":"2026-03-02T00:53:19Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Strengthen memory retrieval for fresh agents by relating canonical memory nodes to source closed beads/plans and adding explicit evidence metadata fields.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-i4c","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Completed provenance upgrade: all 7 canonical memory beads now link to source closed beads and include metadata keys evidence_ids + plan_refs. Updated help/memory docs to require provenance capture and provenance checks in task-start workflow.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Add provenance links and evidence metadata to canonical memory nodes","updated_at":"2026-03-02T00:54:56Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"Both manuals include mandatory post-close memory review cadence and provenance relation commands/requirements.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"AGENTS manuals now enforce regular memory additions and provenance relations","closed_at":"2026-03-02T00:57:15Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"94801679101f97c806f8bada08cbf366d258173ce388dafbb4135a3bfec22b49","created_at":"2026-03-02T00:56:31Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Update root and beadboard AGENTS manuals to require recurring memory additions and explicit provenance relation/metadata rules for canonical memory nodes.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-ij8","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Updated both AGENTS manuals: added mandatory post-close memory review cadence, provenance relation commands, required evidence_ids/plan_refs metadata, and fresh-agent provenance validation steps.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Enforce regular memory contribution + provenance relations in AGENTS manuals","updated_at":"2026-03-02T00:57:15Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"1b262c4bd3f927c6370591d77349349c31649e7299eaef08ece93abbdad0ca1b","created_at":"2026-03-04T01:29:11Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"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)","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs","is_template":0,"issue_type":"epic","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"[EPIC] bb mail: BeadBoard-native coordination messaging","updated_at":"2026-03-04T01:54:06Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"052be552d5e1dcdc7fe3cbde75be3081e96dcad41d927f896f9e3de1098fb9b7","created_at":"2026-03-04T01:55:58Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\ntools/bb.ts + src/lib/agent-mail.ts + agent-registry.ts + agent-reservations.ts + beadboard-cli.ts are the five source files that define what exists and what needs to be wired. Before writing any code, we need a precise integration map so izs.2 (global CLI), izs.3 (API routes), and izs.5 (bd mail delegate) all build toward the same contract.\n\n## TASK CONTRACT\n**Goal**: Produce an integration map documenting the existing coordination stack and specifying what each downstream izs task must build.\n\n**Success Criteria**:\n- All 5 source files read and annotated\n- Storage paths confirmed: mail JSONL at ~/.beadboard/agent/messages/, reservations at ~/.beadboard/agent/reservations/active.json\n- beadboard-cli.ts CLI framework identified (commander, minimist, etc.) and entry point documented\n- API route contract written for /api/agents/mail and /api/agents/reservations (endpoints, request/response shape)\n- Platform issues identified (Windows USERPROFILE vs Linux HOME path handling)\n- Findings posted as bd comment on beadboard-izs\n\n**Scope**:\n- Read-only investigation of 5 source files\n- Write audit findings as bd comment\n\n**Out of Scope**:\n- Any code changes\n- Frontend or CLI implementation\n\n## IMPLEMENTATION CONSTRAINTS\n- Source files: tools/bb.ts, src/lib/agent-mail.ts, src/lib/agent-registry.ts, src/lib/agent-reservations.ts, beadboard-cli.ts (find in project root)\n\n## VERIFICATION REQUIREMENTS\n- bd comments list beadboard-izs shows audit findings comment\n- API contract covers all CRUD operations for mail and reservations","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs.1","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"bb coord: audit existing stack + define integration contract","updated_at":"2026-03-04T01:55:58Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"9a1170c2d43e676a6dd191c71cada70c7502cc0a8cb66be18e6bde54dc9a04a9","created_at":"2026-03-04T01:56:04Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\nThe global bb npm CLI (beadboard-cli.ts) only handles start/open/status/doctor/self-update/uninstall. External agents (in any repo) need bb agent send/inbox/read/ack/register/list/show/activity-lease/reserve/release/status. The full implementation is in src/lib/agent-*.ts. This task ports the agent subcommand from tools/bb.ts into beadboard-cli.ts.\n\n## TASK CONTRACT\n**Goal**: Expose the full bb agent command surface through the globally-installed bb CLI.\n\n**Success Criteria**:\n- bb agent register --name foo --role ui works from any directory\n- bb agent send --from foo --to bar --bead x --category INFO --subject y --body z works\n- bb agent inbox --agent foo lists messages\n- bb agent read --agent foo --message m marks as read\n- bb agent ack --agent foo --message m acknowledges\n- bb agent reserve/release/status work\n- bb agent activity-lease --agent foo works\n- Human-readable output by default, JSON with --json flag\n- npm run build passes\n\n**Scope**:\n- Modify beadboard-cli.ts to add bb agent subcommand\n- Import src/lib/agent-mail.ts, agent-registry.ts, agent-reservations.ts\n- Port command routing and printResponse formatting from tools/bb.ts\n\n**Out of Scope**:\n- Changes to the lib implementations\n- Frontend routes\n\n## IMPLEMENTATION CONSTRAINTS\n- Use the audit from izs.1 to understand beadboard-cli.ts structure before modifying\n- Port tools/bb.ts agent command routing exactly — do not redesign the API surface\n- Must work on Windows, WSL, and Linux\n\n## VERIFICATION REQUIREMENTS\n- npm run build or equivalent passes\n- bb agent list returns empty list (no crash) from a fresh test run\n- bb agent register --name test-coord --role test succeeds then bb agent show --agent test-coord returns record","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs.2","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"bb coord: wire bb agent commands into global bb CLI","updated_at":"2026-03-04T01:56:04Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":"beadboard-2i2","await_id":"","await_type":"","close_reason":"Completed read-only audit of 5 coordination source files and published integration contract on beadboard-izs.","closed_at":"2026-03-04T02:15:27Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"052be552d5e1dcdc7fe3cbde75be3081e96dcad41d927f896f9e3de1098fb9b7","created_at":"2026-03-04T01:55:58Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\ntools/bb.ts + src/lib/agent-mail.ts + agent-registry.ts + agent-reservations.ts + beadboard-cli.ts are the five source files that define what exists and what needs to be wired. Before writing any code, we need a precise integration map so izs.2 (global CLI), izs.3 (API routes), and izs.5 (bd mail delegate) all build toward the same contract.\n\n## TASK CONTRACT\n**Goal**: Produce an integration map documenting the existing coordination stack and specifying what each downstream izs task must build.\n\n**Success Criteria**:\n- All 5 source files read and annotated\n- Storage paths confirmed: mail JSONL at ~/.beadboard/agent/messages/, reservations at ~/.beadboard/agent/reservations/active.json\n- beadboard-cli.ts CLI framework identified (commander, minimist, etc.) and entry point documented\n- API route contract written for /api/agents/mail and /api/agents/reservations (endpoints, request/response shape)\n- Platform issues identified (Windows USERPROFILE vs Linux HOME path handling)\n- Findings posted as bd comment on beadboard-izs\n\n**Scope**:\n- Read-only investigation of 5 source files\n- Write audit findings as bd comment\n\n**Out of Scope**:\n- Any code changes\n- Frontend or CLI implementation\n\n## IMPLEMENTATION CONSTRAINTS\n- Source files: tools/bb.ts, src/lib/agent-mail.ts, src/lib/agent-registry.ts, src/lib/agent-reservations.ts, beadboard-cli.ts (find in project root)\n\n## VERIFICATION REQUIREMENTS\n- bd comments list beadboard-izs shows audit findings comment\n- API contract covers all CRUD operations for mail and reservations","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs.1","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Audit completed. Evidence: read tools/bb.ts, src/lib/agent-mail.ts, src/lib/agent-registry.ts, src/lib/agent-reservations.ts, src/cli/beadboard-cli.ts; posted integration contract comment to beadboard-izs via bd comments add beadboard-izs -f /tmp/beadboard-izs1-audit.md; verified via bd comments beadboard-izs --json. Memory review: no new reusable memory.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"bb coord: audit existing stack + define integration contract","updated_at":"2026-03-04T02:15:27Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":"beadboard-2i2","await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"9a1170c2d43e676a6dd191c71cada70c7502cc0a8cb66be18e6bde54dc9a04a9","created_at":"2026-03-04T01:56:04Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\nThe global bb npm CLI (beadboard-cli.ts) only handles start/open/status/doctor/self-update/uninstall. External agents (in any repo) need bb agent send/inbox/read/ack/register/list/show/activity-lease/reserve/release/status. The full implementation is in src/lib/agent-*.ts. This task ports the agent subcommand from tools/bb.ts into beadboard-cli.ts.\n\n## TASK CONTRACT\n**Goal**: Expose the full bb agent command surface through the globally-installed bb CLI.\n\n**Success Criteria**:\n- bb agent register --name foo --role ui works from any directory\n- bb agent send --from foo --to bar --bead x --category INFO --subject y --body z works\n- bb agent inbox --agent foo lists messages\n- bb agent read --agent foo --message m marks as read\n- bb agent ack --agent foo --message m acknowledges\n- bb agent reserve/release/status work\n- bb agent activity-lease --agent foo works\n- Human-readable output by default, JSON with --json flag\n- npm run build passes\n\n**Scope**:\n- Modify beadboard-cli.ts to add bb agent subcommand\n- Import src/lib/agent-mail.ts, agent-registry.ts, agent-reservations.ts\n- Port command routing and printResponse formatting from tools/bb.ts\n\n**Out of Scope**:\n- Changes to the lib implementations\n- Frontend routes\n\n## IMPLEMENTATION CONSTRAINTS\n- Use the audit from izs.1 to understand beadboard-cli.ts structure before modifying\n- Port tools/bb.ts agent command routing exactly — do not redesign the API surface\n- Must work on Windows, WSL, and Linux\n\n## VERIFICATION REQUIREMENTS\n- npm run build or equivalent passes\n- bb agent list returns empty list (no crash) from a fresh test run\n- bb agent register --name test-coord --role test succeeds then bb agent show --agent test-coord returns record","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs.2","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"in_progress","target":"","timeout_ns":0,"title":"bb coord: wire bb agent commands into global bb CLI","updated_at":"2026-03-04T02:17:03Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"26361ef03699fb50f4b3ec4a6269381921bfe3929fff8dcbd89c010533ab56dd","created_at":"2026-03-04T01:56:10Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\nBeadBoard's dashboard needs to display agent coordination data. The libs in src/lib/agent-*.ts have all the business logic; they just need Next.js API routes to expose them to the browser. The API contract is defined in izs.1.\n\n## TASK CONTRACT\n**Goal**: Create Next.js API routes for agent mail and reservations that the frontend can call.\n\n**Success Criteria**:\n- GET /api/agents/mail?agent=\u003cid\u003e\u0026state=\u003cunread|read|acked\u003e returns inbox messages\n- POST /api/agents/mail body {from, to, bead, category, subject, body, thread?} creates message\n- POST /api/agents/mail/read body {agent, message} marks as read\n- POST /api/agents/mail/ack body {agent, message} acknowledges message\n- GET /api/agents/reservations?agent=\u003cid\u003e returns active reservations + unacked_required_messages\n- Error shape matches existing routes: {ok: false, error: {code, message}}\n- npm run typecheck passes\n\n**Scope**:\n- New files: src/app/api/agents/mail/route.ts, src/app/api/agents/reservations/route.ts\n- Import and call src/lib/agent-mail.ts and src/lib/agent-reservations.ts functions\n\n**Out of Scope**:\n- Frontend UI (izs.4)\n- SSE streaming for mail\n- Auth beyond existing patterns in the codebase\n\n## IMPLEMENTATION CONSTRAINTS\n- Read existing routes in src/app/api/beads/ and src/app/api/agents/ for patterns before writing\n- Use NextResponse for all responses\n- Check izs.1 audit for confirmed API contract before implementing\n\n## VERIFICATION REQUIREMENTS\n- npm run typecheck clean\n- curl localhost:3000/api/agents/mail?agent=nonexistent returns {ok: false, error: {code: \"AGENT_NOT_FOUND\", ...}}\n- npm run lint clean","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs.3","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"bb coord: frontend API routes (/api/agents/mail + /api/agents/reservations)","updated_at":"2026-03-04T01:56:10Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"4d88b4fe5ac8af2c38c83406b2fe0f636c85d08be3c39e737ef3ef44194b6c1c","created_at":"2026-03-04T01:56:11Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\nThe Social lens and Activity panel in UnifiedShell need to surface agent coordination state: unread message count per agent, HANDOFF/BLOCKED urgency badges, and active reservation scope labels. This makes BeadBoard the primary coordination dashboard for multi-agent sessions.\n\n## TASK CONTRACT\n**Goal**: Add agent mail and reservation visibility to the Social and Activity views in the BeadBoard dashboard.\n\n**Success Criteria**:\n- Agent cards in Social view show unread message count badge (fetched from /api/agents/mail)\n- HANDOFF/BLOCKED messages show amber/red badge (urgent); INFO/DECISION show neutral\n- Clicking badge shows inline message list with subject, body, category, state, from_agent\n- Ack button on HANDOFF/BLOCKED messages (calls POST /api/agents/mail/ack)\n- Activity panel shows recent coordination events (sends, acks) in telemetry feed\n- Agent card shows active reservation scope as label (from /api/agents/reservations)\n- npm run typecheck and npm run lint pass\n\n**Scope**:\n- Update src/components/social/ (agent card or social-page.tsx)\n- Update src/components/activity/activity-panel.tsx for coordination events\n- Fetch from API routes created in izs.3\n\n**Out of Scope**:\n- Composing new messages from UI (read/ack only in v1)\n- SSE live push for mail — polling with SWR or manual refresh is fine\n- New npm dependencies\n\n## IMPLEMENTATION CONSTRAINTS\n- Use existing shadcn/ui primitives from components/ui/\n- Follow Tailwind patterns from src/components/social/social-page.tsx\n- AgentAvatar component at src/components/shared/agent-avatar.tsx is the anchor for badges\n- Check CLAUDE.md: src/components/shared/unified-shell.tsx is the root layout — understand view structure before modifying\n\n## VERIFICATION REQUIREMENTS\n- npm run typecheck \u0026\u0026 npm run lint pass\n- Dev server: agent cards show message badge when unread messages exist in ~/.beadboard/agent/messages/\n- HANDOFF category badge is visually distinct from INFO","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs.4","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"bb coord: frontend UI — agent mail inbox + reservation badges","updated_at":"2026-03-04T01:56:11Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"07c84845729d6316e7d30d9caed5c03c0465ac8d97a1d31f2a8f71d2d14eb1c7","created_at":"2026-03-04T01:56:13Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\nbd mail is designed as a delegate — it shells out to a configured external provider via BEADS_MAIL_DELEGATE env var or bd config set mail.delegate. The bb CLI (now with bb agent send/inbox via izs.2) is the natural delegate for BeadBoard environments. This task wires bd mail → bb agent so agents using bd mail transparently use the BeadBoard coordination stack.\n\n## TASK CONTRACT\n**Goal**: Configure bd mail to delegate to bb agent commands so the session-preflight script automatically sets up mail routing.\n\n**Success Criteria**:\n- bd config set mail.delegate bb (or equivalent) documented and working\n- .agents/skills/beadboard-driver/scripts/session-preflight.mjs runs the delegate config command on startup\n- bd mail send --to foo --bead x --subject y --body z routes through bb agent send\n- Fallback: if bb not installed, bd mail fails with helpful error (not silent failure)\n- help/cli/bd_help.txt mail section read and delegate mechanism confirmed before implementing\n\n**Scope**:\n- Update session-preflight.mjs to configure bd mail delegate\n- Read help/cli/bd_help.txt to confirm exact bd mail delegate config syntax\n- Document delegate config in bd comment on izs.5\n\n**Out of Scope**:\n- Changes to bd internals\n- Building an alternate mail system\n- project.template.md update (tracked in maf.9)\n\n## IMPLEMENTATION CONSTRAINTS\n- Read help/cli/bd_help.txt mail section BEFORE configuring — do not assume flag names\n- Check BEADS_MAIL_DELEGATE env var as alternative to bd config\n\n## VERIFICATION REQUIREMENTS\n- node scripts/session-preflight.mjs completes without error\n- bd mail send routes to bb after preflight runs\n- bd mail without bb installed produces useful error","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs.5","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"bb coord: bd mail delegate configuration + session-preflight wiring","updated_at":"2026-03-04T01:56:13Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":"silver-scribe","await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"07c84845729d6316e7d30d9caed5c03c0465ac8d97a1d31f2a8f71d2d14eb1c7","created_at":"2026-03-04T01:56:13Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\nbd mail is designed as a delegate — it shells out to a configured external provider via BEADS_MAIL_DELEGATE env var or bd config set mail.delegate. The bb CLI (now with bb agent send/inbox via izs.2) is the natural delegate for BeadBoard environments. This task wires bd mail → bb agent so agents using bd mail transparently use the BeadBoard coordination stack.\n\n## TASK CONTRACT\n**Goal**: Configure bd mail to delegate to bb agent commands so the session-preflight script automatically sets up mail routing.\n\n**Success Criteria**:\n- bd config set mail.delegate bb (or equivalent) documented and working\n- .agents/skills/beadboard-driver/scripts/session-preflight.mjs runs the delegate config command on startup\n- bd mail send --to foo --bead x --subject y --body z routes through bb agent send\n- Fallback: if bb not installed, bd mail fails with helpful error (not silent failure)\n- help/cli/bd_help.txt mail section read and delegate mechanism confirmed before implementing\n\n**Scope**:\n- Update session-preflight.mjs to configure bd mail delegate\n- Read help/cli/bd_help.txt to confirm exact bd mail delegate config syntax\n- Document delegate config in bd comment on izs.5\n\n**Out of Scope**:\n- Changes to bd internals\n- Building an alternate mail system\n- project.template.md update (tracked in maf.9)\n\n## IMPLEMENTATION CONSTRAINTS\n- Read help/cli/bd_help.txt mail section BEFORE configuring — do not assume flag names\n- Check BEADS_MAIL_DELEGATE env var as alternative to bd config\n\n## VERIFICATION REQUIREMENTS\n- node scripts/session-preflight.mjs completes without error\n- bd mail send routes to bb after preflight runs\n- bd mail without bb installed produces useful error","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs.5","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"in_progress","target":"","timeout_ns":0,"title":"bb coord: bd mail delegate configuration + session-preflight wiring","updated_at":"2026-03-04T02:18:30Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"e915b0b50b0e71eae96d15339a3a97e80211f3966a477898baf1059214910e87","created_at":"2026-03-04T01:56:27Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\nThe global CLI (izs.2), API routes (izs.3, izs.4), and bd mail delegate (izs.5) all need contract tests. Tests must follow the existing Node.js native test runner with tsx loader pattern. All test files must be explicitly added to the test script in package.json.\n\n## TASK CONTRACT\n**Goal**: Add tests covering the full coordination stack integration surfaces.\n\n**Success Criteria**:\n- tests/lib/agent-mail.test.ts covers send/inbox/read/ack flows and broadcast routing\n- tests/lib/agent-registry.test.ts covers register/show/list/activity-lease\n- tests/lib/agent-reservations.test.ts covers reserve/release/status, conflict detection (active blocks, stale warns)\n- tests/api/agents-mail.test.ts covers API route smoke tests (valid request, missing agent error)\n- All 4 test files added to test script in package.json\n- npm run test exits 0\n\n**Scope**:\n- New test files in tests/lib/ and tests/api/\n- package.json test script updated\n\n**Out of Scope**:\n- Frontend component tests\n- E2E browser tests\n- Testing bd internals\n\n## IMPLEMENTATION CONSTRAINTS\n- Tests use node:test native runner with tsx loader: node --import tsx --test \u003cfile\u003e\n- No jest or vitest — native test runner only (existing pattern in tests/)\n- Mock runBdCommand in registry tests (avoid requiring live bd process)\n- Check tests/ directory for existing patterns before writing\n\n## VERIFICATION REQUIREMENTS\n- npm run test exits 0\n- All 4 new test files listed in package.json test script\n- npm run typecheck passes on test files","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs.6","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"bb coord: tests — global CLI, API routes, mail contract","updated_at":"2026-03-04T01:56:27Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"cbf55514cdafc8d0b9f9bf01270efd003ffd6d7f8c36264fe2e81f689c4f06ad","created_at":"2026-03-04T02:07:04Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\nThe beadboard-driver v5 skill (beadboard-maf) needs a definitive reference document for the coordination system. The current coord-events-sessions-ack.md references deprecated bb agent commands and has no WHEN-to-use triggers. This doc becomes the source for maf.6 (comm system rewrite for v5).\n\n## TASK CONTRACT\n**Goal**: Write a complete, accurate coordination system reference at .agents/skills/beadboard-driver/references/coordination-system.md.\n\n**Success Criteria**:\n- Documents all bb agent commands with flags and examples (send, inbox, read, ack, register, list, show, activity-lease, reserve, release, status)\n- Message state machine documented: unread → read → acked, with requires_ack: true for HANDOFF and BLOCKED\n- WHEN-to-use trigger map covers at least 6 scenarios (task complete → HANDOFF, blocked → BLOCKED, FYI → INFO, async decision → DECISION, etc.)\n- Inbox polling protocol: frequency recommendation + what to do with unacked required messages\n- Reservation conflict resolution documented: active agent blocks, stale/evicted warns with --takeover-stale\n- Worked example showing full HANDOFF flow from sender through recipient to ack\n- bd mail delegate config documented (how to configure bb as the delegate)\n\n**Scope**:\n- New file: .agents/skills/beadboard-driver/references/coordination-system.md\n- May deprecate/replace coord-events-sessions-ack.md\n\n**Out of Scope**:\n- SKILL.md update (maf.10)\n- Memory, swarm, or lifecycle docs (separate maf tasks)\n\n## IMPLEMENTATION CONSTRAINTS\n- Reference actual command flags from tools/bb.ts and src/lib/agent-mail.ts — not speculative\n- Test examples against real command output where possible\n\n## VERIFICATION REQUIREMENTS\n- File exists at .agents/skills/beadboard-driver/references/coordination-system.md\n- All bb agent commands documented with at least one complete example\n- WHEN-to-use trigger map covers at least 6 scenarios","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-izs.7","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"bb coord: agent coordination reference doc (for v5 skill)","updated_at":"2026-03-04T02:07:04Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"WorkflowGraphProps includes assignMode?: boolean; GraphNodeData includes isAssignMode?: boolean; When isAssignMode=true and !isActionable: node has opacity-20; When isAssignMode=true and isActionable: node has ring-2 ring-emerald-400/50 shadow-[0_0_24px_rgba(16,185,129,0.2)]; npm run typecheck passes","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"dd64afe3fa8c5aebaa14f15c73385a964cf584eed523b103825eecfe2e8257bc","created_at":"2026-02-24T01:37:40Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-j3u","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"## TASK CONTEXT\n- Bead ID: beadboard-j3u\n- Title: Add assign mode data flow to WorkflowGraph + GraphNodeCard\n- Parent/Epic: beadboard-uui (Unify Graph + Swarm into Single Enhanced Graph View)\n- Dependencies (must be done first): None\n\n## GOAL\nEnable visual differentiation of actionable vs non-actionable nodes when assign mode is active. This provides the visual foundation for the 'Assign' toggle functionality.\n\n## SUCCESS CRITERIA\n- WorkflowGraphProps interface includes assignMode?: boolean\n- GraphNodeData interface includes isAssignMode?: boolean\n- In WorkflowGraphInner, pass isAssignMode: assignMode to each node's data\n- In GraphNodeCard, when data.isAssignMode is true:\n - If !data.isActionable: add opacity-20 class (extra dimming)\n - If data.isActionable: add ring-2 ring-emerald-400/50 shadow-[0_0_24px_rgba(16,185,129,0.2)] (highlight ring)\n- npm run typecheck passes\n\n## SCOPE\n- Modify src/components/shared/workflow-graph.tsx:\n - Add assignMode?: boolean to WorkflowGraphProps (line 24-31)\n - Pass assignMode to WorkflowGraphInner\n - In flowModel useMemo, add isAssignMode: assignMode to each node's data (line 154-175)\n- Modify src/components/graph/graph-node-card.tsx:\n - Add isAssignMode?: boolean to GraphNodeData interface\n - Add conditional styling based on isAssignMode \u0026\u0026 isActionable\n\n## OUT OF SCOPE\n- SmartDag changes (beadboard-5sr)\n- AssignmentPanel component (beadboard-d4n)\n- UnifiedShell wiring (beadboard-cm8)\n\n## IMPLEMENTATION NOTES\nThe visual treatment should:\n1. Non-actionable nodes in assign mode: fade them out so user focuses on ready nodes\n2. Actionable nodes in assign mode: glowing emerald ring to draw attention\n3. Preserve existing styling for non-assign mode\n\n## VERIFICATION REQUIREMENTS\n- Required commands:\n - npm run typecheck\n- Manual verification:\n - When assignMode=true, actionable nodes have green ring\n - When assignMode=true, non-actionable nodes are dimmed\n - When assignMode=false, existing styling preserved","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"tombstone","target":"","timeout_ns":0,"title":"Add assign mode data flow to WorkflowGraph + GraphNodeCard","updated_at":"2026-02-24T01:40:31Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
|
|
@ -415,7 +417,7 @@
|
|||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"02e7ede9e7b9ec2ba9310ae610af3ef6b50ea40b5ff5e8f6c97ddf9b1006ba7c","created_at":"2026-03-04T01:36:29Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-maf.3\n- Parent/Epic: beadboard-maf\n- Dependencies: None (parallelizable with maf.1, maf.2, maf.4, maf.5)\n\nTASK CONTRACT\n- Goal: Rewrite archetypes-templates-swarms.md replacing vague 'use your environment swarm commands' with real bd swarm and bd mol commands, and adding template discovery so agents know what swarm they're in.\n- Success Criteria:\n - bd swarm create \u003cepic-id\u003e, bd swarm status, bd swarm list, bd swarm validate documented with examples\n - bd mol show \u003cproto-id\u003e documented: how agents discover the template/proto their swarm was instantiated from\n - Archetype contracts expanded: coder/reviewer/writer each get quality gates, handoff payload format, escalation triggers\n - Swarm join flow for worker agents documented (not just orchestrators)\n - Swarm closure ownership defined: who closes and when\n - Command surface section replaced with real commands (no more 'expected operations' placeholder)\n- Scope:\n - skills/beadboard-driver/references/archetypes-templates-swarms.md rewrite\n - bd swarm subcommands\n - bd mol show (template discovery)\n- Out of Scope:\n - bd mol pour/wisp/bond (molecule instantiation is user/orchestrator territory)\n - BeadBoard UI swarm views\n\nIMPLEMENTATION CONSTRAINTS\n- Source of truth for bd swarm: run bd swarm --help and bd swarm create --help in beadboard/\n- No invented commands — only document commands verified to exist\n\nVERIFICATION REQUIREMENTS\n- Required commands: None (doc task)\n- Required artifacts: updated skills/beadboard-driver/references/archetypes-templates-swarms.md","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-maf.3","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"v5: swarm system reference rewrite","updated_at":"2026-03-04T01:36:29Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"5264bd61ea10a08ea41625dee46c7933344faa5d9f0bec29f9f271ea2e19cdb7","created_at":"2026-03-04T01:36:29Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-maf.4\n- Parent/Epic: beadboard-maf\n- Dependencies: None (parallelizable with maf.1, maf.2, maf.3, maf.5)\n\nTASK CONTRACT\n- Goal: Expand session-lifecycle.md to cover the BLOCKED path, bd dep workflow, epic/parent bead guidance, and fix the --claim vs --assignee inconsistency.\n- Success Criteria:\n - --claim replaced everywhere with --assignee \u003cagent-bead-id\u003e (the correct flag)\n - BLOCKED path documented: bd agent state \u003cid\u003e stuck + bb mail send BLOCKED + what to do while waiting\n - bd dep add and bd dep relate documented with when-to-use guidance\n - Epic/parent bead guidance: bd show \u003cepic-id\u003e before claiming child tasks, bd children \u003cepic-id\u003e to see sibling work\n - Memory review step has substance: exact decision rule for when to create vs skip canonical memory\n - Session start now includes: create agent bead, set state spawning, attach hook slot, query hard memory\n- Scope:\n - skills/beadboard-driver/references/session-lifecycle.md rewrite\n - bd dep subcommands (add, relate, list, tree)\n- Out of Scope:\n - Communication protocol details (covered in maf.6)\n\nIMPLEMENTATION CONSTRAINTS\n- --assignee requires an agent bead to exist first — document this ordering explicitly\n- BLOCKED path must reference bd agent state stuck (not just mail events)\n\nVERIFICATION REQUIREMENTS\n- Required commands: None (doc task)\n- Required artifacts: updated skills/beadboard-driver/references/session-lifecycle.md","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-maf.4","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"v5: bead lifecycle + dep workflow expansion","updated_at":"2026-03-04T01:36:29Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"e78bbffbb51b1ff9bfc8f6474ac4903ab89d48b37fbb35a92630da9e2798c4f3","created_at":"2026-03-04T01:36:51Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-maf.5\n- Parent/Epic: beadboard-maf\n- Dependencies: None (parallelizable with maf.1-maf.4)\n\nTASK CONTRACT\n- Goal: Fix driver-lib.mjs discoverBbPath() which only searches for bb.ps1, causing BB_NOT_FOUND on all Linux/WSL agents even when bb is in PATH.\n- Success Criteria:\n - discoverBbPath() finds bb binary on Linux/WSL via PATH or known install locations\n - Windows bb.ps1 discovery still works (no regression)\n - session-preflight.contract.test.mjs passes on Linux (currently platform-assumption failure)\n - resolve-bb.contract.test.mjs passes on Linux\n - npm run typecheck, lint, test all pass\n- Scope:\n - scripts/lib/driver-lib.mjs: discoverBbPath() and validateRepoPath() functions\n - Platform-branching: Windows checks bb.ps1, Linux/Mac checks bb binary in PATH and npm global\n - Contract test updates for cross-platform assumptions\n- Out of Scope:\n - Windows path handling changes\n - bb mail configuration (maf.5 in izs)\n\nIMPLEMENTATION CONSTRAINTS\n- Do not break existing Windows discovery logic\n- On Linux, check: PATH entries for 'bb', npm global bin, ~/.npm-global/bin/bb\n\nVERIFICATION REQUIREMENTS\n- Required commands: npm run typecheck, npm run lint, npm run test\n- Required artifacts: updated driver-lib.mjs, updated contract tests","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-maf.5","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"v5: script platform fix (Linux/WSL bb discovery)","updated_at":"2026-03-04T01:36:51Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"39f60821375aea6d49af9b3c80312d41c2069d18efae43ddd172c393c1ea900d","created_at":"2026-03-04T01:36:51Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-maf.6\n- Parent/Epic: beadboard-maf\n- Dependencies: beadboard-izs (bb mail epic must be fully complete — commands finalized and reference doc written in izs.7)\n\nTASK CONTRACT\n- Goal: Rewrite coord-events-sessions-ack.md replacing all deprecated bb agent send/inbox/read/ack commands with bb mail, adding a WHEN-to-use trigger map, inbox polling protocol, and a full worked BLOCKED flow example.\n- Success Criteria:\n - Zero references to bb agent send/inbox/read/ack/register/reserve (all deprecated)\n - bb mail send/inbox/read/ack commands used throughout with correct syntax\n - WHEN-to-use trigger map: exact condition that triggers each category (HANDOFF/BLOCKED/RESUME/INFO)\n - Inbox polling protocol: when agents check inbox (session start, before claim, on state=stuck)\n - Full BLOCKED walkthrough: agent sends BLOCKED via bb mail -\u003e bd agent state stuck -\u003e user sees in BeadBoard UI -\u003e user intervenes -\u003e agent resumes\n - ACK escalation path: what happens if ack never comes\n - UX Alignment section removed (wrong audience for agent-facing doc)\n- Scope:\n - skills/beadboard-driver/references/coord-events-sessions-ack.md full rewrite\n- Out of Scope:\n - bb mail implementation (done in izs epic)\n - BeadBoard UI changes\n\nIMPLEMENTATION CONSTRAINTS\n- Only document commands verified to exist in bb mail (from izs.7 reference doc)\n- Source of truth for bb mail commands: skills/beadboard-driver/references/bb-mail.md (written in izs.7)\n\nVERIFICATION REQUIREMENTS\n- Required commands: None (doc task)\n- Required artifacts: updated skills/beadboard-driver/references/coord-events-sessions-ack.md","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-maf.6","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"v5: comm system rewrite (coord-events-sessions-ack.md)","updated_at":"2026-03-04T01:36:51Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"39f60821375aea6d49af9b3c80312d41c2069d18efae43ddd172c393c1ea900d","created_at":"2026-03-04T01:36:51Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## TASK CONTEXT\n- Bead ID: beadboard-maf.6\n- Parent/Epic: beadboard-maf\n- Dependencies: beadboard-izs (bb mail epic must be fully complete — commands finalized and reference doc written in izs.7)\n\ncoord-events-sessions-ack.md currently documents deprecated command signatures. The coordination system is fully implemented in tools/bb.ts (bb agent send/inbox/read/ack/register/reserve/release/status), backed by src/lib/agent-mail.ts, agent-registry.ts, agent-reservations.ts. izs.7 produces the canonical reference doc — this task rewrites the skill reference using it.\n\n## TASK CONTRACT\n**Goal**: Rewrite coord-events-sessions-ack.md (or replace with coordination-system.md from izs.7) with accurate bb agent command surface, WHEN-to-use triggers, and a worked BLOCKED flow example.\n\n**Success Criteria**:\n- Uses bb agent send/inbox/read/ack with correct flags (not speculative — verified against tools/bb.ts)\n- WHEN-to-use trigger map: condition that triggers each category (HANDOFF, BLOCKED, DECISION, INFO)\n- Inbox polling protocol: when agents check inbox (session start, before claiming task, on state=stuck)\n- Full BLOCKED walkthrough: agent sends bb agent send --category BLOCKED → bd agent state stuck → user sees in BeadBoard UI → user intervenes → agent resumes\n- ACK escalation path documented for requires_ack=true messages\n- bd mail delegate documented as the alternative invocation path (bd mail → bb agent)\n- Reservation conflict protocol: active blocks, stale warns with --takeover-stale\n- Zero references to phantom or deprecated API surfaces\n- Must read izs.7 coordination-system.md FIRST — do not invent command syntax\n\n**Scope**:\n- .agents/skills/beadboard-driver/references/coord-events-sessions-ack.md rewrite\n- May link to or embed content from coordination-system.md (izs.7)\n\n**Out of Scope**:\n- SKILL.md update (maf.10)\n- Other reference docs\n\n## IMPLEMENTATION CONSTRAINTS\n- Read izs.7 output (coordination-system.md) before writing anything\n- Verify all command examples compile against actual tools/bb.ts command surface\n\n## VERIFICATION REQUIREMENTS\n- All command examples match actual bb agent flags\n- WHEN-to-use map covers at least 6 trigger scenarios\n- Worked BLOCKED flow is end-to-end complete","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-maf.6","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"v5: comm system rewrite (coord-events-sessions-ack.md)","updated_at":"2026-03-04T02:10:02Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"c81b5ea164b59246e5f60401e0bb9ab3cd38ea9cd9ff1ed97dc5b37f65736fd5","created_at":"2026-03-04T01:37:08Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-maf.7\n- Parent/Epic: beadboard-maf\n- Dependencies: beadboard-maf.6 (comm system must be rewritten so command matrix reflects real surface)\n\nTASK CONTRACT\n- Goal: Rewrite command-matrix.md and failure-modes.md to remove all dead bb agent commands and add the full live command surface.\n- Success Criteria:\n - command-matrix.md: zero bb agent commands; full surface: bd agent state/heartbeat, bd swarm, bb mail, bd slot, bd gate, bd mol, bd dep, bd comments\n - failure-modes.md: reservoir/reservation errors removed; new entries: bb mail not configured (error_code + remediation), Dolt not running, bd agent heartbeat missed (Witness marks dead), bd mail delegate not set\n - All commands in matrix verified to exist (no invented flags)\n- Scope:\n - skills/beadboard-driver/references/command-matrix.md full rewrite\n - skills/beadboard-driver/references/failure-modes.md update\n- Out of Scope:\n - New command implementations\n\nIMPLEMENTATION CONSTRAINTS\n- Cross-reference against bd --help and bb --help output before writing\n- Every command in the matrix must include the real flag names (not paraphrases)\n\nVERIFICATION REQUIREMENTS\n- Required commands: None (doc task)\n- Required artifacts: updated command-matrix.md, updated failure-modes.md","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-maf.7","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"v5: command matrix + failure modes rewrite","updated_at":"2026-03-04T01:37:08Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"d5293835bc2265fe3aace02c18a422e9483beb268b3a10121ee7395c8a3e443a","created_at":"2026-03-04T01:37:09Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-maf.8\n- Parent/Epic: beadboard-maf\n- Dependencies: beadboard-maf.5 (script fix), beadboard-maf.6 (comm system — tests must match new commands)\n\nTASK CONTRACT\n- Goal: Update skill-local and repo-level tests so they pass on Linux/WSL and cover the new bb mail integration.\n- Success Criteria:\n - session-preflight.contract.test.mjs: remove Windows-only assumptions, pass on Linux\n - resolve-bb.contract.test.mjs: Linux bb binary discovery tested\n - bb-mail integration test: full send-\u003einbox-\u003eread-\u003eack lifecycle in isolated tmpdir\n - ensure-bb-mail-configured.mjs contract test: missing delegate detected and remediation shown\n - All tests registered in run-tests.mjs and package.json\n - npm run typecheck, lint, test all pass\n- Scope:\n - skills/beadboard-driver/tests/*.contract.test.mjs updates\n - tests/skills/beadboard-driver/*.test.ts updates\n - package.json test registration\n- Out of Scope:\n - Windows CI (follow-up epic)\n\nIMPLEMENTATION CONSTRAINTS\n- No mocking of bd — use real bd in tmpdir\n- New test files must be added to package.json test script (explicitly enumerated)\n\nVERIFICATION REQUIREMENTS\n- Required commands: npm run typecheck, npm run lint, npm run test\n- Required artifacts: all updated test files, updated package.json","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-maf.8","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"v5: tests update","updated_at":"2026-03-04T01:37:09Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"23b0e7c666f24e9e8b9e6cd12e4383ff6cef36e96c790d46b729ee81a860a190","created_at":"2026-03-04T01:37:55Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-maf.9\n- Parent/Epic: beadboard-maf\n- Dependencies: beadboard-maf.6 (bb mail commands must be finalized)\n\nTASK CONTRACT\n- Goal: Update project.template.md to include bb mail configuration, agent heartbeat policy, and swarm template field so agents filling it out get complete env-specific guidance.\n- Success Criteria:\n - bb mail configuration section added: bd config set mail.delegate 'bb mail', BD_ACTOR env var\n - Agent heartbeat policy field added: how often to heartbeat in this project\n - Swarm template field added: which bd mol proto this project uses (if any)\n - Validation step noted: ensure-bb-mail-configured.mjs and session-preflight.mjs should both pass before work\n - Blank template still has useful prompts for each field (not just empty lines)\n- Scope:\n - skills/beadboard-driver/project.template.md update\n- Out of Scope:\n - Creating actual project.md for any specific project\n\nIMPLEMENTATION CONSTRAINTS\n- Keep the template fillable by a human or agent in one sitting\n- Do not add so many fields that it becomes a burden to complete\n\nVERIFICATION REQUIREMENTS\n- Required commands: None (doc task)\n- Required artifacts: updated skills/beadboard-driver/project.template.md","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-maf.9","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"v5: project.template.md update","updated_at":"2026-03-04T01:37:55Z","waiters":"","wisp_type":"","work_type":""}
|
||||
|
|
@ -470,3 +472,4 @@
|
|||
{"acceptance_criteria":"Anchors exist, at least 5 canonical memory nodes exist and are closed, links to anchors exist, and plan docs updated.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Phase 1 memory fabric bootstrapped in bd with anchors and canonical memory nodes","closed_at":"2026-03-02T00:40:49Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"de3a851d3aa09e12495ce3aeec0c1933496e90dbe6893794b8d34316f38eccb4","created_at":"2026-03-02T00:38:49Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Implement Phase 1 native memory system in bd: create domain anchors, seed canonical memory decisions with strict schema labels, link via relates_to, and document evidence.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-yz6","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Evidence: created anchors beadboard-76p/fld/nq9/5r1/8st; created+closed canonical nodes beadboard-116,dvp,60a,zas,duo,6fv,fga; verified retrieval via bd query label=memory+mem-canonical+status=closed and connectivity via bd dep list.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Bootstrap Phase 1 Memory Fabric (anchors + canonical nodes)","updated_at":"2026-03-02T00:40:49Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Completed: Created TelemetryStrip with real /api/activity + SSE data. Commit 114bb18.","closed_at":"2026-03-02T02:26:55Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"d86b021c1a42f4c81c3eace6b52b0484c971006c631ff13b74dfa38a8d100288","created_at":"2026-03-02T02:26:02Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Created new TelemetryStrip component - a minimized right sidebar that shows recent activity event dots from /api/activity + SSE (same data source as ActivityPanel). Uses getEventTone() color coding. Includes maximize button to restore full activity feed. Scope: telemetry-strip.tsx (NEW), unified-shell.tsx. Success Criteria: TelemetryStrip shows real activity events as colored dots, maximize restores full feed.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-z2s","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Create TelemetryStrip minimized sidebar component","updated_at":"2026-03-02T02:26:55Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"Given a behavior change touching multiple views, when implementation lands, then shared logic path is reused and covered by tests.\nVerification command(s): rg \"\u003cshared-function-or-hook\u003e\" src tests; npm run test","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Ratified canonical memory","closed_at":"2026-03-02T00:39:59Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"2103a5356ed4ed273497387c9676eef14c41f9ea886a1c91a654efcb81fef218","created_at":"2026-03-02T00:39:59Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Scope: Repeated logic used by multiple views or pages.\nOut of Scope: One-off prototypes and disposable experiments.\nRule: Reuse shared paths/components for cross-view behavior; avoid one-off logic drift.\nRationale: Prevents silent divergence between Kanban, Graph, and API views.\nFailure Mode: Patching one surface only creates inconsistent user behavior.\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-zas","is_template":0,"issue_type":"decision","last_activity":null,"metadata":"{\"domain\":\"memory-arch\",\"effective_date\":\"2026-03-02\",\"evidence_ids\":\"beadboard-68k.4,beadboard-68k.5,beadboard-r1i.1\",\"memory_strength\":\"hard\",\"memory_version\":1,\"owner\":\"team\",\"plan_refs\":\"docs/plans/2026-02-22-dag-views-ux-design.md,docs/plans/2026-02-15-unified-ux-prd.md\",\"superseded_by\":null,\"supersedes\":null}","mol_type":"","notes":"Provenance linked: beadboard-68k.4, beadboard-68k.5, beadboard-r1i.1","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"[MEMORY][ARCH][HARD] Shared logic for cross-view behavior","updated_at":"2026-03-02T00:54:01Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"bb-test-coord-izs2","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":null,"closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"cab2cfc8fec28ed642ea0b67e04b9f667abbdbc16b84489665805a0060df745a","created_at":"2026-03-04T02:18:34Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"","design":"","due_at":null,"ephemeral":1,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-wisp-8zgx","is_template":0,"issue_type":"event","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":2,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"pulse:test-coord-izs2:1772590713612","updated_at":"2026-03-04T02:18:34Z","waiters":"","wisp_type":"heartbeat","work_type":""}
|
||||
|
|
|
|||
|
|
@ -363,6 +363,10 @@
|
|||
{"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-scribe","label":"gt:agent"}
|
||||
{"issue_id":"bb-silver-scribe","label":"role:implementer"}
|
||||
{"issue_id":"bb-test-coord-izs2","label":"gt:agent"}
|
||||
{"issue_id":"bb-test-coord-izs2","label":"role:test"}
|
||||
{"issue_id":"bb-tpc","label":"realtime"}
|
||||
{"issue_id":"bb-tpc","label":"sse"}
|
||||
{"issue_id":"bb-tpc","label":"watcher"}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue