| Both sides previous revision Previous revision Next revision | Previous revision |
| dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004:start [2026/07/15 12:49] – nick_dido | dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004:start [2026/07/22 12:11] (current) – nick_dido |
|---|
| ====== MO-004 ====== | ====== MO-004 — Connected and Disconnected Operations ====== |
| |
| [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:start|Go to Mission Objectives]] | [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:start|Go to Mission Objectives]] |
| |
| ===== Statement ===== | ===== Original Requirement ===== |
| |
| [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL execute the applicable [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activities in both [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environments]] and [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environments]] using only the resources authorized and available within each environment. | > //The system SHALL support both connected and disconnected operational environments.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]] |
| |
| ===== Source Statement ===== | ===== Assessment of Original Requirement ===== |
| |
| > The system SHALL support both connected and disconnected operational environments. | The Original Requirement preserves the approved mission objective but does not express independently testable normative statements. |
| | |
| ===== Source ===== | |
| | |
| Crucible System Requirements Specification, Version 1.1 Draft, Mission Objectives, MO-004. | |
| | |
| ===== Assessment ===== | |
| | |
| The source statement expresses the approved mission objective but does not provide a fully testable formulation. | |
| |
| The following Specification Discipline and Authoring findings apply: | The following Specification Discipline and Authoring findings apply: |
| |
| * **The system** does not use the defined system name | * **The system** does not use the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] |
| * **Support** is a weak verb that does not identify the behavior [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] performs | * **Support** is a weak verb that does not identify an observable behavior performed by Crucible |
| * **Operational environments** does not identify the environmental characteristics, available resources, access restrictions, or applicable activities | * **Operational environments** does not identify the Crucible activities performed within each environment |
| * The source statement does not identify which [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activities must operate in each environment | * The Original Requirement combines operation in [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environments]] and [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environments]] within one normative statement |
| * The source statement does not identify whether a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]] may obtain required resources through an approved transfer process | |
| * The source statement does not define how verification distinguishes a connected workflow from a disconnected workflow | |
| |
| The normalized Statement replaces the weak verb with **execute**, identifies the applicable environments, and constrains execution to the resources authorized and available within each environment. | The Original Requirement does not identify: |
| |
| ===== Rationale ===== | * The [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activities that Crucible performs within each environment |
| | * The resources that Crucible may use within each environment |
| | * The distinction between resource availability and resource authorization |
| | * Whether Crucible may depend on external network resources while operating in a Disconnected Environment |
| | * Whether resources imported through an approved transfer process become available within the Disconnected Environment |
| |
| Organizations may construct, deploy, maintain, and validate infrastructure in environments with different network access conditions. | The Original Requirement therefore requires: |
| |
| A [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environment]] may access approved external repositories, services, and providers during execution. | * Replacement of **the system** with the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] |
| | * Replacement of **support** with observable Crucible behavior |
| | * Identification of the Operational Lifecycle activities performed within Connected Environments |
| | * Identification of the Operational Lifecycle activities performed within Disconnected Environments |
| | * Identification of the resources authorized for use within each environment |
| | * Separation of Connected Environment operation from Disconnected Environment operation |
| | * Separation of resource authorization from resource availability |
| | * Confirmation that the derived requirements collectively preserve the complete intent of MO-004 |
| |
| A [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]] cannot depend on unavailable external network services during execution. An [[dido:99_annexes:annex-b-terms-and-definitions:a:air-gapped_environment|Air-Gapped Environment]] imposes additional physical or logical separation requirements. | The decomposition preserves ''MO-004'' as the stable parent requirement identifier. Each proposed replacement requirement receives a lettered identifier and a separate leaf requirement page. |
| |
| [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] addresses these conditions by coordinating: | ===== Proposed Statements ===== |
| |
| * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Descriptions]] | The Original Requirement is decomposed into the following proposed replacement requirements: |
| * Reusable [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline_composition|Baseline Composition]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:i:image_layer|Image Layers]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baselines]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Image]] construction | |
| * Dependency capture | |
| * Offline transfer | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployment]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:p:provisioning|Provisioning]] | |
| * Compliance assessment | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] generation | |
| |
| The connected workflow captures the dependencies, artifacts, and [[dido:99_annexes:annex-b-terms-and-definitions:c:compliance_finding|Compliance Findings]] required by the disconnected workflow. | {{indexmenu>dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004#1|js navbar nocookie maxjs#1 id#crucible_mo_004_requirements_nav}} |
| |
| An approved transfer process moves the resulting transfer bundle into the target [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]]. | ===== Requirement Status ===== |
| |
| ===== Applies To ===== | <todo>Review and approve the proposed decomposition of MO-004 into independently testable Connected Environment, Disconnected Environment, resource-authorization, and resource-availability requirements.</todo> |
| |
| This requirement applies to: | <todo>Determine whether MO-004a through MO-004d collectively supersede MO-004.</todo> |
| |
| * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] | <todo>If MO-004a through MO-004d are accepted as the complete replacement for MO-004, mark MO-004 as superseded and preserve this page as the parent Traceability record.</todo> |
| * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Descriptions]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline_composition|Baseline Composition]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:i:image_layer|Image Layers]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baselines]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Image]] construction | |
| * Dependency capture | |
| * Dependency stores | |
| * Transfer bundles | |
| * Offline transfer | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployment]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:p:provisioning|Provisioning]] | |
| * Compliance assessment | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:c:compliance_finding|Compliance Findings]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environments]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environments]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:a:air-gapped_environment|Air-Gapped Environments]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipelines]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] | |
| |
| ===== Verification ===== | ---- |
| | ===== Issues ===== |
| |
| - Verification SHALL confirm that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] executes the applicable [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activities in a [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environment]] | The following unresolved issues affect the decomposition of MO-004: |
| - Verification SHALL confirm that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] executes the applicable [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activities in a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]] | |
| - Verification SHALL confirm that the disconnected workflow does not require access to external network resources that are unavailable within the target environment | |
| - Verification SHALL confirm that the connected workflow captures the dependencies required by the disconnected workflow | |
| - Verification SHALL confirm that the connected workflow produces a transferable bundle containing the required dependencies, artifacts, provenance information, and [[dido:99_annexes:annex-b-terms-and-definitions:c:compliance_finding|Compliance Findings]] | |
| - Verification SHALL confirm that the approved transfer process preserves the integrity of the transfer bundle | |
| - Verification SHALL confirm that the target [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]] imports and validates the transfer bundle | |
| - Verification SHALL confirm that the disconnected workflow uses only resources authorized and available within the target environment | |
| - Verification SHALL confirm that equivalent controlled inputs produce results that satisfy the applicable acceptance criteria in both environments | |
| - Verification SHALL confirm that the workflow records the differences between connected and disconnected execution conditions | |
| - Verification SHALL confirm that deployment and [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] records preserve [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] across the transfer boundary | |
| |
| Verification may include: | <todo>Identify the Operational Lifecycle activities that Crucible must perform within a Connected Environment.</todo> |
| |
| * Connected build tests | <todo>Identify the Operational Lifecycle activities that Crucible must perform within a Disconnected Environment.</todo> |
| * Disconnected build tests | |
| * Dependency capture tests | |
| * Dependency store inspection | |
| * Transfer bundle export tests | |
| * Transfer bundle integrity tests | |
| * Transfer bundle import tests | |
| * Offline package repository tests | |
| * Offline provider repository tests | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Image]] build tests | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployment]] tests | |
| * Compliance assessment tests | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] generation tests | |
| * Network isolation tests | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:a:air-gapped_environment|Air-Gapped Environment]] demonstrations | |
| * End-to-end [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] tests | |
| |
| The verification record SHALL identify: | <todo>Define how Operational Lifecycle activities are selected for each environment.</todo> |
| |
| - The tested [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Description]] | <todo>Identify the Authorized Resources that Crucible may use within each environment.</todo> |
| - The tested [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]] | |
| - The applicable [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activities | |
| - The connected execution conditions | |
| - The disconnected execution conditions | |
| - The authorized external resources | |
| - The prohibited external resources | |
| - The captured dependencies | |
| - The dependency store | |
| - The transfer bundle | |
| - The bundle integrity verification result | |
| - The transfer authorization | |
| - The imported resources | |
| - The controlled inputs | |
| - The applicable acceptance criteria | |
| - The observed results | |
| - The generated [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] | |
| |
| ===== Outgoing Traceability ===== | <todo>Define the relationship between resource authorization and resource availability.</todo> |
| |
| This requirement is realized by: | <todo>Define whether Crucible may depend on external network resources while operating within a Disconnected Environment.</todo> |
| |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:start|OR-001 through OR-005]] | <todo>Define when resources imported through an approved transfer process become available for use within a Disconnected Environment.</todo> |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-03-deployment-orchestration:start|FR-DEP-001 through FR-DEP-007]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-04-multi-cloud-management:start|FR-MC-001 through FR-MC-005]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:start|FR-AG-001 through FR-AG-005]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-06-compliance-management:start|FR-COMP-001 through FR-COMP-010]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-08-devsecops-integration:start|FR-DSO-001 through FR-DSO-006]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-09-baseline-composition-and-workspace:start|FR-BAS-001 through FR-BAS-004]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-10-dependency-capture-and-offline-transfer:start|FR-DEPC-001 through FR-DEPC-005]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:09-maintainability-requirements:start|MAINT-001 through MAINT-005]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:10-data-management-requirements:start|DATA-001 through DATA-005]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:11-interoperability-requirements:start|INT-001 through INT-007]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:12-future-capability-requirements:fut-006:start|FUT-006 — Replicate software factories across classification domains]] | |
| |
| This requirement also relates to: | <todo>Determine whether MO-004a through MO-004d provide complete coverage of the approved intent of MO-004.</todo> |
| |
| * [[dido:02-crusible:05-descriptions-composition-and-baselines:start|5. Descriptions, Composition, and Baselines]] | ---- |
| * [[dido:02-crusible:06-machine-images-and-image-layers:start|6. Machine Images and Image Layers]] | ===== Notes for Editors ===== |
| * [[dido:02-crusible:07-infrastructure-and-deployment:start|7. Infrastructure and Deployment]] | |
| * [[dido:02-crusible:08-dependencies-and-air-gap-operations:start|8. Dependencies and Air Gap Operations]] | |
| * [[dido:02-crusible:09-compliance-and-security:start|9. Compliance and Security]] | |
| * [[dido:02-crusible:10-reproducibility-provenance-and-traceability:start|10. Reproducibility, Provenance, and Traceability]] | |
| |
| ===== Referenced By ===== | This page should retain the stable parent requirement identifier ''MO-004''. |
| |
| The wiki Backlinks function provides the current list of pages that reference `MO-004`. | This page is a non-leaf requirement page and retains a trailing '':start'' in its namespace. |
| |
| Incoming traceability should be derived dynamically from backlinks rather than maintained as a duplicate manual list. | The child requirements are leaf requirement pages and omit a trailing '':start'' from their namespaces. |
| |
| 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 explicit child-page links should remain while the proposed decomposition is being developed. After the child pages have been created and finalized, the explicit links may be removed because the ''indexmenu'' displays the child requirement pages contained within the MO-004 namespace. |
| |
| ===== ConOps Relationship ===== | This page preserves: |
| |
| The Crucible Concept of Operations describes a connected to disconnected supply chain. | * The Original Requirement |
| | * The assessment of the Original Requirement |
| | * The reason for decomposition |
| | * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] to the proposed replacement requirements |
| | * The unresolved cross-cutting issues affecting the decomposition |
| | * The supersession decision |
| |
| In a [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environment]], [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]: | The derived requirements should distinguish: |
| |
| * Resolves required dependencies | * Operation within a Connected Environment |
| * Builds and hardens [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Images]] | * Operation within a Disconnected Environment |
| * Captures operating system packages and installation media | * Authorization to use a resource |
| * Captures [[dido:99_annexes:annex-b-terms-and-definitions:c:compliance_finding|Compliance Findings]] | * Availability of a resource within an environment |
| * Produces a transfer bundle | |
| | |
| In a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]], [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]: | |
| | |
| * Imports the transfer bundle | |
| * Validates the transferred content | |
| * Populates internal dependency repositories | |
| * Performs offline builds and updates | |
| * Performs [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployment]] | |
| * Preserves artifact provenance and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] | |
| | |
| The ConOps identifies dependency capture, compressed bundle transfer, and enclave repository population as the operational realization of disconnected execution. | |
| | |
| ===== Delivery Phase ===== | |
| | |
| Phase 1 and subsequent phases | |
| | |
| ===== Implementation Status ===== | |
| | |
| Not Assessed | |
| | |
| Implementation status requires verification of the applicable [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activities in both a [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environment]] and a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]]. | |
| | |
| ===== 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 `MO-004`. | Availability of a resource does not establish authorization to use that resource. |
| |
| Changes to the Statement SHALL preserve the approved intent of the source requirement. | Authorization to use a resource does not establish that the resource is available within a particular environment. |
| |
| Material changes should receive review and should update the related outbound traceability, verification criteria, acceptance criteria, and source records. | The Original Requirement should not be marked as superseded until the requirement owner: |
| |
| The Source Statement should preserve the original wording from the controlling System Requirements Specification. | * Approves the proposed decomposition |
| | * Approves the child requirements |
| | * Identifies the Operational Lifecycle activities required within each environment |
| | * Defines the relationship between resource authorization and resource availability |
| | * Confirms that the child requirements collectively preserve the complete approved intent of MO-004 |
| | * Confirms that no additional child requirements are required |
| |
| Incoming traceability should use the wiki Backlinks function rather than a manually maintained list. | After supersession, this page should remain as the parent Traceability record and should continue to preserve the Original Requirement and its assessment. |
| |
| Do not rename this page once it has been cited externally unless a redirect or move plan is in place. | Material changes to the decomposition should update the child requirements, Requirement Status, Issues, and Traceability records. |
| |
| ---- | ---- |