From 9b82ae8973ba33fb27480b00265fa4cb43b75498 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Sat, 14 Mar 2026 22:04:36 -0500 Subject: [PATCH] feat: add 2-tier Greptile reply system with escalation detection Add reply templates (Tier 1 friendly, Tier 2 firm), explicit escalation detection algorithm, and severity re-ranking guidance to greptile-triage.md. --- review/greptile-triage.md | 86 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/review/greptile-triage.md b/review/greptile-triage.md index b5dbac48..3cb6e8d5 100644 --- a/review/greptile-triage.md +++ b/review/greptile-triage.md @@ -93,6 +93,92 @@ gh api repos/$REPO/issues/$PR_NUMBER/comments \ --- +## Reply Templates + +Use these templates for every Greptile reply. Always include concrete evidence — never post vague replies. + +### Tier 1 (First response) — Friendly, evidence-included + +**For FIXES (user chose to fix the issue):** + +``` +**Fixed** in ``. + +\`\`\`diff +- ++ +\`\`\` + +**Why:** <1-sentence explanation of what was wrong and how the fix addresses it> +``` + +**For ALREADY FIXED (issue addressed in a prior commit on the branch):** + +``` +**Already fixed** in ``. + +**What was done:** <1-2 sentences describing how the existing commit addresses this issue> +``` + +**For FALSE POSITIVES (the comment is incorrect):** + +``` +**Not a bug.** <1 sentence directly stating why this is incorrect> + +**Evidence:** +- +- + +**Suggested re-rank:** This appears to be a `` issue, not a ``. Consider lowering severity. +``` + +### Tier 2 (Greptile re-flags after prior reply) — Firm, overwhelming evidence + +Use Tier 2 when escalation detection (below) identifies a prior GStack reply on the same thread. Include maximum evidence to close the discussion. + +``` +**This has been reviewed and confirmed as [intentional/already-fixed/not-a-bug].** + +\`\`\`diff + +\`\`\` + +**Evidence chain:** +1. +2. +3. + +**Suggested re-rank:** Please recalibrate — this is a `` issue, not ``. [Link to specific file change permalink if helpful] +``` + +--- + +## Escalation Detection + +Before composing a reply, check if a prior GStack reply already exists on this comment thread: + +1. **For line-level comments:** Fetch replies via `gh api repos/$REPO/pulls/$PR_NUMBER/comments/$COMMENT_ID/replies`. Check if any reply body contains GStack markers: `**Fixed**`, `**Not a bug.**`, `**Already fixed**`. + +2. **For top-level comments:** Scan the fetched issue comments for replies posted after the Greptile comment that contain GStack markers. + +3. **If a prior GStack reply exists AND Greptile posted again on the same file+category:** Use Tier 2 (firm) templates. + +4. **If no prior GStack reply exists:** Use Tier 1 (friendly) templates. + +If escalation detection fails (API error, ambiguous thread): default to Tier 1. Never escalate on ambiguity. + +--- + +## Severity Assessment & Re-ranking + +When classifying comments, also assess whether Greptile's implied severity matches reality: + +- If Greptile flags something as a **security/correctness/race-condition** issue but it's actually a **style/performance** nit: include `**Suggested re-rank:**` in the reply requesting the category be corrected. +- If Greptile flags a low-severity style issue as if it were critical: push back in the reply. +- Always be specific about why the re-ranking is warranted — cite code and line numbers, not opinions. + +--- + ## History File Writes Before writing, ensure both directories exist: