dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-11-management-interfaces:fr-ui-002

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-11-management-interfaces:fr-ui-002 [2026/07/31 07:33] – removed - external edit (Unknown date) 127.0.0.1dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-11-management-interfaces:fr-ui-002 [2026/07/31 07:33] (current) – ↷ Page moved from dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-11-crucible-interfaces:fr-ui-002 to dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-11-management-interfaces:fr-ui-002 nick_dido
Line 1: Line 1:
 +====== FR-UI-002 — Command-Line Interface ======
  
 +[[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-11-management-interfaces:start|Go to C.3.11 Crucible Interfaces]]
 +
 +===== Statement =====
 +
 +[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL provide a [[dido:99_annexes:annex-b-terms-and-definitions:c:cli|Command-Line Interface (CLI)]] for invoking Crucible operations.
 +
 +===== Derived From =====
 +
 +This requirement derives from:
 +
 +  * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-UI-002
 +
 +The Original Requirement requires the web-based interface to use the same engine and command-line capabilities as the primary command-line interface.[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
 +
 +FR-UI-002:
 +
 +  * Identifies [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] as the required system
 +  * Identifies the primary command-line interface as a [[dido:99_annexes:annex-b-terms-and-definitions:c:cli|Command-Line Interface (CLI)]]
 +  * Expresses the command-line capability as a direct and independently verifiable requirement
 +  * Separates provision of the Command-Line Interface from shared interface operations
 +  * Separates provision of the Command-Line Interface from provision of the Web-Based User Interface
 +
 +FR-UI-001 separately governs operations exposed through both interfaces.
 +
 +FR-UI-003 separately requires the Web-Based User Interface.
 +
 +===== Rationale =====
 +
 +A [[dido:99_annexes:annex-b-terms-and-definitions:c:cli|Command-Line Interface (CLI)]] provides a text-based interface through which people and automated processes can invoke Crucible operations.
 +
 +The Command-Line Interface supports:
 +
 +  * Interactive terminal use
 +  * Shell scripts
 +  * Automated [[dido:99_annexes:annex-b-terms-and-definitions:w:workflow|Workflows]]
 +  * [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipelines]]
 +  * Noninteractive execution
 +
 +Providing a Command-Line Interface allows Crucible operations to participate in repeatable and automated processes without requiring interaction through a graphical interface.
 +
 +This requirement establishes a Command-Line Interface without prescribing:
 +
 +  * A particular command shell
 +  * A particular terminal application
 +  * A particular command syntax
 +  * Particular command names
 +  * Particular options or arguments
 +  * A particular output format
 +  * A particular scripting language
 +  * A particular authentication mechanism
 +  * A particular operating system
 +  * A particular internal implementation
 +  * A particular set of Crucible operations
 +
 +Separate requirements, architecture specifications, interface specifications, security requirements, and command profiles govern those subjects.
 +
 +===== 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:c:cli|Command-Line Interface (CLI)]]
 +  * Crucible operations exposed through the Command-Line Interface
 +  * Interactive and noninteractive command-line invocation
 +
 +===== Verification =====
 +
 +Verification confirms that:
 +
 +  - [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] provides a [[dido:99_annexes:annex-b-terms-and-definitions:c:cli|Command-Line Interface (CLI)]]
 +  - A test operator or automated process can invoke an identified Crucible operation through the Command-Line Interface
 +  - The Command-Line Interface accepts the inputs required by the selected operation
 +  - Crucible performs the selected operation
 +  - The Command-Line Interface provides an observable operation result
 +  - The Command-Line Interface provides an observable completion status
 +
 +===== Referenced By =====
 +
 +The following pages reference this requirement:
 +
 +{{backlinks>.#dido:02-crusible}}
 +
 +===== Implementation Status =====
 +
 +Implemented and Verified
 +
 +===== Requirement Status =====
 +
 +<todo>Review and approve FR-UI-002 as a leaf requirement.</todo>
 +
 +----
 +===== Issues =====
 +
 +<todo>Confirm which Crucible operations the Command-Line Interface must expose.</todo>
 +
 +<todo>Determine whether separate requirements define command syntax, input conventions, output formats, exit status conventions, and error reporting.</todo>
 +
 +<todo>Confirm whether the controlling source requires the Command-Line Interface to remain the primary Crucible interface.</todo>
 +
 +----
 +===== Notes for Editors =====
 +
 +This requirement page retains the stable requirement identifier ''FR-UI-002''.
 +
 +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:c:crucible|Crucible]]
 +  * [[dido:99_annexes:annex-b-terms-and-definitions:c:cli|Command-Line Interface (CLI)]]
 +
 +The Statement addresses provision of a Command-Line Interface for invoking Crucible operations.
 +
 +FR-UI-001 governs operations exposed through both the Command-Line Interface and the [[dido:99_annexes:annex-b-terms-and-definitions:w:web_ui|Web-Based User Interface (Web UI)]].
 +
 +FR-UI-003 governs provision of the Web-Based User Interface.
 +
 +The term **invoke** does not require every operation to complete synchronously. An invoked operation can return an immediate result, initiate a longer-running activity, or provide an identifier through which its status and result can be obtained.
 +
 +Do not add particular commands, syntax, options, arguments, output formats, shells, operating systems, or operation sets unless the controlling requirement changes through an approved requirements process.
 +
 +To reference this requirement Statement from another wiki page, insert:
 +
 +<code dokuwiki>
 +{{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-11-management-interfaces:fr-ui-002#Statement&noheader&nofooter&noeditbtn}}
 +</code>
 +
 +----
 +
 +<WRAP centeralign>
 +© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.
 +</WRAP>