This is an old revision of the document!
FR-CFG-004 — Environment Inheritance
Statement
Crucible SHALL derive each child Infrastructure Configuration from one identified parent Infrastructure Configuration while preserving inherited configuration values except where the child configuration explicitly overrides them.
Source Statement
The system SHALL support environment inheritance models.
Source
Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-004.
Assessment
The source statement expresses the approved functional intent but does not provide all information required for deterministic verification.
The following Specification Discipline and Authoring findings apply:
-
The system does not use the defined system name
-
Support is a weak verb that does not identify the behavior Crucible performs
-
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
Environment inheritance allows related Infrastructure Environments to share common configuration without duplicating the complete configuration for each environment.
A parent Infrastructure Configuration may define values common to a group of environments, such as:
-
Network structure
-
Security settings
-
Approved 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
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:
-
Reduced configuration duplication
-
Consistent configuration across related environments
-
Controlled environment-specific variation
-
Configuration comparison
-
Reduced configuration drift
Applies To
This requirement applies to:
-
Parent Infrastructure Configurations
-
Child Infrastructure Configurations
-
Environment inheritance
-
Inherited configuration values
-
Explicit configuration overrides
-
Resolved configurations
Verification
-
Verification SHALL confirm that each tested child Infrastructure Configuration identifies one parent Infrastructure Configuration
-
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 Provenance and Traceability
Verification may include:
-
Parent configuration inspection
-
Child configuration inspection
-
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 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 Provenance
-
The generated Evidence
Outgoing Traceability
This requirement refines:
This requirement operates within the conditions established by:
This requirement also relates to:
Referenced By
The wiki Backlinks function provides the current list of pages that reference FR-CFG-004.
Incoming traceability should be derived dynamically from backlinks rather than maintained as a duplicate manual list.
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.
ConOps Relationship
The Crucible Concept of Operations describes the use of reusable and versioned configuration content within a CI/CD Pipeline workspace.
Environment inheritance allows the workflow to:
-
Select a common parent Infrastructure Configuration
-
Apply common configuration values to related environments
-
Apply explicit environment-specific overrides
-
Produce a resolved configuration for the target environment
-
Preserve the relationship between the parent and child configurations
-
Perform Infrastructure Deployment
-
Record the resolved configuration associated with the deployment
-
Preserve execution results and 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 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
The source System Requirements Specification identifies Version 1.1 as a draft.
Notes for Editors
This requirement page should retain the stable requirement identifier FR-CFG-004.
Changes to the Statement SHALL preserve the approved intent of the source requirement.
Material changes should receive review and should update the related outbound traceability, verification criteria, inheritance records, acceptance criteria, and source records.
The Source Statement should preserve the original wording from the controlling System Requirements Specification.
The Configuration Management completeness review should evaluate whether inheritance validation, conflict handling, inheritance depth, multiple-parent inheritance, override authorization, and 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:
{{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-004#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.