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

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-004 [2026/07/16 08:21] – created nick_didodido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-004 [2026/07/30 05:16] (current) nick_dido
Line 5: Line 5:
 ===== Statement ===== ===== Statement =====
  
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL derive each child [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] from one identified parent Infrastructure Configuration while preserving inherited configuration values except where the child configuration explicitly overrides them.+[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL derive an [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] from an identified parent Infrastructure Configuration.
  
-===== Source Statement =====+===== Derived From =====
  
-> The system SHALL support environment inheritance models.+This requirement derives from:
  
-===== Source =====+  * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-004
  
-Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-004.+The Original Requirement states:
  
-===== Assessment =====+> //The system SHALL support environment inheritance models.//[[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-004:
  
-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]] 
- +  * Replaces the weak phrase **support environment inheritance models** with the observable behavior **derive*
-  * **The system** does not use the defined system name +  * Identifies an Infrastructure Configuration as the subject of inheritance 
-  * **Support** is a weak verb that does not identify the behavior [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] performs +  * Identifies a parent Infrastructure Configuration as the source of inherited configuration content
-  * **Environment inheritance model** does not identify the inherited artifact, inheritance relationship, or resulting configuration +
-  The source statement does not distinguish a parent Infrastructure Configuration from a child Infrastructure Configuration +
-  The source statement does not identify whether a child configuration may inherit from one or more parent configurations +
-  The source statement does not identify which configuration values may be overridden +
-  * The source statement does not identify how an override remains distinguishable from an inherited value +
-  * The source statement does not define how inheritance conflicts are resolved +
-  * The source statement does not identify how the resulting configuration preserves the relationship to its parent +
-  * The source statement does not identify the validation criteria applied to the resolved configuration +
- +
-The normalized Statement replaces the weak verb with **derive**, identifies the parent and child Infrastructure Configurations, limits each child configuration to one identified parent, and requires explicit overrides for inherited values. +
- +
-Validation, conflict detection, inheritance depth, multiple-parent inheritance, and resolved-configuration traceability require evaluation during the Configuration Management completeness review before allocation to this requirement or creation of derived requirements.+
  
 ===== Rationale ===== ===== Rationale =====
  
-Environment inheritance allows related [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environments]] to share common configuration without duplicating the complete configuration for each environment. +Environment inheritance allows related [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environments]] to share common configuration content.
- +
-A parent Infrastructure Configuration may define values common to a group of environments, such as: +
- +
-  * Network structure +
-  * Security settings +
-  * Approved [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]] references +
-  * Common infrastructure resources +
-  * Resource relationships +
-  * Logging settings +
-  * Compliance settings +
-  * Operational constraints +
- +
-A child Infrastructure Configuration inherits those values and explicitly identifies only the permitted differences required by the target environment. +
- +
-For example, development, test, staging, and production environments may inherit common infrastructure intent while overriding values such as: +
- +
-  * Resource capacity +
-  * Scaling limits +
-  * Network addresses +
-  * Environment identifiers +
-  * Deployment regions +
-  * Access restrictions +
-  * Retention periods +
- +
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] preserves the distinction between inherited values and child-specific overrides. +
- +
-This distinction allows an evaluator or operator to determine: +
- +
-  * Which values originated in the parent configuration +
-  * Which values the child configuration overrides +
-  * Which parent configuration applies +
-  * Which values form the resulting resolved configuration+
  
-Environment inheritance supports:+A derived Infrastructure Configuration uses configuration content from an identified parent Infrastructure Configuration rather than duplicating the complete configuration.
  
-  * Reduced configuration duplication +This approach reduces configuration duplication and promotes consistency among related Infrastructure Environments.
-  * Consistent configuration across related environments +
-  * Controlled environment-specific variation +
-  * Configuration comparison +
-  * Reduced configuration drift +
-  * [[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 91: Line 39:
   * [[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]]
   * Parent Infrastructure Configurations   * Parent Infrastructure Configurations
-  * Child Infrastructure Configurations +  * Derived Infrastructure Configurations
-  * Environment inheritance +
-  * Inherited configuration values +
-  * Explicit configuration overrides +
-  * Resolved configurations+
   * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environments]]   * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environments]]
-  * [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_blueprint|Infrastructure Blueprints]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baselines]] 
-  * [[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 child [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] identifies one parent Infrastructure Configuration +Verification confirms that:
-  - Verification SHALL confirm that the child Infrastructure Configuration inherits configuration values from the identified parent +
-  - Verification SHALL confirm that inherited values remain unchanged unless the child Infrastructure Configuration explicitly overrides them +
-  - Verification SHALL confirm that each override identifies the inherited value that it replaces +
-  - Verification SHALL confirm that values not explicitly overridden retain the values defined by the parent Infrastructure Configuration +
-  - Verification SHALL confirm that the resulting resolved configuration distinguishes inherited values from child-specific overrides +
-  - Verification SHALL confirm that modifying the child Infrastructure Configuration does not modify the parent Infrastructure Configuration +
-  - Verification SHALL confirm that modifying the parent Infrastructure Configuration does not alter a previously recorded resolved configuration +
-  - Verification SHALL confirm that the inheritance relationship remains identifiable in the resulting configuration record +
-  - Verification SHALL confirm that the resolved configuration satisfies the applicable acceptance criteria +
-  - Verification SHALL confirm that the configuration records preserve 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: +  A tested Infrastructure Configuration identifies a parent Infrastructure Configuration 
- +  - [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] derives the tested Infrastructure Configuration from the identified parent Infrastructure Configuration 
-  * Parent configuration inspection +  - The derived Infrastructure Configuration contains configuration content obtained from the identified parent Infrastructure Configuration 
-  * Child configuration inspection +  - The relationship between the derived Infrastructure Configuration and its identified parent can be determined
-  * Inheritance relationship inspection +
-  * Inherited-value comparison +
-  * Override inspection +
-  * Resolved-configuration comparison +
-  * Parent immutability tests +
-  * Child modification tests +
-  * Parent revision tests +
-  * Acceptance criteria evaluation +
-  * Configuration record inspection +
-  * End-to-end [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] tests +
- +
-The verification record SHALL identify: +
- +
-  - The tested child Infrastructure Configuration +
-  - The identified parent Infrastructure Configuration +
-  - The inherited configuration values +
-  - The explicitly overridden values +
-  - The resulting resolved configuration +
-  - The inheritance relationship +
-  - The parent configuration revision +
-  - The child configuration revision +
-  - The applicable acceptance criteria +
-  - The observed results +
-  - The applicable [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] +
-  - 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-002|MO-002 — Reduced Platform Deployment Timelines]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003|MO-003 — Platform Independent Deployment]] +
-  * [[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-004''.+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 reusable and versioned configuration content within a [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] workspace.+===== Requirement Status =====
  
-Environment inheritance allows the workflow to:+<todo>Review and approve FR-CFG-004 as a leaf requirement.</todo>
  
-  * Select a common parent Infrastructure Configuration +---- 
-  * Apply common configuration values to related environments +===== Issues =====
-  * Apply explicit environment-specific overrides +
-  * Produce a resolved configuration for the target environment +
-  * Preserve the relationship between the parent and child configurations +
-  * Perform [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployment]] +
-  * Record the resolved configuration associated with the deployment +
-  * Preserve execution results and [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] +
- +
-This model reduces duplicated configuration while preserving explicit and reviewable differences among related environments. +
- +
-===== 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]] derives a child Infrastructure Configuration from one identified parent Infrastructure Configuration and preserves inherited values except where the child explicitly overrides them. +
- +
-===== Requirement Status =====+
  
-Draft+<todo>Determine whether Environment Inheritance 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 overrides, inheritance depth, conflict resolution, or inheritance from multiple parent Infrastructure Configurations.</todo>
  
 ---- ----
 ===== Notes for Editors ===== ===== Notes for Editors =====
  
-This requirement page should retain the stable requirement identifier ''FR-CFG-004''.+This requirement page retains the stable requirement identifier ''FR-CFG-004''.
  
-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, inheritance records, acceptance criteria, and source records.+The Statement preserves the approved source intent by requiring Crucible to derive an Infrastructure Configuration from an identified parent Infrastructure Configuration.
  
-The Source Statement should preserve the original wording from the controlling System Requirements Specification. +Do not add explicit override behavior, conflict resolution, inheritance depth, multiple-parent inheritance, validationapproval, deployment, revision history, 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 inheritance validation, conflict handling, inheritance depth, multiple-parent inheritance, override authorizationand resolved-configuration 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 236: Line 88:
 {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-004#Statement&noheader&nofooter&noeditbtn}} {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-004#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-004.1784215290.txt.gz
  • Last modified: 2026/07/16 08:21
  • by nick_dido