# 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 - None. The rework milestone is complete and verified live. ## 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`. - Core bridge wired: events, renderer init, main bridge, and the upstream hooks. - Auth persistence re-added: pinned `DATA_DIR`, token file, preload seeding, `VESKSLOP_HEADLESS`. - Daemon moved to the core-bridge transport. CDP stays as a development fallback. - Mock core and trigger test added. The daemon runs without Electron. - Live verification (2026-09-11): `get_state` returned the real account and 7 guilds, `send_dm` reached zzib, and a synthetic owner message flowed through the real event path into the daemon log with the command parsed. - Module docs in `docs/` and the agent entry point in `AGENTS.md`. ## Next (in order) 1. Keep `CURRENT.md`, `AGENTS.md`, and `docs/` in sync with each change. 2. Voice join and leave actions. Validated actions, then a trigger command. 3. Audio in and out with PipeWire. 4. Video streaming. 5. Fetch-based message read. The current read is cache-only. 6. Client lightening and the web debug UI. 7. Remote client authentication over LAN or Tailscale. ## 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/`, `src/main/puppetBridge.ts`