You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
API-2 close-out (filed at sparrow-engine-dev:81f4a46). The CLI and the
installer scripts already use the hyphenated path slug:
- sparrow-engine-cli/src/main.rs:603 — default model dir is
$HOME/.sparrow-engine/models/
- installer/sparrow-engine-install.sh:24 — install prefix defaults to
$HOME/.sparrow-engine
- installer/sparrow-engine-install.ps1 — same convention
Only docs/user-manual.md drifted to underscore (9 sites: lines 169, 173,
192, 214, 223, 227, 235, 329, 1684). Surfaced 2026-05-27 11:21 PT by
brew-install smoke: I told the user to download Zenodo models to
~/.sparrow_engine/models/ (matching the doc), which spe models list then
could not find (looks at ~/.sparrow-engine/models/).
Targeted sed: 's/\.sparrow_engine/\.sparrow-engine/g' — only matches
the path slug (with leading dot); leaves the Python module name
sparrow_engine (no leading dot) at lines 271, 285, 680, and the ~5
'sparrow-engine-python/python/sparrow_engine/__init__.py' citation
paths intact.
Verification:
- grep -nE '\.sparrow_engine' docs/user-manual.md: 0 hits
- grep -nE '\.sparrow-engine' docs/user-manual.md: 10 hits (the 9
drift sites + the pre-existing correct line 843)
- grep -cE 'sparrow_engine/' docs/user-manual.md: 4 (Python module
paths preserved)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@@ -189,7 +189,7 @@ The following constraints are baked into the engine. If you onboard a new model,
189
189
190
190
**Why**: same script, same flags, different shell.
191
191
**What**: from a clone of the repo, run the wrapper with no flags; it auto-picks flavor.
192
-
**How**: the wrapper writes binaries to `~/.sparrow_engine/bin/` and (if Python is active) installs the matching wheel into that environment.
192
+
**How**: the wrapper writes binaries to `~/.sparrow-engine/bin/` and (if Python is active) installs the matching wheel into that environment.
193
193
194
194
**Footgun**: the `curl … | sh` and `iwr … | iex` one-liners DO NOT WORK today (the wrapper resolves `probe.sh` relative to `$0`, which becomes `bash` under stdin pipes). Use the local-clone form. Tracked for post-public-release.
195
195
@@ -211,7 +211,7 @@ The following constraints are baked into the engine. If you onboard a new model,
211
211
### 2.3 What lands on disk
212
212
213
213
```
214
-
~/.sparrow_engine/
214
+
~/.sparrow-engine/
215
215
├── bin/
216
216
│ ├── spe (or spe-gpu on the GPU flavor)
217
217
│ └── (symlink helpers, ort-env.sh)
@@ -220,19 +220,19 @@ The following constraints are baked into the engine. If you onboard a new model,
220
220
221
221
~/.bashrc / ~/.zshrc:
222
222
# >>> sparrow_engine >>>
223
-
export PATH="$HOME/.sparrow_engine/bin:$PATH"
223
+
export PATH="$HOME/.sparrow-engine/bin:$PATH"
224
224
# <<< sparrow_engine <<<
225
225
```
226
226
227
-
**Why**: predictable footprint so uninstall is one `rm -rf ~/.sparrow_engine` and one rc-file block delete.
227
+
**Why**: predictable footprint so uninstall is one `rm -rf ~/.sparrow-engine` and one rc-file block delete.
228
228
**What**: a single directory + a single rc-file fenced block. No system-wide files.
**Plain words**: rc-file = the shell startup file (`~/.bashrc`, `~/.zshrc`, or PowerShell profile) that runs when you open a new terminal.
232
232
233
233
> **Note — calling the CLI binary by full path**
234
234
>
235
-
> The release tarballs ship as `<install-prefix>/bin/spe` (or `spe-gpu`) with the matching `lib/libonnxruntime.so.X.Y.Z` next to them. The `spe` binary discovers this `lib/` directory at startup via `ort_resolver::init_ort_env()` (relative to `current_exe()`), so calling it by full path (e.g. `~/.sparrow_engine/bin/spe detect …`) works without any `LD_LIBRARY_PATH` shell setup. The legacy `ort-env.sh` wrapper is dev-only — production users do not need to source anything. **Caveat**: if you copy `bin/spe` somewhere ELSE without also copying the sibling `lib/` directory, the resolver falls through silently and ORT cannot dlopen; set `ORT_DYLIB_PATH=/abs/path/to/libonnxruntime.so.X.Y.Z` to point at any libonnxruntime install of your choice.
235
+
> The release tarballs ship as `<install-prefix>/bin/spe` (or `spe-gpu`) with the matching `lib/libonnxruntime.so.X.Y.Z` next to them. The `spe` binary discovers this `lib/` directory at startup via `ort_resolver::init_ort_env()` (relative to `current_exe()`), so calling it by full path (e.g. `~/.sparrow-engine/bin/spe detect …`) works without any `LD_LIBRARY_PATH` shell setup. The legacy `ort-env.sh` wrapper is dev-only — production users do not need to source anything. **Caveat**: if you copy `bin/spe` somewhere ELSE without also copying the sibling `lib/` directory, the resolver falls through silently and ORT cannot dlopen; set `ORT_DYLIB_PATH=/abs/path/to/libonnxruntime.so.X.Y.Z` to point at any libonnxruntime install of your choice.
0 commit comments