pi-goosedump 0.12.11 → 0.12.12

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 (3) hide show
  1. package/README.md +32 -37
  2. package/dist/index.ts +3 -3
  3. package/package.json +3 -3
package/README.md CHANGED
@@ -15,33 +15,38 @@ x64, macOS arm64, and Windows x64. If no compatible binary is available, the
15
15
  extension keeps Pi's normal compaction behavior and its goosedump features
16
16
  report that they are unavailable.
17
17
 
18
+ ## Memory in a nutshell
19
+
20
+ 1. **Remember:** [`gpt-oss-20b`](https://github.com/jarkkojs/goosedump/blob/main/docs/models/gpt-oss-20b.md)
21
+ extracts typed, atomic statements with source provenance. [`bge-small-en-v1.5`](https://github.com/jarkkojs/goosedump/blob/main/docs/models/bge-small-en-v1.5.md)
22
+ embeds each statement. SQLite stores the statements, vectors, and provenance.
23
+ 2. **Recall:** lexical and entity matches come first. Cosine-similar BGE vectors
24
+ fill the remaining slots. There is no separate vector database.
25
+
26
+ The extension queues remembering after its own successful compactions. Learning
27
+ runs in the background and does not delay compaction.
28
+
18
29
  ## Tools
19
30
 
20
31
  - **`goose_search`** ranks session messages and returns compact overviews with
21
32
  entry IDs.
22
33
  - **`goose_get`** expands entry IDs returned by `goose_search` or `goose_grep`.
23
34
  - **`goose_grep`** filters session messages with a glob pattern.
24
- - **`goose_recall`** searches durable memory learned from remembered sessions.
25
- It searches the current working directory by default, can filter facts,
26
- decisions, preferences, procedures, or lessons, and returns typed excerpts
27
- with source provenance within a 4,096-byte/token-safe output budget. Exact
28
- lexical and entity-anchor hits remain first; cached BGE embeddings fill
29
- remaining slots with paraphrased matches. Active memories are returned by
30
- default; set `history` to include superseded statements. Entity-seeded and
31
- expanded hits are annotated as `related by` (query or shared anchors).
32
- - **`goose_remember`** asks goosedump to learn durable memory from a session.
33
- Defaults to the current Pi session; pass `provider`/`session` to target
34
- another session. After extension-generated compaction, learning is queued in the
35
- background so compaction does not wait for model extraction.
35
+ - **`goose_remember`** learns durable memory from a session. It defaults to the
36
+ current Pi session.
37
+ - **`goose_recall`** recalls typed memories with source provenance. It searches
38
+ active memories in the current project by default; `history` includes
39
+ superseded statements and `allProjects` searches every project.
36
40
  - **`goose_compact`** starts asynchronous compaction of the current Pi session.
37
- Set `keep` to preserve the last N user turns verbatim.
38
- - **`goose_sessions`** lists or deletes saved sessions scoped to the current working directory. Deleting the active session is safety-blocked.
39
- - **`goose_forget`** deletes a derived memory (`mem_<id>`) or every retained source from a `provider:id` session.
40
- - **`goose_memory_status`** reports storage, evidence, tombstone, and type counts.
41
- The session-history tools accept an optional `provider` (`pi` by default),
42
- `session`, and `scope` (`lineage` by default or `all`). The current Pi session
43
- is used when both provider and session are omitted. Non-Pi providers require an
44
- explicit session ID. Targets sent to goosedump are always provider-qualified.
41
+ `keep` preserves the last N user turns verbatim.
42
+ - **`goose_sessions`** lists or deletes sessions from the current working
43
+ directory. The active session cannot be deleted.
44
+ - **`goose_forget`** deletes one memory or all retained sources from a session.
45
+ - **`goose_memory_status`** reports storage, embedding coverage, tombstones, and
46
+ type counts.
47
+
48
+ Session-history tools default to the current Pi session and active lineage.
49
+ Non-Pi providers require an explicit session ID.
45
50
 
46
51
  Examples:
47
52
 
@@ -52,7 +57,6 @@ goose_get({ ids: ["entry-a", "entry-b"] })
52
57
  goose_grep({ pattern: "*timeout*" })
53
58
  goose_recall({ query: "prior architecture decision" })
54
59
  goose_recall({ query: "database", type: "decision" })
55
-
56
60
  goose_recall({ query: "database", history: true })
57
61
  goose_remember({})
58
62
  goose_compact({ keep: 2 })
@@ -105,22 +109,13 @@ global setting.
105
109
 
106
110
  ## Compaction behavior
107
111
 
108
- The extension replaces Pi's normal summary during manual, scheduled, and
109
- automatic compaction. It invokes `goosedump session compact`, preserves the
110
- previous compaction summary, summarizes only the newly compacted range, and
111
- passes the effective summary budget to goosedump. When necessary, goosedump
112
- removes older read-only paths, completed items, chronology lines, and
113
- modified/created paths in that order while preserving goals, blockers, decisions,
114
- preferences, and the newest actionable context. A `keep:N` request keeps the last
115
- N active user turns; it is cancelled when no earlier history is available to summarize.
116
-
117
- After a successful extension-generated compaction, the extension explicitly asks
118
- goosedump to remember the compacted session (`memory remember <target> --json`).
119
- If remembering fails, the summary is kept and a warning is surfaced, so memory
120
- learning errors never discard the compaction result.
121
-
122
- Compactions with custom instructions continue to use Pi's normal compactor. If
123
- goosedump fails, the extension reports the error and falls back to Pi.
112
+ The extension uses `goosedump session compact` for manual, scheduled, and automatic
113
+ compaction. It preserves the previous summary, summarizes only the new range, and
114
+ passes the effective token budget. `keep:N` leaves the last N user turns verbatim.
115
+
116
+ After success, memory learning is queued in the background. A learning failure
117
+ keeps the summary and displays a warning. Custom instructions use Pi's normal
118
+ compactor; other goosedump failures fall back to Pi.
124
119
 
125
120
  ## License
126
121
 
package/dist/index.ts CHANGED
@@ -1443,7 +1443,7 @@ function createGoosedumpIntegration(options = {}) {
1443
1443
  pi.registerTool(defineTool({
1444
1444
  name: "goose_remember",
1445
1445
  label: "goose_remember",
1446
- description: "Learn durable, auditable memory from a session. Defaults to the current Pi session.",
1446
+ description: "Use local gpt-oss-20b to extract typed memories and provenance from a session; store BGE embeddings in SQLite. Defaults to the current Pi session.",
1447
1447
  promptSnippet: "Persist important context from the current or another session into durable memory",
1448
1448
  promptGuidelines: [
1449
1449
  "Use goose_remember after a milestone when important facts, decisions, preferences, procedures, or lessons should be retained.",
@@ -1472,7 +1472,7 @@ function createGoosedumpIntegration(options = {}) {
1472
1472
  pi.registerTool(defineTool({
1473
1473
  name: "goose_recall",
1474
1474
  label: "goose_recall",
1475
- description: "Recall durable context learned from remembered sessions. Searches the current project by default and returns bounded atomic memories with provenance. Active memories are returned by default; set history to include superseded statements.",
1475
+ description: "Recall project-scoped memory. Lexical and entity matches come first; BGE vector matches fill remaining slots. Returns bounded records with provenance; history includes superseded statements.",
1476
1476
  promptSnippet: "Recall durable context from earlier sessions",
1477
1477
  promptGuidelines: [
1478
1478
  "Use goose_recall for decisions, evidence, and context that may have disappeared from the current session.",
@@ -1552,7 +1552,7 @@ function createGoosedumpIntegration(options = {}) {
1552
1552
  pi.registerTool(defineTool({
1553
1553
  name: "goose_memory_status",
1554
1554
  label: "goose_memory_status",
1555
- description: "Show durable memory storage and type counts.",
1555
+ description: "Show durable memory storage, embedding coverage, tombstones, and type counts.",
1556
1556
  promptSnippet: "Inspect durable memory health and statistics",
1557
1557
  promptGuidelines: [
1558
1558
  "Use goose_memory_status to inspect memory volume, type counts, and tombstones."
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pi-goosedump",
3
- "version": "0.12.11",
4
- "description": "Pi extension for goosedump-backed session-history search, entry expansion, and compaction",
3
+ "version": "0.12.12",
4
+ "description": "Pi extension for goosedump session search, durable memory, and compaction",
5
5
  "keywords": [
6
6
  "compaction",
7
7
  "goosedump",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@earendil-works/pi-tui": "^0.82.1",
41
- "@jarkkojs/goosedump": "^0.12.11",
41
+ "@jarkkojs/goosedump": "^0.12.12",
42
42
  "@sinclair/typebox": "^0.34.49"
43
43
  },
44
44
  "devDependencies": {