@totalreclaw/totalreclaw 3.3.0-rc.5 → 3.3.0-rc.6

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/CHANGELOG.md CHANGED
@@ -4,6 +4,68 @@ All notable changes to `@totalreclaw/totalreclaw` (the OpenClaw plugin) are docu
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [3.3.0-rc.6] — 2026-04-20
8
+
9
+ Sixth release candidate for 3.3.0. Single manifest-only fix for the
10
+ root cause of every rc.2–rc.5 HTTP-route failure: the gateway's startup
11
+ registry pin silently excluded our plugin because the manifest declared
12
+ `kind: "memory"`. All prior fixes (scanner, auth literal, sync
13
+ registration) are preserved. No code changes in `index.ts` or any other
14
+ source file. No protocol / on-chain changes vs 3.3.0.
15
+
16
+ See research report: `docs/notes/RESEARCH-openclaw-http-route-plumbing-20260420-1608.md`
17
+ in `totalreclaw-internal`, and `totalreclaw-internal#21` comment 4282038854.
18
+
19
+ ### Fixed
20
+
21
+ - **`skill/plugin/openclaw.plugin.json` — drop `"kind": "memory"`**.
22
+ `resolveGatewayStartupPluginIds` (channel-plugin-ids-*.js) excludes
23
+ plugins with `kind: "memory"` from the gateway's startup set unless
24
+ they also declare a configured channel. Because TotalReclaw has no
25
+ channel, `loadGatewayPlugins` (gateway-cli-*.js:19807–19813) took an
26
+ empty-list early return, passed an empty HTTP route registry to
27
+ `createGatewayRuntimeState`, and `pinActivePluginHttpRouteRegistry`
28
+ locked that empty registry. The plugin still loaded later via the
29
+ memory-backend path and pushed its 4 routes into a NEW registry, but
30
+ `setActivePluginRegistry`'s `syncTrackedSurface` early-returns when
31
+ `surface.pinned === true` (runtime-*.js:60–67). Net: every `/pair/*`
32
+ HTTP route returned 404/SPA-fallthrough at runtime despite
33
+ `httpRouteCount: 4` in `openclaw plugins inspect`.
34
+
35
+ Removing `"kind": "memory"` from the manifest restores startup
36
+ inclusion via the sidecar path (`hasRuntimeContractSurface` becomes
37
+ false), so the gateway pins a registry that already contains the 4
38
+ routes.
39
+
40
+ **The JS plugin definition (`index.ts` line ~2626) still returns
41
+ `kind: 'memory' as const`.** The OpenClaw loader re-merges the JS
42
+ definition into `record.kind` at line 2090, so memory-slot matching
43
+ via `config.slots.memory === "totalreclaw"` still works and all
44
+ memory-gated behavior is unchanged.
45
+
46
+ This is a workaround for an upstream OpenClaw bug — see "Upstream
47
+ OpenClaw bug" section in the linked PR for the bug report draft and
48
+ proposed proper fixes.
49
+
50
+ ### Added
51
+
52
+ - **`skill/plugin/manifest-shape.test.ts`** — dual-assertion regression
53
+ guard documenting the intentional manifest/JS asymmetry:
54
+ 1. `openclaw.plugin.json` does NOT contain `"kind": "memory"` (guard
55
+ against accidentally re-adding).
56
+ 2. The exported plugin definition in `index.ts` DOES have
57
+ `kind: 'memory' as const` (guard against accidental removal from
58
+ JS, which would break memory-slot matching).
59
+
60
+ ### Unchanged
61
+
62
+ No changes to: `index.ts`, `pair-http.ts`, or any other source file.
63
+ Scanner-sim: 0 flags. Tarball contents: same files; diff is
64
+ `openclaw.plugin.json` (1 line removed) + `package.json` version bump +
65
+ `CHANGELOG.md`.
66
+
67
+ ---
68
+
7
69
  ## [3.3.0-rc.5] — 2026-04-20
8
70
 
9
71
  Fifth release candidate for 3.3.0. Single ship-stopper fix for rc.4's
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "id": "totalreclaw",
3
3
  "name": "TotalReclaw",
4
- "kind": "memory",
5
4
  "description": "End-to-end encrypted memory vault for AI agents",
6
5
  "configSchema": {
7
6
  "type": "object",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@totalreclaw/totalreclaw",
3
- "version": "3.3.0-rc.5",
3
+ "version": "3.3.0-rc.6",
4
4
  "description": "End-to-end encrypted, agent-portable memory for OpenClaw and any LLM-agent runtime. XChaCha20-Poly1305 with protobuf v4 + on-chain Memory Taxonomy v1 (claim / preference / directive / commitment / episode / summary).",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -50,6 +50,7 @@
50
50
  "skill.json"
51
51
  ],
52
52
  "scripts": {
53
+ "test": "npx tsx manifest-shape.test.ts",
53
54
  "check-scanner": "node ../scripts/check-scanner.mjs",
54
55
  "prepublishOnly": "node ../scripts/check-scanner.mjs"
55
56
  },