====== C.3.10 Dependency Capture and Offline Transfer ====== [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:start|Go to Crucible Functional Requirements]] The [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency_capture|Dependency Capture]] and [[dido:99_annexes:annex-b-terms-and-definitions:o:offline_transfer|Offline Transfer]] [[dido:99_annexes:annex-b-terms-and-definitions:f:functional_requirement|requirements]] define how [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] captures [[dido:99_annexes:annex-b-terms-and-definitions:b:build_dependency|Build Dependencies]], preserves those dependencies in a managed [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency_store|Dependency Store]], produces a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]], populates [[dido:99_annexes:annex-b-terms-and-definitions:o:offline_repository|Offline Repositories]] in a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]], and permits the Dependency Store implementation to evolve without changing the Dependency Capture [[dido:99_annexes:annex-b-terms-and-definitions:c:contract]]. Together, these requirements establish controlled Dependency Capture and Offline Transfer across a [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_boundary|Transfer Boundary]] while preserving the applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorization]], [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]], [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]], and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]. ===== Contents ===== {{indexmenu>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-10-dependency-capture-and-offline-transfer#1|js navbar nocookie maxjs#1 id#crucible_dependency_capture_offline_transfer_requirements_nav}} ===== Requirement Status ===== Review and approve the Dependency Capture and Offline Transfer requirement set. Review and approve FR-DEPC-001 through FR-DEPC-005 as leaf requirements. ---- ===== Issues ===== Confirm that the requirement set distinguishes Dependency Capture, Dependency Store management, Transfer Bundle creation, Offline Repository population, and Dependency Store implementation independence without overlapping normative behavior. Confirm that requirements governing Offline Transfer identify the source environment, destination environment, Transfer Boundary, and required transfer result when the controlling source establishes that information. Confirm that requirements governing transfer across a Transfer Boundary identify the applicable Transfer Authorization and Transfer Bundle Integrity obligations. ---- ===== Notes for Editors ===== This page is a non-leaf requirement page and therefore retains a trailing '':start'' in its namespace. The namespace for this page is: ''dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-10-dependency-capture-and-offline-transfer:start'' Use the following controlling Terms and Definitions entries: * [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency_capture|Dependency Capture]] * [[dido:99_annexes:annex-b-terms-and-definitions:o:offline_transfer|Offline Transfer]] * [[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:o:offline_repository|Offline Repository]] * [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency_store|Dependency Store]] The individual requirement pages retain the stable identifiers ''FR-DEPC-001'' through ''FR-DEPC-005''. Individual requirement pages are leaf nodes nested beneath the Dependency Capture and Offline Transfer namespace and omit a trailing '':start''. The Derived From section on each leaf requirement page preserves the original wording from the controlling System Requirements Specification. Normalized Statements use direct, testable behavior and identify the following only when the controlling source establishes that information: * The captured Build Dependency * The Dependency Capture event * The Dependency Store * The Transfer Bundle * The source environment * The destination environment * The [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_boundary|Transfer Boundary]] * The transfer operation * The required result Requirements governing transfer across a Transfer Boundary identify the applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorization]] and the controls used to preserve [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]] only when the controlling source establishes those obligations. Requirements governing a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]] or [[dido:99_annexes:annex-b-terms-and-definitions:a:air-gapped_environment|Air-Gapped Environment]] do not assume access to external repositories or network services. The Dependency Capture contract remains independent of the internal representation or implementation of the Dependency Store unless a lower-level requirement explicitly establishes that constraint. Verification criteria test only the behavior stated in the normalized Statement and do not introduce additional normative obligations. Incoming [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] uses the wiki Backlinks function rather than a manually maintained list. Each leaf requirement page includes its actual namespace in the DokuWiki section-transclusion example. Do not rename a requirement page after an external citation unless a redirect or move plan is in place. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.