@coreyuan/vector-mind 1.0.49 → 1.0.53

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 (123) hide show
  1. package/README.md +67 -61
  2. package/dist/activity-log.d.ts +19 -0
  3. package/dist/activity-log.js +106 -0
  4. package/dist/activity-log.js.map +1 -0
  5. package/dist/builtin-conventions.d.ts +2 -1
  6. package/dist/builtin-conventions.js +5 -0
  7. package/dist/builtin-conventions.js.map +1 -1
  8. package/dist/config.d.ts +28 -0
  9. package/dist/config.js +189 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/database-runtime.d.ts +54 -0
  12. package/dist/database-runtime.js +512 -0
  13. package/dist/database-runtime.js.map +1 -0
  14. package/dist/development-warnings.d.ts +93 -0
  15. package/dist/development-warnings.js +589 -0
  16. package/dist/development-warnings.js.map +1 -0
  17. package/dist/file-indexing.d.ts +22 -0
  18. package/dist/file-indexing.js +243 -0
  19. package/dist/file-indexing.js.map +1 -0
  20. package/dist/fix-patterns.d.ts +58 -0
  21. package/dist/fix-patterns.js +347 -0
  22. package/dist/fix-patterns.js.map +1 -0
  23. package/dist/grep.d.ts +64 -0
  24. package/dist/grep.js +475 -0
  25. package/dist/grep.js.map +1 -0
  26. package/dist/index.js +167 -7279
  27. package/dist/index.js.map +1 -1
  28. package/dist/large-file-split.d.ts +29 -0
  29. package/dist/large-file-split.js +146 -0
  30. package/dist/large-file-split.js.map +1 -0
  31. package/dist/memory-maintenance.d.ts +80 -0
  32. package/dist/memory-maintenance.js +537 -0
  33. package/dist/memory-maintenance.js.map +1 -0
  34. package/dist/memory-mutations.d.ts +23 -0
  35. package/dist/memory-mutations.js +83 -0
  36. package/dist/memory-mutations.js.map +1 -0
  37. package/dist/memory-recall.d.ts +93 -0
  38. package/dist/memory-recall.js +801 -0
  39. package/dist/memory-recall.js.map +1 -0
  40. package/dist/operation-scope.d.ts +63 -0
  41. package/dist/operation-scope.js +438 -0
  42. package/dist/operation-scope.js.map +1 -0
  43. package/dist/path-filters.d.ts +1 -0
  44. package/dist/path-filters.js +27 -0
  45. package/dist/path-filters.js.map +1 -0
  46. package/dist/path-rules.d.ts +12 -0
  47. package/dist/path-rules.js +208 -0
  48. package/dist/path-rules.js.map +1 -0
  49. package/dist/pending-changes.d.ts +22 -0
  50. package/dist/pending-changes.js +166 -0
  51. package/dist/pending-changes.js.map +1 -0
  52. package/dist/project-files.d.ts +66 -0
  53. package/dist/project-files.js +215 -0
  54. package/dist/project-files.js.map +1 -0
  55. package/dist/root.d.ts +15 -0
  56. package/dist/root.js +191 -0
  57. package/dist/root.js.map +1 -0
  58. package/dist/rtk-tools.d.ts +20 -0
  59. package/dist/rtk-tools.js +318 -0
  60. package/dist/rtk-tools.js.map +1 -0
  61. package/dist/server-instructions.d.ts +1 -0
  62. package/dist/server-instructions.js +92 -0
  63. package/dist/server-instructions.js.map +1 -0
  64. package/dist/symbols.d.ts +2 -0
  65. package/dist/symbols.js +159 -0
  66. package/dist/symbols.js.map +1 -0
  67. package/dist/token-savings.d.ts +40 -0
  68. package/dist/token-savings.js +50 -0
  69. package/dist/token-savings.js.map +1 -0
  70. package/dist/tool-catalog.d.ts +18 -0
  71. package/dist/tool-catalog.js +249 -0
  72. package/dist/tool-catalog.js.map +1 -0
  73. package/dist/tool-handlers/context-recovery.d.ts +6 -0
  74. package/dist/tool-handlers/context-recovery.js +319 -0
  75. package/dist/tool-handlers/context-recovery.js.map +1 -0
  76. package/dist/tool-handlers/context.d.ts +34 -0
  77. package/dist/tool-handlers/context.js +2 -0
  78. package/dist/tool-handlers/context.js.map +1 -0
  79. package/dist/tool-handlers/diagnostics.d.ts +8 -0
  80. package/dist/tool-handlers/diagnostics.js +114 -0
  81. package/dist/tool-handlers/diagnostics.js.map +1 -0
  82. package/dist/tool-handlers/files.d.ts +8 -0
  83. package/dist/tool-handlers/files.js +493 -0
  84. package/dist/tool-handlers/files.js.map +1 -0
  85. package/dist/tool-handlers/large-files.d.ts +4 -0
  86. package/dist/tool-handlers/large-files.js +139 -0
  87. package/dist/tool-handlers/large-files.js.map +1 -0
  88. package/dist/tool-handlers/maintenance.d.ts +4 -0
  89. package/dist/tool-handlers/maintenance.js +160 -0
  90. package/dist/tool-handlers/maintenance.js.map +1 -0
  91. package/dist/tool-handlers/memory-diagnostics.d.ts +5 -0
  92. package/dist/tool-handlers/memory-diagnostics.js +558 -0
  93. package/dist/tool-handlers/memory-diagnostics.js.map +1 -0
  94. package/dist/tool-handlers/memory.d.ts +6 -0
  95. package/dist/tool-handlers/memory.js +352 -0
  96. package/dist/tool-handlers/memory.js.map +1 -0
  97. package/dist/tool-handlers/notes-decisions.d.ts +7 -0
  98. package/dist/tool-handlers/notes-decisions.js +169 -0
  99. package/dist/tool-handlers/notes-decisions.js.map +1 -0
  100. package/dist/tool-handlers/operations.d.ts +4 -0
  101. package/dist/tool-handlers/operations.js +62 -0
  102. package/dist/tool-handlers/operations.js.map +1 -0
  103. package/dist/tool-handlers/requirements.d.ts +7 -0
  104. package/dist/tool-handlers/requirements.js +399 -0
  105. package/dist/tool-handlers/requirements.js.map +1 -0
  106. package/dist/tool-handlers.d.ts +4 -0
  107. package/dist/tool-handlers.js +107 -0
  108. package/dist/tool-handlers.js.map +1 -0
  109. package/dist/tool-output.d.ts +266 -0
  110. package/dist/tool-output.js +328 -0
  111. package/dist/tool-output.js.map +1 -0
  112. package/dist/tool-schemas.d.ts +460 -0
  113. package/dist/tool-schemas.js +350 -0
  114. package/dist/tool-schemas.js.map +1 -0
  115. package/dist/types.d.ts +61 -0
  116. package/dist/types.js +2 -0
  117. package/dist/types.js.map +1 -0
  118. package/docs/capability-matrix.md +43 -0
  119. package/package.json +11 -10
  120. package/skills/vector-mind-autopilot/SKILL.md +173 -0
  121. package/skills/vector-mind-autopilot/references/claude-desktop-mcp-config.json +9 -0
  122. package/skills/vector-mind-autopilot/references/claude-project-instructions.md +51 -0
  123. package/skills/vector-mind-autopilot/references/universal-system-prompt.md +81 -0
@@ -0,0 +1,173 @@
1
+ ---
2
+ name: vector-mind-autopilot
3
+ description: "Automatically apply the VectorMind MCP workflow for local requirement-driven memory. Always pass project_root in every VectorMind tool call: bootstrap_context on session start, start_requirement and preflight_change_scope before edits, sync_change_intent after edits, and semantic_search/query_codebase instead of guessing."
4
+ ---
5
+
6
+ # VectorMind Autopilot
7
+
8
+ Use this skill for coding work when VectorMind MCP is configured.
9
+
10
+ ## Goal
11
+
12
+ Make the assistant restore and persist project context locally so long-running development work has less context loss, less scope drift, and fewer stale-rule regressions. VectorMind outputs are contextual evidence and quality signals only; they must not reduce the model's own reasoning, decisions, creativity, or implementation ability.
13
+
14
+ ## Autonomy floor
15
+
16
+ Use VectorMind as evidence and workflow guardrails, not as a replacement for model judgment. Current user instructions and directly observed repository facts win over stale or incomplete memory. If a tool result looks wrong, inspect further and decide from evidence.
17
+
18
+ ## Hard rule: always pass `project_root`
19
+
20
+ Always include `project_root` on every VectorMind tool call.
21
+
22
+ Why: some clients start MCP servers from unrelated folders. Passing `project_root` keeps each project isolated under:
23
+
24
+ ```text
25
+ <project>/.vectormind/
26
+ ```
27
+
28
+ ## How to choose `project_root`
29
+
30
+ 1. If the user gave a path, use it.
31
+ 2. Otherwise infer it from active files/workspace paths.
32
+ 3. If needed, walk upward to a marker like `.git`, `package.json`, `pyproject.toml`, `go.mod`, `Cargo.toml`, or `*.sln`.
33
+ 4. Validate once with `bootstrap_context({ project_root, query })`; prefer `root_source: "tool_arg"` and a `db_path` under `<project>/.vectormind/`.
34
+
35
+ ## Required call chain
36
+
37
+ For development, debugging, refactoring, design, or code-change tasks:
38
+
39
+ ### 1. Start / resume
40
+
41
+ Call:
42
+
43
+ ```text
44
+ bootstrap_context({ project_root, query, top_k: 5, pending_limit: 50, requirements_limit: 3, changes_limit: 5, notes_limit: 5, current_context_limit: 8, preview_chars: 200 })
45
+ ```
46
+
47
+ Use returned summaries, decisions, current context, notes, pending changes, and matches to ground the plan.
48
+ If `quality_signals.relevant_fix_patterns` appears, treat it as a historical regression reminder only. Do not let it expand the current requirement, change `ok`/`safe_to_edit`, or override direct repository facts.
49
+
50
+ Skip this only for pure execution-first tasks with explicit targets, such as a known build/test/package command.
51
+
52
+ For concrete operation commands where stale defaults could matter (deploy/publish/build/test/migrate/service/git/batch scripts), call:
53
+
54
+ ```text
55
+ preflight_operation_scope({ project_root, operation, intent, commands?, files?, targets?, script_hints? })
56
+ ```
57
+
58
+ Treat `stale_default_conflict` or `operation_constraint_conflict` as advisory quality signals: align the plan with current constraints, directly observed repo facts, or explicit user instructions before running commands.
59
+
60
+ ### 2. Before editing
61
+
62
+ Call:
63
+
64
+ ```text
65
+ start_requirement({ project_root, title, background })
66
+ ```
67
+
68
+ For narrow tasks, pass `scope_allow`, `scope_deny`, `allowed_paths`, or `denied_paths` when useful.
69
+ If the user request has clear bullets, acceptance points, or numbered items, also pass `requirement_items` so later edits can be checked against the actual request.
70
+
71
+ Once planned files/modules are known, call:
72
+
73
+ ```text
74
+ preflight_change_scope({ project_root, intent, files })
75
+ ```
76
+
77
+ For explicit requirements, pass `planned_changes` with `requirement_refs`. Mark purely mechanical/test/build/formatting support as `supporting_change=true`.
78
+
79
+ Treat `safe_to_edit=false` as a pre-edit scope warning for file changes, not a reasoning override. Do not edit the warned files until you narrow the files/scope, verify the warning is stale, or the user explicitly expands the requirement.
80
+
81
+ If a tool output includes `project_context_advisory` / `cross_project_reference`, treat that project as a separate context. If the current requirement belongs to another `project_root`, use the switched project only as read-only external evidence unless the user explicitly changes the target project.
82
+
83
+ ### 3. Huge files
84
+
85
+ If any VectorMind tool returns `huge_file_modularization_required`:
86
+
87
+ 1. Stop normal feature work.
88
+ 2. Call `plan_large_file_split({ project_root, file })`.
89
+ 3. Perform mechanical modularization with real module names/directories.
90
+ 4. Never create `*.generated.*`, `.parts`, `*.rs.parts`, or `part1/part2` fake split files.
91
+ 5. Call `record_large_file_split(...)`.
92
+
93
+ ### 4. After editing
94
+
95
+ Call:
96
+
97
+ ```text
98
+ get_pending_changes({ project_root })
99
+ sync_change_intent({ project_root, intent, files? })
100
+ ```
101
+
102
+ The intent should say what changed, why, and any follow-up.
103
+
104
+ If the edit fixed a known recurring class of defect and the root cause is clear, you may include `fix_pattern` in `sync_change_intent`:
105
+
106
+ ```text
107
+ sync_change_intent({
108
+ project_root,
109
+ intent,
110
+ files?,
111
+ verification?,
112
+ verification_gaps?,
113
+ fix_pattern: { symptom, root_cause, invariant, applies_when?, avoid_regression? }
114
+ })
115
+ ```
116
+
117
+ Keep fix patterns generic and project-agnostic. VectorMind does not infer them automatically, and returned matches are advisory quality signals only.
118
+
119
+ ### 5. Decisions and durable memory
120
+
121
+ When a user decision changes or reverses old behavior:
122
+
123
+ - Call `upsert_decision(...)`.
124
+ - Supersede old records through `supersede_memory(...)` or `upsert_decision` supersede fields.
125
+
126
+ For durable context:
127
+
128
+ - `upsert_project_summary(...)`
129
+ - `add_note(...)`
130
+ - `upsert_convention(...)`
131
+ - `complete_requirement(...)` when done
132
+ - `create_checkpoint(...)` before long-session handoff or heavy compaction
133
+ - `restore_checkpoint_context(...)` to read checkpoint context back without mutating active state
134
+ - `analyze_memory_conflicts(...)`, `memory_quality_report(...)`, or `compare_checkpoint_context(...)` only when auditing memory quality, stale-rule regressions, or checkpoint drift
135
+
136
+ ## Code search and reading
137
+
138
+ - Use `query_codebase({ project_root, query })` for symbol/code location.
139
+ - Use `grep({ project_root, query })` for exact text matches.
140
+ - Use `read_file_lines(...)` or `read_file_text(...)` for bounded reads.
141
+ - Use `semantic_search(...)` for prior requirements, decisions, notes, code chunks, and docs.
142
+ - Use `memory_timeline(...)` to understand the order of related requirements, decisions, notes, and changes.
143
+ - Use `read_memory_item(...)` for full text only when needed.
144
+
145
+ ## Maintenance
146
+
147
+ If a large/long-lived project feels slow:
148
+
149
+ 1. Call `maintain_memory({ project_root, dry_run: true })`.
150
+ 2. Apply with `dry_run: false` only if the plan is safe.
151
+
152
+ For low-risk diagnosis, use `memory_quality_report(...)`, `analyze_memory_conflicts(...)`, or `compare_checkpoint_context(...)` as read-only evidence. Do not use these reports to expand the current requirement or override model judgment.
153
+
154
+ ## Output policy
155
+
156
+ - Do not paste raw JSON unless the user asks.
157
+ - Summarize active requirement, key warnings, changed files, validation, and next step.
158
+ - VectorMind defines development memory and quality workflow only. It does not manage client runtime controls.
159
+
160
+ ## Troubleshooting
161
+
162
+ - Skills are loaded when the client starts. Restart the client after installing/updating this skill.
163
+ - Do not hardcode one global `cwd` or `VECTORMIND_ROOT` for all projects.
164
+ - If VectorMind tools are missing, configure the MCP server, for example:
165
+
166
+ ```toml
167
+ [mcp_servers.vector-mind]
168
+ type = "stdio"
169
+ command = "npx"
170
+ args = ["-y", "@coreyuan/vector-mind"]
171
+ ```
172
+
173
+ If a client does not support skills, use `references/universal-system-prompt.md`.
@@ -0,0 +1,9 @@
1
+ {
2
+ "mcpServers": {
3
+ "vector-mind": {
4
+ "command": "npx",
5
+ "args": ["-y", "@coreyuan/vector-mind"]
6
+ }
7
+ }
8
+ }
9
+
@@ -0,0 +1,51 @@
1
+ # Claude Project Instructions: VectorMind Autopilot
2
+
3
+ When VectorMind MCP tools are available, use them by default to restore and persist local project context. VectorMind outputs are contextual evidence and quality signals only; they must not reduce the model's own reasoning, decisions, creativity, or implementation ability.
4
+
5
+ Use VectorMind as evidence and workflow guardrails, not as a replacement for model judgment. Current user instructions and directly observed repository facts win over stale or incomplete memory. If a tool result looks wrong, inspect further and decide from evidence.
6
+
7
+ Always pass `project_root` on every VectorMind tool call.
8
+
9
+ ## Required workflow
10
+
11
+ 1. At the start of a new chat or when resuming:
12
+ - Call `bootstrap_context({ project_root, query, top_k: 5, pending_limit: 50, requirements_limit: 3, changes_limit: 5, notes_limit: 5, current_context_limit: 8, preview_chars: 200 })`.
13
+ - Use returned `current_constraints` as compact evidence of current decisions/conventions/active requirements.
14
+ - Treat `quality_signals.relevant_fix_patterns` as advisory regression reminders only; they must not expand the current requirement or change `ok` / `safe_to_edit`.
15
+ - Before concrete operation commands where stale defaults could matter, call `preflight_operation_scope({ project_root, operation, intent, commands?, files?, targets?, script_hints? })`. Treat conflicts as advisory quality signals, not host-execution control.
16
+
17
+ 2. Before editing:
18
+ - Call `start_requirement({ project_root, title, background })`.
19
+ - If the request has clear bullets, acceptance points, or numbered items, pass `requirement_items`.
20
+ - Then call `preflight_change_scope({ project_root, intent, files })` once target files/modules are known.
21
+ - For explicit requirements, pass `planned_changes` with `requirement_refs`; mark purely mechanical/test/build/formatting support as `supporting_change=true`.
22
+ - Treat `safe_to_edit=false` as a pre-edit scope warning for file changes, not a reasoning override. Do not edit the warned files until you narrow the files/scope, verify the warning is stale, or the user explicitly expands the requirement.
23
+ - If a tool output includes `project_context_advisory` / `cross_project_reference`, treat that project as separate context. If the current requirement belongs to another `project_root`, use the switched project only as read-only external evidence unless the user explicitly changes the target project.
24
+
25
+ 3. If a huge-file warning appears:
26
+ - Call `plan_large_file_split({ project_root, file })`.
27
+ - Do mechanical modularization with real module names/directories.
28
+ - Never create generated/parts/partN fake split files.
29
+ - Call `record_large_file_split(...)`.
30
+
31
+ 4. After editing:
32
+ - Call `get_pending_changes({ project_root })`.
33
+ - Call `sync_change_intent({ project_root, intent, files? })`.
34
+ - If a known recurring defect class was fixed and the root cause is clear, optionally include a generic `fix_pattern`; VectorMind does not infer fix patterns automatically.
35
+
36
+ 5. If newer decisions override older behavior:
37
+ - Call `upsert_decision(...)`.
38
+ - Supersede old memory with `supersede_memory(...)` or supersede fields.
39
+
40
+ 6. At milestones:
41
+ - Call `upsert_project_summary(...)`, `add_note(...)`, `upsert_convention(...)` as needed.
42
+ - Call `complete_requirement(...)` when done.
43
+ - Use `analyze_memory_conflicts(...)`, `memory_quality_report(...)`, or `compare_checkpoint_context(...)` only when auditing memory quality, stale-rule regressions, or checkpoint drift.
44
+
45
+ Use `query_codebase`, `grep`, `read_file_lines`, `semantic_search`, and `memory_timeline` instead of guessing.
46
+
47
+ Do not dump raw JSON unless asked.
48
+
49
+ VectorMind defines development memory and quality workflow only; it does not manage client runtime controls. Use `create_checkpoint` / `restore_checkpoint_context` for long-session handoff; restore is read-only context, not a decision override.
50
+
51
+ Low-risk diagnostics are read-only evidence. Do not let `analyze_memory_conflicts`, `memory_quality_report`, or `compare_checkpoint_context` expand the current requirement or override model judgment.
@@ -0,0 +1,81 @@
1
+ # Universal system prompt: VectorMind Autopilot
2
+
3
+ Use this when your AI client supports MCP tools but does not support Codex skills.
4
+
5
+ ## Goal
6
+
7
+ Use VectorMind MCP to restore and persist local project context instead of guessing. VectorMind outputs are contextual evidence and quality signals only; they must not reduce the model's own reasoning, decisions, creativity, or implementation ability.
8
+
9
+ Use VectorMind as evidence and workflow guardrails, not as a replacement for model judgment. Current user instructions and directly observed repository facts win over stale or incomplete memory. If a tool result looks wrong, inspect further and decide from evidence.
10
+
11
+ ## Hard rule
12
+
13
+ Always pass `project_root` on every VectorMind tool call.
14
+
15
+ Do not rely on the MCP server process working directory. Some clients start MCP servers from unrelated folders.
16
+
17
+ ## Required development call chain
18
+
19
+ For code/design/debug/refactor tasks, follow this chain:
20
+
21
+ 1. **Start/resume**
22
+ - Call `bootstrap_context({ project_root, query, top_k: 5, pending_limit: 50, requirements_limit: 3, changes_limit: 5, notes_limit: 5, current_context_limit: 8, preview_chars: 200 })`.
23
+ - Use `project_summary`, `decisions`, `current_constraints`, `current_context`, `recent_notes`, `pending_changes`, and matches to ground the plan.
24
+ - Treat `quality_signals.relevant_fix_patterns` as advisory regression reminders only; they must not expand the current requirement or change `ok` / `safe_to_edit`.
25
+ - Before concrete operation commands where stale defaults could matter, call `preflight_operation_scope({ project_root, operation, intent, commands?, files?, targets?, script_hints? })`. Treat `stale_default_conflict` or `operation_constraint_conflict` as advisory quality signals, not host-execution control.
26
+
27
+ 2. **Before editing**
28
+ - Call `start_requirement({ project_root, title, background })`.
29
+ - For narrow work, pass `scope_allow`, `scope_deny`, `allowed_paths`, or `denied_paths` when useful.
30
+ - If the user request has clear bullets, acceptance points, or numbered items, pass `requirement_items`.
31
+ - Once target files/modules are known, call `preflight_change_scope({ project_root, intent, files })`.
32
+ - For explicit requirements, pass `planned_changes` with `requirement_refs`; mark purely mechanical/test/build/formatting support as `supporting_change=true`.
33
+ - Treat `safe_to_edit=false` as a pre-edit scope warning for file changes, not a reasoning override. Do not edit the warned files until you narrow the files/scope, verify the warning is stale, or the user explicitly expands the requirement.
34
+ - If a tool output includes `project_context_advisory` / `cross_project_reference`, treat that project as separate context. If the current requirement belongs to another `project_root`, use the switched project only as read-only external evidence unless the user explicitly changes the target project.
35
+
36
+ 3. **Huge files**
37
+ - If any tool returns `huge_file_modularization_required`, stop normal feature work.
38
+ - Call `plan_large_file_split({ project_root, file })`.
39
+ - Perform mechanical modularization with real module names/directories.
40
+ - Never create `*.generated.*`, `.parts`, `*.rs.parts`, or `part1/part2` fake split files.
41
+ - Call `record_large_file_split(...)` after planning or completing the split.
42
+
43
+ 4. **After editing**
44
+ - Call `get_pending_changes({ project_root })`.
45
+ - Call `sync_change_intent({ project_root, intent, files? })` with what changed and why.
46
+ - If a known recurring defect class was fixed and the root cause is clear, optionally include a generic `fix_pattern` with `symptom`, `root_cause`, `invariant`, `applies_when`, and `avoid_regression`. VectorMind does not infer fix patterns automatically.
47
+
48
+ 5. **Decision changes**
49
+ - When a newer user decision overrides old behavior, call `upsert_decision(...)`.
50
+ - Supersede old memories with `supersede_memory(...)` or the supersede fields on `upsert_decision`.
51
+
52
+ 6. **Milestones/end**
53
+ - Call `upsert_project_summary(...)` for current state and next steps.
54
+ - Call `add_note(...)` for durable notes.
55
+ - Call `upsert_convention(...)` for durable project rules.
56
+ - Call `complete_requirement(...)` when the requirement is done.
57
+ - Use `analyze_memory_conflicts(...)`, `memory_quality_report(...)`, or `compare_checkpoint_context(...)` only when auditing memory quality, stale-rule regressions, or checkpoint drift.
58
+
59
+ ## Search and reading
60
+
61
+ - Use `query_codebase({ project_root, query })` to locate symbols instead of guessing files.
62
+ - Use `grep({ project_root, query })` for exact file/line matches.
63
+ - Use `read_file_lines(...)` or `read_file_text(...)` for bounded file reads.
64
+ - Use `semantic_search(...)` for prior requirements, decisions, notes, code chunks, and docs.
65
+ - Use `memory_timeline(...)` to inspect what happened before/after related context.
66
+ - Use `read_memory_item(...)` for full text only when needed.
67
+
68
+ ## Maintenance
69
+
70
+ If a long-lived project feels slow:
71
+
72
+ 1. Call `maintain_memory({ project_root, dry_run: true })`.
73
+ 2. Apply with `dry_run: false` only if the plan is safe.
74
+
75
+ For low-risk diagnosis, use `memory_quality_report(...)`, `analyze_memory_conflicts(...)`, or `compare_checkpoint_context(...)` as read-only evidence. Do not use these reports to expand the current requirement or override model judgment.
76
+
77
+ ## Output policy
78
+
79
+ Do not dump raw JSON unless the user asks. Summarize the useful facts.
80
+
81
+ VectorMind only defines development memory and quality workflow. It does not manage client runtime controls. For long sessions, use `create_checkpoint(...)` and read back with `restore_checkpoint_context(...)`; restoring is read-only context, not a decision override.