diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 8d333ea..489aadf 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/live/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: input id: version attributes: @@ -63,3 +65,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 3980c19..7e1ff25 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -4,5 +4,8 @@ contact_links: url: https://github.com/ml4t/live/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/live/ + about: Read the usage documentation before opening a focused issue. + - name: Contribution guide + url: https://github.com/ml4t/live/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 e03f26d..cd72878 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/live/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: input id: version attributes: @@ -38,3 +44,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 da95266..5b2f261 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/live/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: input id: version attributes: @@ -49,3 +55,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..edadb7e 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,12 @@ +Follow the [local contribution guide](https://github.com/ml4t/live/blob/main/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..2ff0f0c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,21 @@ +# Contributing to ML4T Live + +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. + +Start integration work in shadow or paper mode. Preserve explicit live-routing selection, +provider qualification, recovery behavior, and credential isolation. +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/live/security/advisories/new). diff --git a/README.md b/README.md index 3db8736..e62427d 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,8 @@ shared lifecycle and canonical intent contracts. See the ## Development +Read the [contribution guide](CONTRIBUTING.md) before opening an issue or pull request. + ```bash git clone https://github.com/ml4t/live.git cd live