bd: backup 2026-03-01 21:48
This commit is contained in:
parent
f9cfad3a99
commit
cb83fd92a9
4 changed files with 7 additions and 5 deletions
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"last_dolt_commit": "p92tu4rfjo9bl4lc0b7hksdu56t7ent7",
|
||||
"last_dolt_commit": "h6m9dkntrvd8oj2dvvgqsl2o0b3d9m6u",
|
||||
"last_event_id": 0,
|
||||
"timestamp": "2026-03-01T20:55:22.67991462Z",
|
||||
"timestamp": "2026-03-01T21:48:57.892292062Z",
|
||||
"counts": {
|
||||
"issues": 417,
|
||||
"events": 71,
|
||||
"issues": 418,
|
||||
"events": 72,
|
||||
"comments": 0,
|
||||
"dependencies": 521,
|
||||
"labels": 606,
|
||||
|
|
|
|||
|
|
@ -9,6 +9,6 @@
|
|||
{"key":"compact_tier2_dep_levels","value":"5"}
|
||||
{"key":"compaction_enabled","value":"false"}
|
||||
{"key":"issue_prefix","value":"beadboard"}
|
||||
{"key":"schema_version","value":"4"}
|
||||
{"key":"schema_version","value":"6"}
|
||||
{"key":"sync.mode","value":"dolt-native"}
|
||||
{"key":"types.custom","value":"molecule"}
|
||||
|
|
|
|||
|
|
@ -69,3 +69,4 @@
|
|||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-02-28T17:26:47Z","event_type":"updated","id":69,"issue_id":"beadboard-550.4","new_value":"{\"notes\":\"testing SSE watcher trigger\"}","old_value":"{\"id\":\"beadboard-550.4\",\"title\":\"Verify watcher still fires on bd writes and document Dolt read path\",\"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\",\"status\":\"in_progress\",\"priority\":0,\"issue_type\":\"task\",\"owner\":\"jordanlive121@gmail.com\",\"created_at\":\"2026-03-01T00:59:47Z\",\"created_by\":\"ZenchantLive\",\"updated_at\":\"2026-03-01T01:25:52Z\"}"}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-02-28T17:33:53Z","event_type":"closed","id":70,"issue_id":"beadboard-550.4","new_value":"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.","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-02-28T17:33:53Z","event_type":"closed","id":71,"issue_id":"beadboard-550","new_value":"All 4 child tasks complete. BeadBoard now reads issues directly from Dolt SQL via mysql2. issues.jsonl kept as deprecated fallback. SSE realtime works. 146/146 tests pass.","old_value":""}
|
||||
{"actor":"ZenchantLive","comment":null,"created_at":"2026-03-01T13:48:57Z","event_type":"created","id":72,"issue_id":"beadboard-b3c","new_value":"","old_value":""}
|
||||
|
|
|
|||
|
|
@ -368,6 +368,7 @@
|
|||
{"acceptance_criteria":"Templates can be applied to epics. BeadIssue gets templateId field. Template picker applies template to selected epic. Assignment panel shows template roster when epic selected.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Implemented epic-level template assignment. BeadIssue now has templateId field. Assignment panel shows Epic Template section when epic selected, with team roster. Template picker applies template to epic. Fixed all test files with new field.","closed_at":"2026-02-26T18:11:04Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"be154ecd5cc535438c43a5ca89428bcafe9fb8c308a3d7023d891b8e53504ac8","created_at":"2026-02-26T17:57:14Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Scope: Add templateId to BeadIssue type, update template picker to apply to epics, show template info in assignment panel. Out of scope: AI auto-assignment logic, multi-agent execution.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-9ce","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Added templateId to BeadIssue type. Updated assignment-panel with epic template section. Template picker now applies template to selected epic. All typecheck, lint, and tests pass.","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":"Epic-Level Template Assignment","updated_at":"2026-02-26T18:11:04Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"When clicking Archetypes or Templates buttons, show a popup modal with list of existing items. User can select to use/edit or create new. Modal should have same styling as inspector modals.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Implemented popup modal pickers for Archetypes and Templates. Clicking the buttons now opens a modal with list of existing items, Select/Edit/Create options.","closed_at":"2026-02-26T17:47:58Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"e02327e0255e03eafc4ef4c3c4568a8f7282dd9340e74259ca40f743fb69e3dc","created_at":"2026-02-26T17:39:10Z","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-adr","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Created ArchetypePicker and TemplatePicker modal components. Updated assignment-panel.tsx to use picker modals instead of inline lists. Typecheck and lint pass.","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":"Archetype/Template Picker Modal","updated_at":"2026-02-26T17:47:58Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"6-8 built-in templates for common scenarios, each with optimized team composition, icons, colors, descriptions explaining when to use","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Created 9 intelligent preset templates for common development workflows with optimized team compositions.","closed_at":"2026-02-26T05:19:28Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"700f2faa8ddc32644cf35a934f7ba48230e1f7252261aa8b13b51c0368b43a64","created_at":"2026-02-26T05:13:43Z","created_by":"zenchantlive","crystallizes":0,"defer_until":null,"description":"Create intelligently constructed preset templates based on the 6 archetypes for common development workflows","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-agp","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Created 9 intelligent preset templates: Feature Development, Bug Fix Squad, Code Review, Greenfield Project, Release Team, Investigation Team, Refactoring Team, Full Development Squad, Standard Application. Each has optimized team composition, workflow formula, color, and icon.","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":"Intelligent Preset Templates","updated_at":"2026-02-26T05:19:28Z","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":"d8c24c8b5f11334061801afb3fd6818abbfbbd5af2ee20a1964aa6d3527e5987","created_at":"2026-03-01T21:48:57Z","created_by":"ZenchantLive","crystallizes":0,"defer_until":null,"description":"## What was done\n\n### Problem\nClicking the MessageSquare conversation icon on DAG nodes (WorkflowGraph / Dependencies tab) was not opening the ThreadDrawer in the right panel. The icon had been added but the panel never changed content.\n\n### Root cause analysis\n1. **Priority inversion in ContextualRightPanel**: The panel checked `epicId` BEFORE `taskId`. When the user had filtered the graph by an epic (setting `epicId` in URL), clicking the conversation icon would set `taskId` but `epicId` remained set — so SwarmCommandFeed rendered instead of ThreadDrawer.\n2. **epicId not cleared on epic selection**: `setEpicId` did not clear `task` from the URL, so old taskId persisted across epic selections.\n3. **Stale onSelect in flowModel**: WorkflowGraph's `flowModel` useMemo did not include `onSelect` in its dependency array, risking stale conversation callbacks.\n\n### Fixes applied\n\n**src/components/activity/contextual-right-panel.tsx**\n- Reordered branches: `if (taskId)` now comes before `if (epicId)`\n- Task conversation always takes priority over epic feed when a task is explicitly selected\n\n**src/hooks/use-url-state.ts**\n- `setEpicId` now clears `task` param: `updateUrl({ epic: id, task: null })`\n- Clicking an epic in the left panel resets active task conversation, so SwarmCommandFeed correctly shows\n\n**src/components/shared/workflow-graph.tsx**\n- Added `onSelect` to `flowModel` useMemo dependency array\n- Prevents stale conversation callbacks from being captured in node data\n\n**src/components/shared/unified-shell.tsx**\n- `handleGraphSelect` now toggles: clicking the same node a second time calls `setTaskId(null)`, closing the right panel\n- Also bumped dep array to include `taskId`\n\n### Earlier session changes (same epic, context compacted)\n- Added MessageSquare icon to GraphNodeCard with proper prop-threading (no useUrlState inside ReactFlow nodes)\n- WorkflowGraph threads `onConversationOpen` and `selectedTaskId` into node data\n- Fixed ContextualRightPanel `onClose` no-ops → wired to `setTaskId(null)` / `setSwarmId(null)`\n- UnifiedShell right panel is always visible (removed `panel === 'open'` gate)\n- SmartDag task grid changed to horizontal scroll with fixed-width cards\n- hideClosed defaults to true in SmartDag\n- Added Suspense boundary in page.tsx for useSearchParams\n- 14 static analysis tests in tests/components/graph/graph-node-conversation.test.tsx\n\n### Tests\n- 14/14 tests passing in tests/components/graph/graph-node-conversation.test.tsx\n- All tests cover: icon presence, no useUrlState in node, prop-threading, stopPropagation, selectedTaskId highlight, onConversationOpen wiring, taskId priority over epicId, back button wired, right panel always visible, Suspense boundary","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"beadboard-b3c","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":"","status":"open","target":"","timeout_ns":0,"title":"Graph DAG conversation panel wiring (Phase 1 completion)","updated_at":"2026-03-01T21:48:57Z","waiters":"","wisp_type":"","work_type":""}
|
||||
{"acceptance_criteria":"AssignmentPanel shows: Needs Agent section (ready tasks without agent: label), Pre-assigned section (tasks with agent: label), Active Workers section scoped to current epic. Can assign from sidebar.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-02-24T08:10:25Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"8c15190610c3cd385b979e6e3f224c323a5bcdd4fbe1dc6f80bec3062c585193","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-b7t","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"Starting work on AssignmentPanel enhancement. Will add three sections: Needs Agent (ready tasks without agent: label), Pre-assigned (tasks with agent: label), Active Workers scoped to current epic.","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":"Enhance AssignmentPanel with sections","updated_at":"2026-02-24T08:10:25Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"Graph nodes show Assign button for open/blocked tasks. Dropdown shows archetypes. Selecting archetype calls /api/swarm/prep. Shows assigned archetype badge after success. Can change/remove assignment.","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Completed. Added Assign button to GraphNodeCard with Radix dropdown-menu, proper dark theme CSS, agent: label prefix, and change/remove assignment support. All 6 TDD tests pass. All verification gates pass.","closed_at":"2026-02-24T04:57:56Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"2c9ad551bc6d678d2eac1e2237eaba7d6b5e80b8f341943ff711292cd978a3f6","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-brq","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 Assign button with Radix dropdown-menu, kept original dark theme CSS\n- **src/app/api/swarm/prep/route.ts**: Added DELETE handler for remove assignment\n\n### Key Features\n- Assign button shows for open/blocked/ready tasks (not closed)\n- Dropdown shows all archetypes with color indicators\n- Shows current assigned archetype with Change option\n- Remove assignment option in dropdown\n- Uses correct `agent:` label prefix\n- Auto-refreshes via SSE after assignment\n\n### Tests Written (TDD)\nAll 6 tests pass:\n1. GraphNodeCard checks for assignable status\n2. GraphNodeCard excludes closed tasks\n3. GraphNodeCard parses agent: label\n4. GraphNodeCard imports Radix dropdown-menu\n5. GraphNodeCard receives archetypes\n6. GraphNodeCard supports assignment action\n\n### Verification Gates\n- npm run typecheck: ✓ PASS\n- npm run lint: ✓ PASS (0 errors, 21 warnings - pre-existing)\n- npm run test: ✓ PASS (all tests)","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":"Add Assign button/dropdown to GraphNodeCard","updated_at":"2026-02-24T04:57:56Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":"sysarchitect-01","await_id":"","await_type":"","close_reason":"","closed_at":"2026-02-21T05:03:50Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"28d5443e989a71f0e7d9401694808fac30965cdf14414649ed256d1a1ec514c7","created_at":"2026-02-21T04:01:08Z","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-c08","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":"Analyze Legacy System","updated_at":"2026-02-21T05:03:50Z","waiters":"","wisp_type":"","work_type":"mutex"}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue