docs(qa-pr): self-check rewritten GitHub comments, not attach drafts - #1042
Conversation
Keep local Markdown paths in the pre-upload qa-pr-report so --attach can host them. Redact hostname, UUID, /Users/, and leftover slash-started paths on the rewritten body GitHub displays. Co-authored-by: Anton Lykhoyda <lykhoyda@gmail.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8fede3d5b1
ℹ️ 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".
| rewrite, if the body GitHub will display still has a slash-started | ||
| absolute path, a `.local` host, a UUID, or `/Users/`, redact it, then | ||
| `--edit-last`. Hostname, UUID, `/Users/`, and `.local` stay banned in |
There was a problem hiding this comment.
Sanitize private identity before creating the comment
When report prose contains a hostname, UUID, username, or local path outside an attachment destination, this instruction postpones redaction until after Step 9b has already published the comment. gh pr comment --help defines --edit-last as “Edit the last comment of the current user,” so the original sensitive body has already been publicly visible and may remain in notifications or webhook payloads even after the edit. Validate the pre-upload body before posting while exempting only the exact Markdown destinations corresponding to --attach, then validate the rewritten body again.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed on this PR: sanitize qa-pr-report.md before gh pr comment --attach. Only the exact Markdown image/video destinations stay so --attach can rewrite them. Then self-check the rewritten GitHub body again. Hostname, UUID, /Users/, and .local never appear in the first public comment (notifications/webhooks keep that first body even after --edit-last).
Redact hostname, UUID, /Users/, and .local in qa-pr-report.md before gh pr comment --attach. Exempt only Markdown image/video destinations that --attach rewrites, then check the rewritten body again so notifications never keep a leaked first body. Co-authored-by: Anton Lykhoyda <lykhoyda@gmail.com>
Keep oxfmt wrapping the rewritten-body doesNotMatch on one line so Lint & format passes. Co-authored-by: Anton Lykhoyda <lykhoyda@gmail.com>
Summary
Codex P1 and Greptile P1 on merged #1041, plus Codex P1 on this PR: identity must never appear in the first public
gh pr commentbody (notifications and webhooks keep that body even after--edit-last).Sanitize
qa-pr-report.mdbefore posting. Exempt only the exact Markdown image/video destinations--attachrewrites. Then self-check the rewritten GitHub body again. Hostname, UUID,/Users/, and.localnever appear in the first public comment, alt text, PR bodies, or issue text.Plugin screenshot width stays 720. No Ponytail in the plugin. Did not edit comments on #1027 or #1030. Did not take Greptile P2.
Test plan
bash scripts/check-agent-package-sync.shpackages/rn-dev-agent-core/test/unit/qa-pr-workflow.test.ts(Node 24)Greptile Summary
This PR updates the
/qa-prreporting instructions so attachment-compatible local media paths remain in the pre-upload body while public-identity checks apply to the GitHub-rewritten comment.Confidence Score: 5/5
The PR appears safe to merge, with the revised instructions consistently mirrored and no actionable regression identified.
The change preserves local paths only where GitHub CLI needs them for attachment rewriting while retaining public identity restrictions on the hosted body; synchronization and workflow assertions cover the updated documentation contract.
Important Files Changed
Sequence Diagram
sequenceDiagram participant Agent participant Draft as qa-pr-report.md participant GH as GitHub CLI participant Comment as GitHub Comment Agent->>Draft: Write Markdown with local media paths Agent->>GH: gh pr comment --attach GH->>GH: Upload media and rewrite references GH->>Comment: Publish rewritten body Comment-->>Agent: Return issuecomment URL/id Agent->>Agent: Check rewritten public body Agent->>Comment: Edit widened/redacted bodyReviews (1): Last reviewed commit: "docs(qa-pr): self-check rewritten GitHub..." | Re-trigger Greptile