threadnote 0.3.3 → 0.3.4

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
@@ -6,18 +6,28 @@ and it does not index whole repositories by default.
6
6
 
7
7
  ## Real-World Uses
8
8
 
9
- Want to continue work in a fresh agent session? `threadnote install` adds user-level Codex and Claude instructions so
10
- new agents automatically recall recent handoffs and relevant memories before they start changing code.
9
+ **Want to continue work in a fresh agent session?**
10
+ `threadnote install` adds user-level Codex, Claude, and Cursor instructions so new agents automatically recall recent handoffs and relevant memories before they start changing code.
11
11
 
12
- Implemented a feature a while ago and need to pick it up again? Ask the agent to recall the feature, branch, or repo.
13
- Threadnote returns auditable `viking://` pointers that the agent can read before deciding what still matters.
12
+ **Implemented a feature a while ago and need to pick it up again?**
13
+ Ask the agent to recall the feature, branch, or repo. Threadnote returns auditable `viking://` pointers that the agent can read before deciding what still matters.
14
14
 
15
- Switching between Codex and Claude? Install the MCP adapter for both. The user-level instructions tell agents to store a
16
- handoff before they pause, so the next agent can search the same local memory layer instead of reconstructing context
15
+ **Switching between Codex, Claude, and Cursor?**\
16
+ Install the MCP adapter for each agent you use. The user-level instructions tell agents to store a handoff before they pause, so the next agent can search the same local memory layer instead of reconstructing context
17
17
  from chat history.
18
18
 
19
- Found a durable workflow fact, like how a repo runs tests or where release notes live? Ask the agent to remember it.
20
- Threadnote keeps that memory local and searchable without editing unrelated repo files.
19
+ **Working through a long task until the agent context window fills up?**
20
+ After compaction, the next agent turn can recall the relevant Threadnote memories and handoffs instead of relying only on the compressed conversation summary.
21
+
22
+ **Found a durable workflow fact, like how a repo runs tests or where release notes live?**
23
+ Ask the agent to remember it. Threadnote keeps that memory local and searchable without editing unrelated repo files.
24
+
25
+ **Have reusable agent workflows already installed as skills?**\
26
+ Run `threadnote seed-skills` to make local `SKILL.md` guidance discoverable through recall. Agents can find relevant testing, release, on-call, debugging, or plugin-provided workflows without you reopening the same skill files by hand.
27
+
28
+ **Recall returned several overlapping memories?**
29
+ Agents are instructed to compact them into one concise replacement memory and forget only the clearly redundant originals,
30
+ keeping future recall sharper without losing useful detail.
21
31
 
22
32
  ## Safety Model
23
33
 
@@ -50,7 +60,7 @@ threadnote start
50
60
  threadnote doctor --dry-run
51
61
  ```
52
62
 
53
- If install or health checks fail, see `docs/troubleshooting.md`.
63
+ If install or health checks fail, see [Troubleshooting](docs/troubleshooting.md).
54
64
 
55
65
  To force a runtime:
56
66
 
@@ -157,7 +167,19 @@ threadnote seed --dry-run
157
167
  threadnote seed
158
168
  ```
159
169
 
160
- Optionally seed shared and repo-local skills:
170
+ For Git worktrees, seed the stable checkout by default:
171
+
172
+ ```bash
173
+ threadnote init-manifest --repo ~/src/coda
174
+ ```
175
+
176
+ You usually do not need to add every temporary worktree such as `~/src/worktrees/coda/my-branch`. Threadnote treats each
177
+ worktree path as its own manifest project today, so adding every worktree can duplicate seeded repo resources and make
178
+ recall noisier. Add a worktree only when it is long-lived or has branch-specific docs, instructions, or repo-local skills
179
+ that should be recalled separately.
180
+
181
+ Optionally seed shared and repo-local skills. This imports existing `SKILL.md` files as a searchable resource catalog so
182
+ agents can discover relevant workflow guidance; it does not install or activate skills in the agent runtime.
161
183
 
162
184
  ```bash
163
185
  threadnote seed-skills --dry-run
@@ -183,8 +205,8 @@ This is it! Start working with your agents as usual. The agent will automaticall
183
205
  preserved by default; pass `--erase-memories` to delete `THREADNOTE_HOME`.
184
206
  - `init-manifest`: creates or updates `~/.openviking/seed-manifest.yaml` from one or more developer repo roots.
185
207
  - `seed`: imports curated repo guidance and docs from the manifest.
186
- - `seed-skills`: imports global and repo-local `SKILL.md` files as a searchable resource catalog. Use
187
- `seed-skills --native` only after configuring a working VLM provider.
208
+ - `seed-skills`: imports global and repo-local `SKILL.md` files as a searchable resource catalog so agents can discover
209
+ reusable workflow guidance. Use `seed-skills --native` only after configuring a working VLM provider.
188
210
  - `mcp-install codex|claude|cursor`: installs or prints OpenViking MCP configuration for Codex, Claude, or Cursor.
189
211
  - `remember`: stores a durable memory.
190
212
  - `migrate-memories`: migrates legacy session-only `MEMORY` and `HANDOFF` records into durable memory files. Run
@@ -36,6 +36,19 @@ logs, or other sensitive data.
36
36
  Also remember durable workflow facts you discover during work when they would help future agents and are not already in
37
37
  canonical docs. Prefer updating checked-in docs for canonical repo rules.
38
38
 
39
+ ## Memory Compaction
40
+
41
+ When recall/read surfaces several memories that describe the same durable fact, incident, branch, or handoff, compact
42
+ them when it is safe:
43
+
44
+ - Store one concise replacement memory that preserves the current status, the important facts, and the source `viking://`
45
+ URIs you merged.
46
+ - Remove superseded duplicates with `threadnote forget <uri>` only when they are clearly redundant or stale and contain
47
+ no unique useful detail.
48
+ - If the memories disagree or you are not sure what can be deleted, keep them and mention the possible cleanup instead.
49
+
50
+ Never compact secrets, credentials, customer data, raw production logs, or checked-in canonical docs into memory.
51
+
39
52
  ## Handoff
40
53
 
41
54
  Before pausing, switching agents, or ending meaningful work with local changes, store a concise handoff. Include:
@@ -59,5 +72,6 @@ threadnote recall --query "last handoff for this branch"
59
72
  threadnote read viking://agent/threadnote/memories/.abstract.md
60
73
  threadnote list viking://agent/threadnote/memories --all --recursive
61
74
  threadnote remember --text "Durable engineering note..."
75
+ threadnote forget viking://user/example/memories/events/duplicate.md
62
76
  threadnote handoff --task "short task summary" --tests "checks run" --next-step "what to do next"
63
77
  ```
package/docs/migration.md CHANGED
@@ -171,6 +171,8 @@ Preferred agent behavior is automatic after `threadnote install` has updated the
171
171
 
172
172
  - On non-trivial task start, search OpenViking for recent handoffs and relevant repo guidance.
173
173
  - When the user says "remember", store the memory after checking that it contains no secret or customer data.
174
+ - When recall surfaces clearly duplicate or stale memories, store one concise replacement memory and forget only the
175
+ redundant originals.
174
176
  - Before pausing, switching agents, or finishing meaningful code changes, store a concise handoff with status, tests,
175
177
  blockers, and next steps.
176
178
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "threadnote",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "type": "commonjs",
5
5
  "main": "dist/threadnote.cjs",
6
6
  "description": "Shared local context and handoffs for development agents",