chore(review): assertive profile, instructions for four trees, and let CodeRabbit approve - #41
Conversation
…trees Closes #37. At `chill`, the incremental review of #33 missed a classifier that ignored `statusLine.type` and so reported a configuration Claude Code would never run as correctly wired. Only an explicitly requested full review found it. The profile goes to `assertive`, with that reason written beside it. Path instructions covered `scripts/**` and `tests/**` only. Four trees had none, and each has conventions a reviewer cannot infer from the diff: - `statusline/**` runs every few seconds inside a live session and must never block, exit non-zero, call the network, or consume stdin unasked. - `hooks/**` degrades to silence and cannot assume cprof is on PATH. - `docs/**` must name only commands and keys that exist, keep anchors resolving across the topic-doc split, and never name another statusline tool; versions are written by automation. - `.github/**` holds write-capable tokens: actions pinned to full SHAs, and no workflow executing a script from the pull request's own revision. The `tests/**` instruction gains the failure mode this repository keeps producing: an assertion that would pass whether or not the code works, with the specific shapes to look for. No linter changes: actionlint, yamllint, markdownlint and gitleaks already default to enabled, and listing only shellcheck under `tools:` never disabled them. Signed-off-by: Diego Cotelo <me@dcotelo.dev>
…ypass Closes #36. `main` requires one approving review, and as the sole maintainer every pull request has landed with `--admin` — the rule bypassed rather than met. CodeRabbit reviews every pull request and has found real defects, but submits `COMMENTED` reviews, so its verdict could never satisfy the rule. `request_changes_workflow: true` makes it approve once its comments are resolved and the head has been reviewed. Two things this does not yet know, recorded in the config beside the setting rather than left for someone to rediscover: Whether the approval counts at all. GitHub treats bots inconsistently — Actions reviews count subject to an org toggle, Copilot's explicitly do not. CodeRabbit is a GitHub App with write access, which ordinarily does count, but that is an assumption until a pull request reaches `CLEAN` without `--admin`. This pull request is the first test. Whether an approval survives the release. `dismiss_stale_reviews` is on and `release-bump` pushes `chore(release):` after review, dismissing the approval it just gave. It does re-review a new head; whether it re-approves is unverified. `auto_assign_reviewers` was considered and left off: it assigns suggested reviewers, which on a single-maintainer repository means noise rather than the visibility it sounds like. Signed-off-by: Diego Cotelo <me@dcotelo.dev>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe CodeRabbit configuration now uses the ChangesReview policy coverage
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Other Merge Risk: ⚪ Minimal · up to The PR only changes review configuration, and the settings are supported with no identified merge-blocking risk. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Out of Scope Changes checkExplanation The change
✨ Finishing Touches🧪 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 |
|
@coderabbitai review |
✅ Action performedReview finished.
|
Result of the experiment this PR describesA GitHub App approval does count here. CodeRabbit submitted It also proves the config is read from the PR head, not the base. The default for One constraint neither issue anticipated: reviews are no longer automatic. CodeRabbit posted, on this PR:
cprof has 5. The approval above only happened after an explicit Worth correcting a claim I made on #39 in the process: I reported it as reviewed with zero comments. It was never reviewed — the Risk (2) remains untested. |
|
Tip For best results, initiate chat on the files or code changes.
The approval test confirms that a CodeRabbit GitHub App approval satisfies the The configuration test confirms that CodeRabbit uses For this repository, contributors must explicitly trigger CodeRabbit review until the repository meets the automatic-review eligibility requirement. The remaining test is valid. A future 🐇 ✏️ Learnings added
You are interacting with an AI system. |
Summary
Two
.coderabbit.yamlchanges, one commit each so either can be reverted alone.Closes #37 and #36.
Type
Surface(s) touched
.github/) —.coderabbit.yamlcfcd591— assertive profile, and instructions for four untouched treesAt
chill, the incremental review of #33 missed a classifier that ignoredstatusLine.typeand so called a configuration Claude Code would never runcorrectly wired. Only an explicitly requested full review found it. That reason
is written beside the setting.
Path instructions covered
scripts/**andtests/**. Four trees had none, andeach carries conventions a reviewer cannot infer from a diff:
statusline/**hooks/**PATHdocs/**.github/**The
tests/**instruction gains the failure mode this repository keepsproducing — an assertion that passes whether or not the code works — with the
specific shapes to look for, including the
assert_failon a function that doesnot exist yet that produced three vacuous passes in #33.
No linter changes:
actionlint,yamllint,markdownlintandgitleaksalready default to enabled, and listing only
shellcheckundertools:neverdisabled them. That was my own wrong assumption when #37 was filed, corrected in
the issue.
781045b— let CodeRabbit approvemainrequires one approving review; as the sole maintainer every PR has landedwith
--admin, so the rule has been bypassed rather than met. CodeRabbitreviews every PR and finds real defects but submits
COMMENTEDreviews, whichcan never satisfy it.
request_changes_workflow: truemakes it approve once itscomments are resolved and the head has been reviewed.
This PR is the test. Two things are unverified, and both are recorded in the
config beside the setting rather than left to be rediscovered:
reviews count subject to an org toggle, Copilot's explicitly do not.
CodeRabbit is a GitHub App with write access, which ordinarily does count,
but that is an assumption until a PR reaches
CLEANwithout--admin. Ifthis one does, the mechanism works; if it sits
BLOCKEDwhile CodeRabbitshows approved, it does not, and the setting should be reverted.
dismiss_stale_reviewsis onand
release-bumppusheschore(release):after review. This PR ischore:so nothing will be pushed into it — meaning it tests (1) but not (2). The
first
feat:orfix:branch after this lands is what tests (2).auto_assign_reviewerswas considered and left off. I described it earlier asmaking CodeRabbit visible as a reviewer; that was wrong — it assigns suggested
reviewers, which on a single-maintainer repository is noise.
Test evidence
No code touched.
.coderabbit.yamlparsed with Ruby's YAML after each commit:cfcd591:profile=assertive,path_instructions=scripts/** tests/** statusline/** hooks/** docs/** .github/**781045b:request_changes_workflow=trueChecklist
bash tests/run.shpasses, and CI is green.tests/— n/a, no code change.chore:publishes no release.Summary by CodeRabbit