Skip to content

Re-review acknowledgement assumes a durable review comment already exists #581

Description

@anagnorisis2peripeteia

I ran into this while using GitHub: On PR #576, @clawsweeper re-review was accepted into the exact-review queue before any durable ClawSweeper review comment existed, but the command-status reply promised that the existing review comment would be edited in place. Both enqueue-only workflows completed successfully; this report is about the inaccurate acknowledgement, not review-queue latency.

I expected the acknowledgement to remain accurate for both supported paths: create the first durable review placeholder when none exists, or update the existing durable review comment.
Instead, the successful re-review response always says that the existing ClawSweeper review comment will be edited in place, including when no durable review marker exists yet.

I traced this to the dispatched re_review branch of renderResponse emitting a fixed existing-comment sentence. Its inputs do not carry review-comment existence, while the documented review lifecycle supports both creating a marker-backed placeholder and editing an existing durable comment; the focused test currently asserts the fixed sentence.
I verified that with the live PR having two accepted @clawsweeper re-review commands, one surviving command-status acknowledgement, no durable clawsweeper-review marker, and no posted review. Both repository-dispatch workflow runs completed successfully in enqueue-only mode. Current origin/main unconditionally emits and tests the existing-comment sentence, while docs/pr-review-comments.md says a review shard creates a marker-backed placeholder when no durable comment exists.

The raw artifacts I used are: #576 (comment) ; https://github.com/openclaw/clawsweeper/actions/runs/29362584394 ; https://github.com/openclaw/clawsweeper/actions/runs/29367358183 ;

if (command.intent === "re_review") {
return [
marker,
dispatched?.clawsweeper
? "ClawSweeper re-review requested."
: "ClawSweeper could not start a re-review for this item.",
"",
dispatched?.clawsweeper
? [
"I asked ClawSweeper to review this item again.",
reviewDispatchLine(dispatched.clawsweeper, "Action", "item re-review queued"),
"Result: the existing ClawSweeper review comment will be edited in place when the review finishes.",
].join("\n")
: `Reason: ${command.reason ?? "re-review requires an open issue or PR"}.`,
].join("\n");
;
test("renderResponse reports maintainer re-review dispatches", () => {
const body = renderResponse(
{
comment_id: "461",
intent: "re_review",
issue_number: 74107,
target: { head_sha: "def461" },
},
{
clawsweeper: {
workflow: "sweep.yml",
event: "repository_dispatch",
},
},
);
assert.match(body, /re-review requested/);
assert.match(body, /review this item again/);
assert.match(body, /Action: item re-review queued/);
assert.match(body, /existing ClawSweeper review comment will be edited in place/);
assert.match(body, /clawsweeper-command-status:74107:re_review:def461/);
assert.doesNotMatch(body, /repair worker/);
});
;
Each synced comment includes the durable identity marker:
```html
<!-- clawsweeper-review item=<number> -->
```
ClawSweeper edits that comment in place instead of posting repeated comments.
Report front matter stores the synced comment id, URL, hash, and sync time.
When review starts and no ClawSweeper-owned comment exists yet, the review
shard posts a short status placeholder with the same durable identity marker.
The placeholder is intentionally light and crustacean-friendly, then the final
review sync edits that exact comment in place.

Reproduction: Open a pull request with no comment containing <!-- clawsweeper-review item=<number> -->, post @clawsweeper re-review, then inspect the bot command-status reply. On PR #576, comment 4973212500 says the existing review comment will be edited even though the issue-comment API has no durable review marker. The enqueue-only runs 29362584394 and 29367358183 both succeeded, so the command was accepted rather than rejected.
Environment: openclaw/clawsweeper origin/main at eda9768; GitHub command router; observed July 14, 2026 on PR #576 at head a3faecc.

Raw observation:

  • Command: On openclaw/clawsweeper PR 576, post @clawsweeper re-review before any durable ClawSweeper review comment exists
  • Status code: 1
  • Output:
    Reproduced against public PR 576 and verified against origin/main 840022e7eff282c0904dc85be452ba261cd43a9b.
    
  • I observed it 1 time(s).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low-risk cleanup, docs, polish, ergonomics, or speculative feature.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions