Reviews
Provenance tiers
A pull request written by an agent and a pull request written by a person are not the same risk, and some organisations want to say so in policy rather than in a code-review culture that erodes.
The classes
Garboard classifies a change as ai_authored, ai_assisted, human, or unknown.
The controls
Six settings, all admin-only and all defaulting to false. Three per class, for the two classes where a machine was positively attributed:
| Setting | Effect |
|---|---|
provenance.ai_authored.escalate_warnings |
Warnings from this class block instead of advising. |
provenance.ai_authored.require_human_approval |
A named human must approve before merge. |
provenance.ai_authored.disable_autofix |
No generated fixes offered on this change. |
provenance.ai_assisted.escalate_warnings |
As above, for assisted changes. |
provenance.ai_assisted.require_human_approval |
|
provenance.ai_assisted.disable_autofix |
Everything is off unless you turn it on. A tool that silently applied a stricter bar to agent-written code would be making a policy decision that belongs to you.
Why there are no settings for human or unknown
Because a control keyed on unknown is a control keyed on our detector’s failure, not on a property of your change. Classification degrades to unknown whenever attribution is not positive — and it should, because guessing would be worse. Letting you escalate on unknown would mean escalating on our uncertainty, which punishes contributors for something they did not do and cannot see.
human has no settings for the mirror reason: it is the baseline everything else is measured against.
Classification degrades honestly
If Garboard cannot positively attribute a change to a machine, it says unknown. It does not guess, and it does not default to ai_authored to be safe. A false accusation of machine authorship is a real cost to a real person.
