The shell around the model, not the model.
AJI is a single-operator agent runtime. A deterministic governance kernel of code hooks wraps Claude and drives two planes: an interactive assistant on a laptop, and a headless cron fleet that calls the model as a degradable subroutine. The load-bearing idea is that the probabilistic model is a dependency wrapped in deterministic shells, hooks gate its writes, Python pipelines own its failure path, and a separate verifier audits its output.
System map
five layers + a kernelAn 8-server MCP layer. * the OneNote-OCR server is one I built.
Decisions that carry weight
Rules live in code, not the prompt
Writing-style and safety invariants are enforced by exit-code hooks that hard-block the tool call. Putting them in the kernel means the constraint survives context rot instead of depending on the model remembering a line in its prompt.
The model is a degradable subroutine
The briefing and meeting-brief pipelines shell out to the model for prose, then catch a bad response and fall back to a structural template that still ships. A probabilistic part gets an explicit failure path, so the automation degrades instead of breaking.
The actor is never its own auditor
A separate scheduled check confirms the newsletter send actually produced its artifacts, the issue file, the sent-log row, a clean subscriber count, rather than trusting the send to report its own success. Detective controls for silent failure.
Read the world, act on it separately
External content is untrusted, a scanner flags injection patterns on the ingest tools, and policy forbids a read chaining into a write without a fresh human instruction. Privilege separation applied to a personal assistant.