Skip to main content

Claim outcomes in a pull request

Tell Grove which of a project's outcomes your pull request finishes or moves forward, with a claims block.

Written by Jack Meyers

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 next project: line.

  • completes means the outcome works end to end after this pull request.

  • advances means 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.

Related articles

Did this answer your question?