Skip to content

v0.10.0 — OpenClaw compatibility refresh (2026.4.15 → 2026.4.23)#1

Open
FRIDAY-Drakon wants to merge 5 commits intomainfrom
feat/v0.10.0-compat-refresh
Open

v0.10.0 — OpenClaw compatibility refresh (2026.4.15 → 2026.4.23)#1
FRIDAY-Drakon wants to merge 5 commits intomainfrom
feat/v0.10.0-compat-refresh

Conversation

@FRIDAY-Drakon
Copy link
Copy Markdown

Summary

Rolls Agent Optimizer forward to match OpenClaw through v2026.4.23. Bundles the earlier compat-refresh work already on this branch with new detectors for the four config-surface changes that landed in v2026.4.23 on 2026-04-24.

Included (earlier commits on this branch)

  • hooks-deprecations.ts — warns on legacy hooks.internal.handlers[] array format and before_agent_start usage
  • plugins.ts — recognises firecrawl, openrouter, github-copilot, openai-codex as bundled
  • plugins.ts — warns when legacy ~/.openclaw/plugins/ is populated

New in this commit — v2026.4.23 detectors

config-patch-usage (new auditor)

Scans hooks.internal.entries/handlers and agent tools.alsoAllow lists for config.patch / config.apply references. v2026.4.23 fails closed on non-allowlisted paths (prompt, model, mention-gating). Agents relying on config.patch for anything else will silently fail. Particularly relevant for Jarvis — past config.patch crashes (invalid keys, unknown subtrees) would now be silent rejects.

dreaming-cron (new auditor)

Reads ~/.openclaw/cron/jobs.json and flags stale main-session dreaming jobs. v2026.4.23 decouples dreaming from heartbeat and runs it as an isolated lightweight agent turn; openclaw doctor --fix migrates the old shape. Uses HOME env override in tests so they work in any CI.

bootstrap-files — MEMORY.md split-brain

Detects when both MEMORY.md and memory.md exist in workspace root. v2026.4.23 canonicalizes on MEMORY.md and no longer treats lowercase as a runtime fallback. Uses readdirSync for case-sensitive detection; positive test is skipped on case-insensitive FS (macOS) since the FS can't represent the split-brain state.

memory-searchlocal.contextSize validation

Validates the new memorySearch.local.contextSize field (default 4096). Warns below 1024 (typo / severely constrained host) or above 32768 (likely wrong magnitude, bloats embedding-host memory). Silent when unset.

security-advisories

Adds v2026.4.23 row for the config.patch allowlist lockdown behaviour change (warn severity), pointing the operator at the new config-patch-usage auditor.

Version

0.9.20.10.0. Collects this PR's work plus the earlier compat commits on the branch under one release rather than a mid-cycle 0.9.3.

Test plan

  • Full suite: 165 tests (146 baseline + 19 new), 1 skipped on macOS (runs on Linux CI)
  • npm run build clean
  • Dry-run on a real fleet agent config (Jarvis / Edith / Tars openclaw.json) — expect Config Patch Usage to fire on any config.patch hook history
  • Verify dreaming-cron auditor against Jarvis's cron/jobs.json on clawdbot1

Out of scope

  • security-scan, fleet, config-drift stay CLI-only (not in the standard audit cycle). Unchanged.
  • Autofix support for the new warnings. openclaw doctor --fix handles the split-brain + dreaming migrations; Agent Optimizer just detects.
  • Channel-security tightening from 2026.4.23 (Android/pairing cleartext, Teams/Discord/Slack hardening) — mostly internal fixes, low config surface. Revisit if needed.

🤖 Generated with Claude Code

mkdelta221 and others added 5 commits April 21, 2026 16:03
10-task plan across 4 phases: deprecation warnings (legacy handlers[],
before_agent_start, ~/.openclaw/plugins path, --keep-config), new
auditors (hook-events, sandbox-backends, exec-approvals, tools-by-provider),
updated bundled plugin allowlist (firecrawl, openrouter, copilot, codex),
and polish/release tasks.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two silent-deprecation warnings for OpenClaw upgrades:
- hooks.internal.handlers[] array format (replaced by directory-based
  entries.<name> discovery in v2026.3.14+)
- before_agent_start hook event (replaced by before_model_resolve /
  before_prompt_build)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
OpenClaw v2026.3.14+ moved plugins to ~/.openclaw/extensions/. Warn
users with contents still in the legacy directory.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…codex as bundled

Bundled in OpenClaw v2026.3.14+ — now flagged as pass instead of
ambiguous info when listed in plugins.allow without an install entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…it-brain, local.contextSize, dreaming cron

OpenClaw v2026.4.23 shipped on 2026-04-24 with four config-surface changes
that need detection ahead of fleet upgrades. All additive; no breaking
changes to AuditResult, OpenClawConfig, or the CLI surface.

New auditors
- config-patch-usage: scans hooks.internal.entries/handlers and agent
  tool.alsoAllow lists for config.patch / config.apply references.
  v2026.4.23 fails closed on non-allowlisted paths (prompt, model,
  mention-gating) — agents relying on config.patch for anything else
  will silently fail. Six tests.
- dreaming-cron: reads ~/.openclaw/cron/jobs.json and flags stale
  main-session dreaming jobs. v2026.4.23 decouples dreaming from
  heartbeat and runs it as an isolated lightweight agent turn;
  openclaw doctor --fix migrates the old shape. Five tests, HOME-
  env-override fixture so tests work in any CI.

Auditor extensions
- bootstrap-files: detects MEMORY.md + memory.md split-brain in workspace
  root. v2026.4.23 canonicalizes on MEMORY.md and stops treating
  memory.md as a runtime fallback. Uses readdirSync for case-sensitive
  detection; positive test skipped on case-insensitive FS (macOS) since
  the FS can't represent the split-brain state.
- memory-search: validates the new memorySearch.local.contextSize field
  (default 4096). Warns below 1024 or above 32768; passes in range.
  Silent when unset.
- security-advisories: adds v2026.4.23 row for the config.patch allowlist
  lockdown behaviour change (warn severity, points at the new
  config-patch-usage auditor for detection).

Both new auditors are wired into src/auditors/index.ts. Full suite now
165 tests (146 baseline + 19 new), 1 skipped on macOS.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants