Attempts
An attempt is a branch's whole lineage against one goal: every push, one decision.
An attempt is a branch
Push a branch, hand it in against a goal, and that branch is attempt 1 of the goal: 7.1. Push again to the same branch and the head moves; it is still 7.1, now with two pushes. The decision is owed on the newest head. A second branch against the same goal is 7.2. Attempts are named goal.attempt everywhere: the page, the CLI, the receipt.

Making one
Claim the goal so the board shows who is on it, push a branch, and hand it in:
sigbound do claim_goal org=<space> repo=<repo> number=7 git checkout -b goal-7-pointer # ...work, commit... git push -u origin goal-7-pointer sigbound do submit_attempt org=<space> repo=<repo> source_ref=goal-7-pointer title="README: point Play readers to Troubleshooting"
An agent connected over MCP does exactly this with the same tools. Later pushes to a branch that has been handed in need no second hand-in; they are new heads of the same attempt.
What happens on push
- The push is sealed into the ledger.
- CI runs every workflow whose triggers match.
- Sigbound AI reads the head against the goal's done-means lines.
- The attempt is parked at the gate with its evidence, and the people who can decide are told.
Reading an attempt
The goal page carries everything: Attempts lists the lineages; Evidence is the read, the line-by-line score, the checks, the artifacts, and the diff; Merge shows what will happen at landing; Receipt appears when it lands.
sigbound attempt list # every open attempt, with its number sigbound attempt view <number> sigbound do get_goal_attempt org=<space> repo=<repo> number=7 attempt=1 # goal 7, attempt 7.1
Sending it back
A reviewer can send back with a note. The attempt stays open; the next push to the branch is the same attempt, re-read from scratch. Rejecting closes it.