Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Bug report
description: Report reproducible incorrect behavior in ecosystem policy or tooling
description: Report one reproducible Backtest defect
title: "[Bug]: "
labels:
- "type: bug"
Expand All @@ -10,7 +10,9 @@ body:
- type: markdown
attributes:
value: |
Search existing issues first. Do not disclose suspected vulnerabilities here.
Search existing issues first and report one problem here.
Read [CONTRIBUTING.md](https://github.com/ml4t/backtest/blob/main/CONTRIBUTING.md).
Report suspected vulnerabilities through the private security link instead.
- type: dropdown
id: library
attributes:
Expand Down Expand Up @@ -50,13 +52,16 @@ body:
id: expected
attributes:
label: Expected behavior
description: >-
For a numerical defect, state the intended definition and expected result. An earlier
output alone does not establish correctness.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Minimal reproduction
description: Provide the smallest complete example and error output.
description: Provide the smallest complete public API or user workflow example and error output.
validations:
required: true
- type: dropdown
Expand All @@ -78,3 +83,12 @@ body:
description: State the observable conditions that demonstrate the issue is resolved.
validations:
required: true
- type: textarea
id: ai_assistance
attributes:
label: AI assistance
description: >-
State whether AI tools helped prepare this report and which parts they produced.
Write "None" if none.
validations:
required: true
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ contact_links:
- name: Security vulnerability
url: https://github.com/ml4t/backtest/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.
- name: Usage documentation
url: https://www.ml4trading.io/docs/backtest/user-guide/
about: Read the Backtest user guide for usage instructions and examples.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ labels:
- "status: needs-triage"
- "compatibility: none"
body:
- type: markdown
attributes:
value: |
Search existing issues and report one documentation problem.
Read [CONTRIBUTING.md](https://github.com/ml4t/backtest/blob/main/CONTRIBUTING.md).
- type: dropdown
id: library
attributes:
Expand Down Expand Up @@ -53,3 +58,12 @@ body:
label: Acceptance criteria
validations:
required: true
- type: textarea
id: ai_assistance
attributes:
label: AI assistance
description: >-
State whether AI tools helped prepare this report and which parts they produced.
Write "None" if none.
validations:
required: true
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ labels:
- "status: needs-triage"
- "compatibility: affected"
body:
- type: markdown
attributes:
value: |
Search existing issues and describe one change.
Read [CONTRIBUTING.md](https://github.com/ml4t/backtest/blob/main/CONTRIBUTING.md).
- type: dropdown
id: library
attributes:
Expand Down Expand Up @@ -64,3 +69,12 @@ body:
label: Acceptance criteria
validations:
required: true
- type: textarea
id: ai_assistance
attributes:
label: AI assistance
description: >-
State whether AI tools helped prepare this request and which parts they produced.
Write "None" if none.
validations:
required: true
25 changes: 24 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,48 @@

Closes #

Keep this PR focused on one issue. Automated dependency updates and administrative metadata
changes may state that exception here instead of linking an issue.

## Outcome

Describe the user-visible or standards outcome.

## Bug regression evidence

For a bug fix, exercise the affected public API or user workflow on both revisions. The test must
fail because of the defect on the base and pass with the fix. State "Not a bug fix" when this
section does not apply.

- Base revision, command, and observed failure:
- Fix revision, command, and passing result:

## Compatibility

- [ ] No public compatibility impact
- [ ] Compatibility impact is documented in the owning issue and migration guidance

For numerical changes, state the intended result and how it was checked independently of the old
output. If the definition, annualization, sign convention, or default changes, cite the decision in
the owning issue and describe the compatibility impact.

## Verification

- [ ] Tests reproduce the prior failure or verify the requested behavior
- [ ] Bug regression fails on the base and passes with the fix, or this is not a bug fix
- [ ] Ruff lint and format checks pass
- [ ] `ty` passes
- [ ] Test suite passes
- [ ] Package build passes when applicable
- [ ] Strict MkDocs build passes when documentation is affected
- [ ] Ecosystem qualification passes

List the commands actually run and their results. Explain any unchecked item.

## AI assistance

State whether AI tools helped produce the code, tests, documentation, or PR text, and identify the
parts they produced. Write "None" if none. Confirm that you reviewed and tested any AI-assisted work.

## Documentation and release

State the documentation, release notes, and patch-release work required after merge.
26 changes: 26 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Contributing to ml4t-backtest

Read the [ML4T contribution policy](https://github.com/ml4t/ecosystem/blob/main/CONTRIBUTING.md)
before opening an issue or pull request. This guide identifies the Backtest-specific entry points.

Search [existing issues](https://github.com/ml4t/backtest/issues) first. Report one problem per
issue. For a bug, include the affected package version, Python and operating-system versions,
expected and observed behavior, and a complete example that reproduces the result. Report suspected
vulnerabilities through the [private security process](SECURITY.md).

Keep each pull request focused on one issue and include a closing reference such as `Closes #123`.
Automated dependency updates and administrative metadata changes do not need a separate issue. For
a bug fix, run a regression through the affected public API or user workflow against both the base
revision and the fix. Record both revisions, commands, and results in the pull request. The test
must fail because of the defect on the base and pass with the fix. Documentation changes need
documentation checks, not an artificial regression test.

For numerical defects, establish the intended result independently of the old output. If the
definition, annualization, sign convention, or default changes, agree on the expected behavior in
the owning issue and describe the compatibility impact.

Run the relevant commands in the [Development section](README.md#development) and the
[repository quality commands](AGENTS.md#quality-commands), then report the results. CI also checks
compatibility, security, parity, and package artifacts. State whether AI tools helped with the issue
or pull request and which parts they produced. Review and test that work yourself; be prepared to
explain it during review.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -476,6 +476,8 @@ Release-critical validation files are listed in
[`validation/release_checks.txt`](validation/release_checks.txt). CI runs the supported gate set,
including compatibility, security, parity, and artifact qualification.

Read [CONTRIBUTING.md](CONTRIBUTING.md) before filing an issue or pull request.

## Known Limitations

See [LIMITATIONS.md](LIMITATIONS.md) for documented assumptions:
Expand Down
Loading