Files
ai-resume/content/ai/ai-systems.md
Documenter 286aa12bb0 site: cut the template's own labels out of the pages
Point 7 of the page-wording review. The pages no longer show their data
structure as headings, and they no longer explain their own conventions.

- Level 1 is one screen: claim, status badge, three figures, the technology
  row, and one sentence carrying one link. Measured in headless Chrome at
  1440x900: 1404-1845 px tall before, exactly 900 px (no scroll) after, on
  all six area pages.
- DocPage: no kicker line, no visible level label, no "Evidence for this
  page" heading or instruction note, no "Drill-downs" list, no
  "Status <word> - sentence" footer. The artefact table starts at level 2,
  under the heading "Artefacts"; the history timeline is level 2 only.
- Landing page: "Start here" link text gone, "How to read this site" panel
  gone, the footer's status-label explainer gone.
- Content, presentation only, no claim softened: the leading H1 that
  duplicated the page title removed from all 41 documents; level 1 bodies
  reduced to the constraint as ordinary prose plus the way in;
  "**Status: ...**" prefixes removed from the artefact stubs; "## Drill-downs"
  and "## Period and confidence" removed from the level 2 pages, with the
  cross-area links moved into the prose.
- The six level 1 claims are now sentences with a subject, and use commas
  instead of middots. Same facts, no new ones.

Not in this commit: the 35 level 2 and 3 claims still use the compact CV
style. That is a voice decision for Sam, not a wording tidy-up.

make validate: 41 documents, 0 violations. go test ./...: pass.

(cherry picked from commit 03009f80fc7815ad7719412e125df9297a6e653f)
2026-10-28 15:55:33 +11:00

6.9 KiB
Raw Permalink Blame History

id, area, level, title, claim, confidence, period, tech, metrics, artefacts, public, last_verified, tags
id area level title claim confidence period tech metrics artefacts public last_verified tags
ai-systems ai 2 Agent systems that are operated rather than demonstrated Maintains sixteen or more production AI pipelines — agent harnesses · prompt-analysis routing across six providers · retrieval filtered by metadata before it searches · and a guarded voice front-end. running 2020–
LangGraph
Prefect
n8n
Paperclip
Qdrant
OmniRoute
Whisper
Piper
MiniMax
TUIOS
label value
pipelines maintained 16
label value
model providers behind one gateway 6
label value
audio endpoints for spoken output 8
label value
hosts under standardised agent operations 4
type label url
doc House AI hub — service topology content/ai/l3/ai-hub-architecture.md
type label url
doc Model routing and cost control content/ai/l3/ai-omniroute-routing.md
type label url
doc Paperclip and n8n pipelines in production content/ai/l3/ai-paperclip-pipelines.md
type label url
doc Retrieval corpus and query graph content/ai/l3/ai-rag-corpus.md
type label url
doc Voice pipeline — speech in and speech out content/ai/l3/ai-voice-pipeline.md
type label url
doc Guardrails — hooks in the model path content/ai/l3/ai-guardrails.md
type label url
doc Memory in two layers content/ai/l3/ai-memory-layers.md
true 2026-10-26
ai
agents
routing
retrieval
voice
guardrails

Capability statement. This is a working estate, not a prototype: more than sixteen pipelines in production, six providers behind a single gateway, retrieval that filters on metadata before it searches, and a voice front-end used daily by people who did not build it.

What is actually run

Routing. Every model call goes through one gateway — OmniRoute. Six providers sit behind it: DeepSeek, MiniMax, OpenRouter, OpenCode-Go, Gemini and OpenAI. Requests are classified before they are sent, so the cheapest model that can do the job gets the job. No project in the estate calls a provider directly; that is a rule, not a preference.

Pipelines. Ten or more are maintained on n8n, Prefect and LangGraph — email scanners, school-portal scanners, calendar scanners, project agents — plus six Paperclip pipelines that run work through a bench of narrow specialist agents behind human approval gates. The estate is registered in a dashboard built to keep track of it.

Harnesses. JEV is a custom harness with its own routing, tool set and memory rather than a wrapper around a vendor SDK. Work is executed as sequences of narrow agents instead of one large prompt; capability is loaded per task through a skill-selection step, so the agent gets what this job needs and not an enormous system prompt.

Memory. Two deliberate layers. Engram keeps what should persist — curated summaries, decisions, prompts and session handoffs in local SQLite, integrated with JEV for fast compaction. Headroom keeps what should not persist out of the window, stripping and compressing prompt context, tool output and logs before they reach the model. Storage and token control are separate problems and are solved separately.

Retrieval. ChromaDB first, then replaced with Qdrant for payload-filtered retrieval and a smaller footprint. LangGraph query graphs on top; Prefect and n8n for ingestion. The corpus is metadata-tagged at ingest, which means retrieval filters before it searches — the difference between a device answer and a work-history answer is a filter, not a better prompt.

Voice. Local Whisper for speech to text with a fallback, Piper for text to speech, MiniMax for a cloned voice with emotion and non-verbal cues. A custom wake word on an ESP32 with LED confirmation. Voice is a system front-end: it controls lighting, music, calendars, shopping, email, SMS and alerts, and it answers through eight Snapcast endpoints with music ducked underneath.

Guardrails. Custom hooks live in the model path and block injection and constrain tool use, built because the house voice channel is shared and unauthenticated and there was no vendor control to borrow. Consequential actions sit behind approval gates, and no model sits in the path of a fast or dangerous command. The public site applies the same reasoning from the other end: the assistant it exposes has no tools at all, so the attack surface is a conversation rather than a shell.

Agent operations. Agent sessions are standardised on TUIOS across four hosts — sessions survive a disconnect, agents report their own state, and approvals land in one inbox. TUIOS is a third-party tool: the contribution is operations and packaging, not authorship. It is pinned at 0.10.1 in a hand-written Nix derivation because nixpkgs lagged at 0.7.0, and its daemon is declared as a systemd user service so the fleet is reproducible rather than hand-installed.

Evidence

Claim Evidence Artefact
Sixteen or more pipelines in production Ten or more on n8n, Prefect and LangGraph plus six on Paperclip Paperclip and n8n pipelines
Six providers behind one gateway DeepSeek, MiniMax, OpenRouter, OpenCode-Go, Gemini, OpenAI Model routing
Retrieval filters before it searches Corpus tagged at ingest; Qdrant payload filters; LangGraph query nodes Corpus and query graph
Spoken output reaches eight endpoints Eight Snapcast clients with music ducking Voice pipeline
Guardrails are code in the path Injection-blocking hooks and constrained tool use Guardrails
Memory is two layers by design Engram for persistence, Headroom for context control Memory layers
Agent operations are standardised TUIOS across four hosts with one approval inbox House AI hub

Trade-offs and limits

  • Local inference was measured, then demoted. The estate started local on Ollama. Hardware constraints made local inference both slower and more expensive than partitioned remote calls, so heavy flows moved remote while sensitive and low-latency work stayed local. That is a documented comparison, not a taste in hardware.
  • The retired stack is in the record. Airflow DAGs were abandoned for RAM, ChromaDB was replaced by Qdrant, and a visual-builder layer was dropped. Each replacement is stated rather than hidden, because the reasoning is the transferable part.
  • Not everything is automated. Parts of the house are automated end to end and parts still need a person to press the button. The estate is described as it is run, not as it was imagined.
  • Cost is bounded by routing, not by hope. Caps and a refusal path exist so a runaway session cannot become a bill; the routing layer keeps the median request on a cheap model.

The period starts at the homelab year in the evidence notes: the AI estate and the homelab have the same origin.