@mnemonik/shared 6.5.6 → 6.6.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.
@@ -4,8 +4,19 @@
4
4
  * This is the SINGLE SOURCE OF TRUTH for MCP instructions.
5
5
  * Shared instruction content imported by the server.
6
6
  *
7
- * Version: 2.102
8
- * Updated: 2026-06-29
7
+ * Version: 2.104
8
+ * Updated: 2026-07-13
9
+ *
10
+ * v2.104 — Disambiguated persistent project task memories from Claude Code's
11
+ * host-local TaskList and made completeness proactive. A request for a
12
+ * complete/all list must build cursor continuation into the first Code
13
+ * Mode program; guidance returned after an incomplete outer call is too
14
+ * late to preserve the one-round-trip workflow.
15
+ *
16
+ * v2.103 — Added the compact Discover → Select → Hydrate interpretation
17
+ * fallback for Config-A. Dynamic response orchestration remains
18
+ * authoritative; this sentence only teaches an un-orchestrated client
19
+ * how to act on retrieval envelopes without walking full bodies.
9
20
  *
10
21
  * v2.102 — Strengthened the self-bootstrap trigger to a compelling imperative.
11
22
  * The v2.101 phrasing ("At the start of a session, unless ... call ...")
@@ -96,7 +107,7 @@ export declare function getMcpInstructions(): string;
96
107
  * Raw instructions content (always returns the content, ignores env var).
97
108
  * Use getMcpInstructions() for production code.
98
109
  */
99
- export declare const MCP_INSTRUCTIONS_RAW = "If your context does not contain a block beginning \"Mnemonik project context (cached\", call session_bootstrap before replying or taking any other action \u2014 e.g. session_bootstrap({ cwd: \"/absolute/path/to/project\" }), where cwd is the real absolute path to the project root you are working in (required; the call fails without it \u2014 substitute your actual path, not the example). It loads this project's prior decisions, open tasks, and policies. If that block is already present, do not call session_bootstrap; the context is already loaded.";
110
+ export declare const MCP_INSTRUCTIONS_RAW = "If your context does not contain a block beginning \"Mnemonik project context (cached\", call session_bootstrap before replying or taking any other action \u2014 e.g. session_bootstrap({ cwd: \"/absolute/path/to/project\" }), where cwd is the real absolute path to the project root you are working in (required; the call fails without it \u2014 substitute your actual path, not the example). It loads this project's prior decisions, open tasks, and policies. If that block is already present, do not call session_bootstrap; the context is already loaded.\n\nLarge retrievals arrive as complete hydrated records plus exact pointer rows and extent/facet counts. Select relevant IDs and hydrate exact originals with mnemonik.memory_get({ memoryIds: [...], includeRaw: true }); refine the query or continue the index cursor when the visible index is incomplete\u2014do not page full bodies merely to discover what exists.\n\nProject work items and pending tasks live in mnemonik.tasks, not the host TaskList. A pending-task list requires mnemonik.tasks({ action:\"list\", status:\"pending\", ... }); never omit action:\"list\". If the request says pending, status:\"pending\" is required\u2014an unfiltered list is wrong. For in-progress, completed, or all-status requests, use the matching status or no status filter. Each list page is { hydrated, index, extent, cursor }, not { tasks }. When the user requests a complete or all-results list, collect [...page.hydrated, ...page.index] in one memory_tools program, repeat the same inner query with each returned cursor until cursor is null, then return compact id/title/status rows. Pointer rows already contain title; use title: row.title ?? row.text without hydrating bodies. Do not stop at the first retrieval envelope.";
100
111
  /**
101
112
  * Default export for convenience.
102
113
  * Note: This respects the MNEMONIK_INSTRUCTIONS_ENABLED env var.
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAIH;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAO3C;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,+iBAAuB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAuB,CAAC"}
1
+ {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AAUH;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAO3C;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,6uDAAuB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAuB,CAAC"}
@@ -4,8 +4,19 @@
4
4
  * This is the SINGLE SOURCE OF TRUTH for MCP instructions.
5
5
  * Shared instruction content imported by the server.
6
6
  *
7
- * Version: 2.102
8
- * Updated: 2026-06-29
7
+ * Version: 2.104
8
+ * Updated: 2026-07-13
9
+ *
10
+ * v2.104 — Disambiguated persistent project task memories from Claude Code's
11
+ * host-local TaskList and made completeness proactive. A request for a
12
+ * complete/all list must build cursor continuation into the first Code
13
+ * Mode program; guidance returned after an incomplete outer call is too
14
+ * late to preserve the one-round-trip workflow.
15
+ *
16
+ * v2.103 — Added the compact Discover → Select → Hydrate interpretation
17
+ * fallback for Config-A. Dynamic response orchestration remains
18
+ * authoritative; this sentence only teaches an un-orchestrated client
19
+ * how to act on retrieval envelopes without walking full bodies.
9
20
  *
10
21
  * v2.102 — Strengthened the self-bootstrap trigger to a compelling imperative.
11
22
  * The v2.101 phrasing ("At the start of a session, unless ... call ...")
@@ -82,7 +93,13 @@
82
93
  *
83
94
  * Token-optimised rewrite (superseded by later instruction rewrites).
84
95
  */
85
- const INSTRUCTIONS_CONTENT = `If your context does not contain a block beginning "Mnemonik project context (cached", call session_bootstrap before replying or taking any other action — e.g. session_bootstrap({ cwd: "/absolute/path/to/project" }), where cwd is the real absolute path to the project root you are working in (required; the call fails without it — substitute your actual path, not the example). It loads this project's prior decisions, open tasks, and policies. If that block is already present, do not call session_bootstrap; the context is already loaded.`;
96
+ // Dynamic response orchestration remains authoritative. The second paragraph is the
97
+ // Config-A interpretation fallback when no hook/proxy guidance channel is available.
98
+ const INSTRUCTIONS_CONTENT = `If your context does not contain a block beginning "Mnemonik project context (cached", call session_bootstrap before replying or taking any other action — e.g. session_bootstrap({ cwd: "/absolute/path/to/project" }), where cwd is the real absolute path to the project root you are working in (required; the call fails without it — substitute your actual path, not the example). It loads this project's prior decisions, open tasks, and policies. If that block is already present, do not call session_bootstrap; the context is already loaded.
99
+
100
+ Large retrievals arrive as complete hydrated records plus exact pointer rows and extent/facet counts. Select relevant IDs and hydrate exact originals with mnemonik.memory_get({ memoryIds: [...], includeRaw: true }); refine the query or continue the index cursor when the visible index is incomplete—do not page full bodies merely to discover what exists.
101
+
102
+ Project work items and pending tasks live in mnemonik.tasks, not the host TaskList. A pending-task list requires mnemonik.tasks({ action:"list", status:"pending", ... }); never omit action:"list". If the request says pending, status:"pending" is required—an unfiltered list is wrong. For in-progress, completed, or all-status requests, use the matching status or no status filter. Each list page is { hydrated, index, extent, cursor }, not { tasks }. When the user requests a complete or all-results list, collect [...page.hydrated, ...page.index] in one memory_tools program, repeat the same inner query with each returned cursor until cursor is null, then return compact id/title/status rows. Pointer rows already contain title; use title: row.title ?? row.text without hydrating bodies. Do not stop at the first retrieval envelope.`;
86
103
  /**
87
104
  * Get MCP instructions, respecting MNEMONIK_INSTRUCTIONS_ENABLED env var.
88
105
  * Set MNEMONIK_INSTRUCTIONS_ENABLED=false to disable for testing.
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEH,MAAM,oBAAoB,GAAG,8hBAA8hB,CAAC;AAE5jB;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAI,UAAyE,CAAC,OAAO;QAC5F,EAAE,GAAG,CAAC;IACR,IAAI,GAAG,EAAE,6BAA6B,KAAK,OAAO,EAAE,CAAC;QACnD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AAEH,oFAAoF;AACpF,qFAAqF;AACrF,MAAM,oBAAoB,GAAG;;;;m0BAIsyB,CAAC;AAEp0B;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAI,UAAyE,CAAC,OAAO;QAC5F,EAAE,GAAG,CAAC;IACR,IAAI,GAAG,EAAE,6BAA6B,KAAK,OAAO,EAAE,CAAC;QACnD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnemonik/shared",
3
- "version": "6.5.6",
3
+ "version": "6.6.1",
4
4
  "description": "Shared constants and utilities for Mnemonik packages",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -4,8 +4,19 @@
4
4
  * This is the SINGLE SOURCE OF TRUTH for MCP instructions.
5
5
  * Shared instruction content imported by the server.
6
6
  *
7
- * Version: 2.102
8
- * Updated: 2026-06-29
7
+ * Version: 2.104
8
+ * Updated: 2026-07-13
9
+ *
10
+ * v2.104 — Disambiguated persistent project task memories from Claude Code's
11
+ * host-local TaskList and made completeness proactive. A request for a
12
+ * complete/all list must build cursor continuation into the first Code
13
+ * Mode program; guidance returned after an incomplete outer call is too
14
+ * late to preserve the one-round-trip workflow.
15
+ *
16
+ * v2.103 — Added the compact Discover → Select → Hydrate interpretation
17
+ * fallback for Config-A. Dynamic response orchestration remains
18
+ * authoritative; this sentence only teaches an un-orchestrated client
19
+ * how to act on retrieval envelopes without walking full bodies.
9
20
  *
10
21
  * v2.102 — Strengthened the self-bootstrap trigger to a compelling imperative.
11
22
  * The v2.101 phrasing ("At the start of a session, unless ... call ...")
@@ -83,7 +94,13 @@
83
94
  * Token-optimised rewrite (superseded by later instruction rewrites).
84
95
  */
85
96
 
86
- const INSTRUCTIONS_CONTENT = `If your context does not contain a block beginning "Mnemonik project context (cached", call session_bootstrap before replying or taking any other action — e.g. session_bootstrap({ cwd: "/absolute/path/to/project" }), where cwd is the real absolute path to the project root you are working in (required; the call fails without it — substitute your actual path, not the example). It loads this project's prior decisions, open tasks, and policies. If that block is already present, do not call session_bootstrap; the context is already loaded.`;
97
+ // Dynamic response orchestration remains authoritative. The second paragraph is the
98
+ // Config-A interpretation fallback when no hook/proxy guidance channel is available.
99
+ const INSTRUCTIONS_CONTENT = `If your context does not contain a block beginning "Mnemonik project context (cached", call session_bootstrap before replying or taking any other action — e.g. session_bootstrap({ cwd: "/absolute/path/to/project" }), where cwd is the real absolute path to the project root you are working in (required; the call fails without it — substitute your actual path, not the example). It loads this project's prior decisions, open tasks, and policies. If that block is already present, do not call session_bootstrap; the context is already loaded.
100
+
101
+ Large retrievals arrive as complete hydrated records plus exact pointer rows and extent/facet counts. Select relevant IDs and hydrate exact originals with mnemonik.memory_get({ memoryIds: [...], includeRaw: true }); refine the query or continue the index cursor when the visible index is incomplete—do not page full bodies merely to discover what exists.
102
+
103
+ Project work items and pending tasks live in mnemonik.tasks, not the host TaskList. A pending-task list requires mnemonik.tasks({ action:"list", status:"pending", ... }); never omit action:"list". If the request says pending, status:"pending" is required—an unfiltered list is wrong. For in-progress, completed, or all-status requests, use the matching status or no status filter. Each list page is { hydrated, index, extent, cursor }, not { tasks }. When the user requests a complete or all-results list, collect [...page.hydrated, ...page.index] in one memory_tools program, repeat the same inner query with each returned cursor until cursor is null, then return compact id/title/status rows. Pointer rows already contain title; use title: row.title ?? row.text without hydrating bodies. Do not stop at the first retrieval envelope.`;
87
104
 
88
105
  /**
89
106
  * Get MCP instructions, respecting MNEMONIK_INSTRUCTIONS_ENABLED env var.