chancery¶
Turn research into a verified, shared knowledge substrate — read once, judge explicitly, and let humans and agents retrieve from what you've vetted.
Start in 60 seconds¶
Your agent supplies the judgment. The CLI supplies everything that can be deterministic.
=== "Claude Code / MCP"$ npm install -g @amiable-dev/chancery
$ claude mcp add kb -- kb-mcp
# six tools, byte-identical to the CLI: kb_search · kb_read · kb_propose …
> "Ingest this post to staging and assess it against our rubric."
# the generated skills already taught your agent the loop
$ kb ingest https://example.com/article
# → staging/<slug>.md, source hashed
$ kb assess staging/<slug>.md
# → judgment task for your agent
$ kb promote <slug> --draft d.json --apply
# → concepts/<slug>.md, by construction
$ kb query "what do we know about X?"
# grounded — uncited answers rejected
# .github/workflows/kb-verify.yml — the contract, before every commit
$ kb verify
480+ files · schema / links / index / cards · ~1s
# no API keys in the gate · no network · the exit code is the contract
See it gate¶
verify doesn't hand you prose to parse. Evidence drift is caught mechanically — which claims, not just which links. The transcript below is real captured output: the gate on this repository, then genuine drift against a source whose content changes every fetch (capture harness).
Two phases, one gate
kb never calls a model. Walk the loop — judgment arrives from outside, everything else is a lookup table.
Why chancery
Gated promotion
Sources land in staging, get judged against a rubric — knockout disqualifiers first — and only then become concepts. Nothing is auto-deleted.
Falsifiable citations
Every source is content-hashed at ingest. revalidate reports which claims' evidence drifted; support gives claim-by-claim verdicts against the exact snapshot judged.
A typed concept graph
Explicit relationship clauses ("X supersedes Y because…"), faceted classification, a generated index. The hallucination-free graph auto-extraction can't produce.
Grounded query + context
query returns ranked concepts with their graph edges — answers citing unretrieved concepts are rejected. context compiles the exact bundle a task needs, byte-stable.
A tamper-evident loop
Judgments travel in task envelopes — stale, replayed, or out-of-bounds answers are refused. Applies verify themselves and roll back; audit sweeps for rot.
Your agent already knows it
One procedure source generates skills for Claude Code, Copilot, Windsurf, and Devin — CI-diffed so they can't go stale — plus a local MCP facade.