Skip to content

The agent checklist

This content is not available in your language yet.

A checklist of what a well-built agent enforces. Geometer checks exactly these ten things and tells you, for each, whether it was checked and what it found.

This is a checklist, not a score. Geometer never adds the items up and never gives a grade. For each item it says one of five things, and an item that was not checked is not shown to be fine.

The same ten items appear in the status your coding assistant reads, in the rule suggestions and in the certificate’s Checklist section. They all come from one list, so they cannot disagree.

The five statuses

Status What it says
Checked and held A rule for this item was in use, the situations it needs were tried, and nothing broke.
Checked and broke A rule for this item broke in a situation Geometer tried. The problem is named.
Partly checked Some of it was checked. The item says what is missing.
Not checked yet No rule for it is in use yet, or the situations it needs were not tried yet.
Not checkable yet Geometer cannot check this yet. The item says why.

Why it matters. A lost reply or a retry must not pay, send or create the same thing twice.

How builders do it. Send an idempotency key with every action that changes something outside the agent; the other side then ignores a repeat.

How Geometer checks it. Replays the agent while a reply is lost, a request is lost or an acknowledgement is lost, then checks the at-most-once rule on what actually changed.

Today. Checked today.

Checks what happened before retrying after an unclear outcome

Section titled “Checks what happened before retrying after an unclear outcome”

Why it matters. When a call times out, the action may have happened; retrying blind can do it twice.

How builders do it. After a timeout, look the result up (by the key or the order id) and retry only if nothing happened.

How Geometer checks it. Replays a lost reply or a lost acknowledgement and checks that the agent read the outcome before it acted again.

Today. Checked today.

Why it matters. Large or unusual actions are the ones a person wants to see first.

How builders do it. Put the limit in code, not in the prompt: above it the agent stops and waits for a person’s approval.

How Geometer checks it. Checks the call-bound approval rule on every run of the action; Guard can hold such calls until a person agrees.

Today. Checked today.

Why it matters. A wrong target is the quietest kind of damage: the action works, for the wrong person.

How builders do it. Check the target against the signed-in user or an allowed list before the action, in code.

How Geometer checks it. Checks the allowlist rule on each argument that names a target, such as an email address or an account.

Today. Checked today.

Why it matters. Two different actions, such as a refund and a credit, can each be fine alone and wrong together.

How builders do it. Record the case as settled in one place and check it before any compensating action.

How Geometer checks it. Checks the exclusive-effects rule across the actions you pair, including when a reply is lost.

Today. Checked today. Not covered yet: Only the actions a rule pairs are compared; other ways of settling the same case twice are not.

Why it matters. Amounts, balances and totals have bounds the business depends on.

How builders do it. Enforce bounds in the code and in the database (a check constraint), not only in the prompt.

How Geometer checks it. Checks number-bound and conservation rules on the data after each run, and argument-bound rules on each call.

Today. Checked today. Not covered yet: Limits over a time window, such as per day or per hour, cannot be checked yet.

Why it matters. Some tools should stay out of reach of an agent whatever it is told.

How builders do it. Give the agent only the tools its job needs; block the rest where the call is made.

How Geometer checks it. Checks the forbidden-call rule on every run and reports the first call that breaks it.

Today. Checked today.

Why it matters. Processes die between steps; the agent must pick up without losing or repeating the work.

How builders do it. Write down what you are about to do before you do it, and finish or undo it on restart.

How Geometer checks it. Restarts the agent at its worst moment on each tool a rule governs, then checks those rules again.

Today. Checked today.

Why it matters. When something goes wrong, people need to see what the agent did, in order.

How builders do it. Write one line per action (what, for whom, when, result) to a place the agent cannot edit.

How Geometer checks it. Reads the evidence record Guard and Geometer keep, and whether it matches a copy saved elsewhere.

Today. Checked today. Not covered yet: A matching record shows nothing was changed since your copy; it does not show that every action was recorded.

Lets people decide how much it may do alone

Section titled “Lets people decide how much it may do alone”

Why it matters. Trust is earned in steps: watching first, then asking, then acting within limits.

How builders do it. Let a person set, per tool, whether the agent only watches, asks first or acts alone, and enforce it outside the prompt.

How Geometer checks it. Looks at Guard on each tool and the level it enforces.

Today. Checked today. Not covered yet: Guard stops calls in development and staging today; production is not checked.

  • Ask your coding assistant for the status. It answers with one line, for example “Checked and held: at most once. Not checked yet: crash mid-action.”
  • In a certificate or its draft, the Checklist section lists which items were checked and their result, and which were not.

See Check your agent for running a check, and Issue a certificate for the record.