VALORDB — a sovereign, grounded CLI + Python client over every published Board of Veterans' Appeals decision + Title 38. Statistics are computed by the corpus, never the model.
Project description
VALORDB
Veterans Appeals Library & Outcomes Research — in your terminal.
A sovereign, grounded CLI and Python client over every published Board of Veterans' Appeals (BVA) decision (1992–present, ~1.86 million) wired to the Title 38 statutes and regulations (38 U.S.C. + 38 CFR) that govern them.
pip install valordb
valordb
Why this is different: the model is never the source of a fact
Legal research tools that let an LLM free-text statistics and citations are a liability — the model will confidently invent a grant rate or a regulation that doesn't exist. VALORDB makes that structurally impossible:
- Statistics are computed by the corpus, injected into the prompt as a locked
VERIFIED_FACTSblock, and any number the model emits that isn't traceable to that block is struck after generation. - Citations are verified against the actual Title 38 store — anything that doesn't resolve is flagged, and M21 manual cites outside the mirror are flagged (VALORDB mirrors only part of M21).
- The model's job is reduced to explaining fixed facts. It may not compute, infer, rank, or invent a statistic or a citation.
The grounded analyst runs on your own Ollama — nothing leaves your machine.
Quick start
Interactive (a research workstation)
valordb
██╗ ██╗ █████╗ ██╗ ██████╗ ██████╗ ██████╗ ██████╗
██║ ██║██╔══██╗██║ ██╔═══██╗██╔══██╗██╔══██╗██╔══██╗
╚██╗ ██╔╝██╔══██║██║ ██║ ██║██╔══██╗██║ ██║██╔══██╗
╚════╝ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═════╝
VALORDB CLI — valordb.org
valordb> ask PTSD and sleep apnea claimed together, under Title 38
valordb> conditions sleep apnea
valordb> law usc-38-1110
valordb> upgrade
One-shot / scriptable
valordb ask "overview of Sleep Apnea + PTSD claims" --mode attorney
valordb kpi --json | jq .rates
valordb conditions "sleep apnea"
valordb dimension judge
valordb law cfr-38-3.310
As a Python library
from valordb import VALORDB
db = VALORDB(api_key="vk_firm_…") # or set VALORDB_API_KEY
print(db.kpi()["rates"]) # corpus headline rates
c = db.conditions()
print(c.rate("sleep apnea")) # 0.4171 (any-grant)
print(c.together("PTSD", "sleep apnea")) # real co-occurrence rate + N
print(db.law("usc-38-1110")["heading"]) # a Title 38 section (free)
Commands
| Command | What it does |
|---|---|
ask <q> [--mode veteran|attorney] |
Grounded analyst on your local Ollama — corpus-locked stats, verified cites |
kpi |
Headline outcome rates (any-grant / grant / remand / deny) |
conditions [name] |
Per-condition any-grant + N, AMA-vs-Legacy split, co-occurrence |
dimension <dim> |
Breakdown by judge, regional_office, condition, rep_type, … |
law <id> |
A Title 38 section, verbatim — free, e.g. usc-38-1110, cfr-38-3.310 |
m21 <id> |
An M21 manual section — free (sub-regulatory; partial mirror) |
search <q> |
Search Title 38 + M21 by keyword/citation — free (decision-corpus search is Firm+, coming) |
setup |
Guided local-AI install — offers to install Ollama + pull a tiny model for ask |
config |
Configure the AI engine — Ollama (localhost/LAN + any port), BYOK cloud, or Claude Code CLI (-p) |
info |
Your key: tier + quota |
key [<vk_…>] · login · logout |
Show / set / paste / remove your license key |
upgrade |
Subscribe / upgrade — purchase through the CLI (Firm+ for the API) |
site · help · quit |
Open the site · reference · exit |
Tiers
The Title 38 & M21 law is free to read (here and on valordb.org). The analytics, decision search, grounded AI, and API/CLI are paid:
| Tier | Price | Adds |
|---|---|---|
| Veteran | Free | Read the complete Title 38 + M21 (no key) |
| Professional | $49/mo | The web analytics dashboard + Attorney-grade AI |
| Firm | $149/mo | REST API + this CLI + bulk export + team (5 seats) |
| Enterprise | $499/mo | Full API + white-label + SLA + sovereign on-site appliance |
valordb upgrade runs a Paddle checkout from the terminal and saves your key.
Veterans and non-profits — discounts available; email joseph@resilientmindai.com.
Configuration
Precedence: environment variable → ~/.valordb/config.toml.
| Setting | Env | Config | Default |
|---|---|---|---|
| License key | VALORDB_API_KEY |
[auth] api_key |
— |
| API base | VALORDB_URL |
— | https://valordb.org |
| Ollama host | VALORDB_OLLAMA / OLLAMA_HOST |
[ai] ollama_host |
http://localhost:11434 |
| Ollama model | VALORDB_MODEL |
[ai] model |
first installed |
export VALORDB_API_KEY=vk_firm_…
export VALORDB_OLLAMA=http://192.168.0.92:11434 # a LAN Ollama box works from the CLI
The key is stored at ~/.valordb/config.toml (chmod 600) and never logged.
For agents & automation
The CLI is a thin client over the keyed REST API (/api/v1, Firm+). Anything that
can send an X-API-Key header — including an Ollama tool/agent or an MCP server —
can call the same endpoints directly (JSON in, JSON out). Use --json for machine
output. Endpoints: status, kpi, conditions, kpi/dimension/{dim}, law/{id}.
Sovereignty & privacy
- The grounded
askruns entirely on your Ollama (local or LAN). Your question and the corpus context never leave your machine. - The optional
httpxextra (pip install valordb[httpx]) uses httpx instead of urllib for API calls. The importable SDK only needsrequests.
Legal
Legal information, not legal advice. VALORDB surfaces public decisions, statutes, and regulations and how the Board has historically ruled. It does not interpret your claim and is not a substitute for an accredited representative or attorney. VA claims carry hard deadlines and one-shot effective-date consequences — verify everything against the controlling law and accredited help (va.gov/ogc).
The BVA corpus is public record. Per-judge and per-office rates reflect docket and case mix, not a controlled measure of adjudicator favorability.
Created by Joseph C. McGinty Jr. · © 2026 ResilientMind AI LLC · valordb.org
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file valordb-0.4.1.tar.gz.
File metadata
- Download URL: valordb-0.4.1.tar.gz
- Upload date:
- Size: 31.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6241e2b5cb10dbe3540f187b19841702e3e7a120f3c74f156754e74d8f2e6307
|
|
| MD5 |
c75c62e42e576241da79bc3d20b84181
|
|
| BLAKE2b-256 |
5d71e83fb91d41196809d42188fb6f7194959b8dbab87312fedb9f2e4a387fbb
|
File details
Details for the file valordb-0.4.1-py3-none-any.whl.
File metadata
- Download URL: valordb-0.4.1-py3-none-any.whl
- Upload date:
- Size: 33.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f5e1bf5e6ba3346ad75bcae842e571b7698e044337b4b9ce4fd03510cd2252b
|
|
| MD5 |
54b568f07113dd8b77d69dc912e86d03
|
|
| BLAKE2b-256 |
c5c5fc2ac867ce0b197cad9917857056f0b188ad771a079df656090c316aabc6
|