fix: remove stale monkeypatch targets for deferred imports
server.py uses deferred imports for get_client, SERVICES_PID_FILE, and
_validate_multi_worker. Remove the duplicate monkeypatch lines that
targeted these as module-level attributes — the canonical patches
against the source modules are sufficient.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
refactor(04-01): remove LimitManager from FlowRunExecutor entirely
ScheduledRunPoller now owns the full slot lifecycle: acquire before
spawning, release in _submit_run's finally block after executor.submit()
returns (process exits). FlowRunExecutor has no knowledge of LimitManager.
- Removed limit_manager parameter from FlowRunExecutor.__init__
- Removed slot_token parameter from FlowRunExecutor.__init__
- Removed acquire/release calls from FlowRunExecutor.submit()
- _submit_run calls await executor.submit() directly (not task_group.start)
so it blocks until the process exits, enabling safe slot release in finally
- Updated all tests to reflect the new ownership model
Co-authored-by: desertaxle <desertaxle@users.noreply.github.com>
Co-Authored-By: unknown <>
fix: use json= instead of content= in browser login test callbacks
The browser login tests used httpx content= (raw bytes without
Content-Type header) to POST to the login callback FastAPI endpoints.
With FastAPI 0.132.0's strict content-type checking, these requests
are rejected, causing the tests to hang until pytest-timeout kills them.
Co-authored-by: Alexander Streed <desertaxle@users.noreply.github.com>
Co-Authored-By: unknown <>