Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-04-multi-cloud-management:fr-mc-002 [2026/07/18 08:28] – nick_dido | dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-04-multi-cloud-management:fr-mc-002 [2026/07/30 05:52] (current) – nick_dido | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ===== Statement ===== | ===== Statement ===== | ||
| - | [[dido: | + | [[dido: |
| - | ===== Source Statement | + | ===== Derived From ===== |
| - | > The system shall support provider-specific extensions through plugins. | + | This requirement derives from: |
| - | ===== Source ===== | + | * Crucible System Requirements Specification, |
| - | Crucible System Requirements Specification, | + | The Original Requirement states: |
| - | ===== Assessment ===== | + | > //The system shall support provider-specific extensions through plugins.// |
| - | The source statement identifies the intended extension mechanism but does not provide a fully testable formulation. | + | FR-MC-002: |
| - | The following Specification Discipline and Authoring findings apply: | + | |
| - | + | * Changes | |
| - | | + | * Replaces |
| - | * **shall** does not follow the established uppercase normative convention | + | |
| - | * **Support** is a weak verb that does not identify the required behavior | + | |
| - | * **Provider-specific extensions** does not identify the architectural subject that realizes the extension | + | |
| - | * **Plugins** does not use the defined | + | |
| - | * The source statement does not identify the contract governing the Provider Plugin | + | |
| - | | + | |
| - | + | ||
| - | The normalized Statement: | + | |
| - | + | ||
| - | | + | |
| - | * Replaces **support** with the direct behavior | + | |
| * Uses the defined [[dido: | * Uses the defined [[dido: | ||
| - | * Requires conformance to the applicable [[dido: | + | * Preserves plugins as the source-required extension mechanism |
| - | * Retains | + | |
| - | * Preserves implementation independence outside the source-mandated plugin boundary | + | |
| - | * Retains one primary required behavior | + | |
| - | The normalized Statement does not independently require Provider Plugin discovery, installation, | + | No other substantive normalization is required. |
| ===== Rationale ===== | ===== Rationale ===== | ||
| - | A [[dido: | + | Providers |
| - | A [[dido: | + | A [[dido: |
| - | A Provider | + | Provider-specific extensions can address: |
| - | * Resource type mappings | + | * Provider resource types |
| - | * Provider | + | * Provider |
| - | * Authentication behavior | + | * Provider authentication |
| - | * Region selection | + | * Provider regions |
| - | * Network configuration | + | * Provider networking |
| - | * Storage configuration | + | * Provider storage |
| - | * Machine type selection | + | * Provider machine types |
| * Provider-managed services | * Provider-managed services | ||
| - | * Image conversion | + | * Provider-specific deployment |
| - | * Image upload | + | |
| - | * Image signing | + | |
| - | * Image verification | + | |
| - | * Image promotion | + | |
| - | * Infrastructure initialization | + | |
| - | * Deployment operations | + | |
| - | * Teardown | + | |
| * Provider-specific validation | * Provider-specific validation | ||
| * Provider-specific error handling | * Provider-specific error handling | ||
| - | The applicable [[dido: | + | This requirement establishes |
| - | The [[dido: | + | * Plugin discovery |
| + | * Plugin installation | ||
| + | * Plugin loading | ||
| + | * Plugin activation | ||
| + | * A [[dido: | ||
| + | * Version compatibility | ||
| + | * Plugin | ||
| + | * Plugin signing | ||
| + | * Plugin substitution | ||
| + | * Plugin removal | ||
| + | * A programming language | ||
| - | Provider Plugins preserve separation among: | + | Separate requirements, |
| - | + | ||
| - | * Provider-independent Crucible behavior | + | |
| - | * Common deployment intent | + | |
| - | * The Provider Abstraction | + | |
| - | * Provider-specific deployment behavior | + | |
| - | * Provider-specific parameters | + | |
| - | * Provider interfaces and software development kits | + | |
| ===== Applies To ===== | ===== Applies To ===== | ||
| Line 86: | Line 68: | ||
| * [[dido: | * [[dido: | ||
| + | * Provider-specific extensions | ||
| * [[dido: | * [[dido: | ||
| - | | + | * Provider-specific behavior |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | | + | |
| - | * Provider-specific parameters | + | |
| - | * Provider interfaces | + | |
| - | * Provider deployment workflows | + | |
| ===== Verification ===== | ===== Verification ===== | ||
| - | - Verification | + | Verification |
| - | - Verification SHALL confirm that [[dido: | + | |
| - | - Verification SHALL confirm that the tested Provider Plugin conforms to the applicable [[dido: | + | |
| - | Verification may include: | + | - Provider-specific behavior is selected for testing |
| - | + | - The tested | |
| - | * Provider | + | - [[dido: |
| - | * Provider Contract conformance tests | + | - The observed behavior demonstrates a provider-specific extension supplied through the Provider |
| - | * Provider interface tests | + | |
| - | * Interface conformance inspection | + | |
| - | * Static dependency analysis | + | |
| - | * Provider deployment tests | + | |
| - | * Provider Plugin substitution tests | + | |
| - | + | ||
| - | The verification record SHALL identify: | + | |
| - | + | ||
| - | - The tested | + | |
| - | | + | |
| - | - The applicable Provider Contract | + | |
| - | - The Provider Plugin loading operation | + | |
| - | - The Provider Contract conformance result | + | |
| - | - The observed result | + | |
| - | - The generated | + | |
| - | + | ||
| - | ===== Outgoing Traceability ===== | + | |
| - | + | ||
| - | This requirement realizes: | + | |
| - | + | ||
| - | * [[dido: | + | |
| - | * [[dido:02-crusible: | + | |
| - | + | ||
| - | This requirement relates to: | + | |
| - | + | ||
| - | | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| ===== Referenced By ===== | ===== Referenced By ===== | ||
| - | The wiki Backlinks function provides the current list of pages that reference | + | The following |
| - | + | ||
| - | Incoming [[dido:99_annexes: | + | |
| - | + | ||
| - | Backlinks identify incoming references but do not define the semantics of each relationship. Referencing pages should identify whether the relationship represents realization, | + | |
| - | + | ||
| - | ===== ConOps Relationship ===== | + | |
| - | + | ||
| - | The Crucible Concept of Operations permits provider-specific realization while preserving provider-independent deployment intent. | + | |
| - | + | ||
| - | FR-MC-002 establishes the extension boundary through which Crucible loads a Provider Plugin that conforms to the applicable Provider Contract. | + | |
| - | + | ||
| - | The Provider Abstraction defines the provider-independent architectural boundary, while the Provider Plugin implements provider-specific behavior for a particular Provider or class of Providers. | + | |
| - | + | ||
| - | ===== Delivery Phase ===== | + | |
| - | Phase 1 | + | {{backlinks> |
| ===== Implementation Status ===== | ===== Implementation Status ===== | ||
| - | Not Assessed | + | Implemented |
| - | + | ||
| - | Implementation status requires verification that [[dido: | + | |
| ===== Requirement Status ===== | ===== Requirement Status ===== | ||
| - | Draft | + | < |
| - | + | ||
| - | The source System Requirements Specification identifies Version 1.1 as a draft. | + | |
| ---- | ---- | ||
| - | ===== Notes for Editors | + | ===== Issues |
| - | This requirement page should retain the stable requirement identifier '' | + | < |
| - | Changes | + | < |
| - | The Source Statement should preserve the original wording from the controlling System Requirements Specification. | + | ---- |
| + | ===== Notes for Editors ===== | ||
| - | The source explicitly requires plugins. Changes should not generalize the extension mechanism without a corresponding change to the controlling | + | This requirement page retains |
| - | The Statement should remain limited to loading | + | This page is a leaf requirement page and omits a trailing '': |
| - | Requirements for Provider Plugin discovery, installation, | + | The Statement preserves |
| - | Verification criteria should test only the behavior stated in the normalized Statement and should not introduce additional normative obligations. | + | Do not generalize |
| - | Incoming Traceability should use the wiki Backlinks function rather than a manually maintained list. | + | Do not add Provider Plugin discovery, installation, |
| To reference this requirement Statement from another wiki page, insert: | To reference this requirement Statement from another wiki page, insert: | ||
| Line 190: | Line 120: | ||
| {{section> | {{section> | ||
| </ | </ | ||
| - | |||
| - | Do not rename this page after an external citation unless a redirect or move plan is in place. | ||
| ---- | ---- | ||