engram-mcp-server 1.7.0 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -211,10 +211,17 @@ Run this single command in your terminal. It will automatically detect your IDE
211
211
  npx -y engram-mcp-server --install
212
212
  ```
213
213
 
214
+ **Universal mode** (~80 token single-tool schema — recommended for token-conscious setups):
215
+
216
+ ```bash
217
+ npx -y engram-mcp-server --install --universal
218
+ ```
219
+
214
220
  **Non-interactive mode (CI/CD / Scripting):**
215
221
 
216
222
  ```bash
217
223
  npx -y engram-mcp-server install --ide vscode --yes
224
+ npx -y engram-mcp-server install --ide vscode --universal --yes
218
225
  ```
219
226
 
220
227
  **Clean removal:**
@@ -461,6 +468,22 @@ In the extension settings → MCP Servers:
461
468
 
462
469
  </details>
463
470
 
471
+ ### Verifying Your Installation
472
+
473
+ After installing, verify Engram is working by running:
474
+
475
+ ```bash
476
+ npx -y engram-mcp-server --check
477
+ ```
478
+
479
+ Or use the MCP Inspector for a full interactive test:
480
+
481
+ ```bash
482
+ npx @modelcontextprotocol/inspector npx -y engram-mcp-server
483
+ ```
484
+
485
+ In your IDE, open the AI chat and ask the agent to call `engram_session(action:"start")`. If it returns a session ID and tool catalog, Engram is running correctly.
486
+
464
487
  ---
465
488
 
466
489
  ## Features
@@ -601,51 +624,75 @@ Engram v1.7.0 exposes **4 dispatcher tools** (or 1 tool in `--mode=universal`).
601
624
 
602
625
  ## Using with AI Agents
603
626
 
604
- Add the following to your agent's system prompt or custom instructions Cursor Rules, `.github/copilot-instructions.md`, `CLAUDE.md`, or whichever file your IDE reads. The goal is to make the agent consult Engram **before** doing work, not just after. That's where most of the token and time savings come from.
627
+ > **Copy-paste ready.** Copy everything between the `<!-- ENGRAM_INSTRUCTIONS_START -->` and `<!-- ENGRAM_INSTRUCTIONS_END -->` markers below directly into your agent's instruction file`CLAUDE.md`, `.github/copilot-instructions.md`, Cursor Rules, or equivalent. No reformatting needed. Works as-is.
628
+
629
+ <!-- ENGRAM_INSTRUCTIONS_START -->
630
+
631
+ ## Engram — Persistent Memory MCP (v1.7)
605
632
 
606
- > You have access to **Engram**, a persistent memory MCP server. It stores everything learned about this project across all sessions: file notes, architectural decisions, conventions, tasks, and change history. Use it to avoid re-reading files already analysed, re-debating settled decisions, and re-discovering known context.
633
+ Engram is a persistent memory MCP server. It gives AI agents session continuity, change tracking, decision logging, and multi-agent coordination across sessions — all via a SQLite database. The API surface is **4 dispatcher tools** (or **1 tool** in universal mode) — each routed via an `action` parameter. Schema tokens: ~1,600 per call in standard mode, ~80 in universal mode.
634
+
635
+ Follow these rules **every session, every project**.
607
636
 
608
637
  ---
609
638
 
610
- ### 🟢 Session Start
639
+ ### Dispatcher Tools
640
+
641
+ | Tool | Responsibility |
642
+ | ---------------- | ------------------------------------------------- |
643
+ | `engram_session` | Session lifecycle (start, end, handoffs, history) |
644
+ | `engram_memory` | All memory operations (34+ actions) |
645
+ | `engram_admin` | Maintenance, git hooks, backup, config, stats |
646
+ | `engram_find` | Tool catalog search + convention linting |
647
+
648
+ > If running in **universal mode** (`--mode=universal`), all actions route through a single `engram` tool instead. Call `engram({ action: "start" })` etc.
611
649
 
612
- **Always call `engram_session(action:"start")` first** before reading any file or taking any action. Pass `focus` when you know what you're about to work on — it FTS5-ranks returned context around that topic.
650
+ > Use `engram_find({ query: "what I want to do" })` whenever you don't know the exact `action` name.
651
+
652
+ ---
653
+
654
+ ### 1. Session Start — Always First
655
+
656
+ **Before reading any file or taking any action**, call `engram_session(action:"start")`.
613
657
 
614
658
  ```js
615
659
  engram_session({
616
660
  action: "start",
617
661
  agent_name: "claude",
618
662
  verbosity: "summary",
619
- focus: "authentication refactor",
663
+ focus: "topic if known",
620
664
  });
621
665
  ```
622
666
 
623
- Act on everything it returns:
667
+ - **Verbosity** Use `"summary"` by default. Use `"minimal"` for count-only context. Use `"nano"` (under 100 tokens) only when context is critically constrained. **Never** use `"full"`.
668
+ - **`focus`** — When you know what you're about to work on, pass it. Context is FTS5-ranked around that topic.
669
+ - **`tool_catalog`** — Returned at session start. Use it to know available actions — do not call a separate tool for this.
624
670
 
625
- | Field | What to do |
626
- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
627
- | `previous_session.summary` | Read immediately. Do not re-explore what is already known. |
628
- | `active_decisions` | Binding. Follow them; do not re-debate. Supersede with `engram_memory(action:"record_decision")` if they must change. |
629
- | `active_conventions` | Enforce in every file you touch this session. |
630
- | `open_tasks` | Pending work items. Ask the user which to focus on if unclear. |
631
- | `abandoned_work` | Work items left open by a previous session that ended unexpectedly. Review and resume or close. |
632
- | `handoff_pending` | A structured handoff from the previous agent. Read instructions, then call `engram_session(action:"acknowledge_handoff")`. |
633
- | `suggested_focus` | Auto-derived topic hint. Pass as `focus` on the next `start` call for filtered context. |
634
- | `triggered_events` | Scheduled reminders or deferred work now triggered. Act on them. |
635
- | `agent_rules` | Live-loaded rules from the Engram README. Treat as binding session instructions. |
636
- | `tool_catalog` | Full list of available `engram_memory` and `engram_admin` actions with schemas. |
637
- | `update_available` | Tell the user: _"Engram v{available_version} is available. Update, skip, or postpone?"_ |
671
+ Act on everything returned:
638
672
 
639
- If `update_available` is set, respond to the user's choice:
673
+ | Field | What to do |
674
+ | -------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
675
+ | `previous_session.summary` | Read immediately. Do not re-explore what is already known. |
676
+ | `active_decisions` | Binding. Follow them. Supersede via `engram_memory(action:"record_decision", supersedes:<id>)` only if they must change. |
677
+ | `active_conventions` | Enforce in every file touched this session. |
678
+ | `open_tasks` | Pending work. Ask the user which to focus on if unclear. |
679
+ | `abandoned_work` | Work left open by a previous unexpected session end. Resume or close it. |
680
+ | `handoff_pending` | Structured handoff from previous agent. Read instructions, then call `engram_session(action:"acknowledge_handoff")`. |
681
+ | `suggested_focus` | Auto-derived topic hint. Pass as `focus` on the next `start` call. |
682
+ | `triggered_events` | Scheduled reminders or deferred work now due. Act on them. |
683
+ | `agent_rules` | Live-loaded rules from the Engram README. Treat as binding session instructions. |
684
+ | `update_available` | Inform the user: _"Engram v{version} is available — update, skip, or postpone?"_ |
685
+
686
+ **If `update_available` is set**, respond to the user's choice:
640
687
 
641
688
  - **Update** → `npx -y engram-mcp-server install`
642
- - **Skip** → `engram_admin({ action: "config", op: "set", key: "auto_update_skip_version", value: "{version}" })`
643
- - **Postpone** → `engram_admin({ action: "config", op: "set", key: "auto_update_remind_after", value: "7d" })`
644
- - **Disable** → `engram_admin({ action: "config", op: "set", key: "auto_update_check", value: "false" })`
689
+ - **Skip this version** → `engram_admin({ action: "config", op: "set", key: "auto_update_skip_version", value: "{version}" })`
690
+ - **Postpone 7 days** → `engram_admin({ action: "config", op: "set", key: "auto_update_remind_after", value: "7d" })`
691
+ - **Disable checks** → `engram_admin({ action: "config", op: "set", key: "auto_update_check", value: "false" })`
645
692
 
646
693
  ---
647
694
 
648
- ### 📂 Before Reading Any File
695
+ ### 2. Before Opening Any File
649
696
 
650
697
  Always check Engram before opening a file:
651
698
 
@@ -653,18 +700,26 @@ Always check Engram before opening a file:
653
700
  engram_memory({ action: "get_file_notes", file_path: "path/to/file.ts" });
654
701
  ```
655
702
 
656
- - **`confidence: "high"`** Use stored notes. Only open the file if you need to edit it.
657
- - **`confidence: "medium"`** Notes exist but the file may have minor changes. Use as a guide; open if precision matters.
658
- - **`confidence: "stale"`** The file has changed significantly since notes were stored. Re-read and update notes.
659
- - **No notes** → Read the file, then immediately call `engram_memory(action:"set_file_notes")` with `file_path`, `purpose`, `dependencies`, `dependents`, `layer`, `complexity`, `notes`. Batch multiple files with `set_file_notes_batch`.
703
+ | `confidence` result | Action |
704
+ | ------------------- | ----------------------------------------------------------------------------------- |
705
+ | `"high"` | Use stored notes. Only open if you need to edit. |
706
+ | `"medium"` | Notes exist but file may have minor changes. Open only if precision matters. |
707
+ | `"stale"` | File has changed since notes were stored (hash mismatch). Re-read and update notes. |
708
+ | No notes | Read the file, then immediately call `set_file_notes`. |
660
709
 
661
- > **Rule:** Never read a file already analysed in a previous session without checking Engram first.
710
+ After reading a file for the first time, store notes immediately:
711
+
712
+ ```js
713
+ engram_memory({ action: "set_file_notes", file_path, purpose, dependencies, dependents, layer, complexity, notes, executive_summary })
714
+ // Batch multiple files:
715
+ engram_memory({ action: "set_file_notes_batch", files: [...] })
716
+ ```
662
717
 
663
718
  ---
664
719
 
665
- ### 🏛️ Before Making Any Design Decision
720
+ ### 3. Before Making Design or Architecture Decisions
666
721
 
667
- Before choosing an implementation approach, search for an existing decision:
722
+ Search for existing decisions before proposing anything:
668
723
 
669
724
  ```js
670
725
  engram_memory({
@@ -672,29 +727,29 @@ engram_memory({
672
727
  query: "relevant keywords",
673
728
  scope: "decisions",
674
729
  });
730
+ // or:
731
+ engram_memory({ action: "get_decisions" });
675
732
  ```
676
733
 
677
734
  - **Decision exists** → Follow it.
678
- - **Should change** → Explain why, then supersede:
679
- ```js
680
- engram_memory({ action: "record_decision", decision: "...", supersedes: <id> })
681
- ```
682
- - **No decision exists** → Make the call and record it:
683
- ```js
684
- engram_memory({
685
- action: "record_decision",
686
- decision,
687
- rationale,
688
- affected_files,
689
- tags,
690
- });
691
- ```
735
+ - **Needs to change** → Explain why, then: `engram_memory({ action:"record_decision", supersedes:<id>, decision, rationale })`
736
+ - **No decision** → Make the call and record it immediately:
737
+
738
+ ```js
739
+ engram_memory({
740
+ action: "record_decision",
741
+ decision,
742
+ rationale,
743
+ affected_files,
744
+ tags,
745
+ });
746
+ ```
692
747
 
693
748
  ---
694
749
 
695
- ### ✏️ When Modifying Files
750
+ ### 4. When Modifying Files
696
751
 
697
- After every meaningful change, record it. Batch where possible:
752
+ After every meaningful change, record it batch where possible:
698
753
 
699
754
  ```js
700
755
  engram_memory({
@@ -703,7 +758,7 @@ engram_memory({
703
758
  {
704
759
  file_path,
705
760
  change_type, // created | modified | refactored | deleted | renamed | moved | config_changed
706
- description, // What changed AND why — not just the action. Future sessions read this.
761
+ description, // What changed AND why — not just the action
707
762
  impact_scope, // local | module | cross_module | global
708
763
  },
709
764
  ],
@@ -712,7 +767,7 @@ engram_memory({
712
767
 
713
768
  ---
714
769
 
715
- ### 🔍 When You Don't Know Something
770
+ ### 5. When You Don't Know Something
716
771
 
717
772
  Search Engram before asking the user — they may have already explained it to a previous session:
718
773
 
@@ -727,22 +782,91 @@ engram_find({ query: "what I want to do" }); // discover the right action
727
782
 
728
783
  ---
729
784
 
730
- ### 🔴 Session End
785
+ ### 6. Mid-Session — Approaching Context Limits
786
+
787
+ Before hitting the context wall, save a checkpoint:
788
+
789
+ ```js
790
+ engram_memory({ action: "checkpoint", current_understanding: "...", progress_percentage: 70, key_findings: [...], next_steps: [...], file_paths: [...] })
791
+ // Restore later:
792
+ engram_memory({ action: "get_checkpoint" })
793
+ ```
731
794
 
732
- Before ending every session:
795
+ Check for context pressure events proactively:
796
+
797
+ ```js
798
+ engram_memory({ action: "check_events" }); // fires at 50% / 70% / 85% context fill
799
+ ```
800
+
801
+ ---
802
+
803
+ ### 7. Session End — Always Last
804
+
805
+ Before ending any session:
733
806
 
734
807
  1. Record all file changes not yet recorded.
735
- 2. Create tasks for anything incomplete or blocked:
736
- ```js
737
- engram_memory({ action: "create_task", title, description, priority });
738
- ```
739
- 3. Call `engram_session({ action: "end", summary: "..." })` with a summary that includes:
740
- - Exactly what was done — file names, function names, specific changes
741
- - What is pending or blocked, and why
742
- - Any new patterns, gotchas, or constraints discovered
743
- - Which tasks were completed or partially done
808
+ 2. Mark completed tasks: `engram_memory({ action:"update_task", task_id, status:"done" })`
809
+ 3. Create tasks for anything incomplete: `engram_memory({ action:"create_task", title, description, priority })`
810
+ 4. Record any new conventions: `engram_memory({ action:"add_convention", convention, rationale })`
811
+ 5. Call end with a precise summary:
812
+
813
+ ```js
814
+ engram_session({
815
+ action: "end",
816
+ summary:
817
+ "Exact files/functions touched, what is pending, any blockers, new patterns discovered",
818
+ });
819
+ ```
820
+
821
+ ---
822
+
823
+ ### Quick Reference
824
+
825
+ | Situation | Call | Notes |
826
+ | ------------------------------- | ----------------------------------------------------------- | --------------------------------------- |
827
+ | **Start every session** | `engram_session(action:"start")` | verbosity:"summary", add focus if known |
828
+ | Discover an action name | `engram_find({ query:"..." })` | Returns action name + param schema |
829
+ | Before opening any file | `engram_memory(action:"get_file_notes")` | |
830
+ | After first reading a file | `engram_memory(action:"set_file_notes")` | Include `executive_summary` |
831
+ | Before a design choice | `engram_memory(action:"search")` / `action:"get_decisions"` | |
832
+ | Record a new decision | `engram_memory(action:"record_decision")` | Always include `rationale` |
833
+ | After editing files | `engram_memory(action:"record_change")` | Batch multiple changes in one call |
834
+ | Save mid-session progress | `engram_memory(action:"checkpoint")` | Use near context limits |
835
+ | Check context pressure | `engram_memory(action:"check_events")` | Fires at 50% / 70% / 85% |
836
+ | Create task for incomplete work | `engram_memory(action:"create_task")` | |
837
+ | Mark task done | `engram_memory(action:"update_task", status:"done")` | |
838
+ | Record a convention | `engram_memory(action:"add_convention")` | |
839
+ | Schedule deferred work | `engram_memory(action:"schedule_event")` | |
840
+ | Lint code against conventions | `engram_find(action:"lint", content:"...")` | Returns `violations[]` |
841
+ | Backup the database | `engram_admin(action:"backup")` | |
842
+ | **End every session** | `engram_session(action:"end")` | Be specific: files, functions, blockers |
843
+
844
+ ---
845
+
846
+ ### 8. Sub-Agent Sessions (v1.7+)
847
+
848
+ When your orchestrator spawns a sub-agent to handle a specific task, use `agent_role: "sub"` to get a lightweight, task-scoped context (~300-500 tokens) instead of the full session boilerplate:
849
+
850
+ ```js
851
+ engram_session({
852
+ action: "start",
853
+ agent_name: "sub-agent-auth",
854
+ agent_role: "sub",
855
+ task_id: 42, // The task ID assigned by the orchestrator
856
+ });
857
+ ```
858
+
859
+ The response includes only:
860
+ - The specified task's details (title, description, priority, tags)
861
+ - File notes for files assigned to that task
862
+ - Decisions matching the task's tags
863
+ - Up to 5 relevant conventions
864
+
865
+ Sub-agents should still call `engram_session(action:"end")` when done and `engram_memory(action:"record_change")` for any edits made.
866
+
867
+ > **Note:** Sub-agent mode is auto-activated when `agent_role: "sub"` is passed. No separate configuration needed.
744
868
 
745
- A precise summary is what allows the next session to start immediately without re-reading files or re-asking the user for context.
869
+ <!-- ENGRAM_INSTRUCTIONS_END -->
746
870
 
747
871
  ---
748
872
 
@@ -4,8 +4,12 @@ export declare function getInstallerVersion(): string;
4
4
  /**
5
5
  * Generate the Engram server entry tailored to a specific IDE's requirements.
6
6
  * Includes _engram_version so the installer can detect upgrades and legacy installs.
7
+ *
8
+ * @param ide IDE definition (controls type, cmd wrapper, etc.)
9
+ * @param universal When true, adds --mode=universal and --project-root to args.
10
+ * Uses IDE-appropriate workspace variable when available.
7
11
  */
8
- export declare function makeEngramEntry(ide: IdeDefinition): Record<string, any>;
12
+ export declare function makeEngramEntry(ide: IdeDefinition, universal?: boolean): Record<string, any>;
9
13
  /**
10
14
  * Read and parse a JSON config file. Returns null if file doesn't exist or is invalid.
11
15
  */
@@ -25,7 +29,7 @@ export type InstallResult = "added" | "upgraded" | "exists" | "legacy-upgraded";
25
29
  * "upgraded" — updated from an older tracked version to the current one
26
30
  * "legacy-upgraded" — entry existed but had no _engram_version (pre-tracking era), now stamped
27
31
  */
28
- export declare function addToConfig(configPath: string, ide: IdeDefinition): InstallResult;
32
+ export declare function addToConfig(configPath: string, ide: IdeDefinition, universal?: boolean): InstallResult;
29
33
  /**
30
34
  * Remove the Engram entry from a config file.
31
35
  * Returns true if the entry was found and removed, false if not present.
@@ -1 +1 @@
1
- {"version":3,"file":"config-writer.d.ts","sourceRoot":"","sources":["../../src/installer/config-writer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,yFAAyF;AACzF,wBAAgB,mBAAmB,IAAI,MAAM,CAQ5C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAqBvE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAMrE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAG3D;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAEhF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,aAAa,CA2BjF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAgBhF"}
1
+ {"version":3,"file":"config-writer.d.ts","sourceRoot":"","sources":["../../src/installer/config-writer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,yFAAyF;AACzF,wBAAgB,mBAAmB,IAAI,MAAM,CAQ5C;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,UAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA8B1F;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAMrE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAG3D;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAEhF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,UAAQ,GAAG,aAAa,CA2BpG;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAgBhF"}
@@ -18,24 +18,36 @@ export function getInstallerVersion() {
18
18
  /**
19
19
  * Generate the Engram server entry tailored to a specific IDE's requirements.
20
20
  * Includes _engram_version so the installer can detect upgrades and legacy installs.
21
+ *
22
+ * @param ide IDE definition (controls type, cmd wrapper, etc.)
23
+ * @param universal When true, adds --mode=universal and --project-root to args.
24
+ * Uses IDE-appropriate workspace variable when available.
21
25
  */
22
- export function makeEngramEntry(ide) {
26
+ export function makeEngramEntry(ide, universal = false) {
23
27
  const entry = {};
24
28
  // Some IDEs require explicit "type": "stdio"
25
29
  if (ide.requiresType) {
26
30
  entry.type = "stdio";
27
31
  }
32
+ // Build args
33
+ const baseArgs = ["-y", "engram-mcp-server"];
34
+ if (universal) {
35
+ baseArgs.push("--mode=universal");
36
+ }
28
37
  // Windows cmd /c wrapper for npx (npx is a .cmd on Windows)
29
38
  if (ide.requiresCmdWrapper) {
30
39
  entry.command = "cmd";
31
- entry.args = ["/c", "npx", "-y", "engram-mcp-server"];
40
+ entry.args = ["/c", "npx", ...baseArgs];
32
41
  }
33
42
  else {
34
43
  entry.command = "npx";
35
- entry.args = ["-y", "engram-mcp-server"];
44
+ entry.args = [...baseArgs];
36
45
  }
37
46
  // Version stamp — used by the installer to detect upgrades and legacy installs
38
47
  entry._engram_version = getInstallerVersion();
48
+ if (universal) {
49
+ entry._engram_mode = "universal";
50
+ }
39
51
  return entry;
40
52
  }
41
53
  /**
@@ -66,12 +78,12 @@ export function writeJson(filePath, data) {
66
78
  * "upgraded" — updated from an older tracked version to the current one
67
79
  * "legacy-upgraded" — entry existed but had no _engram_version (pre-tracking era), now stamped
68
80
  */
69
- export function addToConfig(configPath, ide) {
81
+ export function addToConfig(configPath, ide, universal = false) {
70
82
  let config = readJson(configPath) || {};
71
83
  const key = ide.configKey;
72
84
  if (!config[key])
73
85
  config[key] = {};
74
- const newEntry = makeEngramEntry(ide);
86
+ const newEntry = makeEngramEntry(ide, universal);
75
87
  const currentVersion = newEntry._engram_version;
76
88
  if (config[key].engram) {
77
89
  const existingVersion = config[key].engram._engram_version;
@@ -1 +1 @@
1
- {"version":3,"file":"config-writer.js","sourceRoot":"","sources":["../../src/installer/config-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-writer.js","sourceRoot":"","sources":["../../src/installer/config-writer.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+CAA+C;AAC/C,+EAA+E;AAE/E,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAGpC,yFAAyF;AACzF,MAAM,UAAU,mBAAmB;IAC/B,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAiB,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,GAAkB,EAAE,SAAS,GAAG,KAAK;IACjE,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,6CAA6C;IAC7C,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,aAAa;IACb,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC7C,IAAI,SAAS,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,4DAA4D;IAC5D,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,IAAI,SAAS,EAAE,CAAC;QACZ,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACrC,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAS;IACjD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9E,CAAC;AAID;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkB,EAAE,GAAkB,EAAE,SAAS,GAAG,KAAK;IACjF,IAAI,MAAM,GAAwB,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC;IAE1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAEnC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,QAAQ,CAAC,eAAyB,CAAC;IAE1D,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,eAAqC,CAAC;QAEjF,iDAAiD;QACjD,IAAI,eAAe,KAAK,cAAc,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,wEAAwE;QACxE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC9B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC5D,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;IAC9B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,GAAkB;IACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM;QAAE,OAAO,KAAK,CAAC;IAEvC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAE1B,6BAA6B;IAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAuCA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,iBA8WhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAuCA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,iBAoXhD"}
@@ -46,6 +46,7 @@ export async function runInstaller(args) {
46
46
  }
47
47
  catch { /* ignore — detection is best-effort */ }
48
48
  const nonInteractive = args.includes("--yes") || args.includes("-y") || !isTTY();
49
+ const universalMode = args.includes("--universal");
49
50
  // ─── --version ───────────────────────────────────────────────────
50
51
  if (args.includes("--version") || args.includes("-v")) {
51
52
  console.log(`engram-mcp-server v${getInstallerVersion()}`);
@@ -63,6 +64,7 @@ Usage:
63
64
 
64
65
  Options:
65
66
  --ide <name> Install for a specific IDE
67
+ --universal Install in universal mode (~80 token single-tool schema)
66
68
  --yes, -y Non-interactive mode (requires --ide if no IDE is detected)
67
69
  --remove Remove Engram from an IDE config (requires --ide)
68
70
  --list Show all supported IDEs and their detection/install status
@@ -78,6 +80,7 @@ Supported IDEs:
78
80
  Examples:
79
81
  engram install Auto-detect IDE, install interactively
80
82
  engram install --ide vscode Install for VS Code
83
+ engram install --ide vscode --universal Install universal mode for VS Code
81
84
  engram install --ide claudecode --yes Non-interactive install for Claude Code
82
85
  engram install --remove --ide cursor Remove Engram from Cursor
83
86
  engram install --list Show IDE detection and install status
@@ -111,7 +114,10 @@ Examples:
111
114
  console.log(` ${id.padEnd(15)} ${ide.name}${scopeLabel} ${statusLabel}`);
112
115
  }
113
116
  console.log("\n For manual setup, the Engram entry looks like:");
114
- console.log(` ${JSON.stringify(makeEngramEntry(IDE_CONFIGS.cursor), null, 2).replace(/\n/g, "\n ")}`);
117
+ console.log(` ${JSON.stringify(makeEngramEntry(IDE_CONFIGS.cursor, universalMode), null, 2).replace(/\n/g, "\n ")}`);
118
+ if (universalMode) {
119
+ console.log("\n ℹ️ Universal mode: single 'engram' tool (~80 token schema).");
120
+ }
115
121
  process.exit(0);
116
122
  }
117
123
  // ─── --check ─────────────────────────────────────────────────────
@@ -265,7 +271,7 @@ Examples:
265
271
  console.error(`Unknown IDE: "${targetIde}". Options: ${Object.keys(IDE_CONFIGS).join(", ")}`);
266
272
  process.exit(1);
267
273
  }
268
- await performInstallationForIde(targetIde, IDE_CONFIGS[targetIde], nonInteractive);
274
+ await performInstallationForIde(targetIde, IDE_CONFIGS[targetIde], nonInteractive, universalMode);
269
275
  return;
270
276
  }
271
277
  // ─── Auto-detect + interactive menu ──────────────────────────────
@@ -283,9 +289,9 @@ Examples:
283
289
  }
284
290
  if (nonInteractive) {
285
291
  // Install to current IDE first, then all other detected IDEs automatically.
286
- await performInstallationForIde(currentIde, IDE_CONFIGS[currentIde], true);
292
+ await performInstallationForIde(currentIde, IDE_CONFIGS[currentIde], true, universalMode);
287
293
  for (const id of otherDetected) {
288
- await performInstallationForIde(id, IDE_CONFIGS[id], true);
294
+ await performInstallationForIde(id, IDE_CONFIGS[id], true, universalMode);
289
295
  }
290
296
  return;
291
297
  }
@@ -297,7 +303,7 @@ Examples:
297
303
  const ans = await askQuestion(prompt);
298
304
  if (ans.trim().toLowerCase() !== 'n') {
299
305
  for (const id of targetIds) {
300
- await performInstallationForIde(id, IDE_CONFIGS[id], false);
306
+ await performInstallationForIde(id, IDE_CONFIGS[id], false, universalMode);
301
307
  }
302
308
  return;
303
309
  }
@@ -308,7 +314,7 @@ Examples:
308
314
  if (allDetected.length > 0) {
309
315
  console.log(`🔍 Found ${allDetected.length} installed IDE(s): ${allDetected.map(id => IDE_CONFIGS[id].name).join(", ")}`);
310
316
  for (const id of allDetected) {
311
- await performInstallationForIde(id, IDE_CONFIGS[id], true);
317
+ await performInstallationForIde(id, IDE_CONFIGS[id], true, universalMode);
312
318
  }
313
319
  return;
314
320
  }
@@ -346,7 +352,7 @@ Examples:
346
352
  // Prefer detected IDEs; fall back to all if none found.
347
353
  const targets = allDetected.length > 0 ? allDetected : Object.keys(IDE_CONFIGS);
348
354
  for (const id of targets) {
349
- await performInstallationForIde(id, IDE_CONFIGS[id], true);
355
+ await performInstallationForIde(id, IDE_CONFIGS[id], true, universalMode);
350
356
  }
351
357
  }
352
358
  else if (choice === customOpt) {
@@ -363,11 +369,11 @@ Examples:
363
369
  requiresCmdWrapper: false,
364
370
  scopes: {},
365
371
  };
366
- await installToPath(customPath.trim(), customIde);
372
+ await installToPath(customPath.trim(), customIde, universalMode);
367
373
  }
368
374
  else if (choice >= 1 && choice <= ideKeys.length) {
369
375
  const selectedKey = ideKeys[choice - 1];
370
- await performInstallationForIde(selectedKey, IDE_CONFIGS[selectedKey], false);
376
+ await performInstallationForIde(selectedKey, IDE_CONFIGS[selectedKey], false, universalMode);
371
377
  }
372
378
  else {
373
379
  console.log("\nInvalid selection. Exiting.");
@@ -375,7 +381,7 @@ Examples:
375
381
  }
376
382
  }
377
383
  // ─── Per-IDE Installation ────────────────────────────────────────────
378
- async function performInstallationForIde(id, ide, nonInteractive) {
384
+ async function performInstallationForIde(id, ide, nonInteractive, universal = false) {
379
385
  const supportsLocal = ide.scopes?.localDirs && ide.scopes.localDirs.length > 0;
380
386
  const supportsGlobal = ide.scopes?.global && ide.scopes.global.length > 0;
381
387
  // JetBrains: the global config path is community-sourced and not confirmed by official docs.
@@ -389,7 +395,7 @@ async function performInstallationForIde(id, ide, nonInteractive) {
389
395
  }
390
396
  // Show CLI hint for IDEs that support native CLI install
391
397
  if (ide.scopes.cli) {
392
- const entryJson = JSON.stringify(makeEngramEntry(ide));
398
+ const entryJson = JSON.stringify(makeEngramEntry(ide, universal));
393
399
  const quotedEntry = process.platform === "win32"
394
400
  ? `"${entryJson.replace(/"/g, '\\"')}"`
395
401
  : `'${entryJson}'`;
@@ -411,7 +417,7 @@ async function performInstallationForIde(id, ide, nonInteractive) {
411
417
  }
412
418
  if (targetScope === "global" && supportsGlobal) {
413
419
  const configPath = ide.scopes.global.find((p) => fs.existsSync(p)) || ide.scopes.global[0];
414
- await installToPath(configPath, ide);
420
+ await installToPath(configPath, ide, universal);
415
421
  }
416
422
  else if (targetScope === "local") {
417
423
  if (nonInteractive) {
@@ -421,7 +427,7 @@ async function performInstallationForIde(id, ide, nonInteractive) {
421
427
  if (localDirPrefix === "")
422
428
  configFileName = ".mcp.json";
423
429
  const configPath = path.join(process.cwd(), localDirPrefix, configFileName);
424
- await installToPath(configPath, ide);
430
+ await installToPath(configPath, ide, universal);
425
431
  }
426
432
  else {
427
433
  const cwd = process.cwd();
@@ -432,16 +438,16 @@ async function performInstallationForIde(id, ide, nonInteractive) {
432
438
  if (localDirPrefix === "")
433
439
  configFileName = ".mcp.json";
434
440
  const configPath = path.join(resolvedDir, localDirPrefix, configFileName);
435
- await installToPath(configPath, ide);
441
+ await installToPath(configPath, ide, universal);
436
442
  }
437
443
  }
438
444
  else if (!supportsGlobal && !supportsLocal) {
439
445
  console.log(`\n⚠️ ${ide.name} — No auto-install paths configured.`);
440
446
  }
441
447
  }
442
- async function installToPath(configPath, ide) {
448
+ async function installToPath(configPath, ide, universal = false) {
443
449
  try {
444
- const result = addToConfig(configPath, ide);
450
+ const result = addToConfig(configPath, ide, universal);
445
451
  const currentVersion = getInstallerVersion();
446
452
  console.log(`\n ✅ ${ide.name}`);
447
453
  console.log(` Config : ${configPath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"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"}
@@ -92,10 +92,10 @@ export function registerUniversalMode(server) {
92
92
  server.registerTool("engram", {
93
93
  title: "Engram",
94
94
  description: `Persistent memory for AI agents. Pass any action + relevant params. Examples: engram({action:"start", agent_name:"claude", verbosity:"summary"}) — engram({action:"record_change", changes:[{...}]}) — engram({action:"search", query:"auth"}).`,
95
- inputSchema: {
95
+ inputSchema: z.object({
96
96
  action: z.string().describe("Operation name. Examples: start, end, record_change, get_file_notes, set_file_notes, search, record_decision, create_task, backup. Use action:'discover' + query to look up any action."),
97
97
  query: z.string().optional().describe("For action:'discover' — search the action catalog."),
98
- },
98
+ }).passthrough(),
99
99
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
100
100
  }, async (rawParams) => {
101
101
  const { action, ...rest } = rawParams;
@@ -1 +1 @@
1
- {"version":3,"file":"universal.js","sourceRoot":"","sources":["../../src/modes/universal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"universal.js","sourceRoot":"","sources":["../../src/modes/universal.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "engram-mcp-server",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "description": "Engram — Persistent Memory Cortex for AI coding agents. Gives agents session continuity, change tracking, decision logging, and project intelligence across sessions.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -14,7 +14,7 @@
14
14
  ],
15
15
  "repository": {
16
16
  "type": "git",
17
- "url": "https://github.com/keggan-std/Engram"
17
+ "url": "git+https://github.com/keggan-std/Engram.git"
18
18
  },
19
19
  "releaseNotes": "# v1.7.0 — Token Efficiency & Intelligence Overhaul\n\n**Released:** v1.7.0\n\n## Overview\n\nv1.7.0 is a focused precision release with **six improvement tracks**, all targeting token efficiency, MCP compatibility, and agent intelligence — with zero breaking changes to the existing 4-dispatcher API surface.\n\n| Track | Improvement | Token Impact |\n| ----- | --------------------------------------------------- | -------------------------------------------------------- |\n| P1.1 | Fixed MCP validation crash (`z.array(z.unknown())`) | Unblocks Copilot/Cursor clients |\n| P1.3 | Default search limit 20 → 8 | ~60% fewer search tokens |\n| P1.4 | Convention capping by verbosity | Up to 100% fewer convention tokens in nano/minimal modes |\n| P2 | Tiered tool catalog (Tier 0/1/2) | ~93% catalog reduction after first session |\n| P3 | Sub-agent mode (`agent_role:\"sub\"`) | ~80% smaller session start (~300-500t vs ~2,000t) |\n| P4 | Universal mode (`--mode=universal`) | Single 80-token tool schema for constrained clients |\n| P5 | Deleted 660 lines of dead legacy code | Smaller footprint, cleaner codebase |\n| P6 | Smarter lint, exec_summary hints, AR-06 update | Better conventions signal-to-noise |\n\n---\n\n## What's New\n\n### 🔧 P1.1 — MCP Validation Crash Fix (Critical)\n\n`z.array(z.unknown())` generates a JSON Schema without an `items` property. Some MCP clients (VS Code Copilot, Cursor) validate tool input schemas strictly and reject calls with malformed array schemas, producing a silent crash.\n\n**Fix:** All three affected input arrays in `engram_memory` (`files`, `changes`, `decisions`) now use fully typed Zod schemas with `.passthrough()` — generating valid `{type: \"array\", items: {...}}` JSON Schema output.\n\n### ⚡ P1.3 — Default Search Limit: 20 → 8\n\nIntroduced `DEFAULT_SEARCH_LIMIT = 8` in `constants.ts`. All `engram_memory(action:\"search\")` calls now default to returning 8 results instead of 20. Agents rarely need more than 8 hits for a lookup. Still overridable via explicit `limit` param (up to `MAX_SEARCH_RESULTS = 50`).\n\n### 📋 P1.4 — Convention Capping by Verbosity\n\nActive conventions are now sorted (enforced-first, then most-recent-first) and capped before delivery:\n\n| Verbosity | Convention cap |\n| --------- | -------------- |\n| `nano` | 0 |\n| `minimal` | 5 |\n| `summary` | 10 |\n| `full` | all |\n\n`total_conventions` count and a hint are always returned so agents know when the cap is active.\n\n### 🗂️ P2 — Tiered Tool Catalog\n\n`buildToolCatalog(tier: 0|1|2)` replaces the previous flat catalog:\n\n- **Tier 0** — Action names only, list format (~80 tokens)\n- **Tier 1** — Names + one-line descriptions (~400 tokens)\n- **Tier 2** — Full parameter documentation (~1,200 tokens)\n\n`selectCatalogTier(agent_name, verbosity)` tracks delivery history per agent. New agents get Tier 2 once, then drop to Tier 1, then Tier 0 on repeat calls. Agents can always request a higher tier via `engram_find(action:\"catalog\")`.\n\n### 🤖 P3 — Sub-Agent Session Mode\n\nNew `agent_role:\"sub\"` + `task_id` parameters on `engram_session(action:\"start\")`. When set, returns a focused context slice instead of the full session boilerplate:\n\n- The specified task's full details\n- Files declared in `begin_work` for that task\n- Recent decisions matching task tags\n- Conventions (capped at 5)\n\nResults in ~300-500 token session starts vs ~2,000+ for full context. Ideal for sub-agents spawned to handle a specific task within a larger orchestrated workflow.\n\n### 🌐 P4 — Universal Mode (`--mode=universal`)\n\nNew server-level opt-in mode that exposes a **single `engram` tool** (~80 token schema) instead of the standard 4-dispatcher surface:\n\n```bash\n# CLI activation\nnpx engram-mcp-server --mode=universal --project-root /your/project\n\n# Environment variable activation\nENGRAM_MODE=universal npx engram-mcp-server --project-root /your/project\n```\n\n**Architecture (`src/modes/universal.ts`):**\n\n- `HandlerCapturer` — duck-typed SDK server stub captures handler callbacks from all 4 dispatcher registrations without creating actual MCP tools. Zero subprocess overhead.\n- `fuzzyResolveAction()` — BM25-style substring scoring routes unknown action names to the best match (threshold 0.5), with ranked alternatives in `suggestions[]`.\n- `universalizeResponse()` — rewrites all `engram_memory(action:\"X\")` refs in response text to `engram({action:\"X\"})` for consistency.\n- `discover` action — filtered catalog search within the single tool.\n\nStandard 4-dispatcher behaviour is completely unchanged when the flag is absent.\n\n### 🗑️ P5 — Dead Code Removal (660 Lines)\n\n`registerSessionTools()` — a 660-line legacy function that registered the old v1.5 individual tools (`engram_start_session`, `engram_end_session`, `engram_record_change`, etc.) — was deleted. It was exported but had zero call-sites in `index.ts` since the v1.6 dispatcher migration. Confirmed dead via full codebase grep.\n\n`sessions.ts` shrinks from **904 → 316 lines**.\n\n### 🔍 P6 — Intelligence Improvements\n\n**P6.3 — `executive_summary` nudge:** When `set_file_notes` is called without providing `executive_summary`, the success response now includes a `hint` field explaining the value of writing one. AR-06 in the live agent rules also updated to make the requirement explicit.\n\n**P6.4 — Smarter convention linting:** `engram_find(action:\"lint\")` now:\n\n- Extracts backtick-quoted identifiers as high-priority match tokens (exact symbol matching)\n- Uses whole-word regex instead of substring includes (no more false positives on shared stems)\n- Expanded STOP_WORDS list for cleaner scoring\n\n---",
20
20
  "scripts": {