# CURRENT.md — session state Last updated: 2026-09-11 This file tracks the work state. Read it first. Update it before you stop. ## Current focus (broad) Rework the Vesktop integration into a validated capability layer ("core bridge"). Move all logic into the external daemon. Keep upstream divergence small. ## In progress - Core bridge wiring. The protocol and the renderer actions exist. The events, the main bridge, and the upstream hooks are not wired yet. ## Done - Audit of the earlier Vesktop patches. `src/` was reverted to upstream. - Action protocol and validated renderer actions: `src/shared/puppetProtocol.ts`, `src/renderer/puppet/actions.ts`. - CDP feasibility proven. The daemon works on CDP. `get_state` and `send_dm` were verified live. - QR login verified end-to-end. The token file works. - Pacing policy (500 to 2800 ms), trigger log, and trust model logic live in the daemon. - Module docs in `docs/` and the agent entry point in `AGENTS.md`. ## Next (in order) 1. Wire the core bridge: `events.ts`, `index.ts`, `puppetBridge.ts`, and the upstream hooks. 2. Re-add auth persistence to the core: pinned `DATA_DIR`, token file, preload seeding, `VESKSLOP_HEADLESS`. 3. Move the daemon to the core-bridge transport. Keep CDP as a development fallback. 4. Add a mock core. Run the daemon tests without Electron. 5. Type check, build, and run a live test. The live send target is zzib only. 6. Later: voice join and leave, audio, video, fetch-based read, client lightening, web debug UI. ## Blocked / needs input - None at this time. ## Where to look - Design documents: `docs/INDEX.md` - Agent rules: `AGENTS.md` - Daemon code: `poc/src/` - Core bridge code: `src/shared/puppetProtocol.ts`, `src/renderer/puppet/`