| Both sides previous revision Previous revision Next revision | Previous revision |
| dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-003 [2026/07/20 08:36] – ↷ Links adapted because of a move operation nick_dido | dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-003 [2026/07/30 05:58] (current) – nick_dido |
|---|
| ===== Statement ===== | ===== Statement ===== |
| |
| [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL import identified [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] from a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] into a destination environment. | [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL import [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundles]]. |
| |
| ===== Source Statement ===== | ===== Derived From ===== |
| |
| > The [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|system]] shall support [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|artifact import packages]]. | This requirement derives from: |
| |
| ===== Source ===== | * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-AG-003 |
| |
| Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-AG-003. | The Original Requirement states: |
| |
| ===== Assessment ===== | > //The system shall support artifact import packages.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]] |
| |
| The source statement identifies a required import package but does not provide a fully testable formulation. | FR-AG-003: |
| |
| The following Specification Discipline and Authoring findings apply: | * Replaces **The system** with the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] |
| | * Changes **shall** to the established uppercase normative form **SHALL** |
| | * Replaces the weak verb **support** with the observable behavior **import** |
| | * Maps **artifact import packages** to the defined [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] concept |
| |
| * **The system** does not use the defined system name | No other substantive normalization is required. |
| * **shall** does not follow the established uppercase normative convention | |
| * **Support** is a weak verb that does not identify the required behavior | |
| * **Artifact import packages** does not identify whether [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] creates, verifies, stores, transfers, or imports the package contents | |
| * **Artifact import packages** does not use the defined [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] concept | |
| * The source statement does not identify the [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] imported from the package | |
| * The source statement does not identify the destination environment | |
| * The source statement does not prescribe a package format, archive technology, storage medium, repository implementation, transfer mechanism, or integrity mechanism | |
| | |
| The normalized Statement: | |
| | |
| * Replaces **The system** with [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] | |
| * Replaces **support** with the direct behavior **import** | |
| * Uses the defined [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] concept | |
| * Identifies the [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] as the imported subjects | |
| * Identifies a destination environment | |
| * Preserves one Transfer Bundle identity across export, transfer, receipt, and import | |
| * Preserves implementation independence | |
| * Retains one primary required behavior | |
| | |
| The normalized Statement does not create a separate **Artifact Import Package** concept. The package consumed during import is the same Transfer Bundle created for export. | |
| | |
| Separate requirements govern: | |
| | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorization]] | |
| * Transfer across a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_boundary|Transfer Boundary]] | |
| * Verification of [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]] | |
| * Approval or promotion of imported Artifacts | |
| * Deployment of imported Artifacts | |
| |
| ===== Rationale ===== | ===== Rationale ===== |
| |
| A [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] is a controlled package prepared for transfer between environments. | A [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] provides a controlled package for transferring [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] and related information between environments. |
| |
| The same Transfer Bundle may participate in the following sequence: | Importing a Transfer Bundle makes its contents available for separately governed inspection, acceptance, promotion, or deployment activities. |
| | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] creates the Transfer Bundle in a source environment | |
| * An authorized process transfers the Transfer Bundle across a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_boundary|Transfer Boundary]] | |
| * A destination environment receives the Transfer Bundle | |
| * An applicable process verifies [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]] | |
| * Crucible imports identified [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] from the Transfer Bundle | |
| | |
| The package does not become a different Artifact merely because it moves from an export context to an import context. | |
| | |
| Preserving one Transfer Bundle identity maintains continuity among: | |
| | |
| * The source environment | |
| * The destination environment | |
| * The included Artifacts | |
| * The applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorization]] | |
| * The transfer operation | |
| * The import operation | |
| * The resulting [[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]] | |
| |
| The import operation may process: | A Transfer Bundle can contain: |
| |
| * [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Images]] | * [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Images]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configurations]] | * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configurations]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]] | * [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]] |
| * Deployment configurations | |
| * Software packages | * Software packages |
| * [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency|Dependencies]] | * [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency|Dependencies]] |
| * Compliance [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] | * [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:d:digital_signature|Digital Signatures]] | * [[dido:99_annexes:annex-b-terms-and-definitions:d:digital_signature|Digital Signatures]] |
| * Content digests | * Content digests |
| * Manifests | * Manifests |
| * Provenance records | * Provenance information |
| * Traceability records | * Traceability information |
| * Import instructions | |
| |
| The import operation may use Transfer Bundle information to identify: | This requirement establishes Transfer Bundle import without prescribing: |
| |
| * The Transfer Bundle identifier | * The Artifacts imported from a particular Transfer Bundle |
| * The Transfer Bundle [[dido:99_annexes:annex-b-terms-and-definitions:r:revision|Revision]] | |
| * The included Artifacts | |
| * Artifact identifiers | |
| * Artifact Revisions | |
| * Artifact content digests | |
| * The source environment | |
| * The destination environment | * The destination environment |
| * The applicable Transfer Authorization | * The destination repository |
| * Transfer Bundle Integrity information | * The Transfer Bundle format |
| * The creating actor or process | * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorization]] |
| * The creation time | * Transfer across a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_boundary|Transfer Boundary]] |
| * The applicable Baseline | * Verification of [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]] |
| | * Approval or promotion of imported Artifacts |
| | * Deployment of imported Artifacts |
| | * Preservation of one package identity across export and import |
| |
| FR-AG-003 requires import of identified Artifacts from a Transfer Bundle. It does not independently authorize those Artifacts for operation, promotion, or deployment. | Separate requirements, architecture specifications, workflows, or policies define those subjects and behaviors. |
| |
| ===== Applies To ===== | ===== Applies To ===== |
| * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] | * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundles]] | * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundles]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] | * Transfer Bundle import operations |
| * [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency|Dependencies]] | |
| * Package manifests | |
| * Artifact identifiers | |
| * Artifact [[dido:99_annexes:annex-b-terms-and-definitions:r:revision|Revisions]] | |
| * Content digests | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:d:digital_signature|Digital Signatures]] | |
| * Transfer information | |
| * Destination environments | |
| * Local Artifact repositories | |
| * [[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]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_boundary|Transfer Boundaries]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorizations]] | |
| * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]] | |
| * [[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]] | |
| |
| ===== Verification ===== | ===== Verification ===== |
| |
| - Verification SHALL identify the [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] selected for import | Verification confirms that: |
| - Verification SHALL identify the [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] selected for import from the Transfer Bundle | |
| - Verification SHALL identify the destination environment | |
| - Verification SHALL confirm that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] imports the identified Artifacts from the Transfer Bundle into the destination environment | |
| - Verification SHALL confirm that the imported Artifacts correspond to the identified Artifacts contained in the Transfer Bundle | |
| |
| Verification may include: | - A [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] is selected for import |
| | - [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] imports the selected Transfer Bundle |
| * Transfer Bundle import testing | - The contents of the imported Transfer Bundle can be accessed after the import operation |
| * Transfer Bundle content inspection | - The imported contents correspond to the contents of the selected Transfer Bundle |
| * Manifest inspection | - The result of the tested import operation can be determined |
| * Artifact identifier comparison | |
| * Artifact Revision comparison | |
| * Content digest comparison | |
| * Destination repository inspection | |
| * Provenance inspection | |
| * Traceability inspection | |
| * Import log inspection | |
| | |
| The verification record SHALL identify: | |
| | |
| - The imported [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] | |
| - The Transfer Bundle identifier | |
| - The Transfer Bundle [[dido:99_annexes:annex-b-terms-and-definitions:r:revision|Revision]] | |
| - The imported [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] | |
| - The Artifact identifiers | |
| - The Artifact Revisions | |
| - The package manifest | |
| - The destination environment | |
| - The destination repository | |
| - The import result | |
| - The generated [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] | |
| | |
| ===== Outgoing Traceability ===== | |
| | |
| This requirement realizes: | |
| | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004:start|MO-004]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-006|MO-006]] | |
| | |
| This requirement relates to: | |
| | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-001|FR-AG-001 — Disconnected Deployment Operations]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-002|FR-AG-002 — Artifact Export Packages]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-004|FR-AG-004 — Baseline Synchronization]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-005|FR-AG-005 — Deployment Traceability Across Disconnected Environments]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-10-dependency-capture-and-offline-transfer:start|C.3.10 Dependency Capture and Offline Transfer]] | |
| * [[dido:02-crusible:08-dependencies-and-air-gap-operations:start|8. Dependencies and Air Gap Operations]] | |
| * [[dido:02-crusible:10-reproducibility-provenance-and-traceability:start|10. Reproducibility, Provenance, and Traceability]] | |
| |
| ===== Referenced By ===== | ===== Referenced By ===== |
| |
| The wiki Backlinks function provides the current list of pages that reference ''FR-AG-003''. | The following pages reference this requirement: |
| |
| Incoming [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] should be derived dynamically from backlinks rather than maintained as a duplicate manual list. | {{backlinks>.#dido:02-crusible}} |
| |
| 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. | ===== Implementation Status ===== |
| |
| ===== ConOps Relationship ===== | Implemented and Verified |
| |
| The Crucible Concept of Operations describes a connected-to-disconnected supply chain in which [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] and [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency|Dependencies]] are packaged within a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]], transferred from a [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environment]], and imported into a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]]. | ===== Requirement Status ===== |
| |
| FR-AG-003 establishes the required behavior for importing identified Artifacts from the Transfer Bundle into the destination environment. | <todo>Review and approve FR-AG-003 as a leaf requirement.</todo> |
| |
| The Transfer Bundle retains the same controlled identity through export, transfer, receipt, integrity verification, and import. | ---- |
| | ===== Issues ===== |
| |
| ===== Delivery Phase ===== | <todo>Determine whether separate requirements define the minimum validation required before a Transfer Bundle can be imported.</todo> |
| |
| Phase 1 | <todo>Determine whether separate requirements identify the destination environment or repository for imported Transfer Bundle contents.</todo> |
| |
| ===== Implementation Status ===== | <todo>Determine whether export and import must preserve one Transfer Bundle identity or may create distinct package records.</todo> |
| | |
| Not Assessed | |
| | |
| Implementation status requires verification that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] imports identified [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] from a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] into a destination environment. | |
| | |
| ===== Requirement Status ===== | |
| | |
| Draft | |
| | |
| The source System Requirements Specification identifies Version 1.1 as a draft. | |
| |
| ---- | ---- |
| ===== Notes for Editors ===== | ===== Notes for Editors ===== |
| |
| This requirement page should retain the stable requirement identifier ''FR-AG-003''. | This requirement page retains the stable requirement identifier ''FR-AG-003''. |
| | |
| Changes to the Statement SHALL preserve the approved intent of the source requirement. | |
| |
| The Source Statement should preserve the original visible wording from the controlling System Requirements Specification while linking applicable words and phrases to the controlling Terms and Definitions entries. | This page is a leaf requirement page and omits a trailing '':start'' from its namespace. |
| |
| The source phrase **artifact import packages** maps to the defined [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] concept. | The source phrase **artifact import packages** maps to the defined [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] concept. |
| |
| The Statement should remain limited to importing identified Artifacts from a Transfer Bundle into a destination environment. | The Statement preserves the approved source intent by requiring Crucible to import Transfer Bundles. |
| |
| The requirement should not introduce separate **Artifact Export Package** and **Artifact Import Package** artifact types unless the controlling architecture later defines different package structures or identities. | Do not introduce separate **Artifact Export Package** and **Artifact Import Package** concepts unless the controlling architecture defines different package structures or identities. |
| |
| Requirements for [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorization]], transfer across a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_boundary|Transfer Boundary]], verification of [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]], Artifact approval, [[dido:99_annexes:annex-b-terms-and-definitions:i:image_promotion|Image Promotion]], and deployment should remain in their applicable requirement pages. | Do not add Transfer Authorization, transfer, integrity verification, destination-environment, Artifact approval, Image Promotion, deployment, or cross-environment identity-preservation obligations unless the controlling requirement changes through an approved requirements process. |
| | |
| Verification criteria should test only the behavior stated in the normalized Statement and should not introduce additional normative obligations. | |
| | |
| Incoming Traceability should use the wiki Backlinks function rather than a manually maintained list. | |
| |
| To reference this requirement Statement from another wiki page, insert: | To reference this requirement Statement from another wiki page, insert: |
| {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-003#Statement&noheader&nofooter&noeditbtn}} | {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-003#Statement&noheader&nofooter&noeditbtn}} |
| </code> | </code> |
| |
| Do not rename this page after an external citation unless a redirect or move plan is in place. | |
| |
| ---- | ---- |