# Location Access Checklist **Date:** 2026-02-16 **Scope:** Close OpenClaw "Location access" gap using Flynn's node capability foundation. ## Goal Provide a safe, node-scoped location API so companion clients can publish last-known location and operators can inspect it. ## Implemented - Added node location protocol parsing: - `parseNodeLocationSetParams()` - `parseNodeLocationGetParams()` - Added node RPC methods: - `node.location.set` - `node.location.get` - Added operator visibility method: - `system.location` - Extended node state model with stored location payload. - Added explicit location feature gate in config: - `server.nodes.location.enabled` (default `false`) - Wired daemon config to gateway runtime and node handlers. - Added runtime patch support for: - `config.patch` key `server.nodes.location.enabled` - Updated docs: - `README.md` gateway node section - `docs/api/PROTOCOL.md` node/system method docs ## Tests - `src/gateway/protocol.test.ts` - Added validation tests for `node.location.set/get` params parsing. - `src/gateway/handlers/node.test.ts` - Added location set/get lifecycle tests. - Added disabled-gate rejection test. - `src/gateway/handlers/handlers.test.ts` - Added `system.location` handler tests. - Added config patch test for `server.nodes.location.enabled`. - `src/gateway/server.test.ts` - Added integration test for node registration + location set/get flow. - `src/config/schema.test.ts` - Added default/custom tests for `server.nodes.location.enabled`. - `src/gateway/auth.test.ts` - Added role-scope authorization test for `node.location.set`. ## Validation Run ```bash pnpm test:run src/gateway/protocol.test.ts src/gateway/auth.test.ts src/gateway/handlers/node.test.ts src/gateway/handlers/handlers.test.ts src/gateway/server.test.ts src/config/schema.test.ts pnpm typecheck pnpm build ```