Two small build-integrity findings from setting up a fresh clone on a Mac (build and all 10 ctest gates pass there, for what it is worth):
1. scripts/build-host.sh and scripts/bench-run.sh are committed as 100644.
The README (Build from source), AGENTS.md, CONTRIBUTING.md and docs/seam.md all instruct running scripts/build-host.sh directly, and docs/benchmarks.md + docs/benchmark-method.md invoke scripts/bench-run.sh the same way. On any POSIX fresh clone this fails with permission denied (reproduced from a clean clone; everything works via bash scripts/build-host.sh). All .sh files in the tree carry the same mode — presumably invisible in a Windows working tree where core.fileMode is off, which would explain why it never surfaced.
Fix is mechanical: set the executable bit on the two doc-invoked scripts (PR incoming). The remaining .sh drivers are not invoked directly by the docs, so I left them alone — happy to flip those too if you prefer the whole set consistent.
2. CMakeLists.txt still says VERSION 0.19.0 while [0.20.0] is released (2026-08-17).
Since BMOE_VERSION is injected from the CMake project version (core/CMakeLists.txt calls it the one source of truth), a build from the 0.20.0 tag self-reports as 0.19.0. I did not bundle the bump into the exec-bit PR to keep it focused — say the word and I'll send it separately, or fold it into your next release commit as you prefer.
Two small build-integrity findings from setting up a fresh clone on a Mac (build and all 10 ctest gates pass there, for what it is worth):
1.
scripts/build-host.shandscripts/bench-run.share committed as 100644.The README (Build from source), AGENTS.md, CONTRIBUTING.md and docs/seam.md all instruct running
scripts/build-host.shdirectly, and docs/benchmarks.md + docs/benchmark-method.md invokescripts/bench-run.shthe same way. On any POSIX fresh clone this fails withpermission denied(reproduced from a clean clone; everything works viabash scripts/build-host.sh). All.shfiles in the tree carry the same mode — presumably invisible in a Windows working tree wherecore.fileModeis off, which would explain why it never surfaced.Fix is mechanical: set the executable bit on the two doc-invoked scripts (PR incoming). The remaining
.shdrivers are not invoked directly by the docs, so I left them alone — happy to flip those too if you prefer the whole set consistent.2.
CMakeLists.txtstill saysVERSION 0.19.0while[0.20.0]is released (2026-08-17).Since
BMOE_VERSIONis injected from the CMake project version (core/CMakeLists.txt calls it the one source of truth), a build from the 0.20.0 tag self-reports as 0.19.0. I did not bundle the bump into the exec-bit PR to keep it focused — say the word and I'll send it separately, or fold it into your next release commit as you prefer.