diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index af71e16eb7..632ae80fd5 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -4,7 +4,7 @@ What the maintainers are working on, grouped by when. This page names the initia ## Now -- **Release and CI health.** The next release is the first to carry the llama.cpp runtime. [`desktop-tests.yml`](../.github/workflows/desktop-tests.yml) now runs the desktop backend, frontend and Electron tests on pull requests. See [packaging](architecture/packaging.md) and [updates](architecture/updates.md). +- **Release and CI health.** v2.0.3 was the first release to carry the llama.cpp, sd.cpp and audio.cpp runtimes, built and packaged on all three runners, and [`desktop-tests.yml`](../.github/workflows/desktop-tests.yml) runs the desktop backend, frontend and Electron tests on pull requests. What is left is the CI that proves the runtimes: no job generates an image with the staged `sd-server`, and the release workflow still accepts a prerelease version. See [packaging](architecture/packaging.md) and [updates](architecture/updates.md). - **Egress gaps.** The follow-up fetch for a remote image URL leaves without a consent decision, Electron's spellchecker likely fetches dictionaries without one, and some stored grants no longer match what Settings › Network shows. See [egress](architecture/egress.md). - **Import from cloud.** The hosted export window closes on 18 Oct 2026. Imports need a progress summary, and a re-run must bring back the chat threads an interrupted import missed. See [import](architecture/import.md). - **Scraper API and MCP license mode.** PATs are purged on 18 Oct 2026; after that, license mode is how scraper API and MCP users keep access. See [contract 2](contracts/02-scraper-api-auth.md). diff --git a/docs/architecture/local-models/fit.md b/docs/architecture/local-models/fit.md index 7033d994ea..8e455da878 100644 --- a/docs/architecture/local-models/fit.md +++ b/docs/architecture/local-models/fit.md @@ -705,7 +705,7 @@ holds the badge to the load, and `tests/unit/chat/test_budget.py` the chat budge ## Known gaps -- Live host memory reads 0 on Windows: `system_memory.available_bytes()` has no Windows branch and `os.sysconf` does not exist there, and `Device.reports_live_memory`, which tells a live reading from a restated total, is never read. On a Windows machine with no GPU every model is therefore planned at the 8,192 floor; capacity mode is unaffected because it reads the CPU device's total. +- `Device.reports_live_memory`, which tells a live reading from a restated total, is never read, so a device whose `free` merely restates `total`, as WSL2 and macOS do, is trusted as if it had reported free memory. `system_memory.available_bytes()` has no test. - The question's 1,024-token share is not enforced: `MessageText` in `modules/chat/schemas.py` sets no maximum length, so a longer question can push a turn with a full history past the window. - The `q8_0` preference is unmeasured: nobody has timed a resident `q8_0` cache against a small `f16` spill on prompt rate, and published figures report quantized caches generating materially slower. - The light-spill boundary may be tight: `LIGHT_SPILL` ends at 0.25, which puts Qwen3 8B on a 6 GB RTX 3050 (0.33 by layers) out of the recommendation although its owner runs it without noticeable lag; one prefill and decode measurement of that configuration against the resident 4B settles it, and moving the boundary moves the badge and the star together. diff --git a/docs/architecture/packaging.md b/docs/architecture/packaging.md index 33219a53e8..650bcec928 100644 --- a/docs/architecture/packaging.md +++ b/docs/architecture/packaging.md @@ -145,10 +145,6 @@ Two run in CI: `test_license_key.py` inside the release workflow, and `test_audi ## Known gaps -- `build-sdcpp.yml` has not run yet, so no release has built or packaged sd.cpp: the Linux and macOS compiles and the Windows runtime copy have not run; only the build recipe is unit-tested. - No CI job generates an image with the staged `sd-server`; its gates are `--help` and the platform floors, not a picture. -- No tagged release has built the llama.cpp runtime: the v2.0.2 run staged Ollama and llmfit instead. - No issue on audio.cpp asks for archives that meet the app's floors yet, so `build-audiocpp.yml` has no end date. -- No release has built or packaged audio.cpp yet, and nothing has staged its macOS archive on a Mac. -- No workflow runs the `surfsense_local` unit or integration tests on pull requests; only the two packaging tests above run in CI. - No test ingests a PDF with networking disabled. diff --git a/docs/architecture/updates.md b/docs/architecture/updates.md index 27d81118cd..f8920799e8 100644 --- a/docs/architecture/updates.md +++ b/docs/architecture/updates.md @@ -54,6 +54,5 @@ Artifact names carry no version, so the root README's links to `/releases/latest ## Known gaps -- The `--repo` fix to `legacy-update-bridge` (commit `a0c5bd3b8`) has not run on a tag: the job failed on the v2.0.2 run, and that release's three `latest*.yml` were attached by hand. - The workflow accepts a version with a prerelease suffix, which this app must never publish. - The deb build likely auto-updates, although the launch plan said it would not: electron-builder writes `resources/package-type` for a deb, electron-updater picks its deb updater from that file, and v2.0.2's `stable-linux.yml` on the release lists `SurfSense.deb`. Not checked on an installed deb.