dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-003

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-003 [2026/07/18 09:32] – created nick_didodido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-003 [2026/07/30 05:58] (current) nick_dido
Line 5: Line 5:
 ===== Statement ===== ===== Statement =====
  
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL import the identified [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] contained in an authorized Artifact Import Package after verifying the package integrity.+[[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]].
  
-===== Source Statement =====+===== Derived From =====
  
-> The system shall support artifact import packages.+This requirement derives from:
  
-===== Source =====+  * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-AG-003
  
-Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-AG-003.+The Original Requirement states:
  
-===== Assessment =====+> //The system shall support artifact import packages.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
  
-The source statement identifies a required package type but does not state the required import behavior.+FR-AG-003:
  
-The following Specification Discipline and Authoring findings apply:+  * 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
  
-  * **The system** does not use the defined system name +No other substantive normalization is required.
-  * **shall** does not follow the established uppercase normative convention +
-  * **Support** is a weak verb +
-  * **Artifact import packages** does not identify whether Crucible creates, validates, stores, or consumes the package +
-  * The source statement does not identify whether the package must be authorized +
-  * The source statement does not identify whether package integrity must be verified before import +
-  * The source statement does not prescribe a package format, archive technology, storage medium, or integrity mechanism+
  
-The normalized Statement:+===== Rationale =====
  
-  * Replaces **The system** with [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] +[[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.
-  * Replaces **support** with the direct behavior **import** +
-  * Identifies the Artifacts as the imported subjects +
-  * Requires package authorization +
-  * Requires package-integrity verification before import +
-  * Preserves implementation independence+
  
-This normalization relies on the established concepts of [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorization]] and [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]].+Importing a Transfer Bundle makes its contents available for separately governed inspection, acceptance, promotion, or deployment activities.
  
-**Artifact Import Package** should receive a glossary definition. It may be the destination-environment role of the same transferable package created as an Artifact Export Package rather than a structurally different package type.+A Transfer Bundle can contain:
  
-===== Rationale =====+  * [[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
  
-An Artifact Import Package supplies Artifacts and metadata to a destination environment after controlled transfer.+This requirement establishes Transfer Bundle import without prescribing:
  
-The import process may:+  * 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
  
-  * Read the package manifest +Separate requirementsarchitecture specificationsworkflowsor policies define those subjects and behaviors.
-  * Identify the included Artifacts +
-  * Verify package integrity +
-  * Verify Artifact content digests +
-  * Verify Digital Signatures +
-  * Confirm Transfer Authorization +
-  * Reject unauthorized or invalid content +
-  * Place accepted Artifacts into local repositories +
-  * Register Artifact identifiers and revisions +
-  * Preserve provenance and traceability records +
- +
-A package created as an Artifact Export Package may become an Artifact Import Package when the destination environment receives and processes it. +
- +
-FR-AG-003 does not independently authorize the imported Artifacts for deployment or operation. Separate approvalpromotioncompliance, and deployment requirements govern those decisions.+
  
 ===== Applies To ===== ===== Applies To =====
Line 68: Line 67:
  
   * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]   * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]
-  * Artifact Import Packages +  * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundles]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] +  * Transfer Bundle import operations
-  * Package manifests +
-  * Artifact identifiers +
-  * Artifact revisions +
-  * Content digests +
-  * Digital signatures +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorizations]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]] +
-  * Local Artifact repositories +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environments]]+
  
 ===== Verification ===== ===== Verification =====
  
-  - Verification SHALL confirm that the Artifact Import Package is authorized +Verification confirms that:
-  - Verification SHALL confirm that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] verifies the package integrity before importing its contents +
-  - Verification SHALL confirm that Crucible imports the identified Artifacts contained in a valid authorized package +
-  - Verification SHALL confirm that Crucible does not import the tested package when authorization or package-integrity verification fails+
  
-Verification may include: +  [[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 
-  * Authorized-package import testing +  - The contents of the imported Transfer Bundle can be accessed after the import operation 
-  * Unauthorized-package testing +  - The imported contents correspond to the contents of the selected Transfer Bundle 
-  * Modified-package testing +  - The result of the tested import operation can be determined
-  * Manifest inspection +
-  * Content-digest comparison +
-  * Digital-signature verification +
-  * Local repository inspection +
-  * Import-log inspection +
- +
-The verification record SHALL identify: +
- +
-  - The Artifact Import Package +
-  - The included Artifacts +
-  - The Transfer Authorization +
-  - The package-integrity verification result +
-  - The imported Artifact identifiers +
-  - The imported Artifact revisions +
-  - The destination repository +
-  - The import result +
-  - The generated [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] +
- +
-===== Outgoing Traceability ===== +
- +
-This requirement realizes: +
- +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-004|MO-004]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-006|MO-006]] +
- +
-This requirement relates to: +
- +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-001|FR-AG-001 — Disconnected Deployment Operations]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-002|FR-AG-002 — Artifact Export Packages]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-004|FR-AG-004 — Baseline Synchronization]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-005|FR-AG-005 — Deployment Traceability Across Disconnected Environments]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-10-dependency-capture-and-offline-transfer:start|C.3.10 Dependency Capture and Offline Transfer]] +
-  * [[dido:02-crusible:08-dependencies-and-air-gap-operations:start|8. Dependencies and Air Gap Operations]]+
  
 ===== Referenced By ===== ===== Referenced By =====
  
-The wiki Backlinks function provides the current list of pages that reference ''FR-AG-003''.+The following pages reference this requirement:
  
-Incoming Traceability should be derived dynamically from backlinks rather than maintained as a duplicate manual list.+{{backlinks>.#dido:02-crusible}}
  
-===== ConOps Relationship =====+===== Implementation Status =====
  
-The Crucible Concept of Operations describes receipt, integrity verification, and import of transferred Artifacts into a Disconnected Environment.+Implemented and Verified
  
-FR-AG-003 establishes the required import behavior for authorized Artifact packages.+===== Requirement Status =====
  
-===== Delivery Phase =====+<todo>Review and approve FR-AG-003 as a leaf requirement.</todo>
  
-Phase 1+---- 
 +===== Issues =====
  
-===== Implementation Status =====+<todo>Determine whether separate requirements define the minimum validation required before a Transfer Bundle can be imported.</todo>
  
-Not Assessed +<todo>Determine whether separate requirements identify the destination environment or repository for imported Transfer Bundle contents.</todo>
- +
-===== Requirement Status =====+
  
-Draft+<todo>Determine whether export and import must preserve one Transfer Bundle identity or may create distinct package records.</todo>
  
 ---- ----
 ===== Notes for Editors ===== ===== Notes for Editors =====
  
-This requirement page should retain the stable requirement identifier ''FR-AG-003''.+This requirement page retains the stable requirement identifier ''FR-AG-003''.
  
-Changes to the Statement SHALL preserve the approved intent of the source requirement.+This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
  
-The Statement should remain limited to importing identified Artifacts from an authorized package after package-integrity verification.+The source phrase **artifact import packages** maps to the defined [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle|Transfer Bundle]] concept.
  
-Requirements for package creationphysical transfer, Artifact approval, Image Promotion, and deployment should remain separate.+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: To reference this requirement Statement from another wiki page, insert:
Line 166: Line 123:
 {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-003#Statement&noheader&nofooter&noeditbtn}} {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-05-air-gap-operations:fr-ag-003#Statement&noheader&nofooter&noeditbtn}}
 </code> </code>
- 
-Do not rename this page after an external citation unless a redirect or move plan is in place. 
  
 ---- ----
  • dido/02-crusible/99-annexes/annex-c-requirements/03-functional-requirements/03-05-air-gap-operations/fr-ag-003.1784392334.txt.gz
  • Last modified: 2026/07/18 09:32
  • by nick_dido