====== MO-005c — Infrastructure Baseline Revision Control ====== [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:start|Go to MO-005 — Reusable and Version-Controlled Infrastructure Baselines]] ===== Statement ===== [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL maintain each [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baseline]] under [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]]. ===== Derived From ===== This requirement derives from: * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:start|MO-005 — Reusable and Version-Controlled Infrastructure Baselines]] The Original Requirement states: > //The system SHALL establish infrastructure as a reusable and version-controlled asset.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]] MO-005c preserves the portion of the Original Requirement that requires infrastructure to be version controlled by identifying the controlled subject as an Infrastructure Baseline. The separate requirements derived from MO-005 address: * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:mo-005a|MO-005a — Infrastructure Baseline Artifact Management]] * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:mo-005b|MO-005b — Infrastructure Baseline Identification]] * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:mo-005d|MO-005d — Approved Infrastructure Baseline Selection]] * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:mo-005e|MO-005e — Infrastructure Baseline Reuse]] * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:mo-005f|MO-005f — Approved Infrastructure Baseline Preservation]] * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:mo-005g|MO-005g — Infrastructure Deployment Baseline Traceability]] ===== Rationale ===== [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] preserves the revision history of an [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baseline]]. A version-controlled Infrastructure Baseline can maintain: * A stable Artifact identifier * A distinct identifier for each revision * The content associated with each revision * The relationship between successive revisions * The date and time associated with each revision * The actor or process responsible for each revision * The reason for each revision * The approval status of each revision * The [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] associated with each revision * The [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] relationships associated with each revision Version Control supports: * Retrieval of a specific Infrastructure Baseline revision * Comparison of Infrastructure Baseline revisions * Identification of changes between revisions * Reproduction of an Infrastructure Deployment from a selected revision * Preservation of approved revisions * Creation of a new revision when Infrastructure Baseline content changes * Recovery from an unintended change * Auditability of Infrastructure Baseline evolution The stable Artifact identifier identifies the Infrastructure Baseline across revisions. A revision identifier distinguishes one controlled state of the Infrastructure Baseline from another. This requirement does not assign the stable Artifact identifier. MO-005b addresses Infrastructure Baseline identification. This requirement does not prohibit modification of an approved revision. MO-005f addresses preservation of approved Infrastructure Baseline revisions. This requirement does not require an Infrastructure Deployment to record the revision used. MO-005g addresses that Traceability. ===== Applies To ===== This requirement applies to: * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baselines]] * [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] * [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] * Artifact identifiers * Revision identifiers * Revision histories * Revision relationships * Change records * Approval records * Artifact repositories * Artifact catalog records * [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] ===== Verification ===== Verification confirms that: - Each [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baseline]] is maintained within a [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] mechanism - Each controlled revision is distinguishable from every other revision of the same Infrastructure Baseline - Each revision remains associated with the stable Artifact identifier of the Infrastructure Baseline - The content associated with each revision is retrievable - The relationship between successive revisions is recorded - The changes between two revisions can be identified - A prior revision can be retrieved without replacing or altering another revision - Each revision record identifies the actor or process responsible for the revision - Each revision record identifies the reason for the revision - The verification record preserves [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] for the revision history ===== Referenced By ===== The following pages reference this requirement: {{backlinks>.#dido:02-crusible}} ===== Delivery Phase ===== Implemented and Verified. ===== Implementation Status ===== Assess whether the current Crucible implementation maintains each Infrastructure Baseline under Version Control. ===== Requirement Status ===== Review and accept MO-005c as a proposed derived requirement created from the evaluation and decomposition of MO-005 in the Crucible System Requirements Specification, Version 1.1 Draft. ---- ===== Issues ===== The following unresolved issues affect this requirement: Define the Version Control mechanism used for Infrastructure Baselines. Define the revision identifier assigned to each controlled Infrastructure Baseline revision. Define the relationship recorded between successive Infrastructure Baseline revisions. Define the change record required for each Infrastructure Baseline revision. Define the approval-status information recorded for each Infrastructure Baseline revision. Define the retention and retrieval requirements for prior Infrastructure Baseline revisions. ---- ===== Notes for Editors ===== This requirement page should retain the stable requirement identifier ''MO-005c''. This page is a leaf requirement page and omits a trailing '':start'' from its namespace. The parent MO-005 page is a non-leaf page and retains a trailing '':start'' in its namespace. Changes to the Statement should preserve: * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] as the responsible actor * The [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baseline]] as the controlled subject * [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] as the required management mechanism * Preservation and retrieval of distinguishable Infrastructure Baseline revisions The Version Control record should identify: * The stable Infrastructure Baseline Artifact identifier * The revision identifier * The predecessor revision * The revision date and time * The actor or process responsible for the revision * The revision description * The reason for the revision * The approval status * The associated [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] * The associated [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] Material changes should receive review and should update the verification criteria, source records, and Issues section. To reference this requirement Statement from another wiki page, insert: {{section>dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:mo-005c#Statement&noheader&nofooter&noeditbtn}} Do not rename this page after an external citation unless a redirect or move plan is in place. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.