fix: gate Active Memory global toggles [AI]#97841
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 30, 2026, 4:57 AM ET / 08:57 UTC. Summary PR surface: Source +12, Tests +29. Total +41 across 2 files. Reproducibility: yes. Current main source lets absent Review metrics: 1 noteworthy metric.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land this patch after maintainer acceptance of the owner-or-admin hardening and green required checks, while preserving global status and session-scoped Active Memory controls for non-admin and non-owner callers. Do we have a high-confidence way to reproduce the issue? Yes. Current main source lets absent Is this the best way to solve the issue? Yes, with maintainer acceptance. The fix stays in the Active Memory plugin that owns the global toggle, reuses the existing trusted AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 3d4b7cade9cd. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +12, Tests +29. Total +41 across 2 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Verification before merge: Behavior addressed:
Regression Risk: Best fix verdict: best. The fix belongs in the Active Memory command because the plugin owns the global toggle semantics, and it reuses the existing trusted bundled-command owner exposure contract instead of adding a new core special case. User behavior change: |
Mantis Telegram Desktop ProofSummary: Mantis captured Telegram before/after evidence for the Active Memory global toggle command.
Motion-trimmed clips: |
|
Current-head behavioral proof for ClawSweeper re-review: Head verified: Behavior fixed: Real environment tested: local OpenClaw source checkout plus GitHub Actions PR CI on the exact head above. Existing Mantis Telegram Desktop proof on this PR also shows the before/after visible command behavior for the same security boundary. Exact current-head evidence:
Before/after fidelity: current Known gaps: no new live manual channel run was performed in this orchestrator pass; the PR already has Mantis Telegram Desktop before/after proof, and this pass revalidated the current code head, local tests, review gates, and GitHub CI. |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
(cherry picked from commit 738b2be)
(cherry picked from commit 738b2be)




What Problem This Solves
Fixes an issue where command-authorized channel users could change the gateway-wide Active Memory setting when the command arrived without gateway scope metadata.
Why This Change Was Made
The global Active Memory on/off command now requires either an owner sender identity from trusted channel dispatch or
operator.adminfrom gateway clients before it persists config changes. Read-only global status and session-scoped Active Memory controls are unchanged.AI-assisted change.
User Impact
Operators can expect
/active-memory on --globaland/active-memory off --globalto remain restricted to owner/admin contexts, while authorized non-owner channel users can still use normal session-level controls where they already could.Evidence
node scripts/run-vitest.mjs extensions/active-memory/index.test.tsgit diff --check