====== FR-DEPC-003 — Produce a Transfer Bundle ======
[[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-10-dependency-capture-and-offline-transfer:start|Go to C.3.10 Dependency Capture and Offline Transfer]]
===== Statement =====
[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL produce a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] containing captured [[dido:99_annexes:annex-b-terms-and-definitions:b:build_dependency|Build Dependencies]].
===== Derived From =====
This requirement derives from:
* Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-DEPC-003
The Original Requirement states:
> //The system shall produce a transferable dependency/evidence bundle.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
FR-DEPC-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 **transferable dependency/evidence bundle** with the controlled term [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]]
* Identifies captured [[dido:99_annexes:annex-b-terms-and-definitions:b:build_dependency|Build Dependencies]] as required Transfer Bundle content
* Retains the direct behavior **produce**
No other substantive normalization is required.
===== Rationale =====
A [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] packages content for controlled transfer between environments.
Including captured [[dido:99_annexes:annex-b-terms-and-definitions:b:build_dependency|Build Dependencies]] in a Transfer Bundle enables those dependencies to accompany the artifacts, configurations, or other content that require them.
The Transfer Bundle provides the transferable result of [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency_capture|Dependency Capture]] and [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency_store|Dependency Store]] operations.
This requirement establishes production of a Transfer Bundle without prescribing:
* A particular Transfer Bundle format
* A particular archive format
* A particular packaging tool
* A particular directory structure
* A particular compression method
* A particular encryption method
* A particular Digital Signature
* Transfer across a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_boundary|Transfer Boundary]]
* A particular [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorization]]
* Population of an [[dido:99_annexes:annex-b-terms-and-definitions:o:offline_repository|Offline Repository]]
* Import into a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]]
Separate requirements, architecture specifications, Transfer Bundle profiles, and transfer procedures govern 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]]
* Captured [[dido:99_annexes:annex-b-terms-and-definitions:b:build_dependency|Build Dependencies]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency_capture|Dependency Capture]] results
* [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency_store|Dependency Stores]]
===== Verification =====
Verification confirms that:
- One or more captured [[dido:99_annexes:annex-b-terms-and-definitions:b:build_dependency|Build Dependencies]] are selected for testing
- [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] produces a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]]
- The produced Transfer Bundle contains the selected Build Dependencies
- Each selected Build Dependency can be identified within the Transfer Bundle
- The resulting Transfer Bundle can be identified as the output of the tested production operation
===== Referenced By =====
The following pages reference this requirement:
{{backlinks>.#dido:02-crusible}}
===== Implementation Status =====
Implemented and Verified
===== Requirement Status =====
Review and approve FR-DEPC-003 as a leaf requirement.
----
===== Issues =====
Determine whether separate requirements define the required contents and metadata of a Transfer Bundle.
Determine whether separate requirements govern Transfer Bundle integrity, signing, encryption, compression, and verification.
Determine whether separate requirements identify which captured Build Dependencies must be included in a Transfer Bundle.
----
===== Notes for Editors =====
This requirement page retains the stable requirement identifier ''FR-DEPC-003''.
This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
The Statement uses the following controlling Terms and Definitions entries:
* [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]]
* [[dido:99_annexes:annex-b-terms-and-definitions:b:build_dependency|Build Dependency]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency_capture|Dependency Capture]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency_store|Dependency Store]]
The Statement addresses production of a Transfer Bundle containing captured Build Dependencies.
FR-DEPC-001 governs capture of Build Dependencies.
FR-DEPC-002 governs preservation of captured Build Dependencies in a Dependency Store.
FR-DEPC-004 governs population of [[dido:99_annexes:annex-b-terms-and-definitions:o:offline_repository|Offline Repositories]].
FR-DEPC-005 governs Dependency Store implementation independence.
Do not add particular Transfer Bundle formats, archive formats, packaging tools, compression methods, encryption methods, signature requirements, transfer operations, or Offline Repository 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-10-dependency-capture-and-offline-transfer:fr-depc-003#Statement&noheader&nofooter&noeditbtn}}
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.