====== FR-AG-003 — Artifact Import Packages ======
[[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:start|Go to Crucible Air-Gapped Operations Requirements]]
===== Statement =====
[[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]].
===== Derived From =====
This requirement derives from:
* Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-AG-003
The Original Requirement states:
> //The system shall support artifact import packages.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
FR-AG-003:
* 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
No other substantive normalization is required.
===== Rationale =====
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.
Importing a Transfer Bundle makes its contents available for separately governed inspection, acceptance, promotion, or deployment activities.
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:c:container_image|Container Images]]
* [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configurations]]
* [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]]
* Software packages
* [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency|Dependencies]]
* [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:digital_signature|Digital Signatures]]
* Content digests
* Manifests
* Provenance information
* Traceability information
This requirement establishes Transfer Bundle import without prescribing:
* The Artifacts imported from a particular Transfer Bundle
* The destination environment
* The destination repository
* The Transfer Bundle format
* [[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
* Preservation of one package identity across export and import
Separate requirements, architecture specifications, workflows, or policies define those subjects and behaviors.
===== 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:t:transfer_bundle|Transfer Bundles]]
* Transfer Bundle import operations
===== Verification =====
Verification confirms that:
- 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
- The contents of the imported Transfer Bundle can be accessed after the import operation
- The imported contents correspond to the contents of the selected Transfer Bundle
- The result of the tested import operation can be determined
===== Referenced By =====
The following pages reference this requirement:
{{backlinks>.#dido:02-crusible}}
===== Implementation Status =====
Implemented and Verified
===== Requirement Status =====
Review and approve FR-AG-003 as a leaf requirement.
----
===== Issues =====
Determine whether separate requirements define the minimum validation required before a Transfer Bundle can be imported.
Determine whether separate requirements identify the destination environment or repository for imported Transfer Bundle contents.
Determine whether export and import must preserve one Transfer Bundle identity or may create distinct package records.
----
===== Notes for Editors =====
This requirement page retains the stable requirement identifier ''FR-AG-003''.
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 Statement preserves the approved source intent by requiring Crucible to import Transfer Bundles.
Do not introduce separate **Artifact Export Package** and **Artifact Import Package** concepts unless the controlling architecture defines different package structures or identities.
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.
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}}
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.