Files
GraceSolutions e29b166453 build: single-file Windows CGO binary and stop tracking UI placeholder
Make the Windows build produce a truly standalone .exe with no runtime
DLL prerequisites, and stop tracking a placeholder index.html that the
build pipeline rewrites on every run.

webui package
- Move the placeholder HTML out of a tracked file on disk and into a
  placeholderHTML const in webui.go. serveIndex falls back to that
  const when the embed does not contain index.html, so dev builds that
  skip the frontend still get a sensible landing page.
- IsBuilt now checks for index.html instead of _next/ so the helper
  stays accurate when only the placeholder is embedded.

Embed directory hygiene
- dist/.gitignore now ignores everything except itself; the directory
  still exists for //go:embed but never shows dirty after a build.
- Stop tracking the old placeholder at dist/index.html.

scripts/build.ps1
- Staging step clears everything in dist/ except .gitignore (was also
  preserving the old index.html).
- Windows amd64 builds now static-link the mingw-w64 C runtime via
  -ldflags '-linkmode external -extldflags "-static"' so the final
  orchestrad.exe depends only on standard Windows system DLLs and the
  Universal CRT (part of Windows 10+). Verified: no libgcc_s_seh-1,
  libstdc++-6, libwinpthread-1, msvcr*, or vcruntime140 imports.
- Auto-discover gcc from C:\ProgramData\mingw64, Chocolatey's mingw,
  MSYS2 (ucrt64/mingw64), and TDM-GCC install locations so fresh
  checkouts build without manual PATH edits after 'choco install mingw'.
- Windows arm64 is now skipped with a clear message when a matching
  aarch64-w64-mingw32-gcc cross-compiler is not available, instead of
  failing the whole run.

Binary impact (windows/amd64, CGO on, static): 24.06 MB.
2026-04-23 15:19:38 -04:00
..