diff --git a/.github/ISSUE_TEMPLATE/code_bug.md b/.github/ISSUE_TEMPLATE/code_bug.md index a4483587..516a5155 100644 --- a/.github/ISSUE_TEMPLATE/code_bug.md +++ b/.github/ISSUE_TEMPLATE/code_bug.md @@ -1,14 +1,21 @@ --- name: Code bug report about: Create a report to help us improve the project code -title: 'πŸ›πŸ’» – ' +title: 'πŸ›πŸ’» ' labels: ['πŸ’» code', 'πŸ› bug'] assignees: '' --- -**Describe the problem** +## What's the problem? -**Steps to reproduce** +## Thoughts about what is going on + +## Steps to reproduce and/or test that it is solved + +## Non-normative Change Process + +- [ ] Submit change as a PR to `main` branch that will pass tests. +- [ ] PRs MUST be reviewed and approved in GitHub by 2+ members of the board – or their designees – for accuracy and consistency with the changes’ intent. diff --git a/.github/ISSUE_TEMPLATE/code_feature.md b/.github/ISSUE_TEMPLATE/code_feature.md index 1234abb0..cc2a1948 100644 --- a/.github/ISSUE_TEMPLATE/code_feature.md +++ b/.github/ISSUE_TEMPLATE/code_feature.md @@ -1,31 +1,24 @@ --- name: Code feature request about: Suggest and idea for the project code -title: 'πŸš€πŸ’» – ' -labels: ['πŸ’» code', 'πŸš€ feature'] +title: 'πŸš€πŸ’» ' +labels: ['πŸ’» code', 'πŸš€ feature', 'πŸ“ non-normative'] assignees: '' --- - - -**Describe the feature you want and how it meets your needs or solves a problem** +## User Story + As a , I want so that . -**Describe the solution you'd like** - - -**Describe alternatives you've considered** +## Context + + +## Solution Development + +## Non-normative Change Process -**Additional context** - +- [ ] Submit change as a PR to `main` branch that will pass tests. +- [ ] PRs MUST be reviewed and approved in GitHub by 2+ members of the board – or their designees – for accuracy and consistency with the changes’ intent. diff --git a/.github/ISSUE_TEMPLATE/pre-release.md b/.github/ISSUE_TEMPLATE/pre-release.md new file mode 100644 index 00000000..e5a6f212 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/pre-release.md @@ -0,0 +1,31 @@ +--- +name: Checklist for a TIDES pre-release +about: Process for creating a TIDES pre-release +title: '⭐ Pre-release Checklist for ' +labels: ['πŸ“„ spec'] +assignees: '' +--- + +This issue tracks outstanding items that must be completed before declaring a pre-release. + +**Release Milestone:** + +Requirements from [Versioning Policy](https://tides-transit.org/main/governance/policies/change-management/#versions-and-release-management) + +## Pre-requisite Checklist + +- [ ] Contains one or more changes to [normative content](https://tides-transit.org/main/governance/policies/change-management/#normative-content) which have been approved through the change-making process. +- [ ] Documentation available. +- [ ] Has an entry in CHANGELOG.md. +- [ ] Non-normative content synced from `main` branch. +- [ ] `develop` reviewed and approved in GitHub by 1+ members of the board – or their designees – for accuracy and consistency. + +## Implementation Checklist + +- [ ] Tagged with its [version number](https://tides-transit.org/main/governance/policies/change-management/#version-numbering). +- [ ] [Specified as a pre-release on Github](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository). +- [ ] Noticed to any TIDES mailing lists or discussion groups. + +## Additional items for Beta release + +- [ ] All (planned) normative content changes completed for milestone (otherwise, an alpha release) diff --git a/.github/ISSUE_TEMPLATE/release.md b/.github/ISSUE_TEMPLATE/release.md new file mode 100644 index 00000000..5efc7bd0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/release.md @@ -0,0 +1,30 @@ +--- +name: Checklist for an official TIDES release +about: Process for creating an official TIDES release +title: '🌟 Release Checklist for ' +labels: ['πŸ“„ spec','πŸ”„ normative change'] +assignees: '' +--- + +This issue tracks outstanding items that must be completed before declaring a full release. + +**Release Milestone:** + +Requirements from [Versioning Policy](https://tides-transit.org/main/governance/policies/change-management/#versions-and-release-management) + +## Pre-requisite Checklist + +- [ ] Contains one or more changes to [normative content](https://tides-transit.org/main/governance/policies/change-management/#normative-content) which have been approved through the change-making process. +- [ ] Documentation available. +- [ ] Has an entry in CHANGELOG.md. +- [ ] PR from `develop` to `main` reviewed and approved in GitHub by 2+ members of the Board – or their designees – for accuracy and consistency with the changes’ intent. + +## Implementation Checklist + +- [ ] Tagged with its [version number](https://tides-transit.org/main/governance/policies/change-management/#version-numbering). +- [ ] [Specified as a release on Github](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository). +- [ ] Noticed to any TIDES mailing lists or discussion groups. + +## Optional recommended actions + +- [ ] Sample datasets (real or exemplary) that cover the normative changes in the release diff --git a/.github/ISSUE_TEMPLATE/spec_bug.md b/.github/ISSUE_TEMPLATE/spec_bug.md deleted file mode 100644 index 04b18f4c..00000000 --- a/.github/ISSUE_TEMPLATE/spec_bug.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: Data specification bug report -about: Report errors in the data specification -title: 'πŸ›πŸ“„ – ' -labels: ['πŸ“„ spec', 'πŸ› bug'] -assignees: '' - ---- - -**Describe the problem** - - -**Possible Solutions** - - -**Additional context** - diff --git a/.github/ISSUE_TEMPLATE/spec_feature.md b/.github/ISSUE_TEMPLATE/spec_feature.md deleted file mode 100644 index 2eafbf6d..00000000 --- a/.github/ISSUE_TEMPLATE/spec_feature.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: Data specification feature request -about: Suggest an idea for the data specification -title: 'πŸ“„πŸš€ – ' -labels: ['πŸ“„ spec', 'πŸš€ feature'] -assignees: '' - ---- - - - -**Describe the feature you want and how it meets your needs or solves a problem** - -As a , I want so that . - -**Describe the solution you'd like** - - -**Describe alternatives you've considered** - - -**Additional context and sample data** - diff --git a/.github/ISSUE_TEMPLATE/spec_non-normative.md b/.github/ISSUE_TEMPLATE/spec_non-normative.md new file mode 100644 index 00000000..149a3217 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/spec_non-normative.md @@ -0,0 +1,27 @@ +--- +name: Non-normative change to specification +about: This would be a [**non-normative content change**](https://tides-transit.org/main/governance/policies/change-management/#normative-content) to the spec. +title: 'πŸ“ ' +labels: ['πŸ“„ spec', 'πŸš€ feature', 'πŸ“ non-normative'] +assignees: '' + +--- + +- [ ] Meets requirement of a [**non-normative changes**](https://tides-transit.org/main/governance/policies/change-management/#normative-content) which can be implemented with a pull-request that is approved by 2+ members of the TIDES Board – or their designees – for accuracy and consistency with the changes’ intent. + +## User Story + + +As a , I want so that . + +## Context + + + +## Solution Ideas + + +## Non-normative Change Process + +- [ ] Submit change as a PR to `main` branch. +- [ ] PRs MUST be reviewed and approved in GitHub by 2+ members of the board – or their designees – for accuracy and consistency with the changes’ intent. diff --git a/.github/ISSUE_TEMPLATE/spec_normative.md b/.github/ISSUE_TEMPLATE/spec_normative.md new file mode 100644 index 00000000..d6fc05e5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/spec_normative.md @@ -0,0 +1,45 @@ +--- +name: Normative change to specification +about: This would require a [**normative content change**](https://tides-transit.org/main/governance/policies/change-management/#normative-content) to the spec, requiring the [official change-making process](https://tides-transit.org/main/governance/policies/change-management/#change-making-stages). +title: 'πŸ”„ ' +labels: ['πŸ“„ spec', 'πŸš€ feature', 'πŸ”„ normative change'] +assignees: '' +--- + +- [ ] This would require a [**normative content change**](https://tides-transit.org/main/governance/policies/change-management/#normative-content) to the spec, requiring the [official change-making process](https://tides-transit.org/main/governance/policies/change-management/#change-making-stages). + +## User Story + + +As a , I want so that . + +## Context + + + +## Working Group Members + +*The TIDES Manager will invite those who have expressed interest in the issue (including the issue creator and commenters) and who they believe will have an interest in the topic to take part on the Issue Working Group. They will also solicit participation from all TIDES Contributors.* + +## Solution Ideas + + + +## Normative Change Process + +## Preparation + +- [ ] TIDES Manager has convened an Issue Working Group. +- [ ] Working Group members document discussion points in this issue. + +## Resolution + +- [ ] Working Group members reach consensus. + +*OR* + +- [ ] While consensus will be sought, if the Working Group members cannot come to a unanimous agreement about the solution, the TIDES Manager may ask the TIDES Board to make a decision after hearing feedback from various perspectives. + +## Implementation + +- [ ] Working Group members update the schema and documentation according to the proposal on a feature branch and submit a pull request to the develop branch. diff --git a/.github/ISSUE_TEMPLATE/spec_urgent.md b/.github/ISSUE_TEMPLATE/spec_urgent.md new file mode 100644 index 00000000..1f2f8e2f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/spec_urgent.md @@ -0,0 +1,56 @@ +--- +name: Data specification feature request +about: An [**urgent need**](https://tides-transit.org/main/governance/policies/change-management/#expedited-change-management) for a [**normative change**](https://tides-transit.org/main/governance/policies/change-management/#normative-content) to the TIDES Specification which is critical to maintaining the security, compliance, or operational functionality of TIDES which should go through the [expedited change-making process](https://tides-transit.org/main/governance/policies/change-management/#expedited-change-management). +title: '❗ ' +labels: ['πŸ“„ spec', 'πŸš€ feature', '❗ Urgent', 'πŸ”„ normative change'] +assignees: '' + +--- + +[ ] Meets the requirements for an [**urgent need**](https://tides-transit.org/main/governance/policies/change-management/#expedited-change-management) critical to maintaining the security, compliance, or operational functionality of TIDES. +[ ] Meets requirement of a [**normative content change**](https://tides-transit.org/main/governance/policies/change-management/#normative-content) – otherwise, can open a non-normative change which is much easier. + +### Urgency Justification + + +## User Story + + +As a , I want so that . + +## Context + + + +## Working Group Members + +*The TIDES Manager MUST convene a group of at least 2 TIDES Contributors of their choosing to swiftly assess the issue’s urgency and validity.* + +- *The Urgent Working Group Members SHOULD contain representatives of TIDES Contributors affected stakeholder groups.* +- *The Urgent Working Group size SHOULD be at least three and reflect the scale of the problem and also need for agile decision making.* + +## Solution Ideas + + +## Expedited Change Process Progress + +### TIDES Manager Approves Proceeding + +- [ ] TIDES Manager confirms meets threshold for an urgent need. +- [ ] TIDES Manager proposes Urgent Working Group Members to the TIDES Board. + +### TIDES Board Approves Proceeding + +- [ ] TIDES Board confirms need is urgent. +- [ ] TIDES Board confirms Urgent Working Group Membership. + +*OR* + +- [ ] If the TIDES Board fails to respond within 48 hours, the Urgent Working Group MAY proceed with their implicit approval. + +### Solution Identification + +- [ ] Urgent Working Group, managed by the TIDES Manager identifies a solution agreed to by a supermajority of the Urgent Working Group members. +- [ ] If the decision is deadlocked, the decision is escalated to the TIDES Board. + - [ ] Board approves a solution. +- [ ] Approved solution documented as a PR to the main repository branch diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 81742625..39d88d36 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,10 +1,68 @@ # Pull Request -Before submitting a pull request, please read [CONTRIBUTING.md](CONTRIBUTING.md). + -For spec changes: +## Submission Checklist -- [ ] Pull-requests must address an existing issue -- [ ] Update relevant documentation. +- [ ] Link Pull Requests to relevant issues +- [ ] Relevant documentation updated +- [ ] Certify to the Developer Certificate of Origin in [CONTRIBUTING.md](CONTRIBUTING.md#contributor-agreement). + +## Checklist for changes in `/samples` or `/spec` + +- [ ] Ran `tests/test_local_spec` script to check and fix formatting, validate profile and schemas with frictionless and with each other, and confirm that documentation can be built locally. +- [ ] Ran `tests/test_samples_to_local` script to check if samples conform to any changes to the spec. + +## Checklist for **non-normative changes + +- [ ] Meets requirement of a [**non-normative changes**](https://tides-transit.org/main/governance/policies/change-management/#normative-content) +- [ ] PR Approved by 2+ members of the TIDES Board – or their designees – for accuracy and consistency with the changes’ intent. + +## Checklist for **normative** changes + + +### Working Group Consensus + +- [ ] Proposal Working Group agrees to support this proposed change. + +### Reviews Conducted + +- [ ] The TIDES Manager has invited people outside of the Working Group to review and comment on the Pull Request for the proposal for a minimum of two weeks, making sure TIDES Contributors with different roles and backgrounds have had a chance to consider it. +- [ ] The TIDES Manager has reviewed the proposal for consistency with the Open Standards Definition maintained by the Mobility Data Interoperability Principles. +- [ ] A minimum of three TIDES Contributors outside the Working Group have noted their view of the proposal as: Accepted; Accepted with minor changes; or Substantially revised. The TIDES Manager MUST offer tools, services and assistance to any TIDES Contributor who is unable to fluidly interact with the tooling used in the review process. + +### Reviewer Resolution + +The review results in the one of the following: + +- [ ] 100% of reviewers accept and the proposal can be adopted without need for further discussion +- [ ] Accepted with minor changes if all reiewers either approve or approve with minor changes +- [ ] Major changes requested if any reviewer requests major changes + +### Minor Changes Requested + +If 1+ reviewer accepts with minor changes and no substantial revisions requested, the suggested change must be considered by the Working Group. + +Changes Requested... + +- [ ] Working Group decides to incorporate the edited proposal. + - [ ] Updated proposal re-circulated for > 72 hours and previous reviewers notified. + - [ ] Nobody has objected to the change in that time --> can be adopted. +- [ ] Working Group does not agree with the suggested change and appeal submitted to the TIDES Board. + - [ ] TIDES Board approves this change. + +### Major Changes Requested + +If any reviewer requests substantial changes, they must also agree to work with the working group on developing an alternative solution to the need. If the working group believes the substantial change request is invalid or without merit, they may appeal to the TIDES Board to make a final decision about if revisions are necessary. + +- [ ] Alternative solution being developed. +- [ ] Working Group does not agree with the suggested change and appeal submitted to the TIDES Board. + - [ ] TIDES Board approves this change. + +## Checklist for **expedited** change + + +- [ ] A supermajority of the Urgent Working Group members have approve the proposed change to meet the urgent need. +- [ ] If the decision is deadlocked, the decision is escalated to the TIDES Board. + - [ ] TIDES Board approves this change. -By contributing to this project, all contributors certify to the Developer Certificate of Origin in [CONTRIBUTING.md](CONTRIBUTING.md#contributor-agreement).