This document defines required contribution workflow, naming conventions, and pull request expectations for this repository.
- Do not develop directly on
main. - All changes must be made on a different branch and merged via pull request.
- Branch, issue, and commit names must follow the conventions below.
- Keep titles and descriptions short, clear, and specific.
- Create or confirm an issue for the work.
- Create a branch from the latest
mainusing the branch naming rules. - Implement the change and add/update relevant tests.
- Run required local checks.
- Open a pull request into
mainwith required summary and verification details.
Use lowercase and hyphen-separated descriptions.
Accepted patterns:
feat/short-descriptionfix/short-descriptiondocs/short-descriptionchore/short-descriptiontest/short-descriptionrefactor/short-description
You can also be extra specific by adding the issue number associated with your code as seen below.
Examples:
feat/add-sharded-embedding-index-loggingfix/issue-42-threshold-range-validationdocs/update-readme-pipeline-section
Issue title format:
<type>: short description
Examples:
bug: label shard mismatch across embedding keysdocs: add hpc setup troubleshootingchore: tighten local test gating in README
Issue body requirements:
Summary: a short statement of the problem or request.Done when: acceptance criteria, if applicable.
Commit title format:
<type>: short description
Examples:
bug: fix id-family key validation in labels builderchore: remove unused import from prediction clidocs: add contributing workflow and naming rules
Commit guidance:
- Keep the first line concise and specific.
- Keep one logical change per commit where possible.
All pull requests to main must include:
- A concise summary of what changed.
- Linked issue(s) (for example,
Fixes #42). - A concise "How to verify" section with exact commands.
- Any new or updated unit, integration, or e2e tests needed to verify behavior changes.
PRs should not include changed unrelated to the issue unless it's minor, please use your own discretion.
Run these checks locally before opening a PR:
ruff check .
pytest -m "unit or integration or e2e"If behavior changed, include targeted test commands in the PR verification section, along with expected outcomes.
- Branch name follows convention.
- Issue title/body follow convention (
SummaryandDone whenincluded when applicable). - Commit messages follow
<type>: short description. - No development occurred directly on
main. - PR includes concise summary and reproducible verification steps.
- Relevant unit/integration/e2e tests were added or updated.
- Use GitHub issues for normal development questions, bug reports, and feature requests.
- Use email for private or sensitive matters that should not be posted publicly.
- Maintainer contact: Jeffrey Hoelzel or Jason Ladner.