Status is derived, not reported
Docs drift and agents trust them. The fix: one generated page, status computed from what exists, not what was last written down.
Read more »LEGION is the system I run Adroit on. It's a repository of instructions, state files, session prompts, skills and scripts that Claude Code sessions work from. When I start a session, the agent reads a generated status panel, the current strategy and my backlog, then executes the item I've pointed it at. It deploys our apps, checks production health, runs WordPress commands on our website, writes the code for our products and keeps its own records.
It holds 64 capability packages across five folders, and it operates Adroit's hosted systems: Content Ops and Sadyr in production, and the company website.
I wanted agents to do real work on real infrastructure without being able to do real damage. I first tried to build it in April 2025 and kept failing, by several different routes, for most of a year. It came together in March 2026 (the first working files are dated 13 March), once I'd learned to work with coding agents and the models had caught up. The idea didn't change in those eleven months. My skill and the tools did.
Four rules, and the important part is where they live.
--yes, --confirm). The rule is in the tool's contract, not just in a policy document, so it holds whether or not the agent remembers it that day.This got tested by accident. A session needed two hosted consoles and found both signed out. It didn't try to sign in. It finished everything else on the list and handed me one line: log in here.
Documentation drift. Agents trust whatever the docs say. So LEGION keeps machine-derivable facts (versions, test counts, git state, whether a file exists) in one generated file, regenerated by a small script, and keeps judgment in files only a person edits. A second run has to print "already in sync". It still missed something: the hand-typed source it quotes said Sadyr had 1,175 tests when the deployed commit had 1,334. The panel only protects what it derives. I caught that one by hand.
A rule it kept breaking. My instructions ban shell heredocs because they kept mangling scripts. In one session the agent used one three times anyway, apologising each time. So it wrote a 40-line hook that checks every shell command before it runs, then tried a heredoc and got blocked. A rule an agent has to remember is a suggestion. A rule the tooling checks is a boundary.
| Figure | What | Source |
|---|---|---|
| 64 | capability packages across five folders | state/repo-state.md inventory, measured 2026-09-25 |
| 2026-03-13 | first working files on disk | file creation times |
| 1,175 vs 1,334 | stale declared Sadyr test count vs the deployed commit | manifest cross-check, 2026-09-21 |
| 3 | heredoc violations in one session before the hook | session record, 2026-09-21 |
All measured. More on the receipts page.