A claims block tells Grove which of a project's outcomes your pull request delivers. Your product lead then sees the work next to each outcome, while you build. When the pull request merges, Grove checks each outcome in the code.
Add a claims block
Put this in your pull request's description:
<!-- grove:claims v1 -->
project: P-003
- completes: "Move a visit myself"
- advances: "See the change on my schedule" — schedule view only
<!-- /grove:claims -->
Or ask your coding agent: "Open a PR for this work, and declare which outcomes it delivers so it shows up in Grove." When your agent picks up a project, Grove prints a template to fill in.
The block doesn't show in the rendered description, because it's inside an HTML comment.
The rules
Start and end with the two comment lines, exactly as shown.
project:names the project. Each claim below it belongs to that project, until the nextproject:line.completesmeans the outcome works end to end after this pull request.advancesmeans the pull request moves the outcome forward, but doesn't finish it.Quote the outcome's short name exactly: the bold words in the plan, such as Move a visit myself. Leave out the sentence after it, and the final period.
Add a note after the quote if it helps, with a dash:
— schedule view only.
An outcome you don't name isn't claimed.
More than one project
Add a project: line for each project, with its claims below it:
<!-- grove:claims v1 -->
project: P-003
- completes: "Move a visit myself"
project: P-001
- advances: "Cancel a visit myself"
<!-- /grove:claims -->
A project: line also links the pull request to that project. See Link a pull request to a project.
Change your claims
Grove reads only the last claims block in the description. To change your claims, edit the block, or add a corrected block below it. Grove reads it again the next time the pull request changes.
What your product lead sees
While the pull request is open: each outcome you claim shows Building.
After it merges: Grove reads the code and decides each outcome's tag. Your claim alone never marks an outcome done. See How Grove checks what shipped.
If a quote doesn't match
Grove doesn't fix a quote that's close but wrong. The pull request then shows on the project's Scope under Pull requests that couldn't be matched, with a note that it named an outcome the project doesn't have.
Copy the short name from grove project view, then edit the block.
