@remembrance-ai/opencode-plugin 0.2.0 → 0.2.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/opencode.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "command": [
7
7
  "npx",
8
8
  "-y",
9
- "@remembrance-ai/mcp-server@0.2.0"
9
+ "@remembrance-ai/mcp-server@0.2.1"
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.2.0"
19
+ "@remembrance-ai/opencode-plugin@0.2.1"
20
20
  ]
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remembrance-ai/opencode-plugin",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "license": "Apache-2.0",
5
5
  "description": "opencode plugin for Remembrance session hooks, tool observation, and contribution nudges.",
6
6
  "type": "module",
@@ -67273,7 +67273,7 @@ function inspectPrivateLearningOutbox2(input, dependencies = {}) {
67273
67273
  }
67274
67274
  var MAX_REMOTE_RESPONSE_BYTES = 4 * 1024 * 1024;
67275
67275
  var DOCTOR_PROBE_TIMEOUT_MS = 7500;
67276
- var SERVER_VERSION = true ? "0.2.0" : "0.0.0-dev";
67276
+ var SERVER_VERSION = true ? "0.2.1" : "0.0.0-dev";
67277
67277
  var tools = toolDefinitions;
67278
67278
  var doctorCliRequested = process.argv[2] === "doctor";
67279
67279
  var nativeContextCliRequested = process.argv[2] === "--native-context";
@@ -339,7 +339,8 @@ Remembrance independently classifies the evidence after static safety,
339
339
  duplicate search, target existence, risk, verifier, and organization-policy
340
340
  checks:
341
341
 
342
- - a universal correction or reusable detail can **amend** the target;
342
+ - a universal correction or reusable detail can **amend** the target when an
343
+ explicit authored instruction body or catalog change is supplied;
343
344
  - a stable runtime, version, platform, framework, scale, or task-stage
344
345
  condition can become a scoped **specialization**;
345
346
  - a genuinely different approach can become a **strategy fork**;
@@ -560,14 +561,22 @@ Repeated substantive feedback for the same skill may also return
560
561
  evidence candidate from the recent pattern and queued it for topology routing,
561
562
  normal verification, quality gates, versioning, and admin/enterprise review.
562
563
  Treat it as a receipt; it does not mean the live skill changed or predetermine
563
- whether the result will amend, specialize, fork, create, or remain evidence.
564
-
565
- `suggested_update` on a remembrance is honored: when the remembrance itself is
566
- accepted, Remembrance promotes it into a reviewed suggestion (`amend_skill`,
567
- `metadata_update`, `deprecate_skill`) or a new skill idea (`new_skill`) riding
568
- the normal verification and review pipeline. The promotion is a receipt too —
569
- the live skill changes only after review. `score_adjustment` is ignored:
570
- Remembrance computes all scoring deterministically.
564
+ the selected route. Synthesized review prose is not an authored parent
565
+ instruction or catalog patch; reviewed distinct-child routes stay separate.
566
+
567
+ On a remembrance, `suggested_update` hints of `amend_skill` or
568
+ `metadata_update` stay with the accepted evidence; they do not create an empty
569
+ publication suggestion. Explicit `deprecate_skill` and `new_skill` requests
570
+ still enter their existing reviewed lifecycles. A receipt never means the live
571
+ skill changed. `score_adjustment` is ignored: scoring is deterministic.
572
+
573
+ When you intend to change a parent's instructions or catalog, read
574
+ [the authored amendment examples](references/remembrance-payloads.md#authored-parent-amendments).
575
+ Submit the explicit change through the existing suggestion/idea review lane;
576
+ summary, diff and verifier prose are review context, not parent edits. A
577
+ missing authored parent change stays recoverable for review, and an identical
578
+ complete-body/catalog result creates no new skill version or semantic refresh.
579
+ Existing audience, consent, protection, target and review policy still apply.
571
580
 
572
581
  Legacy/raw MCP equivalent: `submit_remembrance`. Organization-capable local
573
582
  clients use `capture_learning.lesson`; broad remembrance submission is hidden
@@ -612,8 +621,8 @@ Good triggers include: the agent admits it missed a required step, the user
612
621
  catches a mistake, CI/deploy fails, a smoke/probe exposes a regression, or a
613
622
  release/versioning miss is fixed. Put the reusable lesson in `lesson`, the
614
623
  concrete failure class in `outcome.failure_modes`, and use
615
- `suggested_update.kind` only when an existing skill or a new skill should change
616
- after review.
624
+ `suggested_update.kind` only to describe an intended reviewed operation, not as
625
+ a substitute for an authored parent change.
617
626
 
618
627
  Use `agent.provider: "claude"` for a skill-only Claude install. Use
619
628
  `evidence.attestation.provider: "other"` for independent REST TOFU
@@ -44,16 +44,77 @@ use categorical `submit_feedback` independently.
44
44
 
45
45
  Legacy `attestation_token_hash` is no longer accepted. Verified trust uses `POST /api/v1/agent/attest/challenge` followed by a plugin-signed `evidence.attestation` object.
46
46
 
47
- `suggested_update` describes a requested content operation; it does not decide
48
- the final skill topology. When the remembrance itself is accepted, Remembrance
49
- creates reviewable evidence through the normal verification pipeline. The
50
- topology router may amend the target, create a scoped specialization, create a
51
- strategy fork or independent skill, record a typed preference, retain evidence
52
- without mutation, or hold for review. The live skill changes only after the
47
+ `suggested_update` describes an intended operation; it does not decide the
48
+ final topology or supply a parent edit. An accepted remembrance retains
49
+ `amend_skill` and `metadata_update` hints as evidence without creating an empty
50
+ publication suggestion. Explicit `deprecate_skill` and `new_skill` requests
51
+ still enter their existing reviewed lifecycles. For an authored parent change,
52
+ use the suggestion/idea lane below. The live skill changes only after the
53
53
  selected route clears its safety, quality, target, policy, and version guards.
54
54
  `score_adjustment` is ignored (scoring is deterministic); use `kind: "none"`
55
55
  when no content operation is proposed.
56
56
 
57
+ ## Authored parent amendments
58
+
59
+ For `submit_suggestion` / `POST /api/v1/agent/suggestions`, send the complete
60
+ intended instruction body in `payload.skill_md`, `payload.proposed_skill_md`
61
+ or `payload.full_skill_md`. Start from the current authorized skill body and
62
+ preserve instructions you are not changing; do not send only a diff or an
63
+ isolated addition as the replacement body. For a parent amendment, `summary`,
64
+ `diff_text` and a verifier's `proposed_patch` explain the review, but are never
65
+ appended as instructions or implicitly saved as catalog guidance.
66
+
67
+ This synthetic example replaces the complete body of a small public skill:
68
+
69
+ ```json
70
+ {
71
+ "skill_slug": "synthetic-state-check",
72
+ "suggestion_type": "amend_skill",
73
+ "summary": "Check the response status before interpreting the result.",
74
+ "diff_text": "Review context: add the response-status check.",
75
+ "payload": {
76
+ "skill_md": "# State check\n\nRead the current state. Check the response status before interpreting the result. Compare it with the expected state and report any difference.\n"
77
+ }
78
+ }
79
+ ```
80
+
81
+ For a catalog-only change, submit the existing structured catalog fields
82
+ explicitly. For example:
83
+
84
+ ```json
85
+ {
86
+ "skill_slug": "synthetic-state-check",
87
+ "suggestion_type": "metadata_update",
88
+ "summary": "Describe the skill's existing response-status check.",
89
+ "payload": {
90
+ "summary": "Compare the current and expected state after checking the response status."
91
+ }
92
+ }
93
+ ```
94
+
95
+ These are payload-shape examples, not permission to submit public content.
96
+ Keep organization authentication and private protection on organization
97
+ requests; never remove a key to make a private amendment public. Current
98
+ organization-capable clients still use their authorized local capture/router
99
+ and only its returned actions. These examples do not add a direct mutation
100
+ tool or bypass that contract. Preserve the existing organization array
101
+ replacement/merge rules for catalog updates.
102
+
103
+ For an idea routed to amend a parent, use its existing `proposed_skill_md` or
104
+ explicit `proposed_metadata` fields. Authored input does not remove an existing
105
+ target-resolution or protection hold. A parent amendment without authored input
106
+ is retained in a recoverable review hold: resubmit the complete intended body
107
+ or structured catalog change through the same authorized review lane. A changed
108
+ payload is a new logical submission and needs its own idempotency key; retries
109
+ of that submission reuse its key. A reviewer may instead select `evidence_only`
110
+ to retain the comment without publishing. Do not report a replacement as
111
+ submitted or a skill as changed until the corresponding receipt proves it.
112
+
113
+ An accepted identical body/catalog result is an audited no-op: it preserves
114
+ the live version and does not enqueue semantic refresh. Explicit deprecation,
115
+ new-skill proposals and reviewed distinct-child routes retain their existing
116
+ contracts; they are not universally held by the parent-amendment rule.
117
+
57
118
  Provider fields are intentionally split:
58
119
 
59
120
  - `agent.provider` describes the calling runtime: `codex`, `cursor`, `claude`,
@@ -213,9 +274,11 @@ predetermined metadata update or a live mutation:
213
274
  }
214
275
  ```
215
276
 
216
- Do not submit a duplicate suggestion for the same pattern. Wait for the
217
- topology, verification, review, and versioning result before assuming the
218
- active skill changed.
277
+ Do not submit a duplicate suggestion for the same pattern. Its review prose
278
+ does not supply an authored parent catalog patch or instruction body. If you
279
+ separately intend a parent change, use the authored amendment lane above and
280
+ the existing review policy; do not assume the evidence receipt changed the
281
+ active skill.
219
282
 
220
283
  Local identity recovery: the persisted key file
221
284
  `~/.config/remembrance/agent-key.json` is a private key. Back it up like an