From bccd3c1977c343cd9d1940342538b1cd0e531c9b Mon Sep 17 00:00:00 2001 From: kchason Date: Wed, 29 Jun 2022 08:45:30 -0400 Subject: [PATCH] Add markdown for change control documentation --- ontology/change-control/index.md | 94 +++++++++++++++++++++++++++ ontology/change-control/workflow.png | Bin 0 -> 31677 bytes 2 files changed, 94 insertions(+) create mode 100644 ontology/change-control/index.md create mode 100644 ontology/change-control/workflow.png diff --git a/ontology/change-control/index.md b/ontology/change-control/index.md new file mode 100644 index 0000000..6e5e74b --- /dev/null +++ b/ontology/change-control/index.md @@ -0,0 +1,94 @@ +--- +title: CDO Change Request Process +--- + +# Overview +This document highlights the process for change proposals made to the Cyber Domain Ontology (CDO). Required artifacts, workflows, class of change, approvals, and integration are covered herein. + +A Jira Dashboard shall list active proposals with their timeframe based on the class of change. Email reminders will be sent as timeframes approach breach. + +# Artifacts +The following artifacts shall be produced and provided as part of the change proposal process. + +| Artifact | Description | Class 1 | Class 2 | Class 3 | +|-----------------|-------------|---------|---------|---------| +| Change Issue | A GitHub Issue addressing the proposed change with required details identified below | X | X | X | +| Pull Request | A GitHub Pull Request that includes the proposed change | X | X | X | +| Change Proposal | Confluence page addressing requirements identified below | X | | | + +# Workflow +![CDO Workflow Diagram](workflow.png) + +- **`GITHUB`** Create Issue for Change Request (CR) +- **`GITHUB`** When available, submit Pull Request (PR) and associate it with the CR GitHub Issue +- **`JIRA`** Automatically creates ticket to administratively track CR +- **`JIRA`** All procedural comments should be posted to the Jira ticket +- **`GITHUB`** All technical and conceptual comments should be posted to the GitHub Issue +- **`JIRA`** Ticket transitions to **Triage** and is reviewed based on the criteria outlined below in Change Classes +- **`JIRA`** Ticket transitions to **Review** where it remains open for comment and review for a period of time outlined below in Change Classes +- **`JIRA`** If a ticket transitions to **Escalated** it will be reviewed at the next committee meeting +- **`JIRA`** If a ticket transitions to **Implement** the associated PR will be merged +- **`GITHUB`** Automatically merges pull request into the develop branch +- **`JIRA`** The **Verify** status will serve to confirm the merge was successful +- **`JIRA`** Ticket automatically transitions to **Closed** once all outstanding actions are completed +- **`GITHUB`** Automatically closes the CR GitHub Issue when Jira ticket is closed + +# Change Classes +Categorizing changes into different classes allows low risk proposals to be integrated into ontologies more efficiently, while still allowing robust and thorough review of high-impact changes to ontologies and their infrastructures. + +#### Workflow Impact +- If 3 voting members oppose the change request within the given timeline the request will escalate to committee for further deliberation. +- If at any time during the open period more than 50% of voting members vote in favor of the proposed change the change request will auto-transition to implement. + +## Class 1 (Major) +Class 1 changes include infrastructure changes or major restructuring of an ontology representation that will cause fundamental breaking impacts to adopters. + +### Triage Criteria +- The change does not meet the criteria for a lower impact class change. + +### Workflow Impact +- Class 1 change requests will auto-transition to implement after a 30 calendar day review period unless a committee review is triggered as defined above. + +## Class 2 (Minor) +Class 2 changes include non-infrastructure changes that involves minor breaks in classes, facets, or properties for adopters. + +### Triage Criteria +- The change includes at least one modification or deletion that may cause any existing adopting implementations or tests to break. +- The change does not remove representation of a concept (though it may be moved or renamed). +- The change does not impact more than 25 combined objects, facets, and properties. +- The change does not establish a new namespace. +- The change does not alter the representation technology for the ontology (eg. OWL, SHACL). + +### Workflow Impact +- Class 2 change requests will auto-transition to implement after a 14 calendar day review period unless a committee review is triggered as defined above. + +## Class 3 (Non-Breaking) +Class 3 changes include non-infrastructure changes that do not involve any breaking changes for adopters. This can include additions, alterations, or deletions. + +### Triage Criteria +- The change is not expected to cause any existing adopting implementations or tests to break. + +### Workflow Impact +- Class 3 change requests will auto-transition to implement after a 7 calendar day review period unless a committee review is triggered as defined above. + +# Release Process +In order to help get changes out to the community as fast as possible, the following process for releasing new versions of the ontology shall be used. + +- GitHub pull requests will be made against the `develop` branch, following the Git Flow model they have been. + +### UCO + +- Upon a branch being merged into `develop` or `main` or the creation of a tag, the GitHub Action will trigger adopting ontologies' actions to update to the latest version of UCO. + +### Adopting Ontologies (eg. CASE) +- A GitHub Action workflow will be configured to automatically bring the UCO submodule to the latest version. This will have a webhook that allows the UCO GitHub actions to update the like-named branches (`main`, `develop`, etc). + +- Upon a branch being merged into the development branch (e.g. `develop`), a “monolithic” ontology file will be built and included as an artifact in the GitHub Actions workflow with the version containing the Unix timestamp (eg. 0.5.0.1646158390). + +- Upon a branch being merged into the default branch (e.g. `main` or `master`) , a “monolithic” ontology file will be built and included as an artifact in the GitHub Actions workflow with the build version incremented (eg. 0.5.1). + +- Upon the creation of a tag, a “monolithic” ontology file will be built and included as an artifact in the GitHub Actions workflow with the name of the tag as the version (eg. 0.6.0). This file will also be uploaded into the “Releases” section of the GitHub repository. + + + + diff --git a/ontology/change-control/workflow.png b/ontology/change-control/workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..bbbdc26651c9fbb442cfa04400d5d0e551103aec GIT binary patch literal 31677 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 literal 0 HcmV?d00001