Initial research: OpenClaw on AgentCore architecture

- Architecture comparison (OpenClaw daemon vs AgentCore serverless)
- Component compatibility analysis
- Fargate analysis
- AgentCore rebuild plan (Telegram, zero always-on compute)
- Memory strategy: AgentCore Memory + factbase as structured KB
- Serverless relay patterns per channel
- All open questions resolved
- OpenClaw feature delta March→May 2026
- Build phases and cost estimates
This commit is contained in:
daniel
2026-05-04 08:28:52 -05:00
parent 4afa16a9cd
commit 0369a74ac1
13 changed files with 1876 additions and 1 deletions

110
openclaw-feature-delta.md Normal file
View File

@@ -0,0 +1,110 @@
# OpenClaw Feature Delta: March 2026 → May 2026
*Covers releases 2026.3.7 through 2026.5.3 (current)*
*Research baseline was 2026.3.2*
---
## Features That Change the AgentCore Comparison
### 🔴 New features we'd need to replicate — not trivial
**Agents/Commitments** (2026.4.29)
New opt-in system where the agent infers follow-up commitments from conversations and delivers them via heartbeat. Config: `commitments.enabled`, `commitments.maxPerDay`. Commitments are extracted in a background sub-agent, stored with due times, and surfaced at the next appropriate heartbeat.
This is NEW OpenClaw behavior that our AgentCore build doesn't account for. We'd need:
- A "commitment extractor" pass after each conversation (similar to long-term memory extraction)
- Storage for commitments with due times (DynamoDB)
- Heartbeat Lambda checks due commitments and delivers them
**Memory → People Wiki** (2026.4.29)
OpenClaw's memory system has grown significantly: canonical people aliases, person cards, relationship graphs, privacy/provenance reports, evidence-kind drilldown. This is well beyond what we analyzed as "MEMORY.md replacement." The agent now has a structured knowledge graph about people and relationships.
AgentCore Memory's built-in strategies (SUMMARIZATION, USER_PREFERENCE, SEMANTIC) don't have a direct equivalent. This is a gap — OpenClaw's memory is now substantially more sophisticated.
**REM Dreaming** (2026.4.29)
Referenced in the `doctor.memory.remHarness` RPC — OpenClaw now has a "REM" background consolidation pass that synthesizes and reorganizes memories asynchronously. Similar to our planned "self-managed memory strategy" but built-in and richer.
No direct AgentCore Memory equivalent. Would need custom Lambda + BatchCreateMemoryRecords.
**Active Memory / Partial Recall** (2026.4.29)
- Per-conversation `allowedChatIds`/`deniedChatIds` filters for memory recall
- Returns partial recall results on timeout instead of failing closed
AgentCore Memory doesn't have conversation-scoped recall filters. Retrieving memories without a filter would return everything, not just conversation-relevant context.
---
### 🟡 Design decisions our build should incorporate
**Streaming Progress Drafts** (2026.5.3)
`streaming.mode: "progress"` — live draft messages across all channels (Discord, Telegram, Matrix, Slack, Teams) that update in-place as the agent processes. In Telegram, this means an editing message that shows progress without spamming new messages.
**Directly relevant to our Telegram build.** Instead of the "typing indicator" hack (which expires in 5s), we can send an initial "thinking..." message and edit it in-place with progress, then finalize. Much cleaner UX. We should implement this from day one.
**`sessions_yield`** (2026.3.12)
New tool: orchestrators can end the current turn immediately and carry a hidden payload into the next session turn. Enables cleaner multi-agent hand-offs.
For our AgentCore build: this would be handled differently (sub-agent via A2A), but the pattern is worth knowing.
**Queue Mode: steer is now default** (2026.4.29)
Active-run queueing now defaults to `steer` with 500ms debounce. This means multiple rapid messages don't queue sequentially — later messages "steer" the current run. The SQS batching approach we designed (bundle all queued messages at once) is aligned with this.
**`/steer` command** (2026.5.3)
Explicit steering of active session runs without starting a new turn when idle. Our architecture handles this naturally through SQS FIFO batching.
**ACP: resumeSessionId** (2026.3.11)
`sessions_spawn` with `runtime: "acp"` can now resume existing sessions. Relevant if the AgentCore build eventually spawns coding agents.
---
### 🟢 Improvements to existing features (no gap impact)
**Multimodal memory indexing** (2026.3.11)
Image and audio indexing for memory search with Gemini embedding. OpenClaw-only feature (uses local embedding + Gemini). AgentCore Memory handles multimodal separately via AgentCore Browser/Code Interpreter context.
**Dashboard v2** (2026.3.12)
Control UI overhaul: modular overview, chat, config, agent, and session views, command palette, mobile bottom tabs. Not relevant to AgentCore build (we won't have the OpenClaw Control UI).
**SQLite plugin state store** (2026.4.29)
Restart-safe keyed registries with TTL for plugins. Analogous to DynamoDB in our AgentCore build.
**Bedrock Opus 4.7 thinking** (2026.4.29)
Now available. Update model selection in the build plan — Opus 4.7 with thinking is an option.
**Telegram improvements** (2026.3.12, 2026.4.29, 2026.5.3)
- Model picker via inline buttons
- Chunking improvements
- Proxy/webhook/polling resilience
These are bug fixes in OpenClaw's Telegram channel; our build avoids these by using the simpler Telegram Bot API directly.
---
## Updated Gap Assessment
| Feature | OpenClaw (now) | AgentCore Build Plan | Gap |
|---|---|---|---|
| Streaming progress | ✅ Live draft edits | ❌ Not planned | Add Telegram edit-in-place |
| Commitments | ✅ Background extraction + heartbeat | ❌ Not designed | Medium effort to add |
| People wiki | ✅ Structured knowledge graph | ❌ Flat memories only | Significant gap |
| REM dreaming | ✅ Background consolidation | ❌ Built-in strategies only | Partial via built-ins |
| Memory filters | ✅ Per-conversation recall | ❌ Global retrieval | Small gap |
| Multimodal memory | ✅ Images + audio | ❌ N/A | Lower priority |
| Queue/steer default | ✅ Built-in | ✅ SQS FIFO batching | Equivalent |
| sessions_yield | ✅ Built-in | ✅ A2A equivalent | Equivalent |
---
## Recommendations for Build Plan Updates
1. **Add streaming progress to Phase 1** — don't defer this. In Telegram: send initial "⏳ thinking..." message, edit it with progress updates, replace with final answer. Better UX than typing indicator. OpenClaw ships this by default now.
2. **Add commitments to Phase 3 scope** — extract from conversations, store in DynamoDB with due_at, check in heartbeat Lambda, deliver if overdue. Simple but valuable.
3. **Acknowledge the memory gap** — OpenClaw's memory is now a full people-knowledge-graph system. AgentCore Memory's built-in strategies (SUMMARIZATION, USER_PREFERENCE, SEMANTIC) cover the basics but not the people wiki or REM dreaming depth. This is a real differentiation. The AgentCore build starts simpler — that's OK for a personal assistant, but worth calling out.
4. **Update model options** — Bedrock Opus 4.7 with thinking is now available. Consider for complex tasks.
---
*Updated 2026-05-04. Covers delta from v2026.3.2 → v2026.5.3.*