Build image / build-and-push (push) Successful in 10s
Closes #82. Bed filling now exists without an LLM configured, and clear-bed is ONE change set instead of one per plop (a 40-plop bed no longer needs 40 undos). POST /objects/:id/fill (region by compass name or rect, degenerate rect → 400) and /clear, thin adapters over the service methods the agent already uses. Also fixed DESIGN.md's API block, which had dropped the unauthenticated public route.