Skip to content

docs(governance): give the PR template a truthful earlier-head state for Greptile #449

Description

@bioedca

Maintenance kind

governance

Work requested

.github/pull_request_template.md offers the Greptile line exactly three states:

  • Greptile: reviewed the final head — quote its verdict, not only the spend (…) | skipped — no
    budget this month | skipped (say why).

None of them is true in a case the lane reaches routinely. Greptile is asked before CodeRabbit,
so when CodeRabbit then finds something and the fix moves the head, Greptile's review sits at an
earlier commit. The author is left choosing between a false "reviewed the final head" claim and a
second Greptile review — and a second review is a real spend, one credit as a standard review and
three as a TREX one, against a 50-credit monthly seat shared across three repositories
(AGENTS.md §Review). The template should not be able to price a re-review as the cost of an honest
checkbox.

The rest of the template already resolves this correctly for the providers it was recently reworked
for: the CodeRabbit line records its reviews "at whatever heads they read", and the
Review complete checklist item asks for "a quoted verdict at the head it read". Greptile is the
one provider line still demanding the final head unconditionally.

Codex raised it as a P2 on #441 (.github/pull_request_template.md:62, pointing at the line-38
mismatch). It was deferred there rather than fixed: it is a pre-existing gap about a provider that
PR does not touch, and fixing it inside a PR about the CodeRabbit close would have been scope breach.

Worth checking while in there: CONTRIBUTING.md and docs/PRD.md §12 describe the Greptile leg too,
and should say the same thing as whatever the template ends up saying.

Acceptance criteria

  • The template's Greptile line offers a truthful state for a review that read an earlier head,
    naming the head it read, in the same shape the CodeRabbit line already uses.
  • The state makes clear that an earlier-head Greptile result still satisfies its optional leg
    and does not oblige a second review — the credit cost is the reason, and it is stated.
  • CONTRIBUTING.md and docs/PRD.md §12 agree with the template on this point; no file states
    a rule the others contradict.
  • tests/test_agent_contract_is_runnable.py still passes, and any guard that reads the template
    is updated deliberately rather than incidentally.

Scope and non-goals

In scope: the Greptile evidence states in .github/pull_request_template.md and the matching
sentences in CONTRIBUTING.md and docs/PRD.md §12.

Out of scope: changing when Greptile is asked, its position in the lane, the two-completed-reviews
ceiling, the credit accounting, or anything about the CodeRabbit close path settled in ADR-0065.

Size estimate

XS — up to 50 added lines

Risk level

standard — the lane: Codex on the draft, then CodeRabbit

Does this need an architecture decision record?

no

Dependencies / blockers

#441 — it reworks the surrounding lines of the same template, so this should land after it to avoid
a needless conflict.

Execution autonomy

agent-can-do-alone

Related work / file overlap

#441 (where the finding was raised and deferred). Files:
.github/pull_request_template.md, CONTRIBUTING.md, docs/PRD.md.

Target area

CI / repository governance

Milestone

none / cross-cutting

Required safety attestations

  • I searched existing issues and this is not a duplicate.
  • I am not reporting a vulnerability publicly; security reports use the private advisory flow.
  • I included no secrets or private, raw, unlicensed, user, or lab data.

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions