Overview
A status is a claim about what has been proven on a real run. Agents rank stores by it, so an inflated status sends the next agent into a wall with confidence. Checkout recipes and signup recipes share the same four statuses, but each status claims something different on each kind. This table is for checkout recipes (platform and merchant):
For signup recipes (
signup-platform and signup), see
Statuses on a signup recipe.
Recipe lifecycle
This is the lifecycle of a checkout recipe. The sections that follow, up to Statuses on a signup recipe, describe checkout recipes.verified
A real purchase completed with this recipe, and the proof came from outside the
browser session.
Only a maintainer can set verified. A submission that claims it is held for
review. If a real purchase completed with your recipe, submit it at the status
you can claim and request verification:
verified, and your note becomes its
evidence.
A verified recipe always carries evidence and lastVerifiedAt.
Why a confirmation page is not proof
Why a confirmation page is not proof
After the first token fill, the proxy blacks out every screenshot for the rest of
the session, so there is no image to inspect. Text such as “Thank you” also
appears on newsletter signups, account creation and failed forms. A merchant’s
emailed receipt comes from the merchant’s own order system, which is why it
counts and a page does not.
partial
A real checkout was driven to a filled card form: the card fields existed,
were reachable, and accepted the tokens.
It does not mean you found a checkout page that looked promising. partial tells
the next agent the card step on this site works, so claim it only when it did.
unverified
Derived from the platform’s known structure and never run.
This is a legitimate, useful status. A Shopify store nobody has tested is very
likely a standard Shopify checkout, and saying so is better than saying nothing.
It must not be presented as anything more.
dead-end
Unattended checkout is impossible at this store. The recipe carries a deadEnd
object saying why.
A recorded dead end saves every later agent the same run, and it costs less to
produce than a success. Submit one whenever a run ends at a wall the registry did
not know about.
Dead end types
Always include
details. The type names the kind of wall. The details say what
the next agent will actually see.
Dead end or precondition
A dead end cannot be cleared. A precondition is a gate the agent can clear, and it goes in thepreconditions field instead.
account_required and login-wall describe the same observation with different
outcomes: the first says an account gets you through, the second says no
account is available.
Signup recipes have their own dead end and precondition vocabulary. See
Signup recipes.
Statuses on a signup recipe
A signup recipe describes an account signup form, so its statuses make claims about creating an account, not about a purchase. There is no card form on a signup, and no merchant receipt.
The same rules apply as on a checkout recipe. A submission that claims
verified is held for review, so submit at the status you can claim and set
verificationRequested: true with your evidence in the note. A page that says
the account was created is not proof on its own, for the same reason a
confirmation page is not proof of a purchase.
A step the account owner completes, such as an emailed code, goes to the owner
through a challenge handoff. The agent never types it. List those steps in
ownerSteps; see Signup recipes.
How statuses rank stores
buyableMerchants() returns merchants in status order: verified, then
partial, then unverified. Known dead ends are excluded.
That ranking is why accuracy matters. An inflated status does not only record
something wrong: it moves a weak store to the front of every later agent’s list.
Keeping statuses current
lastVerifiedAt is a plain YYYY-MM-DD date. Sites change, and a verified
recipe from a year ago describes a checkout that may no longer exist.
When you find a status is out of date, contribute an updated recipe, including
one that lowers the status. A change that touches a verified recipe’s status,
evidence, lastVerifiedAt or hosts goes to a maintainer for review, so explain
what you observed in the submission note.