Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions prompts/_shared/rename-compatibility-rules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
When the diff renames, moves, or deletes a class, module, constant, or symbol, check
whether its old name is persisted somewhere and read back after deploy — code already
running wrote that name down, and the new code cannot resolve it. Flag it, say what holds
the stale name, and ask for a temporary alias or subclass with a note on when to remove
it. Where the old name survives:

- Sidekiq/ActiveJob queues, retry and scheduled sets, and cron registrations.
- `maintenance_tasks_runs`, for a task under `app/tasks/maintenance/`.
- STI `type`, serialized or polymorphic `*_type`, GlobalIDs, and ActiveHash ids.
- Flipper feature keys, cache keys, Redis keys, and experiment/variant names.
- Keys or values sent to a third party and later read back, such as Stripe metadata or a
webhook event name.

Renaming only the Ruby constant while deliberately leaving the persisted name alone — a
table, a column, a metadata key, a route path — is correct, and is not a finding.
7 changes: 5 additions & 2 deletions prompts/claude-synthesize-thesis-first.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,14 @@ Synthesize a single review decision for pull request #{{PR}}.
9. Check that in-app navigational links use React Router's Link rather than a raw `<a>`
tag, per these rules:
{{@prompts/_shared/navigation-rules.md}}
10. Validate which of Codex's findings are real (discard false positives), add any genuine
10. Check whether the diff renames, moves, or deletes a name that is persisted outside
the codebase and read back after deploy, per these rules:
{{@prompts/_shared/rename-compatibility-rules.md}}
11. Validate which of Codex's findings are real (discard false positives), add any genuine
issues Codex missed, and (when a ticket is available) judge genuine misses of the ticket's
intent or clear scope creep — but give credit when the author went beyond the literal
acceptance criteria in a sound way rather than flagging it as non-compliant.
11. Decide ONE verdict. Be pragmatic: use "request_changes" only when there is at least one
12. Decide ONE verdict. Be pragmatic: use "request_changes" only when there is at least one
genuine, blocking issue (such as a bug, regression, privacy violation, half-finished task,
placeholder, or deferred work); otherwise "approve". A change that exceeds the AC without
breaking the ticket's intent is a reason to approve, not to block.
Expand Down
7 changes: 5 additions & 2 deletions prompts/claude-synthesize.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,14 @@ Synthesize a single review decision for pull request #{{PR}}.
9. Check that in-app navigational links use React Router's Link rather than a raw `<a>`
tag, per these rules:
{{@prompts/_shared/navigation-rules.md}}
10. Validate which of Codex's findings are real (discard false positives), add any genuine
10. Check whether the diff renames, moves, or deletes a name that is persisted outside
the codebase and read back after deploy, per these rules:
{{@prompts/_shared/rename-compatibility-rules.md}}
11. Validate which of Codex's findings are real (discard false positives), add any genuine
issues Codex missed, and (when a ticket is available) judge genuine misses of the ticket's
intent or clear scope creep — but give credit when the author went beyond the literal
acceptance criteria in a sound way rather than flagging it as non-compliant.
11. Decide ONE verdict. Be pragmatic: use "request_changes" only when there is at least one
12. Decide ONE verdict. Be pragmatic: use "request_changes" only when there is at least one
genuine, blocking issue (such as a bug, regression, privacy violation, half-finished task,
placeholder, or deferred work); otherwise "approve". A change that exceeds the AC without
breaking the ticket's intent is a reason to approve, not to block.
Expand Down
5 changes: 4 additions & 1 deletion prompts/codex-first-pass.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,10 @@ verbatim and handed to a second reviewer, so do not add conversational preamble.
8. Check that in-app navigational links use React Router's Link rather than a raw `<a>`
tag, per these rules:
{{@prompts/_shared/navigation-rules.md}}
9. Report concrete issues — bugs, regressions, security problems, member-privacy
9. Check whether the diff renames, moves, or deletes a name that is persisted outside
the codebase and read back after deploy, per these rules:
{{@prompts/_shared/rename-compatibility-rules.md}}
10. Report concrete issues — bugs, regressions, security problems, member-privacy
violations, incomplete tasks/half-measures/placeholders/deferred work, and genuine misses
of the ticket's intent or clear scope creep — each with a file/line reference and a brief
rationale. Do not list "doesn't match acceptance criteria" as an issue by itself; only
Expand Down
Loading