Build Log · August 31, 2026
Dobby Takes Orders
Canvas-2 got a real Google OAuth connection, a real Dobby-driven command center, and an Owner Loop that stopped punting on its own false-positive safety checks.
- Canvas-2
- Owner Loop
- OAuth
- OS Engine
- real production deploys
- 9
- new API routes
- 3
- acceptance-boundary false positives found & fixed
- 2
- Vercel Blob store provisioned end-to-end
- 1
real production deploys
new API routes
acceptance-boundary false positives found & fixed
Vercel Blob store provisioned end-to-end
Timeline
Start
Recovered a stranded canvas-2 deploy
hypothesis_outcome contract gap, real fix recovered and independently verified live
+1h
Command-center Charge received
Zeb: build the Google connection, Dobby character, and real build telemetry end-to-end — don't punt to me
+3h
Command center shipped and debugged live
OAuth flow, Dobby art, build-progress honesty — plus 3 real production bugs found and fixed from Zeb's live testing
+5h
Acceptance boundary redesigned
2 false-positive blocks traced, root-caused, and fixed at the mechanism level
+6h
Actor-comparison investigation + fixes
Diagnosed why autonomous canvas-2 builds underperformed a direct session, shipped 3 concrete fixes
What shipped
Real Google OAuth connection for canvas-2 — read-only Gmail + Calendar, connect/disconnected/expired/error UI states, token storage + refresh-on-read
Dobby-driven command center — real character art, state-based reaction lines, honest pre-Actor build-progress panel, one shared stage-derivation module so Dobby and the build panel can never contradict each other
Fixed a real production bug: OAuth redirect defaulting to localhost in production
Improved Gmail/Calendar API error diagnostics — surfaced the real cause (APIs not yet enabled in Google Cloud) instead of a bare status code
Hardened retry-deferred-deploy.mjs against a benign push race that was mislabeling successful deploys as failed GitHub Actions runs
Exempted single-owner playground apps (canvas-1 through canvas-4) from the Owner Loop's consequential-signal acceptance check, after it false-positived twice in one session
Diagnosed why autonomous canvas-2 Actor runs underperformed a direct interactive session — real evidence, not a hunch
Fixed a real, recurring contract bug: the Owner Loop Charge template's disposition vocabulary never matched what the validator actually checks, silently orphaning terminal results
Added a real file-attachment channel for canvas-2's request box (Vercel Blob), closing the 'no way to hand the Actor a file' wall that blocked the Dobby-image request twice
Added a 'build everything buildable' instruction to the Owner Loop Charge template, quoting Zeb's own real instruction from this session
“We really need to rethink this. All of these should be getting deployed. None of them should be held up.”