Repository navigation
Point the Charset-Unknown Message at Where a Tier Is Classified - #2216
Conversation
The finding told the reader to classify the character in GOVERNANCE.md, which holds only a pointer. It now names the comment-and-doc-style skill's "Character set" section and the gate's tier tables, and a test pins that text. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A downstream repository runs the gate from the hub's action checkout and carries neither the skill source nor prose_lint.py, so the message names the repository both live in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe ChangesProse lint guidance
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~4 minutes Merge Risk: ⚪ Minimal · up to The update points contributors to the relevant classification guidance, with no actionable merge-blocking risk remaining. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #2216 +/- ##
==========================================
Coverage ? 56.61%
==========================================
Files ? 16
Lines ? 7482
Branches ? 0
==========================================
Hits ? 4236
Misses ? 3246
Partials ? 0
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The change is correct, complete, and well-tested with no defects found, but per repository policy a clean, no-findings review is finalized by a human maintainer rather than auto-approved.
Review effort: Balanced
Findings: None
What changed in this PR
This PR corrects a misdirecting hint in the prose gate's charset-unknown finding. Previously the message told readers to "classify it in GOVERNANCE.md", but GOVERNANCE.md "Character Set" only holds a pointer, not the tier lists. The message now names the two places a classification actually lives: the comment-and-doc-style skill's "Character set" section and the gate's TIER1/TIER2/TIER3 tables in prose_lint.py, qualified by the hub repository (ptr727/ProjectTemplate) so a downstream repo running the gate from the hub's action checkout still points at the right source.
Changes:
- Add a module-level
CHARSET_CLASSIFYconstant beside the tier tables and splice it into thecharset-unknownmessage, replacing theGOVERNANCE.mdtail. - Add a
TestTierTablescase that pins the new message text and assertsGOVERNANCE.mdis no longer named.
I verified the change end to end: the skill heading is exactly ## Character set, the live finding message renders as expected, the new test passes, it would fail against the old message, no other test or doc pins the old wording, the constant is ASCII-clean and UPPER_SNAKE per convention, and quote/escaping choices are ruff-stable.
| File | Description |
|---|---|
.github/actions/prose-gate/prose_lint.py |
Adds CHARSET_CLASSIFY constant and redirects the charset-unknown message from GOVERNANCE.md to the skill section and tier tables, naming the hub. |
tests/test_prose_lint.py |
Adds a test asserting the new message names the skill section and tier tables and no longer mentions GOVERNANCE.md. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
@coderabbitai review |
✅ Action performedReview finished.
|
## Summary Promotes develop to main, carrying the pull requests below, each already reviewed and merged into develop. - [#2203](#2203): Strip every heredoc body a line opens in the wait-loop rule. - [#2216](#2216): Point the charset-unknown message at where a tier is classified. - [#2218](#2218): Name the leftover old tree when the Bash loader cannot remove it. - [#2227](#2227): End the guard's stdin redirect scan at a trailing comment. - [#2230](#2230): Tell apart the causes a labels payload is refused for. - [#2232](#2232): Correct the task names and pointers in the Python tasks snippet header. - [#2234](#2234): Drop the stale private-repository note from PhotoCleaner's registry entry. - [#2237](#2237): State the bootstrap's archive live channel in two skills. - [#2239](#2239): Stop the promotion count on a failed fetch in backlog-burndown. - [#2241](#2241): Render the include walk once per `build_dist.py --check` run. - [#2243](#2243): Have the tree check call `escapes_repo_root` and refuse a symlinked component. - [#2247](#2247): Refuse a Windows drive component anywhere in a tree path. - [#2222](#2222): Tick the adopted repos in the merge-bot and gate rollout stages. - [#2121](#2121): Refuse a dangling remote-tracking target in `local_review`. - [#2249](#2249): Ignore a quoted separator when the guard finds a loop's `done`. Closes #2112 Closes #2171 Closes #1790 Closes #2152 Closes #1372 Closes #2149 Closes #1082 Closes #1772 Closes #1310 Closes #1379 Closes #1452 Closes #2244 Closes #2168 Closes #2106 Closes #2207 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Summary
The prose gate's
charset-unknownfinding told the reader to "classify it in GOVERNANCE.md", butGOVERNANCE.md"Character Set" holds only a pointer to thecomment-and-doc-styleskill. The message now names the two places a classification actually goes, that skill's "Character set" section and the gate'sTIER1,TIER2, andTIER3tables inprose_lint.py, and names the hub as the repository both live in, since a downstream repository runs the gate from the hub's action checkout and carries neither..github/actions/prose-gate/prose_lint.py: the message's tail moves to aCHARSET_CLASSIFYconstant beside the tier tables and names both places.tests/test_prose_lint.py: a newTestTierTablescase pins the message text and asserts it no longer namesGOVERNANCE.md. It fails against the old message.Verification
python3 -m unittest discover -s tests: 1880 tests, OK.ruff format --check,ruff check,mypy,prose_lint.py . --diff origin/develop,repo_gate.py --check eol, andspec/validate.pyare clean.Closes on promotion: #2171
🤖 Generated with Claude Code
Summary by CodeRabbit
GOVERNANCE.md.