@vheins/local-memory-mcp 0.14.6 → 0.14.8

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 (32) hide show
  1. package/dist/{chunk-GGZWQVNO.js → chunk-3L6GCUKO.js} +2 -2
  2. package/dist/dashboard/public/assets/index-rb4jB2IX.js +149 -0
  3. package/dist/dashboard/public/index.html +1 -1
  4. package/dist/dashboard/server.js +1 -1
  5. package/dist/mcp/server.js +1 -1
  6. package/dist/prompts/architecture-design.md +8 -12
  7. package/dist/prompts/create-task.md +38 -78
  8. package/dist/prompts/csl-from-docs.md +10 -53
  9. package/dist/prompts/csl-scrapper.md +12 -52
  10. package/dist/prompts/documentation-sync.md +10 -11
  11. package/dist/prompts/export-task-to-github.md +10 -24
  12. package/dist/prompts/fix-suggestion.md +14 -8
  13. package/dist/prompts/import-github-issues.md +9 -24
  14. package/dist/prompts/learning-retrospective.md +8 -10
  15. package/dist/prompts/memory-agent-core.md +16 -27
  16. package/dist/prompts/memory-guided-review.md +11 -8
  17. package/dist/prompts/memory-index-policy.md +17 -23
  18. package/dist/prompts/project-briefing.md +13 -15
  19. package/dist/prompts/review-and-audit.md +35 -49
  20. package/dist/prompts/review-and-post-issue.md +20 -32
  21. package/dist/prompts/root-cause-analysis.md +10 -11
  22. package/dist/prompts/security-triage.md +11 -11
  23. package/dist/prompts/senior-code-review.md +9 -18
  24. package/dist/prompts/sentinel-issue-resolver.md +14 -36
  25. package/dist/prompts/session-planner.md +12 -12
  26. package/dist/prompts/task-management-guidelines.md +18 -27
  27. package/dist/prompts/task-memory-executor.md +40 -127
  28. package/dist/prompts/tech-affinity-scout.md +11 -8
  29. package/dist/prompts/technical-planning.md +22 -37
  30. package/dist/prompts/tool-usage-guidelines.md +31 -43
  31. package/package.json +2 -1
  32. package/dist/dashboard/public/assets/index-mjbj_OkQ.js +0 -87
@@ -3,150 +3,63 @@ name: task-memory-executor
3
3
  description: Sequentially execute pending tasks for current repository.
4
4
  arguments:
5
5
  - name: agent_identity
6
- description: Optional runner identity (e.g., Codex-Jarvis, Codex-HulkBuster, Gemini-Ultron). If omitted, infer identity from the active CLI/IDE and append short session token.
6
+ description: Optional runner identity. If omitted, infer from CLI/IDE + short session token.
7
7
  required: false
8
8
  agent: Task Executor
9
- version: "1.5.4"
10
- license: Proprietary — Personal Use Only
11
9
  category: workflows
12
- type: Orchestrator
13
- complexity: Advanced
10
+ version: "1.5.4"
14
11
  tags: [workflow, task-execution, memory]
15
- author: vheins
16
12
  ---
17
- # Skill: task-memory-executor
18
-
19
- ## 1. SYNC & FILTER
20
- 1. **Identify**: Resolve runner identity + repo name.
21
- - Resolver priority: `agent_identity` argument -> auto-generated session identity for this run.
22
- - Compute this once and reuse it across the full execution loop.
23
- - Auto identity format: `<runner>-<randomName>`.
24
- - `<runner>` should come from the active CLI/IDE label (for example `vibe-coding-cli`, `vibe-coding-ide`, `Codex`, `Gemini`) and `<randomName>` is a short stable session token.
25
- - Use this identity in task claim/update and handoff metadata so parallel terminals remain attributable.
26
- 2. **List**: Call `task-list` ONCE for active tasks.
27
- 3. **Dependency-ready filtering**: In the returned `task-list` order, only run `backlog`/`pending` tasks where:
28
- - `depends_on` is empty or completed, and
29
- - `parent_id` is empty or completed.
30
- - If all are blocked, report blockers and pause.
31
- 4. **Handoffs**: Call `handoff-list` with `status=pending` and inspect relevant transfer context before selecting work. Treat a pending handoff as active only when it has unfinished work, a blocker, a next owner, or a linked task. If it is obsolete or only describes completed work, close it with `handoff-update status=expired`.
32
- 5. **Audit**: Identify stale `in_progress` tasks (>30m no update). Hydrate via `task-detail` to check timestamps.
33
-
34
- ## Task Cache (MANDATORY)
35
- - `task-detail` MUST be called at most ONCE per task
36
- - result MUST be reused across all steps
37
- - do NOT re-fetch or re-inject full detail
38
-
39
- ## 2. EXECUTION LOOP
40
- 1. **Parallelism & Sub-Agents**:
41
- - **MANDATORY**: Tasks MUST be delegated to sub-agents if the current agent has sub-agent capabilities.
42
- - **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.
43
- - **Spawn Limit**: The total number of parallel sub-agents MUST NOT exceed 2. Each sub-agent executes EXACTLY ONE task at a time.
44
- - **Fallback**: If the current agent CANNOT spawn sub-agents, it MUST execute tasks sequentially (exactly ONE concurrent task) until the queue is clear.
45
- 2. **Hydrate**: Fetch full context via `task-detail` for the assigned task.
46
- 3. **Readiness re-check**: Re-check `depends_on`/`parent_id` from hydrated detail; if still blocked, skip and pick next ready task.
47
- 4. **Claim**: Use `task-claim` with `task_code` or `task_id` before implementation. Include the runner identity in claim metadata.
48
- 5. **Start**: `task-update` status to `in_progress` (MUST transition: `pending` → `in_progress`). Add agent/role metadata and the same runner identity used by claims.
49
- 6. **Research**: Call `memory-search` (Hybrid Search) and hydrate relevant results with `memory-detail`.
50
- 7. **Standards (MANDATORY PER TASK)**: Call `standard-search` for every task inside the execution loop before any code edit, test edit, refactor, migration, or implementation decision, using the task intent, affected files, inferred language, stack, and repo as filters. This is required even for small tasks, decomposed tasks, and sub-agent assignments. Apply only relevant standards, hydrate details when needed, and if no relevant standards are returned, continue and state that no applicable standards were found.
51
- 8. **Execute**:
52
- - **Trace**: Inspect logic, call sites, and docs. DO NOT infer from file presence.
53
- - **Logic**: Implement per description/intent.
54
- 9. **Validate**:
55
- - Trace path end-to-end.
56
- - Run tests/linters/type-checks.
57
- - Logic audit for all affected paths.
58
- - **Browser Verification (MANDATORY)**: If the task involves UI/UX changes, use Playwright or Chrome DevTools to verify the feature is functional and consumable by the user. Check console errors, layout overflow, responsive behavior, and core interactions.
59
- 10. **Finalize**:
60
- - **Evidence**: `task-update` status to `completed` with detailed 'comment' (inspected files, verified logic, test results).
61
- - **Cleanup**: Completing/canceling a task automatically releases active claims and expires linked pending handoffs.
62
- - **Memory**: Store insights as `code_fact`/`pattern` via `memory-store`.
63
- - **Standards**: Store durable implementation rules via `standard-store`, not generic memory.
64
- - **Handoff**: If work remains or ownership changes, create `handoff-create` with concise summary and structured context containing next steps/blockers/remaining work. Do not create handoffs for completed-work summaries. Include the runner identity in handoff context/metadata.
65
- - **Retrospective**: Invoke `learning-retrospective`.
66
- - **Commit**: Atomic git commit. The commit message MUST follow this format:
67
- ```
68
- type(scope): your commit message
69
-
70
- - {{task_title}}
71
- {{summary_task}}
72
-
73
- {{keyword}} #{{issue_number}}
74
- ```
75
- Use `fix` for bug fixes, `closes` for features/chores, `resolve` as general. Multiple issues: e.g., `fix #123, closes #124, resolve #125`. Issues close only when merged into the default branch.
76
- - **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.
77
-
78
- 10A. **BLOCKER HANDLING (AUTOMATIC TASK CREATION)**:
79
- - **Trigger**: When task status is updated to `blocked` with a comment explaining the blocker reason.
80
- - **Blocker Classification**: Analyze the blocker comment to determine if it is **internal solvable** or **external**:
81
- - **Internal Solvable** (auto-create task): Missing dependency, missing module/function, configuration/env setup, implementation gap, failing test, build error.
82
- - **External** (skip auto-create): Awaiting user input/approval, API/service unavailability, manual external setup required.
83
- - **Pattern Matching**: Use regex patterns to detect internal blockers in the comment:
84
- - Missing patterns: `/(module|package|library|dependency|import)\s+(not\s+found|missing|undefined|not\s+installed)/i`
85
- - Not implemented: `/(function|interface|class|method|endpoint)\s+not\s+(found|implemented|exists)/i`
86
- - Configuration: `/(config|configuration|setup|env|environment)\s+(missing|not\s+set|invalid)/i`
87
- - Test/build failure: `/(test|build|compile|type\s+check)\s+(failed|error)/i`
88
- - **Auto-Create Task** (if internal solvable):
89
- - Task Code: `${parent_task_code}-FIX-${unix_timestamp}`
90
- - Title: `FIX: [${parent_task_title}] - Resolve: ${blocker_reason_extracted}`
91
- - Description: Follow standard format (1. Context & Analysis, 2. Step & Implementation, 3. Acceptance & Verification)
92
- - Parent ID: Set to current blocked task ID
93
- - Priority: `4` (HIGH)
94
- - Phase: `blocker-resolution`
95
- - Tags: `["blocker-fix", "auto-generated"]`
96
- - Metadata: Include `triggered_by_task`, `blocker_reason`, `creation_timestamp`, and `agent_identity`
97
- - **Update Parent Task**: Add comment linking to the new blocker-fix task
98
- - **Link Dependencies**: Set parent task's `depends_on` to the new blocker-fix task
99
- - **Skip Creation** (if external): Log that blocker is external, keep task status as `blocked`, no automatic task created.
100
13
 
101
- 11. **Repeat**: Claim next task from `task-list`.
14
+ ## FSM Main Loop
102
15
 
103
- ## 3. BACKLOG MAINTENANCE
104
- If active queue is empty:
105
- 1. Call `task-list` (status: `backlog`).
106
- 2. Move up to 20 highest-priority tasks to `pending` via `task-update`.
107
- 3. Interpret priority using MCP ordering: `5=Critical`, `4=High`, `3=Medium`, `2=Normal`, `1=Low`.
16
+ Entry=S0 S1 → G0 → S2 → S3 → S4 → S5 → S6 → S7 → S8 Exit=exhausted|blocked
17
+ Guard: S(N) req S(N-1)✅; dependency-ready filter (depends_on+parent_id done)
108
18
 
109
- ## 4. BLOCKER REFERENCE (Patterns & Detection)
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
+ S1 | hydrate: task-detail ONCE per task — MUST cache, MUST reuse all steps, NO re-fetch | S0✅ | full task | —
21
+ G0 | readiness: depends_on✅ AND parent_id✅? if all blocked → report blockers + pause | S1✅ | → S2 / skip+pick next | —
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 | —
24
+ S4 | execute: trace logic+callsites+docs — DO NOT infer from file presence; decompose if too broad | S3✅ | changes | —
25
+ S5 | validate: tests + linters + type-check + browser(if UI — MANDATORY: console errors, overflow, responsive, core interactions) + logic audit all paths | S4✅ | verification | —
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
+ S7 | commit: `type(scope): msg — {{task_title}} {{summary_task}} {{keyword}} #N` (fix|closes|resolve, extract N from metadata/URL) | S6✅ | git commit | —
28
+ S8 | repeat → S0 | queue not empty | next task | —
110
29
 
111
- ### Internal Solvable Blocker Patterns (Trigger Auto Task Creation)
30
+ ## Design Note
112
31
 
113
- **Missing Dependencies/Modules**: `module not found`, `missing dependency`, `import not installed`
114
- - Example: "ImportError: Function 'validateToken' not found"
32
+ Main loop is intentionally infinite — runs until MCP task queue is fully exhausted (no pending/backlog tasks remain across all cycles). No max_iterations guard needed.
115
33
 
116
- **Not Implemented**: `function not implemented`, `interface not exists`, `component undefined`
117
- - Example: "Function 'processPayment' not implemented - exists in type definitions but no implementation"
34
+ ## Parallelism Rules
118
35
 
119
- **Configuration/Setup Issues**: `.env missing`, `configuration not set`, `setup invalid`
120
- - Example: "DATABASE_URL environment variable not set"
36
+ - Delegate to sub-agents if capability exists; decompose broad tasks via task-create
37
+ - **Max 2** parallel sub-agents; each executes EXACTLY 1 task
38
+ - Fallback: sequential (1 concurrent) if no sub-agent capability
121
39
 
122
- **Test/Build Failures**: `test failed`, `assertion failed`, `type error`, `build error`
123
- - Example: "Type error: Property 'user' does not exist on type 'Request'"
40
+ ## FSM Blocker Handling
124
41
 
125
- ### External Blocker Patterns (Skip Auto Task Creation)
42
+ Entry=S0 S1 G1|G2 S2 Exit=unblocked|deferred
126
43
 
127
- **Awaiting User/External Action**: `awaiting user`, `requires manual`, `external dependency`
128
- - Example: "Awaiting user approval for database migration"
44
+ S0 | detect: task-update→blocked with reason | is blocked? | blocker comment | —
45
+ S1 | classify: regex-match comment against patterns below | S0✅ | internal solvable | external | —
46
+ G1 | internal solvable? | S1✅ | → S2 auto-create | —
47
+ G2 | external? (awaiting user, API down) | S1✅→external | → keep blocked, no auto task | —
48
+ 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 | —
129
49
 
130
- **External Service Issues**: `API not responding`, `service unavailable`, `server not ready`
131
- - Example: "Payment gateway API not responding"
50
+ ### Blocker Regex Patterns
132
51
 
133
- ### Auto Task Creation Example
52
+ | Category | Regex | Example |
53
+ | --------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
54
+ | Missing | `/(module\|package\|library\|dependency\|import)\s+(not\s+found\|missing\|undefined\|not\s+installed)/i` | `ImportError: Function 'validateToken' not found` |
55
+ | Not impl | `/(function\|interface\|class\|method\|endpoint)\s+not\s+(found\|implemented\|exists)/i` | `Function 'processPayment' not implemented` |
56
+ | Config | `/(config\|configuration\|setup\|env\|environment)\s+(missing\|not\s+set\|invalid)/i` | `DATABASE_URL not set` |
57
+ | Test fail | `/(test\|build\|compile\|type\s+check)\s+(failed\|error)/i` | `Type error: Property 'user' not on 'Request'` |
134
58
 
135
- **Parent Task Blocked**:
136
- ```
137
- Task: FEATURE-42 (Add payment middleware)
138
- Status: blocked
139
- Comment: "Function 'chargeCard' not implemented"
140
- ```
59
+ ## FSM — Backlog Maintenance
141
60
 
142
- **Auto-Generated Fix Task**:
143
- ```
144
- Code: FEATURE-42-FIX-1714737908
145
- Title: FIX: [Add payment middleware] - Resolve: Function 'chargeCard' not implemented
146
- Parent: FEATURE-42
147
- Priority: 4 (HIGH)
148
- Tags: ["blocker-fix", "auto-generated"]
149
- ```
61
+ Entry=S0 S1 Exit=promoted
62
+ Guard: active queue empty?
150
63
 
151
- ## 5. REPORT
152
- Provide progress summary.
64
+ S0 | list backlog: task-list(status=backlog) | active queue empty? | backlog tasks | —
65
+ S1 | promote top 20 by priority(5→1) to pending via task-update | S0✅ | tasks→pending | —
@@ -6,16 +6,19 @@ arguments:
6
6
  description: CSV tech tags (e.g., 'react, tailwind').
7
7
  required: true
8
8
  agent: Tech Scout
9
- version: "1.0.0"
10
9
  category: planning
10
+ version: "1.0.0"
11
11
  tags: [planning, patterns, memory, tech-affinity]
12
12
  ---
13
13
 
14
- Scout for relevant knowledge using tags: [{{tags}}].
14
+ ## FSM
15
+
16
+ Entry=S0 → S1 → S2 → S3 Exit=scouted
17
+ Guard: S(N) req S(N-1)✅
18
+
19
+ S0 | search: memory-search (current_tags=[tags]) + standard-search (stack=[tags]) | tags provided? | pointer rows | —
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 | —
15
23
 
16
- Steps:
17
- 1. **Search**: Call `memory-search` with `current_tags=[{{tags}}]`.
18
- 2. **Standards**: Call `standard-search` with `stack=[{{tags}}]` to find reusable coding standards.
19
- 3. **Hydrate**: Use `memory-detail` for relevant memory pointer rows.
20
- 4. **Filter**: Identify applicable `pattern`, `decision`, and coding standard entries from similar stacks.
21
- 5. **Adapt**: Explain adaptation of these practices to current project and clearly separate memory-derived guidance from standards.
24
+ Tags: {{tags}}
@@ -6,49 +6,34 @@ arguments:
6
6
  description: High-level goal.
7
7
  required: true
8
8
  agent: Technical Architect
9
- version: "1.0.0"
10
- license: Proprietary — Personal Use Only
11
9
  category: workflows
12
- type: Pipeline
13
- complexity: Advanced
10
+ version: "1.0.0"
14
11
  tags: [workflow, technical-planning]
15
- author: vheins
16
12
  ---
17
13
 
18
- # Skill: Technical Planning Pipeline
19
-
20
- ## Purpose
21
- Produces a comprehensive technical blueprint (tech stack, architecture, domain, database, API contracts, execution plan).
22
-
23
- ## Input
24
- | Variable | Type | Req | Description |
25
- |----------|------|-----|-------------|
26
- | `objective` | string | Yes | High-level goal |
27
-
28
14
  ## FSM
29
- Entry: create-task → task-claim Exit: task-update completed|blocked
30
- Guard: A(N) requires all prev A✅
31
15
 
32
- A1 | tech-stack-selection | | tech stack decision | —
33
- A2 | architecture-design | A1✅ | architecture plan | design/architecture/
34
- G1 | approve stack + arch | A2✅ | → proceed | —
35
- A3 | domain-modeling | G1✅ | domain model | design/domain/
36
- A4 | database-schema-planning | A3✅ | schema plan | design/database/
37
- G2 | approve domain + db | A4✅ | → proceed | —
38
- A5 | api-contract-design | G2✅ | API contract | design/api/
39
- G3 | approve API contracts | A5✅ | → proceed | —
40
- A6 | roadmap-creation + all sprint plans + MCP tasks | G3✅ | roadmap + sprint-1..sprint-N + allocation audit + MCP task tree | tasks/roadmap/ + tasks/sprints/ + local-memory-mcp
41
- GF | final approve | A6✅ | → documentation | —
16
+ Entry=create-task task-claim Exit=task-update completed|blocked
17
+ Guard: A(N) req all prev A✅
42
18
 
43
- ## Execution Planning Rule
44
- A6 MUST cover the full delivery horizon. `sprint-planning` is per sprint, so A6 must derive `total_sprints` from roadmap timeline/capacity and generate one sprint-planning task for every sprint number from 1 through `total_sprints`. After sprint allocation audit passes, A6 must invoke `create-task` to create the Local Memory MCP task tree with parent/child and `depends_on` links. The final approval is blocked if only `sprint-1.md` exists while the roadmap contains later sprint-ready work, or if the MCP task tree was not created from the final sprint plans.
19
+ A1 | tech-stack-selection | — | tech stack decision | —
20
+ A2 | architecture-design | A1✅ | architecture plan | design/architecture/
21
+ G1 | approve stack + arch | A2✅ | → proceed | —
22
+ A3 | domain-modeling | G1✅ | domain model | design/domain/
23
+ A4 | database-schema-planning | A3✅ | schema plan | design/database/
24
+ G2 | approve domain + db | A4✅ | → proceed | —
25
+ A5 | api-contract-design | G2✅ | API contract | design/api/
26
+ G3 | approve API contracts | A5✅ | → proceed | —
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
+ GF | final approve — blocked if sprint-N.md missing or MCP task tree not created | A6✅ | → documentation | —
45
29
 
46
30
  ## Optional
47
- A7 | capacity-planning | — | capacity plan | —
48
- A8 | event-storming | — | domain discovery | —
49
- A9 | dependency-mapping | — | dependency map | —
50
- A10 | microservices-boundary | — | service boundaries | —
51
- A11 | monolith-decomposition | — | migration plan | —
52
- A12 | sla-slo-definition | — | SLA/SLO doc | —
53
- A13 | system-design-review | — | review findings | —
54
- A14 | tech-affinity-scout | — | best practices | —
31
+
32
+ A7 | capacity-planning | — | capacity plan | —
33
+ A8 | event-storming | — | domain discovery | —
34
+ A9 | dependency-mapping | — | dependency map | —
35
+ A10 | microservices-boundary | — | service boundaries | —
36
+ A11 | monolith-decomposition | — | migration plan | —
37
+ A12 | sla-slo-definition | — | SLA/SLO doc | —
38
+ A13 | system-design-review | — | review findings | —
39
+ A14 | tech-affinity-scout | — | best practices | —
@@ -3,49 +3,37 @@ name: tool-usage-guidelines
3
3
  description: Tool usage standards & data integrity.
4
4
  arguments: []
5
5
  agent: System Architect
6
- version: "1.0.0"
7
- license: Proprietary — Personal Use Only
8
6
  category: workflows
9
- type: Utility
10
- complexity: Beginner
7
+ version: "1.0.0"
11
8
  tags: [workflow, tooling, memory, policy, mcp]
12
- author: vheins
13
9
  ---
14
- # Tool Usage Standards
15
-
16
- Use the tools in the same flow exposed by the dashboard: navigate with compact lists/search, hydrate only selected records, then mutate through the dedicated create/update tools.
17
-
18
- ## 1. Memory Flow
19
- - **Navigate**: Use `memory-recap` for repository overview and `memory-search` for targeted lookup. Search returns pointer rows only.
20
- - **Hydrate**: Use `memory-detail` with `id` or `code` before relying on full content.
21
- - **Store**: Use `memory-store` only for durable project knowledge. Tag by tech stack, keep titles human-readable, and put auxiliary context in `metadata`.
22
- - **Scope**: Set `is_global=true` only for rules that apply across repositories.
23
- - **Maintain**: Use `memory-update` or `supersedes` when knowledge changes. Avoid duplicate memories.
24
- - **Acknowledge**: After using memory to generate code, call `memory-acknowledge` with `used`, `irrelevant`, or `contradictory`.
25
-
26
- ## 2. Task Flow
27
- - **Navigate**: Start with `task-list` using active statuses (`in_progress,pending`) or explicit filters.
28
- - **Hydrate**: Use `task-detail` after selecting a task from the list. Full task detail includes comments plus current coordination state such as active claims and pending handoffs.
29
- - **Mutate**: Use `task-create`, `task-update`, and `task-delete` for lifecycle changes.
30
- - **Transitions**: Move `backlog/pending/blocked` to `in_progress` before `completed`; include validation evidence and token estimate on completion.
31
- - **Automatic cleanup**: Moving a task to `completed` or `canceled` automatically releases active claims and expires pending handoffs linked to that task.
32
-
33
- ## 3. Standards Flow
34
- - **Search first**: `standard-search` is mandatory before any code edit, test edit, refactor, migration, or implementation decision. Search by `query`, `language`, `stack`, `repo`, and `is_global`; if no relevant standards are returned, continue and state that no applicable standards were found.
35
- - **Apply precisely**: Treat standards as implementation rules, not generic documentation summaries.
36
- - **Store atomically**: Use `standard-store` for one rule per entry with `name`, `content`, `context`, `version`, `language`, `stack`, `tags`, and correct repo/global scope.
37
- - **Scope**: Prefer repo-specific standards for local conventions; use global standards only for cross-repo rules.
38
-
39
- ## 4. Handoff & Claim Flow
40
- - **Queue**: Use `handoff-list` as the handoff navigation layer. Filter by `status`, `from_agent`, or `to_agent`. Hydrated handoff rows include `task_code`, `updated_at`, `expires_at`, and structured `context`.
41
- - **Create handoff**: Use `handoff-create` only when unfinished work needs context transfer. Include `from_agent`, optional `to_agent`, optional `task_code` or `task_id`, concise `summary`, and structured `context` with `next_steps`, `blockers`, or `remaining_work`.
42
- - **Close handoff**: Use `handoff-update` to move stale or consumed handoffs out of `pending`. Use `accepted` when consumed, `rejected` when declined, and `expired` when obsolete or only a completed-work summary.
43
- - **No completion handoff**: Do not create pending handoffs for completed-work summaries, release notes, validation notes, or archive records. Put those on `task-update` comments or durable memory.
44
- - **Claim task**: Use `task-claim` for task ownership. Do not encode claims in memory metadata.
45
- - **Inspect claims**: Use `claim-list` to inspect active ownership by repo or agent before reassigning work.
46
- - **Release claims**: Use `claim-release` to explicitly clear stale ownership when work is transferred or abandoned.
47
- - **Linkage**: Prefer `task_code` for human workflows and `task_id` when already hydrated.
48
-
49
- ## 5. Reference Flow
50
- - Use the dashboard Reference tab as the canonical index of available tools, prompts, resources, schemas, and descriptions.
51
- - Keep prompt and tool definitions aligned with actual schemas so agents and UI users see the same workflow contract.
10
+
11
+ ## FSM — Memory Flow
12
+
13
+ Entry=S0 → S1 → S2 → S3 → S4 Exit=maintained
14
+ Guard: S(N) req S(N-1)✅
15
+
16
+ S0 | navigate: memory-recap (overview) / memory-search (targeted) | | pointer rows |
17
+ S1 | hydrate: memory-detail (id or code) before relying on content | S0✅ | full entry |
18
+ S2 | store: memory-store (durable only, tech tags, human title, aux in metadata) | — | stored | —
19
+ S3 | maintain: memory-update / supersedes for changes; avoid duplicates | — | updated | —
20
+ S4 | acknowledge: memory-acknowledge (used|irrelevant|contradictory) after code gen | code generated? | feedback | —
21
+
22
+ ## FSM Standards Flow
23
+
24
+ Entry=S0 S1 S2 Exit=done
25
+ Guard: S(N) req S(N-1)✅
26
+
27
+ S0 | search: standard-search mandatory before code edit/test/refactor/migrate (query, lang, stack, repo) | | applicable |
28
+ S1 | apply precisely as implementation rules | S0✅ | compliant code | —
29
+ S2 | store: standard-store (1 rule/entry, name, content, context, version, lang, stack, tags, scope) | — | new entry | —
30
+
31
+ ## FSM Handoff & Claim Flow
32
+
33
+ Entry=S0 S1 S2 S3 Exit=resolved
34
+ Guard: S(N) req S(N-1)✅
35
+
36
+ S0 | check: handoff-list (status, from/to agent) + claim-list | | active state |
37
+ S1 | ensure: NO handoff for completion summaries use task-update or memory | | valid |
38
+ S2 | create: handoff-create (unfinished work only, summary + structured context) / task-claim (ownership) | S0✅ | pending | claimed |
39
+ S3 | close: handoff-update (accepted|rejected|expired) / claim-release (stale ownership) | consumed | stale | resolved |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vheins/local-memory-mcp",
3
- "version": "0.14.6",
3
+ "version": "0.14.8",
4
4
  "description": "MCP Local Memory Service for coding copilot agents",
5
5
  "mcpName": "io.github.vheins/local-memory-mcp",
6
6
  "type": "module",
@@ -55,6 +55,7 @@
55
55
  "marked": "^18.0.0",
56
56
  "proper-lockfile": "^4.1.2",
57
57
  "qs": "^6.15.0",
58
+ "sweetalert2": "^11.26.25",
58
59
  "zod": "^4.3.5"
59
60
  },
60
61
  "devDependencies": {