core/computer.py is one Chromium on a persistent profile. Every action acts on it; the pages you left reopen on wake. Take-over blocks bots and the user alike. Secrets are explicit (secret:NAME) and fail closed, so a forgotten secret types nothing instead of typing its own name into a password box. The panel watches, clicks and takes over; bots reach the same browser through the coder loop. 81 tests; all 610 older ones still pass.
core/coder.py: an observe-decide-act loop (ls/read/grep/write/edit/run/done) with actions declared as real function declarations, the gateway as the first quota rung, workspace-scoped undo, a syntax gate after every write, and refusal of irreversible commands. Replaces shelling out to an external agent, which resolved to an image-generation model and 400'd in 13s.
Connectors panel gains write-only token inputs plus a Gmail address/app-password row. CREDITS.md served at /api/credits and rendered in-app; Mark-LIV (CC BY-NC) and gods-eye-view (MIT, pinned) recorded with what we changed. 87 new tests, no network.
Additive commit — the Space keeps its history.