dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-005

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-005 [2026/07/16 08:23] – created nick_didodido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-005 [2026/07/30 05:17] (current) nick_dido
Line 5: Line 5:
 ===== Statement ===== ===== Statement =====
  
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL preserve each revision of an [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] and the relationship between successive revisions.+[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL maintain the complete version history of each [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]].
  
-===== Source Statement =====+===== Derived From =====
  
-> The system SHALL maintain complete configuration version history.+This requirement derives from:
  
-===== Source =====+  * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-005
  
-Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-005.+The Original Requirement states:
  
-===== Assessment =====+> //The system SHALL maintain complete configuration version history.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
  
-The source statement expresses the approved functional intent but does not provide all information required for deterministic verification.+FR-CFG-005:
  
-The following Specification Discipline and Authoring findings apply:+  * Replaces **The system** with the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] 
 +  * Identifies the [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] as the configuration whose version history is maintained
  
-  * **The system** does not use the defined system name +No other substantive normalization is required.
-  * **Maintain** does not identify the specific preservation behavior that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] performs +
-  * **Configuration** does not identify the configuration artifact to which the requirement applies +
-  * **Complete** does not identify the records required for completeness +
-  * **Version history** does not identify whether the requirement applies to revision content, revision identifiers, revision relationships, authorship, timestamps, approval status, or change rationale +
-  * The source statement does not identify whether a prior revision must remain retrievable +
-  * The source statement does not identify whether a revision may be deleted or altered +
-  * The source statement does not define the retention period for configuration history +
-  * The source statement does not identify the records required to preserve [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]], [[dido:99_annexes:annex-b-terms-and-definitions:a:auditability|Auditability]], and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] +
- +
-The normalized Statement replaces the broad verb with **preserve**, identifies the Infrastructure Configuration as the controlled artifact, and requires preservation of each revision and the relationships among successive revisions. +
- +
-Revision identification, authorship, timestamps, change rationale, approval status, deletion controls, and retention periods require evaluation during the Configuration Management completeness review before allocation to this requirement or creation of derived requirements.+
  
 ===== Rationale ===== ===== Rationale =====
  
-Configuration history allows an organization to determine how an [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] changes over time. +The version history of an [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] records the revisions of that configuration over time.
- +
-Without preserved revision content and revision relationships, an organization cannot reliably: +
- +
-  * Reconstruct a prior configuration +
-  * Compare two revisions +
-  * Determine when a change occurred +
-  * Identify the source of configuration change +
-  * Associate a deployed environment with the configuration revision used +
-  * Investigate configuration drift +
-  * Restore a prior valid configuration +
-  * Demonstrate [[dido:99_annexes:annex-b-terms-and-definitions:a:auditability|Auditability]] +
-  * Preserve [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] +
- +
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] preserves each configuration revision as a distinct historical state.+
  
-The preserved revision relationship identifies the preceding revision and, when applicable, the succeeding revision.+Maintaining the complete version history allows an authorized user or process to identify and retrieve earlier and current configuration revisions.
  
-This history provides the foundation for separately defined behaviors such as:+The version history supports separately governed activities such as:
  
   * Revision comparison   * Revision comparison
 +  * Historical configuration retrieval
   * Change review   * Change review
-  * Change approval +  * Configuration restoration 
-  * Prior revision retrieval +  * Configuration audit
-  * Rollback +
-  * Configuration drift analysis +
-  * Environment reconstruction +
-  * Compliance review +
- +
-Configuration version history supports: +
   * [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]]   * [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]]
-  * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:a:auditability|Auditability]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] 
  
 ===== Applies To ===== ===== Applies To =====
Line 79: Line 45:
   * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]   * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]
   * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configurations]]   * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configurations]]
-  * [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]] +  * Infrastructure Configuration revisions 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_blueprint|Infrastructure Blueprints]] +  * Configuration version history
-  * Parent Infrastructure Configurations +
-  * Child Infrastructure Configurations +
-  * Resolved configurations +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:revision|Revisions]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:revision_history|Revision History]] +
-  * Revision content +
-  * Revision relationships+
   * [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]]   * [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]]
-  * [[dido:99_annexes:annex-b-terms-and-definitions:c:configuration_management|Configuration Management]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:a:auditability|Auditability]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] 
  
 ===== Verification ===== ===== Verification =====
  
-  - Verification SHALL confirm that each tested [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] revision remains preserved after a succeeding revision is created +Verification confirms that:
-  - Verification SHALL confirm that the preserved content of each tested revision remains distinguishable from the content of other revisions +
-  - Verification SHALL confirm that each tested revision identifies its preceding revision when a preceding revision exists +
-  - Verification SHALL confirm that each tested revision identifies its succeeding revision when a succeeding revision exists +
-  - Verification SHALL confirm that an authorized user can retrieve each tested revision +
-  - Verification SHALL confirm that retrieval of a prior revision does not alter the preserved revision content +
-  - Verification SHALL confirm that a newly created revision does not overwrite the preserved content of a prior revision +
-  - Verification SHALL confirm that the revision history preserves the applicable [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]+
  
-Verification may include: +  tested Infrastructure Configuration has two or more revisions 
- +  - [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] retains each tested revision in the configuration version history 
-  * Revision history inspection +  - Each tested revision remains distinguishable from the other tested revisions 
-  * Revision content inspection +  - An authorized user or process can identify and retrieve each tested revision 
-  * Revision relationship inspection +  - Creation of a succeeding revision does not overwrite a preceding revision 
-  * Successive revision tests +  - The version history identifies the order of the tested revisions
-  * Prior revision retrieval tests +
-  * Prior revision integrity tests +
-  * Revision overwrite tests +
-  * Repository history inspection +
-  * Provenance record inspection +
-  * Traceability record inspection +
- +
-The verification record SHALL identify: +
- +
-  The tested Infrastructure Configuration +
-  - The tested revisions +
-  - The preserved content associated with each revision +
-  - The preceding revision relationships +
-  - The succeeding revision relationships +
-  - The revision retrieval results +
-  - The revision integrity results +
-  - The applicable [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] +
-  - The observed results +
-  - The generated [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] +
- +
-===== Outgoing Traceability ===== +
- +
-This requirement refines: +
- +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-001|MO-001 — Repeatable, Compliant, and Secure Infrastructure Environments]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005|MO-005 — Reusable and Version-Controlled Infrastructure]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-006|MO-006 — Infrastructure Lifecycle Management]] +
- +
-This requirement operates within the conditions established by: +
- +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-001|OR-001 — Operational Roles]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-002|OR-002 — Deployment Environments]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-003|OR-003 — Classified and Unclassified Environments]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-004|OR-004 — Concurrent Environment Management]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-005|OR-005 — Distributed Environment Management]] +
- +
-This requirement also relates to: +
- +
-  * [[dido:02-crusible:05-descriptions-composition-and-baselines:start|5. Descriptions, Composition, and Baselines]] +
-  * [[dido:02-crusible:07-infrastructure-and-deployment:start|7. Infrastructure and Deployment]] +
-  * [[dido:02-crusible:10-reproducibility-provenance-and-traceability:start|10. Reproducibility, Provenance, and Traceability]]+
  
 ===== Referenced By ===== ===== Referenced By =====
  
-The wiki Backlinks function provides the current list of pages that reference ''FR-CFG-005''.+The following pages reference this requirement:
  
-Incoming traceability should be derived dynamically from backlinks rather than maintained as a duplicate manual list.+{{backlinks>.#dido:02-crusible}}
  
-Backlinks identify incoming references but do not define the semantics of each relationship. Referencing pages should identify whether the relationship represents realization, refinement, verification, dependency, or another defined traceability relationship.+===== Implementation Status =====
  
-===== ConOps Relationship =====+Implemented and Verified
  
-The Crucible Concept of Operations describes the use of version-controlled configuration inputs within a [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] workspace.+===== Requirement Status =====
  
-The Phase 1 workflow uses preserved configuration history to:+<todo>Review and approve FR-CFG-005 as a leaf requirement.</todo>
  
-  * Retrieve an identified configuration revision +---- 
-  * Compare configuration revisions +===== Issues =====
-  * Select an approved revision +
-  * Associate a configuration revision with an execution +
-  * Reconstruct a prior configuration state +
-  * Investigate configuration drift +
-  * Preserve execution history +
-  * Preserve [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] +
- +
-The preserved revision history provides the configuration record required to reproduce, review, and audit infrastructure changes over time. +
- +
-===== Delivery Phase ===== +
- +
-Phase 1 and subsequent phases +
- +
-===== Implementation Status ===== +
- +
-Not Assessed +
- +
-Implementation status requires verification that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] preserves each Infrastructure Configuration revision and the relationships among successive revisions. +
- +
-===== Requirement Status =====+
  
-Draft+<todo>Determine whether Configuration Version History requires a controlled definition in the shared Terms and Definitions corpus.</todo>
  
-The source System Requirements Specification identifies Version 1.1 as a draft.+<todo>Determine whether separate requirements define revision metadata, retention periods, deletion controls, comparison, or restoration.</todo>
  
 ---- ----
 ===== Notes for Editors ===== ===== Notes for Editors =====
  
-This requirement page should retain the stable requirement identifier ''FR-CFG-005''.+This requirement page retains the stable requirement identifier ''FR-CFG-005''.
  
-Changes to the Statement SHALL preserve the approved intent of the source requirement.+This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
  
-Material changes should receive review and should update the related outbound traceability, verification criteria, revision records, and source records.+The Statement preserves the approved source intent by requiring Crucible to maintain the complete version history of each Infrastructure Configuration.
  
-The Source Statement should preserve the original wording from the controlling System Requirements Specification. +Do not add approval status, authorship, timestamps, change rationale, retention periods, deletion controls, comparison, restorationdeployment association, provenance, or traceability obligations to the Statement unless the controlling requirement changes through an approved requirements process.
- +
-The Configuration Management completeness review should evaluate whether unique revision identifiers, authorship, timestamps, change rationale, approval status, deletion controls, retention periods, comparison, rollbackand environment-to-revision traceability require derived requirements+
- +
-Incoming traceability should use the wiki Backlinks function rather than a manually maintained list.+
  
 To reference this requirement Statement from another wiki page, insert: To reference this requirement Statement from another wiki page, insert:
Line 215: Line 97:
 {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-005#Statement&noheader&nofooter&noeditbtn}} {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-005#Statement&noheader&nofooter&noeditbtn}}
 </code> </code>
- 
-Do not rename this page after an external citation unless a redirect or move plan is in place. 
  
 ---- ----
  • dido/02-crusible/99-annexes/annex-c-requirements/03-functional-requirements/03-01-configuration-management/fr-cfg-005.1784215390.txt.gz
  • Last modified: 2026/07/16 08:23
  • by nick_dido