mirror of
https://github.com/exo-explore/exo.git
synced 2026-02-24 10:18:12 -05:00
Models in EXO_MODELS_PATH are pre-downloaded into read-only directories and must not be deleted. The DownloadCoordinator had no awareness of these paths, so they never appeared as completed downloads in cluster state, and the bench harness could attempt to delete them when freeing disk space. Added a `read_only: bool` field to `DownloadCompleted` (default False). The DownloadCoordinator now checks `resolve_model_in_path` in `_start_download`, proactively scans EXO_MODELS_PATH in `_emit_existing_download_progress` to emit DownloadCompleted events for all pre-downloaded models (overriding DownloadPending from the regular scan), and refuses deletion of read-only models. The bench harness filters out read-only models from deletion candidates. Test plan: - Ran with EXO_MODELS_PATH. Available models now show as downloaded in the UI. There isn't good UI for the fact they can't be deleted, but it should work with exo_bench.