$ go install github.com/akashicode/kash/cmd/kash@latest
$ kash init my-expert && cd my-expert
$ cp ~/research/*.pdf data/
$ kash build
✓ Corpus profile measured: fold=latin, 8 ref patterns detected
✓ Chunked 42 documents (1,892 passages with citation breadcrumbs)
✓ Built pure-Go BM25 index (data/lexical.idx)
✓ Extracted 3,451 graph triples with evidential weighting
$ kash serve
🚀 Live at http://localhost:8000 (OpenAI API, MCP, and Web UI)
$ kash verify
Facts: 2202 Fold mode: latin
Traceable to a passage:
both endpoints found 1854 84.2%
one endpoint found 276 12.5%
Not traceable:
passage found neither 72 3.3%
chunk no longer exists 0 0.0%
no chunk recorded 0 0.0%
✓ 96.7% of facts can be shown to a reader in the passage they came from
$ kash profile
• resolution.fold_diacritics = latin
Accented Latin marks: 12,904 in 41/60 docs; no other script detected
• resolution.title_stopwords = 18 derived
"appendix", "revision", "draft" dropped from entity titles
• chunker.ref_patterns = 6 detected + 2 generic
"section" (3,209 hits, seq 0.94); "clause" (840 hits, seq 0.97)
Configuration layer: defaults < data/domain.profile.json < agent.yaml
$ docker build -t my-agent:latest .
[+] Building 2.1s (7/7) FINISHED
=> naming to docker.io/library/my-agent:latest size: 52.4MB
$ docker run -d -p 8000:8000 --env-file .env my-agent:latest
🚀 Agent container running: http://localhost:8000