Makefile cuts (64 → 58 documented targets): - ingest-cur-parallel, ingest-old-parallel: parallel-shared mode superseded by attached (no WAL contention) - distill-shards: sequential never preferred over parallel variant - bench-qa-quick: bench-qa-smoke covers same use case (~30s vs ~10s) - ingest-grok, ingest-grok-media: single-DB grok rare; -attached is canonical path All cuts land in code that the underlying CLI still exposes — operators who need the dropped variant call '.venv/bin/aborist ingest --shard ...' directly. No behavior loss, just shortcut removal. Docs improvements: - New Concepts page (docs/_source/concepts.rst): orientation on what aborist is, three layers (surface/core/providence), Merkle commitment, 8-dim cache key, audit chain, trichotomy + four-rung ladder, layered verifier, falsification state, sidecars. Embeds module-graph and verifier-ladder SVG diagrams. - New Cookbook page (docs/_source/cookbook.rst): 8 recipes — recrawl, falsify, ingest-self-providence, mixed-corpus query, LLM endpoint override, integrity after bulk ops, bench, retrieval tuning. - Quickstart embeds query-pipeline SVG diagram. - docs/_source/diagrams symlinks to docs/diagrams so Sphinx can include the SVGs (was orphaned, only README referenced them). Better Makefile RTD page (docs/_source/_ext/makefile_targets.py): - Group by workflow phase (Setup → Fetch → Ingest → Distill → Query → Verify → Operations → Tests → Docs → Clean) instead of alphabetical prefix. Tells a new operator the order they'd actually run things. - Phase descriptions added; targets prefixed with 'make ' for copy-paste. - Uncategorized leftover surfaces missing entries in PHASES list. |
||
|---|---|---|
| .. | ||
| _ext | ||
| _static | ||
| api | ||
| concepts.rst | ||
| conf.py | ||
| cookbook.rst | ||
| diagrams | ||
| index.rst | ||
| license.rst | ||
| Makefile | ||
| quickstart.rst | ||
| README.md | ||
| requirements.txt | ||
Aborist 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 configurationindex.rst— Main table of contentsapi/— 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
- Add a docstring to the module (module-level docstring at the top of
module.py) - Add an
.rstfile inapi/that includes the module withautomoduledirective - Reference it in
index.rst - 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.