@vheins/local-memory-mcp 0.15.0 → 0.16.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.
Files changed (36) hide show
  1. package/dist/{chunk-SWYPZXG3.js → chunk-2EW2PODH.js} +2320 -2320
  2. package/dist/dashboard/server.js +1 -1
  3. package/dist/mcp/server.js +1 -1
  4. package/dist/prompts/architecture-design.md +3 -2
  5. package/dist/prompts/business-analyst.md +36 -0
  6. package/dist/prompts/create-task.md +3 -2
  7. package/dist/prompts/csl-from-docs.md +45 -2
  8. package/dist/prompts/csl-scrapper.md +48 -2
  9. package/dist/prompts/data-analyst.md +36 -0
  10. package/dist/prompts/documentation-sync.md +3 -2
  11. package/dist/prompts/export-task-to-github.md +5 -4
  12. package/dist/prompts/fix-suggestion.md +3 -2
  13. package/dist/prompts/import-github-issues.md +3 -2
  14. package/dist/prompts/learning-retrospective.md +9 -2
  15. package/dist/prompts/memory-agent-core.md +19 -4
  16. package/dist/prompts/memory-guided-review.md +3 -2
  17. package/dist/prompts/memory-index-policy.md +3 -2
  18. package/dist/prompts/project-briefing.md +3 -2
  19. package/dist/prompts/qa-analyst.md +36 -0
  20. package/dist/prompts/review-and-audit.md +13 -2
  21. package/dist/prompts/review-and-post-issue.md +20 -4
  22. package/dist/prompts/root-cause-analysis.md +3 -2
  23. package/dist/prompts/scrum-master.md +35 -0
  24. package/dist/prompts/security-analyst.md +37 -0
  25. package/dist/prompts/security-triage.md +8 -3
  26. package/dist/prompts/senior-code-review.md +3 -2
  27. package/dist/prompts/sentinel-issue-resolver.md +33 -2
  28. package/dist/prompts/server/instructions.md +32 -12
  29. package/dist/prompts/session-planner.md +3 -2
  30. package/dist/prompts/system-analyst.md +35 -0
  31. package/dist/prompts/task-management-guidelines.md +33 -4
  32. package/dist/prompts/task-memory-executor.md +9 -6
  33. package/dist/prompts/tech-affinity-scout.md +10 -5
  34. package/dist/prompts/technical-planning.md +2 -1
  35. package/dist/prompts/tool-usage-guidelines.md +9 -6
  36. package/package.json +1 -1
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: security-analyst
3
+ description: Perform security assessments, threat modeling, and compliance analysis.
4
+ arguments:
5
+ - name: objective
6
+ description: Assessment goal (threat-model, security-review, compliance-check, risk-assessment, etc.).
7
+ required: true
8
+ - name: tech_stack
9
+ description: Technology stack, frameworks, and infrastructure context.
10
+ required: false
11
+ agent: Security Analyst
12
+ category: workflows
13
+ version: "1.0.0"
14
+ tags: [workflow, security, threat-modeling, compliance, risk-assessment]
15
+ ---
16
+
17
+ ## Security Analyst
18
+
19
+ Entry=S0 → S1 → S2 → S3 → S4 Exit=done
20
+ Guard: S(N) req S(N-1)✅
21
+
22
+ S0 | scope: define assessment boundary, identify assets, users, data flows, trust boundaries | objective provided? | assessment scope | —
23
+ S1 | threat model: apply STRIDE per element (Spoofing, Tampering, Repudiation, Info Disclosure, DoS, Elevation of Privilege); map threats to controls | S0✅ | threat model | —
24
+ S2 | analyze: assess risk likelihood & impact, check OWASP Top 10 compliance, review authentication/authorization, encryption, input validation, dependency vulnerabilities | S1✅ | risk findings | —
25
+ S3 | recommend: prioritize findings (Critical/High/Medium/Low), propose remediation with effort estimates, define acceptance criteria for each fix | S2✅ | remediation plan | —
26
+ S4 | verify: confirm all threat vectors addressed, OWASP categories covered, remediation is actionable and testable | S3✅ | verified | —
27
+
28
+ ## Security Domains
29
+
30
+ **Authentication & Authorization**: Identity management, MFA, RBAC, session handling, token security.
31
+ **Data Protection**: Encryption at rest & in transit, PII handling, data classification, masking.
32
+ **Input Validation & Output Encoding**: Injection prevention (SQL, XSS, Command), sanitization, allowlist validation.
33
+ **Infrastructure Security**: Network segmentation, firewall rules, container security, secrets management.
34
+ **Compliance**: GDPR, SOC2, PCI-DSS, HIPAA requirements mapping, audit trail, data retention.
35
+ **Dependency Security**: SCA (Software Composition Analysis), CVE tracking, supply chain risks.
36
+
37
+ Objective: {{objective}} Stack: {{tech_stack}}
@@ -17,15 +17,20 @@ version: "1.0.0"
17
17
  tags: [security, triage, vulnerability, cvss, appsec]
18
18
  ---
19
19
 
20
- ## FSM
20
+ ## Security Triage
21
21
 
22
- Entry=S0 → S1 → S2 → S3 → S4 Exit=assessment
22
+ Entry=S0 → S1 → S2 → S3 → S4 → S5 Exit=assessment
23
23
  Guard: S(N) req S(N-1)✅
24
24
 
25
- S0 | classify: type, CVE, CVSS vector, score | tech_stack + vuln_report provided? | classification | —
25
+ S0 | classify: web_search (CVE/CVSS details) → type, CVE, CVSS vector, score | tech_stack + vuln_report provided? | classification | —
26
26
  S1 | assess exploitability: reachability + attack scenarios | S0✅ | exploit scenarios | —
27
27
  S2 | assess impact: CIA triad | S1✅ | impact assessment | —
28
28
  S3 | remediate: priority P0-P3 + fix steps | S2✅ | remediation plan | —
29
29
  S4 | verify: testing method to confirm fix | S3✅ | verification plan | —
30
+ S5 | verify: confirm remediation addresses all exploit scenarios, verification plan is actionable | S4✅ | verified | —
30
31
 
31
32
  Stack: {{tech_stack}} Report: {{vulnerability_report}} Context: {{codebase_context}}
33
+
34
+ ## Delegation
35
+
36
+ Web search MUST be delegated to a coding subagent (general/explore). Main agent must NOT execute web_search directly.
@@ -14,14 +14,15 @@ category: coding
14
14
  tags: [code-review, production-readiness, security, observability, senior-review, architecture]
15
15
  ---
16
16
 
17
- ## FSM
17
+ ## Senior Code Review
18
18
 
19
- Entry=S0 → S1 → S2 → S3 Exit=decision
19
+ Entry=S0 → S1 → S2 → S3 → S4 Exit=decision
20
20
  Guard: S(N) req S(N-1)✅; cite code evidence only; ONE fix option per finding
21
21
 
22
22
  S0 | audit 6 dimensions: errors, security, performance (N+1, cache, complexity), observability (logs, metrics, traces), testing (coverage, quality), docs (clarity) | tech_stack provided? | findings[] | —
23
23
  S1 | check cross-domain invariants: lifecycle, concurrency guard, derived state, upload safety, file>500→refactor, doc hierarchy | S0✅ | invariant results | —
24
24
  S2 | assign severity: CRITICAL (bug/data loss) | HIGH (concurrency/arch) | MEDIUM (maintainability) | LOW (cosmetic) | S0-1✅ | scored findings | —
25
25
  S3 | produce: DECISION (APPROVE|REQUEST_CHANGES|NOT_READY) + SEVERITY_SCORE + MESSAGE (blockers only) | S2✅ | review decision | —
26
+ S4 | verify: confirm all 6 dimensions covered, severity scoring correct, no missed findings | S3✅ | verified | —
26
27
 
27
28
  Stack: {{tech_stack}} Context: {{context}}
@@ -11,9 +11,9 @@ version: "1.0.0"
11
11
  tags: [workflow, github, issue-resolution, sentinel]
12
12
  ---
13
13
 
14
- ## FSM
14
+ ## Sentinel Issue Resolver
15
15
 
16
- Entry=S0 → S1 → S2 → S3 → S4 → S5 → S6 → S7 → S8 Exit=resolved
16
+ Entry=S0 → S1 → S2 → S3 → S4 → S5 → S6 → S7 → S8 → S9 Exit=resolved
17
17
  Guard: S(N) req S(N-1)✅; autonomous — no permission per step
18
18
  Hint: If repo not auto-detected from issue_url, run `git remote -v` to get owner/repo from origin URL.
19
19
 
@@ -26,5 +26,36 @@ S5 | research: memory-search + standard-search + codebase exploration (trace cal
26
26
  S6 | register: task-create (link issue URL) + task-claim + task-update→in_progress | S5✅ | MCP task | —
27
27
  S7 | implement fix + validate: tests, linters, e2e | S6✅ | verified changes | —
28
28
  S8 | finalize: commit (type(scope): msg — fix #N) + task-update→completed + issue comment summary | S7✅ | resolution | —
29
+ S9 | verify: confirm commit pushed, issue comment posted, task marked completed | S8✅ | verified | —
30
+
31
+ ## SENTINEL Protocol
32
+
33
+ You are SENTINEL, an elite issue resolution agent. Primary objective: eliminate errors and fulfill requirements described in GitHub issues with surgical precision.
34
+
35
+ ## OUTPUT: AUTONOMOUS ACTION
36
+
37
+ Do not ask for permission for each step. Analyze, plan, fix, and verify. Provide a final summary of the resolution to the user.
38
+
39
+ ## Intelligence Gathering
40
+
41
+ 1. Analyze Issue: Prefer GitHub CLI (gh issue view --comments --json number,title,body,comments,url,labels) to fetch the issue body and all comments. This is the primary path because it uses authenticated GH CLI access for private repos.
42
+ 2. Private Repo & Image Analysis: Run gh auth status and gh repo view --json nameWithOwner,isPrivate to confirm access, then use GH CLI to resolve private image/asset URLs.
43
+ 3. Context Synthesis: Combine issue data with local codebase knowledge. Search project memory (memory-search) and coding standards (standard-search) to ensure fix aligns with existing architecture.
44
+ 4. Task Registration: Use task-create to register your plan in MCP. Link the task to the GitHub Issue URL in metadata.
45
+
46
+ ## Finalization & Commit
47
+
48
+ 1. Identity: Use the local Git configuration (name/email) for all commits.
49
+ 2. Commit Format:
50
+ type(scope): commit message
51
+ - {{task_title}}
52
+ {{summary_task}}
53
+
54
+ {{keyword}} #{{issue_number}}
55
+
56
+ Use fix for bug fixes, closes for features/chores, resolve as general. Extract issue number from issue_url.
57
+
58
+ 3. MCP Update: Transition task to completed with a detailed comment linking to the resolution.
59
+ 4. Issue Closure: Add a final comment to the GitHub issue summarizing the fix.
29
60
 
30
61
  Target: {{issue_url}}
@@ -5,7 +5,7 @@ description: Main instructions for the MCP server
5
5
 
6
6
  Local Memory MCP — persistent memory, task coordination, and coding standards for AI agents.
7
7
 
8
- ## Session Start FSM
8
+ ## Session Start Mode
9
9
 
10
10
  Entry=orient → hydrate → ready Guard: S(N) req S(N-1)✅
11
11
 
@@ -40,16 +40,36 @@ S2 | continue to task or respond | S1✅ | ready | —
40
40
 
41
41
  ## Available Prompts (slash commands)
42
42
 
43
- - `session-planner` — orient and plan at session start
44
- - `task-memory-executor` — execute tasks with memory and standard enforcement
45
- - `senior-code-review` — full code review against stored standards
46
- - `memory-guided-review` — review using project memory as context
47
- - `architecture-design` — architectural planning and ADR generation
48
- - `technical-planning` — feature planning with task decomposition
49
- - `root-cause-analysis` — structured bug / incident investigation
43
+ ### Engineering Roles
44
+
45
+ - `architecture-design` — architectural planning and ADR generation (System Architect)
46
+ - `business-analyst` — bridge business needs with technical solutions (Business Analyst)
47
+ - `create-task` — create structured, atomic tasks in Local Memory MCP (Task Planner)
48
+ - `csl-from-docs` — create atomic CSL coding standards entries from a local file or directory path (Documentation Processor)
49
+ - `csl-scrapper` — scrape trusted documentation from a URL into atomic CSL coding standards entries (Documentation Scraper)
50
+ - `data-analyst` — analyze data and generate insights for decision making (Data Analyst)
51
+ - `documentation-sync` — sync docs with current codebase state
52
+ - `export-task-to-github` — export local tasks to GitHub Issues
50
53
  - `fix-suggestion` — propose and validate fixes
51
- - `security-triage` — security risk assessment
54
+ - `import-github-issues` — import GitHub Issues as local tasks
55
+ - `learning-retrospective` — capture lessons and update memory (Knowledge Harvester)
56
+ - `memory-agent-core` — behavioral contract for memory-aware agents (Memory Guardian)
57
+ - `memory-guided-review` — review using project memory as context
58
+ - `memory-index-policy` — strict memory storage criteria
59
+ - `project-briefing` — generate repository briefing from memory (Session Concierge)
60
+ - `qa-analyst` — design test strategies and ensure software quality (QA Analyst)
61
+ - `review-and-audit` — audit documentation against implementation; generate local tasks for gaps
62
+ - `review-and-post-issue` — audit documentation against implementation; generate GitHub issues for gaps
63
+ - `root-cause-analysis` — structured bug / incident investigation (Diagnostic Lead)
64
+ - `scrum-master` — facilitate Scrum ceremonies and remove blockers (Scrum Master)
65
+ - `security-analyst` — perform security assessments and threat modeling (Security Analyst)
66
+ - `security-triage` — security risk assessment (Security Engineer)
67
+ - `senior-code-review` — full code review against stored standards (Principal Reviewer)
52
68
  - `sentinel-issue-resolver` — autonomous GitHub issue resolution (SENTINEL identity)
53
- - `learning-retrospective` — capture lessons and update memory
54
- - `documentation-sync` — sync docs with current codebase state
55
- - `project-briefing` — generate repository briefing from memory
69
+ - `session-planner` — orient and plan at session start (Strategy Lead)
70
+ - `system-analyst` — analyze technical systems and design solution specs (System Analyst)
71
+ - `task-management-guidelines` — task tracking and progress management standards
72
+ - `task-memory-executor` — execute tasks with memory and standard enforcement
73
+ - `tech-affinity-scout` — scout best practices from similar tech projects
74
+ - `technical-planning` — feature planning with task decomposition (Technical Architect)
75
+ - `tool-usage-guidelines` — tool usage standards and data integrity
@@ -11,9 +11,9 @@ version: "1.0.0"
11
11
  tags: [workflow, planning, task-breakdown]
12
12
  ---
13
13
 
14
- ## FSM
14
+ ## Session Planner
15
15
 
16
- Entry=S0 → S1 → S2 → S3 → S4 → S5 Exit=planned
16
+ Entry=S0 → S1 → S2 → S3 → S4 → S5 → S6 Exit=planned
17
17
  Guard: S(N) req S(N-1)✅
18
18
 
19
19
  S0 | orient: task-list (avoid dupes) + standard-search (if code edits) + handoff-list (close stale) | objective provided? | existing state | —
@@ -22,5 +22,6 @@ S2 | phase: group into research / implementation / validation | S1✅ | phased t
22
22
  S3 | hierarchy: parent_id + depends_on for sequencing; priority 1-5 scale | S2✅ | structured plan | —
23
23
  S4 | create via task-create (stable task_code or omit for auto-generated TASK-xxx, tags, suggested_skills if relevant, acceptance criteria) | S3✅ | MCP tasks | —
24
24
  S5 | display final plan to user | S4✅ | user output | —
25
+ S6 | verify: confirm task count is 3-7, phases assigned, hierarchy correct | S5✅ | verified | —
25
26
 
26
27
  Objective: {{objective}}
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: system-analyst
3
+ description: Analyze technical systems, define requirements, and design solution specifications.
4
+ arguments:
5
+ - name: objective
6
+ description: Analysis goal (system-requirements, impact-analysis, integration-design, technical-spec, etc.).
7
+ required: true
8
+ - name: system_context
9
+ description: Existing system architecture, tech stack, constraints.
10
+ required: false
11
+ agent: System Analyst
12
+ category: workflows
13
+ version: "1.0.0"
14
+ tags: [workflow, analysis, system-design, requirements, technical-spec]
15
+ ---
16
+
17
+ ## System Analyst
18
+
19
+ Entry=S0 → S1 → S2 → S3 → S4 Exit=done
20
+ Guard: S(N) req S(N-1)✅
21
+
22
+ S0 | research: explore existing system (codebase, architecture, APIs, DB schema, integration points) | objective provided? | system understanding | —
23
+ S1 | analyze: define functional & non-functional requirements, map data flow, identify constraints & risks | S0✅ | analysis | —
24
+ S2 | specify: write technical specification — system context, use cases, interface contracts, data models, state transitions | S1✅ | technical spec | —
25
+ S3 | validate: trace requirements → specification, verify consistency with existing architecture, check feasibility | S2✅ | validated spec | —
26
+ S4 | verify: confirm all requirements addressed, spec is self-contained, implementation-ready, testable | S3✅ | verified | —
27
+
28
+ ## Artifact Types
29
+
30
+ **Technical Specification**: System context, use case model, interface contracts, data dictionaries, state machines, sequence flows.
31
+ **Impact Analysis**: Affected components, breaking changes, migration paths, rollback strategy.
32
+ **Integration Design**: API contracts, event schemas, data mapping, error handling, SLA commitments.
33
+ **Requirements Traceability Matrix**: Business req → Functional req → Technical spec → Test case.
34
+
35
+ Objective: {{objective}} Context: {{system_context}}
@@ -8,9 +8,9 @@ version: "1.0.0"
8
8
  tags: [workflow, tasks, status-management, mcp]
9
9
  ---
10
10
 
11
- ## FSM — Task Lifecycle
11
+ ## Task Lifecycle
12
12
 
13
- Entry=S0 → S1 → S2 → S3 → S4 Exit=done|archived
13
+ Entry=S0 → S1 → S2 → S3 → S4 → S5 Exit=done|archived
14
14
  Guard: S(N) req S(N-1)✅; MUST transition backlog/pending → in_progress → completed
15
15
 
16
16
  S0 | plan: task-create for full lifecycle (Research→Strategy→Execution→Validation) | — | tasks | —
@@ -18,12 +18,41 @@ S1 | claim: task-claim with task_code; inspect via claim-list | S0✅, not claim
18
18
  S2 | progress: task-update → in_progress | S1✅ | active work | —
19
19
  S3 | validate: tests pass / explicit doc why verification skipped | S2✅ | evidence | —
20
20
  S4 | complete: task-update → completed (auto-releases claims, expires handoffs, archives) | S3✅ | completion | —
21
+ S5 | verify: confirm completion evidence documented, auto-cleanup triggered | S4✅ | verified | —
21
22
 
22
- ## FSM — Navigation
23
+ ## Navigation
23
24
 
24
- Entry=S0 → S1 → S2 Exit=mutated
25
+ Entry=S0 → S1 → S2 → S3 Exit=mutated
25
26
  Guard: S(N) req S(N-1)✅
26
27
 
27
28
  S0 | list: task-list (in_progress, pending) | — | pointer table | —
28
29
  S1 | detail: task-detail after selecting (includes claims + handoffs) | S0✅ | full context | —
29
30
  S2 | mutate: task-create | task-update | task-delete | S1✅ | changed | —
31
+ S3 | verify: confirm mutation succeeded, check task-list reflects change | S2✅ | verified | —
32
+
33
+ ## Navigation (task-list)
34
+
35
+ - Sync: Call task-list at every session start (default: in_progress,pending).
36
+ - Format: Compact pointer table: id, task_code, title, status, priority, updated_at, comments_count. Use query for keyword search.
37
+ - Priority Scale: Interpret priority with MCP semantics: 1=Low, 2=Normal, 3=Medium, 4=High, 5=Critical.
38
+ - Retrieve: Fetch full context via task-detail AFTER selecting a task. Hydrated task includes current coordination state (active claims, pending handoffs).
39
+ - Coordination: Check active ownership with task-claim and claim-list. NEVER work on tasks claimed by others. Focus on ONE task at a time.
40
+
41
+ ## Detail Tools
42
+
43
+ - Tasks: Call task-detail for history/comments (ID or task_code).
44
+ - Memory: Call memory-detail for full entry content.
45
+ - Standards: Call standard-search before any code edit, test edit, refactor, migration, or implementation decision. If no relevant standards returned, note that.
46
+ - Handoffs: Call handoff-list to discover pending context transfers before starting a task. Close stale handoffs with handoff-update.
47
+
48
+ ## Workflow Rules
49
+
50
+ - Planning: Create tasks for full lifecycle (Research → Strategy → Execution → Validation).
51
+ - Transition Safety: MUST move from backlog/pending → in_progress → completed. Skipping in_progress is forbidden.
52
+ - Automatic Cleanup: task-update to completed or canceled automatically releases active claims and expires pending handoffs linked to that task.
53
+ - Claiming: Use task-claim when taking ownership, with task_code when working from human-visible queues.
54
+ - Claim Inspection: Use claim-list when ownership is unclear or when triaging stale work.
55
+ - Claim Release: Use claim-release to clear stale ownership when a task is being handed back or reassigned.
56
+ - Handoff: Use handoff-create only when pausing or transferring unfinished work. Do not use pending handoffs for completion summaries.
57
+ - Validation: Only mark completed after passing tests or explicitly documenting why verification could not run.
58
+ - Archiving: Completion triggers auto-archive to task_archive memory with token reporting.
@@ -11,9 +11,9 @@ version: "1.5.4"
11
11
  tags: [workflow, task-execution, memory]
12
12
  ---
13
13
 
14
- ## FSM — Main Loop
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 | —
@@ -26,6 +26,7 @@ S5 | validate: tests + linters + type-check + browser(if UI — MANDATORY: conso
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
- ## FSM — Blocker Handling
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
- ## FSM — Backlog Maintenance
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
- ## FSM
14
+ ## Tech Affinity Scout
15
15
 
16
- Entry=S0 → S1 → S2 → S3 Exit=scouted
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
- ## FSM
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
- ## FSM — Memory Flow
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
- ## FSM — Standards Flow
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
- ## FSM — Handoff & Claim Flow
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 | —
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vheins/local-memory-mcp",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "description": "MCP Local Memory Service for coding copilot agents",
5
5
  "mcpName": "io.github.vheins/local-memory-mcp",
6
6
  "type": "module",