-
Notifications
You must be signed in to change notification settings - Fork 220
Record review expectations for comments and test assertions #1740
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -32,7 +32,8 @@ Any comment on them duplicates CI noise: | |||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| - Bikeshed naming (unless the name is actively misleading, e.g., hides a GPU↔host boundary or units) | ||||||||||||||||||||||||||
| - Splitting functions "for readability" without a concrete maintainability trigger | ||||||||||||||||||||||||||
| - Comment density preferences | ||||||||||||||||||||||||||
| - Comment density preferences — how *many* comments a change carries is taste. | ||||||||||||||||||||||||||
| Comment *content* is not: see "Comments" under C++ conventions. | ||||||||||||||||||||||||||
| - Nits on lines the PR did not change | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||
|
|
@@ -61,6 +62,13 @@ from the actual code and from `.clang-format`. | |||||||||||||||||||||||||
| Exceptions are the canonical mechanism — do not flag exception use. | ||||||||||||||||||||||||||
| - **Formatting**: handled by `clang-format` (`BasedOnStyle: Google` with cuOpt | ||||||||||||||||||||||||||
| overrides). Do not comment on formatting at all. | ||||||||||||||||||||||||||
| - **Comments**: a comment states what the code does or why it is non-obvious. | ||||||||||||||||||||||||||
| It does not narrate the bug that motivated it, the alternatives considered, | ||||||||||||||||||||||||||
| or what a reviewer asked for — that belongs in the commit message or PR. | ||||||||||||||||||||||||||
| Flag narration in a comment; do not flag a missing comment on self-evident | ||||||||||||||||||||||||||
| code, and do not flag comment count. See also `skills/cuopt-developer/references/conventions.md`, | ||||||||||||||||||||||||||
| which additionally forbids volatile details (line numbers, commit hashes, PR | ||||||||||||||||||||||||||
| numbers) in comments. | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| ### C++ — language-level practices we follow from Google C++ | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|
@@ -293,6 +301,12 @@ Tests reference these paths via the `RAPIDS_DATASET_ROOT_DIR` environment variab | |||||||||||||||||||||||||
| 6. **API stability** — `cuopt_c.h` changes; Python `DeprecationWarning`; server endpoint versioning. | ||||||||||||||||||||||||||
| 7. **Security** (server paths only) — input validation, size limits, deserialization. | ||||||||||||||||||||||||||
| 8. **Ask, don't tell** — "Have you considered X?" not "You should do X." | ||||||||||||||||||||||||||
| 9. **A maintainer's decision settles the thread.** If a reviewer has already | ||||||||||||||||||||||||||
| answered a finding of yours on the same lines — accepting the behaviour, | ||||||||||||||||||||||||||
| choosing a different trade-off, or judging the case not worth handling — do | ||||||||||||||||||||||||||
| not re-raise it on the next pass. Treat it as resolved even where the | ||||||||||||||||||||||||||
| mechanism you described was correct, and say so briefly rather than | ||||||||||||||||||||||||||
| repeating the original argument. | ||||||||||||||||||||||||||
|
Comment on lines
+304
to
+309
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win Restrict closure to an explicit maintainer decision. Lines 304-309 say that any reviewer can resolve a finding. This conflicts with the heading and the PR objective. A non-maintainer response could suppress a valid finding in a later review pass. Change Proposed wording-9. **A maintainer's decision settles the thread.** If a reviewer has already
- answered a finding of yours on the same lines — accepting the behaviour,
+9. **A maintainer's decision settles the thread.** If a maintainer has already
+ resolved a finding on the same lines — accepting the behaviour,📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Request removal when coverage is duplicate.
This instruction only asks what a duplicate test adds. The PR objective states that tests duplicating existing coverage should be removed. Request removal when a test adds no distinct input, assertion, regression, or failure mode.
Proposed wording
📝 Committable suggestion
🤖 Prompt for AI Agents