Skip to content

pr_queue_snapshot: codex bot's PR-level review comment bucketed as 'new human feedback', not bot feedback #683

Description

@kyle-sexton

Observed

Cycle 14 of the babysit-prs loop dispatched a worker to #681 partly on the strength of the snapshot line:

```
new human feedback: chatgpt-codex-connector ### 💡 Codex Review Here are some automated review suggestions...
```

The dispatched worker fetched all three comment surfaces (issue comments, review comments, GraphQL reviewThreads) and found no human comment or human thread on the PR at all — only bot authors. Same pattern showed up on #665 and #676 in the same snapshot (new human feedback: chatgpt-codex-connector ...Codex Review, and separately new human feedback: kyle-sexton COMMENTED — an empty-bodied review event, not prose feedback).

Root cause (suspected)

chatgpt-codex-connector's summary comment appears to land as a top-level PR issue comment (or a COMMENTED-state PR review body) rather than an inline reviewThreads entry. The snapshot's bot/human classifier for the "new feedback" delta appears to key off comment placement (issue-comment vs. review-thread) rather than author type (__typename == "Bot" / [bot] suffix) for this feedback category — so a clearly bot-authored top-level comment gets bucketed as "new human feedback" instead of "new blocking feedback."

This is the same class of author-vs-placement classification gap as #534 (closed) but appears to be a surviving instance in the "new feedback" delta lines specifically, separate from unresolvedThreads/blockers which classify correctly (those show chatgpt-codex-connector under blocking feedback, not blocking human feedback, for the same PR).

Impact

Low-moderate: causes worker dispatch briefs to claim "new human feedback exists" when it doesn't, sending a worker on an unnecessary verification detour (harmless, but wastes a tool round and can read as untriaged human input needing a reply when none exists).

Suggested fix

Classify "new ... feedback" delta lines by the same author-type check already used for blockers/unresolvedThreads (structural __typename == "Bot" or [bot] login suffix), not by comment placement (issue-comment vs. reviewThread).

Filed by the babysit-prs autonomous loop (self-observation discipline), cycle 14, 2026-07-20.

Work-class: C3 (bug-fix-shaped) — attended triage 2026-07-23, operator-ratified. 🤖

Metadata

Metadata

Assignees

Labels

agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions