Skip to content

New PR template - #1260

Open
kennethshsu wants to merge 8 commits into
mainfrom
#1240_new_PR_template
Open

New PR template#1260
kennethshsu wants to merge 8 commits into
mainfrom
#1240_new_PR_template

Conversation

@kennethshsu

@kennethshsu kennethshsu commented Aug 31, 2026

Copy link
Copy Markdown
Member

Summary of Changes

Updated the PR template in accordance with the governing doc

Related GitHub Issue(s)

Closes #1240

Additional Context for Reviewers

There's not really a way for me to preview this, so I hope it goes well. Please let me know if something looks weird (don't know how to preview)

Checklist

  • I passed tests locally for both code (uv run pytest) and documentation changes (uv run --directory docs jb build . --builder=custom --custom-builder=doctest)

Note

Low Risk
Process-only change to the GitHub PR template with no runtime or library code impact.

Overview
Updates .github/pull_request_template.md so new PRs follow the project governing doc instead of the old single local-test checklist.

Adds an AI/LLM Usage section (with disclosure guidance), a hint on issue-linking keywords, and splits review into Submitter's and Reviewer's checklists covering governance adherence, title prefixes ([FIX], [FEAT], etc.), human attestation, ARCHITECTURE.md, linked issues, AI disclosure, docs/tests, reviewers, and CI. Section order and boilerplate comments are adjusted; the prior checklist item for uv run pytest / docs doctest is removed in favor of the governance-aligned items.

Reviewed by Cursor Bugbot for commit 2015105. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown

Pyright Type Completeness

View the full pyright --verifytypes output for this commit

Project (full chainladder package, at this PR's head): 15.2% of exported symbols fully typed (209 / 1377)

Known Ambiguous Unknown Total
Project (head) 209 111 1057 1377

Other symbols referenced but not exported by chainladder: 13

Known Ambiguous Unknown Total
Other (head) 3 1 9 13

Symbols without documentation:

  • Functions without docstring: 325
  • Functions without default param: 0
  • Classes without docstring: 10

Patch (exported symbols added or changed by this PR): no exported symbol type-completeness changes detected.

@kennethshsu

Copy link
Copy Markdown
Member Author

@genedan @henrydingliu you guys had a comment in #1043 to add type hinting in the PR template, where is the best place for this? I feel like if we just add it to the checklist it's awkward.

@codecov

codecov Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.90%. Comparing base (a72e835) to head (2015105).
⚠️ Report is 10 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1260      +/-   ##
==========================================
+ Coverage   91.70%   91.90%   +0.19%     
==========================================
  Files          93       93              
  Lines        5438     5608     +170     
  Branches      699      737      +38     
==========================================
+ Hits         4987     5154     +167     
- Misses        327      328       +1     
- Partials      124      126       +2     
Flag Coverage Δ
unittests 91.90% <ø> (+0.19%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@henrydingliu

Copy link
Copy Markdown
Member

I feel like if we just add it to the checklist it's awkward.

what would awkward about adding it to the checklist?

@kennethshsu

Copy link
Copy Markdown
Member Author

I feel like if we just add it to the checklist it's awkward.

what would awkward about adding it to the checklist?

Type hinting to me is not the same "level" as the other checklist items above, and it's also already in the Governing Doc, under the PRs "should": "Include proper type hinting".

Because it's not a "must", I don't know that adding it as a checklist item is a good idea? Plus, we already have the first item that you have read the Governing Doc and will adhere to it, though I'm not sure if that's too loose since the doc is very long.

What is your opinion?

@henrydingliu

Copy link
Copy Markdown
Member

Because it's not a "must"

type hinting is a required check that's currently xfail. up to you if you want to hit it with this PR template revision

@kennethshsu

Copy link
Copy Markdown
Member Author

I think we leave it off for now.

I'm sure there will be a day that we require all implementations to be properly typed and include the docstrings/examples. When we are there we can add it then is my vote.

Comment thread .github/pull_request_template.md Outdated
[TST] for unit testing
[CHORE] for chores and maintenance tasks
[BRK] for breaking changes, deprecations, and removals
- [ ] I am a human (not a bot), and this PR is not AI generated.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend replacing "this PR" to "this PR description", since we do allow LLMs for code, but discourage them for the communications.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Take a look at the new language, is that better?

Comment thread .github/pull_request_template.md Outdated
[DOCS] for documentation
[TST] for unit testing
[CHORE] for chores and maintenance tasks
[BRK] for breaking changes, deprecations, and removals

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm on the fence with having the whole list of tags in the template. It is possible to have an automatic check that fails unless the tag is present, what do you think?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about we compromise? I think it's good to have a short list here just so you don't have to always look up what the actual tag is and what's available?

Comment thread .github/pull_request_template.md Outdated
<!-- Do not edit anything below until the ticket is open. Checklists below. -->

## Submitter's Checklist
- [ ] I have reviewed and am adhering to the standards outlined in the project Governing Doc.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a hyperlink to the Governing Doc.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, will do



## Checklist
- [ ] I passed tests locally for both code (`uv run pytest`) and documentation changes (`uv run --directory docs jb build . --builder=custom --custom-builder=doctest`)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd recommend adding a bullet Submitter's Checklist that replaces this one. We now have a pre-commit hook that can one-shot all the workflows locally:

I passed all pre-commit checks prior to push (with a link to the list of workflows we deploy in the Governing Doc).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think this is necessary? We already have the CI tests that run automatically, and there's also the last bullet on the reviewer's list "CI tests passed or failure are acceptable"

@genedan

genedan commented Sep 1, 2026

Copy link
Copy Markdown
Member

I think it's OK to have a checklist item for it, although I'm not super adamant about it. Eventually we will be able to enforce it automatically and won't have the checklist item anymore.

Right now the % coverage has been moving up despite not having the checkbox, and I personally don't nag people about it during reviews (unlike my comments on spacing and indentation). If you find that you are constantly reminding people in your reviews to put the hints in, you should have the checkbox.

@kennethshsu

Copy link
Copy Markdown
Member Author

Maybe with typing, we can break up the submitter's list? So we have

  • Documentation is appropriate.
  • Tests are appropriate.
  • Typing is complete.

Or would this be too long? And also this is turning from a "should" to a "must".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update PR template based on the checklist in the governing doc

3 participants