Highlights
Unified session storage ensures conversation context is preserved when smart routing switches between Lambda and Fargate. Previously each runtime used different S3 paths, causing the bot to "forget" previous conversations after a routing transition.
Fixes
- Unified S3 session path: Both Lambda and Fargate now read/write sessions to
sessions/{userId}/agents/default/sessions/{sessionId}.jsonl - Fargate session sync:
LifecycleManagerbacks up and restores OpenClaw sessions to/from the shared S3 path - Shared constants:
SESSION_S3_PREFIX,SESSION_DEFAULT_AGENTin@serverless-openclaw/shared
Integration Tests (11 new, 7 patterns)
| Pattern | Verified |
|---|---|
| Lambda → Lambda (2 consecutive) | Context preserved across cold starts |
| Lambda → Lambda (3 consecutive) | Full conversation accumulation |
| Fargate → Lambda | Lambda picks up Fargate history |
| Lambda → Fargate | Fargate restores Lambda history |
| Lambda → Fargate → Lambda | Full round-trip context |
| Fargate → Lambda → Fargate | Reverse round-trip context |
| User isolation | Separate users don't share sessions |
Test Coverage
259 unit tests + 35 E2E tests = 294 total, all passing
🤖 Generated with Claude Code