Build image / build-and-push (push) Successful in 11s
Closes #79. Agent model + on/off move into an admin-only Settings section, and is_admin is enforced for the first time. The live Runner is hot-swapped behind an atomic.Pointer with routes always registered, so a settings change takes effect with no restart; /capabilities reads the pointer. Secrets stay in the env, never the DB. Precedence: Settings → env → default. Verified live: swap on/off/model, bad spec → 400, race-clean. Gadfly blocking round addressed (dead code removed, error-swallowing fixed, frontend 503 handling, holder dedup).