diff --git a/rivet-cli/src/main.rs b/rivet-cli/src/main.rs index e911fe6..a20282b 100644 --- a/rivet-cli/src/main.rs +++ b/rivet-cli/src/main.rs @@ -1980,6 +1980,18 @@ artifacts: const ASPICE_SAMPLE: &str = "\ artifacts: + - id: STKHR-001 + type: stakeholder-req + title: Operators need full sensor history for fleet diagnostics + status: draft + description: > + Fleet operators need access to a complete time-series record of + every sensor reading so anomalies discovered post-trip can be + diagnosed against ground-truth data. + fields: + priority: must + source: fleet-operations-stakeholder-doc-v1 + - id: SYSREQ-001 type: system-req title: System shall provide data logging @@ -1991,6 +2003,9 @@ artifacts: priority: must verification-criteria: > Verify that sensor data is recorded at 100Hz under nominal load. + links: + - type: derives-from + target: STKHR-001 - id: SWREQ-001 type: sw-req diff --git a/schemas/aspice.yaml b/schemas/aspice.yaml index 69b86a5..75dfdc2 100644 --- a/schemas/aspice.yaml +++ b/schemas/aspice.yaml @@ -419,6 +419,19 @@ link-types: source-types: [verification-verdict] target-types: [verification-execution] + # `allocated-from` is the forward direction used by ASPICE + # `sw-arch-component` to point at its allocating sw-req. The common + # schema declares the inverse-named pair (`allocated-to` with + # `inverse: allocated-from`) but only registers the forward token + # `allocated-to`. ASPICE swaps the canonical direction for SWE.2, + # so we declare `allocated-from` here as a forward link-type to + # avoid the gotcha-G.3 footgun in the seed. + - name: allocated-from + inverse: allocated-to + description: SW arch component is allocated from a SW requirement (SWE.2) + source-types: [sw-arch-component] + target-types: [sw-req, system-arch-component] + # ────────────────────────────────────────────────────────────────────────── # ASPICE traceability rules #