@vheins/local-memory-mcp 0.10.11 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-5ODTDJZP.js → chunk-VXPBWGPZ.js} +19 -6
- package/dist/dashboard/server.js +1 -1
- package/dist/mcp/server.js +2 -2
- package/dist/prompts/create-task.md +2 -2
- package/dist/prompts/review-and-audit.md +2 -2
- package/dist/prompts/review-and-post-issue.md +1 -1
- package/dist/prompts/session-planner.md +1 -1
- package/dist/prompts/task-memory-executor.md +118 -2
- package/package.json +1 -1
|
@@ -81,8 +81,8 @@ function loadServerInstructions() {
|
|
|
81
81
|
// src/mcp/capabilities.ts
|
|
82
82
|
var __dirname2 = path2.dirname(fileURLToPath2(import.meta.url));
|
|
83
83
|
var pkgVersion = "0.1.0";
|
|
84
|
-
if ("0.
|
|
85
|
-
pkgVersion = "0.
|
|
84
|
+
if ("0.11.0") {
|
|
85
|
+
pkgVersion = "0.11.0";
|
|
86
86
|
} else {
|
|
87
87
|
let searchDir = __dirname2;
|
|
88
88
|
for (let i = 0; i < 5; i++) {
|
|
@@ -3569,7 +3569,11 @@ var TOOL_DEFINITIONS = [
|
|
|
3569
3569
|
task_code: { type: "string" },
|
|
3570
3570
|
phase: { type: "string" },
|
|
3571
3571
|
title: { type: "string", minLength: 3, maxLength: 100 },
|
|
3572
|
-
description: {
|
|
3572
|
+
description: {
|
|
3573
|
+
type: "string",
|
|
3574
|
+
minLength: 1,
|
|
3575
|
+
description: "Detailed description. MUST follow format: 1. Context & Analysis, 2. Step & Implementation, 3. Acceptance & Verification"
|
|
3576
|
+
},
|
|
3573
3577
|
status: { type: "string", enum: ["backlog", "pending"], default: "backlog" },
|
|
3574
3578
|
priority: {
|
|
3575
3579
|
type: "number",
|
|
@@ -4096,7 +4100,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4096
4100
|
maxLength: 100,
|
|
4097
4101
|
description: "Task objective (Required for single task)"
|
|
4098
4102
|
},
|
|
4099
|
-
description: {
|
|
4103
|
+
description: {
|
|
4104
|
+
type: "string",
|
|
4105
|
+
description: "Detailed description. MUST follow format: 1. Context & Analysis, 2. Step & Implementation, 3. Acceptance & Verification"
|
|
4106
|
+
},
|
|
4100
4107
|
status: {
|
|
4101
4108
|
type: "string",
|
|
4102
4109
|
enum: ["backlog", "pending"],
|
|
@@ -4126,7 +4133,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4126
4133
|
task_code: { type: "string" },
|
|
4127
4134
|
phase: { type: "string" },
|
|
4128
4135
|
title: { type: "string", minLength: 3, maxLength: 100 },
|
|
4129
|
-
description: {
|
|
4136
|
+
description: {
|
|
4137
|
+
type: "string",
|
|
4138
|
+
description: "Detailed description. MUST follow format: 1. Context & Analysis, 2. Step & Implementation, 3. Acceptance & Verification"
|
|
4139
|
+
},
|
|
4130
4140
|
status: { type: "string", enum: ["backlog", "pending"], default: "backlog" },
|
|
4131
4141
|
priority: {
|
|
4132
4142
|
type: "number",
|
|
@@ -4187,7 +4197,10 @@ var TOOL_DEFINITIONS = [
|
|
|
4187
4197
|
task_code: { type: "string" },
|
|
4188
4198
|
phase: { type: "string" },
|
|
4189
4199
|
title: { type: "string", minLength: 3, maxLength: 100 },
|
|
4190
|
-
description: {
|
|
4200
|
+
description: {
|
|
4201
|
+
type: "string",
|
|
4202
|
+
description: "Detailed description. MUST follow format: 1. Context & Analysis, 2. Step & Implementation, 3. Acceptance & Verification"
|
|
4203
|
+
},
|
|
4191
4204
|
status: {
|
|
4192
4205
|
type: "string",
|
|
4193
4206
|
enum: ["backlog", "pending", "in_progress", "completed", "canceled", "blocked"],
|
package/dist/dashboard/server.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -57,7 +57,7 @@ import {
|
|
|
57
57
|
toContextSlug,
|
|
58
58
|
updateSessionFromInitialize,
|
|
59
59
|
updateSessionRoots
|
|
60
|
-
} from "../chunk-
|
|
60
|
+
} from "../chunk-VXPBWGPZ.js";
|
|
61
61
|
|
|
62
62
|
// src/mcp/server.ts
|
|
63
63
|
import readline from "readline";
|
|
@@ -1125,7 +1125,7 @@ function buildMissingTaskSchema(task) {
|
|
|
1125
1125
|
});
|
|
1126
1126
|
addRequiredStringField(properties, required, task, "description", {
|
|
1127
1127
|
title: "Description",
|
|
1128
|
-
description: "Detailed description
|
|
1128
|
+
description: "Detailed description. MUST follow format: 1. Context & Analysis, 2. Step & Implementation, 3. Acceptance & Verification",
|
|
1129
1129
|
minLength: 1
|
|
1130
1130
|
});
|
|
1131
1131
|
if (!task.status) {
|
|
@@ -43,8 +43,8 @@ ONLY call MCP tools. No prose, no code, no plans outside MCP.
|
|
|
43
43
|
- **Trigger**: Instruction/finding.
|
|
44
44
|
- **Observation**: Technical reasoning.
|
|
45
45
|
- **Goal**: Clear objective.
|
|
46
|
-
### 2.
|
|
47
|
-
-
|
|
46
|
+
### 2. Step & Implementation
|
|
47
|
+
- Detailed execution steps per path/layer.
|
|
48
48
|
### 3. Acceptance & Verification
|
|
49
49
|
- **Checklist**: `[ ]` criteria.
|
|
50
50
|
- **Testing**: Scenarios.
|
|
@@ -40,8 +40,8 @@ ONLY call MCP tools. No prose, code, or external plans.
|
|
|
40
40
|
- **Finding**: Gap trigger.
|
|
41
41
|
- **Observation**: Reasoning.
|
|
42
42
|
- **Goal**: Clear objective.
|
|
43
|
-
### 2.
|
|
44
|
-
-
|
|
43
|
+
### 2. Step & Implementation
|
|
44
|
+
- Detailed execution steps per path/layer.
|
|
45
45
|
### 3. Acceptance & Verification
|
|
46
46
|
- **Checklist**: `[ ]` criteria.
|
|
47
47
|
- **Testing**: Scenarios.
|
|
@@ -42,7 +42,7 @@ No prose. No external plans.
|
|
|
42
42
|
- **Finding**: Gap trigger.
|
|
43
43
|
- **Observation**: Reasoning.
|
|
44
44
|
- **Goal**: Clear objective.
|
|
45
|
-
### 2.
|
|
45
|
+
### 2. Step & Implementation
|
|
46
46
|
- Path/layer specific changes.
|
|
47
47
|
### 3. Acceptance & Verification
|
|
48
48
|
- **Checklist**: `[ ]` criteria.
|
|
@@ -20,6 +20,6 @@ Steps:
|
|
|
20
20
|
5. **Phase**: Group into `research`, `implementation`, and `validation`.
|
|
21
21
|
6. **Hierarchy**: Use `parent_id` / `depends_on` for sequencing.
|
|
22
22
|
7. **Priority Scale**: When creating tasks, use the exact MCP scale `1=Low`, `2=Normal`, `3=Medium`, `4=High`, `5=Critical`. Higher number means higher urgency.
|
|
23
|
-
8. **Create**: Use `task-create` in current repo with stable `task_code`, tags, and acceptance criteria.
|
|
23
|
+
8. **Create**: Use `task-create` in current repo with stable `task_code`, tags, and acceptance criteria following the format: 1. Context & Analysis, 2. Step & Implementation, 3. Acceptance & Verification.
|
|
24
24
|
|
|
25
25
|
Display final plan to user.
|
|
@@ -35,7 +35,7 @@ agent: Task Executor
|
|
|
35
35
|
## 2. EXECUTION LOOP
|
|
36
36
|
1. **Parallelism & Sub-Agents**:
|
|
37
37
|
- **MANDATORY**: Tasks MUST be delegated to sub-agents if the current agent has sub-agent capabilities.
|
|
38
|
-
- **Decomposition**: If a task is too broad, the agent is allowed to decompose it into multiple tasks (via `task-create`) and delegate them to sub-agents.
|
|
38
|
+
- **Decomposition**: If a task is too broad, the agent is allowed to decompose it into multiple tasks (via `task-create`) and delegate them to sub-agents. All created tasks MUST follow the format: 1. Context & Analysis, 2. Step & Implementation, 3. Acceptance & Verification.
|
|
39
39
|
- **Spawn Limit**: The total number of parallel sub-agents MUST NOT exceed 2. Each sub-agent executes EXACTLY ONE task at a time.
|
|
40
40
|
- **Fallback**: If the current agent CANNOT spawn sub-agents, it MUST execute tasks sequentially (exactly ONE concurrent task) until the queue is clear.
|
|
41
41
|
2. **Hydrate**: Fetch full context via `task-detail` for the assigned task.
|
|
@@ -67,6 +67,33 @@ agent: Task Executor
|
|
|
67
67
|
This ensures full traceability between code changes and project context.
|
|
68
68
|
- **GitHub Issue Traceability**: If task metadata contains a GitHub Issue reference, the commit message MUST also include the issue hashtag in `#123` format.
|
|
69
69
|
- **Issue Number Extraction**: Read the issue number from task metadata when available. If metadata only contains a GitHub Issue URL, extract the trailing issue number from that URL before committing.
|
|
70
|
+
|
|
71
|
+
10A. **BLOCKER HANDLING (AUTOMATIC TASK CREATION)**:
|
|
72
|
+
- **Trigger**: When task status is updated to `blocked` with a comment explaining the blocker reason.
|
|
73
|
+
- **Blocker Classification**: Analyze the blocker comment to determine if it is **internal solvable** or **external**:
|
|
74
|
+
- **Internal Solvable** (auto-create task): Missing dependency, missing module/function, configuration/env setup, implementation gap, failing test, build error.
|
|
75
|
+
- **External** (skip auto-create): Awaiting user input/approval, API/service unavailability, manual external setup required.
|
|
76
|
+
- **Pattern Matching**: Use regex patterns to detect internal blockers in the comment:
|
|
77
|
+
- Missing patterns: `/(module|package|library|dependency|import)\s+(not\s+found|missing|undefined|not\s+installed)/i`
|
|
78
|
+
- Not implemented: `/(function|interface|class|method|endpoint)\s+not\s+(found|implemented|exists)/i`
|
|
79
|
+
- Configuration: `/(config|configuration|setup|env|environment)\s+(missing|not\s+set|invalid)/i`
|
|
80
|
+
- Test/build failure: `/(test|build|compile|type\s+check)\s+(failed|error)/i`
|
|
81
|
+
- **Auto-Create Task** (if internal solvable):
|
|
82
|
+
- Task Code: `${parent_task_code}-FIX-${unix_timestamp}`
|
|
83
|
+
- Title: `FIX: [${parent_task_title}] - Resolve: ${blocker_reason_extracted}`
|
|
84
|
+
- Description: Follow standard format (1. Context & Analysis, 2. Step & Implementation, 3. Acceptance & Verification)
|
|
85
|
+
- Context: Reference parent task code and explain the blocking factor
|
|
86
|
+
- Steps: Identify root cause and implement fix
|
|
87
|
+
- Verification: Confirm parent task can proceed
|
|
88
|
+
- Parent ID: Set to current blocked task ID
|
|
89
|
+
- Priority: `4` (HIGH)
|
|
90
|
+
- Phase: `blocker-resolution`
|
|
91
|
+
- Tags: `["blocker-fix", "auto-generated"]`
|
|
92
|
+
- Metadata: Include `triggered_by_task`, `blocker_reason`, `creation_timestamp`, and `agent_identity`
|
|
93
|
+
- **Update Parent Task**: Add comment linking to the new blocker-fix task: `"Blocker resolution task created: ${new_task_code}"`
|
|
94
|
+
- **Link Dependencies**: Set parent task's `depends_on` to the new blocker-fix task (parent waits for fix before retry)
|
|
95
|
+
- **Skip Creation** (if external): Log that blocker is external, keep task status as `blocked`, no automatic task created.
|
|
96
|
+
|
|
70
97
|
11. **Repeat**: Claim next task from `task-list`.
|
|
71
98
|
|
|
72
99
|
## 3. BACKLOG MAINTENANCE
|
|
@@ -75,5 +102,94 @@ If active queue is empty:
|
|
|
75
102
|
2. Move up to 20 highest-priority tasks to `pending` via `task-update`.
|
|
76
103
|
3. Interpret priority using MCP ordering: `5=Critical`, `4=High`, `3=Medium`, `2=Normal`, `1=Low`.
|
|
77
104
|
|
|
78
|
-
## 4.
|
|
105
|
+
## 4. BLOCKER REFERENCE (Patterns & Detection)
|
|
106
|
+
|
|
107
|
+
### Internal Solvable Blocker Patterns (Trigger Auto Task Creation)
|
|
108
|
+
|
|
109
|
+
**Missing Dependencies/Modules**:
|
|
110
|
+
- `module not found`, `missing dependency`, `import not installed`, `undefined function`, `no such file`
|
|
111
|
+
- Example: "ImportError: Function 'validateToken' not found"
|
|
112
|
+
|
|
113
|
+
**Not Implemented**:
|
|
114
|
+
- `function/method not implemented`, `interface not exists`, `component undefined`
|
|
115
|
+
- Example: "Function 'processPayment' not implemented - exists in type definitions but no implementation"
|
|
116
|
+
|
|
117
|
+
**Configuration/Setup Issues**:
|
|
118
|
+
- `.env missing`, `configuration not set`, `setup invalid`, `environment variable not found`
|
|
119
|
+
- Example: "DATABASE_URL environment variable not set"
|
|
120
|
+
|
|
121
|
+
**Test/Build Failures** (solvable):
|
|
122
|
+
- `test failed`, `assertion failed`, `type error`, `build error`, `compilation failed`
|
|
123
|
+
- Example: "Type error: Property 'user' does not exist on type 'Request'"
|
|
124
|
+
|
|
125
|
+
**Implementation Gaps**:
|
|
126
|
+
- `endpoint not implemented`, `API route missing`, `middleware not registered`
|
|
127
|
+
- Example: "GET /api/users endpoint returns 404 - not implemented"
|
|
128
|
+
|
|
129
|
+
### External Blocker Patterns (Skip Auto Task Creation)
|
|
130
|
+
|
|
131
|
+
**Awaiting User/External Action**:
|
|
132
|
+
- `awaiting user`, `requires manual`, `user must`, `external dependency`, `manual setup`
|
|
133
|
+
- Example: "Awaiting user approval for database migration", "Requires manual infrastructure setup"
|
|
134
|
+
|
|
135
|
+
**External Service Issues**:
|
|
136
|
+
- `API not responding`, `service unavailable`, `server not ready`
|
|
137
|
+
- Example: "Payment gateway API not responding - external service unavailable"
|
|
138
|
+
|
|
139
|
+
**Manual Prerequisites**:
|
|
140
|
+
- `install locally`, `run script manually`, `requires external tool`
|
|
141
|
+
- Example: "Requires manual Docker setup - not part of this task"
|
|
142
|
+
|
|
143
|
+
### Auto Task Creation Example Flow
|
|
144
|
+
|
|
145
|
+
**Parent Task Blocked:**
|
|
146
|
+
```
|
|
147
|
+
Task Code: FEATURE-42
|
|
148
|
+
Title: Add payment processing middleware
|
|
149
|
+
Status: blocked
|
|
150
|
+
Comment: "Function 'chargeCard' in services/payment.ts not implemented - exists in interface but implementation missing"
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Detection & Classification:**
|
|
154
|
+
```
|
|
155
|
+
Pattern detected: "Function .* not implemented" → INTERNAL SOLVABLE ✅
|
|
156
|
+
Action: Create blocker-fix task
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**Auto-Generated Task:**
|
|
160
|
+
```
|
|
161
|
+
Task Code: FEATURE-42-FIX-1714737908
|
|
162
|
+
Title: FIX: [Add payment processing middleware] - Resolve: Function 'chargeCard' not implemented
|
|
163
|
+
Parent ID: FEATURE-42
|
|
164
|
+
Priority: 4 (HIGH)
|
|
165
|
+
Phase: blocker-resolution
|
|
166
|
+
Tags: ["blocker-fix", "auto-generated"]
|
|
167
|
+
|
|
168
|
+
Description:
|
|
169
|
+
1. Context & Analysis:
|
|
170
|
+
Parent task FEATURE-42 blocked due to: Function 'chargeCard' in services/payment.ts not implemented
|
|
171
|
+
The function exists in the interface but has no implementation body
|
|
172
|
+
Blocking factor: services/payment.ts - chargeCard function stub
|
|
173
|
+
|
|
174
|
+
2. Step & Implementation:
|
|
175
|
+
- Review services/payment.ts chargeCard function signature
|
|
176
|
+
- Implement full payment processing logic (charges, refunds, error handling)
|
|
177
|
+
- Add proper error handling and validation
|
|
178
|
+
- Write unit tests for charge scenarios
|
|
179
|
+
|
|
180
|
+
3. Acceptance & Verification:
|
|
181
|
+
- chargeCard function fully implemented
|
|
182
|
+
- Unit tests passing
|
|
183
|
+
- Function can be called from FEATURE-42 middleware
|
|
184
|
+
- FEATURE-42 parent task can proceed without blockers
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**Execution Workflow:**
|
|
188
|
+
1. Agent picks blocker-fix task first (independent, no dependencies)
|
|
189
|
+
2. Implements `chargeCard` function
|
|
190
|
+
3. Completes blocker-fix task
|
|
191
|
+
4. Parent task FEATURE-42 becomes ready (fix completed)
|
|
192
|
+
5. Agent proceeds with FEATURE-42 execution
|
|
193
|
+
|
|
194
|
+
## 5. REPORT
|
|
79
195
|
Provide progress summary.
|