Skip to content

sanitize: allowlist Cursor Agent Co-authored-by trailer - #43

Merged
sumitake merged 1 commit into
mainfrom
cursor/allowlist-cursor-agent-coauthor-8df1
Aug 31, 2026
Merged

sanitize: allowlist Cursor Agent Co-authored-by trailer#43
sumitake merged 1 commit into
mainfrom
cursor/allowlist-cursor-agent-coauthor-8df1

Conversation

@sumitake

@sumitake sumitake commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Summary

After #42, Sanitization --history (run 33207270005) cleared the original six denies. It now fails only the merge-commit trailer on 167ba403:

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

PUBLIC_HISTORY_METADATA_LINES already has the bare identity Cursor Agent <cursoragent@cursor.com> and Co-authored-by: John Osumi <sumitake@users.noreply.github.com>. This adds the missing exact trailer, written the same way as the existing entries (the @ is split so the file itself does not trip the scanner).

Does not revert #42. Does not change the scanner. Does not skip --history. Does not broaden the allowlist beyond this one line.

Test plan

  • python3 -m unittest tests.sanitization.test_sanitize_public.H10History.test_public_history_metadata_allowance_is_literal_and_closed passes
  • python3 -m unittest discover -s tests -p 'test_*.py' passes (290 tests)
  • python3 scripts/sanitize_public.py --tracked reports sanitization passed
  • python3 scripts/sanitize_public.py --tracked --history reports sanitization passed
  • Relevant new tests were written FIRST and observed to fail (TDD): existing closed-set test already asserts every PUBLIC_HISTORY_METADATA_LINES member; no extra machinery

PUBLIC-SAFETY checklist

  • This PR contains no deployment identifiers (account IDs, zone IDs, tunnel IDs, installation/client/app IDs, or any other environment-specific identifier).
  • This PR contains no secrets (tokens, keys, credentials, passwords, or anything secret-shaped), real or expired.
  • This PR contains no real logs, real configuration, or real runtime state -- only synthetic examples (see CONTRIBUTING.md for the placeholder conventions, e.g. owner/repository, example-fleet, operator@example.invalid).
  • I ran python3 scripts/sanitize_public.py --tracked locally and it reported sanitization passed.
  • I ran python3 scripts/check_repository_metadata.py locally (if this PR touches governance/repository metadata) and it exited 0.

Governance metadata was not touched; check_repository_metadata.py is N/A.

Additional context

The allowlist entry is the exact body line that --history now denies. Same existing _scan_public_history_metadata function.

Local verification on 642ab6e9215ee0edad21a901f408dfa2a21e8639:

  • 290 unit tests OK
  • --tracked and --tracked --history both print sanitization passed
Open in Web Open in Cursor 

After #42, --history still fails one remaining HISTORY_META deny on
167ba40: the merge-commit Cursor Agent cursor.com Co-authored-by trailer.

PUBLIC_HISTORY_METADATA_LINES already has the bare identity and the
John Osumi Co-authored-by form. Add the missing exact trailer.

Does not change the scanner, skip --history, or broaden beyond this line.

Co-authored-by: John Osumi <sumitake@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9ba6dbba-cd46-453a-9601-9de17ccf1f59


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sumitake
sumitake marked this pull request as ready for review August 28, 2026 20:22
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for security reviews. Please try again later.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 642ab6e921

ℹ️ 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".

"@cursor.com>",
)
),
"".join(("Co-authored-by: Cursor Agent <cursoragent", "@cursor.com>")),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Sanitize this commit's own metadata before allowlisting the trailer

On the push, schedule, and manual contexts inspected in .github/workflows/sanitization.yml, this addition still cannot make --tracked --history pass for the reviewed commit: _scan_public_history_metadata compares the complete finding line against this exact string, while commit 7999348c has the unallowlisted author/committer Codex <codex@openai.com>, backtick-wrapped and composite body lines containing the Cursor address, and a footer UUID. Directly scanning its metadata produces six HISTORY_META findings, so the push-time sanitization job remains broken even though the test plan passed against the different 642ab6e commit; recreate the commit with scan-clean metadata or explicitly handle every intended literal.

Useful? React with 👍 / 👎.

@sumitake
sumitake merged commit 6fb389d into main Aug 31, 2026
19 checks passed
@sumitake
sumitake deleted the cursor/allowlist-cursor-agent-coauthor-8df1 branch August 31, 2026 04:43
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.

2 participants