@vaur94/agz-memory 0.5.0 → 0.5.2

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/ARCHITECTURE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AGZ Memory Architecture
2
2
 
3
- This document describes the `0.5.0` runtime and SQLite schema v11.
3
+ This document describes the `0.5.2` runtime and SQLite schema v11.
4
4
 
5
5
  ## System Boundaries
6
6
 
@@ -20,7 +20,7 @@ OpenCode V2 beta-18743
20
20
 
21
21
  SQLite outbox
22
22
  -> optional derived retrieval backend
23
- -> disabled in 0.5.0; backend = none
23
+ -> disabled in 0.5.2; backend = none
24
24
  ```
25
25
 
26
26
  The MCP adapter owns tool schemas, annotations, and result envelopes. The core
@@ -98,7 +98,10 @@ Capture requires all of these gates:
98
98
 
99
99
  1. The plugin version and running OpenCode beta match exactly.
100
100
  2. Mode is not `off`, capture is enabled, and exactly one explicit binding
101
- matches project ID, workspace ID, and canonical directory.
101
+ matches project ID, workspace ID, and canonical directory. A linked Git
102
+ worktree may match its main checkout only after reciprocal worktree metadata
103
+ proves that both use the same common Git directory; persisted binding paths
104
+ are not rewritten.
102
105
  3. Only terminal user/assistant text or terminal tool status is projected.
103
106
  4. Credential and private-key patterns are removed or quarantined.
104
107
  5. The strict `CaptureEventV2` parser enforces UTF-8 size, kind-specific source identity, event
@@ -133,7 +136,7 @@ original OpenCode context unchanged.
133
136
 
134
137
  Semantic providers implement an optional backend contract: project-filtered
135
138
  query, idempotent upsert, deterministic delete, full project purge, and health.
136
- No provider is enabled in `0.5.0`. The SQLite lexical/graph path remains fully
139
+ No provider is enabled in `0.5.2`. The SQLite lexical/graph path remains fully
137
140
  functional without one.
138
141
 
139
142
  ## Derived Index Outbox
package/CHANGELOG.md CHANGED
@@ -3,6 +3,38 @@
3
3
  All notable changes to AGZ Memory are recorded here. The project follows
4
4
  [Semantic Versioning](https://semver.org/).
5
5
 
6
+ ## [0.5.2] - 2026-09-04
7
+
8
+ ### Changed
9
+
10
+ - Updated linked Git worktree guidance so a main checkout and its linked
11
+ worktrees safely reuse the same `memoryProjectID` after Git metadata confirms
12
+ the shared common directory.
13
+ - Preserved persisted binding path and key compatibility while allowing distinct
14
+ OpenCode project/workspace identities to map to that shared memory project.
15
+ - Aligned release metadata, package examples, and bilingual operational guidance
16
+ with the 0.5.2 release surface.
17
+
18
+ ### Compatibility
19
+
20
+ - Retained SQLite schema 11, the exact nine-tool MCP contract, and inert plugin
21
+ defaults across the worktree identity guidance change.
22
+
23
+ ## [0.5.1] - 2026-09-04
24
+
25
+ ### Changed
26
+
27
+ - Hardened Phase 1 stabilization with the migration-root fix, shared limits and
28
+ typed errors, bounded pagination, strict default-off plugin configuration,
29
+ bounded late attachment/shutdown, and resumable administrative reindexing.
30
+ - Added the 10-sample p95 migration timing artifact, safe clean/evidence
31
+ tooling, and keyed quarantine HMAC rotation with Windows fail-closed behavior.
32
+
33
+ ### Security
34
+
35
+ - Preserved exactly nine MCP tools, SQLite schema 11, semantic backend `none`,
36
+ and inert plugin defaults.
37
+
6
38
  ## [0.5.0] - 2026-09-02
7
39
 
8
40
  ### Added
package/README.md CHANGED
@@ -10,6 +10,9 @@ as two independently usable packages that advance at the same version:
10
10
  - `@vaur94/agz-memory-plugin`: an optional OpenCode V2 adapter for bounded
11
11
  retrieval and deliberately staged automatic capture.
12
12
 
13
+ **0.5.2 status:** This repository documents the 0.5.2 release surface and
14
+ compatibility contract; npm publication and Git hosting state are tracked separately.
15
+
13
16
  The MCP server is ready for normal use. The plugin starts inert: no project is
14
17
  created, no session is captured, and no context is injected until an explicit
15
18
  binding and rollout mode are configured.
@@ -32,8 +35,8 @@ binding and rollout mode are configured.
32
35
 
33
36
  | Component | Supported version |
34
37
  |---|---|
35
- | Core and MCP | `0.5.0` |
36
- | OpenCode plugin | `0.5.0` |
38
+ | Core and MCP | `0.5.2` |
39
+ | OpenCode plugin | `0.5.2` |
37
40
  | OpenCode V2 | `0.0.0-beta-18743` |
38
41
  | `@opencode-ai/plugin` | `0.0.0-beta-18743` |
39
42
  | Bun | `>=1.3.14` |
@@ -47,7 +50,7 @@ itself unless the running OpenCode version exactly matches the supported beta.
47
50
  Run the server directly:
48
51
 
49
52
  ```sh
50
- bunx @vaur94/agz-memory@0.5.0
53
+ bunx @vaur94/agz-memory@0.5.2
51
54
  ```
52
55
 
53
56
  Or register it in OpenCode V2 under `mcp.servers`:
@@ -55,13 +58,13 @@ Or register it in OpenCode V2 under `mcp.servers`:
55
58
  ```jsonc
56
59
  {
57
60
  "skills": [
58
- "https://raw.githubusercontent.com/ugur-murat-alt/agz-memory/v0.5.0/skills/"
61
+ "https://raw.githubusercontent.com/ugur-murat-alt/agz-memory/v0.5.2/skills/"
59
62
  ],
60
63
  "mcp": {
61
64
  "servers": {
62
65
  "agz-memory": {
63
66
  "type": "local",
64
- "command": ["bunx", "@vaur94/agz-memory@0.5.0"],
67
+ "command": ["bunx", "@vaur94/agz-memory@0.5.2"],
65
68
  "environment": {
66
69
  "OPENCODE_MEMORY_DATABASE_PATH": "{env:OPENCODE_MEMORY_DATABASE_PATH}"
67
70
  },
@@ -111,7 +114,8 @@ OpenCode exposes the tools with the configured server prefix, for example
111
114
  Recommended sequence:
112
115
 
113
116
  1. Call `project_list` and reuse an existing project when it represents the
114
- same durable workspace.
117
+ same durable workspace. Git linked worktrees are separate checkouts of that
118
+ workspace and must reuse its `projectID`.
115
119
  2. Call `project_create` only when no matching project exists.
116
120
  3. Keep the returned `projectID`; names can change, UUIDs cannot.
117
121
  4. Call `memory_recall` before relying on historical decisions.
@@ -130,7 +134,7 @@ options:
130
134
  {
131
135
  "plugins": [
132
136
  {
133
- "package": "@vaur94/agz-memory-plugin@0.5.0",
137
+ "package": "@vaur94/agz-memory-plugin@0.5.2",
134
138
  "options": {
135
139
  "mode": "off",
136
140
  "autoCreateProjects": false,
@@ -171,9 +175,13 @@ an OpenCode project/workspace/location to an existing AGZ Memory project:
171
175
  ```
172
176
 
173
177
  `memoryProjectID` must come from `project_list`. The directory is resolved with
174
- the filesystem and compared with the active OpenCode location. Only a hash of
175
- that canonical path is persisted. A mismatched location or duplicate mapping
176
- disables the plugin rather than selecting a project heuristically.
178
+ the filesystem and compared with the active OpenCode location. A main checkout
179
+ and a linked Git worktree are accepted as the same repository only when their
180
+ Git metadata confirms the shared common directory. Configure each distinct
181
+ OpenCode project/workspace identity explicitly, but reuse the same
182
+ `memoryProjectID`; the configured canonical path and its persisted hash remain
183
+ unchanged. An unrelated or unverifiable location and a duplicate mapping disable
184
+ the plugin rather than selecting a project heuristically.
177
185
 
178
186
  ## Roll Out Safely
179
187
 
@@ -203,11 +211,11 @@ quality, and latency gates.
203
211
  The admin CLI reads the same `OPENCODE_MEMORY_DATABASE_PATH`:
204
212
 
205
213
  ```sh
206
- bunx --package @vaur94/agz-memory@0.5.0 agz-memory-admin doctor
207
- bunx --package @vaur94/agz-memory@0.5.0 agz-memory-admin backup
208
- bunx --package @vaur94/agz-memory@0.5.0 agz-memory-admin upgrade --to 11
209
- bunx --package @vaur94/agz-memory@0.5.0 agz-memory-admin capture status
210
- bunx --package @vaur94/agz-memory@0.5.0 agz-memory-admin outbox status
214
+ bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin doctor
215
+ bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin backup
216
+ bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin upgrade --to 11
217
+ bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin capture status
218
+ bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin outbox status
211
219
  ```
212
220
 
213
221
  Upgrades take an exclusive migration lock and create a verified backup before
@@ -216,7 +224,7 @@ restore. Restore and backup deletion use dry-run output plus explicit
216
224
  confirmation values; never guess them.
217
225
 
218
226
  Use [the backup and restore runbook](docs/backup-restore-runbook.md) for a full
219
- rehearsal. Final `0.5.0` backup manifests use `agz-memory-backup/1`; prerelease
227
+ rehearsal. The `0.5.2` backup manifests use `agz-memory-backup/1`; prerelease
220
228
  manifests must be handled by the prerelease that created them.
221
229
 
222
230
  ## Security Model
package/README.tr.md CHANGED
@@ -10,6 +10,9 @@ Aynı sürümde ilerleyen, birbirinden bağımsız kullanılabilen iki paket sun
10
10
  - `@vaur94/agz-memory-plugin`: sınırlı geri çağırma ve bilinçli olarak aşamalı
11
11
  otomatik yakalama için isteğe bağlı OpenCode V2 bağdaştırıcısı.
12
12
 
13
+ **0.5.2 durumu:** Bu depo 0.5.2 sürüm yüzeyini ve uyumluluk sözleşmesini
14
+ belgeler; npm yayımlama ve Git barındırma durumu ayrı olarak izlenir.
15
+
13
16
  MCP sunucusu normal kullanım için hazırdır. Eklenti hareketsiz başlar: açık bir
14
17
  eşleme ve devreye alma modu verilene kadar proje oluşturmaz, oturum yakalamaz ve
15
18
  bağlam eklemez.
@@ -32,8 +35,8 @@ bağlam eklemez.
32
35
 
33
36
  | Bileşen | Desteklenen sürüm |
34
37
  |---|---|
35
- | Çekirdek ve MCP | `0.5.0` |
36
- | OpenCode eklentisi | `0.5.0` |
38
+ | Çekirdek ve MCP | `0.5.2` |
39
+ | OpenCode eklentisi | `0.5.2` |
37
40
  | OpenCode V2 | `0.0.0-beta-18743` |
38
41
  | `@opencode-ai/plugin` | `0.0.0-beta-18743` |
39
42
  | Bun | `>=1.3.14` |
@@ -47,7 +50,7 @@ MCP sunucusu bir OpenCode beta sürümüne bağlı değildir. İsteğe bağlı e
47
50
  Sunucuyu doğrudan çalıştırın:
48
51
 
49
52
  ```sh
50
- bunx @vaur94/agz-memory@0.5.0
53
+ bunx @vaur94/agz-memory@0.5.2
51
54
  ```
52
55
 
53
56
  Ya da OpenCode V2 içinde `mcp.servers` altına kaydedin:
@@ -55,13 +58,13 @@ Ya da OpenCode V2 içinde `mcp.servers` altına kaydedin:
55
58
  ```jsonc
56
59
  {
57
60
  "skills": [
58
- "https://raw.githubusercontent.com/ugur-murat-alt/agz-memory/v0.5.0/skills/"
61
+ "https://raw.githubusercontent.com/ugur-murat-alt/agz-memory/v0.5.2/skills/"
59
62
  ],
60
63
  "mcp": {
61
64
  "servers": {
62
65
  "agz-memory": {
63
66
  "type": "local",
64
- "command": ["bunx", "@vaur94/agz-memory@0.5.0"],
67
+ "command": ["bunx", "@vaur94/agz-memory@0.5.2"],
65
68
  "environment": {
66
69
  "OPENCODE_MEMORY_DATABASE_PATH": "{env:OPENCODE_MEMORY_DATABASE_PATH}"
67
70
  },
@@ -112,7 +115,8 @@ OpenCode araçları yapılandırılan sunucu önekiyle gösterir; örneğin
112
115
  Önerilen sıra:
113
116
 
114
117
  1. `project_list` çağırın ve aynı kalıcı çalışma alanını temsil eden mevcut
115
- projeyi yeniden kullanın.
118
+ projeyi yeniden kullanın. Git bağlantılı çalışma ağaçları bu çalışma alanının
119
+ ayrı kod kopyalarıdır ve aynı `projectID` değerini kullanmalıdır.
116
120
  2. Yalnız eşleşen proje yoksa `project_create` çağırın.
117
121
  3. Dönen `projectID` değerini saklayın; ad değişebilir, UUID değişmez.
118
122
  4. Geçmiş kararlara dayanmadan önce `memory_recall` çağırın.
@@ -132,7 +136,7 @@ ayarlarla ekleyin:
132
136
  {
133
137
  "plugins": [
134
138
  {
135
- "package": "@vaur94/agz-memory-plugin@0.5.0",
139
+ "package": "@vaur94/agz-memory-plugin@0.5.2",
136
140
  "options": {
137
141
  "mode": "off",
138
142
  "autoCreateProjects": false,
@@ -173,9 +177,13 @@ OpenCode proje/çalışma alanı/konumunu mevcut AGZ Memory projesine bağlar:
173
177
  ```
174
178
 
175
179
  `memoryProjectID`, `project_list` sonucundan gelmelidir. Dizin gerçek dosya
176
- sistemi yoluna çözülür ve etkin OpenCode konumuyla karşılaştırılır. Yalnız bu
177
- kanonik yolun özeti veritabanına yazılır. Yanlış konum veya çift eşleme,
178
- sezgisel proje seçmek yerine eklentiyi kapatır.
180
+ sistemi yoluna çözülür ve etkin OpenCode konumuyla karşılaştırılır. Ana kod
181
+ kopyası ile bağlantılı Git çalışma ağacı, yalnız Git metadata'sı ortak dizini
182
+ doğruladığında aynı depo kabul edilir. Her farklı OpenCode proje/çalışma alanı
183
+ kimliğini açıkça eşleyin, fakat aynı `memoryProjectID` değerini yeniden kullanın;
184
+ yapılandırılmış kanonik yol ve veritabanındaki özeti değişmez. İlişkisiz veya
185
+ doğrulanamayan konum ya da çift eşleme, sezgisel proje seçmek yerine eklentiyi
186
+ kapatır.
179
187
 
180
188
  ## Güvenli Devreye Alma
181
189
 
@@ -205,11 +213,11 @@ kapılarından geçene kadar `semanticBackend` değeri `none` olmalıdır.
205
213
  Yönetim aracı aynı `OPENCODE_MEMORY_DATABASE_PATH` değerini okur:
206
214
 
207
215
  ```sh
208
- bunx --package @vaur94/agz-memory@0.5.0 agz-memory-admin doctor
209
- bunx --package @vaur94/agz-memory@0.5.0 agz-memory-admin backup
210
- bunx --package @vaur94/agz-memory@0.5.0 agz-memory-admin upgrade --to 11
211
- bunx --package @vaur94/agz-memory@0.5.0 agz-memory-admin capture status
212
- bunx --package @vaur94/agz-memory@0.5.0 agz-memory-admin outbox status
216
+ bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin doctor
217
+ bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin backup
218
+ bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin upgrade --to 11
219
+ bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin capture status
220
+ bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin outbox status
213
221
  ```
214
222
 
215
223
  Yükseltmeler özel bir geçiş kilidi alır ve veritabanını değiştirmeden önce
@@ -218,7 +226,7 @@ dener. Geri yükleme ve yedek silme işlemleri önce deneme çıktısı, sonra a
218
226
  onay değerleri ister; bu değerleri tahmin etmeyin.
219
227
 
220
228
  Tam prova için [yedekleme ve geri yükleme runbook'unu](docs/backup-restore-runbook.tr.md)
221
- kullanın. Final `0.5.0` yedek manifestleri `agz-memory-backup/1` kullanır;
229
+ kullanın. `0.5.2` yedek manifestleri `agz-memory-backup/1` kullanır;
222
230
  ön sürüm manifestleri onları oluşturan ön sürümle işlenmelidir.
223
231
 
224
232
  ## Güvenlik Modeli