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 configuration artifacts that participate in inheritanceThe 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 how an explicit child override affects an inherited valueThe source statement does not identify how a value without an explicit override is resolvedThe source statement does not identify the observable result used to verify inheritanceThe normalized Statement:

Replaces The system with the defined system nameReplaces support with the direct behavior produceIdentifies the parent and child Infrastructure ConfigurationsIdentifies the resolved Infrastructure Configuration as the required resultDefines how inherited values and explicit child overrides contribute to the resolved resultThe normalized Statement does not introduce configuration validation, approval, deployment, revision-history, provenance, traceability, or multiple-parent inheritance obligations. Separate requirements govern those behaviors when required.

Rationale

Environment inheritance allows related Infrastructure Environments to share common configuration without duplicating the complete configuration for each environment.

A parent Infrastructure Configuration defines values that apply to one or more child configurations.

A child Infrastructure Configuration identifies its parent and defines the differences required for its target environment.

For each configuration value:

The resolved Infrastructure Configuration retains the inherited value when the child does not define an explicit overrideThe resolved Infrastructure Configuration uses the child value when the child defines an explicit overrideThe resolved Infrastructure Configuration includes values introduced by the childFor example, development, test, staging, and production environments may inherit common infrastructure structure while defining different values for:

Resource capacityScaling limitsNetwork addressesEnvironment identifiersDeployment regionsAccess restrictionsRetention periodsEnvironment inheritance contributes to:

Reduced configuration duplicationConsistent configuration across related environmentsControlled environment-specific variationExplicit configuration overridesConfiguration reuseReproducibility

Applies To

This requirement applies to:

Parent Infrastructure ConfigurationsChild Infrastructure ConfigurationsResolved Infrastructure ConfigurationsInherited configuration valuesExplicit child overridesChild-defined configuration valuesInfrastructure Environments

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 values inherited from the identified parentVerification SHALL confirm that an explicit child override replaces the corresponding inherited value in the resolved Infrastructure ConfigurationVerification SHALL confirm that a value without an explicit child override 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 may include:

Parent Infrastructure Configuration inspectionChild Infrastructure Configuration inspectionInheritance relationship inspectionInherited-value comparisonExplicit override testsChild-introduced value testsResolved Infrastructure Configuration inspectionThe verification record SHALL identify:

The tested parent Infrastructure ConfigurationThe tested child Infrastructure ConfigurationThe inherited configuration valuesThe explicit child overridesThe values introduced by the child Infrastructure ConfigurationThe resulting resolved Infrastructure ConfigurationThe observed resultsThe 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 configuration content within a CI/CD Pipeline workspace.

Environment inheritance allows the workflow to:

Retrieve a parent Infrastructure ConfigurationRetrieve a child Infrastructure ConfigurationInherit common configuration values from the parentApply explicit overrides defined by the childInclude values introduced by the childProduce a resolved Infrastructure ConfigurationThis model reduces duplicated configuration while preserving explicit 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, and source records.

The Source Statement should preserve the original wording from the controlling System Requirements Specification.

Verification criteria should test only production of the resolved Infrastructure Configuration from inherited values and explicit child overrides.

Validation, approval, deployment, revision history, provenance, traceability, conflict handling, inheritance depth, and multiple-parent inheritance should not be introduced as normative behavior on this page unless the Statement changes through an approved requirements process.

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.