threadnote 0.7.5 → 0.7.7
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 +38 -13
- package/dist/mcp_server.cjs +845 -38
- package/dist/threadnote.cjs +891 -146
- package/docs/agent-instructions.md +29 -7
- package/docs/index.html +1 -1
- package/docs/migration.md +4 -2
- package/docs/share.md +18 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -37,12 +37,14 @@ Ask the agent to remember it. Threadnote keeps that memory local and searchable
|
|
|
37
37
|
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.
|
|
38
38
|
|
|
39
39
|
**Recall returned several overlapping memories?**
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
Run `threadnote compact --project <repo> --topic <issue> --dry-run` or ask the agent to use
|
|
41
|
+
`compact_context({"project":"<repo>","topic":"<issue>","dryRun":true})`. Threadnote produces a scoped plan first:
|
|
42
|
+
which memory to keep/update, which old handoffs to archive, and which exact duplicates are safe to forget.
|
|
42
43
|
|
|
43
44
|
**Still working on the same issue?**
|
|
44
45
|
Use `threadnote remember --replace <uri>` or `threadnote handoff --replace <uri>` to keep one current-state memory fresh
|
|
45
|
-
instead of accumulating near-duplicate progress notes.
|
|
46
|
+
instead of accumulating near-duplicate progress notes. Replacing a shared `durable/` URI updates that shared memory in
|
|
47
|
+
place and pushes the shared repo, so you do not need a separate `share publish` step.
|
|
46
48
|
|
|
47
49
|
## Memory Lifecycle
|
|
48
50
|
|
|
@@ -70,6 +72,20 @@ threadnote handoff --project my-repo --topic feature-x --task "Current status fo
|
|
|
70
72
|
Agents should update the durable feature memory when valuable implementation knowledge changes, and update the handoff
|
|
71
73
|
when current status, tests, blockers, or next steps change.
|
|
72
74
|
|
|
75
|
+
Bare `threadnote handoff` defaults to the current repo and current git branch as its stable project/topic, so routine
|
|
76
|
+
handoffs update one active branch record. Use `threadnote handoff --timestamped` only when you intentionally want a
|
|
77
|
+
historical note.
|
|
78
|
+
|
|
79
|
+
Use `compact` when active memories for a project/topic start to overlap:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
threadnote compact --project my-repo --topic feature-x --dry-run
|
|
83
|
+
threadnote compact --project my-repo --topic feature-x --apply
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
The dry-run plan is the default. Applying archives stale handoffs, forgets only exact duplicates, and preserves source
|
|
87
|
+
`viking://` URIs in the kept memory. Ambiguous durable or incident memories are left for manual review.
|
|
88
|
+
|
|
73
89
|
Use `archive` when an old handoff is useful for provenance but should stop being treated as current working context:
|
|
74
90
|
|
|
75
91
|
```bash
|
|
@@ -332,19 +348,25 @@ This is it! Start working with your agents as usual. The agent will automaticall
|
|
|
332
348
|
reusable workflow guidance. Use `seed-skills --native` only after configuring a working VLM provider.
|
|
333
349
|
- `mcp-install codex|claude|cursor|copilot`: installs or prints OpenViking MCP configuration for Codex, Claude, Cursor,
|
|
334
350
|
or GitHub Copilot in VS Code.
|
|
335
|
-
- `remember`: stores a durable memory. Use `--replace <uri>` to store an updated memory and remove a superseded
|
|
336
|
-
after the new memory succeeds
|
|
351
|
+
- `remember`: stores a durable memory. Use `--replace <uri>` to store an updated memory and remove a superseded personal
|
|
352
|
+
memory after the new memory succeeds; if `<uri>` is shared, Threadnote updates that shared memory in place and pushes
|
|
353
|
+
the shared repo. Use `--kind`, `--project`, and `--topic` to store lifecycle-aware current knowledge.
|
|
337
354
|
- `migrate-memories`: migrates legacy session-only `MEMORY` and `HANDOFF` records into durable memory files. Run
|
|
338
355
|
`migrate-memories --dry-run` first; use `--all-accounts` when importing from older local OpenViking accounts.
|
|
339
356
|
- `migrate-lifecycle`: moves clear legacy handoff memories from the old events path into archived lifecycle handoff
|
|
340
357
|
paths. It dry-runs by default; use `--apply` after reviewing the output.
|
|
341
358
|
- `recall`: searches shared OpenViking context. It infers repo or skill scope from queries like
|
|
342
|
-
`skills for api service`; use `--uri` or `--no-infer-scope` to override.
|
|
343
|
-
|
|
359
|
+
`skills for api service`; use `--uri` or `--no-infer-scope` to override. Queries that mention `this branch` or
|
|
360
|
+
`current branch` are enriched with local git/workspace terms when available. Exact memory/resource matches skip
|
|
361
|
+
archived lifecycle paths unless `--include-archived` is passed. Recall also nudges scoped cleanup when many active
|
|
362
|
+
handoffs or overlapping returned memories surface.
|
|
363
|
+
- `compact`: prints or applies scoped memory hygiene for active personal memories. It dry-runs by default; use `--apply`
|
|
364
|
+
after reviewing the plan. It archives stale handoffs, forgets exact duplicates, and leaves ambiguous durable memories
|
|
365
|
+
for manual review.
|
|
344
366
|
- `read`: reads a `viking://` URI returned by `recall` or `list`.
|
|
345
367
|
- `list` / `ls`: lists a `viking://` directory.
|
|
346
|
-
- `handoff`: stores current git state and next-step notes as a durable handoff.
|
|
347
|
-
current
|
|
368
|
+
- `handoff`: stores current git state and next-step notes as a durable handoff. Bare handoffs use the current repo and
|
|
369
|
+
current branch as stable project/topic; use `--timestamped` for historical notes or `--project` / `--topic` to override.
|
|
348
370
|
- `archive`: copies a memory into the archived lifecycle tree, then removes the original after the archive write
|
|
349
371
|
succeeds.
|
|
350
372
|
- `forget`: removes a `viking://` URI.
|
|
@@ -428,7 +450,10 @@ threadnote list viking://agent/threadnote/memories --all --recursive
|
|
|
428
450
|
```
|
|
429
451
|
|
|
430
452
|
When MCP is installed, the agent should use Threadnote MCP `recall_context`, then `read_context` or `list_context`.
|
|
431
|
-
Agents must pass JSON arguments, for example `recall_context({"query":"agent context"})`.
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
453
|
+
Agents must pass JSON arguments, for example `recall_context({"query":"agent context"})`. For MCP recall queries that
|
|
454
|
+
say "current repo" or "this branch", pass the current workspace path as `callerCwd` so Threadnote can resolve branch and
|
|
455
|
+
workspace terms without guessing from the MCP server's launch directory. Use `compact_context` for scoped memory hygiene
|
|
456
|
+
dry-runs before applying cleanup. Older adapters expose `search`, `read`, and `list` aliases. Before recall/read returns,
|
|
457
|
+
Threadnote automatically syncs clean incoming shared memory updates when a
|
|
458
|
+
configured share repo is behind; failures are reported as warnings and the local read still continues. The CLI commands
|
|
459
|
+
are the fallback path.
|