Measured what a visit costs: 140ms to construct the QWebEngineView the first time, 485ms to walk the folder and lay the graph out, and a setHtml of the whole D3 page to show it. The setHtml is the flash — the page really is reloaded. Once built it is not repeated: three round trips in and out rescanned nothing. What did repeat was project switching. _refresh_project_combo scanned immediately on any change, and the rail's picker put that one click away from every screen — so the graph was rebuilt again and again for a tab usually not on screen, and the visit after a switch always paid for a reload. It now marks _needs_scan and lets auto_scan_and_fit() pick it up when GraphRAG is actually opened: two switches from Cowork cost 0 scans, and opening it after costs exactly 1. The first visit per run still builds the browser view and scans, which is the lazy construction the code chose deliberately to keep startup light. That one is a trade, not a bug; say if you would rather pay it at startup. check_graphrag_rescan covers all three: no rebuild on an unchanged re-entry, no scan while off-screen, exactly one on opening. 24/24 checkers pass. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Cowork Local
Cowork Local is the internal AI cowork desktop platform owned by the Cowork Team. It provides the Cowork runtime, workspace and agent experiences, MCP/connectors, security controls, and model routing foundation.
The Cowork Team owns this product and its stable branch. The FSG AI Core Team contributes selected reusable capabilities through branches and Pull Requests; it is not the owner or final merger of this repository.
Quick start
The imported application is a Python/PySide6 package. Run it from the directory that contains cowork_local:
python -m cowork_local
The source snapshot does not include a complete runtime dependency manifest. Use the Cowork Team's supported runtime environment until that packaging contract is documented. The reliable automated test surface currently checked by CI is:
python -m pip install -r cowork_local/requirements-test.txt
python -m pytest cowork_local/tests -q
When already inside this repository, run python -m pytest tests -q.
Configuration and runtime data live under ~/.cowork_local/. Provider keys and local unlock codes must be supplied through environment variables or an approved secret manager; see .env.example.
Contributing
Start with START_CONTRIBUTING.md, then read CONTRIBUTING.md. Core AI task execution remains in fsg-ai-core-assets; source changes are reviewed as Pull Requests in this repository.
Security concerns should follow SECURITY.md. Ownership and completion rules are documented under docs/governance/.