@remembrance-ai/opencode-plugin 0.1.77 → 0.2.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/README.md +172 -32
- package/opencode.json +2 -2
- package/package.json +1 -1
- package/scripts/feedback-disposition.mjs +376 -0
- package/scripts/hook-core.mjs +6145 -685
- package/scripts/pending-action-payload.mjs +1044 -0
- package/scripts/private-learning-hook-policy.mjs +2515 -0
- package/servers/remembrance-mcp.mjs +62249 -6956
- package/skills/remembrancer/SKILL.md +198 -93
- package/skills/remembrancer/references/identity-preferences-topology.md +41 -0
- package/skills/remembrancer/references/remembrance-payloads.md +22 -8
- package/skills/remembrancer/references/remembrance-setup.md +186 -74
- package/src/index.mjs +131 -40
|
@@ -11,11 +11,12 @@ REST/HTTPS, skill-only installs, enterprise org keys, local identity, and common
|
|
|
11
11
|
Cursor, Gemini, or another agent.
|
|
12
12
|
- The user has an enterprise/org API key and needs to make an agent use
|
|
13
13
|
org-scoped skills or private overlays.
|
|
14
|
-
- MCP tools such as run_connection_doctor, get_connection_status, query_skills,
|
|
15
|
-
invoke_skill, submit_query_feedback, submit_feedback,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
- MCP tools such as run_connection_doctor, get_connection_status, query_skills,
|
|
15
|
+
list_skills, invoke_skill, submit_query_feedback, submit_feedback,
|
|
16
|
+
report_task_outcome, get_value_proof, get_skill, or get_resource are missing.
|
|
17
|
+
Local plugins additionally expose capture_learning and the exact private
|
|
18
|
+
lesson/skill draft actions; hosted MCP retains submit_remembrance and
|
|
19
|
+
propose_private_skill because it has no durable device outbox.
|
|
19
20
|
- A native plugin appears installed but hooks, trust prompts, or MCP tools do
|
|
20
21
|
not work.
|
|
21
22
|
- A request fails with 401, 403, 404, 413, 422, 429, or a missing-key error.
|
|
@@ -67,15 +68,15 @@ organization scope or anonymous scope; any active key for that organization is
|
|
|
67
68
|
valid. Identical retries are
|
|
68
69
|
safe, but later changed judgments conflict. Query receipts expire after 30 days
|
|
69
70
|
by default. Use submit_feedback only after actually using a skill, and pass the
|
|
70
|
-
same `query_id` and `result_id` so the surfaced-to-use funnel closes.
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
same `query_id` and `result_id` so the surfaced-to-use funnel closes.
|
|
72
|
+
Organization verdicts shape only that organization's rankings unless its admin
|
|
73
|
+
opts in to shared learning, which shares only weekly counts per public skill
|
|
74
|
+
version. Anonymous feedback remains low weight, never trains a shared model, and
|
|
75
|
+
never directly affects organization rankings; self-reported agent IDs do not
|
|
76
|
+
establish identity. No learned reranker is trained or served. Labels adjust
|
|
77
|
+
bounded retrieval profiles rather than rewriting content-derived embeddings.
|
|
78
|
+
Retrieval profiles move through collecting, shadow and active stages
|
|
79
|
+
automatically and do not change global skill usefulness.
|
|
79
80
|
|
|
80
81
|
When a high, accepted, current, non-high-risk result has fresh grade A/B proof
|
|
81
82
|
for the exact skill version, observed model revision, reasoning effort, task
|
|
@@ -127,12 +128,12 @@ Codex requires it.
|
|
|
127
128
|
Codex will not execute plugin hooks until their exact definitions are trusted.
|
|
128
129
|
In the Codex window opened by the installer, if Codex shows a **Hooks need
|
|
129
130
|
review** screen, choose **Review hooks** and trust only the Remembrance
|
|
130
|
-
`SessionStart`, `UserPromptSubmit`, `PostToolUse`,
|
|
131
|
-
If no review screen appears, continue: Codex may be
|
|
132
|
-
trust decision. Changed hook definitions
|
|
133
|
-
never use the automation-only trust bypass
|
|
134
|
-
restart Codex, submit one prompt, use one
|
|
135
|
-
and run `run_connection_doctor`.
|
|
131
|
+
`SessionStart`, `UserPromptSubmit`, `PostToolUse`, `Stop`, and
|
|
132
|
+
`SubagentStop` hooks. If no review screen appears, continue: Codex may be
|
|
133
|
+
reusing an existing valid trust decision. Changed hook definitions
|
|
134
|
+
show the same review screen again; never use the automation-only trust bypass
|
|
135
|
+
for normal installation. Fully restart Codex, submit one prompt, use one
|
|
136
|
+
Remembrance tool, complete one turn, and run `run_connection_doctor`.
|
|
136
137
|
|
|
137
138
|
OpenClaw:
|
|
138
139
|
|
|
@@ -144,13 +145,18 @@ openclaw remembrance setup
|
|
|
144
145
|
If ClawHub search shows multiple Remembrance matches, use the official package
|
|
145
146
|
that points to "dreamarkinc/remembrance-skills", mentions the Remembrance agent
|
|
146
147
|
skill/resource service, and exposes the expected Remembrance MCP tools such as
|
|
147
|
-
run_connection_doctor, get_connection_status, query_skills, list_skills,
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
run_connection_doctor, get_connection_status, query_skills, list_skills,
|
|
149
|
+
invoke_skill, submit_query_feedback, capture_learning,
|
|
150
|
+
submit_private_lesson_candidate, submit_private_skill_candidate, get_skill, and
|
|
151
|
+
get_resource, plus report_task_outcome and get_value_proof. Do not install
|
|
150
152
|
unrelated roots, genealogy, ancestry, or memorial packages.
|
|
151
153
|
|
|
152
154
|
The setup command preserves existing OpenClaw settings, enables conversation
|
|
153
155
|
access, and registers the bundled local MCP by its installed absolute path.
|
|
156
|
+
Before that grant, OpenClaw already runs the plugin's prompt, tool and
|
|
157
|
+
subagent-end hooks and holds only its completion hook (before_agent_finalize):
|
|
158
|
+
the prompt hook reads each prompt and, unless `REMEMBRANCE_AUTO_QUERY=0`,
|
|
159
|
+
sends a reusable-looking prompt, redacted, as a registry query.
|
|
154
160
|
In centrally managed environments, apply this equivalent configuration in
|
|
155
161
|
"~/.openclaw/openclaw.json":
|
|
156
162
|
|
|
@@ -269,12 +275,13 @@ Remembrance; do not classify it as a Remembrance rejection.
|
|
|
269
275
|
|
|
270
276
|
### Organization-private lesson autopilot
|
|
271
277
|
|
|
272
|
-
Routine organization
|
|
273
|
-
broad
|
|
274
|
-
`
|
|
275
|
-
|
|
276
|
-
only the canonical safe record in a local outbox
|
|
277
|
-
never writes the original input to disk, logs, telemetry, or
|
|
278
|
+
Routine organization learning uses one local router and narrow, reviewable
|
|
279
|
+
network writes instead of broad contribution payloads. The local plugin calls
|
|
280
|
+
`capture_learning`, which selects a compact lesson, complete private skill,
|
|
281
|
+
or preference route. For a lesson it generalizes, canonicalizes, and redacts in
|
|
282
|
+
memory, encrypts only the canonical safe record in a local outbox, and returns
|
|
283
|
+
a draft ID. It never writes the original input to disk, logs, telemetry, or
|
|
284
|
+
error output. Tags
|
|
278
285
|
use an open, bounded lowercase slug vocabulary; new technical terms survive,
|
|
279
286
|
while malformed or privacy-sensitive tags hold the draft instead of being
|
|
280
287
|
silently removed.
|
|
@@ -357,8 +364,11 @@ processor, a Codex administrator should do all of the following:
|
|
|
357
364
|
then allow only `remembrance.dev`. Hosted MCP does not need shell-network
|
|
358
365
|
permission.
|
|
359
366
|
4. Keep the organization API key scoped to `agent:query` and
|
|
360
|
-
`submission:create
|
|
361
|
-
|
|
367
|
+
`submission:create`. Local plugins route repository-derived skills through
|
|
368
|
+
`capture_learning.private_skill` and the exact
|
|
369
|
+
`submit_private_skill_candidate` action. Hosted/raw MCP clients use
|
|
370
|
+
`propose_private_skill`; both paths are organization-private and cannot
|
|
371
|
+
silently become public.
|
|
362
372
|
|
|
363
373
|
With an organization key, generic `propose_skill_idea` submissions also stay
|
|
364
374
|
inside that organization's review queue. Never remove, suppress, or bypass the
|
|
@@ -407,12 +417,19 @@ enabled_tools = [
|
|
|
407
417
|
"submit_feedback",
|
|
408
418
|
"submit_preference_compatibility_feedback",
|
|
409
419
|
"report_task_outcome",
|
|
410
|
-
"submit_remembrance",
|
|
411
|
-
"propose_private_skill",
|
|
412
420
|
"submit_suggestion",
|
|
413
421
|
"record_preference",
|
|
414
422
|
"link_current_installation",
|
|
415
423
|
"submit_private_lesson_candidate",
|
|
424
|
+
"acknowledge_feedback_denial",
|
|
425
|
+
"decline_pending_action",
|
|
426
|
+
"capture_learning",
|
|
427
|
+
"inspect_private_learning_outbox",
|
|
428
|
+
"submit_private_skill_candidate",
|
|
429
|
+
"retry_private_lesson_candidate",
|
|
430
|
+
"delete_private_lesson_candidate",
|
|
431
|
+
"retry_private_skill_candidate",
|
|
432
|
+
"delete_private_skill_candidate",
|
|
416
433
|
]
|
|
417
434
|
default_tools_approval_mode = "writes"
|
|
418
435
|
~~~
|
|
@@ -422,12 +439,14 @@ the vetted Remembrance plugin hooks permitted or deploy equivalent managed
|
|
|
422
439
|
query/completion hooks; otherwise MCP calls may work while the query and
|
|
423
440
|
feedback reminders never run.
|
|
424
441
|
|
|
425
|
-
The MCP annotation for `propose_private_skill` is non-read-only and
|
|
442
|
+
The hosted/raw MCP annotation for `propose_private_skill` is non-read-only and
|
|
426
443
|
closed-world: it makes a network request, but can change only the authenticated
|
|
427
444
|
organization's private review queue and cannot change publicly visible internet
|
|
428
|
-
state. Closed-world does not mean zero-network.
|
|
429
|
-
`
|
|
430
|
-
|
|
445
|
+
state. Closed-world does not mean zero-network. Local plugins replace that broad
|
|
446
|
+
payload with `capture_learning.private_skill` and the exact
|
|
447
|
+
`submit_private_skill_candidate` action. Only `queue_private_skill_import`
|
|
448
|
+
is a local, zero-network handoff tool, and it should run only when an
|
|
449
|
+
organization admin explicitly requests that handoff.
|
|
431
450
|
|
|
432
451
|
Example text to merge into the tenant-specific guardian policy:
|
|
433
452
|
|
|
@@ -496,8 +515,9 @@ data-governance policy decides whether repository-derived content may leave the
|
|
|
496
515
|
workspace. Use the host-specific controls below; do not use a wildcard server,
|
|
497
516
|
all-network rule, or blanket permission bypass.
|
|
498
517
|
|
|
499
|
-
|
|
500
|
-
|
|
518
|
+
Hosted MCP cannot retain an encrypted device outbox, so its recommended
|
|
519
|
+
organization allowlist includes discovery, direct skill use, bounded
|
|
520
|
+
feedback/outcomes, and the existing organization-private contribution calls:
|
|
501
521
|
|
|
502
522
|
~~~text
|
|
503
523
|
get_connection_status
|
|
@@ -514,23 +534,56 @@ submit_query_feedback
|
|
|
514
534
|
submit_feedback
|
|
515
535
|
submit_preference_compatibility_feedback
|
|
516
536
|
report_task_outcome
|
|
537
|
+
submit_suggestion
|
|
538
|
+
record_preference
|
|
539
|
+
link_current_installation
|
|
540
|
+
submit_private_lesson_candidate
|
|
517
541
|
submit_remembrance
|
|
518
542
|
propose_private_skill
|
|
543
|
+
~~~
|
|
544
|
+
|
|
545
|
+
Local plugin and command-based MCP hosts should instead use the version-matched
|
|
546
|
+
capture allowlist. It preserves query-fit feedback, routes reusable learning
|
|
547
|
+
through `capture_learning`, and exposes both exact draft submission actions:
|
|
548
|
+
|
|
549
|
+
~~~text
|
|
550
|
+
get_connection_status
|
|
551
|
+
run_connection_doctor
|
|
552
|
+
query_skills
|
|
553
|
+
list_skills
|
|
554
|
+
invoke_skill
|
|
555
|
+
get_effective_preferences
|
|
556
|
+
get_private_lesson_policy
|
|
557
|
+
get_skill
|
|
558
|
+
get_resource
|
|
559
|
+
get_value_proof
|
|
560
|
+
submit_query_feedback
|
|
561
|
+
submit_feedback
|
|
562
|
+
submit_preference_compatibility_feedback
|
|
563
|
+
report_task_outcome
|
|
519
564
|
submit_suggestion
|
|
520
565
|
record_preference
|
|
521
566
|
link_current_installation
|
|
522
567
|
submit_private_lesson_candidate
|
|
568
|
+
acknowledge_feedback_denial
|
|
569
|
+
decline_pending_action
|
|
570
|
+
capture_learning
|
|
571
|
+
inspect_private_learning_outbox
|
|
572
|
+
submit_private_skill_candidate
|
|
573
|
+
retry_private_lesson_candidate
|
|
574
|
+
delete_private_lesson_candidate
|
|
575
|
+
retry_private_skill_candidate
|
|
576
|
+
delete_private_skill_candidate
|
|
523
577
|
~~~
|
|
524
578
|
|
|
525
|
-
|
|
579
|
+
Both defaults intentionally omit `propose_skill_idea`, `submit_resource`,
|
|
526
580
|
`submit_resource_review`, `request_attestation_challenge`, and
|
|
527
581
|
`register_agent_key`. Add those dual-scope/public, resource, or identity tools
|
|
528
582
|
only when the organization explicitly approves them. With a verified
|
|
529
583
|
organization key, `propose_skill_idea` remains private, but it is excluded from
|
|
530
584
|
the managed default because the same tool creates a public candidate when used
|
|
531
|
-
anonymously. `bootstrap_agent_identity` and
|
|
532
|
-
|
|
533
|
-
hosted MCP allowlist.
|
|
585
|
+
anonymously. `bootstrap_agent_identity` and `queue_private_skill_import` are
|
|
586
|
+
optional local-only tools and never belong in a hosted MCP allowlist.
|
|
534
587
|
|
|
535
588
|
### Approve Claude Code
|
|
536
589
|
|
|
@@ -586,12 +639,12 @@ Merge this into managed settings:
|
|
|
586
639
|
"mcp__remembrance__submit_feedback",
|
|
587
640
|
"mcp__remembrance__submit_preference_compatibility_feedback",
|
|
588
641
|
"mcp__remembrance__report_task_outcome",
|
|
589
|
-
"mcp__remembrance__submit_remembrance",
|
|
590
|
-
"mcp__remembrance__propose_private_skill",
|
|
591
642
|
"mcp__remembrance__submit_suggestion",
|
|
592
643
|
"mcp__remembrance__record_preference",
|
|
593
644
|
"mcp__remembrance__link_current_installation",
|
|
594
645
|
"mcp__remembrance__submit_private_lesson_candidate",
|
|
646
|
+
"mcp__remembrance__submit_remembrance",
|
|
647
|
+
"mcp__remembrance__propose_private_skill",
|
|
595
648
|
]
|
|
596
649
|
},
|
|
597
650
|
"sandbox": {
|
|
@@ -647,12 +700,19 @@ narrow server/tool set:
|
|
|
647
700
|
"submit_feedback",
|
|
648
701
|
"submit_preference_compatibility_feedback",
|
|
649
702
|
"report_task_outcome",
|
|
650
|
-
"submit_remembrance",
|
|
651
|
-
"propose_private_skill",
|
|
652
703
|
"submit_suggestion",
|
|
653
704
|
"record_preference",
|
|
654
705
|
"link_current_installation",
|
|
655
706
|
"submit_private_lesson_candidate",
|
|
707
|
+
"acknowledge_feedback_denial",
|
|
708
|
+
"decline_pending_action",
|
|
709
|
+
"capture_learning",
|
|
710
|
+
"inspect_private_learning_outbox",
|
|
711
|
+
"submit_private_skill_candidate",
|
|
712
|
+
"retry_private_lesson_candidate",
|
|
713
|
+
"delete_private_lesson_candidate",
|
|
714
|
+
"retry_private_skill_candidate",
|
|
715
|
+
"delete_private_skill_candidate",
|
|
656
716
|
],
|
|
657
717
|
"trust": false
|
|
658
718
|
}
|
|
@@ -671,9 +731,10 @@ and [MCP settings](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-ser
|
|
|
671
731
|
|
|
672
732
|
### Approve OpenClaw
|
|
673
733
|
|
|
674
|
-
Pin the exact plugin id,
|
|
675
|
-
|
|
676
|
-
|
|
734
|
+
Pin the exact plugin id, grant its conversation access (without it, OpenClaw
|
|
735
|
+
holds only the completion hook), and filter the saved Remembrance MCP server.
|
|
736
|
+
`plugins.deny` wins over the allowlist. The `minimal` tool profile hides
|
|
737
|
+
MCP tools, and `tools.deny: ["bundle-mcp"]` disables them:
|
|
677
738
|
|
|
678
739
|
~~~json
|
|
679
740
|
{
|
|
@@ -706,12 +767,19 @@ tool profile hides MCP tools, and `tools.deny: ["bundle-mcp"]` disables them:
|
|
|
706
767
|
"submit_feedback",
|
|
707
768
|
"submit_preference_compatibility_feedback",
|
|
708
769
|
"report_task_outcome",
|
|
709
|
-
"submit_remembrance",
|
|
710
|
-
"propose_private_skill",
|
|
711
770
|
"submit_suggestion",
|
|
712
771
|
"record_preference",
|
|
713
772
|
"link_current_installation",
|
|
714
773
|
"submit_private_lesson_candidate",
|
|
774
|
+
"acknowledge_feedback_denial",
|
|
775
|
+
"decline_pending_action",
|
|
776
|
+
"capture_learning",
|
|
777
|
+
"inspect_private_learning_outbox",
|
|
778
|
+
"submit_private_skill_candidate",
|
|
779
|
+
"retry_private_lesson_candidate",
|
|
780
|
+
"delete_private_lesson_candidate",
|
|
781
|
+
"retry_private_skill_candidate",
|
|
782
|
+
"delete_private_skill_candidate",
|
|
715
783
|
]
|
|
716
784
|
}
|
|
717
785
|
}
|
|
@@ -838,11 +906,29 @@ Cursor MCP fallback config (use this only when plugin install is unavailable):
|
|
|
838
906
|
}
|
|
839
907
|
~~~
|
|
840
908
|
|
|
841
|
-
|
|
909
|
+
Node.js runtime for command-based MCP: a bare `command` such as `node` is
|
|
910
|
+
looked up on a PATH the host provides (for Claude Code, the PATH of the Claude
|
|
911
|
+
Code process). A host started from the Dock, Finder or an IDE may not have your
|
|
912
|
+
shell's PATH, so a Node.js installed by nvm, fnm, volta, asdf, nodenv or mise
|
|
913
|
+
can be missing from it; the symptom is `spawn node ENOENT` or "No such file or
|
|
914
|
+
directory". Use Node.js 18.17.0 or newer by its absolute path (the
|
|
915
|
+
output of `command -v node` in a terminal) in manual entries. The Claude Code,
|
|
916
|
+
VS Code and Codex plugins start their hooks and bundled MCP server, and the
|
|
917
|
+
Cursor plugin its hooks, through `scripts/node-launcher`, which uses
|
|
918
|
+
`REMEMBRANCE_NODE` when it is set, else `node` on PATH, else Node.js
|
|
919
|
+
18.17.0+ from nvm, volta, fnm, n, asdf, nodenv, mise, Homebrew, `/usr/local`
|
|
920
|
+
or `/usr/bin`. In Claude Code, set `REMEMBRANCE_NODE=/absolute/path/to/node`
|
|
921
|
+
in the `env` map of `~/.claude/settings.json`; it reaches the hooks and the
|
|
922
|
+
bundled MCP server. Fully restart the host after a fix. `npx` starts `node`
|
|
923
|
+
through PATH, so an `npx` entry also needs that Node.js directory first in the
|
|
924
|
+
entry's environment PATH.
|
|
925
|
+
|
|
926
|
+
Codex local MCP config uses "mcp_servers", not "mcpServers"; use absolute paths
|
|
927
|
+
for both the Node.js executable and the server:
|
|
842
928
|
|
|
843
929
|
~~~toml
|
|
844
930
|
[mcp_servers.remembrance]
|
|
845
|
-
command = "node"
|
|
931
|
+
command = "/absolute/path/to/node"
|
|
846
932
|
args = ["/absolute/path/to/remembrance-mcp.mjs"]
|
|
847
933
|
|
|
848
934
|
[mcp_servers.remembrance.env]
|
|
@@ -851,15 +937,19 @@ REMEMBRANCE_API_KEY = "YOUR_ORG_KEY"
|
|
|
851
937
|
~~~
|
|
852
938
|
|
|
853
939
|
OpenClaw MCP config uses "mcp.servers", not "mcpServers" or "mcp_servers".
|
|
854
|
-
OpenClaw does not define a portable plugin-root variable for MCP args; use
|
|
855
|
-
absolute
|
|
856
|
-
|
|
940
|
+
OpenClaw does not define a portable plugin-root variable for MCP args; use
|
|
941
|
+
absolute paths for the Node.js executable and the server, or run
|
|
942
|
+
`openclaw remembrance setup`, which registers the absolute Node.js that runs
|
|
943
|
+
OpenClaw. Also keep the enterprise key in the MCP server env if OpenClaw does
|
|
944
|
+
not inherit shell exports:
|
|
857
945
|
|
|
858
946
|
~~~json
|
|
859
947
|
{
|
|
860
948
|
"mcp": {
|
|
861
949
|
"servers": {
|
|
862
950
|
"remembrance": {
|
|
951
|
+
"command": "/absolute/path/to/node",
|
|
952
|
+
"args": ["/absolute/path/to/remembrance-mcp.mjs"],
|
|
863
953
|
"env": {
|
|
864
954
|
"REMEMBRANCE_API_URL": "https://remembrance.dev",
|
|
865
955
|
"REMEMBRANCE_API_KEY": "YOUR_ORG_KEY"
|
|
@@ -893,15 +983,22 @@ which Codex, Claude Code, Cursor, OpenClaw, VS Code, OpenCode, or MCP host must
|
|
|
893
983
|
be reloaded, reopened, or fully restarted. Set
|
|
894
984
|
`REMEMBRANCE_CLIENT_UPDATE_CHECK=0` to disable only this advisory check.
|
|
895
985
|
|
|
986
|
+
Set `REMEMBRANCE_SESSION_SKILLS=0` to stop the Claude Code, VS Code, Codex, and
|
|
987
|
+
Cursor session-start hooks from asking the agent to load the organization's
|
|
988
|
+
session skills.
|
|
989
|
+
|
|
896
990
|
## Validate after setup
|
|
897
991
|
|
|
898
992
|
1. Start a fresh agent session.
|
|
899
|
-
2. Check whether Remembrance MCP tools are visible.
|
|
900
|
-
run_connection_doctor, get_connection_status, query_skills, list_skills,
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
993
|
+
2. Check whether Remembrance MCP tools are visible. Every path should include
|
|
994
|
+
run_connection_doctor, get_connection_status, query_skills, list_skills,
|
|
995
|
+
invoke_skill, get_skill, get_resource, submit_query_feedback,
|
|
996
|
+
submit_feedback, report_task_outcome, and get_value_proof. A current local
|
|
997
|
+
plugin/MCP must also expose capture_learning plus
|
|
998
|
+
submit_private_lesson_candidate and submit_private_skill_candidate. Hosted
|
|
999
|
+
and legacy MCP instead expose submit_remembrance and propose_private_skill.
|
|
1000
|
+
Optional local administration tools such as bootstrap_agent_identity and
|
|
1001
|
+
queue_private_skill_import are not installation-health requirements. Clients
|
|
905
1002
|
with MCP resource discovery should also expose paginated
|
|
906
1003
|
`remembrance://skills/{slug}` handles.
|
|
907
1004
|
3. Call run_connection_doctor and require `safe_to_query: true`. Confirm the
|
|
@@ -936,18 +1033,23 @@ be reloaded, reopened, or fully restarted. Set
|
|
|
936
1033
|
completion or abandonment with report_task_outcome, then ask it to submit
|
|
937
1034
|
feedback with the same query/result IDs. When a qualified potential-savings
|
|
938
1035
|
estimate exists, fetch and verify its signed token-only proof.
|
|
939
|
-
A complete loop has a feedback
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
11. Ask the agent to
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
1036
|
+
A complete loop has a feedback receipt. Query-fit feedback remains separate:
|
|
1037
|
+
submit_query_feedback judges search matches, while submit_feedback records
|
|
1038
|
+
usefulness only after actual use.
|
|
1039
|
+
11. Ask the agent to capture one disposable redacted failure lesson: a
|
|
1040
|
+
self-correction, a user-caught miss, a CI/deploy failure, or a
|
|
1041
|
+
release/versioning miss. On current local MCP, require
|
|
1042
|
+
`capture_learning.lesson` followed by the exact returned action and a
|
|
1043
|
+
private draft receipt. On hosted/legacy MCP, require a `failure_report`
|
|
1044
|
+
through submit_remembrance. This validates both capability states without
|
|
1045
|
+
mixing their schemas.
|
|
946
1046
|
12. If using an org key, list and invoke an org-only skill or private overlay
|
|
947
1047
|
that should not appear anonymously.
|
|
948
|
-
13. With an organization submission key, submit one disposable redacted skill
|
|
949
|
-
|
|
950
|
-
|
|
1048
|
+
13. With an organization submission key, submit one disposable redacted skill.
|
|
1049
|
+
Current local MCP must use `capture_learning.private_skill` followed by
|
|
1050
|
+
submit_private_skill_candidate; hosted/legacy MCP must use
|
|
1051
|
+
propose_private_skill. Verify it appears only in that organization's review
|
|
1052
|
+
queue. In a separate negative scenario, simulate a
|
|
951
1053
|
host-policy denial and verify the plugin reports the fixed content-free alert
|
|
952
1054
|
once, persists no blocked content, performs no retry, and creates no handoff.
|
|
953
1055
|
Test queue_private_skill_import only as a separate administrator-requested
|
|
@@ -989,10 +1091,20 @@ be reloaded, reopened, or fully restarted. Set
|
|
|
989
1091
|
- "Hosted MCP works but plugin does not": use hosted MCP as a temporary
|
|
990
1092
|
fallback, then inspect plugin marketplace install, trust approval, and
|
|
991
1093
|
runtime-specific config shape.
|
|
1094
|
+
- "An older integration rejects the private-learning capture contract": as a
|
|
1095
|
+
temporary compatibility downgrade only, set
|
|
1096
|
+
`REMEMBRANCE_ENABLE_LEGACY_BROAD_WRITES=1` and restart the local MCP process.
|
|
1097
|
+
This restores the legacy broad contribution tools and
|
|
1098
|
+
`submit_feedback.lesson`, and stops advertising private-learning capture so
|
|
1099
|
+
server instructions and schemas remain aligned. Current local plugins should
|
|
1100
|
+
leave this unset; do not use it as routine authentication or host-policy
|
|
1101
|
+
repair.
|
|
992
1102
|
- "OpenClaw search found another Remembrance package": do not install it unless
|
|
993
1103
|
it points to dreamarkinc/remembrance-skills and exposes the Remembrance MCP
|
|
994
1104
|
tools.
|
|
995
|
-
- "OpenClaw hooks do nothing":
|
|
1105
|
+
- "OpenClaw hooks do nothing": without allowConversationAccess, OpenClaw holds
|
|
1106
|
+
only the completion hook (before_agent_finalize) and still runs the prompt,
|
|
1107
|
+
tool and subagent-end hooks. Run "openclaw remembrance setup", verify
|
|
996
1108
|
allowConversationAccess is true, run "openclaw mcp doctor remembrance
|
|
997
1109
|
--probe", and restart OpenClaw after plugin install/config changes.
|
|
998
1110
|
- "Claude desktop ignores env vars": put env in the user-scoped Claude settings
|