Specify a Windows installer built by the Linux CI

The tree is closer to Windows than a Linux-only project usually is:
every image library, the TLS stack and the inference engine are pure
Rust, and dr-plat already keeps the Linux-only code behind cfgs with a
loud fallback where none exists for another platform. What remains is
a short list above dr-plat — five XDG path lookups, an xdg-open, the
secret store's third implementation, the models' lookup beside the
executable — and none of it touches core, which is the NFR-PORT-3 test
this would be the first real run of.

docs/windows.md decides the GNU target over MSVC-via-xwin, Vulkan only
as on every other platform, a per-user NSIS installer that leaves the
library alone on uninstall, and a CI leg in the shape of the Android
one. It is explicit about what a runner with no Windows can verify —
that it links, is PE32+, starts under Wine and installs under Wine —
and what it cannot, which is everything involving a real GPU driver.
Three FR-PLAT-WIN requirements and a channel row record the decisions;
the ordering puts a first cross-compile on the developer machine before
any container exists, because the list of cfg gaps is a reading of the
source and the compiler's list will be longer.
This commit is contained in:
2026-09-11 23:30:16 +02:00
parent a2c7789007
commit b718c70b11
4 changed files with 427 additions and 5 deletions
+7 -4
View File
@@ -11,15 +11,15 @@ Denominators are parsed from [`requirements.md`](requirements.md) at run time, n
|---|---|
| Source files scanned | 350 |
| TRACES tags found | 1377 |
| Requirements defined | 187 |
| Requirements defined | 190 |
| Requirements covered | 134 |
| **Coverage** | **71.7%** (134/187) |
| **Coverage** | **70.5%** (134/190) |
### By type
| Type | Covered | Defined |
|---|---|---|
| FR | 101 | 132 |
| FR | 101 | 135 |
| NFR | 30 | 49 |
| R | 3 | 6 |
@@ -170,7 +170,7 @@ _None._
## Not yet tagged
53 of 187 requirements have no implementation tag. Expected while the codebase is young; each should gain one as it is built.
56 of 190 requirements have no implementation tag. Expected while the codebase is young; each should gain one as it is built.
<details><summary>Show untagged requirements</summary>
@@ -184,6 +184,9 @@ _None._
- FR-NC-11
- FR-PLAT-AND-1
- FR-PLAT-LIN-3
- FR-PLAT-WIN-1
- FR-PLAT-WIN-2
- FR-PLAT-WIN-3
- FR-PLG-1
- FR-PLG-10
- FR-PLG-11