# Kitty Protocol v1 Kitty Protocol v1 defines how KittyBrowse moves work between the Chromium UI, the local agent runtime, NATS, and VM/IDE plugins. ## Subjects ```text kitty.task.run kitty.task.result kitty.agent.state ``` ## Task envelope ```json { "subject": "kitty.task.run", "issuedAt": "2026-06-22T00:00:00.000Z", "task": { "id": "task-id", "contextId": "agent-id", "command": "execute_resonance_vm", "payload": {}, "dependencies": [], "failRate": 0, "latencyMs": 100, "vmTarget": "apl-wasm", "ideTarget": "vscode" }, "signature": "optional-detached-signature" } ``` ## Execution rule The runtime computes an entropy score before dispatch: ```text dependencyPressure * 0.3 + failPressure * 0.5 + latencyPressure * 0.2 ``` Tasks execute only when the score is below `0.21`. ## Plugin rule Plugins are allowlisted by manifest. A command must be present in a plugin manifest before an adapter may execute or simulate it. The primary execution target is `apl-wasm`; JavaScript/TypeScript is only UI, IPC, and message-envelope glue.