@vheins/local-memory-mcp 0.14.10 → 0.15.1
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-BBPQUVAA.js → chunk-NTU2HEEH.js} +75 -28
- package/dist/dashboard/server.js +1 -1
- package/dist/mcp/server.js +89 -55
- package/dist/prompts/architecture-design.md +3 -2
- package/dist/prompts/create-task.md +4 -3
- package/dist/prompts/csl-from-docs.md +45 -2
- package/dist/prompts/csl-scrapper.md +48 -2
- package/dist/prompts/documentation-sync.md +3 -2
- package/dist/prompts/export-task-to-github.md +5 -4
- package/dist/prompts/fix-suggestion.md +3 -2
- package/dist/prompts/import-github-issues.md +4 -3
- package/dist/prompts/learning-retrospective.md +9 -2
- package/dist/prompts/memory-agent-core.md +19 -4
- package/dist/prompts/memory-guided-review.md +3 -2
- package/dist/prompts/memory-index-policy.md +3 -2
- package/dist/prompts/project-briefing.md +3 -2
- package/dist/prompts/review-and-audit.md +14 -3
- package/dist/prompts/review-and-post-issue.md +20 -4
- package/dist/prompts/root-cause-analysis.md +3 -2
- package/dist/prompts/security-triage.md +8 -3
- package/dist/prompts/senior-code-review.md +3 -2
- package/dist/prompts/sentinel-issue-resolver.md +33 -2
- package/dist/prompts/server/instructions.md +22 -10
- package/dist/prompts/session-planner.md +4 -3
- package/dist/prompts/task-management-guidelines.md +33 -4
- package/dist/prompts/task-memory-executor.md +10 -7
- package/dist/prompts/tech-affinity-scout.md +10 -5
- package/dist/prompts/technical-planning.md +2 -1
- package/dist/prompts/tool-usage-guidelines.md +9 -6
- package/package.json +1 -1
|
@@ -11,21 +11,22 @@ version: "1.5.4"
|
|
|
11
11
|
tags: [workflow, task-execution, memory]
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## Main Loop
|
|
15
15
|
|
|
16
|
-
Entry=S0 → S1 → G0 → S2 → S3 → S4 → S5 → S6 → S7 → S8 Exit=exhausted|blocked
|
|
16
|
+
Entry=S0 → S1 → G0 → S2 → S3 → S4 → S5 → S6 → S7 → S8 → S9 Exit=exhausted|blocked
|
|
17
17
|
Guard: S(N) req S(N-1)✅; dependency-ready filter (depends_on+parent_id done)
|
|
18
18
|
|
|
19
19
|
S0 | sync: resolve identity (arg→auto `<runner>-<randomName>`, 1x reuse all loop) + task-list(ONCE) + handoff-list(pending, close stale) + audit stale in_progress(>30m, hydrate via task-detail) | — | filtered queue | —
|
|
20
20
|
S1 | hydrate: task-detail ONCE per task — MUST cache, MUST reuse all steps, NO re-fetch | S0✅ | full task | —
|
|
21
21
|
G0 | readiness: depends_on✅ AND parent_id✅? if all blocked → report blockers + pause | S1✅ | → S2 / skip+pick next | —
|
|
22
22
|
S2 | claim: task-claim(with identity metadata) + task-update→in_progress(agent, role, identity) | G0✅ | ownership | —
|
|
23
|
-
S3 | research: memory-search + standard-search(MANDATORY per task — even sub-agents/decomposed) + hydrate relevant | S2✅ | context | —
|
|
23
|
+
S3 | research: check task-detail for suggested_skills — load each via skill() tool; then memory-search + standard-search(MANDATORY per task — even sub-agents/decomposed) + hydrate relevant | S2✅ | context | —
|
|
24
24
|
S4 | execute: trace logic+callsites+docs — DO NOT infer from file presence; decompose if too broad | S3✅ | changes | —
|
|
25
25
|
S5 | validate: tests + linters + type-check + browser(if UI — MANDATORY: console errors, overflow, responsive, core interactions) + logic audit all paths | S4✅ | verification | —
|
|
26
26
|
S6 | finalize: task-update→completed(evidence: inspected files, verified logic, test results) + memory-store(insights) + standard-store(rules) + handoff(if work remains — with identity) + retrospective + report | S5✅ | completion | —
|
|
27
27
|
S7 | commit: `type(scope): msg — {{task_title}} {{summary_task}} {{keyword}} #N` (fix|closes|resolve, extract N from metadata/URL) | S6✅ | git commit | —
|
|
28
28
|
S8 | repeat → S0 | queue not empty | next task | —
|
|
29
|
+
S9 | verify: confirm commit format compliance, task updated completed, no stale handoffs remain | S8✅ | verified | —
|
|
29
30
|
|
|
30
31
|
## Design Note
|
|
31
32
|
|
|
@@ -37,15 +38,16 @@ Main loop is intentionally infinite — runs until MCP task queue is fully exhau
|
|
|
37
38
|
- **Max 2** parallel sub-agents; each executes EXACTLY 1 task
|
|
38
39
|
- Fallback: sequential (1 concurrent) if no sub-agent capability
|
|
39
40
|
|
|
40
|
-
##
|
|
41
|
+
## Blocker Handling
|
|
41
42
|
|
|
42
|
-
Entry=S0 → S1 → G1|G2 → S2 Exit=unblocked|deferred
|
|
43
|
+
Entry=S0 → S1 → G1|G2 → S2 → S3 Exit=unblocked|deferred
|
|
43
44
|
|
|
44
45
|
S0 | detect: task-update→blocked with reason | is blocked? | blocker comment | —
|
|
45
46
|
S1 | classify: regex-match comment against patterns below | S0✅ | internal solvable | external | —
|
|
46
47
|
G1 | internal solvable? | S1✅ | → S2 auto-create | —
|
|
47
48
|
G2 | external? (awaiting user, API down) | S1✅→external | → keep blocked, no auto task | —
|
|
48
49
|
S2 | create fix task: code=`{parent}-FIX-{unix}`, title=`FIX: [{parent_title}] — Resolve: {reason}`, priority=4(HIGH), phase=blocker-resolution, parent=current_id, depends_on=parent, tags=[blocker-fix,auto-generated], metadata={triggered_by, blocker_reason, timestamp, identity} | G1✅ | blocker fix task | —
|
|
50
|
+
S3 | verify: confirm fix task created, parent task dependency linked | S2✅ | verified | —
|
|
49
51
|
|
|
50
52
|
### Blocker Regex Patterns
|
|
51
53
|
|
|
@@ -56,10 +58,11 @@ S2 | create fix task: code=`{parent}-FIX-{unix}`, title=`FIX: [{parent_title}]
|
|
|
56
58
|
| Config | `/(config\|configuration\|setup\|env\|environment)\s+(missing\|not\s+set\|invalid)/i` | `DATABASE_URL not set` |
|
|
57
59
|
| Test fail | `/(test\|build\|compile\|type\s+check)\s+(failed\|error)/i` | `Type error: Property 'user' not on 'Request'` |
|
|
58
60
|
|
|
59
|
-
##
|
|
61
|
+
## Backlog Maintenance
|
|
60
62
|
|
|
61
|
-
Entry=S0 → S1 Exit=promoted
|
|
63
|
+
Entry=S0 → S1 → S2 Exit=promoted
|
|
62
64
|
Guard: active queue empty?
|
|
63
65
|
|
|
64
66
|
S0 | list backlog: task-list(status=backlog) | active queue empty? | backlog tasks | —
|
|
65
67
|
S1 | promote top 20 by priority(5→1) to pending via task-update | S0✅ | tasks→pending | —
|
|
68
|
+
S2 | verify: confirm promoted task count, check priority ordering correct | S1✅ | verified | —
|
|
@@ -11,14 +11,19 @@ version: "1.0.0"
|
|
|
11
11
|
tags: [planning, patterns, memory, tech-affinity]
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## Tech Affinity Scout
|
|
15
15
|
|
|
16
|
-
Entry=S0 → S1 → S2 → S3
|
|
16
|
+
Entry=S0 → S1 → S2 → S3 → S4 Exit=scouted
|
|
17
17
|
Guard: S(N) req S(N-1)✅
|
|
18
18
|
|
|
19
|
-
S0 | search: memory-search (current_tags=[tags]) + standard-search (stack=[tags]) | tags provided? | pointer rows | —
|
|
19
|
+
S0 | search: memory-search (current_tags=[tags]) + standard-search (stack=[tags]) + web_search (current practices for stack) | tags provided? | pointer rows + web results | —
|
|
20
20
|
S1 | hydrate: memory-detail for relevant pointers | S0✅ | full entries | —
|
|
21
|
-
S2 | filter: pattern + decision + coding standard entries from similar stacks | S1✅ | applicable knowledge | —
|
|
22
|
-
S3 | adapt: explain adaptation to current project; separate memory-derived vs standards | S2✅ | adaptation guide | —
|
|
21
|
+
S2 | filter: pattern + decision + coding standard + web_search entries from similar stacks | S1✅ | applicable knowledge | —
|
|
22
|
+
S3 | adapt: explain adaptation to current project; separate memory-derived vs standards vs web_search | S2✅ | adaptation guide | —
|
|
23
|
+
S4 | verify: confirm all relevant patterns evaluated, adaptation guidance is actionable | S3✅ | verified | —
|
|
23
24
|
|
|
24
25
|
Tags: {{tags}}
|
|
26
|
+
|
|
27
|
+
## Delegation
|
|
28
|
+
|
|
29
|
+
Web search MUST be delegated to a coding subagent (general/explore). Main agent must NOT execute web_search directly.
|
|
@@ -11,7 +11,7 @@ version: "1.0.0"
|
|
|
11
11
|
tags: [workflow, technical-planning]
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## Technical Planning
|
|
15
15
|
|
|
16
16
|
Entry=create-task → task-claim Exit=task-update completed|blocked
|
|
17
17
|
Guard: A(N) req all prev A✅
|
|
@@ -26,6 +26,7 @@ A5 | api-contract-design | G2✅ | API contract | design/api/
|
|
|
26
26
|
G3 | approve API contracts | A5✅ | → proceed | —
|
|
27
27
|
A6 | derive total_sprints from roadmap timeline+capacity → generate 1 sprint-planning task per sprint(N) + allocation audit + MCP task tree(parent/child + depends_on) | G3✅ | roadmap + sprints-1..N + audit + tasks | tasks/ + MCP
|
|
28
28
|
GF | final approve — blocked if sprint-N.md missing or MCP task tree not created | A6✅ | → documentation | —
|
|
29
|
+
V1 | verify: confirm all artifacts exist at documented output paths, gate approvals recorded | GF✅ | verified | —
|
|
29
30
|
|
|
30
31
|
## Optional
|
|
31
32
|
|
|
@@ -8,9 +8,9 @@ version: "1.0.0"
|
|
|
8
8
|
tags: [workflow, tooling, memory, policy, mcp]
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Memory Flow
|
|
12
12
|
|
|
13
|
-
Entry=S0 → S1 → S2 → S3 → S4 Exit=maintained
|
|
13
|
+
Entry=S0 → S1 → S2 → S3 → S4 → S5 Exit=maintained
|
|
14
14
|
Guard: S(N) req S(N-1)✅
|
|
15
15
|
|
|
16
16
|
S0 | navigate: memory-recap (overview) / memory-search (targeted) | — | pointer rows | —
|
|
@@ -18,22 +18,25 @@ S1 | hydrate: memory-detail (id or code) before relying on content | S0✅ | ful
|
|
|
18
18
|
S2 | store: memory-store (durable only, tech tags, human title, aux in metadata) | — | stored | —
|
|
19
19
|
S3 | maintain: memory-update / supersedes for changes; avoid duplicates | — | updated | —
|
|
20
20
|
S4 | acknowledge: memory-acknowledge (used|irrelevant|contradictory) after code gen | code generated? | feedback | —
|
|
21
|
+
S5 | verify: confirm acknowledge called after code gen, no duplicate memories created | S4✅ | verified | —
|
|
21
22
|
|
|
22
|
-
##
|
|
23
|
+
## Standards Flow
|
|
23
24
|
|
|
24
|
-
Entry=S0 → S1 → S2 Exit=done
|
|
25
|
+
Entry=S0 → S1 → S2 → S3 Exit=done
|
|
25
26
|
Guard: S(N) req S(N-1)✅
|
|
26
27
|
|
|
27
28
|
S0 | search: standard-search mandatory before code edit/test/refactor/migrate (query, lang, stack, repo) | — | applicable | —
|
|
28
29
|
S1 | apply precisely as implementation rules | S0✅ | compliant code | —
|
|
29
30
|
S2 | store: standard-store (1 rule/entry, name, content, context, version, lang, stack, tags, scope) | — | new entry | —
|
|
31
|
+
S3 | verify: confirm standard-search was called, scope and tags correct | S2✅ | verified | —
|
|
30
32
|
|
|
31
|
-
##
|
|
33
|
+
## Handoff & Claim Flow
|
|
32
34
|
|
|
33
|
-
Entry=S0 → S1 → S2 → S3 Exit=resolved
|
|
35
|
+
Entry=S0 → S1 → S2 → S3 → S4 Exit=resolved
|
|
34
36
|
Guard: S(N) req S(N-1)✅
|
|
35
37
|
|
|
36
38
|
S0 | check: handoff-list (status, from/to agent) + claim-list | — | active state | —
|
|
37
39
|
S1 | ensure: NO handoff for completion summaries — use task-update or memory | — | valid | —
|
|
38
40
|
S2 | create: handoff-create (unfinished work only, summary + structured context) / task-claim (ownership) | S0✅ | pending | claimed | —
|
|
39
41
|
S3 | close: handoff-update (accepted|rejected|expired) / claim-release (stale ownership) | consumed | stale | resolved | —
|
|
42
|
+
S4 | verify: confirm no stale handoffs remain, claims reflect actual ownership | S3✅ | verified | —
|