Auto-fixed 52 ruff F401 findings (unused imports) across 22 files
in backend/ and backend/tests/. Manually resolved 8 F841 unused
locals that ruff flagged as unsafe-fix:
- agent_manager.resume_session: drop dead hours_since_closed block.
- main.py mcp-meta + outputs-meta activate handlers: drop dead
reason = body.get("reason") binding (server ignores the field).
- dashboards.seed_demo, tools_lib.m365_device_login: keep _load(...)
call for its 404 side-effect, drop unused binding, add intent
comment.
- outputs.auto_run_output: keep `import anthropic` as availability
probe, mark with `# noqa: F401` and explanation.
- dead_code_scan._extract_ws_event_branches: drop vestigial
ws_handler_lines set (never written or read).
- test_browser_agent_unit.test_hash_tool_call_falls_back_to_repr:
drop the unused _Boom class+instance (the actual self-referential
bait is bad_input/bad_result; _Boom was never passed to the
function under test).
Result: 1184/1184 backend tests pass (1 deselected: pre-existing
sandbox-only git test). ruff --select F401,F811,F841 backend/ now
clean (was 60 findings).
Co-authored-by: Cursor <cursoragent@cursor.com>
that dir and retry once — fixes Discord/YouTube failing with "MCP stdio process exited unexpectedly" after partial npx installs,
per-browser auto-close: spawned browser cards now disappear on their own sub-agent's completion instead of lingering until the parent agent
finishes, WebSocketManager agent:status matches by session.browser_id (spawned_by is the parent, so it never matched the finishing
sub-agent), user-created/pre-selected browsers untouched
- Bundle uv/uvx universal binaries in backend/uv-bin/ (downloaded during build)
- tools_lib: _extra_bin_dirs and _resolve_command check uv-bin/ for uvx
- build-app.sh: auto-download uv for both architectures, create universal binary
- run.sh: auto-download uv for dev mode on first run
- Removed google-workspace-mcp from requirements.txt (dependency conflict with langchain
- browser_agent.py: use get_anthropic_client instead of raw api_key, fix model map for 9Router
- credentials.py + agent_manager.py: subscription (9Router) checked before API key everywhere
- main.py: clean browser-agent endpoint, no credential params
- tools_lib.py: when uvx not found, fall back to pip-installed binary from venv
- requirements.txt: add google-workspace-mcp so it works without uvx