Wire validated core bridge, migrate daemon to it, verify live

This commit is contained in:
Fisto
2026-09-11 14:15:03 +02:00
parent e62d3007d8
commit 7d6650ce4e
27 changed files with 754 additions and 266 deletions
+17 -13
View File
@@ -11,28 +11,31 @@ 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.
- 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`.
- 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.
- 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. 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.
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
@@ -43,4 +46,5 @@ into the external daemon. Keep upstream divergence small.
- Design documents: `docs/INDEX.md`
- Agent rules: `AGENTS.md`
- Daemon code: `poc/src/`
- Core bridge code: `src/shared/puppetProtocol.ts`, `src/renderer/puppet/`
- Core bridge code: `src/shared/puppetProtocol.ts`, `src/renderer/puppet/`,
`src/main/puppetBridge.ts`