# sgClaw Runtime Host Bundle `frontendBundleDir` lets SuperRPA prefer an external `sgclaw-chat` bundle at runtime while keeping the browser host, security boundary, and `chrome.send` bridge inside Chromium. ## Contract - SuperRPA remains the host and security boundary. - sgClaw remains the runtime and planner/execution owner. - The frontend bundle only renders state that comes from the existing host bridge. - Missing external files fall back to Chromium-bundled resources. ## Directory Layout The external bundle root must mirror the Chromium resource paths under `functions/sgclaw-chat/`. Example: ```text frontend-bundle/ sgclaw-chat/ sgclaw-chat.js sgclaw-chat.css.js sgclaw-chat.html.js components/ sgclaw-chat-shell.js sgclaw-message-list.js ``` When `frontendBundleDir` points at `frontend-bundle/`, the browser will try to serve `sgclaw-chat/*` from that directory first. Any file that is absent will continue loading from the built-in Chromium resource pack. ## Packaging Notes - Keep relative import paths inside the bundle identical to the bundled `sgclaw-chat` tree. - Do not move planner or execution logic into the bundle. - Treat [manifest.example.json](/home/zyl/projects/sgClaw/claw/frontend/runtime-host/manifest.example.json) as a packaging reference for humans and tooling.