From 7b31dbe3603616798225e1733f913df0e30ec3b5 Mon Sep 17 00:00:00 2001 From: Stefan Jansen Date: Mon, 12 Oct 2026 22:40:21 -0400 Subject: [PATCH 1/3] docs: adopt shared focused-contribution policy --- .github/ISSUE_TEMPLATE/bug.yml | 12 +++++++++++- .github/ISSUE_TEMPLATE/config.yml | 7 +++++-- .github/ISSUE_TEMPLATE/documentation.yml | 14 ++++++++++++++ .github/ISSUE_TEMPLATE/feature.yml | 14 ++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 14 +++++++++++++- CONTRIBUTING.md | 21 +++++++++++++++++++++ 6 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 83cb694..ee1e9a6 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -10,7 +10,9 @@ body: - type: markdown attributes: value: | - Search existing issues first. Do not disclose suspected vulnerabilities here. + Follow the [contribution guide](https://github.com/ml4t/models/blob/main/CONTRIBUTING.md). + Search existing issues and describe one problem or coherent change per issue. + Report suspected vulnerabilities privately, not in this form. - type: dropdown id: library attributes: @@ -78,3 +80,11 @@ body: description: State the observable conditions that demonstrate the issue is resolved. validations: required: true + - type: textarea + id: ai-assistance + attributes: + label: AI assistance and accountability + description: State whether AI helped with this report and how. Confirm you checked the facts and can explain the reproduction or requested outcome. + placeholder: "None, or describe the assistance and your verification." + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 02c1195..498ae4e 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -4,5 +4,8 @@ contact_links: url: https://github.com/ml4t/models/security/advisories/new about: Report suspected vulnerabilities privately. - name: Usage questions - url: https://github.com/orgs/ml4t/discussions - about: Ask questions that do not describe a defect or requested change. + url: https://www.ml4trading.io/docs/models/ + about: Read the usage documentation before opening a focused issue. + - name: Contribution guide + url: https://github.com/ml4t/models/blob/main/CONTRIBUTING.md + about: Read the shared contribution requirements and repository-specific checks. diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml index d060f5a..00b107d 100644 --- a/.github/ISSUE_TEMPLATE/documentation.yml +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -7,6 +7,12 @@ labels: - "status: needs-triage" - "compatibility: none" body: + - type: markdown + attributes: + value: | + Follow the [contribution guide](https://github.com/ml4t/models/blob/main/CONTRIBUTING.md). + Search existing issues and describe one problem or coherent change per issue. + Report suspected vulnerabilities privately, not in this form. - type: dropdown id: library attributes: @@ -53,3 +59,11 @@ body: label: Acceptance criteria validations: required: true + - type: textarea + id: ai-assistance + attributes: + label: AI assistance and accountability + description: State whether AI helped with this report and how. Confirm you checked the facts and can explain the reproduction or requested outcome. + placeholder: "None, or describe the assistance and your verification." + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml index ca17225..0b8fa16 100644 --- a/.github/ISSUE_TEMPLATE/feature.yml +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -7,6 +7,12 @@ labels: - "status: needs-triage" - "compatibility: affected" body: + - type: markdown + attributes: + value: | + Follow the [contribution guide](https://github.com/ml4t/models/blob/main/CONTRIBUTING.md). + Search existing issues and describe one problem or coherent change per issue. + Report suspected vulnerabilities privately, not in this form. - type: dropdown id: library attributes: @@ -64,3 +70,11 @@ body: label: Acceptance criteria validations: required: true + - type: textarea + id: ai-assistance + attributes: + label: AI assistance and accountability + description: State whether AI helped with this report and how. Confirm you checked the facts and can explain the reproduction or requested outcome. + placeholder: "None, or describe the assistance and your verification." + validations: + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 0d92431..73d8ecc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,12 @@ +Follow the [local contribution guide](../CONTRIBUTING.md) and shared policy linked there. +Keep this PR focused on one problem or coherent change. + ## Owning issue Closes # +Automated dependency updates and administrative metadata changes do not require a separate issue. + ## Outcome Describe the user-visible or standards outcome. @@ -13,7 +18,8 @@ Describe the user-visible or standards outcome. ## Verification -- [ ] Tests reproduce the prior failure or verify the requested behavior +- [ ] For a defect, the same public-workflow regression fails on the relevant base and passes on the fix +- [ ] Exact base/fix revisions, commands, and results are included; documentation uses relevant checks - [ ] Ruff lint and format checks pass - [ ] `ty` passes - [ ] Test suite passes @@ -24,3 +30,9 @@ Describe the user-visible or standards outcome. ## Documentation and release State the documentation, release notes, and patch-release work required after merge. + +## AI assistance and accountability + +State whether AI assisted with code or prose and identify its contribution. + +- [ ] I reviewed and tested this submission and can explain its implementation and evidence diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..32cad83 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,21 @@ +# Contributing to ML4T Models + +Follow the [shared ML4T contribution policy](https://github.com/ml4t/ecosystem/blob/main/CONTRIBUTING.md). +Search existing issues first. Describe one problem or coherent change per issue and submit one +focused PR linked to its owning issue. Automated dependency updates and administrative metadata +changes retain the shared exception. + +For defects, provide a minimal reproduction through the public API or user workflow, package and +environment details, and expected behavior. Record a regression failing on the relevant base and +passing on the fix, with exact revisions, commands, and results. Correct verified numerical defects; +agree on intentional changes to definitions, annualization, signs, or defaults in the owning issue +and describe their compatibility impact. Documentation changes use relevant documentation checks. + +Disclose whether AI assisted with code or prose and identify its contribution. Review and test your +submission yourself, and be prepared to explain its implementation, evidence, and review responses. + +Preserve temporal identities, model-family assumptions, and optional dependency boundaries. +Retain the existing CPU/GPU qualification requirements for affected model families. +Use the repository's [quality commands](AGENTS.md#quality-commands) and report their outcomes. +Report suspected vulnerabilities through +[private security reporting](https://github.com/ml4t/models/security/advisories/new). From 3ab1a946f01b2d62f026e979ac3133019af5646d Mon Sep 17 00:00:00 2001 From: Stefan Jansen Date: Sat, 17 Oct 2026 21:12:30 -0400 Subject: [PATCH 2/3] docs: retain shared maintainer batching rules in contribution guidance --- AGENTS.md | 20 ++++++++++++++++++++ CONTRIBUTING.md | 4 ++++ 2 files changed, 24 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 1d4dcd5..c919b88 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -56,3 +56,23 @@ uv run python scripts/ci/check_coverage.py coverage.json uv run mkdocs build --strict uv build ``` + +## Maintainer-directed change batching + +For our own fixes and agent work directed by the maintainer, use a bounded, coherent PR rather +than one PR per small defect or implementation step. One PR may close several related issues +when the changes serve the same user workflow, subsystem repair or compatibility objective and +can be reviewed and reverted together. Keep implementation, regressions, documentation and +follow-up repairs together; use focused commits and retain evidence for each defect. Do not +create separate issues or PRs merely for individual files, tests, assertions or platform variants. + +Split unrelated changes, independently risky or breaking changes, separate ownership boundaries, +and work that needs independent release or rollback decisions. A general maintenance label alone +does not make a batch coherent. Reuse or safely consolidate existing owned submissions instead of +opening overlapping PRs; preserve contributor attribution, recoverable history and other owners' +active work. Do not rewrite or close someone else's work merely to reduce the queue count. + +Run focused checks while iterating, then qualify the complete final revision with every applicable +required gate. Group related work before expensive CI; do not weaken checks, bypass review or +claim old-head checks qualify changed code. This maintainer-directed batching rule takes precedence +over a literal one-issue-per-PR reading of contributor intake guidance. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 32cad83..d53bb5b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,6 +5,10 @@ Search existing issues first. Describe one problem or coherent change per issue focused PR linked to its owning issue. Automated dependency updates and administrative metadata changes retain the shared exception. +Maintainer-directed work may group related issues in one bounded PR under the shared policy. +Keep changes together when they serve the same workflow or subsystem repair and can be reviewed +and reverted together. Split unrelated changes and changes needing independent release decisions. + For defects, provide a minimal reproduction through the public API or user workflow, package and environment details, and expected behavior. Record a regression failing on the relevant base and passing on the fix, with exact revisions, commands, and results. Correct verified numerical defects; From 586170bb0f7c3c19b8c2d5f85085f2e6749a7509 Mon Sep 17 00:00:00 2001 From: Stefan Jansen Date: Sat, 17 Oct 2026 22:12:24 -0400 Subject: [PATCH 3/3] docs: distinguish the local batching exception from published shared policy --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d53bb5b..7702f9f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,9 +5,9 @@ Search existing issues first. Describe one problem or coherent change per issue focused PR linked to its owning issue. Automated dependency updates and administrative metadata changes retain the shared exception. -Maintainer-directed work may group related issues in one bounded PR under the shared policy. -Keep changes together when they serve the same workflow or subsystem repair and can be reviewed -and reverted together. Split unrelated changes and changes needing independent release decisions. +Maintainer-directed work in this repository follows the local +[batching rules](AGENTS.md#maintainer-directed-change-batching), which allow related issues in one +bounded PR when they can be reviewed and reverted together. For defects, provide a minimal reproduction through the public API or user workflow, package and environment details, and expected behavior. Record a regression failing on the relevant base and