FR-CFG-004 — Environment Inheritance

Go to Crucible Configuration Management Requirements

Statement

Crucible SHALL produce a resolved Infrastructure Configuration by combining configuration values inherited from an identified parent Infrastructure Configuration with explicit overrides defined by the child Infrastructure Configuration.

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 nameSupport is a weak verb that does not identify the behavior Crucible performsEnvironment inheritance model does not identify the inherited artifact, inheritance relationship, or resulting configurationThe source statement does not distinguish a parent Infrastructure Configuration from a child Infrastructure ConfigurationThe source statement does not identify the result produced by resolving inherited values and child overridesThe source statement does not identify which configuration values may be overriddenThe source statement does not identify how an explicit override replaces an inherited valueThe source statement does not identify how values without an explicit override are resolvedThe source statement does not define how inheritance conflicts are detected or resolvedThe source statement does not identify how the resolved configuration preserves its relationship to the parent and child configurationsThe source statement does not identify the validation criteria applied to the resolved configurationThe normalized Statement replaces the weak verb with produce, identifies the resolved Infrastructure Configuration as the required result, and defines how inherited values and explicit child overrides contribute to that result.

Inheritance validation, conflict handling, inheritance depth, multiple-parent inheritance, override authorization, 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 structureSecurity settingsApproved Baseline referencesCommon infrastructure resourcesResource relationshipsLogging settingsCompliance settingsOperational constraintsA child Infrastructure Configuration identifies its parent configuration and defines only the explicit 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 capacityScaling limitsNetwork addressesEnvironment identifiersDeployment regionsAccess restrictionsRetention periodsCrucible combines inherited values with explicit child overrides to produce a resolved Infrastructure Configuration.

For each configuration value:

The resolved configuration retains the inherited value when the child configuration does not define an overrideThe resolved configuration uses the child value when the child configuration defines an explicit overrideThe resolved configuration preserves the distinction between:

Values inherited from the parent Infrastructure ConfigurationValues explicitly overridden by the child Infrastructure ConfigurationValues introduced by the child Infrastructure ConfigurationThe resulting values used for the target environmentThis distinction allows an evaluator or operator to determine:

Which parent configuration appliesWhich values originated in the parent configurationWhich values the child configuration overridesWhich values the child configuration introducesWhich values form the resolved Infrastructure ConfigurationEnvironment inheritance supports:

Reduced configuration duplicationConsistent configuration across related environmentsControlled environment-specific variationConfiguration comparisonReduced configuration driftReproducibilityProvenanceAuditabilityTraceability

Applies To

This requirement applies to:

Parent Infrastructure ConfigurationsChild Infrastructure ConfigurationsResolved Infrastructure ConfigurationsEnvironment inheritanceInherited configuration valuesExplicit configuration overridesChild-defined configuration valuesInfrastructure EnvironmentsDeclarative ConfigurationInfrastructure BlueprintsBaselinesInfrastructure BaselinesConfiguration ManagementProvenanceAuditabilityReproducibilityTraceability

Verification

Verification SHALL confirm that each tested child Infrastructure Configuration identifies its parent Infrastructure ConfigurationVerification SHALL confirm that Crucible produces a resolved Infrastructure Configuration from the identified parent and child configurationsVerification SHALL confirm that the resolved Infrastructure Configuration contains the applicable values inherited from the identified parentVerification SHALL confirm that an explicit value defined by the child Infrastructure Configuration replaces the corresponding inherited valueVerification SHALL confirm that a value not explicitly overridden by the child retains the value inherited from the parent Infrastructure ConfigurationVerification SHALL confirm that a value introduced by the child Infrastructure Configuration appears in the resolved Infrastructure ConfigurationVerification SHALL confirm that the resolved Infrastructure Configuration distinguishes inherited values from explicit child overrides and child-introduced valuesVerification SHALL confirm that resolving the child Infrastructure Configuration does not modify the parent Infrastructure ConfigurationVerification SHALL confirm that resolving the child Infrastructure Configuration does not modify the child Infrastructure ConfigurationVerification SHALL confirm that the resolved Infrastructure Configuration identifies the parent and child configurations used to produce itVerification SHALL confirm that the resolved Infrastructure Configuration satisfies the applicable acceptance criteriaVerification SHALL confirm that the configuration records preserve the applicable Provenance and TraceabilityVerification may include:

Parent configuration inspectionChild configuration inspectionInheritance relationship inspectionInherited-value comparisonExplicit override testsChild-introduced value testsResolved-configuration comparisonParent configuration immutability testsChild configuration immutability testsAcceptance criteria evaluationConfiguration record inspectionEnd-to-end CI/CD Pipeline testsThe verification record SHALL identify:

The tested parent Infrastructure ConfigurationThe tested child Infrastructure ConfigurationThe parent configuration revisionThe child configuration revisionThe inherited configuration valuesThe explicitly overridden valuesThe values introduced by the child configurationThe resulting resolved Infrastructure ConfigurationThe inheritance relationshipThe applicable acceptance criteriaThe observed resultsThe applicable ProvenanceThe 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 parent Infrastructure ConfigurationSelect a child Infrastructure ConfigurationRetrieve common configuration values from the parentApply explicit overrides defined by the childInclude values introduced by the childProduce a resolved Infrastructure ConfigurationPreserve the relationship among the parent, child, and resolved configurationsPerform Infrastructure DeploymentRecord the resolved Infrastructure Configuration associated with the deploymentPreserve execution results and EvidenceThis 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 produces a resolved Infrastructure Configuration by combining values inherited from an identified parent Infrastructure Configuration with explicit overrides defined by the child Infrastructure Configuration.

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.