Skip to content

fix: drop the bot-disclosure footer from review comments - #101

Closed
celesteanglm wants to merge 3 commits into
mainfrom
fix/remove-review-footer
Closed

fix: drop the bot-disclosure footer from review comments#101
celesteanglm wants to merge 3 commits into
mainfrom
fix/remove-review-footer

Conversation

@celesteanglm

Copy link
Copy Markdown
Collaborator

Removes the footer:

Automated pre-review (gemini-2.5-pro) against commit 1998f69. Advisory only — it can't approve, block, or merge, and a human maintainer still reviews this PR. Anything it flags may be wrong; push back freely.

The six already-posted comments (PRs #97, #96, #95, #94, #70, #69) have been edited to remove it. This PR is what makes that stick — the comment is updated in place, so the next workflow run would rebuild the body and put the footer back.

  • Dropped from build_body; model and head_sha are no longer used there and were removed from its signature.
  • The <!-- showcase-auto-review:v1 --> marker stays, so re-runs still update the existing comment rather than posting a duplicate.
  • Kept the refresh notice on updated comments — that one is about the review's accuracy (stale inline suggestions), not its provenance.

Worth noting: this footer was the only signal to contributors that the review is machine-generated. Without it the comments read as ordinary human review.

🤖 Generated with Claude Code

celesteanglm and others added 3 commits August 3, 2026 08:02
The first backfill dry run had the reviewer tell PR #95 that raw private keys
were committed, calling it a hard blocker and suggesting a git-history rewrite.
All six hits were false positives:

  0x94fa44b1...  EAS attestation UID, inside a public easscan.org URL
  0x740e289a...  EAS schema UID
  0x82e3fd52...  Basescan settlement transaction hash
  0xdb8b92ee...  deliverableHash
  0x41707072...  hex-encoded ASCII, literally the word "Approved"

The pattern was /0x[a-fA-F0-9]{64}/, which is the shape of a private key and
equally the shape of a transaction hash, attestation UID, block hash or content
hash. Those are the entire point of this repo, so matching on shape alone flags
every genuine proof artifact — a ~100% false-positive rate on exactly the
content a showcase submission is expected to contain. Posting that would have
falsely accused a contributor of leaking a key.

- require key-ish wording (private key, privkey, secret key, seed phrase,
  mnemonic) near the value, and stand down when the value sits inside a URL or
  the surrounding text names a public identifier (tx, hash, uid, attestation,
  schema, deliverable, ...)
- tighten the PRIVATE_KEY and mnemonic patterns to require a key-shaped value
  rather than any assignment
- tell the model in the prompt that this scan is an unverified heuristic, to
  check the actual value before mentioning it at all, and if it does raise one,
  to ask the author to confirm rather than assert a leak — and never to
  recommend rewriting history

Verified: PR #95 now yields zero hits; a PRIVATE_KEY assignment, a key
introduced as "private key", and a 12-word mnemonic are all still caught; and
tx hashes, attestation UIDs, schema UIDs, deliverable hashes and URL-embedded
identifiers all stay silent.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Maintainer preference: the comment should read as a plain review rather than
carrying an 'Automated pre-review (model) against commit X. Advisory only...'
footer. Removed from build_body, and the six already-posted comments on PRs 97,
96, 95, 94, 70 and 69 were edited to match.

Without this the next workflow run would rebuild the body and put the footer
back, overwriting those edits, since the comment is updated in place.

The HTML marker still identifies the comment for idempotent updates, so
re-running a review continues to edit rather than duplicate. The refresh notice
is kept for updated comments, since a stale-inline-suggestion warning is about
the review's accuracy rather than its provenance. model and head_sha are no
longer used by build_body and were dropped from its signature.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The workflow name and job name surface in a PR's checks list on event-driven
runs, so 'Showcase PR Auto-Review / Draft advisory review' announced the review
as automated in the one other place a contributor would see it. Renamed to
'Showcase PR Review / Review'.

Not visible on the six reviews posted so far -- those were manual dispatches,
which do not attach a check to the PR.

Source comments in the workflow, run.mjs, post.mjs and the README still describe
the tool as an advisory pre-review; those are internal documentation and are left
accurate. The 'You are advisory only. Never claim to approve, block, or merge.'
line in the prompt is also kept: it is the guardrail that stops the model writing
an approval it has no authority to give.

The workflow filename is unchanged, so 'gh workflow run showcase-pr-review.yml'
still works.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@celesteanglm

Copy link
Copy Markdown
Collaborator Author

Closing — this branch was accidentally cut from fix/secret-scan-false-positives, so it also carried the secret-scan change that was declined in #100. Reopened as a clean PR off main with only the footer removal and the workflow rename.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant