pmem-ai 0.7.1 → 0.7.3

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 (58) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +40 -2
  3. package/dist/commands/integration.js +1 -1
  4. package/dist/commands/mcp.d.ts +9 -0
  5. package/dist/commands/mcp.d.ts.map +1 -0
  6. package/dist/commands/mcp.js +64 -0
  7. package/dist/commands/mcp.js.map +1 -0
  8. package/dist/commands/milestone.d.ts +5 -0
  9. package/dist/commands/milestone.d.ts.map +1 -0
  10. package/dist/commands/milestone.js +197 -0
  11. package/dist/commands/milestone.js.map +1 -0
  12. package/dist/commands/rebuild.d.ts.map +1 -1
  13. package/dist/commands/rebuild.js +51 -7
  14. package/dist/commands/rebuild.js.map +1 -1
  15. package/dist/commands/update.d.ts +2 -0
  16. package/dist/commands/update.d.ts.map +1 -1
  17. package/dist/commands/update.js +87 -3
  18. package/dist/commands/update.js.map +1 -1
  19. package/dist/commands/verify.d.ts.map +1 -1
  20. package/dist/commands/verify.js +19 -8
  21. package/dist/commands/verify.js.map +1 -1
  22. package/dist/core/consistency.d.ts.map +1 -1
  23. package/dist/core/consistency.js +6 -0
  24. package/dist/core/consistency.js.map +1 -1
  25. package/dist/core/db.d.ts +20 -0
  26. package/dist/core/db.d.ts.map +1 -1
  27. package/dist/core/db.js +30 -0
  28. package/dist/core/db.js.map +1 -1
  29. package/dist/core/query/ask.d.ts +20 -0
  30. package/dist/core/query/ask.d.ts.map +1 -0
  31. package/dist/core/query/ask.js +256 -0
  32. package/dist/core/query/ask.js.map +1 -0
  33. package/dist/core/query/recall.d.ts +21 -0
  34. package/dist/core/query/recall.d.ts.map +1 -0
  35. package/dist/core/query/recall.js +148 -0
  36. package/dist/core/query/recall.js.map +1 -0
  37. package/dist/core/query/related.d.ts +29 -0
  38. package/dist/core/query/related.d.ts.map +1 -0
  39. package/dist/core/query/related.js +106 -0
  40. package/dist/core/query/related.js.map +1 -0
  41. package/dist/core/query/status.d.ts +24 -0
  42. package/dist/core/query/status.d.ts.map +1 -0
  43. package/dist/core/query/status.js +236 -0
  44. package/dist/core/query/status.js.map +1 -0
  45. package/dist/index.js +19 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/mcp/security.d.ts +21 -0
  48. package/dist/mcp/security.d.ts.map +1 -0
  49. package/dist/mcp/security.js +150 -0
  50. package/dist/mcp/security.js.map +1 -0
  51. package/dist/mcp/server.d.ts +2 -0
  52. package/dist/mcp/server.d.ts.map +1 -0
  53. package/dist/mcp/server.js +177 -0
  54. package/dist/mcp/server.js.map +1 -0
  55. package/docs/dogfooding.md +98 -0
  56. package/docs/pmem-rt.md +137 -0
  57. package/package.json +3 -2
  58. package/skills/pmem/SKILL.md +43 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,46 @@
2
2
 
3
3
  All notable changes to pmem are documented here.
4
4
 
5
+ ## v0.7.3 — `rebuild --full` Edge Cleanup (closes #6)
6
+
7
+ ### Fixed
8
+
9
+ - **`pmem rebuild --full` left orphan + stale edges after card split/delete** (issue #6, three concrete bugs):
10
+ 1. *Orphan inbound edges*: When a target card was deleted but other cards' frontmatter still named it (or the user had edited their own `related:` to `[]`), the explicit edges survived `--full`. `clearAllTables` ran but the v0.7.0-a snapshot+restore step then resurrected them. Now `--full` post-cleans any edge whose `from_id` or `to_id` no longer has a `cards` row, and the snapshot+restore step skips managed sources (`explicit`/`inferred`/`mention`) so they cannot be resurrected.
11
+ 2. *Stale `depends_on` / `related`*: When a card's `depends_on` array was reduced (e.g. `[A, X, Y]` → `[X]`), the rebuild loop's per-card `deleteExplicitCardEdges` correctly removed the old rows, but the snapshot+restore step put them back. The smart snapshot+restore filter (see above) now refuses to re-insert managed-source edges, so the diff takes effect.
12
+ 3. *Stale inferred `next_step_of`*: Same mechanism for `source='inferred'` task→module edges. In addition, the rebuild loop now also calls a new per-card `deleteInferredCardEdges` so *incremental* rebuilds re-derive inferred edges from the current `related` frontmatter — previously only `--full` cleared them, and only by accident via `clearAllTables`.
13
+ - **Workaround SQL from the issue is no longer required.** All three manual `sqlite3` cleanup statements in the issue body become no-ops after `--full`.
14
+
15
+ ### Added
16
+
17
+ - `deleteInferredCardEdges(db, cardId)` and `deleteOrphanEdges(db)` helpers in `src/core/db.ts`.
18
+ - 3 new integration tests in `src/commands/rebuild.test.ts` covering all three bugs and a regression test that confirms manually-inserted (`source='manual'`) edges still round-trip through `--full`.
19
+
20
+ ### Version
21
+
22
+ Bumped from 0.7.2 → 0.7.3.
23
+
24
+ ## v0.7.2 — pmem-rt v1 MCP Adapter + Dogfooding Usability Fixes
25
+
26
+ ### Added
27
+
28
+ - **pmem-rt v1 MCP Server**: New `pmem mcp` command starts a read-only stdio MCP server (`src/mcp/server.ts`) with 4 tools: `pmem_recall`, `pmem_ask`, `pmem_related`, `pmem_status`. All card content carries `content_trust: "untrusted_project_data"`. Uses `@modelcontextprotocol/sdk` (pure ESM, loaded via dynamic import).
29
+ - **Query layer** (`src/core/query/`): Extracted pure query functions (`recallQuery`, `askQuery`, `relatedQuery`, `statusQuery`) shared by CLI and MCP server. No console.log, no process.exit(), no Commander.js dependency.
30
+ - **MCP security** (`src/mcp/security.ts`): `validatePathScope` (realpath + path.sep comparison to prevent symlink escape and prefix confusion), `enforceBudget` (token budget truncation), `addContentTrust` (marks all card objects).
31
+ - **`pmem milestone <version>`**: Records release milestones as memory cards with auto git-tag detection and manifest type registration.
32
+ - **`pmem update --confirm --refresh-verified <ids>`**: Bumps `last_verified` on specified cards during confirm, before rebuild.
33
+ - **`pmem mark-dirty --card <id...>`**: Explicit per-card dirty marking, bypassing git diff.
34
+
35
+ ### Fixed
36
+
37
+ - **Exclude `.pmem/**` from stale_memory check**: Prevent false-positive warnings from `pmem update --confirm` rewriting manifest.yml / next.md / state.md / index.md.
38
+ - **Separate `--fix` and `--fix-stale` semantics**: `--fix` handles structural index issues only; `--fix-stale` additionally refreshes stale_memory `last_verified` timestamps.
39
+ - **`docs/dogfooding.md`**: Documents self-referential stale patterns, cleanup cadence, and new command workflows.
40
+
41
+ ### Version
42
+
43
+ Bumped from 0.7.1 → 0.7.2.
44
+
5
45
  ## 0.7.0 - Universal Agent Memory (presets, custom card types, and domain neutrality)
6
46
 
7
47
  ### Added
package/README.md CHANGED
@@ -346,14 +346,18 @@ pmem related <id> [--depth N] [--type <edge-type>] [--format compact|json] [--so
346
346
  pmem trace <id>
347
347
 
348
348
  pmem status [--since <timestamp>] [--format compact|json]
349
- pmem mark-dirty [-r <reason>] [--auto]
349
+ pmem mark-dirty [-r <reason>] [--auto] [--card <id...>]
350
350
  pmem update [--auto] [--suggest] [--apply-suggestion <id>] [--confirm] [--force]
351
351
  [-s <summary>] [-n <next>] [--format compact|json] [--include-history]
352
352
  [--accept-edges <ids>] [--reject-edges <ids>]
353
+ [--refresh-verified <ids>]
354
+ pmem sync -s "<summary>" [-n "<next>"]
355
+
356
+ pmem milestone <version> [-m <message>] [--tag <name>]
353
357
 
354
358
  pmem distill [--suggest] [--confirm] [--apply-suggestion <id>] [--suggest-splits]
355
359
  pmem rebuild [--changed] [--full] [--card <id>]
356
- pmem verify [--fix] [--fix-locks] [--relaxed]
360
+ pmem verify [--fix] [--fix-stale] [--fix-locks] [--relaxed]
357
361
  pmem doctor [--format compact|json]
358
362
  pmem new <type> <title>
359
363
  pmem rename --find <pattern> --replace <replacement> [--write]
@@ -362,6 +366,7 @@ pmem session start [-a <agent-name>]
362
366
  pmem session end [-s <summary>]
363
367
  pmem integration list|install <framework>|verify
364
368
  pmem install [--skills] [--claude] [--codex] [--gemini] [--all]
369
+ pmem mcp
365
370
  ```
366
371
 
367
372
  ## Exit Codes
@@ -379,6 +384,39 @@ Agents should parse structured JSON output (`--format json`) to decide next step
379
384
 
380
385
  > **Breaking change from v0.6.1:** `pmem update --suggest` and `pmem distill --suggest` previously exited with code `1` when suggestions existed. Scripts that checked `$? -eq 1` must now parse JSON output instead.
381
386
 
387
+ ## pmem-rt — MCP Runtime for AI Agents (v0.7.2)
388
+
389
+ pmem-rt is a read-only stdio MCP adapter that lets AI coding agents use pmem as a low-latency memory backend directly in their tool loop.
390
+
391
+ ### Quick Start
392
+
393
+ ```bash
394
+ # In your project
395
+ npm install pmem-ai
396
+ npx pmem init --guided
397
+ npx pmem rebuild
398
+
399
+ # Configure your agent (e.g. Claude Code settings.json):
400
+ # {
401
+ # "mcpServers": {
402
+ # "pmem": { "command": "npx", "args": ["pmem", "mcp"], "cwd": "/absolute/path/to/your-project" }
403
+ # }
404
+ # }
405
+ ```
406
+
407
+ ### MCP Tools
408
+
409
+ | Tool | Description |
410
+ |------|-------------|
411
+ | `pmem_recall` | Restore project context: name, stage, focus, next, active cards, recent updates |
412
+ | `pmem_ask` | 6-step search: ID → alias → tag → graph expansion → FTS5 → LIKE |
413
+ | `pmem_related` | Graph neighbors of a card, grouped by edge type with direction/confidence |
414
+ | `pmem_status` | Changed files → affected memory cards |
415
+
416
+ All tools are read-only. Writes continue through the CLI (`pmem update --confirm`, `pmem sync`). Every card carries `content_trust: "untrusted_project_data"`.
417
+
418
+ [Full integration guide →](docs/pmem-rt.md)
419
+
382
420
  ## Project Layout
383
421
 
384
422
  ```txt
@@ -375,7 +375,7 @@ function installIntegration(pmemPath, manifest, framework) {
375
375
  console.log(`✓ Integration "${framework}" installed.`);
376
376
  console.log(` Template: .pmem/integrations/${framework}/`);
377
377
  }
378
- const CURRENT_TEMPLATE_VERSION = '0.7.1';
378
+ const CURRENT_TEMPLATE_VERSION = '0.7.2';
379
379
  function verifyIntegrations(pmemPath, manifest) {
380
380
  if (!manifest)
381
381
  return;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Start a read-only stdio MCP server for agent tool integration.
3
+ *
4
+ * IMPORTANT: This command MUST NOT output any console.log — stdout is the
5
+ * MCP protocol transport channel. Any non-JSON output will cause protocol
6
+ * errors. Use stderr for diagnostics if absolutely necessary.
7
+ */
8
+ export declare function mcpCommand(): Promise<void>;
9
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBhD"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.mcpCommand = mcpCommand;
37
+ const path = __importStar(require("path"));
38
+ const fs_1 = require("../core/fs");
39
+ const security_1 = require("../mcp/security");
40
+ const server_1 = require("../mcp/server");
41
+ /**
42
+ * Start a read-only stdio MCP server for agent tool integration.
43
+ *
44
+ * IMPORTANT: This command MUST NOT output any console.log — stdout is the
45
+ * MCP protocol transport channel. Any non-JSON output will cause protocol
46
+ * errors. Use stderr for diagnostics if absolutely necessary.
47
+ */
48
+ async function mcpCommand() {
49
+ const cwd = process.cwd();
50
+ const pmemPath = path.join(cwd, '.pmem');
51
+ if (!(0, fs_1.fileExists)(pmemPath)) {
52
+ process.stderr.write('Error: No .pmem directory found. Run `pmem init` first.\n');
53
+ process.exit(2);
54
+ }
55
+ const dbPath = path.join(pmemPath, 'pmem.db');
56
+ if (!(0, fs_1.fileExists)(dbPath)) {
57
+ process.stderr.write('Error: No .pmem/pmem.db found. Run `pmem rebuild` first.\n');
58
+ process.exit(2);
59
+ }
60
+ // Security: validate path scope before starting
61
+ (0, security_1.validatePathScope)(pmemPath);
62
+ await (0, server_1.startMcpServer)(pmemPath);
63
+ }
64
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,gCAmBC;AA/BD,2CAA6B;AAC7B,mCAAwC;AACxC,8CAAoD;AACpD,0CAA+C;AAE/C;;;;;;GAMG;AACI,KAAK,UAAU,UAAU;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEzC,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAA,eAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gDAAgD;IAChD,IAAA,4BAAiB,EAAC,QAAQ,CAAC,CAAC;IAE5B,MAAM,IAAA,uBAAc,EAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function milestoneCommand(version: string, options?: {
2
+ message?: string;
3
+ tag?: string;
4
+ }): void;
5
+ //# sourceMappingURL=milestone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"milestone.d.ts","sourceRoot":"","sources":["../../src/commands/milestone.ts"],"names":[],"mappings":"AAQA,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAyIxG"}
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.milestoneCommand = milestoneCommand;
37
+ const path = __importStar(require("path"));
38
+ const child_process_1 = require("child_process");
39
+ const fs_1 = require("../core/fs");
40
+ const manifest_1 = require("../core/manifest");
41
+ const db_1 = require("../core/db");
42
+ const PMEM_DIR = '.pmem';
43
+ function milestoneCommand(version, options = {}) {
44
+ const cwd = process.cwd();
45
+ const pmemPath = path.join(cwd, PMEM_DIR);
46
+ if (!(0, fs_1.fileExists)(pmemPath)) {
47
+ console.log('No .pmem directory found. Run `pmem init` first.');
48
+ process.exit(2);
49
+ }
50
+ const manifest = (0, manifest_1.loadManifest)(pmemPath);
51
+ if (!manifest) {
52
+ console.log('No manifest found. Run `pmem init` first.');
53
+ process.exit(2);
54
+ }
55
+ const config = (0, manifest_1.resolveConfig)(manifest);
56
+ // Determine the directory for milestone/trace cards
57
+ const traceDirName = config.type_dirs['trace'] || config.type_dirs['milestone'] || 'traces';
58
+ const traceDir = path.join(pmemPath, traceDirName);
59
+ (0, fs_1.ensureDir)(traceDir);
60
+ const versionClean = version.replace(/^v/, '');
61
+ const milestoneId = `milestone.v${versionClean}`;
62
+ const message = options.message || `Released version ${version}`;
63
+ const tag = options.tag || `v${versionClean}`;
64
+ // Check if git tag exists
65
+ let gitInfo = '';
66
+ try {
67
+ const gitDir = (0, child_process_1.execSync)('git rev-parse --git-dir', { cwd, stdio: 'ignore', encoding: 'utf8' }).trim();
68
+ if (gitDir) {
69
+ try {
70
+ const tagSha = (0, child_process_1.execSync)(`git rev-parse refs/tags/${tag}`, { cwd, stdio: 'pipe', encoding: 'utf8' }).trim();
71
+ gitInfo = `\n## Git Tag\n- Tag: \`${tag}\`\n- Commit: \`${tagSha.slice(0, 8)}\``;
72
+ }
73
+ catch {
74
+ try {
75
+ const headSha = (0, child_process_1.execSync)('git rev-parse HEAD', { cwd, encoding: 'utf8' }).trim();
76
+ gitInfo = `\n## Git\n- HEAD: \`${headSha.slice(0, 8)}\`\n- Tag \`${tag}\` not yet created (use \`git tag ${tag}\` to create it)`;
77
+ }
78
+ catch {
79
+ // no git info available
80
+ }
81
+ }
82
+ }
83
+ }
84
+ catch {
85
+ // not a git repo
86
+ }
87
+ const milestoneFile = path.join(traceDir, `milestone.${milestoneId}.md`);
88
+ if ((0, fs_1.fileExists)(milestoneFile)) {
89
+ console.log(`Milestone card already exists: ${path.relative(cwd, milestoneFile)}`);
90
+ console.log(` Edit it directly or use a different version.`);
91
+ process.exit(2);
92
+ }
93
+ (0, fs_1.atomicWrite)(milestoneFile, `---
94
+ id: ${milestoneId}
95
+ type: milestone
96
+ status: shipped
97
+ created: ${new Date().toISOString().split('T')[0]}
98
+ tags: [release, ${tag}]
99
+ ---
100
+
101
+ # Milestone: ${version}
102
+
103
+ ## What
104
+ ${message}
105
+
106
+ ## When
107
+ Released ${new Date().toISOString().split('T')[0]}.
108
+ ${gitInfo}
109
+ ## Next
110
+ Continue development toward the next milestone.
111
+ `);
112
+ console.log(`Milestone recorded: ${path.relative(cwd, milestoneFile)}`);
113
+ console.log(` Version: ${version}`);
114
+ console.log(` ID: ${milestoneId}`);
115
+ // Register 'milestone' in manifest if not already present (review item #3)
116
+ registerMilestoneType(manifest, config, pmemPath);
117
+ // Index the card and link to related feature cards
118
+ let didRebuild = false;
119
+ const dbPath = path.join(pmemPath, 'pmem.db');
120
+ if ((0, fs_1.fileExists)(dbPath)) {
121
+ try {
122
+ const db = (0, db_1.openDatabase)(pmemPath);
123
+ (0, db_1.createSchema)(db);
124
+ // Rebuild to index the new card
125
+ const { rebuildCommand } = require('./rebuild');
126
+ rebuildCommand({ card: milestoneId });
127
+ didRebuild = true;
128
+ // Link to feature cards whose ID contains the version (tightened: match
129
+ // `feature.v<version>` prefix or `v<version_underscored>` segment).
130
+ const versionUnderscored = versionClean.replace(/\./g, '_');
131
+ const featureCards = db.prepare(`SELECT id FROM cards
132
+ WHERE type = 'feature'
133
+ AND (id LIKE ? OR id LIKE ?)
134
+ AND is_deleted = 0`).all(`feature.v${versionClean}%`, `%v${versionUnderscored}%`);
135
+ const now = new Date().toISOString();
136
+ for (const fc of featureCards) {
137
+ (0, db_1.insertEdge)(db, {
138
+ from_id: milestoneId,
139
+ to_id: fc.id,
140
+ type: 'implements',
141
+ source: 'inferred',
142
+ confidence: 0.9,
143
+ created_at: now,
144
+ updated_at: now,
145
+ });
146
+ }
147
+ if (featureCards.length > 0) {
148
+ console.log(` Linked to ${featureCards.length} feature card(s): ${featureCards.map(f => f.id).join(', ')}`);
149
+ }
150
+ (0, db_1.closeDatabase)();
151
+ }
152
+ catch {
153
+ // DB operations are best-effort
154
+ }
155
+ }
156
+ // Only suggest a manual rebuild when the DB path didn't already do one (review item #4)
157
+ if (!didRebuild) {
158
+ console.log(`\nRun \`pmem rebuild\` to index the new milestone card.`);
159
+ }
160
+ process.exit(0);
161
+ }
162
+ /**
163
+ * Ensure 'milestone' is registered in the manifest's card type whitelist
164
+ * so that verify / rebuild don't produce card_id_violation warnings.
165
+ */
166
+ function registerMilestoneType(manifest, config, pmemPath) {
167
+ let changed = false;
168
+ // v0.7.0+ projects: add to schema.card_types
169
+ if (manifest.schema && Array.isArray(manifest.schema.card_types)) {
170
+ if (!manifest.schema.card_types.includes('milestone')) {
171
+ manifest.schema.card_types.push('milestone');
172
+ changed = true;
173
+ }
174
+ // Also add type_dirs entry if missing
175
+ if (!manifest.schema.type_dirs) {
176
+ manifest.schema.type_dirs = {};
177
+ }
178
+ if (!manifest.schema.type_dirs['milestone']) {
179
+ manifest.schema.type_dirs['milestone'] = 'traces';
180
+ changed = true;
181
+ }
182
+ }
183
+ // v0.6.x projects: add milestone to id_pattern alternation
184
+ if (manifest.card_policy?.id_pattern) {
185
+ const pattern = manifest.card_policy.id_pattern;
186
+ if (!pattern.includes('milestone')) {
187
+ // Insert milestone before the closing parenthesis of the type alternation
188
+ manifest.card_policy.id_pattern = pattern.replace(/(\([^)]+)\)/, '$1|milestone)');
189
+ changed = true;
190
+ }
191
+ }
192
+ if (changed) {
193
+ (0, manifest_1.saveManifest)(pmemPath, manifest);
194
+ console.log(' Registered "milestone" type in manifest.');
195
+ }
196
+ }
197
+ //# sourceMappingURL=milestone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"milestone.js","sourceRoot":"","sources":["../../src/commands/milestone.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rebuild.d.ts","sourceRoot":"","sources":["../../src/commands/rebuild.ts"],"names":[],"mappings":"AAWA,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AASD,wBAAgB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,IAAI,CAmajE;AA8BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ3D"}
1
+ {"version":3,"file":"rebuild.d.ts","sourceRoot":"","sources":["../../src/commands/rebuild.ts"],"names":[],"mappings":"AAWA,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AASD,wBAAgB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,IAAI,CAidjE;AA8BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ3D"}
@@ -217,9 +217,15 @@ function rebuildCommand(options = {}) {
217
217
  is_candidate: isCandidate,
218
218
  };
219
219
  (0, db_1.upsertCard)(db, cardRow);
220
- // Clear existing explicit and mention relations before re-inserting (preserve inferred edges)
220
+ // Clear existing explicit, mention, and inferred relations before
221
+ // re-inserting from the current frontmatter. v0.7.3 (issue #6):
222
+ // inferred edges (e.g. task→module next_step_of) must also be
223
+ // re-derived per card — otherwise an incremental rebuild that
224
+ // re-targets a task's `related` to a different module would
225
+ // leave the stale inferred edge to the old module in place.
221
226
  (0, db_1.deleteExplicitCardEdges)(db, fm.id);
222
227
  (0, db_1.deleteMentionEdges)(db, fm.id);
228
+ (0, db_1.deleteInferredCardEdges)(db, fm.id);
223
229
  (0, db_1.deleteCardAliases)(db, fm.id);
224
230
  (0, db_1.deleteCardTags)(db, fm.id);
225
231
  (0, db_1.deleteCardPaths)(db, fm.id);
@@ -310,25 +316,63 @@ function rebuildCommand(options = {}) {
310
316
  });
311
317
  // Execute all SQLite writes in a single transaction
312
318
  doRebuild();
313
- // v0.7.0-a: restore manually inserted edges that were not re-created
314
- // by the rebuild loop (preserved across --full rebuilds)
319
+ // v0.7.3 (issue #6): prune orphan edges after a --full rebuild.
320
+ // The rebuild loop inserts explicit edges (depends_on, related) from
321
+ // each card's current frontmatter without checking that the target
322
+ // card still has a file. If a target card was deleted but the
323
+ // declaring card's frontmatter still names it (or a card was just
324
+ // renamed and the caller hasn't yet propagated the rename), those
325
+ // edges would otherwise dangle and trip `pmem verify`'s
326
+ // orphan_edges / too_many_relations checks.
327
+ if (isFull) {
328
+ (0, db_1.deleteOrphanEdges)(db);
329
+ }
330
+ // v0.7.0-a (revised in v0.7.3, issue #6): restore edges that the
331
+ // rebuild loop did not and could not have re-derived. We now
332
+ // restrict restoration to:
333
+ // - sources the rebuild loop does NOT manage (anything other than
334
+ // 'explicit', 'inferred', 'mention'). These are typically manual
335
+ // SQL inserts that should survive a full rebuild.
336
+ // - edges whose both endpoints still exist in the cards table.
337
+ // Orphan edges (e.g. pointing to a deleted card) are NOT
338
+ // restored, since they would just be pruned again by
339
+ // `deleteOrphanEdges` and the user wants them gone.
340
+ // Without these filters, the snapshot+restore step would resurrect
341
+ // every `depends_on` / `related_to` / `next_step_of` edge that the
342
+ // user had just removed from a card's frontmatter — the original
343
+ // root cause of issue #6.
315
344
  if (isFull && snappedEdges.length > 0) {
316
345
  const restoreEdgeTx = db.transaction(() => {
346
+ // Build a set of currently-existing card IDs so the restore loop
347
+ // can skip edges whose endpoints no longer exist.
348
+ const existingCardIds = new Set(db.prepare("SELECT id FROM cards WHERE is_deleted = 0").all().map(r => r.id));
317
349
  // Build set of current edge keys: "from_id|to_id|type|source"
318
350
  const currentKeys = new Set();
319
351
  const currentEdges = db.prepare("SELECT from_id, to_id, type, source FROM edges").all();
320
352
  for (const e of currentEdges) {
321
353
  currentKeys.add(`${e.from_id}|${e.to_id}|${e.type}|${e.source}`);
322
354
  }
355
+ // Sources managed by the rebuild loop — restoring any of these
356
+ // would re-introduce the very stale edges we just deleted from
357
+ // the loop's deleteExplicitCardEdges/deleteMentionEdges/
358
+ // deleteInferredCardEdges pass.
359
+ const managedSources = new Set(['explicit', 'inferred', 'mention']);
323
360
  const restoreStmt = db.prepare("INSERT OR IGNORE INTO edges (from_id, to_id, type, source, confidence, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)");
324
361
  let restoredCount = 0;
325
362
  const now = new Date().toISOString();
326
363
  for (const e of snappedEdges) {
364
+ // Skip managed sources — they should be re-derived from
365
+ // current frontmatter, not resurrected from the snapshot.
366
+ if (managedSources.has(e.source))
367
+ continue;
368
+ // Skip orphan edges — both endpoints must still be cards.
369
+ if (!existingCardIds.has(e.from_id) || !existingCardIds.has(e.to_id))
370
+ continue;
327
371
  const key = `${e.from_id}|${e.to_id}|${e.type}|${e.source}`;
328
- if (!currentKeys.has(key)) {
329
- restoreStmt.run(e.from_id, e.to_id, e.type, e.source, e.confidence, e.created_at ?? now, e.updated_at ?? now);
330
- restoredCount++;
331
- }
372
+ if (currentKeys.has(key))
373
+ continue;
374
+ restoreStmt.run(e.from_id, e.to_id, e.type, e.source, e.confidence, e.created_at ?? now, e.updated_at ?? now);
375
+ restoredCount++;
332
376
  }
333
377
  if (restoredCount > 0) {
334
378
  preservedEdges = restoredCount;
@@ -1 +1 @@
1
- {"version":3,"file":"rebuild.js","sourceRoot":"","sources":["../../src/commands/rebuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rebuild.js","sourceRoot":"","sources":["../../src/commands/rebuild.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,10 @@ export declare function updateCommand(options: {
10
10
  includeHistory?: boolean;
11
11
  acceptEdges?: string;
12
12
  rejectEdges?: string;
13
+ refreshVerified?: string;
13
14
  }): void;
14
15
  export declare function markDirtyCommand(reason: string, options?: {
15
16
  auto?: boolean;
17
+ cardIds?: string[];
16
18
  }): void;
17
19
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAaA,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,IAAI,CA+CP;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,IAAI,CAiGvF"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAaA,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,CA+CP;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAAG,IAAI,CA0I3G"}