hSUM / docs 0.1.0-alpha.4 / quickstart
Quickstart
From a clean checkout to a cited search result. Nothing leaves your machine.
Requirements
- macOS arm64 or Linux x86_64
- A local repository to index
1. Install and connect Codex
Run these commands from the Git repository you want hSUM to index. The
version-pinned installer verifies the release archive, installs without
sudo, registers one user-wide Codex MCP server, activates this exact
repository, and completes an end-to-end citation probe.
version=0.1.0-alpha.4
base_url="https://github.com/burkan2/hSUM/releases/download/v$version"
curl -fsSLO "$base_url/install-hsum.sh"
curl -fsSLO "$base_url/SHA256SUMS"
grep ' install-hsum.sh$' SHA256SUMS | shasum -a 256 -c -
bash install-hsum.sh --activate . --confirm
Unsigned macOS prerelease
The linker-generated ad-hoc signature passes codesign --verify, but
the alpha.4 binary has no Developer ID identity and is not notarized. On first launch,
the installer requires the explicit --allow-unnotarized-alpha flag after
you verify its checksum and read this warning.
On macOS, repeat the final command as:
bash install-hsum.sh --activate . --confirm --allow-unnotarized-alpha
Confirm the installed integration at any time:
hsum --version
hsum integration status codex --json
Build from source instead
git clone https://github.com/burkan2/hSUM.git
cd hSUM
cargo build --locked --release
This requires Rust 1.91.0, pinned in
rust-toolchain.toml. The binary lands at
target/release/hsum.
2. Initialize an index manually (optional)
The installer already activates and indexes the selected repository. For a
manual or non-Codex setup, run init from inside the repository you want
indexed. hSUM selects the enclosing Git root by default.
hsum init .
Real output:
hSUM index initialized.
Root: /path/to/repo
Index: repo
Project: default
Data: ~/.local/share/hsum/indexes/repo/index.sqlite
Binding: 495d788b-897c-46b6-86c2-5d28d80b3d42
Eligible files: 2
Eligible bytes: 194
Skipped files: 0
Pointer: not requested
Active documents: 2
Active passages: 2
Lexical search is ready. No model or network was used.
Save that binding UUID. It authorizes MCP access to this project and
is required by hsum mcp --binding.
Preview first
Use hsum init . --dry-run to inspect file selection and corpus estimates
without writing anything.
3. Search
hsum search 'bearer token'
1 repo://src/auth.rs:1-4 [metadata_unchanged]
BM25 #1
/// Validate a bearer token against the session store.
citation: 'hsum://v1/30bf24f0-.../c06745b2-...?rev=a893b630...#bytes=0-152'
stop: unique_exhausted
Each result carries a citation. That string is the durable handle to the passage.
4. Resolve a citation
hsum get 'hsum://v1/30bf24f0-.../c06745b2-...?rev=a893b630...#bytes=0-152'
Citation: hsum://v1/30bf24f0-.../c06745b2-...?rev=a893b630...#bytes=0-152
Source: repo://src/auth.rs
Title: auth.rs
Lines: 1-4
Source hash: not_requested
Content: /// Validate a bearer token against the session store.
Quote the citation in your shell — it contains ? and #,
which most shells will otherwise interpret.
5. Refresh after edits
hSUM has no file watcher in alpha.4. Re-run ingest after changing files:
hsum ingest
Each run commits one atomic generation. Existing citations keep resolving to the revision they pinned.
Upgrading an alpha.1 index
Indexes created by alpha.1 use an older indexing pipeline. If a command reports
PIPELINE_FINGERPRINT, rebuild the trusted index under the current rules:
hsum init --rebuild --dry-run
hsum init --rebuild
The dry run previews the replacement without writing. The rebuild creates a new index and trust binding, then removes the old index. Evidence and citations created by alpha.1 do not survive this replacement.
Alpha.2 and alpha.3 indexes do not need a rebuild for alpha.4. Existing citations continue to resolve; restart any in-flight MCP pagination after replacing the binary.
Next
- Connect an agent so your assistant can query this index
- Concepts for how generations and citations work
- CLI reference for every flag