Some checks failed
Forge CI / smoke-and-build (pull_request) Failing after 26s
When the installed run_agent.py diverges from what scheduler.py expects, every cron job fails with TypeError on AIAgent.__init__() — a silent total outage that cascades into gateway restarts, asyncio shutdown errors, and auth token expiry. This commit adds a _validate_agent_interface() guard that: - Inspects AIAgent.__init__ at runtime via inspect.signature - Verifies every kwarg the scheduler passes exists in the constructor - Fails fast with a clear remediation message on mismatch - Runs once per gateway process (cached, zero per-job overhead) The guard is called at the top of run_job() before any work begins. It would have caught the tool_choice TypeError that caused 1,199 failures across 55 jobs (meta-issue #343). Includes 3 tests: pass, fail, and cache verification.