From 0aada29a8ed8ee8d50929fea9d1ef15a38b6ced2 Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Thu, 14 May 2026 09:48:50 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20arborist-one-pager=20+=20arborist-two-p?= =?UTF-8?q?ager=20=E2=80=94=20Dav1d/fox-signoff=20summaries=20with=20lette?= =?UTF-8?q?rhead,=20license,=20and=202=20strategic=20appendix=20diagrams?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1-pager (docs/_source/arborist-one-pager.rst, 1 page) for AI-literate readers: the trichotomy, the 8-dim cache key, CTI synthetic-elision-impossible, soft-channel separation, real-traffic bench numbers (mis-cite 100% @ 0% FP, warrant 92/92, quote 0.54 STRICT-rate). 2-pager (docs/_source/arborist-two-pager.rst, 3 pages = 2 body + 1 appendix) for technical reviewers: letterhead, Permacomputer Preamble license box, six numbered sections, plus appendix figures (pager-arch-stack 3-layer architecture, pager-verifier-flow question→pointer→verifier→trichotomy). Both pages live under docs/_source/ so the same RST renders into the Sphinx readthedocs site (toctree caption "Summary pages" added to docs/_source/index.rst) AND into standalone PDFs via rst2pdf (docs/pager.style, lazy install into .venv). Makefile targets: docs-one-pager, docs-two-pager, docs-pagers, docs-pagers-clean. Diagrams render through the existing DOT pipeline. --- Makefile | 31 ++++ docs/_source/arborist-one-pager.rst | 64 ++++++++ docs/_source/arborist-two-pager.rst | 211 ++++++++++++++++++++++++++ docs/_source/index.rst | 7 + docs/diagrams/pager-arch-stack.dot | 23 +++ docs/diagrams/pager-arch-stack.png | Bin 0 -> 45358 bytes docs/diagrams/pager-arch-stack.svg | 80 ++++++++++ docs/diagrams/pager-verifier-flow.dot | 36 +++++ docs/diagrams/pager-verifier-flow.png | Bin 0 -> 69224 bytes docs/diagrams/pager-verifier-flow.svg | 152 +++++++++++++++++++ docs/pager.style | 60 ++++++++ 11 files changed, 664 insertions(+) create mode 100644 docs/_source/arborist-one-pager.rst create mode 100644 docs/_source/arborist-two-pager.rst create mode 100644 docs/diagrams/pager-arch-stack.dot create mode 100644 docs/diagrams/pager-arch-stack.png create mode 100644 docs/diagrams/pager-arch-stack.svg create mode 100644 docs/diagrams/pager-verifier-flow.dot create mode 100644 docs/diagrams/pager-verifier-flow.png create mode 100644 docs/diagrams/pager-verifier-flow.svg create mode 100644 docs/pager.style diff --git a/Makefile b/Makefile index 6379082..69dbf8f 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,7 @@ SEARCH_Q ?= computer ingest-xml-attached ingest-abstract \ ingest-self ingest-self-providence ingest-git ingest-hg \ verify search stats test test-ci test-live docs docs-api docs-api-clean \ + docs-one-pager docs-two-pager docs-pagers docs-pagers-clean \ chain-check chain-check-shards \ falsify burn burn-kindergarten inspect bootstrap-crawler test-crawler crawl-ingest \ recrawl-check bench-qa bench-qa-smoke bench-qa-progressive-and \ @@ -1120,6 +1121,36 @@ docs-api: ## generate Sphinx API reference from docstrings (output: docs/_source docs-api-clean: ## remove Sphinx build artifacts rm -rf docs/_source/_build/ +# 1-pager / 2-pager standalone PDFs. Source RST lives at +# docs/_source/arborist-*-pager.rst (so the same files render on the +# Sphinx site AND as standalone PDFs). Style sheet at docs/pager.style. +# rst2pdf is installed lazily into $(VENV) on first build. +RST2PDF := $(VENV)/bin/rst2pdf +DOCS_BUILD := docs/_build +PAGER_STYLE := docs/pager.style +PAGER_FIGURES := docs/diagrams/pager-arch-stack.png docs/diagrams/pager-verifier-flow.png + +$(RST2PDF): $(VENV)/bin/activate + $(PIP) install rst2pdf + +$(DOCS_BUILD): + mkdir -p $(DOCS_BUILD) + +$(DOCS_BUILD)/arborist-one-pager.pdf: docs/_source/arborist-one-pager.rst $(PAGER_STYLE) | $(DOCS_BUILD) $(RST2PDF) + $(RST2PDF) docs/_source/arborist-one-pager.rst -s $(PAGER_STYLE) -o $@ + +$(DOCS_BUILD)/arborist-two-pager.pdf: docs/_source/arborist-two-pager.rst $(PAGER_STYLE) $(PAGER_FIGURES) | $(DOCS_BUILD) $(RST2PDF) + $(RST2PDF) docs/_source/arborist-two-pager.rst -s $(PAGER_STYLE) -o $@ + +docs-one-pager: $(DOCS_BUILD)/arborist-one-pager.pdf ## render docs/_build/arborist-one-pager.pdf + +docs-two-pager: $(DOCS_BUILD)/arborist-two-pager.pdf ## render docs/_build/arborist-two-pager.pdf + +docs-pagers: docs-one-pager docs-two-pager ## render both 1-pager and 2-pager PDFs + +docs-pagers-clean: ## remove generated pager PDFs + rm -f $(DOCS_BUILD)/arborist-one-pager.pdf $(DOCS_BUILD)/arborist-two-pager.pdf + # Reproducible micro-benchmark over a fixed slice of cur. Lets you compare # ETL throughput across configs and catches regressions on optimization # work. Override BENCH_DOCS=N (default 5000). diff --git a/docs/_source/arborist-one-pager.rst b/docs/_source/arborist-one-pager.rst new file mode 100644 index 0000000..d26cc34 --- /dev/null +++ b/docs/_source/arborist-one-pager.rst @@ -0,0 +1,64 @@ +arborist — a Q&A store with cryptographically verified answers +================================================================ + +.. class:: center + +*one-page summary · 2026-05-14 · AGPL-3.0-only · permacomputer.com* + +---- + +Most retrieval-augmented systems hand a language model some context, ask +for an answer, and ship whatever comes back. There is no +machine-checkable claim about what the answer actually quotes from its +source. **arborist inverts that.** Every answer is verified against its +source *after* generation by a deterministic, lexical check that produces +three labels — **STRICT** (every claim verifies), **HYBRID** (mixed), +**UNGROUNDED** (none). The verifier is binary. It does not negotiate. +Answers and labels are written to a content-addressed SQLite cache, every +state change appends a SHA-256 audit-chain row, and a single tampered +record breaks the chain. + +**Three Merkle-bound layers.** Surface (ingested documents — Wikipedia, +HTML, TeX, git, claim-packs), Core (distilled documents bound to their +surfaces by per-chunk inclusion proofs), Providence cache (verified Q&A +keyed on an 8-dimensional invariant that folds in the source-corpus root, +the question hash, the model identity, the governance policy, the schema +version, and three normalization-version dimensions). Bumping any one of +the eight dimensions invalidates prior records on lookup. Cores never +evict. + +**Synthetic-elision-by-construction-impossible.** In claim-lattice-pointer +mode, the model never types the quote string. The runtime hands it +tokens — ``[E1]``, ``[E2]`` — and interpolates the literal source span at +render time. The model proposes pointer-tagged clauses, the runtime +composes the answer. A class of hallucinations (the frankenquote, the +recombined-token claim) becomes impossible because the model cannot type +a string it never sees. + +**Soft signals never enter the proof path.** Deflection, coherence, +title-relevance, NLI vetoes, cross-encoder rerankers — all live as +advisory sidecars or as demote-only governance signals folded into the +cache key. They influence what the substrate caches; they do not +influence what it certifies. The hard channel (SHA-256 commitments, +audit chain, proof-of-inclusion) and the soft channel (embeddings, +similarity scores, lexical heuristics) evolve on independent timelines. + +**What it measures on real traffic.** + +- **100% mis-cite catch at 0% real-STRICT false positive** on the + 808-cell pooled bench-qa run (relevance-reranker veto, + BAAI/bge-reranker-large, n=20 mis-cite fixtures; ticket #000052 §3.2). +- **92 / 92 (100%) warrant-chain coverage** on the claim-pack corpus — + 18 public-domain or open-licensed textbook substrates plus curated + alias chains (ticket #000031). +- **0.54 STRICT-rate** on Hermes-3-Llama-3.1-8B quote mode (n=3 × 71 + questions, real Wikipedia haystack); lattice modes carry 99% + directive-coverage on the seven-point program. + +**What it runs on.** Python 3.12, SQLite (FTS5 + JSON), optional +cross-encoder rerankers for the soft channel. No GPU required for the +proof path. AGPL-3.0-only. Reference inference endpoint: +`hermes.ai.unturf.com `_. Source: +`git.unturf.com/engineering/unturf/arborist `_. +Full whitepaper: `unfirehose.com/merkle-providence-reverse-rag.html +`_. diff --git a/docs/_source/arborist-two-pager.rst b/docs/_source/arborist-two-pager.rst new file mode 100644 index 0000000..0107585 --- /dev/null +++ b/docs/_source/arborist-two-pager.rst @@ -0,0 +1,211 @@ +.. This is free software for the public good of a permacomputer hosted at +.. permacomputer.com, an always-on computer by the people, for the people. +.. One which is durable, easy to repair, & distributed like tap water +.. for machine learning intelligence. + +.. class:: center + +**Unturf · permacomputer.com · uncloseai.com · unfirehose.com** + +arborist — Merkle-Providence Reverse RAG, reference implementation +==================================================================== + +.. class:: center + +**License: AGPL-3.0-only** · schema v9.8 · 2026-05-14 +· *Russell Ballestrini * + +---- + +Abstract +-------- + +**arborist** is a content-addressed Q&A store with cryptographically +verified answers, the reference runtime for the *Merkle Providence +Reverse RAG* whitepaper (`unfirehose.com/merkle-providence-reverse-rag.html +`_, +Ballestrini · Wong · Morgan, April 2026). Every cached answer carries a Merkle +proof of source origin and a *binary, lexical, no-LLM-in-the-loop* +faithfulness label. The verifier never asks a model to grade itself. +Soft signals — embeddings, NLI vetoes, similarity rerankers — exist +as sidecars and demote-only governance signals; they never enter the +proof path. The reference inference endpoint is Hermes-3-Llama-3.1-8B +served freely at `hermes.ai.unturf.com `_; +arborist runs against any OpenAI-compatible alternative with a matching +``model_profile_hash``. + +1. The system in one paragraph +------------------------------- + +Three SQLite-backed layers, all Merkle-bound. **Surface** holds ingested +documents (Wikipedia dumps, HTML pages, TeX textbooks, git histories, +claim-packs), chunked, hash-rooted, and FTS5-indexed. **Core** holds +distillations bound to their surfaces by per-chunk inclusion proofs in +``derivations.proof_blob``. **Providence cache** holds verified Q&A +records keyed on an 8-dimensional invariant. Every state-changing +operation appends one row to ``audit_events`` carrying +``event_hash = sha256(prev || canonical(body))``; a single tampered row +breaks the chain. Re-ingest is idempotent (same content → same +``document_root`` → no-op); same URI with different content yields a new +doc plus a ``supersedes`` edge (lossless history). + +2. What makes arborist different +--------------------------------- + +Eleven design rules govern the substrate. The four that matter most for +a reviewer: + +**The verifier stays binary.** Each evidence unit verifies or does not. +No per-unit confidence scores, no fuzzy-match indicators, no soft +labels. Once a soft signal contaminates the chain, every prior +cryptographic claim becomes negotiable. + +**The runtime owns quote text.** In ``claim_lattice_pointer`` mode the +model emits prose with bracketed pointer tags (``[E1]``, ``[E2]``); the +runtime interpolates the literal source span at render time. The model +never types the quote string. *Synthetic-elision-by-construction-impossible* +— a model cannot produce a frankenquote it cannot type. + +**Soft hash never enters the proof path.** Embeddings, TF-IDF scores, +cross-encoder rerankers, NLI judgments shape ranking and retrieval and +inform demote-only governance. They never feed ``cache_key`` , +``document_root``, or ``audit_event_hash``. The hard channel and the +soft channel evolve on independent timelines. + +**Labels name properties, not vibes.** ``POINTER-LINKED``, +``ANCHOR-WARRANTED``, ``EVIDENCE-WARRANTED``, ``UNGROUNDED`` each name a +property the verifier could lexically confirm or could not. There are +no "high confidence" labels. A reviewer reads the label and immediately +knows what was checked. + +3. The 8-dimensional cache key +------------------------------- + +A cache hit returns a previously computed answer with a Merkle proof of +origin; a cache miss triggers fresh inference. The key folds together: + +================================ =================================================== +``source_root`` Merkle root of the corpus the answer is about +``question_hash`` dedup-mode-aware hash of the question (strict | equivalence_class) +``model_profile_hash`` model identity (name + sampling profile) +``conversation_hash`` prior-turn dependency, if any +``governance_policy_hash`` every policy field that alters generation +``schema_version`` ``v9.8.0`` +``canonicalization_version`` ``norm-v1`` +``chunking_version`` ``tok-512-v1`` +================================ =================================================== + +Bumping any one dimension invalidates prior records on lookup — +governance evolves, the corpus does not get rewritten when governance +evolves. Every preflight policy decision is *bound twice*: once into +``governance_policy_hash`` (cache identity) and once into ``run_dag_root`` +via the preflight stage (audit replay). + +4. The layered verifier +------------------------ + +Four strategies are tried in order; first to find evidence classifies. +**quote** (sequential pair-matching, never regex — prevents phantom +inter-pair captures), **span** (verbatim line match), **entity** +(proximity-clustered proper nouns), **paraphrase** (token-coverage, +prose-shaped only). Trichotomy on the schema column: STRICT = every unit +verifies, HYBRID = mixed, UNGROUNDED = none. The renderer maps that +column to a four-rung claim-lattice ladder +(POINTER-LINKED → ANCHOR-WARRANTED → EVIDENCE-WARRANTED; +ENTAILMENT-VERIFIED reserved); programmatic callers see the trichotomy, +human-facing surfaces see the ladder. The ENTAILMENT-VERIFIED rung is +deliberately empty — committing NLI to the proof path would re-introduce +the soft/hard boundary leak the architecture is built to prevent. +Honesty about the ceiling is a feature. + +---- + +5. What we measure on real traffic +----------------------------------- + +The bench is the scoreboard; the live fixtures are the gates. Numbers +that survive the 5pp signal floor on real-shard, real-LLM runs: + +- **Mis-cite catch (claim about X cited to source about Y).** The + ``BAAI/bge-reranker-large`` veto at threshold ``θ ≤ -2.42`` catches + 20/20 (100%) of mis-cite fixtures at strictly 0/808 (0%) real-STRICT + false positive on the pooled bench-qa, with a 1.4-point margin + between the worst mis-cite and the best STRICT (#000052 §3.2). +- **Deflection catch (off-topic answer to an on-topic question).** Same + reranker catches 11/20 (55%) of real-haystack deflection fixtures at + the same 0/808 FP threshold. The cost-pick alternate + (``ms-marco-MiniLM-L-6-v2``, 5× smaller) catches 13/20 (65%) at 0.4% FP. +- **Recombination catch (right tokens, wrong subject).** The NLI veto + (``facebook/bart-large-mnli``, top-k=12, θc=0.999) catches ~48% of + hand-crafted real-haystack recombination fixtures at 0/808 FP; the + ceiling is selector-bound, not entailment-bound (#000049 §7 #27). +- **Warrant-chain coverage.** 92/92 (100%) of the claim-pack corpus + resolves to a warrant chain (18 public-domain or open-licensed + textbook substrates + curated citation aliases + term aliases; + ticket #000031). +- **STRICT-rate, quote mode, real Wikipedia haystack.** 0.54 on + Hermes-3-Llama-3.1-8B (n=3 × 71 questions, sample-shuffled @ c=4; + see ``docs/qa-modes-bench.md``). + +Sample sizes are stated. Synthetic shortcuts are not. The five-point +sweep-wide/sweep-deep discipline ("real-traffic-sized samples or it +didn't happen") lives in ``docs/bench-maxing.md``. + +6. Closed substrate work +------------------------- + +Recent substrate work that is *landed and pinned*: ticket #000005 +(four-rung ladder display layer), #000008 (broad-quantifier preflight +guard with six-level disable hierarchy), #000010 (metacognition +preflight — false-premise, contradiction, stale-risk, out-of-corpus), +#000015 (π* canonical projections — arithmetic, logic-kernel, +algebra-symbolic), #000027 (canonical-projection persistence in +providence cache), #000031 (claim-pack warrant resolver, 100% +coverage), #000049 §3 (NLI veto, partial closure), #000052 §3.1 +(coherence sidecar — circular, vacuous, phrase-component-reuse) and +§3.2 (relevance reranker, viable runtime soft-veto). The synthesis +brief for the independent review thread is +``docs/relevance-and-veto-synthesis-for-dav1d.md``. + +---- + +License — Permacomputer Preamble +--------------------------------- + +:: + + AGPL-3.0-only · NO WARRANTY + + Free software for the public good of a permacomputer at + permacomputer.com — an always-on computer by the people, for + the people. Durable, easy to repair, distributed like tap water + for machine learning intelligence. + + Four values: TRUTH · FREEDOM · HARMONY · LOVE. + + Copyright (C) 2025-2026 TimeHexOn & foxhop & russell@unturf. + Full text: `LICENSE` at the repository root. + +---- + +Appendix A — Three-layer architecture +-------------------------------------- + +.. figure:: diagrams/pager-arch-stack.png + :width: 5.5in + :align: center + + Surface, Core, Providence cache — each layer hash-binds to the next; + every state change appends a row to the audit chain. + +Appendix B — Verifier flow +--------------------------- + +.. figure:: diagrams/pager-verifier-flow.png + :width: 6.5in + :align: center + + Question → retrieval → pointer-tagged context → LLM → binary + verifier → trichotomy label → audit chain & providence cache. The + LLM never types the quote string. + diff --git a/docs/_source/index.rst b/docs/_source/index.rst index 0269956..5d5ddac 100644 --- a/docs/_source/index.rst +++ b/docs/_source/index.rst @@ -5,6 +5,13 @@ Generated from docstrings. Replaces the static modules.md. Contents: +.. toctree:: + :maxdepth: 1 + :caption: Summary pages + + arborist-one-pager + arborist-two-pager + .. toctree:: :maxdepth: 2 :caption: Getting started diff --git a/docs/diagrams/pager-arch-stack.dot b/docs/diagrams/pager-arch-stack.dot new file mode 100644 index 0000000..b28b561 --- /dev/null +++ b/docs/diagrams/pager-arch-stack.dot @@ -0,0 +1,23 @@ +// Compact 3-layer architecture for the 2-pager appendix. +// Render: dot -Tsvg pager-arch-stack.dot -o pager-arch-stack.svg + +digraph arch_stack { + rankdir=BT + ranksep=0.25 + nodesep=0.20 + node [shape=box, style="rounded,filled", fontname="Helvetica", fontsize=11] + edge [fontname="Helvetica", fontsize=9] + bgcolor="white" + + surface [label="SURFACE — ingested documents\nWikipedia · HTML · TeX · git · claim-packs\nchunked → Merkle-rooted → FTS5-indexed", fillcolor="#e9f3ff"] + core [label="CORE — distilled documents\nMerkle-bound to surfaces by per-chunk\ninclusion proofs (derivations.proof_blob)", fillcolor="#dff5e7"] + cache [label="PROVIDENCE CACHE — verified Q&A\n8-dim cache_key · audit_mode label ∈\n{STRICT, HYBRID, UNGROUNDED}", fillcolor="#fff3d6"] + + audit [label="AUDIT CHAIN — every state change\nappends sha256(prev || canonical(body))\nto audit_events (single SQLite file)", fillcolor="#fde7e9", shape=note] + + surface -> core [label="distill", fontsize=9] + core -> cache [label="verify → cache", fontsize=9] + cache -> audit [style=dashed, color="#888888", label="every write", fontsize=9] + core -> audit [style=dashed, color="#888888"] + surface -> audit [style=dashed, color="#888888"] +} diff --git a/docs/diagrams/pager-arch-stack.png b/docs/diagrams/pager-arch-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..12814146fec547a05ad5fe1f732ce987b2f58f30 GIT binary patch literal 45358 zcmZ5{by!x>^7Shrl9B?_ozmSM(p>`5-Q6Mx(j_3>ozjicA>G~G-SBPiy}y6HEj;qP z?}>e8&#YOq_M8w!c}Zl1_XrRO1X)^2Oc?@sbq9V;-avs*%f&X3`%1DYqUjF^d zY%Pd`K!_pIV#2EKsfTH1pD?-cepkz!w2~21XR0c}2!}#Jg%T48=gx{N@GG5^7Mj5| zQ@!gd&xE>$B87rNFwA>H-Flt4lhKE z`erlnwct3yzrT$8{Obsz{DpjdGRuO6h@S?p?)m6BF)%ivV-S#)P(qTuJhHtATg zns#)w&-7Q&@ACUQyo_3j08v!bbUzxlfk04#H#WB76Mjr)ut}?F!A69OX;%GyF!*FG zu7)*KTK4yE#O0NRz`)}r^9Qn=+A=v|dEesn^w3!JMp-Qj3%2bPw-Z9asD+yQx3&xn zhaxdllI7jv;?R%SS!m37yOYwJ_f|@4<x?oB!&P{Lx*~eR>zl$L;vkn=lk&QDh!ClVk_(XjF1ja?Z@_Wpt7wC*p=LKN{kGc%FR{f4 z?iMS~x15|R{fX{g3S)O|kqvci%VTa?d0`jLJB(f8;(lFPs}Xt`jo#9Jv4j%6jXBj$ z2`ORGnVMDQ6 zE9Mzm?YeW~<+L@F>uW60a709Kj8#z-eG3^)=Q>lLh3)yqq*r)!0R1%mct*|OT9=1q zg}^!tmRNaw^!XTU

+gjB(D5EFwF2Z$RWL6UvR+VU9b@io_;6S4^ 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 |brKpn`^CK*qJDbD9 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 + + + + + +arch_stack + + + +surface + +SURFACE — ingested documents +Wikipedia · HTML · TeX · git · claim-packs +chunked → Merkle-rooted → FTS5-indexed + + + +core + +CORE — distilled documents +Merkle-bound to surfaces by per-chunk +inclusion proofs (derivations.proof_blob) + + + +surface->core + + +distill + + + +audit + + + +AUDIT CHAIN — every state change +appends sha256(prev || canonical(body)) +to audit_events (single SQLite file) + + + +surface->audit + + + + + +cache + +PROVIDENCE CACHE — verified Q&A +8-dim cache_key · audit_mode label ∈ +{STRICT, HYBRID, UNGROUNDED} + + + +core->cache + + +verify → cache + + + +core->audit + + + + + +cache->audit + + +every write + + + diff --git a/docs/diagrams/pager-verifier-flow.dot b/docs/diagrams/pager-verifier-flow.dot new file mode 100644 index 0000000..63d8699 --- /dev/null +++ b/docs/diagrams/pager-verifier-flow.dot @@ -0,0 +1,36 @@ +// Compact verifier flow for the 2-pager appendix. +// (Question, source-chunks) → model → (text, pointers) → verifier → label. +// Render: dot -Tsvg pager-verifier-flow.dot -o pager-verifier-flow.svg + +digraph verifier_flow { + rankdir=LR + ranksep=0.35 + nodesep=0.25 + node [shape=box, style="rounded,filled", fontname="Helvetica", fontsize=12] + edge [fontname="Helvetica", fontsize=11] + bgcolor="white" + + question [label="QUESTION", fillcolor="#fff7e6", shape=note] + retrieval [label="retrieval\n(FTS5 + phrase route\n+ rivalry exclusion)", fillcolor="#e9f3ff"] + pointers [label="POINTER MAP\nE1 → span\nE2 → span\n…", fillcolor="#dff5e7", shape=note] + model [label="LLM\nsees: question +\npointer-tagged chunks\nemits: prose with [E1] [E2] tags\n(never types the quote string)", fillcolor="#f0e6ff"] + verifier [label="verifier\n(quote · span · entity\n· paraphrase — binary,\nno LLM call)", fillcolor="#fff3d6"] + + label_strict [label="STRICT\nevery claim verifies", fillcolor="#28a745", fontcolor="white"] + label_hybrid [label="HYBRID\nsome verify, some don't", fillcolor="#ffc107"] + label_ungrounded [label="UNGROUNDED\nnone verify", fillcolor="#dc3545", fontcolor="white"] + + audit [label="audit chain\n+ providence cache\n(8-dim key, governance-aware)", fillcolor="#fde7e9", shape=note] + + question -> retrieval -> pointers + pointers -> model + model -> verifier [label="answer\n+ pointer IDs"] + verifier -> label_strict + verifier -> label_hybrid + verifier -> label_ungrounded + label_strict -> audit [style=dashed, color="#888888"] + label_hybrid -> audit [style=dashed, color="#888888"] + label_ungrounded -> audit [style=dashed, color="#888888"] + + {rank=same; label_strict; label_hybrid; label_ungrounded} +} diff --git a/docs/diagrams/pager-verifier-flow.png b/docs/diagrams/pager-verifier-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..c3f435d55acb5f48cc38c729911438f6a6f758ac GIT binary patch literal 69224 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 + + + + + +verifier_flow + + + +question + + + +QUESTION + + + +retrieval + +retrieval +(FTS5 + phrase route ++ rivalry exclusion) + + + +question->retrieval + + + + + +pointers + + + +POINTER MAP +E1 → span +E2 → span + + + + +retrieval->pointers + + + + + +model + +LLM +sees: question + +pointer-tagged chunks +emits: prose with [E1] [E2] tags +(never types the quote string) + + + +pointers->model + + + + + +verifier + +verifier +(quote · span · entity +· paraphrase — binary, +no LLM call) + + + +model->verifier + + +answer ++ pointer IDs + + + +label_strict + +STRICT +every claim verifies + + + +verifier->label_strict + + + + + +label_hybrid + +HYBRID +some verify, some don't + + + +verifier->label_hybrid + + + + + +label_ungrounded + +UNGROUNDED +none verify + + + +verifier->label_ungrounded + + + + + +audit + + + +audit chain ++ providence cache +(8-dim key, governance-aware) + + + +label_strict->audit + + + + + +label_hybrid->audit + + + + + +label_ungrounded->audit + + + + + diff --git a/docs/pager.style b/docs/pager.style new file mode 100644 index 0000000..2ac7ddc --- /dev/null +++ b/docs/pager.style @@ -0,0 +1,60 @@ +# rst2pdf style sheet for arborist 1-pager and 2-pager. +# Mirrors ~/git/unfirehose-nextjs-logger/whitepaper/whitepaper.style with +# tighter margins, smaller body text, and compact spacing so a dense +# technical summary lands inside a single Letter page (1-pager) or two +# Letter pages + appendix figures (2-pager). + +pageSetup: + size: LETTER + margin-top: 0.55in + margin-bottom: 0.55in + margin-left: 0.65in + margin-right: 0.65in + spacing-header: 4 + spacing-footer: 4 + +styles: + base: + fontSize: 9.5 + leading: 12 + spaceAfter: 4 + bodytext: + parent: base + spaceAfter: 5 + title: + spaceBefore: 0 + spaceAfter: 14 + alignment: TA_CENTER + fontSize: 16 + leading: 19 + heading1: + parent: heading + fontSize: 13 + spaceBefore: 12 + spaceAfter: 6 + leading: 16 + heading2: + parent: heading + fontSize: 11 + spaceBefore: 9 + spaceAfter: 5 + leading: 14 + heading3: + parent: heading + fontSize: 10 + spaceBefore: 8 + spaceAfter: 4 + leading: 13 + code: + fontSize: 8 + leading: 10 + backColor: "#f4f4f4" + field-list: + colWidths: [20%,80%] + bullet-list: + spaceAfter: 6 + figure: + spaceAfter: 6 + spaceBefore: 6 + center: + alignment: TA_CENTER