v2.1.0: fix provenance warnings, clean install experience

Add package.json with openclaw plugin metadata, configure plugins.allow
in post-install.sh, and add source field to plugin manifest. Fresh
installs now load without trust/provenance warnings in gateway logs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-16 13:51:19 +10:00
co-authored by Claude Opus 4.6
parent 61f2d34366
commit 7d7e0e7bdb
5 changed files with 53 additions and 6 deletions
+20
View File
@@ -1,5 +1,25 @@
# Changelog # Changelog
## v2.1.0 — 2026-03-16
### Summary
Clean install experience: eliminates gateway provenance warnings for fresh installations.
### Added
- `package.json` — proper npm-style metadata with `openclaw.type: "plugin"` provenance field
- `plugins.allow` auto-configuration in `post-install.sh` — registers plugin in OpenClaw trust list
### Changed
- `post-install.sh` now copies `package.json` to extensions directory
- `openclaw.plugin.json` now includes `source` field pointing to GitHub repo
- README updated with `plugins.allow` documentation and install step
### Fixed
- "plugins.allow is empty; discovered non-bundled plugins may auto-load" warning
- "loaded without install/load-path provenance; treat as untracked local code" warning
---
## v2.0.0 — 2026-03-15 ## v2.0.0 — 2026-03-15
### Summary ### Summary
+4 -2
View File
@@ -1,6 +1,6 @@
# memory-continuity # memory-continuity
**Current release:** `v2.0.0` **Current release:** `v2.1.0`
OpenClaw **lifecycle plugin** for short-term working continuity. Preserves structured in-flight work state across `/new`, reset, gateway restarts, model fallback, and context compaction. OpenClaw **lifecycle plugin** for short-term working continuity. Preserves structured in-flight work state across `/new`, reset, gateway restarts, model fallback, and context compaction.
@@ -60,7 +60,8 @@ bash scripts/post-install.sh
The installer will: The installer will:
1. Copy the plugin to `~/.openclaw/extensions/memory-continuity/` 1. Copy the plugin to `~/.openclaw/extensions/memory-continuity/`
2. Add the plugin entry to `~/.openclaw/openclaw.json` 2. Add the plugin entry to `~/.openclaw/openclaw.json`
3. Restart the gateway 3. Add `memory-continuity` to `plugins.allow` (trust list — eliminates provenance warnings)
4. Restart the gateway
No npm install, no API keys, no external database. No npm install, no API keys, no external database.
@@ -85,6 +86,7 @@ The plugin works with zero configuration. Optional settings in `openclaw.json`:
```json ```json
{ {
"plugins": { "plugins": {
"allow": ["memory-continuity"],
"entries": { "entries": {
"memory-continuity": { "memory-continuity": {
"enabled": true, "enabled": true,
+2 -1
View File
@@ -2,7 +2,8 @@
"id": "memory-continuity", "id": "memory-continuity",
"name": "Memory Continuity", "name": "Memory Continuity",
"description": "Preserves working state across /new, reset, compaction, and gateway restarts via a simple markdown checkpoint file.", "description": "Preserves working state across /new, reset, compaction, and gateway restarts via a simple markdown checkpoint file.",
"version": "2.0.0", "version": "2.1.0",
"source": "https://github.com/dtzp555-max/memory-continuity",
"configSchema": { "configSchema": {
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
+19
View File
@@ -0,0 +1,19 @@
{
"name": "memory-continuity",
"version": "2.1.0",
"description": "Zero-dependency memory continuity for OpenClaw — plain markdown, lifecycle hooks, no vector DB.",
"main": "index.js",
"type": "module",
"repository": {
"type": "git",
"url": "https://github.com/dtzp555-max/memory-continuity.git"
},
"keywords": ["openclaw", "plugin", "memory", "continuity"],
"author": "dtzp555-max",
"license": "MIT",
"openclaw": {
"type": "plugin",
"id": "memory-continuity",
"pluginManifest": "openclaw.plugin.json"
}
}
+8 -3
View File
@@ -37,7 +37,7 @@ fi
# Copy essential plugin files (not the entire repo) # Copy essential plugin files (not the entire repo)
mkdir -p "$PLUGIN_DIR" mkdir -p "$PLUGIN_DIR"
for f in index.js openclaw.plugin.json SKILL.md; do for f in index.js openclaw.plugin.json package.json SKILL.md; do
if [[ -f "$REPO_DIR/$f" ]]; then if [[ -f "$REPO_DIR/$f" ]]; then
cp "$REPO_DIR/$f" "$PLUGIN_DIR/" cp "$REPO_DIR/$f" "$PLUGIN_DIR/"
fi fi
@@ -64,7 +64,7 @@ else:
" 2>/dev/null; then " 2>/dev/null; then
echo " Plugin entry already exists in config" echo " Plugin entry already exists in config"
else else
# Add the plugin entry # Add the plugin entry and plugins.allow trust list
python3 -c " python3 -c "
import json import json
path = '$CONFIG_FILE' path = '$CONFIG_FILE'
@@ -72,6 +72,11 @@ with open(path) as f:
data = json.load(f) data = json.load(f)
if 'plugins' not in data: if 'plugins' not in data:
data['plugins'] = {} data['plugins'] = {}
# Add to plugins.allow so OpenClaw trusts this plugin (no provenance warning)
allow_list = data['plugins'].get('allow', [])
if 'memory-continuity' not in allow_list:
allow_list.append('memory-continuity')
data['plugins']['allow'] = allow_list
if 'entries' not in data['plugins']: if 'entries' not in data['plugins']:
data['plugins']['entries'] = {} data['plugins']['entries'] = {}
data['plugins']['entries']['memory-continuity'] = { data['plugins']['entries']['memory-continuity'] = {
@@ -87,7 +92,7 @@ data['plugins']['entries']['memory-continuity'] = {
} }
with open(path, 'w') as f: with open(path, 'w') as f:
json.dump(data, f, indent=2) json.dump(data, f, indent=2)
print(' Added plugin entry to config') print(' Added plugin entry and trust config')
" 2>/dev/null || echo " WARNING: Could not update config automatically. Add manually." " 2>/dev/null || echo " WARNING: Could not update config automatically. Add manually."
fi fi
fi fi