overview.md repeated the landing page: the same install-and-ask block and five of six identical links. It was positioning prose, where the docs had no page describing how the system works. Rewrite it as Architecture, following the data through: source adapter, converter, chunker, embedder, transaction; then storage and its versioning; then retrieval, with the 10x rerank fetch and section-bounded expansion; then the two capabilities; then laptop versus ingester. Retitled in the nav and on the landing page, filename kept so existing links resolve. Extras were listed in three places and none was complete. docs/installation.md now carries a table of all fifteen slim extras, what each provides, and which the full package already includes. haiku_rag_slim/README.md names them and links there. The claim that other providers need their own pydantic-ai extra was wrong: haiku.rag-slim defines anthropic, google, groq, mistral, bedrock and vertexai itself. configuration/storage.md opens with the four operational constraints, which were either buried in an S3 section or undocumented: one writer per URI, reader lag by read_consistency_interval_seconds, migrate after a schema-changing upgrade, and the fixed embedding dimension with what ConfigMismatchError means and which rebuild mode resolves it. The one-writer rule is stated as a haiku.rag constraint, which is what it is: the multi-table lock, version snapshot and rollback are process-local, so a second writer can commit inside another's transaction and be reverted by its rollback. storage.md and ingester.md both claimed it was a LanceDB property that corrupts manifests. The S3 deployment section now links to the constraint instead of restating it. Get started reads index, Quickstart, Installation, Architecture. The landing page's list was missing Installation.
134 lines
3.9 KiB
TOML
134 lines
3.9 KiB
TOML
[project]
|
|
site_name = "haiku.rag"
|
|
site_description = "Local-first agentic RAG. Index your documents, then ask questions and get answers cited to page numbers and section headings. Hybrid search, reranking, and multimodal retrieval on embedded LanceDB."
|
|
site_url = "https://ggozad.github.io/haiku.rag/"
|
|
repo_url = "https://github.com/ggozad/haiku.rag"
|
|
repo_name = "ggozad/haiku.rag"
|
|
site_author = "Yiorgis Gozadinos"
|
|
copyright = "Copyright © 2025–2026 Yiorgis Gozadinos"
|
|
extra_css = ["stylesheets/extra.css"]
|
|
|
|
nav = [
|
|
{ "Get started" = [
|
|
"index.md",
|
|
{ Quickstart = "tutorial.md" },
|
|
{ Installation = "installation.md" },
|
|
{ Architecture = "overview.md" },
|
|
] },
|
|
{ "Use it" = [
|
|
{ CLI = "cli.md" },
|
|
{ Chat = "chat.md" },
|
|
] },
|
|
{ Capabilities = [
|
|
"capabilities/index.md",
|
|
{ "RAG capability" = "capabilities/rag.md" },
|
|
{ "Analysis capability" = "capabilities/analysis.md" },
|
|
{ "Evidence compaction" = "capabilities/compaction.md" },
|
|
{ "Citation policy" = "capabilities/policy.md" },
|
|
] },
|
|
{ Configure = [
|
|
"configuration/index.md",
|
|
{ Providers = "configuration/providers.md" },
|
|
{ "Search and question answering" = "configuration/qa.md" },
|
|
{ "Document processing" = "configuration/processing.md" },
|
|
{ Storage = "configuration/storage.md" },
|
|
{ Prompts = "configuration/prompts.md" },
|
|
{ Tuning = "tuning.md" },
|
|
] },
|
|
{ Production = [
|
|
{ Ingester = "ingester.md" },
|
|
{ MCP = "mcp.md" },
|
|
{ "Remote processing" = "remote-processing.md" },
|
|
] },
|
|
{ Develop = [
|
|
{ Python = "python.md" },
|
|
{ "Custom pipelines" = "custom-pipelines.md" },
|
|
{ Toolsets = "tools.md" },
|
|
{ "Web app" = "apps.md" },
|
|
] },
|
|
{ Benchmarks = "benchmarks.md" },
|
|
{ Reference = [
|
|
{ Development = "development.md" },
|
|
{ Changelog = "changelog.md" },
|
|
] },
|
|
]
|
|
|
|
[project.theme]
|
|
custom_dir = "overrides"
|
|
font.code = "JetBrains Mono"
|
|
features = [
|
|
"content.action.view",
|
|
"content.code.annotate",
|
|
"content.code.copy",
|
|
"content.code.select",
|
|
"content.footnote.tooltips",
|
|
"content.tabs.link",
|
|
"content.tooltips",
|
|
"navigation.footer",
|
|
"navigation.indexes",
|
|
"navigation.instant",
|
|
"navigation.instant.prefetch",
|
|
"navigation.instant.progress",
|
|
"navigation.path",
|
|
"navigation.tabs",
|
|
"navigation.tabs.sticky",
|
|
"navigation.top",
|
|
"navigation.tracking",
|
|
"search.highlight",
|
|
"search.share",
|
|
"search.suggest",
|
|
"toc.follow",
|
|
]
|
|
|
|
[project.theme.icon]
|
|
repo = "fontawesome/brands/github-alt"
|
|
|
|
[[project.theme.palette]]
|
|
media = "(prefers-color-scheme)"
|
|
toggle.icon = "material/lightbulb-auto"
|
|
toggle.name = "Switch to light mode"
|
|
|
|
[[project.theme.palette]]
|
|
media = "(prefers-color-scheme: light)"
|
|
scheme = "default"
|
|
primary = "deep purple"
|
|
accent = "amber"
|
|
toggle.icon = "material/lightbulb"
|
|
toggle.name = "Switch to dark mode"
|
|
|
|
[[project.theme.palette]]
|
|
media = "(prefers-color-scheme: dark)"
|
|
scheme = "slate"
|
|
primary = "deep purple"
|
|
accent = "amber"
|
|
toggle.icon = "material/lightbulb-outline"
|
|
toggle.name = "Switch to system preference"
|
|
|
|
[project.markdown_extensions.admonition]
|
|
[project.markdown_extensions.attr_list]
|
|
[project.markdown_extensions."pymdownx.details"]
|
|
[project.markdown_extensions."pymdownx.inlinehilite"]
|
|
|
|
[project.markdown_extensions."pymdownx.highlight"]
|
|
anchor_linenums = true
|
|
line_spans = "__span"
|
|
pygments_lang_class = true
|
|
use_pygments = true
|
|
|
|
[project.markdown_extensions."pymdownx.snippets"]
|
|
base_path = ["."]
|
|
|
|
[project.markdown_extensions."pymdownx.superfences"]
|
|
custom_fences = [
|
|
{ name = "mermaid", class = "mermaid", format = "pymdownx.superfences.fence_code_format" },
|
|
]
|
|
|
|
[[project.extra.social]]
|
|
icon = "fontawesome/brands/github"
|
|
link = "https://github.com/ggozad/haiku.rag"
|
|
name = "haiku.rag on GitHub"
|
|
|
|
[[project.extra.social]]
|
|
icon = "simple/pypi"
|
|
link = "https://pypi.org/project/haiku.rag/"
|
|
name = "haiku.rag on PyPI"
|