====== FR-AG-002 — Artifact Export 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 create [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundles]] for export.
===== Derived From =====
This requirement derives from:
* Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-AG-002
The Original Requirement states:
> //The system shall support artifact export packages.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
FR-AG-002:
* 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
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 exporting [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] and related information from one environment for transfer to another environment.
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 creation of Transfer Bundles for export without prescribing:
* The Artifacts included in a particular Transfer Bundle
* The Transfer Bundle format
* The storage medium
* The transfer mechanism
* [[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, promotion, or deployment of included Artifacts
* A requirement that export and import use the same package identity
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]]
* Artifact export operations
===== Verification =====
Verification confirms that:
- 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
- The created Transfer Bundle contains or references the selected Artifacts
- The resulting Transfer Bundle can be identified as the output of the tested export-package operation
===== Referenced By =====
The following pages reference this requirement:
{{backlinks>.#dido:02-crusible}}
===== Implementation Status =====
Implemented and Verified
===== Requirement Status =====
Review and approve FR-AG-002 as a leaf requirement.
----
===== Issues =====
Determine whether separate requirements define the minimum required contents and metadata of a Transfer Bundle.
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-002''.
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 Statement preserves the approved source intent by requiring Crucible to create Transfer Bundles for export.
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, import, approval, 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-002#Statement&noheader&nofooter&noeditbtn}}
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.