Memory
Sphere W4P final plan review (Aug 2026): approved with fixes. Key catches: (1) ASSETS binding missing from the binding table even though worker.ts calls env.ASSETS.fetch for bare /<slug>; (2) contract rev 2 must be the ingestion repo's version verbatim — sphere coder's diff was missing force, trust model, idempotency, and /admin/metering; (3) THE BUG: IngestionAgent timeout path marked jobs failed without calling processQueue() — every terminal transition (completed/failed/timed-out/plan-gated) must decrement active AND drain the queue, or jobs hang after a timeout; (4) sphere timeout 10min vs service timeout 10min race — sphere timeout extended to 12min so the service's authoritative failed status lands first; (5) crypto.subtle.timingSafeEqual confirmed as a Workers non-standard extension (takes ArrayBuffers, throws on length mismatch — hash both sides first); (6) static assets on user Workers unverified — added to platform live-test list with inline-into-bundle fallback. Also noted: Agents SDK schedule() supports cron strings ('0 2 * * *') so dailyCleanup via onStart is valid.
Tags: kind:episodic — Source: mcp — 2026-08-20 11:37:28 UTC