An English-first, citation-grounded research substrate for Buddhist texts. It retrieves original-language passages with provenance and checkable addresses, keeps renderings distinct from source text, and provides deterministic citation checks. A valid quotation does not by itself prove an interpretation or exhaustive corpus coverage.
Foundry, which shared this repository until 2026-09-23, now lives in lorecrafting/foundry. Its pre-split history remains here.
| Reader | Entry point |
|---|---|
| Understand the repository | Documentation index and repository map |
| Learn Pramāṇa from the ground up | Chaptered primer |
| Set up a checkout | Development environment |
| Use research tools or the reader | MCP and reader |
| Contribute with any model provider | AGENTS.md, the shared routing entry point |
mise install
mix deps.get
mix test # needs PostgreSQL + extensions and Rust
elixir bin/check_docs.exs # repository checks; no Mix deps, corpus or provider
docker build -t pramana:local .Database setup is an explicit operation; follow setup. The corpus
(raw/), model weights, virtualenv and local source text are ignored and never committed.
Do not run git clean -fdx: it deletes them.
An Elixir/Phoenix umbrella with a PostgreSQL corpus, CJK Rust NIF, standalone Rust text-reuse scanner and Python inference/training helpers. The MCP surface is read-only; ingestion and other corpus mutations are CLI operations. The reader has search, inventory, survey, passage, work and report-checking screens. See the source-backed architecture, CLI index and testing guide rather than duplicate tool/version counts here.
Source records cover Chinese, Pāli and Tibetan material, but neither corpus nor index
coverage is complete. STATUS.md contains generated figures from the
recorded database snapshot. mix pramana.doctor and the corpus checks report the state
of the database actually connected.
bake_id identifies declared source inputs and release_id the stored renderings and
vectors; see identity and replay. Neither is
an immutable snapshot or a guarantee of identical search replay.
Publish the pipeline, not an assumed right to redistribute every ingested source.
Sources and translations have distinct license metadata. raw/ and live runtime state
are not tracked. A public deployment needs the intended dataset, verified permissions
and the public deployment checks.