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

This is an old revision of the document!


FR-CFG-004 — Environment Inheritance

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.

The system SHALL support environment inheritance models.

Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-004.

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 the result produced by resolving inherited values and child overrides
  • The source statement does not identify which configuration values may be overridden
  • The source statement does not identify how an explicit override replaces an inherited value
  • The source statement does not identify how values without an explicit override are resolved
  • The source statement does not define how inheritance conflicts are detected or resolved
  • The source statement does not identify how the resolved configuration preserves its relationship to the parent and child configurations
  • The source statement does not identify the validation criteria applied to the resolved configuration

The 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.

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 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 capacity
  • Scaling limits
  • Network addresses
  • Environment identifiers
  • Deployment regions
  • Access restrictions
  • Retention periods

Crucible 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 override
  • The resolved configuration uses the child value when the child configuration defines an explicit override

The resolved configuration preserves the distinction between:

  • Values inherited from the parent Infrastructure Configuration
  • Values explicitly overridden by the child Infrastructure Configuration
  • Values introduced by the child Infrastructure Configuration
  • The resulting values used for the target environment

This distinction allows an evaluator or operator to determine:

  • Which parent configuration applies
  • Which values originated in the parent configuration
  • Which values the child configuration overrides
  • Which values the child configuration introduces
  • Which values form the resolved Infrastructure Configuration

Environment inheritance supports:

This requirement applies to:

  1. Verification SHALL confirm that each tested child Infrastructure Configuration identifies its parent Infrastructure Configuration
  2. Verification SHALL confirm that Crucible produces a resolved Infrastructure Configuration from the identified parent and child configurations
  3. Verification SHALL confirm that the resolved Infrastructure Configuration contains the applicable values inherited from the identified parent
  4. Verification SHALL confirm that an explicit value defined by the child Infrastructure Configuration replaces the corresponding inherited value
  5. Verification SHALL confirm that a value not explicitly overridden by the child retains the value inherited from the parent Infrastructure Configuration
  6. Verification SHALL confirm that a value introduced by the child Infrastructure Configuration appears in the resolved Infrastructure Configuration
  7. Verification SHALL confirm that the resolved Infrastructure Configuration distinguishes inherited values from explicit child overrides and child-introduced values
  8. Verification SHALL confirm that resolving the child Infrastructure Configuration does not modify the parent Infrastructure Configuration
  9. Verification SHALL confirm that resolving the child Infrastructure Configuration does not modify the child Infrastructure Configuration
  10. Verification SHALL confirm that the resolved Infrastructure Configuration identifies the parent and child configurations used to produce it
  11. Verification SHALL confirm that the resolved Infrastructure Configuration satisfies the applicable acceptance criteria
  12. 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
  • Explicit override tests
  • Child-introduced value tests
  • Resolved-configuration comparison
  • Parent configuration immutability tests
  • Child configuration immutability tests
  • Acceptance criteria evaluation
  • Configuration record inspection
  • End-to-end CI/CD Pipeline tests

The verification record SHALL identify:

  1. The tested parent Infrastructure Configuration
  2. The tested child Infrastructure Configuration
  3. The parent configuration revision
  4. The child configuration revision
  5. The inherited configuration values
  6. The explicitly overridden values
  7. The values introduced by the child configuration
  8. The resulting resolved Infrastructure Configuration
  9. The inheritance relationship
  10. The applicable acceptance criteria
  11. The observed results
  12. The applicable Provenance
  13. The generated Evidence

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.

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 Configuration
  • Select a child Infrastructure Configuration
  • Retrieve common configuration values from the parent
  • Apply explicit overrides defined by the child
  • Include values introduced by the child
  • Produce a resolved Infrastructure Configuration
  • Preserve the relationship among the parent, child, and resolved configurations
  • Record the resolved Infrastructure Configuration associated with the deployment
  • Preserve execution results and Evidence

This model reduces duplicated configuration while preserving explicit and reviewable differences among related environments.

Phase 1 and subsequent phases

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.

Draft

The source System Requirements Specification identifies Version 1.1 as a draft.


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.

  • dido/02-crusible/99-annexes/annex-c-requirements/03-functional-requirements/03-01-configuration-management/fr-cfg-004.1784215546.txt.gz
  • Last modified: 2026/07/16 08:25
  • by nick_dido