feat(KB-503): Step 4 — add --project flag support to key task commands
- Import getStore from project-context.js - Update runTaskCreate() to accept projectName parameter - Update runTaskList() to accept projectName parameter - Update runTaskShow() to accept projectName parameter - Pattern established for remaining task commands (TODO)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"nextId": 663,
|
||||
"nextId": 664,
|
||||
"settings": {
|
||||
"globalPause": false,
|
||||
"enginePaused": false,
|
||||
|
||||
3
.fusion/tasks/FN-663/PROMPT.md
Normal file
3
.fusion/tasks/FN-663/PROMPT.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# FN-663
|
||||
|
||||
Ntfy notifications should link to the
|
||||
17
.fusion/tasks/FN-663/task.json
Normal file
17
.fusion/tasks/FN-663/task.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"id": "FN-663",
|
||||
"description": "Ntfy notifications should link to the",
|
||||
"column": "triage",
|
||||
"dependencies": [],
|
||||
"steps": [],
|
||||
"currentStep": 0,
|
||||
"log": [
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:40.436Z",
|
||||
"action": "Task created"
|
||||
}
|
||||
],
|
||||
"columnMovedAt": "2026-04-01T05:46:40.436Z",
|
||||
"createdAt": "2026-04-01T05:46:40.436Z",
|
||||
"updatedAt": "2026-04-01T05:46:40.436Z"
|
||||
}
|
||||
@@ -8,7 +8,7 @@
|
||||
"currentStep": 0,
|
||||
"blockedBy": "KB-503",
|
||||
"createdAt": "2026-03-31T20:54:26.274Z",
|
||||
"updatedAt": "2026-04-01T05:46:07.883Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.885Z",
|
||||
"columnMovedAt": "2026-03-31T20:56:09.228Z",
|
||||
"dependencies": [],
|
||||
"steps": [],
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
"size": "L",
|
||||
"reviewLevel": 2,
|
||||
"currentStep": 0,
|
||||
"blockedBy": "KB-662",
|
||||
"blockedBy": "KB-617",
|
||||
"createdAt": "2026-03-31T21:01:18.282Z",
|
||||
"updatedAt": "2026-04-01T05:46:07.884Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.886Z",
|
||||
"columnMovedAt": "2026-03-31T22:15:49.127Z",
|
||||
"dependencies": [
|
||||
"KB-501",
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
"column": "in-progress",
|
||||
"size": "M",
|
||||
"reviewLevel": 2,
|
||||
"currentStep": 2,
|
||||
"currentStep": 4,
|
||||
"worktree": "/Users/eclipxe/Projects/kb/.worktrees/merry-otter",
|
||||
"createdAt": "2026-03-31T21:01:18.283Z",
|
||||
"updatedAt": "2026-04-01T05:43:38.745Z",
|
||||
"updatedAt": "2026-04-01T05:46:18.909Z",
|
||||
"columnMovedAt": "2026-04-01T03:17:36.670Z",
|
||||
"dependencies": [
|
||||
"KB-501"
|
||||
@@ -23,11 +23,11 @@
|
||||
},
|
||||
{
|
||||
"name": "Project Subcommand Implementation",
|
||||
"status": "in-progress"
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"name": "CLI Argument Parsing Updates",
|
||||
"status": "pending"
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"name": "Add --project Flag to Task Commands",
|
||||
@@ -210,6 +210,32 @@
|
||||
"timestamp": "2026-04-01T05:43:38.745Z",
|
||||
"action": "code review Step 2: REVISE",
|
||||
"outcome": "The project command implementations are well-structured and follow the existing CLI patterns. However, there's a critical test gap: the tests expect thrown errors but the implementation calls `process.exit(1)` which terminates rather than throws. This will cause tests to fail. Additionally, there's code duplication for `getDefaultProject` that should be cleaned up."
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:44:00.692Z",
|
||||
"action": "code review requested for Step 2 (Project Subcommand Implementation)"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:44:49.695Z",
|
||||
"action": "code review Step 2: APPROVE",
|
||||
"outcome": "The implementation of Step 2 is solid and follows the task specification closely. All 6 required project subcommands are implemented (`list`, `add`, `remove`, `show`, `set-default`, `detect`), along with the project context utilities for resolution and store management. The code properly integrates with the CentralCore API from KB-500 and follows existing CLI patterns."
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:44:51.037Z",
|
||||
"action": "Step 2 (Project Subcommand Implementation) → done"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:44:55.092Z",
|
||||
"action": "plan review requested for Step 3 (CLI Argument Parsing Updates)"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:45:19.188Z",
|
||||
"action": "plan review Step 3: APPROVE",
|
||||
"outcome": "The plan for Step 3 is well-structured and aligns with the existing codebase patterns. The dependencies (Step 1's `project-context.ts` and Step 2's `project.ts`) are already implemented with full test coverage. The plan correctly identifies the needed changes to `bin.ts` for argument parsing and the project subcommand routing."
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:18.909Z",
|
||||
"action": "Step 3 (CLI Argument Parsing Updates) → done"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
"reviewLevel": 3,
|
||||
"currentStep": 0,
|
||||
"createdAt": "2026-03-31T21:01:18.284Z",
|
||||
"updatedAt": "2026-04-01T05:46:07.885Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.887Z",
|
||||
"columnMovedAt": "2026-03-31T22:13:59.657Z",
|
||||
"dependencies": [
|
||||
"KB-500",
|
||||
|
||||
@@ -4,20 +4,20 @@
|
||||
"column": "in-progress",
|
||||
"size": "M",
|
||||
"reviewLevel": 2,
|
||||
"currentStep": 0,
|
||||
"currentStep": 1,
|
||||
"worktree": "/Users/eclipxe/Projects/kb/.worktrees/noble-badger",
|
||||
"createdAt": "2026-03-31T23:26:05.506Z",
|
||||
"updatedAt": "2026-04-01T05:46:10.152Z",
|
||||
"updatedAt": "2026-04-01T05:46:36.532Z",
|
||||
"columnMovedAt": "2026-04-01T05:46:07.886Z",
|
||||
"dependencies": [],
|
||||
"steps": [
|
||||
{
|
||||
"name": "Core Types and Store Updates",
|
||||
"status": "in-progress"
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"name": "Capture Modified Files in Executor",
|
||||
"status": "pending"
|
||||
"status": "in-progress"
|
||||
},
|
||||
{
|
||||
"name": "API Endpoint for Task Diffs",
|
||||
@@ -69,6 +69,28 @@
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:10.152Z",
|
||||
"action": "Step 0 (Core Types and Store Updates) → in-progress"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:18.436Z",
|
||||
"action": "Step 0 (Core Types and Store Updates) → done"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:18.437Z",
|
||||
"action": "Completed Step 0 (Preflight). Read all context files: types.ts, store.ts, executor.ts, routes.ts, TaskDetailModal.tsx, api.ts. Understood the Task type, store operations, executor flow, and dashboard UI structure.",
|
||||
"outcome": "Ready to implement Step 1"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:21.352Z",
|
||||
"action": "plan review requested for Step 1 (Core Types and Store Updates)"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:33.573Z",
|
||||
"action": "plan review Step 1: APPROVE",
|
||||
"outcome": "The plan for Step 1 correctly identifies the minimal changes needed to add the `modifiedFiles` field to the core data model. It follows the established patterns in the codebase for JSON array columns (like `dependencies` and `enabledWorkflowSteps`). The step is appropriately scoped and will achieve its stated outcomes."
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:36.532Z",
|
||||
"action": "Step 1 (Capture Modified Files in Executor) → in-progress"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -8,7 +8,7 @@
|
||||
"currentStep": 0,
|
||||
"blockedBy": "KB-503",
|
||||
"createdAt": "2026-03-31T23:26:33.164Z",
|
||||
"updatedAt": "2026-04-01T05:46:08.075Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.888Z",
|
||||
"columnMovedAt": "2026-03-31T23:34:08.949Z",
|
||||
"dependencies": [
|
||||
"KB-616",
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"reviewLevel": 3,
|
||||
"currentStep": 0,
|
||||
"createdAt": "2026-03-31T23:26:48.611Z",
|
||||
"updatedAt": "2026-04-01T05:46:08.076Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.888Z",
|
||||
"columnMovedAt": "2026-03-31T23:35:32.331Z",
|
||||
"dependencies": [
|
||||
"KB-615",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"currentStep": 0,
|
||||
"blockedBy": "KB-617",
|
||||
"createdAt": "2026-03-31T23:28:36.515Z",
|
||||
"updatedAt": "2026-04-01T05:46:08.077Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.889Z",
|
||||
"columnMovedAt": "2026-03-31T23:35:26.160Z",
|
||||
"dependencies": [],
|
||||
"steps": [],
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"currentStep": 0,
|
||||
"blockedBy": "KB-503",
|
||||
"createdAt": "2026-04-01T01:05:35.675Z",
|
||||
"updatedAt": "2026-04-01T05:46:08.085Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.891Z",
|
||||
"columnMovedAt": "2026-04-01T01:10:33.211Z",
|
||||
"dependencies": [
|
||||
"KB-632"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"reviewLevel": 3,
|
||||
"currentStep": 0,
|
||||
"createdAt": "2026-04-01T01:05:39.475Z",
|
||||
"updatedAt": "2026-04-01T05:46:08.106Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.891Z",
|
||||
"columnMovedAt": "2026-04-01T01:14:44.800Z",
|
||||
"dependencies": [
|
||||
"KB-632",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"modelProvider": "openai-codex",
|
||||
"modelId": "gpt-5.4",
|
||||
"createdAt": "2026-04-01T01:52:07.518Z",
|
||||
"updatedAt": "2026-04-01T05:46:08.126Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.892Z",
|
||||
"columnMovedAt": "2026-04-01T01:53:06.056Z",
|
||||
"dependencies": [],
|
||||
"steps": [],
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"currentStep": 0,
|
||||
"blockedBy": "KB-617",
|
||||
"createdAt": "2026-04-01T01:54:15.047Z",
|
||||
"updatedAt": "2026-04-01T05:46:08.127Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.893Z",
|
||||
"columnMovedAt": "2026-04-01T01:58:47.407Z",
|
||||
"dependencies": [
|
||||
"KB-292"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"modelProvider": "openai-codex",
|
||||
"modelId": "gpt-5.4",
|
||||
"createdAt": "2026-04-01T02:35:50.893Z",
|
||||
"updatedAt": "2026-04-01T05:46:08.128Z",
|
||||
"updatedAt": "2026-04-01T05:46:37.894Z",
|
||||
"columnMovedAt": "2026-04-01T02:41:37.980Z",
|
||||
"dependencies": [],
|
||||
"steps": [],
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
{
|
||||
"id": "KB-655",
|
||||
"description": "Hide done by default on list view",
|
||||
"column": "in-review",
|
||||
"column": "done",
|
||||
"size": "S",
|
||||
"reviewLevel": 0,
|
||||
"currentStep": 4,
|
||||
"worktree": "/Users/eclipxe/Projects/kb/.worktrees/solar-breeze",
|
||||
"summary": "Changed the default value of `hideDoneTasks` state in ListView component from `false` to `true`. Done and archived tasks are now hidden by default when users view the list view for the first time. Updated all 98 tests in ListView.test.tsx to reflect the new default behavior, including adding localStorage.clear() to test beforeEach hooks to ensure consistent test isolation.",
|
||||
"createdAt": "2026-04-01T02:38:03.605Z",
|
||||
"updatedAt": "2026-04-01T05:45:44.996Z",
|
||||
"columnMovedAt": "2026-04-01T05:45:44.996Z",
|
||||
"updatedAt": "2026-04-01T05:46:32.421Z",
|
||||
"columnMovedAt": "2026-04-01T05:46:32.421Z",
|
||||
"dependencies": [],
|
||||
"steps": [
|
||||
{
|
||||
|
||||
@@ -1,17 +1,33 @@
|
||||
{
|
||||
"id": "KB-656",
|
||||
"description": "Don't auto expand the quick add view in list view",
|
||||
"column": "todo",
|
||||
"status": "queued",
|
||||
"column": "in-progress",
|
||||
"size": "S",
|
||||
"reviewLevel": 1,
|
||||
"currentStep": 0,
|
||||
"blockedBy": "KB-655",
|
||||
"worktree": "/Users/eclipxe/Projects/kb/.worktrees/sandy-orbit",
|
||||
"createdAt": "2026-04-01T02:38:16.858Z",
|
||||
"updatedAt": "2026-04-01T05:46:08.129Z",
|
||||
"columnMovedAt": "2026-04-01T02:45:53.690Z",
|
||||
"updatedAt": "2026-04-01T05:46:38.103Z",
|
||||
"columnMovedAt": "2026-04-01T05:46:37.896Z",
|
||||
"dependencies": [],
|
||||
"steps": [],
|
||||
"steps": [
|
||||
{
|
||||
"name": "Add autoExpand Prop to QuickEntryBox",
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"name": "Update ListView to Disable Auto-Expand",
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"name": "Testing & Verification",
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"name": "Documentation & Delivery",
|
||||
"status": "pending"
|
||||
}
|
||||
],
|
||||
"log": [
|
||||
{
|
||||
"timestamp": "2026-04-01T02:38:16.858Z",
|
||||
@@ -25,6 +41,14 @@
|
||||
"timestamp": "2026-04-01T02:45:52.170Z",
|
||||
"action": "Spec review: APPROVE",
|
||||
"outcome": "The specification is well-crafted and technically accurate. It correctly identifies the minimal change needed—adding an `autoExpand` prop to QuickEntryBox with default `true` for backward compatibility, passing `autoExpand={false}` in ListView, and leaving Column.tsx unchanged. File references, function names, and testing requirements are all correct."
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:38.101Z",
|
||||
"action": "Worktree created at /Users/eclipxe/Projects/kb/.worktrees/sandy-orbit"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:38.103Z",
|
||||
"action": "Step 0 (Add autoExpand Prop to QuickEntryBox) → pending"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
"reviewLevel": 2,
|
||||
"currentStep": 0,
|
||||
"createdAt": "2026-04-01T02:38:43.252Z",
|
||||
"updatedAt": "2026-04-01T05:46:08.129Z",
|
||||
"updatedAt": "2026-04-01T05:46:38.096Z",
|
||||
"columnMovedAt": "2026-04-01T02:46:36.886Z",
|
||||
"dependencies": [
|
||||
"KB-656"
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
{
|
||||
"id": "KB-661",
|
||||
"description": "Pull latest changes them push to gsxdsm remote",
|
||||
"column": "in-review",
|
||||
"column": "done",
|
||||
"size": "S",
|
||||
"reviewLevel": 0,
|
||||
"currentStep": 3,
|
||||
"worktree": "/Users/eclipxe/Projects/kb/.worktrees/hazy-tiger",
|
||||
"summary": "Successfully synchronized the repository with upstream. Fetched from dustinbyrne/kb, merged the thinkingLevel feature commit, resolved a merge conflict in types.ts (preserved local summarize field), and pushed 117 commits to gsxdsm/kb origin. Both main branches are now in sync at commit c2c830da.",
|
||||
"createdAt": "2026-04-01T02:43:13.268Z",
|
||||
"updatedAt": "2026-04-01T05:45:36.810Z",
|
||||
"columnMovedAt": "2026-04-01T05:45:36.810Z",
|
||||
"updatedAt": "2026-04-01T05:46:17.400Z",
|
||||
"columnMovedAt": "2026-04-01T05:46:17.400Z",
|
||||
"dependencies": [],
|
||||
"steps": [
|
||||
{
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
"column": "in-progress",
|
||||
"size": "S",
|
||||
"reviewLevel": 1,
|
||||
"currentStep": 1,
|
||||
"currentStep": 2,
|
||||
"worktree": "/Users/eclipxe/Projects/kb/.worktrees/fresh-mesa",
|
||||
"createdAt": "2026-04-01T05:35:18.262Z",
|
||||
"updatedAt": "2026-04-01T05:46:07.259Z",
|
||||
"updatedAt": "2026-04-01T05:46:39.760Z",
|
||||
"columnMovedAt": "2026-04-01T05:45:52.895Z",
|
||||
"dependencies": [],
|
||||
"steps": [
|
||||
@@ -17,11 +17,11 @@
|
||||
},
|
||||
{
|
||||
"name": "Testing & Verification",
|
||||
"status": "pending"
|
||||
"status": "done"
|
||||
},
|
||||
{
|
||||
"name": "Documentation & Delivery",
|
||||
"status": "pending"
|
||||
"status": "in-progress"
|
||||
}
|
||||
],
|
||||
"log": [
|
||||
@@ -57,6 +57,31 @@
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:07.259Z",
|
||||
"action": "plan review requested for Step 1 (Add Visibility Change Listener)"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:27.938Z",
|
||||
"action": "plan review Step 1: APPROVE",
|
||||
"outcome": "The plan for Step 1 is well-structured and will achieve its stated outcomes. It correctly identifies the key implementation points: adding a `useEffect` for the `visibilitychange` event, calling `api.fetchTasks()` on visibility restore, normalizing results, debouncing, and cleanup. The approach aligns with the existing patterns in `useTasks.ts`."
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:32.414Z",
|
||||
"action": "Step 1 (Testing & Verification) → in-progress"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:32.421Z",
|
||||
"action": "Starting implementation of visibility change listener in useTasks.ts"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:39.758Z",
|
||||
"action": "Step 1 (Testing & Verification) → done"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:39.759Z",
|
||||
"action": "Step 2 (Documentation & Delivery) → in-progress"
|
||||
},
|
||||
{
|
||||
"timestamp": "2026-04-01T05:46:39.760Z",
|
||||
"action": "Step 1 complete. Starting Step 2 - adding tests for visibility change listener"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user