opencodekit 0.16.21 → 0.17.1
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/dist/index.js +1 -1
- package/dist/template/.opencode/AGENTS.md +93 -60
- package/dist/template/.opencode/agent/build.md +150 -65
- package/dist/template/.opencode/agent/explore.md +44 -43
- package/dist/template/.opencode/agent/general.md +61 -41
- package/dist/template/.opencode/agent/looker.md +67 -54
- package/dist/template/.opencode/agent/painter.md +42 -33
- package/dist/template/.opencode/agent/plan.md +186 -28
- package/dist/template/.opencode/agent/review.md +47 -39
- package/dist/template/.opencode/agent/scout.md +44 -32
- package/dist/template/.opencode/agent/vision.md +44 -36
- package/dist/template/.opencode/dcp.jsonc +80 -80
- package/dist/template/.opencode/opencode.json +47 -124
- package/dist/template/.opencode/package.json +1 -1
- package/dist/template/.opencode/skill/memory-system/SKILL.md +147 -64
- package/package.json +1 -1
|
@@ -44,65 +44,26 @@
|
|
|
44
44
|
"autoupdate": false,
|
|
45
45
|
"formatter": {
|
|
46
46
|
"biome": {
|
|
47
|
-
"command": [
|
|
48
|
-
|
|
49
|
-
"@biomejs/biome",
|
|
50
|
-
"check",
|
|
51
|
-
"--write",
|
|
52
|
-
"$FILE"
|
|
53
|
-
],
|
|
54
|
-
"extensions": [
|
|
55
|
-
".js",
|
|
56
|
-
".jsx",
|
|
57
|
-
".ts",
|
|
58
|
-
".tsx",
|
|
59
|
-
".json",
|
|
60
|
-
".jsonc"
|
|
61
|
-
]
|
|
47
|
+
"command": ["npx", "@biomejs/biome", "check", "--write", "$FILE"],
|
|
48
|
+
"extensions": [".js", ".jsx", ".ts", ".tsx", ".json", ".jsonc"]
|
|
62
49
|
},
|
|
63
50
|
"cargo-fmt": {
|
|
64
|
-
"command": [
|
|
65
|
-
|
|
66
|
-
"fmt",
|
|
67
|
-
"--",
|
|
68
|
-
"$FILE"
|
|
69
|
-
],
|
|
70
|
-
"extensions": [
|
|
71
|
-
".rs"
|
|
72
|
-
]
|
|
51
|
+
"command": ["cargo", "fmt", "--", "$FILE"],
|
|
52
|
+
"extensions": [".rs"]
|
|
73
53
|
},
|
|
74
54
|
"java-formatter": {
|
|
75
|
-
"command": [
|
|
76
|
-
"google-java-format",
|
|
77
|
-
"--replace",
|
|
78
|
-
"$FILE"
|
|
79
|
-
],
|
|
55
|
+
"command": ["google-java-format", "--replace", "$FILE"],
|
|
80
56
|
"environment": {
|
|
81
57
|
"JAVA_HOME": "{env:JAVA_HOME}"
|
|
82
58
|
},
|
|
83
|
-
"extensions": [
|
|
84
|
-
".java"
|
|
85
|
-
]
|
|
59
|
+
"extensions": [".java"]
|
|
86
60
|
},
|
|
87
61
|
"laravel-pint": {
|
|
88
|
-
"command": [
|
|
89
|
-
|
|
90
|
-
"laravel-pint",
|
|
91
|
-
"--preset",
|
|
92
|
-
"psr12",
|
|
93
|
-
"$FILE"
|
|
94
|
-
],
|
|
95
|
-
"extensions": [
|
|
96
|
-
".php"
|
|
97
|
-
]
|
|
62
|
+
"command": ["npx", "laravel-pint", "--preset", "psr12", "$FILE"],
|
|
63
|
+
"extensions": [".php"]
|
|
98
64
|
},
|
|
99
65
|
"oxfmt": {
|
|
100
|
-
"command": [
|
|
101
|
-
"npx",
|
|
102
|
-
"oxfmt",
|
|
103
|
-
"--write",
|
|
104
|
-
"$FILE"
|
|
105
|
-
],
|
|
66
|
+
"command": ["npx", "oxfmt", "--write", "$FILE"],
|
|
106
67
|
"extensions": [
|
|
107
68
|
".js",
|
|
108
69
|
".jsx",
|
|
@@ -258,11 +219,12 @@
|
|
|
258
219
|
"adaptive": {
|
|
259
220
|
"options": {
|
|
260
221
|
"output_config": {
|
|
261
|
-
"effort": "
|
|
222
|
+
"effort": "max"
|
|
262
223
|
},
|
|
263
224
|
"thinking": {
|
|
264
225
|
"type": "adaptive"
|
|
265
|
-
}
|
|
226
|
+
},
|
|
227
|
+
"max_tokens": 64000
|
|
266
228
|
}
|
|
267
229
|
},
|
|
268
230
|
"high": {
|
|
@@ -316,9 +278,7 @@
|
|
|
316
278
|
"tool_call": true,
|
|
317
279
|
"variants": {
|
|
318
280
|
"high": {
|
|
319
|
-
"include": [
|
|
320
|
-
"reasoning.encrypted_content"
|
|
321
|
-
],
|
|
281
|
+
"include": ["reasoning.encrypted_content"],
|
|
322
282
|
"reasoningEffort": "high",
|
|
323
283
|
"reasoningSummary": "auto"
|
|
324
284
|
},
|
|
@@ -347,9 +307,7 @@
|
|
|
347
307
|
"disabled": true
|
|
348
308
|
},
|
|
349
309
|
"high": {
|
|
350
|
-
"include": [
|
|
351
|
-
"reasoning.encrypted_content"
|
|
352
|
-
],
|
|
310
|
+
"include": ["reasoning.encrypted_content"],
|
|
353
311
|
"reasoningEffort": "high",
|
|
354
312
|
"reasoningSummary": "auto",
|
|
355
313
|
"textVerbosity": "medium"
|
|
@@ -423,17 +381,13 @@
|
|
|
423
381
|
"disabled": true
|
|
424
382
|
},
|
|
425
383
|
"high": {
|
|
426
|
-
"include": [
|
|
427
|
-
"reasoning.encrypted_content"
|
|
428
|
-
],
|
|
384
|
+
"include": ["reasoning.encrypted_content"],
|
|
429
385
|
"reasoningEffort": "high",
|
|
430
386
|
"reasoningSummary": "auto",
|
|
431
387
|
"textVerbosity": "low"
|
|
432
388
|
},
|
|
433
389
|
"medium": {
|
|
434
|
-
"include": [
|
|
435
|
-
"reasoning.encrypted_content"
|
|
436
|
-
],
|
|
390
|
+
"include": ["reasoning.encrypted_content"],
|
|
437
391
|
"reasoningEffort": "medium",
|
|
438
392
|
"reasoningSummary": "auto",
|
|
439
393
|
"textVerbosity": "low"
|
|
@@ -446,17 +400,13 @@
|
|
|
446
400
|
"disabled": true
|
|
447
401
|
},
|
|
448
402
|
"high": {
|
|
449
|
-
"include": [
|
|
450
|
-
"reasoning.encrypted_content"
|
|
451
|
-
],
|
|
403
|
+
"include": ["reasoning.encrypted_content"],
|
|
452
404
|
"reasoningEffort": "high",
|
|
453
405
|
"reasoningSummary": "auto",
|
|
454
406
|
"textVerbosity": "low"
|
|
455
407
|
},
|
|
456
408
|
"medium": {
|
|
457
|
-
"include": [
|
|
458
|
-
"reasoning.encrypted_content"
|
|
459
|
-
],
|
|
409
|
+
"include": ["reasoning.encrypted_content"],
|
|
460
410
|
"reasoningEffort": "medium",
|
|
461
411
|
"reasoningSummary": "auto",
|
|
462
412
|
"textVerbosity": "low"
|
|
@@ -612,14 +562,8 @@
|
|
|
612
562
|
"output": 65536
|
|
613
563
|
},
|
|
614
564
|
"modalities": {
|
|
615
|
-
"input": [
|
|
616
|
-
|
|
617
|
-
"image",
|
|
618
|
-
"pdf"
|
|
619
|
-
],
|
|
620
|
-
"output": [
|
|
621
|
-
"text"
|
|
622
|
-
]
|
|
565
|
+
"input": ["text", "image", "pdf"],
|
|
566
|
+
"output": ["text"]
|
|
623
567
|
},
|
|
624
568
|
"name": "Gemini 2 5 Flash"
|
|
625
569
|
},
|
|
@@ -629,14 +573,8 @@
|
|
|
629
573
|
"output": 65536
|
|
630
574
|
},
|
|
631
575
|
"modalities": {
|
|
632
|
-
"input": [
|
|
633
|
-
|
|
634
|
-
"image",
|
|
635
|
-
"pdf"
|
|
636
|
-
],
|
|
637
|
-
"output": [
|
|
638
|
-
"text"
|
|
639
|
-
]
|
|
576
|
+
"input": ["text", "image", "pdf"],
|
|
577
|
+
"output": ["text"]
|
|
640
578
|
},
|
|
641
579
|
"name": "Gemini 2 5 Flash Lite"
|
|
642
580
|
},
|
|
@@ -646,14 +584,8 @@
|
|
|
646
584
|
"output": 65536
|
|
647
585
|
},
|
|
648
586
|
"modalities": {
|
|
649
|
-
"input": [
|
|
650
|
-
|
|
651
|
-
"image",
|
|
652
|
-
"pdf"
|
|
653
|
-
],
|
|
654
|
-
"output": [
|
|
655
|
-
"text"
|
|
656
|
-
]
|
|
587
|
+
"input": ["text", "image", "pdf"],
|
|
588
|
+
"output": ["text"]
|
|
657
589
|
},
|
|
658
590
|
"name": "Gemini 2 5 Pro"
|
|
659
591
|
},
|
|
@@ -663,14 +595,8 @@
|
|
|
663
595
|
"output": 65536
|
|
664
596
|
},
|
|
665
597
|
"modalities": {
|
|
666
|
-
"input": [
|
|
667
|
-
|
|
668
|
-
"image",
|
|
669
|
-
"pdf"
|
|
670
|
-
],
|
|
671
|
-
"output": [
|
|
672
|
-
"text"
|
|
673
|
-
]
|
|
598
|
+
"input": ["text", "image", "pdf"],
|
|
599
|
+
"output": ["text"]
|
|
674
600
|
},
|
|
675
601
|
"name": "Gemini 3 Flash",
|
|
676
602
|
"options": {
|
|
@@ -700,14 +626,8 @@
|
|
|
700
626
|
"output": 65536
|
|
701
627
|
},
|
|
702
628
|
"modalities": {
|
|
703
|
-
"input": [
|
|
704
|
-
|
|
705
|
-
"image",
|
|
706
|
-
"pdf"
|
|
707
|
-
],
|
|
708
|
-
"output": [
|
|
709
|
-
"text"
|
|
710
|
-
]
|
|
629
|
+
"input": ["text", "image", "pdf"],
|
|
630
|
+
"output": ["text"]
|
|
711
631
|
},
|
|
712
632
|
"name": "Gemini 3 Flash Preview",
|
|
713
633
|
"options": {
|
|
@@ -737,14 +657,8 @@
|
|
|
737
657
|
"output": 65536
|
|
738
658
|
},
|
|
739
659
|
"modalities": {
|
|
740
|
-
"input": [
|
|
741
|
-
|
|
742
|
-
"image",
|
|
743
|
-
"pdf"
|
|
744
|
-
],
|
|
745
|
-
"output": [
|
|
746
|
-
"text"
|
|
747
|
-
]
|
|
660
|
+
"input": ["text", "image", "pdf"],
|
|
661
|
+
"output": ["text"]
|
|
748
662
|
},
|
|
749
663
|
"name": "Gemini 3 Pro High",
|
|
750
664
|
"options": {
|
|
@@ -781,14 +695,8 @@
|
|
|
781
695
|
"output": 65536
|
|
782
696
|
},
|
|
783
697
|
"modalities": {
|
|
784
|
-
"input": [
|
|
785
|
-
|
|
786
|
-
"image",
|
|
787
|
-
"pdf"
|
|
788
|
-
],
|
|
789
|
-
"output": [
|
|
790
|
-
"text"
|
|
791
|
-
]
|
|
698
|
+
"input": ["text", "image", "pdf"],
|
|
699
|
+
"output": ["text"]
|
|
792
700
|
},
|
|
793
701
|
"name": "Gemini 3 Pro Preview",
|
|
794
702
|
"options": {
|
|
@@ -1079,6 +987,21 @@
|
|
|
1079
987
|
}
|
|
1080
988
|
},
|
|
1081
989
|
"reasoning": true
|
|
990
|
+
},
|
|
991
|
+
"glm-5": {
|
|
992
|
+
"name": "GLM-5",
|
|
993
|
+
"reasoning": true,
|
|
994
|
+
"options": {
|
|
995
|
+
"reasoningEffort": "high",
|
|
996
|
+
"reasoningSummary": "true",
|
|
997
|
+
"temperature": 1.0,
|
|
998
|
+
"top_k": 40,
|
|
999
|
+
"top_p": 0.95,
|
|
1000
|
+
"maxOutputTokens": 131072,
|
|
1001
|
+
"thinking": {
|
|
1002
|
+
"type": "enabled"
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1082
1005
|
}
|
|
1083
1006
|
},
|
|
1084
1007
|
"name": "Z.AI Coding Plan"
|
|
@@ -3,27 +3,103 @@ name: memory-system
|
|
|
3
3
|
description: Use when persisting learnings, loading previous context, or searching past decisions - covers memory file structure, tools, and when to update each file
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Memory System
|
|
6
|
+
# Memory System Best Practices
|
|
7
7
|
|
|
8
|
-
Persistent context that survives across sessions. Uses **SQLite + FTS5**
|
|
8
|
+
Persistent context that survives across sessions. Uses **SQLite + FTS5** for searchable observations.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Core Principle
|
|
11
11
|
|
|
12
|
+
**Progressive disclosure** — search compactly, fetch fully, timeline chronologically. Never load all memory at once.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## The Ritual
|
|
17
|
+
|
|
18
|
+
Follow this every session. Memory is not optional — it's how knowledge compounds.
|
|
19
|
+
|
|
20
|
+
### 1. Ground — Search Before You Start
|
|
21
|
+
|
|
22
|
+
Always search memory first.
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
// Search for relevant past work
|
|
26
|
+
memory_search({ query: "<task keywords>", limit: 5 });
|
|
27
|
+
memory_search({ query: "bugfix <component>", type: "observations" });
|
|
28
|
+
|
|
29
|
+
// Check recent handoffs
|
|
30
|
+
memory_search({ query: "handoff", type: "handoffs", limit: 3 });
|
|
12
31
|
```
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
32
|
+
|
|
33
|
+
**Why:** Past you already solved this. Don't rediscover.
|
|
34
|
+
|
|
35
|
+
### 2. Calibrate — Progressive Disclosure
|
|
36
|
+
|
|
37
|
+
Don't fetch full content until you know you need it.
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
// 1. Search returns compact index (50-100 tokens per result)
|
|
41
|
+
const results = memory_search({ query: "auth patterns" });
|
|
42
|
+
// Returns: [{id: 42, title: "Auth bug fixed", ...}]
|
|
43
|
+
|
|
44
|
+
// 2. Fetch full details ONLY for relevant IDs
|
|
45
|
+
memory_get({ ids: "42,45" });
|
|
46
|
+
|
|
47
|
+
// 3. See what led to this decision
|
|
48
|
+
memory_timeline({ anchor_id: 42, depth_before: 3 });
|
|
18
49
|
```
|
|
19
50
|
|
|
20
|
-
**
|
|
51
|
+
**Why:** Prevents context bloat. High signal, low noise.
|
|
52
|
+
|
|
53
|
+
### 3. Transform — Record Discoveries
|
|
54
|
+
|
|
55
|
+
Create observations for anything non-obvious. Don't wait until the end.
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
observation({
|
|
59
|
+
type: "pattern", // decision | bugfix | pattern | discovery | warning
|
|
60
|
+
title: "Brief description",
|
|
61
|
+
narrative: "Context and reasoning...",
|
|
62
|
+
facts: "key, facts, here",
|
|
63
|
+
concepts: "searchable, keywords",
|
|
64
|
+
files_modified: "src/file.ts",
|
|
65
|
+
});
|
|
66
|
+
```
|
|
21
67
|
|
|
22
|
-
|
|
68
|
+
| Type | Use When | Example |
|
|
69
|
+
| ----------- | -------------------------- | ---------------------------------- |
|
|
70
|
+
| `decision` | Architectural choice made | "Use zod over yup" |
|
|
71
|
+
| `bugfix` | Root cause found & fixed | "Race condition in async init" |
|
|
72
|
+
| `pattern` | Reusable code pattern | "Repository with error boundaries" |
|
|
73
|
+
| `discovery` | New capability learned | "Bun.test supports mocking" |
|
|
74
|
+
| `warning` | Dangerous pattern to avoid | "Don't use fs.watch in Docker" |
|
|
75
|
+
| `learning` | General insight | "Always validate at boundary" |
|
|
76
|
+
|
|
77
|
+
### 4. Reset — Handoff for Next Session
|
|
78
|
+
|
|
79
|
+
Document completion state for future you.
|
|
80
|
+
|
|
81
|
+
```typescript
|
|
82
|
+
memory_update({
|
|
83
|
+
file: "handoffs/YYYY-MM-DD-task",
|
|
84
|
+
content: `## Completed
|
|
85
|
+
- X
|
|
86
|
+
|
|
87
|
+
## Blockers
|
|
88
|
+
- Y
|
|
89
|
+
|
|
90
|
+
## Next
|
|
91
|
+
- Z`,
|
|
92
|
+
mode: "append",
|
|
93
|
+
});
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Memory Tools Reference
|
|
23
99
|
|
|
24
100
|
### memory-search (Start Here)
|
|
25
101
|
|
|
26
|
-
Fast FTS5 full-text search. Returns **compact index**
|
|
102
|
+
Fast FTS5 full-text search. Returns **compact index** for progressive disclosure.
|
|
27
103
|
|
|
28
104
|
```typescript
|
|
29
105
|
memory_search({ query: "authentication" });
|
|
@@ -41,7 +117,7 @@ memory_search({ query: "patterns", type: "all" }); // Search everything
|
|
|
41
117
|
|
|
42
118
|
### memory-get (Progressive Disclosure)
|
|
43
119
|
|
|
44
|
-
Fetch full observation details after identifying relevant IDs
|
|
120
|
+
Fetch full observation details after identifying relevant IDs:
|
|
45
121
|
|
|
46
122
|
```typescript
|
|
47
123
|
memory_get({ ids: "42" }); // Single observation
|
|
@@ -61,7 +137,7 @@ memory_timeline({ anchor_id: 42, depth_before: 5, depth_after: 5 });
|
|
|
61
137
|
Load project files, handoffs, or templates:
|
|
62
138
|
|
|
63
139
|
```typescript
|
|
64
|
-
memory_read({ file: "project/
|
|
140
|
+
memory_read({ file: "project/gotchas" });
|
|
65
141
|
memory_read({ file: "handoffs/2024-01-20-phase-1" });
|
|
66
142
|
memory_read({ file: "research/auth-patterns" });
|
|
67
143
|
```
|
|
@@ -78,68 +154,67 @@ memory_update({
|
|
|
78
154
|
});
|
|
79
155
|
```
|
|
80
156
|
|
|
81
|
-
|
|
157
|
+
---
|
|
82
158
|
|
|
83
|
-
|
|
159
|
+
## What Goes Where
|
|
84
160
|
|
|
85
|
-
|
|
86
|
-
observation({
|
|
87
|
-
type: "decision", // decision, bugfix, feature, pattern, discovery, learning, warning
|
|
88
|
-
title: "Use JWT auth",
|
|
89
|
-
narrative: "Decided to use JWT because it's stateless and scales well...",
|
|
90
|
-
facts: "stateless, scalable, industry standard", // Key facts (comma-separated)
|
|
91
|
-
concepts: "auth, jwt, security", // Keywords for search
|
|
92
|
-
confidence: "high", // high, medium, low
|
|
93
|
-
files_read: "src/auth.ts, src/middleware.ts", // Files consulted
|
|
94
|
-
files_modified: "src/auth.ts", // Files changed
|
|
95
|
-
bead_id: "br-abc123", // Link to task (optional)
|
|
96
|
-
});
|
|
97
|
-
```
|
|
161
|
+
### SQLite (observations)
|
|
98
162
|
|
|
99
|
-
|
|
163
|
+
- Events: decisions, bugfixes, patterns discovered
|
|
164
|
+
- Searchable via FTS5
|
|
165
|
+
- Use `observation()` to create
|
|
100
166
|
|
|
101
|
-
|
|
102
|
-
- Bug root causes discovered
|
|
103
|
-
- Patterns worth reusing
|
|
104
|
-
- Gotchas and warnings for future
|
|
167
|
+
### Markdown Files
|
|
105
168
|
|
|
106
|
-
|
|
169
|
+
- Static knowledge: user preferences, tech stack
|
|
170
|
+
- Handoffs: session summaries
|
|
171
|
+
- Research: deep-dive documents
|
|
172
|
+
- Use `memory_read()` / `memory_update()`
|
|
107
173
|
|
|
108
|
-
|
|
|
109
|
-
|
|
|
110
|
-
| `project/
|
|
111
|
-
| `project/
|
|
112
|
-
| `project/gotchas.md`
|
|
113
|
-
| `
|
|
174
|
+
| Location | Content | Tool |
|
|
175
|
+
| -------------------------- | -------------------------- | --------------------------------- |
|
|
176
|
+
| `project/user.md` | User identity, preferences | `memory_read()` |
|
|
177
|
+
| `project/tech-stack.md` | Frameworks, constraints | `memory_read()` |
|
|
178
|
+
| `project/gotchas.md` | Footguns, warnings | `memory_update({mode: "append"})` |
|
|
179
|
+
| `handoffs/YYYY-MM-DD-*.md` | Session summaries | `memory_update()` |
|
|
180
|
+
| `research/*.md` | Deep-dive analysis | `memory_update()` |
|
|
181
|
+
| SQLite | Observations, events | `observation()` |
|
|
114
182
|
|
|
115
|
-
|
|
183
|
+
---
|
|
116
184
|
|
|
117
|
-
|
|
185
|
+
## Observations Schema
|
|
118
186
|
|
|
119
187
|
```typescript
|
|
120
|
-
|
|
121
|
-
|
|
188
|
+
observation({
|
|
189
|
+
type: "decision", // decision, bugfix, pattern, discovery, warning, learning
|
|
190
|
+
title: "Use JWT auth",
|
|
191
|
+
narrative: "Decided to use JWT because it's stateless...",
|
|
192
|
+
facts: "stateless, scalable, industry standard",
|
|
193
|
+
concepts: "auth, jwt, security",
|
|
194
|
+
confidence: "high", // high, medium, low
|
|
195
|
+
files_read: "src/auth.ts, src/middleware.ts",
|
|
196
|
+
files_modified: "src/auth.ts",
|
|
197
|
+
bead_id: "br-abc123", // Link to task (optional)
|
|
198
|
+
});
|
|
199
|
+
```
|
|
122
200
|
|
|
123
|
-
|
|
124
|
-
// 3. Fetch full details only for what you need
|
|
125
|
-
memory_get({ ids: "42,45" });
|
|
201
|
+
---
|
|
126
202
|
|
|
127
|
-
|
|
128
|
-
memory_timeline({ anchor_id: 42 });
|
|
129
|
-
```
|
|
203
|
+
## Anti-Patterns (Don't Do This)
|
|
130
204
|
|
|
131
|
-
|
|
205
|
+
| ❌ Don't | ✅ Do Instead |
|
|
206
|
+
| ----------------------------------- | -------------------------------------- |
|
|
207
|
+
| Load full memory at session start | Use progressive disclosure |
|
|
208
|
+
| Create observations for everything | Only non-obvious decisions |
|
|
209
|
+
| Duplicate in files AND observations | Files = static, SQLite = events |
|
|
210
|
+
| Vague search queries | Use specific keywords, file paths |
|
|
211
|
+
| Subagents writing to memory | Only leader agents create observations |
|
|
212
|
+
| Wait until end to record | Create observations as you discover |
|
|
132
213
|
|
|
133
|
-
|
|
134
|
-
2. **Progressive disclosure** - Use search → get → timeline pattern
|
|
135
|
-
3. **Record decisions** - Create observations for non-obvious choices
|
|
136
|
-
4. **Be specific** - Include file paths, function names, concrete examples
|
|
137
|
-
5. **Keep it actionable** - Future agents should know what to do with the info
|
|
214
|
+
---
|
|
138
215
|
|
|
139
216
|
## Maintenance
|
|
140
217
|
|
|
141
|
-
For long-term storage health:
|
|
142
|
-
|
|
143
218
|
```typescript
|
|
144
219
|
// Check current status
|
|
145
220
|
memory_admin({ operation: "status" });
|
|
@@ -151,12 +226,20 @@ memory_admin({ operation: "full" });
|
|
|
151
226
|
memory_admin({ operation: "archive", older_than_days: 60, dry_run: true });
|
|
152
227
|
```
|
|
153
228
|
|
|
154
|
-
**Automatic
|
|
229
|
+
**Automatic:** Runs at session end (FTS5 optimize, WAL checkpoint if >1MB)
|
|
230
|
+
|
|
231
|
+
**Manual:** Run monthly or when storage grows
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Philosophy
|
|
236
|
+
|
|
237
|
+
**Memory is not a dumping ground. It's curated signal.**
|
|
155
238
|
|
|
156
|
-
-
|
|
157
|
-
-
|
|
239
|
+
- Search before you build
|
|
240
|
+
- Record what you learned
|
|
241
|
+
- Hand off to future you
|
|
158
242
|
|
|
159
|
-
|
|
243
|
+
> "The body is architecture. The breath is wiring. The rhythm is survival."
|
|
160
244
|
|
|
161
|
-
|
|
162
|
-
- `vacuum`: Defragment and reclaim space
|
|
245
|
+
Memory is rhythm — it carries knowledge across the silence between sessions.
|
package/package.json
CHANGED