You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 2dd40d3
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: code/MOSuite/.github/PULL_REQUEST_TEMPLATE.md
+22-11Lines changed: 22 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,16 @@
1
1
## Changes
2
2
3
3
<!--
4
-
Provide a brief summary of what is included in this Pull Request (PR).
5
-
If the PR contains complex changes, include a brief description of the rationale
4
+
Provide a brief, concise summary of what is included in this Pull Request (PR).
5
+
If the PR contains complex changes, also include a brief description of the rationale
6
6
behind the implementation decisions.
7
+
Focus this section on the actual user-facing behavior change, bug fix, or design decision.
8
+
Do not include descriptions of obvious, redundant, automated, or required changes that are already covered by checklist items.
9
+
Do not add housekeeping-only bullets. In particular, do not list the following in the Changes section unless one of them is itself the primary behavior change being proposed:
10
+
- regenerated `man/*.Rd` or `NAMESPACE` files
11
+
- `NEWS.md` bookkeeping updates made to satisfy release/changelog requirements
12
+
- routine roxygen2 or test file regeneration that only reflects the underlying feature/fix
13
+
- any bullet that only says files were regenerated/updated (for example, "Regenerate `man/*.Rd`" or "Update `NEWS.md`")
7
14
-->
8
15
9
16
## Issues
@@ -13,23 +20,27 @@ Reference any issues related to this PR.
13
20
If this PR fixes any issues,
14
21
[use a keyword](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)
15
22
when referring to the issue so it will be closed automatically when the PR is merged.
23
+
If there are no relevant issues, uncomment the below line:
24
+
None
16
25
-->
17
26
18
-
<!-- Uncomment the below header if including an AI usage statement:
27
+
<!-- If generative AI was used to draft or generate any part of this PR:
28
+
1. Uncomment the header "## Generative AI Usage Statement" below
29
+
2. Fill in a brief description of how generative AI was used
30
+
3. Disclose the tool and model version used
31
+
32
+
If generative AI was NOT used in any way, leave this entire section commented out.
33
+
19
34
## Generative AI Usage Statement
20
-
-->
21
-
<!--
22
-
Include a brief description of how AI assistance was used to generate any of the code or content included in this PR,
23
-
e.g. writing code, writing unit tests, troubleshooting problems, software design discussion, commit messages, or preparing the PR.
24
-
Disclose the tool and model version used, e.g. Claude Code w/ Claude Sonnet 5, Codex w/ GPT-5.6 Sol, Copilot w/ GPT-5.6 Terra, etc.
25
35
26
-
If generative AI tools were not used in any way whatsoever, uncomment the following line:
27
-
_No generative AI tools were used_
36
+
Include a brief description of how generative AI assistance was used to generate any of the code or content included in this PR,
37
+
e.g. writing code, writing unit tests, troubleshooting problems, software design discussion, commit messages, or preparing the PR.
38
+
Disclose the tool and model version used, e.g. Claude Haiku 4.5, GPT-5.6, Copilot w/ Claude Sonnet 5, etc.
28
39
-->
29
40
30
41
## PR Checklist
31
42
32
-
(~Strikethrough~ any points that are not applicable.)
43
+
(~Strikethrough~ any points that are not applicable. Check boxes only, do not append descriptions.)
33
44
34
45
-[ ] This comment contains a description of changes with justifications, with any relevant issues linked.
35
46
-[ ] Write unit tests for any new features, bug fixes, or other code changes.
Copy file name to clipboardExpand all lines: code/MOSuite/AGENTS.md
+42-17Lines changed: 42 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,14 +20,20 @@ for detailed instructions on how to contribute to MOSuite.
20
20
- The package must pass `devtools::check()`.
21
21
- R code should adhere to the tidyverse style guide. https://style.tidyverse.org/
22
22
- Only include one return statement at the end of a function. Explicit returns are preferred but not required for R functions.
23
-
-`NAMESPACE` and `man/` are generated by `devtools::document()`; never edit these files directly.
23
+
-`NAMESPACE` and `man/` are generated by `devtools::document()` and in the `auto-format` workflow; never edit these files directly.
24
24
25
25
## Commit messages
26
26
27
+
- Check for user approval before running commit commands. The `git commit` command should be shown expanded (with the full `-m` message text visible), not collapsed or abbreviated, so the user can see the exact message before it runs.
28
+
- If approval has not been given, proceed with code changes and tests only; do not commit.
27
29
- Commit messages must follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) (as enforced in `CONTRIBUTING.md`).
28
30
- Generate messages from staged changes only (`git diff --staged`); do not include unrelated work.
29
31
- Commits should be atomic: one logical change per commit.
30
32
- If mixed changes are present, split into multiple logical commits; the number of commits does not need to equal the number of files changed.
33
+
- Before staging, review `git status` and `git diff` to confirm the change set is small enough to describe in one sentence; if not, it likely needs to be split.
34
+
- Do not blanket-stage with `git add .` or `git add -A`; stage files or hunks individually (`git add <file>`, `git add -p`) so unrelated changes are not swept into the same commit.
35
+
- When splitting into multiple commits, order them so each commit leaves the repository in a working state (e.g., dependencies/config before the code that uses them).
36
+
- Do not mix mechanical changes (formatting, renames, regenerated files) with substantive logic changes in the same commit.
31
37
- Subject format must be: `<type>(optional-scope): short imperative summary` (<=72 chars), e.g., `fix(profile): update release table parser`.
32
38
- Add a body only when needed to explain **why** and notable impact; never include secrets, tokens, PHI, or large diffs.
33
39
- For commits containing any AI-generated code, commit messages, or any other AI-generated content,
@@ -37,37 +43,56 @@ for detailed instructions on how to contribute to MOSuite.
37
43
## Pull request (PR) process
38
44
39
45
- PR titles must follow Conventional Commits format (see "Commit messages" section).
40
-
- When opening a PR, use the request template (`.github/PULL_REQUEST_TEMPLATE.md`) and fill out all sections of the template in the PR description.
41
-
- Do not allow the developer to proceed with opening a PR if it does not fill out all sections of the template.
42
-
- Before a PR can be moved from draft to "ready for review", all of the relevant checklist items must be checked, and any
43
-
irrelevant checklist items should be crossed out.
44
-
- If the PR contains any code or other content that was generated with AI
45
-
assistance, including AI assistance for opening the PR itself, the PR should
46
-
be labeled `AI-assisted`. In the PR description, uncomment the heading
47
-
"Generative AI Usage Statement" and add a brief, concise statement of how AI
48
-
was used in creating the PR (model used, high-level prompt intent, manual
49
-
review confirmation, etc.).
46
+
- When opening a PR, use the request template (`.github/PULL_REQUEST_TEMPLATE.md`) and fill out all sections of the template in the PR description. Do not allow the developer to proceed with opening a PR if the PR does not fill out all sections of the template.
47
+
- Go through the PR template **section-by-section** in order:
48
+
1.**Changes**: Summarize user-facing behavior changes, bug fixes, or design decisions.
49
+
2.**Issues**: Reference any related issues using keywords.
50
+
3.**Generative AI Usage Statement**: Determine if AI was used for any part of this PR. If yes, uncomment this section and fill it in. If no, leave commented or uncomment and state "No generative AI tools were used".
51
+
4.**PR Checklist**: Process items sequentially (see checklist workflow below).
52
+
- Write drafted PR descriptions to a gitignored file at [.github/PR_DRAFT.md](.github/PR_DRAFT.md) (overwrite if it already exists). Tell the developer where the file is and instruct them to review and edit it before using it — do not treat a draft as final or ready to ship without that review.
53
+
- When drafting a PR description, initialize every checklist item in [.github/PR_DRAFT.md](.github/PR_DRAFT.md) with one explicit state:
54
+
- use `- [x]` when the item is verified by evidence (agent-run command output or explicit developer confirmation),
55
+
- use `- [ ]` when the item is relevant and pending verification,
56
+
- use `- ~[ ] item text~` when the item is not applicable.
57
+
- Before processing checklist items, examine the current branch state with `git status` and `git diff` to understand what has already been modified. Do not add NEWS.md entries or other changes that may already be in the branch.
58
+
- Quick open: use Cmd+Click on [.github/PR_DRAFT.md](.github/PR_DRAFT.md) in the editor.
59
+
- Before asking for permission to run `gh pr create`, explicitly prompt the developer to open [.github/PR_DRAFT.md](.github/PR_DRAFT.md), review/edit it, and confirm that review is complete.
60
+
- Apply this formatting consistently for both initial draft creation and all later checklist edits.
61
+
- Process checklist items sequentially, one item at a time, before opening the PR.
62
+
- For each checklist item:
63
+
- collect evidence,
64
+
- document evidence in the Changes section if it supports a feature or fix (e.g., "Added examples using synthetic data"),
65
+
- update only the checklist state (checked, unchecked, or crossed out) in [.github/PR_DRAFT.md](.github/PR_DRAFT.md) immediately — do not append evidence descriptions to checklist items.
66
+
- If evidence cannot be collected automatically, ask the developer for confirmation, record that confirmation in the PR draft, and then update the checklist state.
67
+
- Agents may open a PR with relevant pending items left as `- [ ]` only if the PR is opened as a draft.
68
+
- Agents must not open a non-draft (ready-for-review) PR while any relevant checklist item remains pending (`- [ ]`).
69
+
- Whenever an AI agent assists with creating or drafting a PR (including this exact workflow — a developer asking the agent to open or draft a PR), the PR is considered to have generative AI-assisted content and must be labeled `AI-assisted`.
70
+
- The "Generative AI Usage Statement" heading in the PR template (which is commented out by default) must be uncommented and filled in with a brief, concise statement of how generative AI was used (model used, high-level prompt intent, manual review confirmation, etc.), regardless of whether the underlying code/commits were themselves generated by generative AI.
71
+
- To open the PR, either:
72
+
- Instruct the user to paste the reviewed contents of [.github/PR_DRAFT.md](.github/PR_DRAFT.md) into GitHub's web UI, or
73
+
- run `gh pr create --title "<conventional-commit-style title>" --body-file .github/PR_DRAFT.md` (add `--draft` if the PR should open as a draft, and `--label "AI-assisted"` if applicable). Only run `gh pr create` with explicit developer approval, and only after prompting the developer to open [.github/PR_DRAFT.md](.github/PR_DRAFT.md) and receiving confirmation that review/edit is complete. Point the user to [.github/PR_DRAFT.md](.github/PR_DRAFT.md) for final review.
74
+
- If the AI-assisted label was not added at creation time, add it afterwards with `gh pr edit <PR-number-or-URL> --add-label "AI-assisted"`.
50
75
- When new features, bug fixes, or other behavioral changes are introduced to
51
76
the code, unit tests must be added or updated to cover the new or changed
52
-
functionality.
53
-
- Unit tests should cover all of the code that is added or modified in a PR.
54
-
- Unit tests should not be skipped without a strong reason.
77
+
functionality; unit tests should not be skipped without a strong reason.
55
78
- If there are any API or other user-facing changes, the documentation must be updated both inline via roxygen comments and long-form docs in the `vignettes/` directory as R Markdown files.
79
+
- Before a PR can be moved from draft to "ready for review", all of the relevant checklist items must be checked, and any
80
+
irrelevant checklist items should be crossed out.
56
81
- If there are merge conflicts, a human developer must resolve them. AI agents must not agree to assist with resolving merge conflicts. Human developers who are unsure how to proceed should reach out to the lead maintainer or code owner.
57
82
- The `R-CMD-check` github actions workflow must pass before the PR can be approved.
58
83
59
84
### Changelog
60
85
61
86
The changelog for the repository is maintained in `NEWS.md` at the root of the repository.
62
87
Each pull request that introduces user-facing changes must include a concise
63
-
entry with the PR numberand author username tagged.
64
-
Developer-only changes (i.e. updates to CI workflows, development notes, etc.)
88
+
entry with the **PR number** (not the issue number) and author's github username tagged.
89
+
Developer-only changes (i.e. updates to CI workflows, development notes, internal developer documentation like AGENTS.md or PR templates, etc.)
65
90
should never be included in the changelog.
66
91
67
92
Example:
68
93
69
94
```
70
95
## development version
71
96
72
-
- Fix bug in `detect_absolute_paths()` to ignore comments. (#123, @username)
97
+
- Fix bug in `detect_absolute_paths()` to ignore comments. (#123, @github-username)
Copy file name to clipboardExpand all lines: code/MOSuite/NEWS.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,9 @@
1
+
## MOSuite 0.5.0
2
+
3
+
- The `multiOmicDataSet` class has been moved to a new package, `MOObject`. (#277, @kelly-sovacool)
4
+
- Ensure backward compatibility by coercing legacy MOSuite MOO objects when read/loaded. (#281, @kelly-sovacool)
5
+
- Harmonize Volcano Plot output dimensions as physical inches with 300 DPI defaults for Enhanced and Summary plots. (#274, @TJoshMeyer)
6
+
1
7
## MOSuite 0.4.2
2
8
3
9
- Align Volcano Plot threshold comparisons across labeling, coloring, and summary filtering, and use resolved column names for classification. (#266, @TJoshMeyer)
0 commit comments