# Canvas / A2UI Foundation Checklist **Date:** 2026-02-16 **Scope:** Close OpenClaw "Canvas / A2UI" gap with a first gateway-level artifact API. ## Goal Add a minimal, testable visual-workspace foundation that companion clients/web UI can use to store and retrieve structured session artifacts. ## Implemented - Added in-memory canvas artifact store: - `src/gateway/canvas-store.ts` - Added gateway canvas handlers: - `canvas.put` - `canvas.get` - `canvas.list` - `canvas.delete` - `canvas.clear` - Wired handlers into gateway routing: - `src/gateway/server.ts` - `src/gateway/handlers/index.ts` - Added docs updates: - `README.md` - `docs/api/PROTOCOL.md` ## Test Coverage - `src/gateway/canvas-store.test.ts` - session scoping - update semantics - delete/clear lifecycle - per-session cap eviction - `src/gateway/handlers/handlers.test.ts` - full `canvas.*` lifecycle handler flow - request validation error paths - `src/gateway/server.test.ts` - end-to-end gateway RPC canvas flow ## Validation Run ```bash pnpm test:run src/gateway/canvas-store.test.ts src/gateway/handlers/handlers.test.ts src/gateway/server.test.ts pnpm typecheck pnpm build ```