Skip to content
Merged
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
21 changes: 19 additions & 2 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 reproducible incorrect behavior in Specs contracts or payload handling
title: "[Bug]: "
labels:
- "type: bug"
Expand All @@ -10,7 +10,10 @@ body:
- type: markdown
attributes:
value: |
Search existing issues first. Do not disclose suspected vulnerabilities here.
Read the [contribution guide](https://github.com/ml4t/specs/blob/main/CONTRIBUTING.md)
and [shared policy](https://github.com/ml4t/ecosystem/blob/main/CONTRIBUTING.md).
Search existing issues first and report one problem per issue. Do not disclose suspected
vulnerabilities here; use private security reporting from the issue chooser.
- type: dropdown
id: library
attributes:
Expand Down Expand Up @@ -78,3 +81,17 @@ 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. Write "None" if unused.
validations:
required: true
- type: checkboxes
id: accountability
attributes:
label: Contributor accountability
options:
- label: I reviewed this report and can explain its reproduction, requested behavior, or evidence.
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/specs/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/specs/
about: Read contract documentation before opening an issue.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ labels:
- "status: needs-triage"
- "compatibility: none"
body:
- type: markdown
attributes:
value: |
Read the [contribution guide](https://github.com/ml4t/specs/blob/main/CONTRIBUTING.md)
and [shared policy](https://github.com/ml4t/ecosystem/blob/main/CONTRIBUTING.md).
Search existing issues first. Describe one documentation problem or coherent change.
- type: dropdown
id: library
attributes:
Expand Down Expand Up @@ -53,3 +59,17 @@ 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. Write "None" if unused.
validations:
required: true
- type: checkboxes
id: accountability
attributes:
label: Contributor accountability
options:
- label: I reviewed this report and can explain its reproduction, requested behavior, or evidence.
required: true
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ labels:
- "status: needs-triage"
- "compatibility: affected"
body:
- type: markdown
attributes:
value: |
Read the [contribution guide](https://github.com/ml4t/specs/blob/main/CONTRIBUTING.md)
and [shared policy](https://github.com/ml4t/ecosystem/blob/main/CONTRIBUTING.md).
Search existing issues first. Request one coherent change and discuss intended behavior
before opening a PR. Identify contract versioning, serialized fixtures, migration guidance,
and affected producer/consumer libraries when compatibility changes.
- type: dropdown
id: library
attributes:
Expand Down Expand Up @@ -64,3 +72,17 @@ 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. Write "None" if unused.
validations:
required: true
- type: checkboxes
id: accountability
attributes:
label: Contributor accountability
options:
- label: I reviewed this report and can explain its reproduction, requested behavior, or evidence.
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,6 +2,11 @@

Closes #

Follow the [shared contribution policy](https://github.com/ml4t/ecosystem/blob/main/CONTRIBUTING.md)
and [Specs guide](https://github.com/ml4t/specs/blob/main/CONTRIBUTING.md).
Keep one problem or coherent change in this PR. Automated dependency updates and administrative
metadata changes do not require a separate issue.

## Outcome

Describe the user-visible or standards outcome.
Expand All @@ -11,16 +16,34 @@ Describe the user-visible or standards outcome.
- [ ] No public compatibility impact
- [ ] Compatibility impact is documented in the owning issue and migration guidance

For incompatible contract changes, identify the new version, migration guidance, serialized
fixtures, and affected producer/consumer libraries. Agree on intentional changes to definitions
or defaults in the owning issue; correct verified defects even when outputs change.

## Verification

- [ ] Tests reproduce the prior failure or verify the requested behavior
For a bug fix, record a regression through the affected public API or real workflow:

- Base revision, command, and failing result:
- PR revision, same command, and passing result:

For other changes, report the relevant commands and outcomes. Documentation changes do not need
artificial regression tests. Explain checks that do not apply.

- [ ] Verification covers the affected contract or workflow
- [ ] 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

## AI assistance

State whether AI tools helped with code or prose, and identify those parts. Write "None" if unused.

- [ ] I reviewed and tested this submission and can explain its implementation and evidence

## Documentation and release

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

Follow the [shared ML4T contribution policy](https://github.com/ml4t/ecosystem/blob/main/CONTRIBUTING.md).
Search existing issues and describe one problem or coherent change per issue and focused pull
request. Link the owning issue; automated dependency updates and administrative metadata changes
retain the shared exception. Disclose AI assistance for code and prose, review the submission,
and be prepared to explain its implementation and evidence.

For defects, provide a minimal public-API reproduction with package and environment details.
Record the same regression command failing on the base revision and passing on the correction.
Correct verified numerical defects; agree on intentional changes to definitions or defaults in
the owning issue. Documentation changes use relevant documentation checks rather than artificial
regression tests. Report suspected vulnerabilities through
[private security reporting](https://github.com/ml4t/specs/security/advisories/new).

## Preserve contract compatibility

Specs owns runtime-neutral values exchanged between libraries. Field names, enum values,
validation behavior, and serialized payloads are public compatibility surfaces. Preserve compatible
payloads. An incompatible change needs a new contract version, migration guidance, and fixtures
that define the transition. Describe affected producer and consumer libraries in the owning issue;
Backtest and Live retain responsibility for their runtime behavior.

Read the [contract guide](docs/contracts.md) and use the documented development and quality
commands in [AGENTS.md](AGENTS.md#quality-commands). Include the commands and outcomes in your PR.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,9 @@ This package is intentionally small. It is a support layer, not a full end-user

## Development

Read the [contribution guide](CONTRIBUTING.md) for issue scope, verification evidence, and contract
compatibility requirements.

```bash
git clone https://github.com/ml4t/specs.git
cd ml4t-specs
Expand Down
Loading