| name | ai-verify |
| description | Runs the gate and the security lane and ticks each production-ready box beside the command that ticked it, or walks a spec's examples and marks each one against a real command. Trigger for "verify this", "is it ready", "tick the boxes", "does it do what the spec said", "check the acceptance criteria". Not for judging a diff — use /ai-review, which reads a change and this reads a claim. Not for finding a cause — use /ai-debug. It observes and never accepts: incomplete is the answer to every box and every example with no command pasted beside it. Not for deciding a request that falls outside a declared boundary — report CANNOT DECIDE and block, because a decision that cannot classify itself is not a decision this skill can take. |
| license | Apache-2.0 |
| compatibility | needs git; needs the ai-eng CLI on PATH |
| context | fork |
| background | false |
| disable-model-invocation | true |
Say what ran, and what it proved
What it produces
Two things, never mixed. A production-ready table where every ticked box carries the command
that ticked it, and an acceptance table where every example carries its verdict.
Verify — the boxes
- Run the repository's own gate and its security lane — whatever CI runs them is the
gate, not a recipe name. Paste the output. A summary of a gate is not a gate.
- For each of the eight production-ready boxes, write the command that proves it and the
output it gave. A box with no command beside it is
INCOMPLETE, and that is the answer,
not a gap to fill in later.
- A box that does not apply says
not applicable and why in the same line. Assertion 19
reads what sits beside each tick once the spec is shipped — it skips a draft
entirely, which is every spec before it ships, so nothing catches a tick you have not
earned except you.
- Never tick a box on the strength of a run somebody described.
ai-eng spec checkpoint
reads receipts and says which of them is about this code; read its answer, not its age.
Validate — the examples
- Read the spec's
## Examples somebody can check. ai-eng spec show NNN prints how many
Given, When and Then lines it holds and how many name a command with its output, and
prints nothing when there is no such section — which is itself the answer, for sixteen
of the nineteen specs here. The columns a row needs are in
ai-review/references/testing.md — if that reference file is missing, answer
INCOMPLETE rather than inventing the columns.
- Run each example's command. Mark it
PASS when the output matches what the Then says,
FAIL when it does not, and INCOMPLETE when the Then names no command — which is most
of them, and saying so is the point.
- The undecidable example is the one that matters. An example nobody can decide is not a
pass and not a failure; report it as the third thing.
- Do not repair the example. A Then that turned out to be wrong is a finding for
/ai-spec,
and rewriting it here is the reader marking their own paper.
Done when
- Every box carries a command and its output, or
not applicable, or INCOMPLETE.
- Every example carries a verdict, and the undecidable ones are counted separately.
- Nothing was accepted. This reports; a person or a gate decides.
What this is not
Not a gate. just check is the gate and it runs in CI; this reads what it said. Not a
review — judges a diff, and this judges whether a claim about one is true.