@remembrance-ai/opencode-plugin 0.1.66 → 0.1.71

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
@@ -25,7 +25,9 @@ At session creation, the plugin performs a bounded, credential-free release
25
25
  check. If a newer verified version exists, opencode shows a notice and gives the
26
26
  agent the locally bundled setup command. The agent must ask before running it,
27
27
  and the user must restart opencode afterward. Remembrance never updates itself
28
- silently. Set `REMEMBRANCE_CLIENT_UPDATE_CHECK=0` to disable the advisory check.
28
+ silently. OpenCode follows its exact npm release and does not wait for native
29
+ plugin marketplaces. Set `REMEMBRANCE_CLIENT_UPDATE_CHECK=0` to disable the
30
+ advisory check.
29
31
 
30
32
  Older opencode installations that predate this startup check still learn about
31
33
  a verified update on their next successful Remembrance query. The API places a
@@ -61,7 +63,11 @@ installs remain fully functional with installation-local preferences. Private
61
63
  working preferences follow each engineer across approved agents and steer
62
64
  relevant public and team skills without changing shared instructions or
63
65
  weakening organization policy. Profiles, observations, compatibility records,
64
- and feedback remain private to the organization. Classification runs
66
+ and feedback remain private to the organization. An explicit instruction
67
+ governs the current task immediately. Known built-ins activate durably at once.
68
+ Custom preferences remain pending until automatic normalization and validation
69
+ approves them; unsafe, malformed, or uncertain custom behavior stays inactive
70
+ and is never replayed to an agent. Classification runs
65
71
  asynchronously against exact skill versions; query and invocation add no
66
72
  generative preference call or second embedding request. Material compatibility
67
73
  may reorder only already-relevant skills inside one match tier or apply a
@@ -141,6 +147,30 @@ local, content-free alert: **Remembrance was blocked by host policy before
141
147
  reaching Remembrance. Nothing was sent. Querying remains available.** It does
142
148
  not retry or automatically create a handoff.
143
149
 
150
+ ### Private lesson autopilot
151
+
152
+ The local `prepare_private_lesson_candidate` tool canonicalizes and redacts a
153
+ routine organization lesson in memory and stores only an encrypted
154
+ post-redaction draft. `submit_private_lesson_candidate` is the separate network
155
+ action; it sends those exact bytes only to the authenticated organization's
156
+ private verifier queue and can never create or automatically propagate public
157
+ content. Drafts never expire or auto-delete.
158
+
159
+ The signed policy pins the corrected `private-lesson-redaction-v2` profile and
160
+ its exact digest. Unsupported-profile drafts become terminal
161
+ `superseded_redactor`, stay encrypted, and are never retried, re-redacted, or
162
+ automatically deleted. When health reporting is enabled, a held draft may send
163
+ only content-free category/version counts and signed protocol digests through
164
+ the same approved action; that telemetry cannot enter verification, review,
165
+ topology, or skill materialization. Disable it with
166
+ `REMEMBRANCE_HEALTH_REPORTING=0`.
167
+
168
+ OpenCode permission keys match MCP tool names. Set only
169
+ `remembrance_submit_private_lesson_candidate` to `allow`; broader Remembrance
170
+ write tools can remain `ask` or `deny`. Local preparation, inspection, retry,
171
+ and confirmed deletion remain local-only. A host denial is held and is never
172
+ retried through another transport.
173
+
144
174
  ## Generated files
145
175
 
146
176
  `servers/remembrance-mcp.mjs` and `skills/remembrancer/` are generated. Run
package/opencode.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "command": [
7
7
  "npx",
8
8
  "-y",
9
- "@remembrance-ai/mcp-server@0.1.66"
9
+ "@remembrance-ai/mcp-server@0.1.71"
10
10
  ],
11
11
  "enabled": true,
12
12
  "environment": {
@@ -16,6 +16,6 @@
16
16
  }
17
17
  },
18
18
  "plugin": [
19
- "@remembrance-ai/opencode-plugin@0.1.66"
19
+ "@remembrance-ai/opencode-plugin@0.1.71"
20
20
  ]
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remembrance-ai/opencode-plugin",
3
- "version": "0.1.66",
3
+ "version": "0.1.71",
4
4
  "license": "Apache-2.0",
5
5
  "description": "opencode plugin for Remembrance session hooks, tool observation, and contribution nudges.",
6
6
  "type": "module",
@@ -33,6 +33,7 @@
33
33
  "build": "node --check src/index.mjs && node --check bin/setup.mjs && node --check scripts/hook-core.mjs",
34
34
  "prepack": "npm run build",
35
35
  "test": "vitest run",
36
+ "test:private-lesson": "vitest run test/completion.test.mjs test/registration.test.mjs",
36
37
  "test:coverage": "vitest run test/*.test.mjs --coverage.enabled=true --coverage.provider=v8 --coverage.include=src/index.mjs --coverage.include=bin/setup.mjs --coverage.reporter=text --coverage.thresholds.lines=96 --coverage.thresholds.functions=90 --coverage.thresholds.statements=96 --coverage.thresholds.branches=87",
37
38
  "typecheck": "node --check src/index.mjs && node --check bin/setup.mjs && node --check scripts/hook-core.mjs"
38
39
  },