bd: backup 2026-03-02 21:14
This commit is contained in:
parent
35b4089620
commit
368494b40e
4 changed files with 14 additions and 5 deletions
|
|
@ -1,13 +1,13 @@
|
|||
{
|
||||
"last_dolt_commit": "dqt82ukodi99qlgo1oaia0l2bem67kgo",
|
||||
"last_dolt_commit": "nft9oat9soaqj2lju2vni9gshhh7rajq",
|
||||
"last_event_id": 0,
|
||||
"timestamp": "2026-03-02T06:59:01.7459907Z",
|
||||
"timestamp": "2026-03-02T21:14:49.559111373Z",
|
||||
"counts": {
|
||||
"issues": 480,
|
||||
"events": 480,
|
||||
"issues": 481,
|
||||
"events": 486,
|
||||
"comments": 12,
|
||||
"dependencies": 648,
|
||||
"labels": 754,
|
||||
"labels": 756,
|
||||
"config": 14
|
||||
}
|
||||
}
|
||||
|
|
@ -478,3 +478,9 @@
|
|||
{"actor":"zenchantlive","comment":"Added label: memory","created_at":"2026-03-01T22:55:56Z","event_type":"label_added","id":482,"issue_id":"beadboard-dc0","new_value":null,"old_value":null}
|
||||
{"actor":"zenchantlive","comment":"Added label: memory-arch","created_at":"2026-03-01T22:55:56Z","event_type":"label_added","id":483,"issue_id":"beadboard-dc0","new_value":null,"old_value":null}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T22:56:47Z","event_type":"updated","id":484,"issue_id":"beadboard-6iq","new_value":"{\"notes\":\"Memory review: no new reusable memory.\"}","old_value":"{\"id\":\"beadboard-6iq\",\"title\":\"[MEMORY][UI][HARD] Extract human-readable names from raw data fields\",\"description\":\"Scope: Any place that displays agent/user names from bead data\\\\nOut of Scope: Displaying raw IDs in debug/metadata views\\\\nRule: Never use bead.assignee directly for display - it contains the bead ID (e.g., beadboard-xyz), not the agent name. Always extract via: 1) title matching \\\"Agent: \\u003cname\\u003e\\\" pattern, 2) labels with \\\"agent:\\\" prefix, 3) fallback to raw value only if extraction fails.\\\\nRationale: Raw data fields often contain system identifiers, not human-readable content. Extract before display.\\\\nFailure Mode: Agent avatars show bead IDs like \\\"beadboard-abc\\\" instead of actual names.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"decision\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T05:40:48Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T05:40:48Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T23:05:48Z","event_type":"created","id":485,"issue_id":"beadboard-tmj","new_value":"","old_value":""}
|
||||
{"actor":"zenchantlive","comment":"Added label: bug","created_at":"2026-03-01T23:05:48Z","event_type":"label_added","id":486,"issue_id":"beadboard-tmj","new_value":null,"old_value":null}
|
||||
{"actor":"zenchantlive","comment":"Added label: frontend","created_at":"2026-03-01T23:05:48Z","event_type":"label_added","id":487,"issue_id":"beadboard-tmj","new_value":null,"old_value":null}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T23:06:14Z","event_type":"status_changed","id":488,"issue_id":"beadboard-tmj","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"beadboard-tmj\",\"title\":\"[BUG] Epics with no children hidden by hideClosed filter\",\"description\":\"## Context\\nEpics with zero child tasks are hidden in the left panel when hideClosed=true (the default).\\n\\n## Root Cause\\nLine 327 in left-panel.tsx:\\n\\n\\nThis hides ANY epic with matchedChildren=0 when filters are active. Since hideClosed defaults to true, this hides ALL epics that have no children (which is ALL epics currently since none have parent-child deps).\\n\\n## Fix\\nChange condition to only hide if the epic HAS children but they're all filtered out:\\n\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"bug\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T07:05:48Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T07:05:48Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T23:10:47Z","event_type":"updated","id":489,"issue_id":"beadboard-tmj","new_value":"{\"notes\":\"Fixed two issues in left-panel.tsx:\\n1. Line 73: Filter out memory-anchor and brainstorm epics from epic list\\n2. Line 327: Added check to hide closed/tombstone epics when hideClosed=true\\n\\nBefore: ALL epics were hidden because:\\n- hideClosed defaults to true\\n- No code checked epic status, only matchedChildren\\n- All 0-child epics were hidden\\n\\nAfter:\\n- Memory anchors (memory-anchor label) filtered out\\n- Brainstorm epics (brainstorm label) filtered out \\n- Closed/tombstone epics hidden when hideClosed=true\\n- Epics with children only hidden when all children filtered\\n\\nVerification: npm run typecheck PASS, npm run lint PASS (warnings only), npm run test PASS (2 pre-existing failures)\"}","old_value":"{\"id\":\"beadboard-tmj\",\"title\":\"[BUG] Epics with no children hidden by hideClosed filter\",\"description\":\"## Context\\nEpics with zero child tasks are hidden in the left panel when hideClosed=true (the default).\\n\\n## Root Cause\\nLine 327 in left-panel.tsx:\\n\\n\\nThis hides ANY epic with matchedChildren=0 when filters are active. Since hideClosed defaults to true, this hides ALL epics that have no children (which is ALL epics currently since none have parent-child deps).\\n\\n## Fix\\nChange condition to only hide if the epic HAS children but they're all filtered out:\\n\",\"status\":\"in_progress\",\"priority\":0,\"issue_type\":\"bug\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-02T07:05:48Z\",\"created_by\":\"zenchantlive\",\"updated_at\":\"2026-03-02T07:06:14Z\"}"}
|
||||
{"actor":"zenchantlive","comment":null,"created_at":"2026-03-01T23:10:54Z","event_type":"closed","id":490,"issue_id":"beadboard-tmj","new_value":"Fixed: filtered memory-anchor and brainstorm epics, added hideClosed check for epic status","old_value":""}
|
||||
|
|
|
|||
|
|
@ -459,6 +459,7 @@
|
|||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"SwarmId branch added via SwarmIdBranch inner component (hooks-safe): MissionInspector renders with useSwarmList for title lookup. assignedAgents wired to swarm.agents (TODO: populate from agent-registry). No new typecheck errors.","closed_at":"2026-02-28T22:57:02Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"0df7a8334f864d76d49b9a9cee494425371e6487079465a3019470ff277007ca","created_at":"2026-02-28T21:54:08Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: beadboard-r1i.3\n- Title: Implement swarm branch in ContextualRightPanel (?swarm=X)\n- Parent/Epic: beadboard-r1i\n- Dependencies: beadboard-r1i.1 (swarmId prop must exist on ContextualRightPanel)\n\nTASK CONTRACT\n- Goal: When a swarm is selected (swarmId is set), the right panel shows MissionInspector with that swarm's topology, agent roster, and mission status.\n- Success Criteria:\n - Navigating to ?swarm=X renders MissionInspector in the right panel\n - MissionInspector receives correct missionId, missionTitle, projectRoot, assignedAgents\n - Existing epicId and task branches are unaffected\n - npm run typecheck passes\n- Scope:\n - src/components/activity/contextual-right-panel.tsx — add swarmId branch\n - MissionInspector at src/components/mission/mission-inspector.tsx (props: missionId, missionTitle, projectRoot, assignedAgents, onClose, onAssign)\n - Resolve assignedAgents: check useSwarmList hook or /api/agents — use whatever UnifiedShell already has available\n - onClose: clear swarmId from URL state; onAssign: call /api/mission/assign\n- Out of Scope:\n - Building a new swarm inspector UI — MissionInspector already exists\n - Graph swarm overlay highlighting (Phase 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-r1i.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":"Implement swarm branch in ContextualRightPanel (?swarm=X)","updated_at":"2026-02-28T22:57:02Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Session ended","closed_at":"2026-03-02T06:35:25Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"f3fd2e66f7e34039954ee1a1697e3af1d6a040797dc882261600a87e477a772f","created_at":"2026-03-02T03:38:27Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"Main Claude Code session acting as orchestrator for Phase 4 (beadboard-x3l) and related epics. Responsible for planning, dispatching parallel agents, and integration verification.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-rnk","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":"Agent: claude-orchestrator","updated_at":"2026-03-02T06:35:25Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"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":"d17805f0481b485f2e4b35b96ad1ad0633bc21989a9db4622fb7270e3945aefd","created_at":"2026-02-28T20:59:48Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"The views array in LeftPanel and the tabs array in MobileNav both only have Social and Graph. Activity is a valid view but unreachable from navigation.\n\nFile 1: src/components/shared/left-panel.tsx\nLocation: views array (~line 188)\nChange:\n const views: Array\u003c{ id: ViewType; label: string }\u003e = [\n { id: 'social', label: 'Social' },\n { id: 'graph', label: 'Graph' },\n { id: 'activity', label: 'Activity' }, // add this\n ];\n\nFile 2: src/components/shared/mobile-nav.tsx\nLocation: tabs array (~line 6)\nChange: Add Activity tab and replace Unicode glyphs with Lucide icons:\n import { LayoutList, Share2, Activity } from 'lucide-react';\n const 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 ];\nAlso add aria-label={tab.label} to each tab button, and update render to use {tab.icon} JSX (not string).\n\nCheck mobile-nav.tsx current icon rendering before changing - confirm the tab type and render pattern.\n\nAcceptance: Left panel and mobile nav both show three tabs (Social, Graph, Activity). Mobile nav 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-t83","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.3: Add Activity tab to LeftPanel and MobileNav","updated_at":"2026-02-28T21:02:57Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Fixed: filtered memory-anchor and brainstorm epics, added hideClosed check for epic status","closed_at":"2026-03-02T07:10:54Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"7d6965a299fa1a0f55665eb1203e1a1385b3f1b453676d145b50722be65c8c85","created_at":"2026-03-02T07:05:48Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"## Context\nEpics with zero child tasks are hidden in the left panel when hideClosed=true (the default).\n\n## Root Cause\nLine 327 in left-panel.tsx:\n\n\nThis hides ANY epic with matchedChildren=0 when filters are active. Since hideClosed defaults to true, this hides ALL epics that have no children (which is ALL epics currently since none have parent-child deps).\n\n## Fix\nChange condition to only hide if the epic HAS children but they're all filtered out:\n","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-tmj","is_template":0,"issue_type":"bug","last_activity":null,"metadata":"{}","mol_type":"","notes":"Fixed two issues in left-panel.tsx:\n1. Line 73: Filter out memory-anchor and brainstorm epics from epic list\n2. Line 327: Added check to hide closed/tombstone epics when hideClosed=true\n\nBefore: ALL epics were hidden because:\n- hideClosed defaults to true\n- No code checked epic status, only matchedChildren\n- All 0-child epics were hidden\n\nAfter:\n- Memory anchors (memory-anchor label) filtered out\n- Brainstorm epics (brainstorm label) filtered out \n- Closed/tombstone epics hidden when hideClosed=true\n- Epics with children only hidden when all children filtered\n\nVerification: npm run typecheck PASS, npm run lint PASS (warnings only), npm run test PASS (2 pre-existing failures)","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":"[BUG] Epics with no children hidden by hideClosed filter","updated_at":"2026-03-02T07:10:54Z","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":"3763e0c47b3c3d6a4bd7e3ac46608778454e56437df140bdd9d09185198cd7d0","created_at":"2026-02-24T01:36:39Z","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-uui","is_template":0,"issue_type":"epic","last_activity":null,"metadata":"{}","mol_type":"","notes":"## 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\n- Assign mode (toggled): DAG highlights ready nodes, right panel shows assignment controls\n\n## Problem\nBeadBoard has two views (`?view=graph` and `?view=swarm`) that both render the same `WorkflowGraph` DAG component, creating duplication. The standalone `/graph` page (`DependencyGraphPage`) has rich dependency analysis features (hop depth, focus workspace, cycle detection, flow strip) that are stranded -- the shell's `?view=graph` is a bare 49-line wrapper (`SmartDag`) with none of them.\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 implementation steps completed\n- npm run typecheck, lint, 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\n\n## Out of Scope\n- Backend API changes (use existing /api/swarm/prep)\n- New archetypes/templates features\n- Mobile-specific layouts\n\n## Reference\nPRD: docs/prd/unified-graph-view.md","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":"Unify Graph + Swarm into Single Enhanced Graph View","updated_at":"2026-02-24T01:40:52Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Cleaning up test bead","closed_at":"2026-02-21T21:16:00Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"f09f1a0a8263bb776250a97189934101bb7629cc7ef72bab18cf0b8ce5bfbeef","created_at":"2026-02-21T20:59:15Z","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-uuo","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":"SSE Test Bead","updated_at":"2026-02-21T21:16:00Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":"beadboard-rnk","await_id":"","await_type":"","close_reason":"Phase 4 Agent Presence complete. livenessMap lifted to UnifiedShell; agent avatars on SocialCard + graph nodes with liveness animation; LeftPanel footer shows live workspace stats. Typecheck clean, lint clean, 29/31 tests pass (2 pre-existing url-state failures).","closed_at":"2026-03-02T03:44:45Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"ed3b011f4a9bc3317203143aef02596ffb9c244366af3425122340b0fab4a7f0","created_at":"2026-02-28T22:29:51Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"TASK CONTEXT\n- Bead ID: (auto)\n- Title: Phase 4: Agent Presence\n- Parent/Epic: none (phase epic)\n- Dependencies (must be done first): beadboard-0fi (Phase 2 — actor identity in shell)\n\nTASK CONTRACT\n- Goal: Move livenessMap from the deprecated SessionsHeader up to UnifiedShell and surface live agent state on both Social cards and Graph nodes, so an operator can see which agents are active and what they are working on within 5 seconds of opening the app.\n- Success Criteria:\n - useSessionFeed called in UnifiedShell, livenessMap available at shell level\n - SocialCard shows agent avatar and liveness dot for the assigned agent\n - Graph nodes show agent avatar with pulse animation for stuck agents\n - LeftPanel footer replaced with live workspace stats (N agents active, M tasks in motion)\n - npm run typecheck \u0026\u0026 npm run lint \u0026\u0026 npm run test all pass\n- Scope:\n - UnifiedShell livenessMap lift (src/hooks/use-session-feed.ts already exists)\n - SocialCard agent presence UI\n - SmartDag/graph node agent presence UI\n - LeftPanel footer stats\n- Out of Scope:\n - Creating new API endpoints (liveness data already flows via SSE)\n - Agent detail right panel (covered in Phase 1)\n\nIMPLEMENTATION CONSTRAINTS\n- Preserve existing backend/API contracts unless explicitly stated otherwise.\n- Reuse shared components and logic; avoid one-off forks.\n- Keep changes targeted and minimal for this bead.\n\nVERIFICATION REQUIREMENTS\n- Required commands:\n - npm run typecheck\n - npm run lint\n - npm run test\n- Report any remaining risks and follow-up beads explicitly.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-x3l","is_template":0,"issue_type":"epic","last_activity":null,"metadata":"{}","mol_type":"","notes":"Orchestrator agent beadboard-rnk claimed this epic. x3l.1 closed, x3l.2/3/4 dispatched as parallel sub-agents.","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":"Phase 4: Agent Presence","updated_at":"2026-03-02T03:44:45Z","waiters":"","wisp_type":"","work_type":""}
|
||||
|
|
|
|||
|
|
@ -742,6 +742,8 @@
|
|||
{"issue_id":"beadboard-nq9","label":"memory-workflow"}
|
||||
{"issue_id":"beadboard-rnk","label":"gt:agent"}
|
||||
{"issue_id":"beadboard-rnk","label":"role:orchestrator"}
|
||||
{"issue_id":"beadboard-tmj","label":"bug"}
|
||||
{"issue_id":"beadboard-tmj","label":"frontend"}
|
||||
{"issue_id":"beadboard-x3l","label":"template:release"}
|
||||
{"issue_id":"beadboard-yad","label":"agent:coder"}
|
||||
{"issue_id":"beadboard-yz6","label":"memory"}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue