arborist/docs/_source
russell@unturf.com 06e6c7a918
docs: 3 concepts diagrams + Python-library cookbook recipes
Address Grok's two minor-improvement flags on the docs.

New docs/diagrams/{three-layer-stack,cache-key-8dim,falsification-states}.{dot,svg,png}
embedded into docs/_source/concepts.rst — visual scaffolding for the
3-layer stack, 8-dim cache_key composition, and falsification state
machine (previously prose+tables only).

docs/_source/cookbook.rst gains a "Use arborist as a Python library"
section: open_store + ingest_documents, custom Source subclass,
audit-chain walk + verify, Merkle proof round-trip, programmatic
arborist.qa.query() with OpenAICompatibleClient + StubClient swap.

Every Python recipe smoke-tested against a scratch DB before publish.
make docs-api: 0 new warnings. make test: 2557 passed.
2026-05-24 14:12:26 -04:00
..
_ext docs: clear all 39 cold-build Sphinx warnings (truly green) 2026-05-09 18:00:15 -04:00
_static docs: click-to-zoom lightbox for diagrams (scroll-zoom + drag-pan) 2026-05-21 15:26:39 -04:00
api docs: open ticket #000022 (adapter LossReport) + federation doc-discoverability fix 2026-05-07 16:36:13 -04:00
arborist-one-pager.rst docs: fix pager duplicate-object + v8 short title underlines 2026-05-21 18:00:14 -04:00
arborist-two-pager.rst docs: fix pager duplicate-object + v8 short title underlines 2026-05-21 18:00:14 -04:00
bench.rst CLI: arborist v8 score → arborist substrate score 2026-05-10 09:12:34 -04:00
concepts.rst docs: 3 concepts diagrams + Python-library cookbook recipes 2026-05-24 14:12:26 -04:00
conf.py docs: click-to-zoom lightbox for diagrams (scroll-zoom + drag-pan) 2026-05-21 15:26:39 -04:00
cookbook.rst docs: 3 concepts diagrams + Python-library cookbook recipes 2026-05-24 14:12:26 -04:00
diagrams trim Makefile (-6 redundant targets) + better RTD docs 2026-05-04 09:03:03 -04:00
google-l5-rag-10m.rst docs(L5): Reverse RAG framing + no-embeddings + per-1k COGS at $0.33/kWh 2026-05-21 15:49:12 -04:00
index.rst docs: re-org nav so theory doesn't overwhelm practitioners 2026-05-21 17:29:01 -04:00
license.rst aborist/arborist 2026-05-07 09:31:49 -04:00
Makefile docs: add Sphinx API reference generation from docstrings 2026-05-04 07:55:34 -04:00
merkle-agi-dag-v7.rst docs: remediate merkle-agi-dag-v7 RST (499 -> 62 build issues) 2026-05-21 17:58:38 -04:00
merkle-agi-v7w-spatial-temporal.rst docs: clear all 39 cold-build Sphinx warnings (truly green) 2026-05-09 18:00:15 -04:00
merkle-agi-v8-consensus.rst docs: fix pager duplicate-object + v8 short title underlines 2026-05-21 18:00:14 -04:00
pi-star.rst docs: propagate kernel/sub-battery counts to canonical surfaces 2026-05-09 17:27:02 -04:00
quickstart.rst aborist/arborist 2026-05-07 09:31:49 -04:00
README.md aborist/arborist 2026-05-07 09:31:49 -04:00
requirements.txt docs: switch to sphinx-book-theme for unified right-side project TOC 2026-05-04 09:13:14 -04:00
v8-fork-score.rst CLI: arborist v8 score → arborist substrate score 2026-05-10 09:12:34 -04:00

Arborist API Reference (Sphinx)

This directory contains Sphinx configuration to generate API documentation from docstrings.

Build

cd docs/_source
make html           # Generate HTML (output: _build/html/)
make text           # Generate text (output: _build/text/)
make clean          # Remove build artifacts

Or directly:

sphinx-build -b html . _build/html

View

After building, open _build/html/index.html in a browser.

Structure

  • conf.py — Sphinx configuration
  • index.rst — Main table of contents
  • api/ — Module documentation (one .rst per module category)
    • substrate.rst — Core data structures (merkle, document, wikitext)
    • storage.rst — SQLite schema (store, ingest, evict)
    • retrieval.rst — FTS5 search (search, sources, concepts)
    • qa.rst — Q&A pipeline (runner, query, verify, evidence, etc.)
    • distill.rst — Distillation (surface→core)
    • mesh.rst — Federation (gossip-based sync)
    • cli.rst — Command-line interface

What it replaces

This generated documentation replaces docs/modules.md (1200+ lines of static API reference). The docstrings in code are the source of truth; Sphinx extracts them automatically.

Adding new modules

  1. Add a docstring to the module (module-level docstring at the top of module.py)
  2. Add an .rst file in api/ that includes the module with automodule directive
  3. Reference it in index.rst
  4. Rebuild with make html

Theme

Uses furo theme (modern, responsive, search-enabled).

Autodoc directives

The .rst files use Sphinx automodule to extract:

  • Module docstrings
  • Class docstrings + members
  • Function signatures + docstrings
  • Source code links (:viewcode: extension)

See Sphinx autodoc docs.