====== 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.