bd: backup 2026-03-02 00:53
This commit is contained in:
parent
6ba2e8b3c4
commit
e1155c24cc
5 changed files with 161 additions and 7 deletions
|
|
@ -1,13 +1,13 @@
|
|||
{
|
||||
"last_dolt_commit": "ej5rro5j1n0euu110g1vktd5eejlqn12",
|
||||
"last_dolt_commit": "i3jb5m7gaih2erk0afei1e47uonm3qsr",
|
||||
"last_event_id": 0,
|
||||
"timestamp": "2026-03-02T00:38:49.567417381Z",
|
||||
"timestamp": "2026-03-02T00:53:49.79089385Z",
|
||||
"counts": {
|
||||
"issues": 423,
|
||||
"events": 96,
|
||||
"issues": 437,
|
||||
"events": 171,
|
||||
"comments": 2,
|
||||
"dependencies": 522,
|
||||
"labels": 608,
|
||||
"dependencies": 540,
|
||||
"labels": 655,
|
||||
"config": 14
|
||||
}
|
||||
}
|
||||
|
|
@ -82,6 +82,7 @@
|
|||
{"created_at":"2026-02-12T01:11:45Z","created_by":"zenchantlive","depends_on_id":"bb-92d.4","issue_id":"bb-92d.4.1","type":"parent-child"}
|
||||
{"created_at":"2026-02-12T01:11:46Z","created_by":"zenchantlive","depends_on_id":"bb-92d","issue_id":"bb-92d.5","type":"parent-child"}
|
||||
{"created_at":"2026-02-12T01:11:47Z","created_by":"zenchantlive","depends_on_id":"bb-92d","issue_id":"bb-92d.6","type":"parent-child"}
|
||||
{"created_at":"2026-03-01T16:53:51Z","created_by":"ZenchantLive","depends_on_id":"beadboard-116","issue_id":"bb-92d.6","type":"relates-to"}
|
||||
{"created_at":"2026-02-13T18:09:54Z","created_by":"zenchantlive","depends_on_id":"bb-b4j","issue_id":"bb-b4j.1","type":"parent-child"}
|
||||
{"created_at":"2026-02-13T18:28:11Z","created_by":"zenchantlive","depends_on_id":"bb-b4j.2","issue_id":"bb-b4j.1","type":"blocks"}
|
||||
{"created_at":"2026-02-13T18:10:15Z","created_by":"zenchantlive","depends_on_id":"bb-b4j.1","issue_id":"bb-b4j.1.1","type":"parent-child"}
|
||||
|
|
@ -424,6 +425,9 @@
|
|||
{"created_at":"2026-02-28T14:05:07Z","created_by":"ZenchantLive","depends_on_id":"beadboard-0fi.1","issue_id":"beadboard-0fi.2","type":"blocks"}
|
||||
{"created_at":"2026-02-28T14:04:47Z","created_by":"ZenchantLive","depends_on_id":"beadboard-0fi","issue_id":"beadboard-0fi.3","type":"parent-child"}
|
||||
{"created_at":"2026-02-28T14:05:07Z","created_by":"ZenchantLive","depends_on_id":"beadboard-0fi.1","issue_id":"beadboard-0fi.3","type":"blocks"}
|
||||
{"created_at":"2026-03-01T16:53:51Z","created_by":"ZenchantLive","depends_on_id":"bb-92d.6","issue_id":"beadboard-116","type":"relates-to"}
|
||||
{"created_at":"2026-03-01T16:53:51Z","created_by":"ZenchantLive","depends_on_id":"beadboard-jgy","issue_id":"beadboard-116","type":"relates-to"}
|
||||
{"created_at":"2026-03-01T16:39:57Z","created_by":"ZenchantLive","depends_on_id":"beadboard-nq9","issue_id":"beadboard-116","type":"relates-to"}
|
||||
{"created_at":"2026-02-24T01:38:23Z","created_by":"zenchantlive","depends_on_id":"beadboard-60s","issue_id":"beadboard-12l","type":"blocks"}
|
||||
{"created_at":"2026-02-24T01:38:23Z","created_by":"zenchantlive","depends_on_id":"beadboard-cm8","issue_id":"beadboard-12l","type":"blocks"}
|
||||
{"created_at":"2026-02-24T01:38:07Z","created_by":"zenchantlive","depends_on_id":"beadboard-uui","issue_id":"beadboard-12l","type":"parent"}
|
||||
|
|
@ -435,8 +439,10 @@
|
|||
{"created_at":"2026-02-28T16:59:47Z","created_by":"ZenchantLive","depends_on_id":"beadboard-550.2","issue_id":"beadboard-550.3","type":"blocks"}
|
||||
{"created_at":"2026-02-28T16:59:47Z","created_by":"ZenchantLive","depends_on_id":"beadboard-550","issue_id":"beadboard-550.4","type":"parent-child"}
|
||||
{"created_at":"2026-02-28T16:59:47Z","created_by":"ZenchantLive","depends_on_id":"beadboard-550.3","issue_id":"beadboard-550.4","type":"blocks"}
|
||||
{"created_at":"2026-03-01T16:39:58Z","created_by":"ZenchantLive","depends_on_id":"beadboard-dvp","issue_id":"beadboard-5r1","type":"relates-to"}
|
||||
{"created_at":"2026-02-24T01:38:23Z","created_by":"zenchantlive","depends_on_id":"beadboard-ck0","issue_id":"beadboard-5sr","type":"blocks"}
|
||||
{"created_at":"2026-02-24T01:38:07Z","created_by":"zenchantlive","depends_on_id":"beadboard-uui","issue_id":"beadboard-5sr","type":"parent"}
|
||||
{"created_at":"2026-03-01T16:39:59Z","created_by":"ZenchantLive","depends_on_id":"beadboard-76p","issue_id":"beadboard-60a","type":"relates-to"}
|
||||
{"created_at":"2026-02-24T01:38:07Z","created_by":"zenchantlive","depends_on_id":"beadboard-uui","issue_id":"beadboard-60s","type":"parent"}
|
||||
{"created_at":"2026-02-28T13:06:55Z","created_by":"ZenchantLive","depends_on_id":"beadboard-68k","issue_id":"beadboard-68k.1","type":"parent-child"}
|
||||
{"created_at":"2026-02-28T13:07:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-68k","issue_id":"beadboard-68k.2","type":"parent-child"}
|
||||
|
|
@ -444,6 +450,9 @@
|
|||
{"created_at":"2026-02-28T13:26:54Z","created_by":"ZenchantLive","depends_on_id":"beadboard-68k.2","issue_id":"beadboard-68k.3","type":"blocks"}
|
||||
{"created_at":"2026-02-28T13:07:20Z","created_by":"ZenchantLive","depends_on_id":"beadboard-68k","issue_id":"beadboard-68k.4","type":"parent-child"}
|
||||
{"created_at":"2026-02-28T13:07:27Z","created_by":"ZenchantLive","depends_on_id":"beadboard-68k","issue_id":"beadboard-68k.5","type":"parent-child"}
|
||||
{"created_at":"2026-03-01T16:40:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-8st","issue_id":"beadboard-6fv","type":"relates-to"}
|
||||
{"created_at":"2026-03-01T16:39:59Z","created_by":"ZenchantLive","depends_on_id":"beadboard-60a","issue_id":"beadboard-76p","type":"relates-to"}
|
||||
{"created_at":"2026-03-01T16:40:01Z","created_by":"ZenchantLive","depends_on_id":"beadboard-zas","issue_id":"beadboard-76p","type":"relates-to"}
|
||||
{"created_at":"2026-02-21T18:52:32Z","created_by":"zenchantlive","depends_on_id":"beadboard-7jp","issue_id":"beadboard-7jp.1","type":"parent-child"}
|
||||
{"created_at":"2026-02-21T18:53:18Z","created_by":"zenchantlive","depends_on_id":"beadboard-7jp","issue_id":"beadboard-7jp.2","type":"parent-child"}
|
||||
{"created_at":"2026-02-21T18:53:18Z","created_by":"zenchantlive","depends_on_id":"beadboard-7jp","issue_id":"beadboard-7jp.3","type":"parent-child"}
|
||||
|
|
@ -468,6 +477,8 @@
|
|||
{"created_at":"2026-02-28T14:29:36Z","created_by":"ZenchantLive","depends_on_id":"beadboard-8ij.1","issue_id":"beadboard-8ij.3","type":"blocks"}
|
||||
{"created_at":"2026-02-28T14:29:28Z","created_by":"ZenchantLive","depends_on_id":"beadboard-8ij","issue_id":"beadboard-8ij.4","type":"parent-child"}
|
||||
{"created_at":"2026-02-28T14:29:36Z","created_by":"ZenchantLive","depends_on_id":"beadboard-8ij.1","issue_id":"beadboard-8ij.4","type":"blocks"}
|
||||
{"created_at":"2026-03-01T16:40:03Z","created_by":"ZenchantLive","depends_on_id":"beadboard-6fv","issue_id":"beadboard-8st","type":"relates-to"}
|
||||
{"created_at":"2026-03-01T16:40:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-fga","issue_id":"beadboard-8st","type":"relates-to"}
|
||||
{"created_at":"2026-02-21T18:50:43Z","created_by":"zenchantlive","depends_on_id":"beadboard-8u3","issue_id":"beadboard-8u3.1","type":"parent-child"}
|
||||
{"created_at":"2026-03-01T15:38:15Z","created_by":"ZenchantLive","depends_on_id":"beadboard-cc8","issue_id":"beadboard-91y","type":"parent-child"}
|
||||
{"created_at":"2026-02-24T04:15:13Z","created_by":"zenchantlive","depends_on_id":"beadboard-lgi","issue_id":"beadboard-b7t","type":"parent-child"}
|
||||
|
|
@ -487,8 +498,12 @@
|
|||
{"created_at":"2026-02-28T14:39:47Z","created_by":"ZenchantLive","depends_on_id":"beadboard-d2x","issue_id":"beadboard-d2x.2","type":"parent-child"}
|
||||
{"created_at":"2026-02-28T14:39:56Z","created_by":"ZenchantLive","depends_on_id":"beadboard-d2x.1","issue_id":"beadboard-d2x.2","type":"blocks"}
|
||||
{"created_at":"2026-02-24T01:38:07Z","created_by":"zenchantlive","depends_on_id":"beadboard-uui","issue_id":"beadboard-d4n","type":"parent"}
|
||||
{"created_at":"2026-03-01T16:40:02Z","created_by":"ZenchantLive","depends_on_id":"beadboard-fld","issue_id":"beadboard-duo","type":"relates-to"}
|
||||
{"created_at":"2026-03-01T16:39:58Z","created_by":"ZenchantLive","depends_on_id":"beadboard-5r1","issue_id":"beadboard-dvp","type":"relates-to"}
|
||||
{"created_at":"2026-02-21T04:03:20Z","created_by":"zenchantlive","depends_on_id":"beadboard-3xc","issue_id":"beadboard-eo8","type":"parent"}
|
||||
{"created_at":"2026-02-21T04:03:22Z","created_by":"zenchantlive","depends_on_id":"beadboard-c08","issue_id":"beadboard-eo8","type":"blocks"}
|
||||
{"created_at":"2026-03-01T16:40:04Z","created_by":"ZenchantLive","depends_on_id":"beadboard-8st","issue_id":"beadboard-fga","type":"relates-to"}
|
||||
{"created_at":"2026-03-01T16:40:02Z","created_by":"ZenchantLive","depends_on_id":"beadboard-duo","issue_id":"beadboard-fld","type":"relates-to"}
|
||||
{"created_at":"2026-02-24T01:42:05Z","created_by":"zenchantlive","depends_on_id":"beadboard-gb0","issue_id":"beadboard-gb0.1","type":"parent-child"}
|
||||
{"created_at":"2026-02-24T01:42:33Z","created_by":"zenchantlive","depends_on_id":"beadboard-gb0.4","issue_id":"beadboard-gb0.1","type":"blocks"}
|
||||
{"created_at":"2026-02-24T01:42:05Z","created_by":"zenchantlive","depends_on_id":"beadboard-gb0","issue_id":"beadboard-gb0.2","type":"parent-child"}
|
||||
|
|
@ -504,6 +519,8 @@
|
|||
{"created_at":"2026-02-24T01:42:33Z","created_by":"zenchantlive","depends_on_id":"beadboard-gb0.8","issue_id":"beadboard-gb0.7","type":"blocks"}
|
||||
{"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-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-01T16:39:57Z","created_by":"ZenchantLive","depends_on_id":"beadboard-116","issue_id":"beadboard-nq9","type":"relates-to"}
|
||||
{"created_at":"2026-02-28T13:44:19Z","created_by":"ZenchantLive","depends_on_id":"beadboard-r1i","issue_id":"beadboard-r1i.1","type":"parent-child"}
|
||||
{"created_at":"2026-02-28T13:53:57Z","created_by":"ZenchantLive","depends_on_id":"beadboard-r1i","issue_id":"beadboard-r1i.2","type":"parent-child"}
|
||||
{"created_at":"2026-02-28T13:54:16Z","created_by":"ZenchantLive","depends_on_id":"beadboard-r1i.1","issue_id":"beadboard-r1i.2","type":"blocks"}
|
||||
|
|
@ -520,3 +537,4 @@
|
|||
{"created_at":"2026-02-21T04:03:21Z","created_by":"zenchantlive","depends_on_id":"beadboard-3xc","issue_id":"beadboard-yad","type":"parent"}
|
||||
{"created_at":"2026-02-21T04:03:22Z","created_by":"zenchantlive","depends_on_id":"beadboard-eo8","issue_id":"beadboard-yad","type":"blocks"}
|
||||
{"created_at":"2026-02-24T04:15:12Z","created_by":"zenchantlive","depends_on_id":"beadboard-lgi","issue_id":"beadboard-yo5","type":"parent-child"}
|
||||
{"created_at":"2026-03-01T16:40:01Z","created_by":"ZenchantLive","depends_on_id":"beadboard-76p","issue_id":"beadboard-zas","type":"relates-to"}
|
||||
|
|
|
|||
|
|
@ -94,3 +94,78 @@
|
|||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:38:52Z","event_type":"created","id":94,"issue_id":"beadboard-yz6","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:38:52Z","event_type":"label_added","id":95,"issue_id":"beadboard-yz6","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-bootstrap","created_at":"2026-03-01T16:38:52Z","event_type":"label_added","id":96,"issue_id":"beadboard-yz6","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:08Z","event_type":"status_changed","id":97,"issue_id":"beadboard-yz6","new_value":"{\"notes\":\"Starting Phase 1: creating memory anchors and initial canonical nodes with hard/soft labels and anchor relations.\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-yz6\",\"title\":\"Bootstrap Phase 1 Memory Fabric (anchors + canonical nodes)\",\"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.\",\"acceptance_criteria\":\"Anchors exist, at least 5 canonical memory nodes exist and are closed, links to anchors exist, and plan docs updated.\",\"notes\":\"Scope: bd-native memory only; avoid broad code edits.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T00:38:49Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T00:38:49Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:18Z","event_type":"created","id":98,"issue_id":"beadboard-76p","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:39:18Z","event_type":"label_added","id":99,"issue_id":"beadboard-76p","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-anchor","created_at":"2026-03-01T16:39:18Z","event_type":"label_added","id":100,"issue_id":"beadboard-76p","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-arch","created_at":"2026-03-01T16:39:18Z","event_type":"label_added","id":101,"issue_id":"beadboard-76p","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:18Z","event_type":"created","id":102,"issue_id":"beadboard-fld","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:39:18Z","event_type":"label_added","id":103,"issue_id":"beadboard-fld","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-anchor","created_at":"2026-03-01T16:39:18Z","event_type":"label_added","id":104,"issue_id":"beadboard-fld","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-ux","created_at":"2026-03-01T16:39:18Z","event_type":"label_added","id":105,"issue_id":"beadboard-fld","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:19Z","event_type":"created","id":106,"issue_id":"beadboard-nq9","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:39:19Z","event_type":"label_added","id":107,"issue_id":"beadboard-nq9","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-anchor","created_at":"2026-03-01T16:39:19Z","event_type":"label_added","id":108,"issue_id":"beadboard-nq9","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-workflow","created_at":"2026-03-01T16:39:19Z","event_type":"label_added","id":109,"issue_id":"beadboard-nq9","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:19Z","event_type":"created","id":110,"issue_id":"beadboard-5r1","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:39:19Z","event_type":"label_added","id":111,"issue_id":"beadboard-5r1","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-anchor","created_at":"2026-03-01T16:39:19Z","event_type":"label_added","id":112,"issue_id":"beadboard-5r1","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-agent","created_at":"2026-03-01T16:39:19Z","event_type":"label_added","id":113,"issue_id":"beadboard-5r1","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:20Z","event_type":"created","id":114,"issue_id":"beadboard-8st","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:39:20Z","event_type":"label_added","id":115,"issue_id":"beadboard-8st","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-anchor","created_at":"2026-03-01T16:39:20Z","event_type":"label_added","id":116,"issue_id":"beadboard-8st","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-reliability","created_at":"2026-03-01T16:39:20Z","event_type":"label_added","id":117,"issue_id":"beadboard-8st","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:57Z","event_type":"created","id":118,"issue_id":"beadboard-116","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:39:57Z","event_type":"label_added","id":119,"issue_id":"beadboard-116","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-canonical","created_at":"2026-03-01T16:39:57Z","event_type":"label_added","id":120,"issue_id":"beadboard-116","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-hard","created_at":"2026-03-01T16:39:57Z","event_type":"label_added","id":121,"issue_id":"beadboard-116","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-workflow","created_at":"2026-03-01T16:39:57Z","event_type":"label_added","id":122,"issue_id":"beadboard-116","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:57Z","event_type":"closed","id":123,"issue_id":"beadboard-116","new_value":"Ratified canonical memory","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:58Z","event_type":"created","id":124,"issue_id":"beadboard-dvp","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:39:58Z","event_type":"label_added","id":125,"issue_id":"beadboard-dvp","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-canonical","created_at":"2026-03-01T16:39:58Z","event_type":"label_added","id":126,"issue_id":"beadboard-dvp","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-soft","created_at":"2026-03-01T16:39:58Z","event_type":"label_added","id":127,"issue_id":"beadboard-dvp","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-agent","created_at":"2026-03-01T16:39:58Z","event_type":"label_added","id":128,"issue_id":"beadboard-dvp","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:59Z","event_type":"closed","id":129,"issue_id":"beadboard-dvp","new_value":"Ratified canonical memory","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:39:59Z","event_type":"created","id":130,"issue_id":"beadboard-60a","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:39:59Z","event_type":"label_added","id":131,"issue_id":"beadboard-60a","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-canonical","created_at":"2026-03-01T16:39:59Z","event_type":"label_added","id":132,"issue_id":"beadboard-60a","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-hard","created_at":"2026-03-01T16:39:59Z","event_type":"label_added","id":133,"issue_id":"beadboard-60a","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-arch","created_at":"2026-03-01T16:39:59Z","event_type":"label_added","id":134,"issue_id":"beadboard-60a","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:00Z","event_type":"closed","id":135,"issue_id":"beadboard-60a","new_value":"Ratified canonical memory","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:00Z","event_type":"created","id":136,"issue_id":"beadboard-zas","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:40:00Z","event_type":"label_added","id":137,"issue_id":"beadboard-zas","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-canonical","created_at":"2026-03-01T16:40:00Z","event_type":"label_added","id":138,"issue_id":"beadboard-zas","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-hard","created_at":"2026-03-01T16:40:00Z","event_type":"label_added","id":139,"issue_id":"beadboard-zas","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-arch","created_at":"2026-03-01T16:40:00Z","event_type":"label_added","id":140,"issue_id":"beadboard-zas","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:01Z","event_type":"closed","id":141,"issue_id":"beadboard-zas","new_value":"Ratified canonical memory","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:01Z","event_type":"created","id":142,"issue_id":"beadboard-duo","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:40:01Z","event_type":"label_added","id":143,"issue_id":"beadboard-duo","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-canonical","created_at":"2026-03-01T16:40:01Z","event_type":"label_added","id":144,"issue_id":"beadboard-duo","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-soft","created_at":"2026-03-01T16:40:01Z","event_type":"label_added","id":145,"issue_id":"beadboard-duo","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-ux","created_at":"2026-03-01T16:40:01Z","event_type":"label_added","id":146,"issue_id":"beadboard-duo","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:02Z","event_type":"closed","id":147,"issue_id":"beadboard-duo","new_value":"Ratified canonical memory","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:02Z","event_type":"created","id":148,"issue_id":"beadboard-6fv","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:40:02Z","event_type":"label_added","id":149,"issue_id":"beadboard-6fv","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-canonical","created_at":"2026-03-01T16:40:02Z","event_type":"label_added","id":150,"issue_id":"beadboard-6fv","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-hard","created_at":"2026-03-01T16:40:02Z","event_type":"label_added","id":151,"issue_id":"beadboard-6fv","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-reliability","created_at":"2026-03-01T16:40:02Z","event_type":"label_added","id":152,"issue_id":"beadboard-6fv","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:03Z","event_type":"closed","id":153,"issue_id":"beadboard-6fv","new_value":"Ratified canonical memory","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:03Z","event_type":"created","id":154,"issue_id":"beadboard-fga","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:40:03Z","event_type":"label_added","id":155,"issue_id":"beadboard-fga","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-canonical","created_at":"2026-03-01T16:40:03Z","event_type":"label_added","id":156,"issue_id":"beadboard-fga","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: mem-soft","created_at":"2026-03-01T16:40:03Z","event_type":"label_added","id":157,"issue_id":"beadboard-fga","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-reliability","created_at":"2026-03-01T16:40:03Z","event_type":"label_added","id":158,"issue_id":"beadboard-fga","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:04Z","event_type":"closed","id":159,"issue_id":"beadboard-fga","new_value":"Ratified canonical memory","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:51Z","event_type":"updated","id":160,"issue_id":"beadboard-yz6","new_value":"{\"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.\"}","old_value":"{\"id\":\"beadboard-yz6\",\"title\":\"Bootstrap Phase 1 Memory Fabric (anchors + canonical nodes)\",\"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.\",\"acceptance_criteria\":\"Anchors exist, at least 5 canonical memory nodes exist and are closed, links to anchors exist, and plan docs updated.\",\"notes\":\"Starting Phase 1: creating memory anchors and initial canonical nodes with hard/soft labels and anchor relations.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T00:38:49Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T00:39:07Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:40:51Z","event_type":"closed","id":161,"issue_id":"beadboard-yz6","new_value":"Phase 1 memory fabric bootstrapped in bd with anchors and canonical memory nodes","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:45:22Z","event_type":"created","id":162,"issue_id":"beadboard-jgy","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:45:22Z","event_type":"label_added","id":163,"issue_id":"beadboard-jgy","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: docs","created_at":"2026-03-01T16:45:22Z","event_type":"label_added","id":164,"issue_id":"beadboard-jgy","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:45:29Z","event_type":"status_changed","id":165,"issue_id":"beadboard-jgy","new_value":"{\"notes\":\"Creating help/memory docs and patching AGENTS manuals with mandatory memory protocol.\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-jgy\",\"title\":\"Document memory workflow in help/memory and AGENTS manuals\",\"description\":\"Add critical operational docs for the bd-native memory system under help/memory and update root+beadboard AGENTS.md with explicit memory workflow protocol and command patterns.\",\"acceptance_criteria\":\"help/memory folder exists with workflow docs; both AGENTS manuals reference and enforce memory workflow commands and schema.\",\"notes\":\"Scope: documentation/manual updates only.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T00:45:20Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T00:45:20Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:46:38Z","event_type":"updated","id":166,"issue_id":"beadboard-jgy","new_value":"{\"notes\":\"Added help/memory index+workflow+query+schema docs; updated AGENTS.md with mandatory Native Memory Workflow section and command contracts.\"}","old_value":"{\"id\":\"beadboard-jgy\",\"title\":\"Document memory workflow in help/memory and AGENTS manuals\",\"description\":\"Add critical operational docs for the bd-native memory system under help/memory and update root+beadboard AGENTS.md with explicit memory workflow protocol and command patterns.\",\"acceptance_criteria\":\"help/memory folder exists with workflow docs; both AGENTS manuals reference and enforce memory workflow commands and schema.\",\"notes\":\"Creating help/memory docs and patching AGENTS manuals with mandatory memory protocol.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T00:45:20Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T00:45:28Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:46:38Z","event_type":"closed","id":167,"issue_id":"beadboard-jgy","new_value":"Memory workflow docs and AGENTS integration added","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:53:21Z","event_type":"created","id":168,"issue_id":"beadboard-i4c","new_value":"","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory","created_at":"2026-03-01T16:53:21Z","event_type":"label_added","id":169,"issue_id":"beadboard-i4c","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":"Added label: memory-provenance","created_at":"2026-03-01T16:53:21Z","event_type":"label_added","id":170,"issue_id":"beadboard-i4c","new_value":null,"old_value":null}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:53:26Z","event_type":"status_changed","id":171,"issue_id":"beadboard-i4c","new_value":"{\"notes\":\"Starting provenance enrichment for canonical memories: source bead links + evidence metadata + doc protocol update.\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-i4c\",\"title\":\"Add provenance links and evidence metadata to canonical memory nodes\",\"description\":\"Strengthen memory retrieval for fresh agents by relating canonical memory nodes to source closed beads/plans and adding explicit evidence metadata fields.\",\"acceptance_criteria\":\"All existing canonical memory nodes have source bead relations and evidence_ids/plan_refs metadata; help docs require provenance capture.\",\"notes\":\"Scope: memory graph provenance + docs only.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T00:53:19Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T00:53:19Z\"}"}
|
||||
|
|
|
|||
|
|
@ -319,6 +319,7 @@
|
|||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"actor prop added, localStorage reads/writes removed, syncs from prop via useEffect","closed_at":"2026-03-01T22:57:24Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"99d32b3b3fa6a04d55a25f5c72e26eab0ee258e3c6f0282e903abd71f3c2480f","created_at":"2026-02-28T22:04:48Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-0fi.2\n- Title: Wire actor from shell to ConversationDrawer (remove localStorage read)\n- Parent/Epic: beadboard-0fi\n- Dependencies (must be done first): beadboard-0fi.1\n\nTASK CONTRACT\n- Goal: ConversationDrawer currently reads and writes actor identity from localStorage('bb.humanActor') at lines 125 and 167. Replace these with an actor prop received from UnifiedShell so identity is controlled by a single source of truth.\n- Success Criteria:\n - ConversationDrawer accepts actor: string prop\n - localStorage.getItem('bb.humanActor') call at line 125 removed — replaced with prop\n - localStorage.setItem call at line 167 removed — UnifiedShell owns persistence\n - Comments still include actor in the POST body\n - npm run typecheck passes\n- Scope:\n - src/components/sessions/conversation-drawer.tsx — replace localStorage reads with prop\n - src/components/shared/unified-shell.tsx — pass actor to ConversationDrawer call site\n - Verify ConversationDrawer is called in unified-shell.tsx or sessions-page.tsx and update accordingly\n- Out of Scope:\n - ConversationDrawer UI changes\n - ThreadDrawer (that is beadboard-0fi.3)\n\nIMPLEMENTATION CONSTRAINTS\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\n- Reuse shared components and logic; avoid one-off forks.\n- Keep changes targeted and minimal for this bead.\n\nVERIFICATION REQUIREMENTS\n- Required commands:\n - npm run typecheck\n - npm run lint\n - npm run test\n- Report any remaining risks and follow-up beads explicitly.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-0fi.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":"closed","target":"","timeout_ns":0,"title":"Wire actor from shell to ConversationDrawer (remove localStorage read)","updated_at":"2026-03-01T22:57:24Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"actor prop added to ThreadDrawer, passes through to postComment, wired from UnifiedShell via ContextualRightPanel","closed_at":"2026-03-01T23:28:11Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"c24e96bd1fca43dd70de06964744a1fffaf8b8a0a38292ad09c5254ce5d72d7b","created_at":"2026-02-28T22:04:48Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-0fi.3\n- Title: Wire actor from shell to ThreadDrawer postComment\n- Parent/Epic: beadboard-0fi\n- Dependencies (must be done first): beadboard-0fi.1\n\nTASK CONTRACT\n- Goal: ThreadDrawer currently posts comments with no actor field. Add an actor prop and include it in the comment POST body so comments from ThreadDrawer are attributed the same as ConversationDrawer comments.\n- Success Criteria:\n - ThreadDrawer accepts actor?: string prop\n - Comment POST body includes actor field when prop is provided\n - UnifiedShell passes actor to ThreadDrawer at its call site in unified-shell.tsx\n - Posted comments visible in the thread show the correct actor attribution\n - npm run typecheck passes\n- Scope:\n - src/components/shared/thread-drawer.tsx — add actor prop, include in POST\n - src/components/shared/unified-shell.tsx — pass actor to ThreadDrawer call site\n - Check thread-drawer.tsx postComment fetch call to find where to inject actor\n- Out of Scope:\n - Changing the comment API endpoint schema\n - ConversationDrawer (that is beadboard-0fi.2)\n\nIMPLEMENTATION CONSTRAINTS\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\n- Reuse shared components and logic; avoid one-off forks.\n- Keep changes targeted and minimal for this bead.\n\nVERIFICATION REQUIREMENTS\n- Required commands:\n - npm run typecheck\n - npm run lint\n - npm run test\n- Report any remaining risks and follow-up beads explicitly.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-0fi.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":"closed","target":"","timeout_ns":0,"title":"Wire actor from shell to ThreadDrawer postComment","updated_at":"2026-03-01T23:28: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":"046a1f52a7bb2c83e7cc4c6cbd2fb1c6d044a6c58c9650c1c119c10e74925927","created_at":"2026-02-21T19:49:41Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"This is just a test to verify SSE streams and cache busting are working.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-0ui","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","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":"open","target":"","timeout_ns":0,"title":"Test Live Updates Cache Busting","updated_at":"2026-02-21T20:25:23Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Given an implementation task, when work begins and ends, then bd state transitions and verification command evidence are recorded.\nVerification command(s): bd show \u003ctask-id\u003e; npm run typecheck; npm run lint; npm run test","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Ratified canonical memory","closed_at":"2026-03-02T00:39:56Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"4bb7dfe9677649424d41010b675c5d92a5f0bd3c5a04f65a92a61aae90e64404","created_at":"2026-03-02T00:39:55Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Scope: All new implementation tasks that change behavior or data flow.\nOut of Scope: Purely informational discussions without code or workflow changes.\nRule: Start from explicit verification evidence and update work state in bd before claiming progress complete.\nRationale: Prevents status drift and false completion claims.\nFailure Mode: Unverified completion claims lead to regressions and mistrust.\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-116","is_template":0,"issue_type":"decision","last_activity":null,"metadata":"{\"domain\":\"memory-workflow\",\"effective_date\":\"2026-03-02\",\"memory_strength\":\"hard\",\"memory_version\":1,\"owner\":\"team\",\"superseded_by\":null,\"supersedes\":null}","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":"[MEMORY][WORKFLOW][HARD] Evidence before completion claims","updated_at":"2026-03-02T00:39:56Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"Deleted: src/components/swarm/swarm-workspace.tsx; Deleted: src/components/swarm/telemetry-grid.tsx; Deleted: src/components/swarm/specialized-agent-dag.tsx; No remaining imports of deleted files; npm run typecheck, lint, test all pass","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":"34f0fcdadf9f8e5942f1cf97234e425872a3458d99431cee4b58c6bf824cd1cc","created_at":"2026-02-24T01:37:47Z","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-12l","is_template":0,"issue_type":"task","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":null,"status":"tombstone","target":"","timeout_ns":0,"title":"Delete deprecated swarm files","updated_at":"2026-02-24T01:40:31Z","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":"de16ff14799deec70c5d7d6460cbb45b8172a6a030fca033103eb2bf03f3132f","created_at":"2026-02-21T20:27:30Z","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-1sc","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","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":"open","target":"","timeout_ns":0,"title":"Testing SSE Flow","updated_at":"2026-02-21T20:27:30Z","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":"657bd72a18f1253a55fb518a8bc81650e522478f2680dbcda1e6cfad0c31545f","created_at":"2026-02-19T21:27:39Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Swarm molecule orchestrating epic bb-ui2.\n\nEpic: bb-ui2\nCoordinator: ","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-2on","is_template":0,"issue_type":"molecule","last_activity":null,"metadata":"{}","mol_type":"swarm","notes":"","original_size":null,"owner":"","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"open","target":"","timeout_ns":0,"title":"Swarm: Unified UX - Earthy Dark Shell with Social/Graph/Swarm Views","updated_at":"2026-02-19T21:27:39Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
|
|
@ -336,8 +337,10 @@
|
|||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"readIssuesFromDisk() now tries readIssuesViaDolt() first (always), falls back to issues.jsonl with console.warn. preferBd path kept for legacy but Dolt is always attempted. typecheck+lint+tests pass.","closed_at":"2026-03-01T01:25:46Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"f719213f74b04405da93b96b1843e467de5d0a2a8689035dcdc6f8d4c04d2f47","created_at":"2026-03-01T00:59:36Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-550.3\n- Parent: beadboard-550\n- Dependencies: beadboard-550.2\n\nTASK CONTRACT\n- Goal: Replace the preferBd (bd CLI) path in readIssuesFromDisk() with readIssuesViaDolt(). Dolt is tried first; issues.jsonl is the fallback.\n- Success Criteria:\n - readIssuesFromDisk() calls readIssuesViaDolt() when Dolt metadata is present\n - Falls back to issues.jsonl read if Dolt unreachable (same fallback chain as today)\n - preferBd option can now be removed or ignored (Dolt is always preferred when available)\n - No changes to any API routes or component files — only read-issues.ts changes\n - npm run typecheck \u0026\u0026 npm run lint \u0026\u0026 npm run test pass\n - Manual: create a bead via bd, hard-refresh frontend, confirm it appears without issues.jsonl re-export\n\nIMPLEMENTATION CONSTRAINTS\n- Do not remove issues.jsonl fallback yet (beadboard-550 scope only deprecates it)\n- Do not change the return type or signature of readIssuesFromDisk()\n- Log a console.warn (not throw) when falling back to issues.jsonl\n\nVERIFICATION REQUIREMENTS\n- npm run typecheck\n- npm run lint\n- npm run test\n- Manual verification: bd create a test bead, confirm frontend shows it immediately","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-550.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":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Wire Dolt as primary read path in readIssuesFromDisk()","updated_at":"2026-03-01T01:25:46Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"SSE watcher confirmed working: bd writes update last-touched, chokidar fires, syncActivity calls readIssuesFromDisk (now Dolt-first). AGENTS.md updated: replaced manual export instructions with explanation of new Dolt read path. All gates pass.","closed_at":"2026-03-01T01:33:54Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"53e2a39e0ae97b101b9922e9ed905b4dcb7051fb53537bb24197f780940791aa","created_at":"2026-03-01T00:59:47Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-550.4\n- Parent: beadboard-550\n- Dependencies: beadboard-550.3\n\nTASK CONTRACT\n- Goal: Confirm SSE real-time updates still work after switching to Dolt reads. The watcher watches .last_touched and issues.jsonl; verify bd writes still trigger .last_touched so SSE pushes new data to the browser.\n- Success Criteria:\n - Run bd update on an issue, confirm SSE event fires in the browser within 2s\n - If .last_touched is NOT updated by bd writes: add a workaround (e.g. touch .beads/last_touched after Dolt read detects staleness, or poll Dolt on a 5s interval as SSE trigger)\n - Update AGENTS.md Data Backend section to document the new Dolt read path and remove the manual issues.jsonl re-export instructions\n - Remove the issues.jsonl re-export command from AGENTS.md (no longer needed)\n - npm run typecheck \u0026\u0026 npm run lint \u0026\u0026 npm run test pass\n\nIMPLEMENTATION CONSTRAINTS\n- Do not rewrite the watcher — minimal change to make triggers work\n- If polling is needed, use a simple setInterval in the SSE route, max 5s interval\n- Document the decision in a code comment\n\nVERIFICATION REQUIREMENTS\n- npm run typecheck\n- npm run lint\n- npm run test\n- Manual: bd update a bead status, watch browser Network tab for SSE event, confirm UI updates","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-550.4","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"testing SSE watcher trigger","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":"","status":"closed","target":"","timeout_ns":0,"title":"Verify watcher still fires on bd writes and document Dolt read path","updated_at":"2026-03-01T01:33:54Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"Optional toggle in Dependencies tab to show DependencyFlowStrip above the graph. Low priority enhancement.","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":"22359e37ac58dc22b53d44bcec7ef5c0e55c31fc10898f24606035461b21c1c4","created_at":"2026-02-24T03:07:38Z","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-58u","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":3,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"open","target":"","timeout_ns":0,"title":"TODO: Add DependencyFlowStrip to SmartDag Dependencies tab","updated_at":"2026-02-24T03:07:38Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Canonical agent-operation memories are related to this anchor via bd dep relate.","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":"b245d13057ed914b8fcdd4cc434fa162807608a7e046c020b6b4e73b5d7415b6","created_at":"2026-03-02T00:39:17Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Domain anchor for multi-agent coordination, assignment discipline, and ownership rules.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-5r1","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":"[MEMORY-ANCHOR] Agent Operations","updated_at":"2026-03-02T00:39:17Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"SmartDag has toolbar with Filters toggle and Assign toggle; Filters toggle reveals: hop depth selector, hide closed checkbox, blocking-only toggle, sort ready first; Tab switcher: Tasks / Dependencies; Tasks tab renders TaskCardGrid; Dependencies tab renders DependencyFlowStrip + GraphSection; Exposes onAssignModeChange and onSelectedIssueChange callbacks; Passes assignMode to WorkflowGraph; npm run typecheck, lint, test all pass","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":"af28074a5bac0a6d15fedd92edac3fbccedaf80766469dad72f0b7f9c55c3aca","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-5sr","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":"Rewrite SmartDag with progressive disclosure + assign mode","updated_at":"2026-02-24T01:40:31Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Added history fetch on mount in SwarmCommandFeed, filtered client-side by contextBeadIds. All checks pass.","closed_at":"2026-03-01T23:31:30Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"7ae0a0d9236c0a17d397ea6be23d6a2c7677cd5a83f3fa3c0f9c3e2655638986","created_at":"2026-03-01T23:28:44Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"When user clicks an epic in LeftPanel, SwarmCommandFeed shows 'Waiting for agent signals...' because it only subscribes to future SSE events. It should also fetch the /api/activity history on mount (same as ActivityPanel does) and filter client-side by contextBeadIds. Also re-fetch when epicId or contextBeadIds changes.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-5vs","is_template":0,"issue_type":"bug","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":"SwarmCommandFeed: load historical activity on mount filtered to epic","updated_at":"2026-03-01T23:31:30Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"Given a dependency update, when graph state is queried, then blocked/ready outcomes match intended execution order.\nVerification command(s): bd dep tree \u003cissue-id\u003e; bd blocked; bd ready","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Ratified canonical memory","closed_at":"2026-03-02T00:39:58Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"0331a4e47c9bca893aae66ea06f9019f7ec0ae0d272eed7a1a9ecc33b77a657d","created_at":"2026-03-02T00:39:57Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Scope: Dependency graph design and updates.\nOut of Scope: Visual layout decisions that do not alter execution semantics.\nRule: Dependencies encode execution order and blocking semantics, never visual grouping.\nRationale: Keeps ready/blocked states truthful and machine-reliable.\nFailure Mode: Incorrect dependency direction causes false blocking or unsafe parallelism.\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-60a","is_template":0,"issue_type":"decision","last_activity":null,"metadata":"{\"domain\":\"memory-arch\",\"effective_date\":\"2026-03-02\",\"memory_strength\":\"hard\",\"memory_version\":1,\"owner\":\"team\",\"superseded_by\":null,\"supersedes\":null}","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":"[MEMORY][ARCH][HARD] Dependencies model execution order, not visual order","updated_at":"2026-03-02T00:39:58Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"ViewType removes 'swarm' from union type; VALID_VIEWS array removes 'swarm'; Left panel views array removes swarm entry; Mobile nav tabs array removes swarm tab; ?view=swarm falls back to default view; npm run typecheck, lint, test all pass","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":"2ab13977e8d89f5d86e18a1b273ae4b5cc7cdd1241c68ebe0084add0576cc05a","created_at":"2026-02-24T01:37:47Z","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-60s","is_template":0,"issue_type":"task","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":null,"status":"tombstone","target":"","timeout_ns":0,"title":"Remove swarm view from navigation","updated_at":"2026-02-24T01:40:31Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"All Phase 0 wiring fixes complete: blockedOnly, activity ambient panel, thread drawer status, TopBar metrics.","closed_at":"2026-02-28T21:43:58Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"bb6b07c95162aad55ff13b2197ccac401f002024a3d5f980f20703248875ed11","created_at":"2026-02-28T21:03:22Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Five independent wiring fixes that are prerequisites for all subsequent UX work. Each connects infrastructure that already exists but is not yet wired together. No new components, no new design — pure plumbing.\n\nRef: docs/plans/2026-02-28-ux-redesign-synthesis-prd.md §8 Phase 0","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-68k","is_template":0,"issue_type":"epic","last_activity":null,"metadata":"{}","mol_type":"","notes":"","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":"","status":"closed","target":"","timeout_ns":0,"title":"Phase 0: UX Wiring Fixes","updated_at":"2026-02-28T21:43:58Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"blockedOnly destructured from useUrlState and passed to SocialPage in unified-shell.tsx","closed_at":"2026-02-28T21:42:49Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"9140222d2a30c11bfa5fd7ac70648a4293e4f87ac087bf0350c33f059d2bc30e","created_at":"2026-02-28T21:06:55Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"blockedOnly is already in useUrlState and SocialPage already accepts it as a prop, but UnifiedShell never passes it through. One-line fix.\n\nFile: src/components/shared/unified-shell.tsx (~line 128)\n\nChange: ensure blockedOnly is destructured from useUrlState() at line 38, then add prop to \u003cSocialPage\u003e:\n \u003cSocialPage\n issues={filteredIssues}\n selectedId={taskId ?? undefined}\n onSelect={handleCardSelect}\n projectScopeOptions={projectScopeOptions}\n blockedOnly={blockedOnly}\n /\u003e\n\nAcceptance: Clicking 'Blocked Items' toggle in TopBar immediately filters social feed to blocked cards only. Toggling off restores full list.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-68k.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":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Wire blockedOnly prop to SocialPage","updated_at":"2026-02-28T21:42:49Z","waiters":"","wisp_type":"","work_type":""}
|
||||
|
|
@ -345,8 +348,10 @@
|
|||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Activity is ambient (right panel default), not a separate nav tab. Nav stays at Social + Graph only. Jump to Activity wiring handled in .2.","closed_at":"2026-02-28T21:40:11Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"9a961815e343851fdef5518ded410928e07af7dc36a576a2007f95d6e1ad4712","created_at":"2026-02-28T21:07:13Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Activity is a valid view but unreachable from navigation. Both LeftPanel views array and MobileNav tabs array only have Social and Graph.\n\nFile 1: src/components/shared/left-panel.tsx (~line 188)\n Add: { id: 'activity', label: 'Activity' } to views array\n\nFile 2: src/components/shared/mobile-nav.tsx (~line 6)\n Add Activity tab and replace Unicode glyphs with Lucide icons:\n import { LayoutList, Share2, Activity } from 'lucide-react'\n tabs: [\n { id: 'social', label: 'Social', icon: \u003cLayoutList className='h-5 w-5' /\u003e },\n { id: 'graph', label: 'Graph', icon: \u003cShare2 className='h-5 w-5' /\u003e },\n { id: 'activity', label: 'Activity', icon: \u003cActivity className='h-5 w-5' /\u003e },\n ]\n Add aria-label={tab.label} to each tab button.\n Check current mobile-nav render pattern before editing.\n\nAcceptance: Left panel and mobile nav both show 3 tabs. Mobile icons are Lucide SVGs with aria-labels.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-68k.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":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Add Activity tab to LeftPanel and MobileNav","updated_at":"2026-02-28T21:40:11Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"thread-drawer.tsx line 418: replaced hardcoded 'In Progress' with issue?.status formatted via replace(/_/g,' ')","closed_at":"2026-02-28T21:42:49Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"efe0272f2e8cc03118780bc25826cbf6757adf3b1182b0839a3846c46309ff0c","created_at":"2026-02-28T21:07:21Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Thread drawer shows 'In Progress' for every issue regardless of actual status. Line 418 has a hardcoded string.\n\nFile: src/components/shared/thread-drawer.tsx (line 418)\n\nCurrent:\n \u003cspan ...\u003eIn Progress\u003c/span\u003e\n\nChange to:\n \u003cspan ...\u003e\n {issue?.status?.replace(/_/g, ' ').replace(/\\b\\w/g, c =\u003e c.toUpperCase()) ?? 'Unknown'}\n \u003c/span\u003e\n\nNote: line 280 already reads issue.status correctly for a Badge — follow that same pattern.\n\nAcceptance: status='open' shows 'Open', status='in_progress' shows 'In Progress', status='blocked' shows 'Blocked'.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-68k.4","is_template":0,"issue_type":"bug","last_activity":null,"metadata":"{}","mol_type":"","notes":"","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":"","status":"closed","target":"","timeout_ns":0,"title":"Fix thread drawer status badge (hardcoded 'In Progress')","updated_at":"2026-02-28T21:42:49Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"TopBar now receives totalTasks, criticalAlerts, busyCount from live issues array in unified-shell.tsx","closed_at":"2026-02-28T21:42:49Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"6e8513805497f6db649d9e40df79780d2f0247a63945737b8f8f4bc8714d6581","created_at":"2026-02-28T21:07:28Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TopBar metric tiles always show 0 because UnifiedShell passes no props. The live issues array is available in scope.\n\nFile: src/components/shared/unified-shell.tsx (TopBar call)\n\nChange: compute from issues and pass props:\n \u003cTopBar\n totalTasks={issues.filter(i =\u003e i.issue_type !== 'epic').length}\n criticalAlerts={issues.filter(i =\u003e i.status === 'blocked').length}\n busyCount={issues.filter(i =\u003e i.status === 'in_progress').length}\n idleCount={0}\n /\u003e\n\nFirst check top-bar.tsx prop types to confirm field names match.\nidleCount=0 explicitly until Phase 4 wires the liveness map.\n\nAcceptance: TopBar shows real blocked count and in-progress count. Values update when SSE pushes changes.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-68k.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":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Wire TopBar metric tiles from live issue data","updated_at":"2026-02-28T21:42:49Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"Given a stale update bug, when triage starts, then parity, read path, and watcher inputs are explicitly checked before implementation.\nVerification command(s): bd show \u003cissue-id\u003e; npm run test -- tests/lib/watcher.test.ts","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Ratified canonical memory","closed_at":"2026-03-02T00:40:02Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"bbe1ec504fa93a449a6213ddddb3855247c8db34af65a6960198b0582a738558","created_at":"2026-03-02T00:40:01Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Scope: Bug triage and remediation for stale state, watcher, and refresh failures.\nOut of Scope: Non-state-related cosmetic bugs.\nRule: Verify source-of-truth parity first, then inspect read paths and watcher inputs before patching symptoms.\nRationale: Prevents superficial fixes that hide core data flow faults.\nFailure Mode: Repeated regressions when stale-state root cause remains unresolved.\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-6fv","is_template":0,"issue_type":"decision","last_activity":null,"metadata":"{\"domain\":\"memory-reliability\",\"effective_date\":\"2026-03-02\",\"memory_strength\":\"hard\",\"memory_version\":1,\"owner\":\"team\",\"superseded_by\":null,\"supersedes\":null}","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":"[MEMORY][RELIABILITY][HARD] Triage stale-state bugs via parity and watcher checks","updated_at":"2026-03-02T00:40: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":"bf5c6b303e055cbf850699726821e46ad1c082a5c64a38b31804f44957545abe","created_at":"2026-02-21T19:53:05Z","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-6lq","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","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":"open","target":"","timeout_ns":0,"title":"Testing CURL","updated_at":"2026-02-21T19:53:05Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"test","closed_at":"2026-02-21T21:21:14Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"3270adeb60c4f28981bd6ec8bc489b081cdc7d7ea53369481f1f7d9f20f1b879","created_at":"2026-02-21T21:21:12Z","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-6xd","is_template":0,"issue_type":"task","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":null,"status":"closed","target":"","timeout_ns":0,"title":"Realtime Test","updated_at":"2026-02-21T21:21:14Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Canonical architecture memories are related to this anchor via bd dep relate.","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":"7187d6f3fabf12f10f20f59b03ebad7e76a504087323844c11fae6f3dcc52449","created_at":"2026-03-02T00:39:15Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Domain anchor for architecture constraints and design decisions. Use this as the root index for canonical architecture memories.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-76p","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":"[MEMORY-ANCHOR] Architecture","updated_at":"2026-03-02T00:39: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":"86de8583c55d0f91e7ebd9d286204656cfeef20c0e0c428c81ea4678cde5bfd9","created_at":"2026-02-21T18:51:54Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Title: Swarm Archetypes \u0026 Templates CRUD\n- Type: Epic\n- Dependencies: none\n\nTASK CONTRACT\n- Goal: Enable full create/read/update/delete operations for archetypes and templates in the Swarm system through the UI.\n- Success Criteria:\n - Archetypes can be created, edited, and deleted via UI\n - Templates can be created, edited, and deleted via UI\n - API routes support POST/PUT/DELETE for both resources\n - isBuiltIn records are protected from deletion\n - All quality gates pass (typecheck, lint, test)\n- Scope:\n - Server-side CRUD functions in beads-fs.ts\n - REST API routes for archetypes and templates\n - Editable modal inspectors for both resource types\n - Add New buttons on each tab\n - Delete functionality with isBuiltIn protection\n- Out of Scope:\n - Agent spawning/live execution\n - Drag-drop assignment to beads\n - Major visual redesign\n - Real-time collaboration features","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-7jp","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":null,"status":"open","target":"","timeout_ns":0,"title":"Swarm Archetypes \u0026 Templates CRUD","updated_at":"2026-02-21T18:51:54Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"saveArchetype and deleteArchetype implemented with tests","closed_at":"2026-02-21T19:13:30Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"2804b53f7e87ca771eb64caf28f33d916c266c7dbde49de6d5bd337280936fd4","created_at":"2026-02-21T18:52:32Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Title: Archetypes server functions\n- Parent/Epic: beadboard-7jp (Swarm Archetypes \u0026 Templates CRUD)\n- Dependencies: none\n\nTASK CONTRACT\n- Goal: Implement server-side save and delete functions for archetypes in beads-fs.ts.\n- Success Criteria:\n - saveArchetype(archetype: AgentArchetype) writes to .beads/archetypes/{id}.json\n - deleteArchetype(id: string) removes the file and returns success\n - Delete operation rejects with error if isBuiltIn is true\n - Create operation auto-generates slug id from name if id not provided\n - Create operation sets createdAt, updatedAt, isBuiltIn: false\n - Update operation updates updatedAt timestamp\n - Unit tests cover all functions and edge cases\n- Scope:\n - File: src/lib/server/beads-fs.ts\n - File: src/lib/types-swarm.ts (if type updates needed)\n - Test file for new functions\n - Slug generation utility (e.g., 'System Architect' -\u003e 'system-architect')\n- Out of Scope:\n - API routes (next task)\n - UI components\n - Template functions\n\nIMPLEMENTATION CONSTRAINTS\n- Preserve existing getArchetypes() function\n- Reuse existing ARCHE_DIR constant\n- Keep changes targeted and minimal\n\nVERIFICATION REQUIREMENTS\n- Required commands:\n - npm run typecheck\n - npm run lint\n - npm run test\n- Report test output showing passing tests for save/delete functions","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-7jp.1","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Completed: saveArchetype, deleteArchetype, slugify with 14 tests. All gates pass.","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":"Archetypes server functions","updated_at":"2026-02-21T19:13:30Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"saveTemplate and deleteTemplate implemented with archetype validation","closed_at":"2026-02-21T19:16:28Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"9c779a65059d6cd7d3f3ae0e665b2d07115af655c5e09db41d629688b3903ab9","created_at":"2026-02-21T18:53:18Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Title: Templates server functions\n- Parent/Epic: beadboard-7jp (Swarm Archetypes \u0026 Templates CRUD)\n- Dependencies: none\n\nTASK CONTRACT\n- Goal: Implement server-side save and delete functions for templates in beads-fs.ts.\n- Success Criteria:\n - saveTemplate(template: SwarmTemplate) writes to .beads/templates/{id}.json\n - deleteTemplate(id: string) removes the file and returns success\n - Delete operation rejects with error if isBuiltIn is true\n - Create operation auto-generates slug id from name if id not provided\n - Create operation sets createdAt, updatedAt, isBuiltIn: false\n - Update operation updates updatedAt timestamp\n - Validation: archetypeIds in team must exist in archetypes\n - Unit tests cover all functions and edge cases\n- Scope:\n - File: src/lib/server/beads-fs.ts\n - File: src/lib/types-swarm.ts (if type updates needed)\n - Test file for new functions\n - Slug generation (reuse from archetypes if available)\n- Out of Scope:\n - API routes (next task)\n - UI components\n - Archetype functions\n\nIMPLEMENTATION CONSTRAINTS\n- Preserve existing getTemplates() function\n- Reuse existing TMPL_DIR constant (or create if missing)\n- Keep changes targeted and minimal\n\nVERIFICATION REQUIREMENTS\n- Required commands:\n - npm run typecheck\n - npm run lint\n - npm run test\n- Report test output showing passing tests for save/delete functions","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-7jp.2","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Completed: saveTemplate, deleteTemplate with archetype validation. All gates pass.","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":"Templates server functions","updated_at":"2026-02-21T19:16:28Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
|
|
@ -364,6 +369,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":"9240477a90223fcea2ff4c60ce8470e1d987936253f47751b8badc19134b0cba","created_at":"2026-02-28T22:29:28Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-8ij.4\n- Title: Add LaunchSwarmDialog to TopBar as global action\n- Parent/Epic: beadboard-8ij\n- Dependencies (must be done first): beadboard-8ij.1\n\nTASK CONTRACT\n- Goal: Promote swarm launching to a top-level action in TopBar so the operator can start a swarm from any view without navigating to a specific page or epic first.\n- Success Criteria:\n - TopBar shows a Launch Swarm button (or icon with tooltip)\n - Clicking it opens LaunchSwarmDialog (src/components/swarm/launch-dialog.tsx)\n - On success, navigates to ?swarm=X so the new swarm appears in the right panel immediately\n - Existing TopBar layout and other controls are unaffected\n - npm run typecheck passes\n- Scope:\n - src/components/shared/top-bar.tsx — add launch button and dialog trigger\n - src/components/shared/unified-shell.tsx — pass onSuccess handler to TopBar if needed\n - src/components/swarm/launch-dialog.tsx — props: projectRoot, onSuccess\n- Out of Scope:\n - Changing LaunchSwarmDialog internals\n - LeftPanel launch (beadboard-8ij.3)\n\nIMPLEMENTATION CONSTRAINTS\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\n- Reuse shared components and logic; avoid one-off forks.\n- Keep changes targeted and minimal for this bead.\n\nVERIFICATION REQUIREMENTS\n- Required commands:\n - npm run typecheck\n - npm run lint\n - npm run test\n- Report any remaining risks and follow-up beads explicitly.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-8ij.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":"Add LaunchSwarmDialog to TopBar as global action","updated_at":"2026-02-28T22:29:28Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"Archetypes button shows list of existing archetypes with edit and create options, Templates button shows list of existing templates with edit and create options, clicking an item opens inspector in edit mode","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Fixed: Archetypes/Templates buttons now show list of existing items with edit and create options.","closed_at":"2026-02-26T04:18:54Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"10c6e9266a0b57351cdb6c164367593dfc6a60f3b483e7b09e019c82cdd2d37b","created_at":"2026-02-26T04:12:55Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Currently the Archetypes and Templates buttons only create new items. Need to show existing items list first.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-8pa","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Added collapsible list views for archetypes and templates. Buttons now toggle list views showing existing items with edit option, plus Create New button.","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":"Fix archetype/template list view in AssignmentPanel","updated_at":"2026-02-26T04:18:54Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":"2026-02-21T19:21:18Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"003721a05be6a1b9c1c6703d034334a9fb54c6b145a72387a4df07d477b9233f","created_at":"2026-02-21T19:18:42Z","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-8rg","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","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":"Fix live updates bug in watcher.ts","updated_at":"2026-02-21T19:21:18Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Canonical reliability memories are related to this anchor via bd dep relate.","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":"b1c44a1f659c63451b531032d0237cc65410f15e5a3f772025b6681a17b58434","created_at":"2026-03-02T00:39:17Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Domain anchor for incident handling, error triage patterns, and durable workaround guidance.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-8st","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":"[MEMORY-ANCHOR] Reliability and Errors","updated_at":"2026-03-02T00:39:17Z","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":"0a8fb10f793ed70eb59992adca0ac0588e8c055fcdf94f10d0e634a779b4234c","created_at":"2026-02-21T18:50:22Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: bb-swarm-crud\n- Title: Swarm Archetypes \u0026 Templates CRUD\n- Parent/Epic: none\n- Dependencies: none\n\nTASK CONTRACT\n- Goal: Enable full create/read/update/delete operations for archetypes and templates in the Swarm system through the UI.\n- Success Criteria:\n - Archetypes can be created, edited, and deleted via UI\n - Templates can be created, edited, and deleted via UI\n - API routes support POST/PUT/DELETE for both resources\n - isBuiltIn records are protected from deletion\n - All quality gates pass (typecheck, lint, test)\n- Scope:\n - Server-side CRUD functions in beads-fs.ts\n - REST API routes for archetypes and templates\n - Editable modal inspectors for both resource types\n - Add New buttons on each tab\n - Delete functionality with isBuiltIn protection\n- Out of Scope:\n - Agent spawning/live execution\n - Drag-drop assignment to beads\n - Major visual redesign\n - Real-time collaboration features","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-8u3","is_template":0,"issue_type":"epic","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":null,"status":"tombstone","target":"","timeout_ns":0,"title":"Swarm Archetypes \u0026 Templates CRUD","updated_at":"2026-02-21T18:51:39Z","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":"4ea0dc702d1e5653f38049f95b30ac8362d39a65c271639456b2a4c89b64da3a","created_at":"2026-02-21T18:50:43Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: bb-swarm-crud.1\n- Title: Archetypes server functions\n- Parent/Epic: beadboard-8u3\n- Dependencies: none\n\nTASK CONTRACT\n- Goal: Implement server-side save and delete functions for archetypes in beads-fs.ts.\n- Success Criteria:\n - saveArchetype(archetype: AgentArchetype) writes to .beads/archetypes/{id}.json\n - deleteArchetype(id: string) removes the file and returns success\n - Delete operation rejects if isBuiltIn is true\n - Create operation auto-generates slug id from name if not provided\n - Create operation sets createdAt, updatedAt, isBuiltIn: false\n - Update operation updates updatedAt timestamp\n - Unit tests cover all functions and edge cases\n- Scope:\n - File: src/lib/server/beads-fs.ts\n - File: src/lib/types-swarm.ts (if type updates needed)\n - File: __tests__/server/beads-fs.test.ts (or appropriate test location)\n - Slug generation utility (e.g., 'System Architect' -\u003e 'system-architect')\n- Out of Scope:\n - API routes (next task)\n - UI components\n - Template functions\n\nIMPLEMENTATION CONSTRAINTS\n- Preserve existing getArchetypes() function\n- Reuse existing ARCHE_DIR constant\n- Keep changes targeted and minimal for this bead\n\nVERIFICATION REQUIREMENTS\n- Required commands:\n - npm run typecheck\n - npm run lint\n - npm run test\n- Required artifacts:\n - Test output showing passing tests for save/delete functions","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-8u3.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":2,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"tombstone","target":"","timeout_ns":0,"title":"Archetypes server functions","updated_at":"2026-02-21T18:51:38Z","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":"5c8e7b5409f4360b4af2e905de3260e8021c632ca8ee033d4eaeba6d0e393703","created_at":"2026-03-01T23:38:09Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Root cause: src/lib/watcher.ts snapshot diff does not detect changes to the comments array on a BeadIssue. When 'bd comments add' writes to .beads/issues.jsonl, the file watcher fires but the diff logic finds no changed fields and skips broadcasting. Task: (1) Read src/lib/watcher.ts and locate the snapshot diff / ProjectEventCoalescer logic. (2) Check if comments are included in the snapshotted fields. (3) Add comment-count (or comment-list hash) to the diff so any comment addition triggers an SSE event. (4) Verify SSE fires in tests or manual test with 'bd comments add'. Key files: src/lib/watcher.ts, src/lib/parser.ts (BeadIssue shape), tests/lib/ for existing watcher tests.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-91y","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":"Investigate snapshot diff — add comment-count detection","updated_at":"2026-03-01T23:38:09Z","waiters":"","wisp_type":"","work_type":""}
|
||||
|
|
@ -383,7 +389,11 @@
|
|||
{"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":"93c0c0ce899172851d9d6422d3a21859f3df78de06e8c56c6326fe3d28441e81","created_at":"2026-02-28T22:39:47Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-d2x.2\n- Title: Reroute TopBar blocked button to open BlockedTriageModal\n- Parent/Epic: beadboard-d2x\n- Dependencies (must be done first): beadboard-d2x.1\n\nTASK CONTRACT\n- Goal: The TopBar 'Blocked Items' button currently toggles a URL param (blockedOnly). Replace this with a modal open trigger that opens BlockedTriageModal, keeping the blockedOnly filter wired from Phase 0 for the social feed but making the primary triage action the modal.\n- Success Criteria:\n - Clicking 'Blocked Items' in TopBar opens BlockedTriageModal\n - BlockedTriageModal receives issues and projectRoot from UnifiedShell\n - Existing blockedOnly URL toggle in TopBar is either removed or made secondary (decide when reading the component — do not break Phase 0 work)\n - npm run typecheck passes\n- Scope:\n - src/components/shared/top-bar.tsx — change blocked button handler\n - src/components/shared/unified-shell.tsx — add modal open state, pass to TopBar and BlockedTriageModal\n- Out of Scope:\n - Changing BlockedTriageModal internals (beadboard-d2x.1)\n - Phase 0 blockedOnly social feed filter\n\nIMPLEMENTATION CONSTRAINTS\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\n- Reuse shared components and logic; avoid one-off forks.\n- Keep changes targeted and minimal for this bead.\n\nVERIFICATION REQUIREMENTS\n- Required commands:\n - npm run typecheck\n - npm run lint\n - npm run test\n- Report any remaining risks and follow-up beads explicitly.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-d2x.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":2,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"Reroute TopBar blocked button to open BlockedTriageModal","updated_at":"2026-02-28T22:39:47Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"File created: src/components/graph/assignment-panel.tsx; Archetypes/Templates buttons open inspector modals; Task assignment section shows selected issue details; Archetype picker dropdown populated from useArchetypes; Prep Task for Swarm button calls /api/swarm/prep; Condensed squad roster shows active agents; 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":"6125f57d0c2fc09352deb2de82632197bccfb2fc6e320d50e5c4f53baf58c645","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-d4n","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":"Create AssignmentPanel component","updated_at":"2026-02-24T01:40:31Z","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":"6c33dd19c5fab28ffb3ec7fed3b423630107c24616fda2ff2234fadd30cf2069","created_at":"2026-02-21T20:30: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":"beadboard-dp2","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","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":"open","target":"","timeout_ns":0,"title":"Testing from curl","updated_at":"2026-02-21T20:30:26Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Given newly introduced UI copy, when reviewed, then wording is concise and unambiguous for first-time users.\nVerification command(s): npm run lint; targeted UI review in changed components","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Ratified canonical memory","closed_at":"2026-03-02T00:40:01Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"211674ee3309e1029490d7490617c2b5a29ed26507221e66dd15f83664657869","created_at":"2026-03-02T00:40:00Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Scope: UI copy in labels, controls, and status messaging.\nOut of Scope: Internal comments and engineering-only diagnostics.\nRule: Use simple user-facing language and explicit status words.\nRationale: Reduces ambiguity and onboarding friction.\nFailure Mode: Dense or vague copy increases mistakes and support load.\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-duo","is_template":0,"issue_type":"decision","last_activity":null,"metadata":"{\"domain\":\"memory-ux\",\"effective_date\":\"2026-03-02\",\"memory_strength\":\"soft\",\"memory_version\":1,\"owner\":\"team\",\"superseded_by\":null,\"supersedes\":null}","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":"[MEMORY][UX][SOFT] User-facing copy must stay simple and explicit","updated_at":"2026-03-02T00:40:01Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"Given independent subtasks, when execution starts, then each subtask has explicit ownership and verification evidence.\nVerification command(s): bd dep tree \u003cepic-id\u003e; bd ready; git status --short","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Ratified canonical memory","closed_at":"2026-03-02T00:39:57Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"58dedbce1a26e2564d00aa59ee8560b614f3e5f388d7006ae544abf591f37d40","created_at":"2026-03-02T00:39:56Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Scope: Any task with 2+ independent units of work.\nOut of Scope: Single-file trivial edits.\nRule: Parallelize independent reads/exploration and isolate ownership for independent execution threads.\nRationale: Reduces cycle time while preserving traceability.\nFailure Mode: Serial execution on independent work causes avoidable delays.\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-dvp","is_template":0,"issue_type":"decision","last_activity":null,"metadata":"{\"domain\":\"memory-agent\",\"effective_date\":\"2026-03-02\",\"memory_strength\":\"soft\",\"memory_version\":1,\"owner\":\"team\",\"superseded_by\":null,\"supersedes\":null}","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":"[MEMORY][AGENT][SOFT] Parallelize independent work with clear ownership","updated_at":"2026-03-02T00:39:57Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":"sysarchitect-01","await_id":"","await_type":"","close_reason":"","closed_at":"2026-02-26T01:53:00Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"8f7527a166f80da24341c6f5e75236a288ffeeb01edae418ed05484aec5a767f","created_at":"2026-02-21T04:01:11Z","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-eo8","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":"closed","target":"","timeout_ns":0,"title":"Design New Component","updated_at":"2026-02-26T01:53:00Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Given a workaround task, when created, then trigger, rollback criteria, and retirement owner are present.\nVerification command(s): bd show \u003cworkaround-id\u003e","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Ratified canonical memory","closed_at":"2026-03-02T00:40:03Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"b63e0ea4d4920bde46d19ad0a3bbe214fb4669e0f0a1d346cca2a4dabe8d252e","created_at":"2026-03-02T00:40:02Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Scope: Temporary workaround decisions under delivery pressure.\nOut of Scope: Final architecture decisions already ratified.\nRule: Any workaround must include trigger conditions, rollback criteria, and owner for retirement.\nRationale: Keeps tactical decisions from becoming accidental permanent architecture.\nFailure Mode: Undocumented workaround debt accumulates and obscures system intent.\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-fga","is_template":0,"issue_type":"decision","last_activity":null,"metadata":"{\"domain\":\"memory-reliability\",\"effective_date\":\"2026-03-02\",\"memory_strength\":\"soft\",\"memory_version\":1,\"owner\":\"team\",\"superseded_by\":null,\"supersedes\":null}","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":"[MEMORY][RELIABILITY][SOFT] Workarounds require trigger rollback and owner","updated_at":"2026-03-02T00:40:03Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"Canonical UI/UX memories are related to this anchor via bd dep relate.","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":"20f7b859593b2616b5e07a51d20d07e392aa37468421e31d2854243508fbacde","created_at":"2026-03-02T00:39:16Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Domain anchor for UI/UX rules, accessibility constraints, and component usage patterns.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-fld","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":"[MEMORY-ANCHOR] UI/UX","updated_at":"2026-03-02T00:39:16Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"6 archetypes with comprehensive system prompts (200-400 lines each), handoff protocols defined, all prompts follow structured format (phases, output format, examples), archetypes load correctly in UI, test-agent.json deleted","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Completed 6 comprehensive agent archetypes with detailed system prompts (200-400 lines each), handoff protocols, workflow phases, and examples. All verification gates pass.","closed_at":"2026-02-26T03:14:31Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"35fb89e510008e4ecc977565f01996e074296f356dce072ed6d74097d8a87fcb","created_at":"2026-02-26T02:52:12Z","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-fp5","is_template":0,"issue_type":"epic","last_activity":null,"metadata":"{}","mol_type":"","notes":"Created 6 comprehensive archetypes: architect, engineer, reviewer, tester, investigator, shipper. Each has 200+ line system prompts with workflow phases, handoff protocols, and examples. Deleted test-agent.json placeholder. All verification gates pass (typecheck, lint warnings only, tests pass).","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":"Comprehensive Agent Archetype System v2","updated_at":"2026-02-26T03:14:31Z","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":"8fd7102d911f66fc12c0218596be2d43b56c8a8252a0b8895bfdd5dea5e0cf27","created_at":"2026-02-24T01:41: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-gb0","is_template":0,"issue_type":"epic","last_activity":null,"metadata":"{}","mol_type":"","notes":"## TASK CONTEXT\n- Bead ID: beadboard-gb0\n- Title: Unify Graph + Swarm into Single Enhanced Graph View\n- Parent/Epic: None (this is the epic)\n- Dependencies: None\n\n## GOAL\nMerge the duplicate graph implementations (`?view=graph`, `?view=swarm`, and `/graph` page) into one enhanced graph view with two modes:\n- **Analysis mode** (default): Full dependency DAG with progressive disclosure (filters toolbar, tabs)\n- **Assign mode** (toggled): DAG highlights ready nodes, right panel transforms into assignment controls\n\n## PROBLEM STATEMENT\nBeadBoard has two views that both render the same `WorkflowGraph` DAG component, creating duplication:\n- `?view=graph` is a bare 49-line wrapper (`SmartDag`) with no rich features\n- `?view=swarm` duplicates the DAG with swarm-specific UI\n- Standalone `/graph` page (`DependencyGraphPage`) has rich features stranded from the shell view\n\n## SUCCESS CRITERIA\n- `?view=graph` shows enhanced DAG with all dependency analysis features\n- 'Assign' toggle enables task assignment workflow\n- `?view=swarm` deprecated (falls back to default view)\n- Archetypes/Templates accessible from assign mode right panel\n- All child tasks completed and verified\n- `npm run typecheck \u0026\u0026 npm run lint \u0026\u0026 npm run test` all pass\n\n## SCOPE\n- SmartDag rewrite with progressive disclosure + tabs + assign mode\n- AssignmentPanel component for assign mode\n- useGraphAnalysis hook extraction\n- Swarm view removal from navigation\n- Delete deprecated swarm files (swarm-workspace.tsx, telemetry-grid.tsx, specialized-agent-dag.tsx)\n\n## OUT OF SCOPE\n- Backend API changes (use existing `/api/swarm/prep`)\n- New archetypes/templates features\n- Mobile-specific layouts\n- Changes to archetype-inspector.tsx, template-inspector.tsx (kept for AssignmentPanel)\n\n## REFERENCE\n- PRD: `docs/prd/unified-graph-view.md`\n- Step 1 (agent animations): Already COMPLETED\n\n## CHILD TASKS\n1. `beadboard-gb0.4`: Create useGraphAnalysis hook (INDEPENDENT)\n2. `beadboard-gb0.2`: Add assign mode to WorkflowGraph + GraphNodeCard (INDEPENDENT)\n3. `beadboard-gb0.3`: Create AssignmentPanel component (INDEPENDENT)\n4. `beadboard-gb0.8`: Remove swarm view from navigation (INDEPENDENT)\n5. `beadboard-gb0.1`: Rewrite SmartDag with progressive disclosure (BLOCKED BY: gb0.4)\n6. `beadboard-gb0.5`: Wire assign mode into UnifiedShell (BLOCKED BY: gb0.3, gb0.1)\n7. `beadboard-gb0.7`: Delete deprecated swarm files (BLOCKED BY: gb0.5, gb0.8)\n8. `beadboard-gb0.6`: Update standalone /graph page (BLOCKED BY: gb0.7)\n\n## PARALLELIZATION\nPhase 1 (parallel): gb0.4, gb0.2, gb0.3, gb0.8\nPhase 2 (sequential): gb0.1 (after gb0.4)\nPhase 3 (sequential): gb0.5 (after gb0.3, gb0.1)\nPhase 4 (sequential): gb0.7 (after gb0.5, gb0.8)\nPhase 5 (sequential): gb0.6 (after gb0.7)","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":"open","target":"","timeout_ns":0,"title":"Unify Graph + Swarm into Single Enhanced Graph View","updated_at":"2026-02-24T01:43:10Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Toolbar with Filters and Assign toggles; Filters row with hop depth, hide closed, blocking-only, sort ready first; Tab switcher: Tasks/Dependencies; Tasks tab with TaskCardGrid; Dependencies tab with DependencyFlowStrip + GraphSection; onAssignModeChange and onSelectedIssueChange callbacks; npm run typecheck, lint, test pass","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-02-24T03:08:34Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"ec99a8e7756a1f9b4b0016e9e0338054bf4cbf6475cee93b141110d04da6f174","created_at":"2026-02-24T01:42:05Z","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-gb0.1","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"## Completed Implementation\n\n### Files Changed\n- **src/components/graph/smart-dag.tsx**: Rewrote from 49-line wrapper to 272-line enhanced DAG with:\n - Toolbar with Filters toggle + Assign toggle\n - WorkflowTabs for Tasks/Dependencies switching\n - Collapsible filter row (hide closed, ready first, depth, blocking only)\n - Tasks tab with TaskCardGrid\n - Dependencies tab with WorkflowGraph (passing assignMode)\n\n- **tests/components/graph/smart-dag.test.tsx**: Created 12 TDD tests (all passing)\n- **package.json**: Added smart-dag.test.tsx to test script\n\n### Tests Written (TDD)\nAll 12 tests pass:\n1. SmartDag - file exists and exports\n2. SmartDag - contains Filters toggle button\n3. SmartDag - contains Assign toggle button\n4. SmartDag - contains WorkflowTabs\n5. SmartDag - supports onAssignModeChange callback\n6. SmartDag - supports onSelectedIssueChange callback\n7. SmartDag - imports TaskCardGrid\n8. SmartDag - imports WorkflowGraph\n9. SmartDag - passes assignMode to WorkflowGraph\n10. SmartDag - manages hideClosed filter\n11. SmartDag - manages sortReadyFirst filter\n12. SmartDag - uses useGraphAnalysis hook\n\n### Verification Gates\n- npm run typecheck: ✓ PASS\n- npm run lint: ✓ PASS (0 errors, 21 warnings - all pre-existing)\n- npm run test: ✓ PASS (all tests including new smart-dag tests)\n\n### Deferred\n- DependencyFlowStrip: Created TODO bead `beadboard-58u` for future enhancement\n\n### Evidence\n```\nnpm run typecheck\n\u003e tsc --noEmit\n(no output = success)\n\nnpm run lint\n✖ 21 problems (0 errors, 21 warnings)\n\nnpm run test\n# tests 12 (smart-dag suite)\n# pass 12\n# fail 0\n```","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":"Rewrite SmartDag with progressive disclosure","updated_at":"2026-02-24T03:08:34Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
|
|
@ -396,9 +406,12 @@
|
|||
{"acceptance_criteria":"ViewType removes swarm; VALID_VIEWS removes swarm; Left panel removes swarm entry; Mobile nav removes swarm tab; npm run typecheck, lint, test pass","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Removed swarm view from navigation across all components and updated tests. All gates pass.","closed_at":"2026-02-24T02:11:59Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"0bf894def5cec06893c6d1d15a50458974915ca99cfd17f3837653c8db8bdcf2","created_at":"2026-02-24T01:42:12Z","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-gb0.8","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"## Evidence\n- use-url-state.ts: ViewType removes 'swarm' (line 6)\n- use-url-state.ts: VALID_VIEWS removes 'swarm' (line 46)\n- left-panel.tsx: views array removes swarm entry (lines 187-190)\n- mobile-nav.tsx: tabs array removes swarm tab (lines 6-9)\n- unified-shell.tsx: Removed dead view === 'swarm' branches\n- swarm-mission-picker.tsx: Changed setView('swarm') to setView('graph')\n- Updated tests for swarm fallback behavior\n- npm run typecheck: PASS\n- npm run lint: PASS (0 errors)\n- npm run test: PASS (31/31)\n\n## Files Changed\n- MODIFIED: src/hooks/use-url-state.ts\n- MODIFIED: src/components/shared/left-panel.tsx\n- MODIFIED: src/components/shared/mobile-nav.tsx\n- MODIFIED: src/components/shared/unified-shell.tsx\n- MODIFIED: src/components/swarm/swarm-mission-picker.tsx\n- MODIFIED: tests/hooks/url-state-integration.test.ts\n- MODIFIED: tests/components/shared/top-bar.test.tsx\n- MODIFIED: tests/components/shared/mobile-nav.test.tsx","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":"Remove swarm view from navigation","updated_at":"2026-02-24T02:11:59Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Color palette with presets + custom picker, icon/emoji selector, live preview in inspector, suggested capabilities, duplicate/clone feature, archetype cards show icon/emoji","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Completed full archetype customization: color palette (30 presets), icon/emoji selector (40 emojis), capability autocomplete (30 suggestions), live preview, clone functionality, icon field support in all display components. All verification gates pass.","closed_at":"2026-02-26T04:01:05Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"eab91d6249aa43e9e6f8c0885bc476e42b9d17d60a26f2f8cf255f94b02c4a59","created_at":"2026-02-26T03:26:35Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Enable users to fully customize their archetypes with color presets, icons/emojis, and better UX","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-gv7","is_template":0,"issue_type":"epic","last_activity":null,"metadata":"{}","mol_type":"","notes":"Completed: color palette with 30 presets, icon/emoji selector with 40 emojis, suggested capabilities with autocomplete, live preview, clone functionality, updated all display components to use icon field. All verification gates pass.","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":"Enhanced Archetype Customization","updated_at":"2026-02-26T04:01:05Z","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":"ae28ed72ac9799b7b4dce806bbaa0033e83ce60e3495d03df1d5eae9a2dc9a3e","created_at":"2026-02-21T20:28:30Z","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-hhy","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","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":"open","target":"","timeout_ns":0,"title":"Testing another flow","updated_at":"2026-02-21T20:28:30Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"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":"","closed_at":null,"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":"Starting provenance enrichment for canonical memories: source bead links + evidence metadata + doc protocol update.","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":"Add provenance links and evidence metadata to canonical memory nodes","updated_at":"2026-03-02T00:53:24Z","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"}
|
||||
{"acceptance_criteria":"help/memory folder exists with workflow docs; both AGENTS manuals reference and enforce memory workflow commands and schema.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Memory workflow docs and AGENTS integration added","closed_at":"2026-03-02T00:46:38Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"8542172d8d6c8ac3d885d5d13059206681e450bdb5f0891ae91b825c5f612abd","created_at":"2026-03-02T00:45:20Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Add critical operational docs for the bd-native memory system under help/memory and update root+beadboard AGENTS.md with explicit memory workflow protocol and command patterns.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-jgy","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Added help/memory index+workflow+query+schema docs; updated AGENTS.md with mandatory Native Memory Workflow section and command contracts.","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":"Document memory workflow in help/memory and AGENTS manuals","updated_at":"2026-03-02T00:46:38Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"User can assign archetypes to tasks via graph nodes and sidebar. Shows assigned archetype badges on nodes. Shows Needs Agent / Pre-assigned / Active Workers sections in sidebar.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Epic complete. Users can now assign archetypes to tasks via graph nodes (dropdown with archetype selection) and sidebar (Needs Agent section with quick assign). Shows archetype badges on nodes. AssignmentPanel shows three sections: Needs Agent, Pre-assigned, and Squad Roster (active workers scoped to epic).","closed_at":"2026-02-24T08:12:02Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"c92148b19bcb16a4c63bfa35b0a534867a3fc85ecb7f79a6443ae8524f0efc4f","created_at":"2026-02-24T04:14:38Z","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-lgi","is_template":0,"issue_type":"epic","last_activity":null,"metadata":"{}","mol_type":"","notes":"## Final Fix: Single Archetype Per Task\n\n### Design Decision\nAfter discussion, we determined that bd (bead) is designed for ONE agent\narchetype per task - clear ownership model.\n\n### Implementation\n- handleAssignAgent now removes existing agent: labels before adding new one\n- Calls DELETE first, then POST\n- Optimistic UI reflects single archetype constraint\n- Reassigning still works (click different archetype to replace)\n\n### Test Coverage\n- 5 new tests in graph-node-single-archetype.test.tsx\n\n### Commit\n211e503 - feat(graph): enforce single archetype per task","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":"Assign Archetypes to Tasks - UI System","updated_at":"2026-02-25T01:05:17Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"SSE refresh test complete - bead should appear and disappear without page reload","closed_at":"2026-02-21T20:50:23Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"e7bc06d037451c7ce09c7f8809077e907db3b57b82cad71b4520b1b165b177cc","created_at":"2026-02-21T20:49:59Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Testing that SSE events trigger UI refresh without manual page reload. This bead will be closed immediately after creation.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-m4f","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":3,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"closed","target":"","timeout_ns":0,"title":"Test Bead - SSE Refresh Verification","updated_at":"2026-02-21T20:50:23Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Canonical workflow memories are related to this anchor via bd dep relate.","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":"5da123dbdad6d8b1b981104fad944679e17fff64a82cbdeabe118169df3ed468","created_at":"2026-03-02T00:39:16Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Domain anchor for execution process constraints, verification gates, and delivery discipline.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-nq9","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":"[MEMORY-ANCHOR] Workflow Protocol","updated_at":"2026-03-02T00:39:16Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"","closed_at":"2026-02-27T01:33:44Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"78b8b49cd1224c2a66dd49a452abbe6f6fce3e8fd4347cc8c84e2322c5226003","created_at":"2026-02-21T20:52:19Z","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-o6s","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":3,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":".","source_system":"","spec_id":null,"status":"closed","target":"","timeout_ns":0,"title":"Test Bead 2 - SSE Check","updated_at":"2026-02-27T01:33:44Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-03-01T22:24:56Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"4f88d13043a1b0f19dfd4804d0b7b181b0317e0a2826b62354e2d45acb3b1a39","created_at":"2026-03-01T22:24:50Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"# Dolt Database Organization \u0026 PATH Troubleshooting\r\n\r\nOrganized scattered CLI `.txt` help texts into `beadboard/help/cli/` and added explicit workflow guides in `beadboard/help/workflows` for checking recently closed beads (`bd query`) and using the new `bd vc` dolt database features.\r\n\r\n**Issues Encountered \u0026 Resolved:**\r\n1. User accidentally ran `dolt init` in root rather than running commands in the actual DB directory (`.beads/dolt/beadboard/`). The empty root DB was pushed to DoltHub.\r\n2. We navigated correctly to `.beads/dolt/beadboard/` and ran `dolt push -f origin main` to forcefully overwrite the empty database on DoltHub with the actual issue history.\r\n3. The installed `bd` binary (`0.49.6`) was out of date. User ran the remote update script to `0.57.0`.\r\n4. The updated `bd` directory (`C:\\Users\\Zenchant\\AppData\\Local\\Programs\\bd`) was not on the system `PATH`. We programmatically updated the `$env:Path` in the registry and the active session.\r\n5. `bd 0.57.0` does not bundle the `dolt` binary anymore. The `bd ready` command was throwing a \"Dolt server unreachable... dolt is not installed\" error.\r\n6. We resolved this by downloading the official Dolt windows release archive, extracting `dolt.exe`, and placing it alongside `bd.exe` in the `bd` data directory. The `bd ready` command now successfully auto-starts the Dolt server.\r\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-qq2","is_template":0,"issue_type":"task","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":"closed","target":"","timeout_ns":0,"title":"Dolt Migration and PATH Fixes","updated_at":"2026-03-01T22:24:56Z","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":"6e21afe3b13a81e4b2fdcb00f41075db6302943631719fc545780ccfd4c19879","created_at":"2026-02-28T01:27:38Z","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-qxa","is_template":0,"issue_type":"task","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":null,"status":"open","target":"","timeout_ns":0,"title":"test","updated_at":"2026-02-28T01:27:38Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
|
|
@ -420,4 +433,5 @@
|
|||
{"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":"d78f815d3cca5b475133a1ec66f3af94ea4b0147346fb6d3dcbd76cfd86590ef","created_at":"2026-02-21T18:34:36Z","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-yg7","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","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":"open","target":"","timeout_ns":0,"title":"Make Archetypes and Templates Editable in Swarm View","updated_at":"2026-02-21T18:34:36Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Recreating as proper children of Phase 0 epic with correct naming","closed_at":"2026-02-28T21:02:57Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"2140bb9fc04d3ec765c3a43b24ad5e8385f639bb70a1166667075da137fd5a19","created_at":"2026-02-28T20:59:38Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"view=activity is a valid ViewType (in VALID_VIEWS in use-url-state.ts) but renderMiddleContent() in UnifiedShell returns null for it. SocialCard 'Jump to Activity' navigates users here, so they land on a blank page.\n\nFile: src/components/shared/unified-shell.tsx\nLocation: renderMiddleContent() function (around lines 103-140)\n\nChange: Add before the final 'return null':\n if (view === 'activity') {\n return (\n \u003cActivityPanel\n issues={filteredIssues}\n projectRoot={projectRoot}\n /\u003e\n );\n }\n\nImport: ActivityPanel is already used in contextual-right-panel.tsx:\n import { ActivityPanel } from '../activity/activity-panel';\nCheck ActivityPanel's props signature before adding - confirm it accepts issues and projectRoot.\n\nAcceptance: Navigating to /?view=activity renders the activity feed. SocialCard 'Jump to Activity' link lands on content, not a blank page.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-yh3","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","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":"","status":"closed","target":"","timeout_ns":0,"title":"P0.2: Add activity render case to renderMiddleContent()","updated_at":"2026-02-28T21:02:57Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"GraphNodeData interface includes labels field. WorkflowGraph passes issue.labels to node data. Tests verify labels are present in node data.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Completed. Added labels field to GraphNodeData interface and passed issue.labels through WorkflowGraph and dependency-graph-page. All 4 TDD tests pass. All verification gates pass.","closed_at":"2026-02-24T04:20:57Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"61552df0e260d87fe90969800bbe754766ae094d37244bd295360241f6dedab8","created_at":"2026-02-24T04:15:00Z","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-yo5","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"## Completed Implementation\n\n### Files Changed\n- **src/components/graph/graph-node-card.tsx**: Added `labels: string[]` field to GraphNodeData interface\n- **src/components/shared/workflow-graph.tsx**: Added `labels: issue.labels` to node data\n- **src/components/graph/dependency-graph-page.tsx**: Added `labels: issue.labels` to node data (deprecated page kept working)\n- **tests/components/graph/graph-node-labels.test.tsx**: Created 4 TDD tests\n- **package.json**: Added new test file to test script\n\n### Tests Written (TDD)\nAll 4 tests pass:\n1. GraphNodeData interface includes labels field\n2. GraphNodeData labels is typed as string array\n3. WorkflowGraph passes issue.labels to node data\n4. WorkflowGraph uses labels from issue in node mapping\n\n### Verification Gates\n- npm run typecheck: ✓ PASS\n- npm run lint: ✓ PASS (0 errors, 21 warnings - all pre-existing)\n- npm run test: ✓ PASS (all tests)\n\n### Evidence\n```\nnpm run typecheck\n\u003e tsc --noEmit\n(no output = success)\n\nnpm run lint\n✖ 21 problems (0 errors, 21 warnings)\n\nnpm run test\n# tests 13 (including new graph-node-labels suite)\n# pass 13\n# fail 0\n```","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":"Pass labels to graph nodes","updated_at":"2026-02-24T04:20:57Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"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":"","closed_at":null,"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":"Scope: bd-native memory only; avoid broad code edits.","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":"Bootstrap Phase 1 Memory Fabric (anchors + canonical nodes)","updated_at":"2026-03-02T00:38:49Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"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":"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\",\"memory_strength\":\"hard\",\"memory_version\":1,\"owner\":\"team\",\"superseded_by\":null,\"supersedes\":null}","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":"[MEMORY][ARCH][HARD] Shared logic for cross-view behavior","updated_at":"2026-03-02T00:39:59Z","waiters":"","wisp_type":"","work_type":""}
|
||||
|
|
|
|||
|
|
@ -596,13 +596,60 @@
|
|||
{"issue_id":"bb-zenchantlive","label":"role:architect"}
|
||||
{"issue_id":"bb-zzr","label":"gt:agent"}
|
||||
{"issue_id":"bb-zzr","label":"swarm:test-swarm-1"}
|
||||
{"issue_id":"beadboard-116","label":"mem-canonical"}
|
||||
{"issue_id":"beadboard-116","label":"mem-hard"}
|
||||
{"issue_id":"beadboard-116","label":"memory"}
|
||||
{"issue_id":"beadboard-116","label":"memory-workflow"}
|
||||
{"issue_id":"beadboard-5r1","label":"memory"}
|
||||
{"issue_id":"beadboard-5r1","label":"memory-agent"}
|
||||
{"issue_id":"beadboard-5r1","label":"memory-anchor"}
|
||||
{"issue_id":"beadboard-60a","label":"mem-canonical"}
|
||||
{"issue_id":"beadboard-60a","label":"mem-hard"}
|
||||
{"issue_id":"beadboard-60a","label":"memory"}
|
||||
{"issue_id":"beadboard-60a","label":"memory-arch"}
|
||||
{"issue_id":"beadboard-6fv","label":"mem-canonical"}
|
||||
{"issue_id":"beadboard-6fv","label":"mem-hard"}
|
||||
{"issue_id":"beadboard-6fv","label":"memory"}
|
||||
{"issue_id":"beadboard-6fv","label":"memory-reliability"}
|
||||
{"issue_id":"beadboard-76p","label":"memory"}
|
||||
{"issue_id":"beadboard-76p","label":"memory-anchor"}
|
||||
{"issue_id":"beadboard-76p","label":"memory-arch"}
|
||||
{"issue_id":"beadboard-7r7","label":"agent:coder"}
|
||||
{"issue_id":"beadboard-8st","label":"memory"}
|
||||
{"issue_id":"beadboard-8st","label":"memory-anchor"}
|
||||
{"issue_id":"beadboard-8st","label":"memory-reliability"}
|
||||
{"issue_id":"beadboard-b7t","label":"agent:coder"}
|
||||
{"issue_id":"beadboard-brq","label":"agent:coder"}
|
||||
{"issue_id":"beadboard-c08","label":"agent:architect"}
|
||||
{"issue_id":"beadboard-c08","label":"agent:system-architect"}
|
||||
{"issue_id":"beadboard-c08","label":"status:documenting"}
|
||||
{"issue_id":"beadboard-duo","label":"mem-canonical"}
|
||||
{"issue_id":"beadboard-duo","label":"mem-soft"}
|
||||
{"issue_id":"beadboard-duo","label":"memory"}
|
||||
{"issue_id":"beadboard-duo","label":"memory-ux"}
|
||||
{"issue_id":"beadboard-dvp","label":"mem-canonical"}
|
||||
{"issue_id":"beadboard-dvp","label":"mem-soft"}
|
||||
{"issue_id":"beadboard-dvp","label":"memory"}
|
||||
{"issue_id":"beadboard-dvp","label":"memory-agent"}
|
||||
{"issue_id":"beadboard-eo8","label":"agent:architect"}
|
||||
{"issue_id":"beadboard-fga","label":"mem-canonical"}
|
||||
{"issue_id":"beadboard-fga","label":"mem-soft"}
|
||||
{"issue_id":"beadboard-fga","label":"memory"}
|
||||
{"issue_id":"beadboard-fga","label":"memory-reliability"}
|
||||
{"issue_id":"beadboard-fld","label":"memory"}
|
||||
{"issue_id":"beadboard-fld","label":"memory-anchor"}
|
||||
{"issue_id":"beadboard-fld","label":"memory-ux"}
|
||||
{"issue_id":"beadboard-i4c","label":"memory"}
|
||||
{"issue_id":"beadboard-i4c","label":"memory-provenance"}
|
||||
{"issue_id":"beadboard-jgy","label":"docs"}
|
||||
{"issue_id":"beadboard-jgy","label":"memory"}
|
||||
{"issue_id":"beadboard-nq9","label":"memory"}
|
||||
{"issue_id":"beadboard-nq9","label":"memory-anchor"}
|
||||
{"issue_id":"beadboard-nq9","label":"memory-workflow"}
|
||||
{"issue_id":"beadboard-yad","label":"agent:coder"}
|
||||
{"issue_id":"beadboard-yz6","label":"memory"}
|
||||
{"issue_id":"beadboard-yz6","label":"memory-bootstrap"}
|
||||
{"issue_id":"beadboard-zas","label":"mem-canonical"}
|
||||
{"issue_id":"beadboard-zas","label":"mem-hard"}
|
||||
{"issue_id":"beadboard-zas","label":"memory"}
|
||||
{"issue_id":"beadboard-zas","label":"memory-arch"}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue