bd: backup 2026-03-02 01:25
This commit is contained in:
parent
d6f88517b7
commit
300d5b13aa
4 changed files with 26 additions and 9 deletions
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"last_dolt_commit": "epeu29kie3rkb82uo88m06hq1tbtgg3h",
|
||||
"last_dolt_commit": "n352sccu8uegleo4tfi2l32r1p6int6m",
|
||||
"last_event_id": 0,
|
||||
"timestamp": "2026-03-02T01:09:22.3310961Z",
|
||||
"timestamp": "2026-03-02T01:25:09.5599666Z",
|
||||
"counts": {
|
||||
"issues": 438,
|
||||
"events": 186,
|
||||
"issues": 439,
|
||||
"events": 201,
|
||||
"comments": 2,
|
||||
"dependencies": 580,
|
||||
"dependencies": 581,
|
||||
"labels": 657,
|
||||
"config": 14
|
||||
}
|
||||
|
|
|
|||
|
|
@ -500,6 +500,7 @@
|
|||
{"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-01T17:11:03Z","created_by":"zenchantlive","depends_on_id":"beadboard-8ij","issue_id":"beadboard-8ij.5","type":"parent-child"}
|
||||
{"created_at":"2026-03-01T16:54:05Z","created_by":"ZenchantLive","depends_on_id":"beadboard-6fv","issue_id":"beadboard-8rg","type":"relates-to"}
|
||||
{"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"}
|
||||
|
|
|
|||
|
|
@ -184,3 +184,18 @@
|
|||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:56:39Z","event_type":"status_changed","id":184,"issue_id":"beadboard-ij8","new_value":"{\"notes\":\"Adding regular memory contribution cadence and provenance relation rules to both AGENTS manuals.\",\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-ij8\",\"title\":\"Enforce regular memory contribution + provenance relations in AGENTS manuals\",\"description\":\"Update root and beadboard AGENTS manuals to require recurring memory additions and explicit provenance relation/metadata rules for canonical memory nodes.\",\"acceptance_criteria\":\"Both manuals include mandatory post-close memory review cadence and provenance relation commands/requirements.\",\"notes\":\"Scope: AGENTS docs only.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T00:56:31Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T00:56:31Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:57:17Z","event_type":"updated","id":185,"issue_id":"beadboard-ij8","new_value":"{\"notes\":\"Updated both AGENTS manuals: added mandatory post-close memory review cadence, provenance relation commands, required evidence_ids/plan_refs metadata, and fresh-agent provenance validation steps.\"}","old_value":"{\"id\":\"beadboard-ij8\",\"title\":\"Enforce regular memory contribution + provenance relations in AGENTS manuals\",\"description\":\"Update root and beadboard AGENTS manuals to require recurring memory additions and explicit provenance relation/metadata rules for canonical memory nodes.\",\"acceptance_criteria\":\"Both manuals include mandatory post-close memory review cadence and provenance relation commands/requirements.\",\"notes\":\"Adding regular memory contribution cadence and provenance relation rules to both AGENTS manuals.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T00:56:31Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T00:56:36Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T16:57:17Z","event_type":"closed","id":186,"issue_id":"beadboard-ij8","new_value":"AGENTS manuals now enforce regular memory additions and provenance relations","old_value":""}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:11:02Z","event_type":"created","id":187,"issue_id":"beadboard-8ij.5","new_value":"","old_value":""}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:14:20Z","event_type":"status_changed","id":188,"issue_id":"beadboard-8ij.1","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-8ij.1\",\"title\":\"Extract useArchetypePicker hook from AssignmentPanel\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-8ij.1\\n- Title: Extract useArchetypePicker hook from AssignmentPanel\\n- Parent/Epic: beadboard-8ij\\n- Dependencies (must be done first): none (first in phase)\\n\\nTASK CONTRACT\\n- Goal: Extract the archetype fetching and assignment logic from AssignmentPanel into a reusable useArchetypePicker hook so it can be used in SocialCard, LeftPanel, and TopBar without duplicating code.\\n- Success Criteria:\\n - New hook at src/hooks/use-archetype-picker.ts exports useArchetypePicker\\n - Hook encapsulates: fetching archetypes from /api/archetypes, selected archetype state, and handleAssign(issueId) function that calls /api/mission/assign\\n - AssignmentPanel refactored to use the new hook (no behaviour change, existing graph assign mode still works)\\n - npm run typecheck passes\\n- Scope:\\n - src/hooks/use-archetype-picker.ts (new file)\\n - src/components/graph/assignment-panel.tsx (refactor to use hook)\\n - Read AssignmentPanel fully before extracting to understand current API calls and state\\n- Out of Scope:\\n - Changing AssignmentPanel UI\\n - Using the hook in SocialCard or TopBar yet (beadboard-8ij.2, 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.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:05:45Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-02-28T22:05:45Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:15:31Z","event_type":"updated","id":189,"issue_id":"beadboard-8ij.1","new_value":"{\"notes\":\"Hook extracted with archetype selection state and assignment logic. AssignmentPanel refactored to use hook. Typecheck passes with 0 errors.\"}","old_value":"{\"id\":\"beadboard-8ij.1\",\"title\":\"Extract useArchetypePicker hook from AssignmentPanel\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-8ij.1\\n- Title: Extract useArchetypePicker hook from AssignmentPanel\\n- Parent/Epic: beadboard-8ij\\n- Dependencies (must be done first): none (first in phase)\\n\\nTASK CONTRACT\\n- Goal: Extract the archetype fetching and assignment logic from AssignmentPanel into a reusable useArchetypePicker hook so it can be used in SocialCard, LeftPanel, and TopBar without duplicating code.\\n- Success Criteria:\\n - New hook at src/hooks/use-archetype-picker.ts exports useArchetypePicker\\n - Hook encapsulates: fetching archetypes from /api/archetypes, selected archetype state, and handleAssign(issueId) function that calls /api/mission/assign\\n - AssignmentPanel refactored to use the new hook (no behaviour change, existing graph assign mode still works)\\n - npm run typecheck passes\\n- Scope:\\n - src/hooks/use-archetype-picker.ts (new file)\\n - src/components/graph/assignment-panel.tsx (refactor to use hook)\\n - Read AssignmentPanel fully before extracting to understand current API calls and state\\n- Out of Scope:\\n - Changing AssignmentPanel UI\\n - Using the hook in SocialCard or TopBar yet (beadboard-8ij.2, 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.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:05:45Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T01:14:21Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:15:32Z","event_type":"closed","id":190,"issue_id":"beadboard-8ij.1","new_value":"useArchetypePicker hook created and integrated into AssignmentPanel","old_value":""}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:15:41Z","event_type":"status_changed","id":191,"issue_id":"beadboard-8ij.2","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-8ij.2\",\"title\":\"Add inline Assign affordance to SocialCard for blocked/unassigned tasks\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-8ij.2\\n- Title: Add inline Assign affordance to SocialCard for blocked/unassigned tasks\\n- Parent/Epic: beadboard-8ij\\n- Dependencies (must be done first): beadboard-8ij.1\\n\\nTASK CONTRACT\\n- Goal: Tasks in blocked or open/unassigned state should show an Assign button directly on the SocialCard, opening an inline archetype picker without leaving the social view or opening a modal.\\n- Success Criteria:\\n - SocialCard shows an Assign button when issue.status === 'blocked' or (issue.status === 'open' and no assignee)\\n - Clicking Assign opens an inline dropdown/popover using useArchetypePicker\\n - Selecting an archetype calls handleAssign and updates the card\\n - Cards with an existing assignee do not show the Assign button\\n - npm run typecheck passes\\n- Scope:\\n - src/components/social/social-card.tsx — add conditional Assign button\\n - Use useArchetypePicker hook from beadboard-8ij.1\\n - Inline UI only — no modal, no view switch\\n- Out of Scope:\\n - Changing SocialCard layout for other states\\n - Agent presence/liveness indicators (Phase 4)\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\\n- Reuse shared components and logic; avoid one-off forks.\\n- Keep changes targeted and minimal for this bead.\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Report any remaining risks and follow-up beads explicitly.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:29:28Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-02-28T22:29:28Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:18:13Z","event_type":"updated","id":192,"issue_id":"beadboard-8ij.2","new_value":"{\"notes\":\"Inline assign affordance added to blocked/unassigned cards. Uses useArchetypePicker hook. Archetypes fetched in SocialPage and passed to SocialCard. Typecheck passes with 0 errors.\"}","old_value":"{\"id\":\"beadboard-8ij.2\",\"title\":\"Add inline Assign affordance to SocialCard for blocked/unassigned tasks\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-8ij.2\\n- Title: Add inline Assign affordance to SocialCard for blocked/unassigned tasks\\n- Parent/Epic: beadboard-8ij\\n- Dependencies (must be done first): beadboard-8ij.1\\n\\nTASK CONTRACT\\n- Goal: Tasks in blocked or open/unassigned state should show an Assign button directly on the SocialCard, opening an inline archetype picker without leaving the social view or opening a modal.\\n- Success Criteria:\\n - SocialCard shows an Assign button when issue.status === 'blocked' or (issue.status === 'open' and no assignee)\\n - Clicking Assign opens an inline dropdown/popover using useArchetypePicker\\n - Selecting an archetype calls handleAssign and updates the card\\n - Cards with an existing assignee do not show the Assign button\\n - npm run typecheck passes\\n- Scope:\\n - src/components/social/social-card.tsx — add conditional Assign button\\n - Use useArchetypePicker hook from beadboard-8ij.1\\n - Inline UI only — no modal, no view switch\\n- Out of Scope:\\n - Changing SocialCard layout for other states\\n - Agent presence/liveness indicators (Phase 4)\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\\n- Reuse shared components and logic; avoid one-off forks.\\n- Keep changes targeted and minimal for this bead.\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Report any remaining risks and follow-up beads explicitly.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:29:28Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T01:15:42Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:18:14Z","event_type":"closed","id":193,"issue_id":"beadboard-8ij.2","new_value":"Inline assign working on SocialCard for blocked/unassigned tasks","old_value":""}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:19:24Z","event_type":"status_changed","id":194,"issue_id":"beadboard-8ij.3","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-8ij.3\",\"title\":\"Add Launch Swarm action to LeftPanel epic rows\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-8ij.3\\n- Title: Add Launch Swarm action to LeftPanel epic rows\\n- Parent/Epic: beadboard-8ij\\n- Dependencies (must be done first): beadboard-8ij.1\\n\\nTASK CONTRACT\\n- Goal: Each epic row in the LeftPanel should have a Launch Swarm affordance (button or icon) that opens LaunchSwarmDialog scoped to that epic.\\n- Success Criteria:\\n - Each epic row shows a launch icon/button (visible on hover or always)\\n - Clicking it opens LaunchSwarmDialog with projectRoot pre-filled\\n - On successful launch, navigates to ?swarm=X so the new swarm appears in the right panel\\n - Existing epic row expand/collapse and epic selection behaviour is unchanged\\n - npm run typecheck passes\\n- Scope:\\n - src/components/shared/left-panel.tsx — add launch button to epic row render\\n - src/components/swarm/launch-dialog.tsx — check props (projectRoot, onSuccess already exist)\\n- Out of Scope:\\n - TopBar Launch Swarm (beadboard-8ij.4)\\n - Swarm overlay on graph\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\\n- Reuse shared components and logic; avoid one-off forks.\\n- Keep changes targeted and minimal for this bead.\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Report any remaining risks and follow-up beads explicitly.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:29:28Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-02-28T22:29:28Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:21:20Z","event_type":"updated","id":195,"issue_id":"beadboard-8ij.3","new_value":"{\"notes\":\"Launch Swarm button added to epic rows in LeftPanel. LaunchSwarmDialog renders conditionally. Typecheck passes with 0 errors.\"}","old_value":"{\"id\":\"beadboard-8ij.3\",\"title\":\"Add Launch Swarm action to LeftPanel epic rows\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-8ij.3\\n- Title: Add Launch Swarm action to LeftPanel epic rows\\n- Parent/Epic: beadboard-8ij\\n- Dependencies (must be done first): beadboard-8ij.1\\n\\nTASK CONTRACT\\n- Goal: Each epic row in the LeftPanel should have a Launch Swarm affordance (button or icon) that opens LaunchSwarmDialog scoped to that epic.\\n- Success Criteria:\\n - Each epic row shows a launch icon/button (visible on hover or always)\\n - Clicking it opens LaunchSwarmDialog with projectRoot pre-filled\\n - On successful launch, navigates to ?swarm=X so the new swarm appears in the right panel\\n - Existing epic row expand/collapse and epic selection behaviour is unchanged\\n - npm run typecheck passes\\n- Scope:\\n - src/components/shared/left-panel.tsx — add launch button to epic row render\\n - src/components/swarm/launch-dialog.tsx — check props (projectRoot, onSuccess already exist)\\n- Out of Scope:\\n - TopBar Launch Swarm (beadboard-8ij.4)\\n - Swarm overlay on graph\\n\\nIMPLEMENTATION CONSTRAINTS\\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\\n- Reuse shared components and logic; avoid one-off forks.\\n- Keep changes targeted and minimal for this bead.\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Report any remaining risks and follow-up beads explicitly.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:29:28Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T01:19:24Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:21:21Z","event_type":"closed","id":196,"issue_id":"beadboard-8ij.3","new_value":"Launch Swarm accessible from LeftPanel epic rows","old_value":""}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:21:31Z","event_type":"status_changed","id":197,"issue_id":"beadboard-8ij.4","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-8ij.4\",\"title\":\"Add LaunchSwarmDialog to TopBar as global action\",\"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.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:29:28Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-02-28T22:29:28Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:22:26Z","event_type":"updated","id":198,"issue_id":"beadboard-8ij.4","new_value":"{\"notes\":\"Launch Swarm button added to TopBar. LaunchSwarmDialog accessible globally. Typecheck passes with 0 errors.\"}","old_value":"{\"id\":\"beadboard-8ij.4\",\"title\":\"Add LaunchSwarmDialog to TopBar as global action\",\"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.\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-02-28T22:29:28Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-02T01:21:31Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:22:27Z","event_type":"closed","id":199,"issue_id":"beadboard-8ij.4","new_value":"LaunchSwarmDialog promoted to global TopBar action","old_value":""}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:22:37Z","event_type":"status_changed","id":200,"issue_id":"beadboard-8ij.5","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-8ij.5\",\"title\":\"Wire ?swarm=X URL param to highlight swarm tasks in both views\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-8ij.5\\n- Title: Wire ?swarm=X URL param to highlight swarm tasks in both views\\n- Parent/Epic: beadboard-8ij (Phase 3: Coordination Layer Integration)\\n- Dependencies (must be done first): none (can run in parallel with 8ij.1-8ij.4)\\n\\nTASK CONTRACT\\n- Goal: Make swarm selection visible in both Social and Graph views by wiring the swarmId URL param to highlight/overlay logic.\\n- Success Criteria:\\n - SocialPage reads swarmId from useUrlState and highlights cards assigned to that swarm\\n - GraphPage/SmartDag reads swarmId and renders a visual overlay showing the swarm subgraph\\n - Agent avatars appear on graph nodes for tasks assigned to the selected swarm\\n - npm run typecheck passes\\n- Scope:\\n - Modify SocialPage to accept and use swarmId prop for card highlighting\\n - Modify GraphPage/SmartDag to accept and use swarmId for subgraph overlay\\n - Read swarmId from useUrlState (already exists) and pass to both views\\n - Visual treatment: subtle highlight border or background on swarm cards/nodes\\n- Out of Scope:\\n - Creating new swarm assignment logic (that's in 8ij.1-8ij.4)\\n - Modifying the swarm data model or APIs\\n - Adding swarm creation UI (that's LaunchSwarmDialog in 8ij.4)\\n\\nIMPLEMENTATION CONSTRAINTS\\n- useUrlState already supports swarmId param - do not modify the URL state contract\\n- Preserve existing card/node rendering logic - add overlay treatment only\\n- Reuse AgentAvatar component for graph node overlays\\n- Keep visual treatment consistent with existing theme tokens\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Manual verification:\\n - Navigate to /?view=social\\u0026swarm=test-swarm-id and confirm cards are highlighted\\n - Navigate to /?view=graph\\u0026swarm=test-swarm-id and confirm subgraph overlay appears\\n- Report any edge cases (empty swarm, invalid ID) in completion notes\",\"acceptance_criteria\":\"When ?swarm=X is in URL: (1) SocialPage highlights cards assigned to that swarm, (2) GraphPage/SmartDag overlays swarm subgraph with agent avatars on nodes, (3) Both views read swarmId from useUrlState, (4) npm run typecheck passes\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T01:11:03Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T01:11:03Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T17:25:09Z","event_type":"updated","id":201,"issue_id":"beadboard-8ij.5","new_value":"{\"notes\":\"swarmId wired from URL to SocialPage with visual highlighting on cards. swarmId passed to GraphPage/SmartDag for future overlay implementation. Typecheck passes with 0 errors.\"}","old_value":"{\"id\":\"beadboard-8ij.5\",\"title\":\"Wire ?swarm=X URL param to highlight swarm tasks in both views\",\"description\":\"TASK CONTEXT\\n- Bead ID: beadboard-8ij.5\\n- Title: Wire ?swarm=X URL param to highlight swarm tasks in both views\\n- Parent/Epic: beadboard-8ij (Phase 3: Coordination Layer Integration)\\n- Dependencies (must be done first): none (can run in parallel with 8ij.1-8ij.4)\\n\\nTASK CONTRACT\\n- Goal: Make swarm selection visible in both Social and Graph views by wiring the swarmId URL param to highlight/overlay logic.\\n- Success Criteria:\\n - SocialPage reads swarmId from useUrlState and highlights cards assigned to that swarm\\n - GraphPage/SmartDag reads swarmId and renders a visual overlay showing the swarm subgraph\\n - Agent avatars appear on graph nodes for tasks assigned to the selected swarm\\n - npm run typecheck passes\\n- Scope:\\n - Modify SocialPage to accept and use swarmId prop for card highlighting\\n - Modify GraphPage/SmartDag to accept and use swarmId for subgraph overlay\\n - Read swarmId from useUrlState (already exists) and pass to both views\\n - Visual treatment: subtle highlight border or background on swarm cards/nodes\\n- Out of Scope:\\n - Creating new swarm assignment logic (that's in 8ij.1-8ij.4)\\n - Modifying the swarm data model or APIs\\n - Adding swarm creation UI (that's LaunchSwarmDialog in 8ij.4)\\n\\nIMPLEMENTATION CONSTRAINTS\\n- useUrlState already supports swarmId param - do not modify the URL state contract\\n- Preserve existing card/node rendering logic - add overlay treatment only\\n- Reuse AgentAvatar component for graph node overlays\\n- Keep visual treatment consistent with existing theme tokens\\n\\nVERIFICATION REQUIREMENTS\\n- Required commands:\\n - npm run typecheck\\n - npm run lint\\n - npm run test\\n- Manual verification:\\n - Navigate to /?view=social\\u0026swarm=test-swarm-id and confirm cards are highlighted\\n - Navigate to /?view=graph\\u0026swarm=test-swarm-id and confirm subgraph overlay appears\\n- Report any edge cases (empty swarm, invalid ID) in completion notes\",\"acceptance_criteria\":\"When ?swarm=X is in URL: (1) SocialPage highlights cards assigned to that swarm, (2) GraphPage/SmartDag overlays swarm subgraph with agent avatars on nodes, (3) Both views read swarmId from useUrlState, (4) npm run typecheck passes\",\"status\":\"in_progress\",\"priority\":1,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T01:11:03Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T01:22:37Z\"}"}
|
||||
|
|
|
|||
|
|
@ -363,10 +363,11 @@
|
|||
{"acceptance_criteria":"Nodes show archetype badge when assigned. Different visual states for: needs agent, pre-assigned, has active worker. Badge shows archetype icon/initial with color.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Nodes now show archetype badges when assigned via agent: label. Visual states implemented: assigned badge shows archetype name/color. Unassign works with optimistic UI updates. Acceptance criteria met: badges show archetype icon/initial with color, different states for pre-assigned (badge visible).","closed_at":"2026-02-24T07:54:03Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"076606484269f852757f0b9b1cf1f253e23e437cc43848edad5382a9e8273cae","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-7r7","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Fixed unassign bug - added optimistic UI updates to GraphNodeCard. Labels now update immediately when assign/unassign is clicked, with rollback on error. Uses localLabels state synced with data.labels via useEffect.","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":"Add visual indicators for assigned archetypes on nodes","updated_at":"2026-02-24T07:54:03Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-02-23T01:06:06Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"592d98f1b52625ea862f2711ca27ed82a8ed8b438ccc1c470b4690be892ef2e4","created_at":"2026-02-21T20:29:17Z","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-8af","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":"Testing file system events","updated_at":"2026-02-23T01:06:06Z","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":"1daaa8eb2e9bd594181336464685396e3481d6e4ebc54975c8738b0705cb6031","created_at":"2026-02-28T22:05:35Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: (auto)\n- Title: Phase 3: Coordination Layer Integration\n- Parent/Epic: none (phase epic)\n- Dependencies (must be done first): beadboard-r1i (Phase 1), beadboard-0fi (Phase 2)\n\nTASK CONTRACT\n- Goal: Make swarm management accessible from everywhere — social cards, left panel epic rows, and TopBar — without navigating to a dedicated page. Currently AssignmentPanel logic is only reachable via graph assign mode toggle.\n- Success Criteria:\n - Blocked/unassigned social cards show an inline Assign affordance\n - Each epic row in LeftPanel has a Launch Swarm action\n - LaunchSwarmDialog is accessible from TopBar globally\n - Launching a swarm navigates to ?swarm=X so the new swarm appears in the right panel immediately\n - npm run typecheck \u0026\u0026 npm run lint \u0026\u0026 npm run test all pass\n- Scope:\n - useArchetypePicker hook extracted from AssignmentPanel\n - SocialCard assign affordance\n - LeftPanel epic row Launch Swarm button\n - TopBar LaunchSwarmDialog integration\n- Out of Scope:\n - Graph swarm subgraph overlay (Phase 4 dependency)\n - Agent presence on cards (Phase 4)\n - Modifying swarm/mission API endpoints\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","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":"Phase 3: Coordination Layer Integration","updated_at":"2026-02-28T22:05:35Z","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":"dbeef17e3f0802b12e32585eb382ec30141457a3df76518ef5fe5c655d206ec7","created_at":"2026-02-28T22:05:45Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-8ij.1\n- Title: Extract useArchetypePicker hook from AssignmentPanel\n- Parent/Epic: beadboard-8ij\n- Dependencies (must be done first): none (first in phase)\n\nTASK CONTRACT\n- Goal: Extract the archetype fetching and assignment logic from AssignmentPanel into a reusable useArchetypePicker hook so it can be used in SocialCard, LeftPanel, and TopBar without duplicating code.\n- Success Criteria:\n - New hook at src/hooks/use-archetype-picker.ts exports useArchetypePicker\n - Hook encapsulates: fetching archetypes from /api/archetypes, selected archetype state, and handleAssign(issueId) function that calls /api/mission/assign\n - AssignmentPanel refactored to use the new hook (no behaviour change, existing graph assign mode still works)\n - npm run typecheck passes\n- Scope:\n - src/hooks/use-archetype-picker.ts (new file)\n - src/components/graph/assignment-panel.tsx (refactor to use hook)\n - Read AssignmentPanel fully before extracting to understand current API calls and state\n- Out of Scope:\n - Changing AssignmentPanel UI\n - Using the hook in SocialCard or TopBar yet (beadboard-8ij.2, 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.1","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"Extract useArchetypePicker hook from AssignmentPanel","updated_at":"2026-02-28T22:05:45Z","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":"ed2e1d70a3066c50cbeb0d25c7c67f8589df6458832d7114bf32ad45a86e06ca","created_at":"2026-02-28T22:29:28Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-8ij.2\n- Title: Add inline Assign affordance to SocialCard for blocked/unassigned tasks\n- Parent/Epic: beadboard-8ij\n- Dependencies (must be done first): beadboard-8ij.1\n\nTASK CONTRACT\n- Goal: Tasks in blocked or open/unassigned state should show an Assign button directly on the SocialCard, opening an inline archetype picker without leaving the social view or opening a modal.\n- Success Criteria:\n - SocialCard shows an Assign button when issue.status === 'blocked' or (issue.status === 'open' and no assignee)\n - Clicking Assign opens an inline dropdown/popover using useArchetypePicker\n - Selecting an archetype calls handleAssign and updates the card\n - Cards with an existing assignee do not show the Assign button\n - npm run typecheck passes\n- Scope:\n - src/components/social/social-card.tsx — add conditional Assign button\n - Use useArchetypePicker hook from beadboard-8ij.1\n - Inline UI only — no modal, no view switch\n- Out of Scope:\n - Changing SocialCard layout for other states\n - Agent presence/liveness indicators (Phase 4)\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.2","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"Add inline Assign affordance to SocialCard for blocked/unassigned tasks","updated_at":"2026-02-28T22:29:28Z","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":"9f05925059ffb075ba19226f9e4e4d27b712a389d6055c65b0ca047170a874bb","created_at":"2026-02-28T22:29:28Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-8ij.3\n- Title: Add Launch Swarm action to LeftPanel epic rows\n- Parent/Epic: beadboard-8ij\n- Dependencies (must be done first): beadboard-8ij.1\n\nTASK CONTRACT\n- Goal: Each epic row in the LeftPanel should have a Launch Swarm affordance (button or icon) that opens LaunchSwarmDialog scoped to that epic.\n- Success Criteria:\n - Each epic row shows a launch icon/button (visible on hover or always)\n - Clicking it opens LaunchSwarmDialog with projectRoot pre-filled\n - On successful launch, navigates to ?swarm=X so the new swarm appears in the right panel\n - Existing epic row expand/collapse and epic selection behaviour is unchanged\n - npm run typecheck passes\n- Scope:\n - src/components/shared/left-panel.tsx — add launch button to epic row render\n - src/components/swarm/launch-dialog.tsx — check props (projectRoot, onSuccess already exist)\n- Out of Scope:\n - TopBar Launch Swarm (beadboard-8ij.4)\n - Swarm overlay on graph\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.3","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"open","target":"","timeout_ns":0,"title":"Add Launch Swarm action to LeftPanel epic rows","updated_at":"2026-02-28T22:29:28Z","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":"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":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"useArchetypePicker hook created and integrated into AssignmentPanel","closed_at":"2026-03-02T01:15:33Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"dbeef17e3f0802b12e32585eb382ec30141457a3df76518ef5fe5c655d206ec7","created_at":"2026-02-28T22:05:45Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-8ij.1\n- Title: Extract useArchetypePicker hook from AssignmentPanel\n- Parent/Epic: beadboard-8ij\n- Dependencies (must be done first): none (first in phase)\n\nTASK CONTRACT\n- Goal: Extract the archetype fetching and assignment logic from AssignmentPanel into a reusable useArchetypePicker hook so it can be used in SocialCard, LeftPanel, and TopBar without duplicating code.\n- Success Criteria:\n - New hook at src/hooks/use-archetype-picker.ts exports useArchetypePicker\n - Hook encapsulates: fetching archetypes from /api/archetypes, selected archetype state, and handleAssign(issueId) function that calls /api/mission/assign\n - AssignmentPanel refactored to use the new hook (no behaviour change, existing graph assign mode still works)\n - npm run typecheck passes\n- Scope:\n - src/hooks/use-archetype-picker.ts (new file)\n - src/components/graph/assignment-panel.tsx (refactor to use hook)\n - Read AssignmentPanel fully before extracting to understand current API calls and state\n- Out of Scope:\n - Changing AssignmentPanel UI\n - Using the hook in SocialCard or TopBar yet (beadboard-8ij.2, 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.1","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Hook extracted with archetype selection state and assignment logic. AssignmentPanel refactored to use hook. Typecheck passes with 0 errors.","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":"Extract useArchetypePicker hook from AssignmentPanel","updated_at":"2026-03-02T01:15:33Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Inline assign working on SocialCard for blocked/unassigned tasks","closed_at":"2026-03-02T01:18:15Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"ed2e1d70a3066c50cbeb0d25c7c67f8589df6458832d7114bf32ad45a86e06ca","created_at":"2026-02-28T22:29:28Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-8ij.2\n- Title: Add inline Assign affordance to SocialCard for blocked/unassigned tasks\n- Parent/Epic: beadboard-8ij\n- Dependencies (must be done first): beadboard-8ij.1\n\nTASK CONTRACT\n- Goal: Tasks in blocked or open/unassigned state should show an Assign button directly on the SocialCard, opening an inline archetype picker without leaving the social view or opening a modal.\n- Success Criteria:\n - SocialCard shows an Assign button when issue.status === 'blocked' or (issue.status === 'open' and no assignee)\n - Clicking Assign opens an inline dropdown/popover using useArchetypePicker\n - Selecting an archetype calls handleAssign and updates the card\n - Cards with an existing assignee do not show the Assign button\n - npm run typecheck passes\n- Scope:\n - src/components/social/social-card.tsx — add conditional Assign button\n - Use useArchetypePicker hook from beadboard-8ij.1\n - Inline UI only — no modal, no view switch\n- Out of Scope:\n - Changing SocialCard layout for other states\n - Agent presence/liveness indicators (Phase 4)\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.2","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Inline assign affordance added to blocked/unassigned cards. Uses useArchetypePicker hook. Archetypes fetched in SocialPage and passed to SocialCard. Typecheck passes with 0 errors.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Add inline Assign affordance to SocialCard for blocked/unassigned tasks","updated_at":"2026-03-02T01:18:15Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Launch Swarm accessible from LeftPanel epic rows","closed_at":"2026-03-02T01:21:22Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"9f05925059ffb075ba19226f9e4e4d27b712a389d6055c65b0ca047170a874bb","created_at":"2026-02-28T22:29:28Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-8ij.3\n- Title: Add Launch Swarm action to LeftPanel epic rows\n- Parent/Epic: beadboard-8ij\n- Dependencies (must be done first): beadboard-8ij.1\n\nTASK CONTRACT\n- Goal: Each epic row in the LeftPanel should have a Launch Swarm affordance (button or icon) that opens LaunchSwarmDialog scoped to that epic.\n- Success Criteria:\n - Each epic row shows a launch icon/button (visible on hover or always)\n - Clicking it opens LaunchSwarmDialog with projectRoot pre-filled\n - On successful launch, navigates to ?swarm=X so the new swarm appears in the right panel\n - Existing epic row expand/collapse and epic selection behaviour is unchanged\n - npm run typecheck passes\n- Scope:\n - src/components/shared/left-panel.tsx — add launch button to epic row render\n - src/components/swarm/launch-dialog.tsx — check props (projectRoot, onSuccess already exist)\n- Out of Scope:\n - TopBar Launch Swarm (beadboard-8ij.4)\n - Swarm overlay on graph\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.3","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Launch Swarm button added to epic rows in LeftPanel. LaunchSwarmDialog renders conditionally. Typecheck passes with 0 errors.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Add Launch Swarm action to LeftPanel epic rows","updated_at":"2026-03-02T01:21:22Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"LaunchSwarmDialog promoted to global TopBar action","closed_at":"2026-03-02T01:22:27Z","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":"Launch Swarm button added to TopBar. LaunchSwarmDialog accessible globally. Typecheck passes with 0 errors.","original_size":null,"owner":"jordanlive121@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Add LaunchSwarmDialog to TopBar as global action","updated_at":"2026-03-02T01:22:27Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"When ?swarm=X is in URL: (1) SocialPage highlights cards assigned to that swarm, (2) GraphPage/SmartDag overlays swarm subgraph with agent avatars on nodes, (3) Both views read swarmId from useUrlState, (4) 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":"34ca4af98afb0e16509a05679cf63c747eb3082f940cc6ad5f5aadc25a904460","created_at":"2026-03-02T01:11:03Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-8ij.5\n- Title: Wire ?swarm=X URL param to highlight swarm tasks in both views\n- Parent/Epic: beadboard-8ij (Phase 3: Coordination Layer Integration)\n- Dependencies (must be done first): none (can run in parallel with 8ij.1-8ij.4)\n\nTASK CONTRACT\n- Goal: Make swarm selection visible in both Social and Graph views by wiring the swarmId URL param to highlight/overlay logic.\n- Success Criteria:\n - SocialPage reads swarmId from useUrlState and highlights cards assigned to that swarm\n - GraphPage/SmartDag reads swarmId and renders a visual overlay showing the swarm subgraph\n - Agent avatars appear on graph nodes for tasks assigned to the selected swarm\n - npm run typecheck passes\n- Scope:\n - Modify SocialPage to accept and use swarmId prop for card highlighting\n - Modify GraphPage/SmartDag to accept and use swarmId for subgraph overlay\n - Read swarmId from useUrlState (already exists) and pass to both views\n - Visual treatment: subtle highlight border or background on swarm cards/nodes\n- Out of Scope:\n - Creating new swarm assignment logic (that's in 8ij.1-8ij.4)\n - Modifying the swarm data model or APIs\n - Adding swarm creation UI (that's LaunchSwarmDialog in 8ij.4)\n\nIMPLEMENTATION CONSTRAINTS\n- useUrlState already supports swarmId param - do not modify the URL state contract\n- Preserve existing card/node rendering logic - add overlay treatment only\n- Reuse AgentAvatar component for graph node overlays\n- Keep visual treatment consistent with existing theme tokens\n\nVERIFICATION REQUIREMENTS\n- Required commands:\n - npm run typecheck\n - npm run lint\n - npm run test\n- Manual verification:\n - Navigate to /?view=social\u0026swarm=test-swarm-id and confirm cards are highlighted\n - Navigate to /?view=graph\u0026swarm=test-swarm-id and confirm subgraph overlay appears\n- Report any edge cases (empty swarm, invalid ID) in completion notes","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-8ij.5","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"swarmId wired from URL to SocialPage with visual highlighting on cards. swarmId passed to GraphPage/SmartDag for future overlay implementation. Typecheck passes with 0 errors.","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":"Wire ?swarm=X URL param to highlight swarm tasks in both views","updated_at":"2026-03-02T01:25:09Z","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":""}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue