A merged pull request means code changed. It doesn't mean users can do what you planned. Something can be missing, half done, or different from what you decided.
Three voices, one decision
When work ships, three things can say it's done:
The builder says which outcomes their pull request completes.
Grove reads the merged code, and says whether it finds each outcome in it.
The product lead tries the work.
Only the third one marks an outcome done. The builder's word and Grove's read are signals. They tell the product lead where to look. They don't settle anything.
Why a person checks
Grove reads code. It doesn't use your product. Code can look right and still not work for users. Only a person who tries it can say that it does what you decided.
How Grove does this
Each outcome gets a tag that says what the evidence shows:
Ready for review: Grove found the outcome in the merged code. Try it.
Needs you: the builder says it's done, but Grove couldn't find it. You decide.
Done: a person ticked it. This overrides every other tag.
Grove never ticks an outcome, and never sets a project to Built. A person does both.
