| 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-002 [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-002 [2026/07/30 05:57] (current) – nick_dido |
|---|
| ===== Statement ===== | ===== Statement ===== |
| |
| [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL create a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] for identified [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]]. | [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL create [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundles]] for export. |
| |
| ===== 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 export packages]]. | This requirement derives from: |
| |
| ===== Source ===== | * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-AG-002 |
| |
| Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-AG-002. | The Original Requirement states: |
| |
| ===== Assessment ===== | > //The system shall support artifact export packages.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]] |
| |
| The source statement identifies a required export package but does not provide a fully testable formulation. | FR-AG-002: |
| |
| 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 **create** |
| | * Maps **artifact export 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 export packages** does not identify whether [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] creates, verifies, transfers, or imports the package | |
| * **Artifact export 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]] included in the package | |
| * The source statement does not prescribe a package format, archive technology, storage medium, transfer mechanism, or cryptographic 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 **create** | |
| * 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]] for which the Transfer Bundle is created | |
| * Preserves one Transfer Bundle identity across export, transfer, and import | |
| * Preserves implementation independence | |
| * Retains one primary required behavior | |
| | |
| The normalized Statement does not create a separate **Artifact Export Package** concept. The package created for export is a Transfer Bundle. | |
| | |
| 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]] | |
| * Import of the Transfer Bundle | |
| * 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 the 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 exporting [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] and related information from one environment for transfer to another environment. |
| | |
| The same Transfer Bundle may participate in the following sequence: | |
| | |
| * 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 | |
| * Crucible verifies [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]] | |
| * Crucible imports accepted [[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 [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|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]] | |
| |
| A Transfer Bundle may contain: | 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 | |
| |
| Transfer Bundle information may identify: | This requirement establishes creation of Transfer Bundles for export without prescribing: |
| |
| * The Transfer Bundle identifier | * The Artifacts included in a particular Transfer Bundle |
| * The Transfer Bundle [[dido:99_annexes:annex-b-terms-and-definitions:r:revision|Revision]] | * The Transfer Bundle format |
| * The included Artifacts | * The storage medium |
| * Artifact identifiers | * The transfer mechanism |
| * Artifact Revisions | * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorization]] |
| * Artifact content digests | * Transfer across a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_boundary|Transfer Boundary]] |
| * The source environment | * Verification of [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]] |
| * The intended destination environment | * Import of the Transfer Bundle |
| * The applicable Transfer Authorization | * Approval, promotion, or deployment of included Artifacts |
| * Transfer Bundle Integrity information | * A requirement that export and import use the same package identity |
| * The creating actor or process | |
| * The creation time | |
| * The applicable Baseline | |
| |
| FR-AG-002 requires creation of the Transfer Bundle. It does not independently require transfer, import, deployment, or approval of the included Artifacts. | 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]] | * Artifact export 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 | |
| * [[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:a:artifact|Artifacts]] selected for inclusion | Verification confirms that: |
| - Verification SHALL confirm that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] creates a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] for the identified Artifacts | |
| - Verification SHALL confirm that the created Transfer Bundle contains the identified Artifacts | |
| - Verification SHALL confirm that the created package satisfies the definition of a Transfer Bundle | |
| |
| Verification may include: | - One or more [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] are selected for export |
| | - [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] creates a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] for the tested export |
| * Transfer Bundle creation testing | - The created Transfer Bundle contains or references the selected Artifacts |
| * Transfer Bundle content inspection | - The resulting Transfer Bundle can be identified as the output of the tested export-package operation |
| * Manifest inspection | |
| * Artifact identifier comparison | |
| * Artifact Revision comparison | |
| * Content digest comparison | |
| * Transfer information inspection | |
| * Provenance inspection | |
| * Traceability inspection | |
| | |
| The verification record SHALL identify: | |
| | |
| - The created [[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 included [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] | |
| - The Artifact identifiers | |
| - The Artifact Revisions | |
| - The package manifest | |
| - The associated transfer information | |
| - The creation 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-003|FR-AG-003 — Artifact Import 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-002''. | 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 collected within a [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environment]] and packaged for controlled transfer to a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]]. | ===== Requirement Status ===== |
| |
| FR-AG-002 establishes the required behavior for creating the [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] used by that supply chain. | <todo>Review and approve FR-AG-002 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 required contents and metadata of a Transfer Bundle.</todo> |
| |
| Phase 1 | <todo>Determine whether export and import must preserve one Transfer Bundle identity or may create distinct package records.</todo> |
| | |
| ===== Implementation Status ===== | |
| | |
| Not Assessed | |
| | |
| Implementation status requires verification that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] creates a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] for identified [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]]. | |
| | |
| ===== 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-002''. | This requirement page retains the stable requirement identifier ''FR-AG-002''. |
| | |
| 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 export packages** maps to the defined [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] concept. | The source phrase **artifact export 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 creation of a Transfer Bundle for identified Artifacts. | The Statement preserves the approved source intent by requiring Crucible to create Transfer Bundles for export. |
| |
| 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]], import, approval, and deployment should remain in their applicable requirement pages. | Do not add Transfer Authorization, transfer, integrity verification, import, approval, 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-002#Statement&noheader&nofooter&noeditbtn}} | {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-002#Statement&noheader&nofooter&noeditbtn}} |
| </code> | </code> |
| |
| Do not rename this page after an external citation unless a redirect or move plan is in place. | |
| |
| ---- | ---- |