Default Git Bash on Windows and load embeddings without Hugging Face - #5
Default Git Bash on Windows and load embeddings without Hugging Face#5TeleporterGuy wants to merge 7 commits into
Conversation
cmd.exe stays the default; Settings can switch spawn, policy, and path guards together once bash.exe is found or pasted.
…che. Company laptops often cannot reach Hugging Face, and Git Bash is the shell people already use there; cmd remains the fallback when bash.exe is missing.
…g Face. GitHub rejects 100 MB files, so the ONNX is compressed and split under 50 MB; Stem unpacks it into the local cache on first launch.
A single TCP read can carry pushTo and a broadcast together, which made collectBlocks(1) return two events on CI.
The shell run_command spawns is now a setting of its own rather than a fact about the platform: cmd.exe, Git Bash, or the login shell on macOS/Linux. The parser, the auto-run allowlist, the read-only folder guard and the judge's prompt all read that one value, because deciding tier 1 against a grammar the host does not use is how a quoted argument becomes a second command. Git Bash is the Windows default when bash.exe is on disk, cmd.exe when it is not. Detection is filesystem-first — the usual Git for Windows paths, then PATH — so it works on a machine where PowerShell is locked down. From PR #5 by Michal Jurkovic, minus the vendored model weights: Stem does not redistribute Hugging Face's models. The SSE test helper now stops at the frame count it asked for, which was the CI flake in the same branch. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Thank you for this — the Windows shell work is a real contribution, and it's on LandedThe Git Bash host shell — The SSE test helper fix — same commit. That flake was real and it was ours, not yours. Two fixes on top —
Also in that commit: the The unit suite now also runs on Not landed: the vendored weights
Two things in the packing script would also have bitten: it walks the whole What replaced itYour actual problem — a work laptop that can't reach huggingface.co, so memory search never starts — was worth solving, and it's solved:
So the offline case is covered, and it's covered for models we don't ship rather than only for the one that was in the branch. Closing this, since the parts that could land have. If you get a chance to run the Windows smoke checklist in |
Summary
run_commandnow prefers Git Bash whenbash.exeis on disk, and falls back to cmd.exe if it is not (still switchable in Settings).vendor/embed-models/(under GitHub's 50 MB warning). Stem unpacks them into the local cache on first launch and does not call Hugging Face.npm run vendor:embed-modelsrebuilds those packs from a machine that already has a Stem cache. The default reranker is still too large for git and downloads from the Hub when the network allows it.collectBlocksin the HTTP transport tests stops at the requested frame count, so a single TCP read that carriespushToand a broadcast no longer fails CI.Test plan
lsauto-runs,cat 'a & whoami'does not runwhoami.dir/type) with no spawn error.vendor/embed-models, Memory tab shows the embedder ready.npx vitest run tests/unit/embed-files.test.ts tests/unit/embed-manager.test.ts tests/unit/exec-git-bash.test.ts tests/unit/settings.test.ts tests/unit/transport-http.test.ts