Take the pieces.
The parts worth keeping aren't mine to hoard. These are the reusable pieces I've taken out of the machine and given away — each one solved a real problem the machine had, and each one is yours to use, MIT-licensed, no strings.
Shared core for the ailab-* discipline labs: provider seam, cassette replay, and the regression gate primitive.
Inspectable RAG lab: chunk, retrieve, rank behind an honest, saturation-guarded eval gate with a real recorded-model pass. Stdlib-only.
Prompt-engineering lab: zero-shot vs few-shot vs chain-of-thought plus a prompt-injection defense, behind an honest eval gate. Stdlib-only.
Bounded multi-hop QA agent: tools + context + MCP + evals. Fourth ailab-* AI-discipline lab, built on ailab-core.
LLM evals harness: datasets, runners, calibrated LLM-as-judge, pairwise mode, and a regression-gate CLI. Stdlib-only.
Template for Python AI-discipline labs: uv, pytest, ruff, eval-gated CI, secret-scan wall, non-root Docker.
Template for C#/.NET 9 AI lab sidecars: Minimal API, Native AOT, xUnit, health probes, eval-gated CI, secret-scan wall.
MCP server for Google Search Console — search analytics, URL inspection, and sitemap management for AI assistants (Claude Desktop/Code). Real API calls only.
Built because the machine had to publish at a scale no hand could type — it turns a database query into thousands of real, indexable pages.
Render real, static HTML from a Django queryset — schema.org + canonical, one page per genuine record.
Making a page exist isn't the same as getting it found. This is how the machine tells the search engines a new URL is there.
Ping search engines about your new URLs. Django management commands for GSC + IndexNow + Cloudflare Crawler Hints.
Every site the machine ships has to handle consent honestly before it measures anything — these are the drop-ins that do it, with no build step.
Google Consent Mode v2 — dependency-free drop-ins for Next.js, Vite/React, and server-rendered sites. No build step.
The machine acts on its own, but never on the irreversible steps without a human hand — this is the queue where a person says yes or no.
A durable, human-in-the-loop approval queue for agent-initiated actions, as a small Django app.
Publishing at scale invites near-duplicate sludge. This gate catches templated sameness before it ever goes out.
A domain-agnostic gate that catches templated, near-duplicate content before you publish it at scale.
The machine works across many repos and many machines; this narrows the lens to one project's history at a time.
Repo-scoped, cross-machine Claude Code /insights — analyze one project's sessions instead of every local session.
An agent with database access is one bad command away from disaster. This hook stops the destructive one before it runs.
A config-driven Claude Code hook that stops an AI agent from running a destructive command against a production database by accident.
An AI executive team that cannot act: 9 seats read your real numbers, one engine writes one draft brief with today's one action, two dead-man alarms. Zero dependencies. Built for Claude Code.