feat(pr-review): extract review rubric to files, 4-lens restructure#73
Merged
Conversation
…lenses Move the inline review rubric out of the action.yml prompt block into a sibling rubric.md, injected at compose time, so it can be edited and reviewed as prose instead of a YAML block scalar. Restructure the eight priority items plus the also-check list into four leverage-ordered lenses (design & data structures, correctness & safety, surface stewardship, change & operate) to keep the reviewer at a structural altitude and curb nit avalanches. Add rubric-detail.md for conditional line-level checks (persistence, unit-safety, test/perf surface), staged into the workspace and read on demand only for the areas a diff touches. No existing checks are dropped.
Contributor
There was a problem hiding this comment.
Clean.
- Reviewed the claude-pr-review action refactor: rubric extraction into rubric.md, 4-lens restructure, and on-demand rubric-detail.md staged into the workspace .claude-review/ directory.
- Verified all prior rubric items (data structures, design, correctness, complexity, breakage, tests, naming, style; plus unsafe/SAFETY, errors, concurrency, public-API rationale, framework conventions, logging, doc proximity, duplication) map into the new lenses or Do NOT flag - nothing dropped.
- Compose mechanics mirror the existing orchestration pattern (set -euo pipefail, randomized heredoc delim, action-path source); action inputs are unchanged, so callers are unaffected.
- Title follows Conventional Commits; description explains what and why with a self-dogfood test plan.
- No new actionable findings.
- Still open from earlier reviews: none.
Contributor
There was a problem hiding this comment.
Re-review update
- Reviewed incremental changes since prior review (commit c43023a): prettier formatting on rubric.md and rubric-detail.md — added blank lines between headers and content, plus italics asterisk-to-underscore conversion.
- Per the rubric, formatting owned by the repo formatter is not a review concern.
- No new actionable findings. Re-review verdict matches prior round: clean.
- Still open from earlier reviews: none.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refactors the shared
claude-pr-reviewaction so the review rubric is maintainable and the review agent stays at a structural altitude.rubric.md, injected into the prompt at compose time (catintoGITHUB_OUTPUT, same mechanism as the existingorchestrationvar). The rubric is now edited and reviewed as prose instead of a YAML block scalar with heredoc-avoidance hacks. No change to what the agent receives at the always-loaded layer.rubric-detail.mdfor conditional, line-level checks (persistence/crash-consistency, unit-safety, test & perf surface). It's staged into$GITHUB_WORKSPACE/.claude-review/and the rubric routes the agent to read it on demand, only for the areas a given diff touches — true progressive disclosure, kept out of the always-loaded prompt.The posting-contract phases and severity scale stay inline (they carry
${{ github.* }}interpolations / are posting mechanics, not rubric content). Scope is limited to this action; the README's stalemega-agentsaction paths are a separate bug to fix in a follow-up.Test plan
documentation's ownclaude.ymlrunspr-reviewvia the local action path, so the modified action reviews this very PR. A green review run exercises the compose injection (rubric.md), the workspace staging (rubric-detail.md), and the new 4-lens prompt end to end.action.ymlvalidated locally: composite run-script passesbash -n; block-scalar indentation and therubric/orchestrationmultilineGITHUB_OUTPUTemits are consistent.unsafe/SAFETY, concurrency hazards, public-API rationale, framework-convention respect).This PR was generated by an automated agent.