====== MO-004d — Disconnected Resource Availability ======
[[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004:start|Go to MO-004 — Connected and Disconnected Operations]]
===== Statement =====
[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL execute each selected [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activity in a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]] using only the required resources available within the environment boundary.
===== Derived From =====
This requirement derives from:
* [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004:start|MO-004 — Connected and Disconnected Operations]]
The Original Requirement states:
> //The system SHALL support both connected and disconnected operational environments.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
MO-004d preserves the portion of the Original Requirement that requires the resources needed for disconnected operation to be available within the Disconnected Environment boundary.
The separate requirements derived from MO-004 address:
* [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004:mo-004a|MO-004a — Connected Environment Operations]]
* [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004:mo-004b|MO-004b — Disconnected Environment Operations]]
* [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004:mo-004c|MO-004c — Authorized Resource Use]]
===== Rationale =====
A [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]] does not provide continuous access to resources outside its defined boundary.
Each selected Operational Lifecycle activity therefore requires its inputs, dependencies, tools, repositories, registries, services, and other resources to be available within the environment boundary before execution.
Required resources can include:
* [[dido:99_annexes:annex-b-terms-and-definitions:c:controlled_input|Controlled Inputs]]
* Artifacts
* Software packages
* Machine Images
* Artifact repositories
* Package repositories
* Image registries
* Configuration data
* Security and compliance content
* Identity and authorization information
* Licensing information
* Name-resolution services
* Time services
* Build and deployment tools
* Evidence-generation tools
Resources imported through an approved transfer process become available within the Disconnected Environment only after the required transfer, authorization, integrity, provenance, and admission checks succeed.
Ensuring resource availability within the environment boundary supports:
* Execution without continuous external connectivity
* Operation during network outages
* Operation within restricted network boundaries
* Operation in [[dido:99_annexes:annex-b-terms-and-definitions:a:air-gapped_environment|Air-Gapped Environments]]
* Detection of hidden external dependencies
* Controlled dependency capture
* Complete offline transfer preparation
* Reproducible execution
* Generation of Evidence for disconnected operation
This requirement addresses resource availability. MO-004c separately requires Crucible to use only Authorized Resources.
A resource can be available within the environment but not authorized for use. A resource can also be authorized for use but unavailable within the environment.
===== Applies To =====
This requirement applies to:
* [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]
* [[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]]
* Environment boundaries
* Required resources
* External resources
* Local resources
* [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activities
* [[dido:99_annexes:annex-b-terms-and-definitions:c:controlled_input|Controlled Inputs]]
* [[dido:99_annexes:annex-b-terms-and-definitions:a:authorized_resource|Authorized Resources]]
* [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]]
* Transfer Bundles
* Imported dependencies
* Local Artifact repositories
* Local package repositories
* Local image registries
* Local services
* [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]]
* [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]]
* [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]
===== Verification =====
Verification confirms that:
- The [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]] boundary is identified
- Each selected [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activity is identified
- The resources required by each selected activity are identified
- Each required resource is available within the Disconnected Environment boundary before execution
- Each imported resource has completed the required transfer, authorization, integrity, provenance, and admission checks
- [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] executes each selected activity using only resources available within the environment boundary
- Each selected activity executes without access to an external resource outside the environment boundary
- Each attempted access to an external resource is detected and recorded
- Each selected activity reaches its defined completion condition
- Each selected activity produces its required outputs
- The verification record preserves [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] among the Disconnected Environment, selected activity, required resources, available resources, execution result, and outputs produced
===== Referenced By =====
The following pages reference this requirement:
{{backlinks>.#dido:02-crusible}}
===== Delivery Phase =====
Implemented and Verified.
===== Implementation Status =====
Assess whether the current Crucible implementation executes each selected Operational Lifecycle activity using only the required resources available within the Disconnected Environment boundary.
===== Requirement Status =====
Review and accept MO-004d as a proposed derived requirement created from the evaluation and decomposition of MO-004 in the Crucible System Requirements Specification, Version 1.1 Draft.
----
===== Issues =====
The following unresolved issues affect this requirement:
Define the boundary of each Disconnected Environment.
Identify the controlling source that determines the resources required by each selected Operational Lifecycle activity.
Define when a resource is considered available within a Disconnected Environment.
Define the transfer, authorization, integrity, provenance, and admission checks required before an imported resource becomes available.
Define the behavior required when a resource needed by a selected Operational Lifecycle activity is unavailable within the environment boundary.
Define how attempted access to external resources is detected and recorded.
----
===== Notes for Editors =====
This requirement page should retain the stable requirement identifier ''MO-004d''.
This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
The parent MO-004 page is a non-leaf page and retains a trailing '':start'' in its namespace.
Changes to the Statement should preserve:
* [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] as the responsible actor
* The selected [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]] activity as the required behavior
* The [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]] boundary as the resource-availability boundary
* Availability of all required resources within the environment boundary
* Execution without access to external resources outside the environment boundary
The definition of each Disconnected Environment should identify:
* The environment boundary
* The permitted internal networks
* The unavailable external networks
* The local repositories
* The local registries
* The local services
* The required Controlled Inputs
* The imported Artifacts and dependencies
* The transfer and admission processes
* The monitoring and audit records
Material changes should receive review and should update the verification criteria, source records, and Issues section.
To reference this requirement Statement from another wiki page, insert:
{{section>dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004:mo-004d#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.