Projects

2026 · Solo · agentic systems platform

Governed multi-agent enterprise platform

A production-grade multi-agent platform where LLM agents answer questions, query a real database, and propose actions under role-based permissions, human approval gates, and a full audit trail.

The problem

Enterprise workflows can't hand an LLM a database connection and hope for the best. Airlock Agents is a multi-agent platform that answers questions over internal docs, queries a real analytics database, and proposes actions — with role-based permissions, human approval gates, and a full audit trail sitting between every agent and the systems it touches.

Approach & tradeoffs

A supervisor agent in LangGraph routes each request to a specialist — docs_qa, analyst, or actions — but the specialist only exists with the tools its caller's role grants. Every external system sits behind its own MCP server, so agents never hold credentials directly:

The datasets are real, not synthetic: an 8-page slice of the public GitLab Handbook for docs_qa, and 541,909 real UK retail transactions (UCI Online Retail, cancellations and guest checkouts included) for analyst. Eval ground truths are computed by SQL against the loaded data, not hand-typed.

Results

Offline eval gate on qwen3:8b (RTX 2070 8 GB) — passed:

| Suite | Metric | Score | Threshold | |---|---|---|---| | docs_qa | correct source cited | 0.86 | ≥ 0.80 | | docs_qa | faithfulness (LLM judge) | 0.94 | ≥ 0.75 | | analyst | figure matches SQL ground truth over 541k rows | 1.00 | ≥ 0.70 | | routing | supervisor picked the right specialist | 0.92 | ≥ 0.85 | | actions | critical tool correctly interrupted for approval | 1.00 | = 1.00 |

The gate isn't decorative — it caught the supervisor→subagent handoff hallucinating ticket confirmations on a small model, and an analyst run answering a 2024 question with all-time figures.

What I'd flag

The eval sets are small (4–14 cases per agent) and judged by a same-family local model, so treat the scores as a regression gate, not a benchmark claim. The next real step is a load-tested vLLM serving path for multi-GPU deployment — Ollama is fine for one resident model, not for concurrent load.