Before a commit lands, Gator checks it. Each finding gets one of three outcomes, and each one stops the commit until it is resolved.

Why Gator checks a commit

Three outcomes

Charter problems stop the commit. Dangerous patterns call for your attention.

The three outcomes of the pre-commit checks On the left, a box labelled "git commit: the hook checks the staged change". Three arrows lead to three boxes on the right. The top box is "Fix required: a broken commit draft. The commit stops. Fix it and retry." The middle box is "Pause: a dangerous pattern. The commit pauses until the Architect's decision is recorded." The bottom box, drawn with a dashed border, is "Architect approval: a missing charter update, or a pattern an organization flags. The commit stops. Fix it, or the Architect approves this exact change." git commit the hook checks the change ✗ Fix required — the commit stops A broken commit draft, such as a misspelled change type. Fix it and retry. ⏸ Pause — the commit waits for you A dangerous pattern. The agent asks you; your decision is recorded. ⚑ Architect approval — the commit stops A missing charter update. Update it, or the Architect approves the exact change.
Figure 1 — each finding has exactly one outcome. The symbol and the words name the outcome, so the colour is never the only signal.

When a commit pauses

  1. The agent shows you the findings. It lists every current finding in one question, with the rule, the file and line, and what the pattern means in this change. It ends with: "Reply Acknowledged to keep all of them, or name the findings to fix or remove."
  2. You decide. Fix them, remove them, or keep them. A reply of "Acknowledged" applies only to the findings in that question.
  3. A decision to keep them is recorded. The agent runs gator hook override acknowledge --all-current, or you choose Acknowledged in the Dashboard's Commits view. Either way, Gator writes the decision for every listed finding into the commit draft and names you as the Architect. You do not type keys or bullets. Gator refuses, and writes nothing, if the findings changed. The agent never records a decision on its own.

The best time is before the pattern is written. A good agent tells you when it is about to write or run something dangerous. Then your decision is in the commit draft before the first attempt, and the commit does not pause.

An agent can choose not to ask. It can only go ahead by recording a skip. The commit then carries Gator-Dangerous-Patterns-Unacknowledged, and the Commits view shows ! Unacknowledged, so the choice is always visible.

What lands in Git

In the Dashboard's Commits view, an acknowledgement shows as ✓ Acknowledged and an override as ⚑ Override.

What Gator does not do

Gator helps you notice and decide. It does not replace your security tools.