Kontrua runs two lanes over your repository, and they are not the same thing. The verdict says how much of what your documentation claims is still true. It is mechanical, free and unlimited, and it runs on connect, on push and on every pull request. The correction rewrites what stopped being true. It is one metered run, and it only starts when you approve a pull request, when a schedule fires, when your CI calls the API trigger, or when you click Run now.
The verdict lane (free)
Event received
Connecting a repository audits it straight away. After that, Kontrua re-audits when GitHub reports a push to your default branch, and it audits every pull request when it is opened, reopened or gets a new head. On GitLab the same verdict runs on merge request open, reopen and every new head.
Claims resolved against the code
Kontrua reads the context files the repository already has - CLAUDE.md, AGENTS.md, GEMINI.md, CONTRIBUTING.md, README.md, .cursorrules, plus the documents it scans under docs/, .cursor/rules/ and .github/ - and checks supported commands and paths they state in a code span against the file tree at that commit. Each claim comes back verified, broken or unverifiable. Planning and dated documents (plans, RFCs, ADRs, roadmaps, session records) are left out of scope and reported as such rather than judged. No model takes part in this: the verdict is a deterministic, bounded read.
Verdict published
On a pull request, Kontrua posts a kontrua/context commit status carrying the whole verdict in one line, and keeps exactly one comment per PR, updated in place. The comment appears when this PR breaks or fixes a claim; a PR that changes nothing gets the status and silence. The repository dashboard keeps the running number.
The correction lane (metered)
Trigger
A pull request or merge request approved on your watch branch, a schedule you configured, a call your CI makes to the API trigger, or the "Run now" button. Those four are the only things that start a run.
Run created
A DocRun record is created atomically with a quota check. If your monthly allowance is already spent, the run is queued and retried when space opens up, and the pull request gets a passing status saying so rather than a red one.
Artifacts regenerated, your files corrected
The artifacts Kontrua owns are regenerated from the code: AGENTS.md and conventions, the codemap, the architecture doc and the changelog when you enable them, and the README only when the repository does not have one yet. Each claim is proven against the commit before it is written, and what cannot be proven is withheld and listed in the pull request. Architecture facts are extracted deterministically, with no LLM. In the files you wrote, Kontrua changes only the false lines: each correction has to name a real successor found in the tree, and the edited line has to pass verification again before it is written. A line that fails the gate is reported as left as is, with the reason. Deleting a line is off by default.
Delivered for review
When the run came from an approval, the changes are committed into the pull request that caused them, so you review them next to the code change that broke the claim. Otherwise Kontrua opens a pull request from its own branch. It never writes to your default branch and never merges.
The CLI runs the correction lane only, and locally: it reads the git diff and your .kontrua.yml from the working tree and calls the Anthropic API with your own key. The verdict lane runs on the server, on repositories you connected.
Ready to prove your context is true?
Connect your first repository and Kontrua tells you how much of what your docs claim is still true, before it writes anything.