Stand in front of the five gh verbs that were publishing text through nothing - #83
Conversation
… nothing `gh issue close`, `gh pr close`, `gh issue reopen` and `gh pr reopen` each take `-c/--comment` and publish it. `gh pr merge` takes `-b/--body`, `-F/--body-file` and `-t/--subject` and publishes the merge commit message. None of them was matched by this table, so all five reached a forge with nothing in front of them. `pr:merge` needed only the verb -- its flags were already named and mean the same thing there. The four close/reopen verbs needed 1.8.0's `[[shim.verbs]]`, because `-c` is a BOOLEAN on `gh pr review` -- which this table already matches -- and takes a VALUE on `gh issue close`. Naming it table-wide would have made `gh pr review -c -b "body"` read `-c` as consuming `-b`, so the body being published would go unread: a false negative traded for a false negative. The entry's list replaces the table's for those four verbs, which is why `--title` and `--body` are absent from it. Neither is a flag those commands accept, and reading a flag a command will not take is this shim claiming to have checked a subject that was never published. Ordering, since it is not optional: the pin moved to v1.8.0 and the installed binary was reinstalled before this landed. A policy naming `[[shim.verbs]]` that an older binary reads is a policy that will not load, and the installed binary is the shim -- so adopting first would leave every git command in the tree failing closed.
|
Warning Review limit reached
Next review available in: 10 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
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 @@
## main #83 +/- ##
=======================================
Coverage 90.51% 90.51%
=======================================
Files 35 35
Lines 11339 11339
=======================================
Hits 10264 10264
Misses 1075 1075 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Closes #80. The engine half shipped in #81 and 1.8.0; this is the adoption.
The five
gh pr merge -b/--body,-F/--body-file,-t/--subjectgh issue close -c/--comment[[shim.verbs]]gh pr close -c/--commentgh issue reopen -c/--commentgh pr reopen -c/--commentAll five reached a forge with nothing in front of them.
Why four of them needed a schema change first
-cis a boolean ongh pr review-- which this table already matches -- and takes a value ongh issue close. Naming it table-wide would have madegh pr review -c -b "body"read-cas consuming-b, so the body being published goes unread. That is a false negative traded for a false negative, which is why #79 refused the second-[[shim]]workaround and #81 added per-verb vocabularies instead.The entry's list replaces the table's for those four verbs, which is why
--titleand--bodyare absent from it: neither is a flag those commands accept, and reading a flag a command will not take is this shim claiming to have checked a subject that was never published.The ordering, since it is not optional
v1.8.0cargo install --git ... --tag v1.8.0A policy naming
[[shim.verbs]]that an older binary reads is a policy that will not load, and the installed binary is the shim -- so adopting first leaves everygitcommand in the tree failing closed. That is not hypothetical: it happened here while developing #81, and it is why the release shipped the capability without its own adoption.Verification
cargo test-- 564 pass, 0 failcargo clippy --all-targets,cargo fmt --check-- cleanuphold shim gh issue close 1 --comment "<marker>"now refuses; before this it publishedOne note for anyone reproducing that last check:
uphold_check.pypreferstarget/release/upholdover PATH, so a stale release build reportscould not lookon the new field. Rebuild before running the Python gates.