Skip to content

Commit 743f2d0

Browse files
fix(pi): pin gentle-engram setup version
1 parent 163c0e2 commit 743f2d0

5 files changed

Lines changed: 11 additions & 11 deletions

File tree

docs/AGENT-SETUP.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ Install Engram's Pi package, the MCP adapter, and Pi MCP config:
3535
engram setup pi
3636
```
3737

38-
`engram setup pi` runs `pi install npm:gentle-engram` and `pi install npm:pi-mcp-adapter`, then ensures Pi settings contain both packages and writes `mcpServers.engram` in the Pi agent MCP config when no Engram server is already configured. Existing `mcpServers.engram` entries are preserved.
38+
`engram setup pi` runs `pi install npm:gentle-engram@0.1.5` and `pi install npm:pi-mcp-adapter`, then ensures Pi settings contain both packages and writes `mcpServers.engram` in the Pi agent MCP config when no Engram server is already configured. Existing `mcpServers.engram` entries are preserved.
3939

4040
Manual equivalent:
4141

4242
```bash
43-
pi install npm:gentle-engram
43+
pi install npm:gentle-engram@0.1.5
4444
pi install npm:pi-mcp-adapter
4545
pi-engram init
4646
```

internal/setup/setup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ const claudeCodeMarketplace = "Gentleman-Programming/engram"
7777

7878
const openCodeSubagentStatuslinePlugin = "opencode-subagent-statusline"
7979

80-
const piGentleEngramPackage = "npm:gentle-engram"
80+
const piGentleEngramPackage = "npm:gentle-engram@0.1.5"
8181
const piMCPAdapterPackage = "npm:pi-mcp-adapter"
8282

8383
// claudeCodeMCPTools are the MCP tool permission names for the agent profile

internal/setup/setup_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ func TestInstallPiInstallsPackagesAndWritesConfig(t *testing.T) {
315315
if result.Agent != "pi" || result.Destination != agentDir || result.Files != 2 {
316316
t.Fatalf("unexpected install result: %#v", result)
317317
}
318-
wantCommands := []string{"pi install npm:gentle-engram", "pi install npm:pi-mcp-adapter"}
318+
wantCommands := []string{"pi install npm:gentle-engram@0.1.5", "pi install npm:pi-mcp-adapter"}
319319
if !reflect.DeepEqual(commands, wantCommands) {
320320
t.Fatalf("unexpected pi install commands: got %#v want %#v", commands, wantCommands)
321321
}
@@ -330,7 +330,7 @@ func TestInstallPiInstallsPackagesAndWritesConfig(t *testing.T) {
330330
if err := json.Unmarshal(settingsRaw, &settings); err != nil {
331331
t.Fatalf("parse settings: %v", err)
332332
}
333-
for _, pkg := range []string{"npm:gentle-engram", "npm:pi-mcp-adapter"} {
333+
for _, pkg := range []string{"npm:gentle-engram@0.1.5", "npm:pi-mcp-adapter"} {
334334
if !slices.Contains(settings.Packages, pkg) {
335335
t.Fatalf("expected settings packages to include %q, got %#v", pkg, settings.Packages)
336336
}
@@ -398,7 +398,7 @@ func TestInstallPiPreservesExistingEngramMCPServer(t *testing.T) {
398398
if err != nil {
399399
t.Fatalf("read settings after install: %v", err)
400400
}
401-
if !strings.Contains(string(settingsRaw), "npm:existing") || !strings.Contains(string(settingsRaw), "npm:gentle-engram") || !strings.Contains(string(settingsRaw), "npm:pi-mcp-adapter") {
401+
if !strings.Contains(string(settingsRaw), "npm:existing") || !strings.Contains(string(settingsRaw), "npm:gentle-engram@0.1.5") || !strings.Contains(string(settingsRaw), "npm:pi-mcp-adapter") {
402402
t.Fatalf("expected settings packages to be preserved and extended, got %s", settingsRaw)
403403
}
404404
}
@@ -409,7 +409,7 @@ func TestInstallPiCommandFailure(t *testing.T) {
409409
return []byte("boom"), errors.New("exit 1")
410410
}
411411
_, err := Install("pi")
412-
if err == nil || !strings.Contains(err.Error(), "install npm:gentle-engram") {
412+
if err == nil || !strings.Contains(err.Error(), "install npm:gentle-engram@0.1.5") {
413413
t.Fatalf("expected pi install error, got %v", err)
414414
}
415415
}

plugin/pi/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ Engram includes a terminal UI for browsing sessions, observations, prompts, proj
7878
## Quick start
7979

8080
```bash
81-
pi install npm:gentle-engram
81+
pi install npm:gentle-engram@0.1.5
8282
pi install npm:pi-mcp-adapter
8383
pi-engram init
8484
```
@@ -189,7 +189,7 @@ If the binary is missing, Pi keeps running and memory degrades instead of crashi
189189

190190
`pi-engram init` writes Pi-owned config in the Pi agent directory:
191191

192-
- `settings.json`: ensures `npm:pi-mcp-adapter` and `npm:gentle-engram` are declared.
192+
- `settings.json`: ensures `npm:pi-mcp-adapter` and `npm:gentle-engram@0.1.5` are declared.
193193
- `mcp.json`: adds an `engram` MCP server that launches `engram mcp --tools=agent` through a safe Node wrapper with `directTools: false`, so MCP remains available through the gateway without duplicating Pi-native `mem_*` tools.
194194

195195
Existing `mcpServers.engram` entries are preserved unless you pass `--force`:

plugin/pi/cli.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
33
import { homedir } from "node:os";
44
import { dirname, join } from "node:path";
55

6-
const PACKAGE_NAME = "npm:gentle-engram";
6+
const PACKAGE_NAME = "npm:gentle-engram@0.1.5";
77
const MCP_ADAPTER_PACKAGE = "npm:pi-mcp-adapter";
88
const HELP = `pi-engram
99
@@ -12,7 +12,7 @@ Usage:
1212
1313
Creates Pi's Engram MCP config in the Pi agent dir and ensures pi-mcp-adapter
1414
is declared in settings.json. The Pi extension itself is loaded by installing
15-
the package with: pi install npm:gentle-engram
15+
the package with: pi install npm:gentle-engram@0.1.5
1616
`;
1717

1818
const MCP_LAUNCHER =

0 commit comments

Comments
 (0)