Skip to content

Keep one semantic diff comment per pull request - #8998

Merged
cknitt merged 4 commits into
masterfrom
semantic-diff-one-comment
Oct 23, 2026
Merged

cknitt merged 4 commits into
masterfrom
semantic-diff-one-comment

Conversation

@cknitt

@cknitt cknitt commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Since #8958, every push posts a semantic diff comment of its own, and a force push posts all commits again, so pull requests collect near-identical comments (#8950 has four, the last three listing every commit).

A pull request now has a single comment (tag semantic-diff, mode: upsert) that each push edits in place to hold every commit. Edits notify no one, and the current records stay in one place.

What the comment shows:

  • Heading: the title links the full page, as does "Full page"; below it the commit count, the head it was drawn up to (GitHub links the sha) and when, since GitHub marks an edit only as "edited":

    Semantic Diff

    4 commits · 93a3aef · Oct 23, 2026, 15:10 UTC · Full page

  • What the last push changed: commits the push added or whose message it edited (same subject) get a sign before their subject (✨ new, ✏️ edited, not colours that read like check statuses) and the word at the end of their identity line:

    ✏️ Mark the commits the last push added or edited
    93a3aef · Christoph Knittel + Claude · Oct 23, 2026, 15:09 UTC · edited

    The workflow passes the head before the push (--previous, from github.event.before); after a force push GitHub still serves that commit by sha. Matching is by message, so a rebase that changes no message marks nothing. When the previous head can't be read, nothing is marked.

  • Dates: each commit's author date to the minute in UTC, as in the heading (page and comment).

  • Co-authors: joined with +, and an AI assistant by its short name, keyed on the trailer's email (noreply@anthropic.com → "Claude"), since the name changes with the model.

--since and the N new commits (M total) header are removed. Pull requests opened before #8958 have a link comment under the same tag, which their next push turns into the full comment; per-push comments already posted stay.

New tests: the comment holding every commit with the linked heading, --previous marking added and edited commits (with a dropped one), the marks' rendering, and assistant co-authors.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AzPS5F8RDSGZ6dhfK6NdZp

Each push, and above all each force push, added a comment of its own, so
a pull request collected copies of its records. The workflow now edits one
comment in place to hold every commit, and --since is gone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AzPS5F8RDSGZ6dhfK6NdZp
Signed-off-by: Christoph Knittel <ck@cca.io>
@cknitt cknitt added the changelog:skip No release notes needed label Oct 23, 2026
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Semantic Diff

4 commits · 93a3aef · Oct 23, 2026, 15:10 UTC · Full page

Keep one semantic diff comment per pull request

ab67e5b · Christoph Knittel + Claude · Oct 23, 2026, 14:39 UTC

Each push, and above all each force push, added a comment of its own, so a pull request collected copies of its records. The workflow now edits one comment in place to hold every commit, and --since is gone.

Draw an AI assistant co-author by its short name

291da39 · Christoph Knittel + Claude · Oct 23, 2026, 14:53 UTC

"A Person with Claude Opus 5.5" took much of the identity line, above all on a phone. A co-author whose trailer gives an assistant's email is drawn by its short name, keyed on the email since the name changes with the model, and co-authors are joined with "+".

✨ Date the comment and its commits, and link its heading

08486bc · Christoph Knittel + Claude · Oct 23, 2026, 15:09 UTC · new

The one comment is edited in place, and GitHub marks an edit only as "edited", so the heading says which commit it is drawn up to and when, and its title links the page as well as "Full page". Each commit shows its author date to the minute in UTC, as the heading does, on the page too.

✏️ Mark the commits the last push added or edited

93a3aef · Christoph Knittel + Claude · Oct 23, 2026, 15:09 UTC · edited

One comment shows every commit, so after a force push a reader can't tell what changed. With the head before the push, the comment marks each commit that push added (✨, "new") or whose message it edited under the same subject (✏️, "edited"); a rebase that changes no message marks nothing.

@cknitt
cknitt force-pushed the semantic-diff-one-comment branch from c8116b7 to 442e1a5 Compare October 23, 2026 14:56
cknitt and others added 3 commits October 23, 2026 15:07
"A Person with Claude Opus 5.5" took much of the identity line, above all
on a phone. A co-author whose trailer gives an assistant's email is drawn
by its short name, keyed on the email since the name changes with the
model, and co-authors are joined with "+".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AzPS5F8RDSGZ6dhfK6NdZp
Signed-off-by: Christoph Knittel <ck@cca.io>
The one comment is edited in place, and GitHub marks an edit only as
"edited", so the heading says which commit it is drawn up to and when,
and its title links the page as well as "Full page". Each commit shows its
author date to the minute in UTC, as the heading does, on the page too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AzPS5F8RDSGZ6dhfK6NdZp
Signed-off-by: Christoph Knittel <ck@cca.io>
One comment shows every commit, so after a force push a reader can't tell
what changed. With the head before the push, the comment marks each commit
that push added (✨, "new") or whose message it edited under the same
subject (✏️, "edited"); a rebase that changes no message marks nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AzPS5F8RDSGZ6dhfK6NdZp
Signed-off-by: Christoph Knittel <ck@cca.io>
@cknitt
cknitt force-pushed the semantic-diff-one-comment branch from 1e8de28 to 93a3aef Compare October 23, 2026 15:09
@cknitt
cknitt marked this pull request as ready for review October 23, 2026 15:12
@cknitt

cknitt commented Oct 23, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T15:15:26.630892Z 93a3aef Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🚀

Reviewed commit: 93a3aefacd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@cknitt
cknitt requested a review from cristianoc October 23, 2026 15:15
@cknitt
cknitt enabled auto-merge (squash) October 23, 2026 15:17
@pkg-pr-new

pkg-pr-new Bot commented Oct 23, 2026

Copy link
Copy Markdown

Open in StackBlitz

rescript

npm i https://pkg.pr.new/rescript@8998

@rescript/belt

npm i https://pkg.pr.new/@rescript/belt@8998

@rescript/darwin-arm64

npm i https://pkg.pr.new/@rescript/darwin-arm64@8998

@rescript/linux-arm64

npm i https://pkg.pr.new/@rescript/linux-arm64@8998

@rescript/linux-x64

npm i https://pkg.pr.new/@rescript/linux-x64@8998

@rescript/runtime

npm i https://pkg.pr.new/@rescript/runtime@8998

@rescript/win32-x64

npm i https://pkg.pr.new/@rescript/win32-x64@8998

commit: 93a3aef

@github-actions

Copy link
Copy Markdown

@cknitt
cknitt merged commit f26ccd0 into master Oct 23, 2026
26 checks passed
@cknitt
cknitt deleted the semantic-diff-one-comment branch October 23, 2026 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog:skip No release notes needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants