@ainyc/canonry 2.14.2 → 2.16.0
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/assets/agent-workspace/skills/aero/references/memory-patterns.md +9 -9
- package/assets/assets/{index-D1v6Q-fS.js → index-B18l8ugs.js} +97 -97
- package/assets/assets/{index-U2SLimrz.css → index-DMx3Oy9W.css} +1 -1
- package/assets/index.html +2 -2
- package/dist/{chunk-CILBPOHB.js → chunk-CKABU6PE.js} +230 -578
- package/dist/{chunk-7VWSR5F6.js → chunk-HNVRN5QL.js} +927 -8
- package/dist/cli.js +36 -10
- package/dist/index.js +2 -2
- package/dist/mcp.js +9 -796
- package/package.json +9 -9
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: memory-patterns
|
|
3
|
-
description: When to remember vs. re-query — project state lives in canonry, only durable user-scoped facts go in Aero memory. Read when unsure whether to call
|
|
3
|
+
description: When to remember vs. re-query — project state lives in canonry, only durable user-scoped facts go in Aero memory. Read when unsure whether to call canonry_memory_set or look up.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Memory Patterns
|
|
7
7
|
|
|
8
8
|
Canonry is the source of truth for project state. Do **not** maintain a parallel copy of project facts in Aero memory — it will drift from the DB and mislead the next session.
|
|
9
9
|
|
|
10
|
-
Aero
|
|
10
|
+
Aero ships with a built-in durable notes store — the `canonry_memory_set`, `canonry_memory_forget`, and `canonry_memory_list` tools — backed by the `agent_memory` table. The N most-recently-updated notes are injected into the system prompt at every session start, so you usually see relevant memory without calling `canonry_memory_list`.
|
|
11
11
|
|
|
12
12
|
## What belongs where
|
|
13
13
|
|
|
14
14
|
| Scope | Examples | Home |
|
|
15
15
|
|---|---|---|
|
|
16
16
|
| **Project state** | Baselines, historical regressions, citation rates per keyword/provider, recent insights, sweep history, audit trail | Canonry DB — query via CLI / API / read tools |
|
|
17
|
-
| **Operator facts** | Personal preferences, non-observable context ("content lead is Sarah", "migrating off Webflow next quarter"), tone/voice preferences the operator confirmed | Aero memory (`
|
|
17
|
+
| **Operator facts** | Personal preferences, non-observable context ("content lead is Sarah", "migrating off Webflow next quarter"), tone/voice preferences the operator confirmed | Aero memory (`canonry_memory_set`) |
|
|
18
18
|
| **Session scratch** | "I just tried X and it failed", intermediate reasoning, turn-local state | Nowhere — let it die with the session |
|
|
19
19
|
|
|
20
20
|
## How to read project state from canonry
|
|
21
21
|
|
|
22
|
-
Prefer Aero's read tools (`
|
|
22
|
+
Prefer Aero's read tools (`canonry_project_overview`, `canonry_health_latest`, `canonry_timeline_get`, `canonry_insights_list`, `canonry_keywords_list`, `canonry_competitors_list`, `canonry_run_get`) over shelling out, but the CLI exists for operators too:
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
25
|
canonry status <project> --format json
|
|
@@ -36,13 +36,13 @@ If the data you need isn't reachable with a single read tool or CLI call, that's
|
|
|
36
36
|
|
|
37
37
|
Derived interpretations (trend summaries, correlations between events) are cheap to recompute from the underlying DB rows. Prefer running the analysis again on fresh data over recalling what you concluded last session — conclusions age, the data doesn't.
|
|
38
38
|
|
|
39
|
-
## Using `
|
|
39
|
+
## Using `canonry_memory_set` / `canonry_memory_forget` / `canonry_memory_list`
|
|
40
40
|
|
|
41
|
-
- `
|
|
42
|
-
- `
|
|
43
|
-
- `
|
|
41
|
+
- `canonry_memory_set({ key, value })` — upsert a project-scoped note. Capped at 2 KB per value. Same key replaces the prior value, so use stable keys (e.g. `operator-pref.reporting-tone`, not `note-2026-04-17`).
|
|
42
|
+
- `canonry_memory_forget({ key })` — remove a single note. Returns `status: missing` when the key never existed (non-fatal).
|
|
43
|
+
- `canonry_memory_list()` — read notes newest-first. Usually unnecessary — the top 20 are already in the system prompt under `<memory>`. Reach for it when you need older context or the full value of a note that's been summarized.
|
|
44
44
|
|
|
45
|
-
**Reserved prefix.** Keys starting with `compaction:` are reserved for LLM-summarized transcript slices. `
|
|
45
|
+
**Reserved prefix.** Keys starting with `compaction:` are reserved for LLM-summarized transcript slices. `canonry_memory_set` and `canonry_memory_forget` both reject them. Compaction notes are pruned automatically — you can list them but never write or delete them by hand.
|
|
46
46
|
|
|
47
47
|
**CLI parity.** Operators can manage memory without talking to you:
|
|
48
48
|
|