Rolling weekly report. New releases append below as detected.
Week label: 2026-W22 First detection: 2026-05-25T05:00:44.032185+00:00
Repo: https://github.com/OpenClaw/openclaw Release: https://github.com/openclaw/openclaw/releases/tag/v2026.5.24-beta.2 Detected: 2026-05-25T05:00:44.032185+00:00 Borrowable ideas: 5
Real-time Agent Control - Talk/realtime: WebUI and Discord voice callers can check active OpenClaw run status, cancel, steer, or queue follow-up work while consults are running
iMessage Thumb-Approval Reactions
- Support for π (Like tapback) to resolve approvals as "allow-once" and π as "deny"
- Explicit-approver allowlist configured via channels.imessage.allowFrom
Performance Caching - Cache stable install-record, channel-catalog, bundled-channel, and Telegram session-store metadata - Reuse immutable plugin metadata snapshots across startup, config, model, channel, setup, and secret metadata readers - Lazy-load startup-idle plugin work and embedded ACPX runtime for faster Gateway health signals
Meeting Notes Plugin - External meeting-notes plugin with SDK source-provider contract - Auto-start capture config, manual transcript imports, and Discord voice integration
Real-time Agent Control - Yes - Mirrors existing MC ticket workflow with real-time status updates, cancel operations, and queuing capabilities that align with mc_pickup dispatcher.
iMessage Thumb-Approval Reactions - No - MC already has structured /approve <id> allow-always text commands; emoji reactions would require UI changes and don't add value over existing workflow.
Performance Caching - Yes - Could improve mc_pickup processing and database access patterns, reducing repeated JSON reads and manifest registry reloads in scheduler tasks.
Meeting Notes Plugin - No - Not relevant to MC's ticket-based system.
Repo: https://github.com/OpenClaw/openclaw Release: https://github.com/openclaw/openclaw/releases/tag/v2026.5.25-beta.1 Detected: 2026-05-26T05:00:50.953523+00:00 Borrowable ideas: 2
Concurrent task scheduling (cron.maxConcurrentRuns β 8)
β
Yes. Luci's scheduler.py currently runs tasks sequentially or with implicit serialization. OpenClaw's default-to-8 pattern (isolated agent turns run in parallel without deadlock) maps directly to mc_pickup's multi-worker model. MC tickets spawn independent worker processes; parallelizing scheduler tasks prevents queue bottlenecks when workers are blocked waiting on long-running tasks. Needs: modify scheduler.py tick to emit work to a pool, track in-flight counts, avoid double-execution on overlapping ticks.
Control UI: ephemeral Activity tab (live tool summaries, no raw telemetry)
β
Yes. Luci logs durable activity to vault.db activity_log. An ephemeral real-time tab on the MC dashboard (workers' active tool use, scheduler heartbeat, dispatch queue depth, ccgram latency) would surface blocked/slow operations without adding DB load. Complements existing ~/workspace/Vault/vault.db by showing now instead of history.
Logging: exit cleanly on broken stdout/stderr pipes
β
Maybe. Luci's workers sometimes orphan when mc_pickup captures output to a log file and the pipe breaks mid-write. Worth adopting in mc_pickup worker spawn and scheduler task output capture.
Adopt #1 (parallelism) and #2 (activity UI) as separate MC tickets; #3 as a hardening pass. Skip the rest.
Repo: https://github.com/OpenClaw/openclaw Release: https://github.com/openclaw/openclaw/releases/tag/v2026.5.26-beta.2 Detected: 2026-05-27T05:00:57.408256+00:00 Borrowable ideas: 3
| Feature | Relevance | Caveat |
|---|---|---|
| Transcript capture + replay | Conditional yes | Scheduler tasks currently log to stdout/stderr only; structured transcripts (prompt β tool calls β result β next turn) would enable replay + audit. Cost: rearchitect task_runs table to store transcript frames. |
| Async reply + follow-up work queue | Yes | mc_pickup currently blocks subagent-process completion before marking ticket. Decouple: return "dispatched" immediately, mark DONE async when subagent finishes. Visible dispatch latency drops from 30β60s to <1s. |
| Named provider profiles | Weak yes | Replace provider-switch enum (Anthropic/GLM/Kimi/MiniMax) with credential + model tuples. Reduces friction if adding new providers or supporting per-ticket provider overrides. Current model: runtime_profile on task. |
| Rich activity dashboard | Nice-to-have | vault.db has activity_log; no UI. openclaw's "Activity tab" (tool calls, model stream, cost, user intent) would surface task churn, cost drift, worker health. Low priority (MC board already shows ticket state). |
| Safer content boundaries | No, not yet | SSRF policy, prompt-marker spoofing protection are real. MC is internal-only (no user input, no URL fetches in prompt context). Revisit if MC ever exposes a public input surface. |
Borrow the async pattern immediately (mc_pickup subagent dispatch). Sketch the work: decouple ticket dispatch from subagent completion, return DISPATCHED β ticket waits async β subagent finish triggers update. Candidate MC ticket: needs_input + minimal scope.
Transcripts + observability are longer-term (Q3?); they reshape task auditing and visibility but aren't blocking operational issues today. Add to the backlog if Elmar asks for "why did this task fail?" traceability.
Repo: https://github.com/OpenClaw/openclaw Release: https://github.com/openclaw/openclaw/releases/tag/v2026.5.27-beta.1 Detected: 2026-05-28T05:00:52.038874+00:00 Borrowable ideas: 3
Session lock timeout + graceful abort:
- release session locks on timeout abort β Luci spawns workers via mc_pickup and scheduler tasks without explicit timeout cleanup. If a worker dies mid-run, locks persist and block the next dispatch. Pattern: use a context manager + signal handler (SIGTERM) to release locks before exit.
- Luci surface: apply to mc_pickup worker cleanup and scheduler task executors.
Avoid stale restart continuation:
- "avoid stale restart continuation reuse" + "session event queue self-wait" β When a worker crashes and MC_PICKUP re-runs the same ticket, it shouldn't inherit the prior run's state. Luci already separates runs (each ticket gets a new subprocess), but explicit stale-detection on heartbeat timeout (>5min no update) would let MC mark a ticket in_progress as failed rather than orphaning it.
- Luci surface: add heartbeat timeout check to mc_pickup cleanup; fail the ticket if no heartbeat for >timeout.
Subagent workspace isolation: - "keep spawned agent cwd/workspace state separated" β Luci's Agent tool subagents inherit the orchestrator's cwd by default. Confirm isolation guarantee is wired (each subagent gets its own session dir) or tighten in delegation runbook.
settings.json, not OAuth.settings-worker.json with no interactive auth.Enterprise: multi-team, billing, device-token gating, backport targets. Docs/UI: display names, clarifications. QA/E2E: cross-OS waits (not infrastructure-relevant).
Recommendation: Apply session lock timeout + stale heartbeat detection to MC worker cleanup. Code these patterns into ~/workspace/mc_pickup.py and ~/workspace/scheduler.py before the next major incident. Low lift, high ROI on reliability.
Repo: https://github.com/block/goose Release: https://github.com/aaif-goose/goose/releases/tag/v1.36.0 Detected: 2026-05-28T05:01:46.915920+00:00 Borrowable ideas: 5
| Feature | Goose | Luci Status | Rationale |
|---|---|---|---|
| Hooks (PreToolUse) | #9093, #9304 | Uses hooks, but monolithic | Goose's extensibility model (deny + passthrough) cleaner than Luci's single require-dev-loop. Adopt for granular permission gates. |
| Summon subagent instructions | #9325 | Delegates via Agent tool + vault | Goose's structured summon (inline declarative vs. briefing text) could reduce agent-dispatch boilerplate in mc_pickup. Low priority. |
| Unified thinking effort | #9242 | provider-switch sprawls config | One thinking_effort knob across Anthropic/GLM/Kimi saves env-var cruft. Adopt when thinking rolls out to non-Claude providers. |
| Scheduled recipes + params | #8741 | scheduler.py tasks static | Allow ~/.claude/recipes/ β task templates with params (e.g., ceo_briefing freq=daily|hourly). Medium priority. |
| Quarterly scheduler option | #9076 | Manual crontab only | Goose scheduler supports quarterly; Luci's scheduler.py doesn't. Add Q1/Q2/Q3/Q4 aliases. Low priority. |
| Worktree-aware pwd switcher | #8450 | Worktree pool (MC-3840) no auto-pwd | Auto-detect pool slot in cd logic; reduce context pollution from pwd on slot-worker startup. Nice-to-have. |
| Session cwd param to ACP | #9229 | mc_pickup hardcodes cwd | Pass cwd=/workspace to worker spawn; enables distributed cwd awareness. Adopt if ACP model scales. |
/goal self-eval (low value for PM orchestrator), Chat history search (memory extractor covers).Adoption priority: Medium. Hooks formalization is the only heavy lift; everything else is incremental. Defer provider thinking + recipe params until they solve a real Luci problem (thinking adoption, task reuse bottleneck). Worktree pwd awareness is a 30-min polish.
No blockers to staying on current goose version; v1.36.0 brings no critical fixes Luci depends on.
Repo: https://github.com/NousResearch/hermes-agent Release: https://github.com/NousResearch/hermes-agent/releases/tag/v2026.5.29 Detected: 2026-05-29T05:00:49.129927+00:00 Borrowable ideas: 1
| Feature | Details |
|---|---|
| Dashboard 401 reload loop | v0.15.0 regression: loopback identity probe returns 401 by design, but stale-token guard treated it as rotated token β full-page reload β loop. Fix: add allowUnauthorized opt-out to fetch guard. |
| Kanban worker SIGTERM handling | Intermediate process was swallowing SIGTERM; worker stayed running. Signal handler now propagates. |
| MCP bare-command PATH resolution | Docker: npx/npm/node resolve against /usr/local/bin instead of agent PATH. Fixes silent MCP failures in containers. |
Docker --insecure explicit opt-in |
Splits bind-host from auth-disable. Requires HERMES_DASHBOARD_INSECURE=1; no more implicit inference. |
Signal handling (SIGTERM propagation) β Maybe. MC's mc_pickup spawns worker subprocesses. Check if MC workers respond to SIGTERM; if not, apply the pattern.
MCP bare-command PATH resolution β No (today). Luci runs on bare metal. Worth bookmarking if Luci scales to Docker/containers.
Dashboard 401 reload guard β No. MC doesn't use loopback auth guard; different stack.
Docker --insecure opt-in pattern β No. Cloud-deployed Luci, not containerized. Pattern is sound (explicit > implicit) but no immediate apply.
/yolo bypass, hindsight observations (Hermes Agent session routing, not in MC).md media delivery, URL redaction passthrough (Hermes dashboard polish)Bottom line: Hotfix release for Hermes-specific issues. Only potential borrow is SIGTERM propagation pattern for mc_pickup workers β audit that, then close ticket.
Repo: https://github.com/NousResearch/hermes-agent Release: https://github.com/NousResearch/hermes-agent/releases/tag/v2026.5.29.2 Detected: 2026-05-30T05:00:25.942779+00:00 Borrowable ideas: 0
None. Packaging fix only.
| Item | No/Yes | Rationale |
|---|---|---|
| Plugin.yaml bundling fix | No | Infrastructure-level distribution fix. Luci uses Mission Control (Flask/SQLite) + mc_pickup dispatcher + scheduler.py + ccgram. No hermes-agent integration present. Fix applies only if Luci were distributing custom hermes plugins via wheel/sdist β currently does not. |
Verdict: No action. This patch solves a publishing problem for hermes-agent users; Luci is not one. Monitor future hermes releases only if explicit integration (agent framework, plugin system) is planned for MC workers or ticket lifecycle.
Repo: https://github.com/OpenClaw/openclaw Release: https://github.com/openclaw/openclaw/releases/tag/v2026.5.29-alpha.1 Detected: 2026-05-30T05:01:04.147877+00:00 Borrowable ideas: 0
| Feature | Description | Luci applies? | Why |
|---|---|---|---|
| Plugin externalization (Tokenjuice, Copilot, PixVerse) | Move plugins out of bundled dist, publish to npm/ClawHub | β No | Luci has no plugin ecosystem; single monolithic MC app |
| Provider media download bounds | Cap media downloads from OpenAI, Runway, xAI, MiniMax, BytePlus, DashScope, FAL, OpenRouter, Google, Vydra, Comfy | β No | Luci doesn't generate/download media; pure text orchestration |
| Retry recurring jobs after transient rate limits | Backoff + retry cron tasks on model 429s before next slot | β οΈ Concept only | Good pattern, but scheduler.py already retries within task. No openclaw-specific mechanism to borrow. |
| Subagent cwd/workspace separation | Keep spawned agents in isolated working dirs | β No | Luci's subprocesses (mc_pickup workers) already isolated; different model (subprocess dispatch, not nested agents) |
| Hook context prompt-local | Don't leak hook state across turns | β No | Luci's hooks (require-dev-loop.sh) are shell-based; already isolated |
| Session lock timeout release | Prevent stale locks on abort | β No | Luci uses SQLite status columns, not session locks |
| Cache optimizations (config parse, tool search, manifests) | Skip repeated work in plugin install/config | β No | Internal perf; not a feature to adopt |
No. Every feature maps to openclaw's plugin/agent/session model, which Luci does not use. Luci is a ticket-driven orchestrator (MC Flask + dispatcher), not a pluggable runtime (openclaw's domain). The only cross-cutting principleβretry on transient rate limitsβis a pattern, not a deliverable, and scheduler.py's retry logic is already coupled to task-specific timeout handling.
Status: Alpha release (v2026.5.29-alpha.1); unreleased entries incomplete. Monitor future releases only if explicit openclaw integration into MC ticket workers or scheduler is planned.
Repo: https://github.com/OpenClaw/openclaw Release: https://github.com/openclaw/openclaw/releases/tag/v2026.5.31-alpha.1 Detected: 2026-05-31T05:00:44.544584+00:00 Borrowable ideas: 2
PROPOSAL.md drafts, skill_research agent gating, approval/rejection/quarantine, rollback metadata. Replaces blind auto-commit.| Feature | Yes/No | Rationale |
|---|---|---|
| Runtime recovery (stale bindings, interrupted calls) | YES | mc_pickup workers and scheduler tasks stall on tool hangs. Known pain point. Worth porting session-recovery logic. |
| Skill Workshop guarded proposals | YES | auto-skill-evolver currently auto-commits. Gated approval + quarantine prevents broken skills going live. Fits Luci's "no silent skill changes" discipline. |
| Multi-channel delivery (WhatsApp, Slack, Teams, Discord) | NO | ccgram owns Telegram exclusively (post-MC-2617). Expanding channels needs new integrations + rewrite of ccgram gateway. Out of scope. |
| Workboard orchestration | MAYBE | MC's ticket board tracks worker status + run history. Workboard may duplicate or add multi-agent planning primitives. Needs clarification from openclaw docs. |
| Provider timeout bounding | MAYBE | provider-switch + profile routing already exists. Better timeouts improve reliability but don't add capability. Low-priority hardening. |
Runtime recovery is the highest-value borrow: if openclaw solved stale-session recovery, port that pattern into mc_pickup worker restarts and scheduler task heartbeats. Check openclaw source (#88129 etc.) for implementation before committing to backport effort.
Skill Workshop proposals second priority: pair with auto-skill-evolver to gate skill changes through an explicit skill_research tool with approval gates.