Agents write most of the code. None of it ships until someone sits in the merge seat and says yes — a gate enforces that, and the model cannot talk its way past it.
It reads Arabic, Persian, Hebrew and English media across a conflict theatre into actors, events and relationships — then tests that picture against measured behaviour: strait transits, airspace density, economic indicators.
Text is what parties assert. Movement and money are what they do.
Every claim traces to its source. First theatre: Iran and the Gulf.
Turns a corpus of academic books into original comparative-historical analysis. Every claim is marked for what kind of claim it is, points at the passages that ground it, and carries a disclosed confidence band. Chunking is deterministic and model-free, inspectable before any spend, and the release gates sit outside the model's control.
Turns structured and unstructured documents into governed Neo4j knowledge graphs for investigative work, so a finding can be defended line by line rather than asserted.
The companion workbench. Builds and interrogates those graphs to surface conflict-of-interest patterns, financial flows and cross-border dynamics for researchers and journalists.
A Claude Code plugin: fifteen skills across five agent roles, governed by five gate scripts. It automates sprint planning, triage, building and review, and hard-blocks git merge. Written up in Built an AI Software Shop for One Person. The Hard Part Was the Refusals.
Also built: SocioRAG and SpecClass — socially-grounded retrieval and document classification.
Machine output is only usable if you can check it and refuse it.
The products look like different businesses. They are one argument in four forms.
CIP checks claims against measured behaviour, so a report can be falsified rather than merely attributed. Axial marks every claim with its type, its grounding passages and a disclosed confidence band. Neo4All and G-Lab put documents into governed graphs, so a finding traces back to the document it came from. AEO makes the refusal itself technical: prompt rules are preferences, a hook returning exit code 2 is a constraint, and only a human runs the merge.
Provenance and refusal as the price of using machines on things that matter. That is what MergeSeat builds, whichever product you came for.