====== FR-DSO-004 — Automated Build Execution ======
[[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-08-devsecops-integration:start|Go to C.3.8 DevSecOps Integration]]
===== Statement =====
[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL execute automated [[dido:99_annexes:annex-b-terms-and-definitions:b:build_operation|Build Operations]].
===== Derived From =====
This requirement derives from:
* Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-DSO-004
The Original Requirement states:
> //The system shall support automated build execution.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
FR-DSO-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 phrase **support automated build execution** with the direct and observable behavior **execute automated build operations**
No other substantive normalization is required.
===== Rationale =====
An automated build operation transforms identified source content, configuration, dependencies, or other inputs into one or more output [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] without requiring interactive execution by an operator.
Automated build execution enables repeatable build behavior within [[dido:99_annexes:annex-b-terms-and-definitions:d:devsecops|Development, Security, and Operations (DevSecOps)]] [[dido:99_annexes:annex-b-terms-and-definitions:w:workflow|Workflows]] and [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipelines]].
A build operation can use:
* Source files
* [[dido:99_annexes:annex-b-terms-and-definitions:g:git|Git]] repository states
* Build instructions
* [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]]
* Dependencies
* Build parameters
* Build tools
* Build environments
A build operation can produce:
* Executable software
* Libraries
* Packages
* Container Images
* Machine Images
* Configuration Artifacts
* Deployment Artifacts
* Build logs
* Build metadata
* Build status
This requirement establishes automated build execution without prescribing:
* A particular build tool
* A particular programming language
* A particular source repository
* A particular build environment
* A particular output Artifact type
* A particular dependency-resolution mechanism
* A particular [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]]
* Build validation
* Artifact signing
* Artifact publication
* Deployment of the resulting Artifacts
Separate requirements, architecture specifications, build definitions, and Workflow definitions govern those subjects and behaviors.
===== Applies To =====
This requirement applies to:
* [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]
* Automated build operations
* Build inputs
* Build output [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:devsecops|DevSecOps]] Workflows
* [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipelines]]
===== Verification =====
Verification confirms that:
- A build definition and its required inputs are selected for testing
- [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] initiates the build operation without interactive operator execution
- Crucible executes the selected build operation
- The build operation completes with an observable status
- The resulting build output or failure information can be identified
===== Referenced By =====
The following pages reference this requirement:
{{backlinks>.#dido:02-crusible}}
===== Implementation Status =====
Implemented and Verified
===== Requirement Status =====
Review and approve FR-DSO-004 as a leaf requirement.
----
===== Issues =====
Determine whether Build Operation requires a controlled definition in the shared Terms and Definitions corpus.
Determine whether separate requirements define the required build inputs, outputs, metadata, and status information.
Determine whether separate requirements govern build isolation, dependency resolution, repeatability, signing, and publication.
----
===== Notes for Editors =====
This requirement page retains the stable requirement identifier ''FR-DSO-004''.
This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
The Statement addresses execution of automated build operations.
FR-DSO-001 governs integration with Git-based Workflows.
FR-DSO-002 governs integration with GitOps Workflows.
FR-DSO-003 governs integration with CI/CD Pipelines.
FR-DSO-005 governs automated deployment execution.
FR-DSO-006 governs automated validation execution.
Do not add particular build tools, programming languages, repositories, build environments, dependency mechanisms, output Artifact types, signing operations, publication operations, or deployment 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-08-devsecops-integration:fr-dso-004#Statement&noheader&nofooter&noeditbtn}}
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.