====== FR-AG-004 — Baseline Synchronization ======
[[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 synchronize [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]] between [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environments]] and [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environments]].
===== Derived From =====
This requirement derives from:
* Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-AG-004
The Original Requirement states:
> //The system shall support baseline synchronization between connected and disconnected environments.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
FR-AG-004:
* 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 **synchronize**
* Links **Baselines**, **Connected Environments**, and **Disconnected Environments** to their controlling definitions
No other substantive normalization is required.
===== Rationale =====
A [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]] identifies an approved set of controlled items and relationships.
Baseline synchronization allows an identified Baseline to become available across [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environments]] and [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environments]] without requiring continuous connectivity between those environments.
This requirement establishes Baseline synchronization without prescribing:
* The direction of synchronization
* Continuous or bidirectional synchronization
* The transfer schedule
* The transport medium
* The synchronization protocol
* Conflict-resolution behavior
* The repository implementation
* The properties preserved during synchronization
* [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_authorization|Transfer Authorization]]
* Verification of [[dido:99_annexes:annex-b-terms-and-definitions:t:transfer_bundle_integrity|Transfer Bundle Integrity]]
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:b:baseline|Baselines]]
* [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environments]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environments]]
* Baseline synchronization operations
===== Verification =====
Verification confirms that:
- A [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]] is selected for synchronization
- A [[dido:99_annexes:annex-b-terms-and-definitions:c:connected_environment|Connected Environment]] and a [[dido:99_annexes:annex-b-terms-and-definitions:d:disconnected_environment|Disconnected Environment]] are selected for testing
- [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] synchronizes the selected Baseline between the tested environments
- The synchronized Baseline can be identified in the destination environment
- The result of the tested synchronization operation can be determined
===== Referenced By =====
The following pages reference this requirement:
{{backlinks>.#dido:02-crusible}}
===== Implementation Status =====
Implemented and Verified
===== Requirement Status =====
Review and approve FR-AG-004 as a leaf requirement.
----
===== Issues =====
Determine whether Baseline Synchronization requires a controlled definition in the shared Terms and Definitions corpus.
Determine whether separate requirements define the Baseline properties that synchronization must preserve.
Determine whether separate requirements define synchronization direction, authorization, scheduling, and conflict handling.
----
===== Notes for Editors =====
This requirement page retains the stable requirement identifier ''FR-AG-004''.
This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
The Statement preserves the approved source intent by requiring Crucible to synchronize Baselines between Connected Environments and Disconnected Environments.
Do not add Baseline identifier, Revision, composition, provenance, approval-status, synchronization-direction, scheduling, authorization, transport, or conflict-resolution 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-004#Statement&noheader&nofooter&noeditbtn}}
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.