aero-agent-roles 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/manifest.json +17 -3
- package/package.json +1 -1
- package/roles/software-product-assurance-engineer/ROLE.md +243 -0
- package/roles/software-product-assurance-engineer/SOURCES.md +40 -0
- package/roles/software-product-assurance-engineer/cli.py +542 -0
- package/roles/software-product-assurance-engineer/core/software_product_assurance_core.py +2108 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-AUDIT-2026-01.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-CSTD-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-DSA-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-DSTD-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-RB-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-SCMP-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-SDP-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-SPAP-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-SPAR-2026-Q3.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-SPR-LOG.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-SRF-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-SVALP-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-SVERP-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/docs/EX-TS-001.md +7 -0
- package/roles/software-product-assurance-engineer/example/evidence.csv +251 -0
- package/roles/software-product-assurance-engineer/example/metrics.csv +11 -0
- package/roles/software-product-assurance-engineer/example/pdr-pack.csv +17 -0
- package/roles/software-product-assurance-engineer/templates/q80-compliance-matrix-template.md +572 -0
- package/roles/software-product-assurance-engineer/tests/test_role_software_product_assurance_engineer.py +202 -0
- package/roles/software-product-assurance-engineer/tests/test_software_product_assurance_cli.py +271 -0
- package/roles/software-product-assurance-engineer/tests/test_software_product_assurance_core.py +570 -0
package/manifest.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "aero-agent-roles/manifest@1",
|
|
3
3
|
"counts": {
|
|
4
|
-
"roles":
|
|
4
|
+
"roles": 39,
|
|
5
5
|
"domains": 12,
|
|
6
|
-
"skills_bound":
|
|
7
|
-
"tests":
|
|
6
|
+
"skills_bound": 605,
|
|
7
|
+
"tests": 1625,
|
|
8
8
|
"standards": 27
|
|
9
9
|
},
|
|
10
10
|
"roles": [
|
|
@@ -461,6 +461,19 @@
|
|
|
461
461
|
"tests": 47,
|
|
462
462
|
"stage_preview": "arp4761a/safety-assessment -> arp4761a/functional-hazard-assessm -> arp4761a/preliminary-system-safety -> arp4761a/fta-fmea -> arp4761a/fault-tree-importance-mea"
|
|
463
463
|
},
|
|
464
|
+
{
|
|
465
|
+
"slug": "software-product-assurance-engineer",
|
|
466
|
+
"title": "Software Product Assurance Engineer (ECSS-Q-ST-80C)",
|
|
467
|
+
"domain": "space-systems",
|
|
468
|
+
"deliverable_type": "ECSS-Q-ST-80C compliance matrix + milestone evidence check",
|
|
469
|
+
"status": "draft",
|
|
470
|
+
"standards": [
|
|
471
|
+
"ecss"
|
|
472
|
+
],
|
|
473
|
+
"skills_bound": 8,
|
|
474
|
+
"tests": 106,
|
|
475
|
+
"stage_preview": "space-systems/ecss/q80-software-cr -> space-systems/ecss/q80-software-cr -> space-systems/ecss/q80-compliance- -> space-systems/ecss/q80-compliance- -> space-systems/ecss/q80-compliance-"
|
|
476
|
+
},
|
|
464
477
|
{
|
|
465
478
|
"slug": "space-systems-engineer",
|
|
466
479
|
"title": "Space Systems Engineer",
|
|
@@ -709,6 +722,7 @@
|
|
|
709
722
|
"roles": [
|
|
710
723
|
"adcs-engineer",
|
|
711
724
|
"rocket-propulsion-engineer",
|
|
725
|
+
"software-product-assurance-engineer",
|
|
712
726
|
"space-systems-engineer"
|
|
713
727
|
]
|
|
714
728
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aero-agent-roles",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "The role layer for aerospace engineering agents: professional roles that bind verified Aero Agent Skills into end-to-end deliverables, with evidence gates and a human sign-off. A CLI and an MCP server. By Ashforde OU.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Ashforde OU <contact@ashforde.org> (https://ashforde.org)",
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: role
|
|
3
|
+
name: software-product-assurance-engineer
|
|
4
|
+
title: "Software Product Assurance Engineer (ECSS-Q-ST-80C)"
|
|
5
|
+
status: draft
|
|
6
|
+
domain: space-systems
|
|
7
|
+
deliverable_type: "ECSS-Q-ST-80C compliance matrix + milestone evidence check"
|
|
8
|
+
standards_bound:
|
|
9
|
+
- id: ecss
|
|
10
|
+
tier: TIER-2
|
|
11
|
+
reference-only: true
|
|
12
|
+
skills_bound:
|
|
13
|
+
- space-systems/ecss/q80-software-criticality-tailoring
|
|
14
|
+
- space-systems/ecss/q80-compliance-matrix
|
|
15
|
+
- space-systems/ecss/q80-milestone-assurance-evidence
|
|
16
|
+
- space-systems/ecss/q80-software-product-assurance-plan
|
|
17
|
+
- space-systems/ecss/q80-software-process-assurance
|
|
18
|
+
- space-systems/ecss/q80-software-product-quality-metrics
|
|
19
|
+
- space-systems/ecss/software-engineering
|
|
20
|
+
- space-systems/ecss/software-verification
|
|
21
|
+
tools_allowed: [stdlib, offline-file-processing]
|
|
22
|
+
forbidden:
|
|
23
|
+
- "mark a compliance matrix approved or signed"
|
|
24
|
+
- "issue a statement of compliance"
|
|
25
|
+
- "accept a not-applicable claim against the tailoring without the customer's agreement"
|
|
26
|
+
- "claim certification approval"
|
|
27
|
+
- "reproduce proprietary standard text"
|
|
28
|
+
sign_off_required: true
|
|
29
|
+
license: Apache-2.0
|
|
30
|
+
compatibility: "agentskills.io ROLE.md; any SKILL.md host"
|
|
31
|
+
metadata:
|
|
32
|
+
version: 0.1.0
|
|
33
|
+
author: ashfordeOU
|
|
34
|
+
skills_release: "after v1.4.0 (the q80 leaves)"
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
# Software Product Assurance Engineer (ECSS-Q-ST-80C)
|
|
38
|
+
|
|
39
|
+
## Role identity
|
|
40
|
+
|
|
41
|
+
This role is the software product assurance (PA) engineer of a European
|
|
42
|
+
space project. It turns the project's software PA evidence into a
|
|
43
|
+
clause-by-clause compliance matrix against ECSS-Q-ST-80C Rev.2 (30 April
|
|
44
|
+
2025), the European Cooperation for Space Standardization (ECSS) standard
|
|
45
|
+
for software product assurance, and stops at a human sign-off.
|
|
46
|
+
|
|
47
|
+
Its first reader is the PA manager of a space supplier preparing a
|
|
48
|
+
milestone review: the system requirements review (SRR), preliminary design
|
|
49
|
+
review (PDR), critical design review (CDR), qualification review (QR) or
|
|
50
|
+
acceptance review (AR). The test readiness review (TRR) and operational
|
|
51
|
+
readiness review (ORR) are accepted too. Use it when a customer asks for
|
|
52
|
+
the Q-80 compliance matrix, when a supplier's matrix has to be audited, or
|
|
53
|
+
when a review pack has to be checked against what the review owes. Do NOT
|
|
54
|
+
use it to judge what a document says (it checks that the cited document
|
|
55
|
+
exists, not that its content is adequate), to sign the matrix, or for
|
|
56
|
+
airborne software under DO-178C (see do178c-cert-engineer).
|
|
57
|
+
|
|
58
|
+
## Deliverable contract
|
|
59
|
+
|
|
60
|
+
The role produces the **Software Product Assurance Compliance Matrix
|
|
61
|
+
(ECSS-Q-ST-80C Rev.2)** as Markdown and as comma-separated values (CSV),
|
|
62
|
+
always with status DRAFT, and ending with the line
|
|
63
|
+
`STOP: human sign-off required before submission.` The Markdown carries,
|
|
64
|
+
in this order (original structure per
|
|
65
|
+
templates/q80-compliance-matrix-template.md):
|
|
66
|
+
|
|
67
|
+
1. Scope and basis: project, standard, the software criticality category
|
|
68
|
+
and how it was derived, security sensitivity, project scope, target
|
|
69
|
+
review, and which inputs were given.
|
|
70
|
+
2. Coverage summary: counts per status and three fractions of the
|
|
71
|
+
applicable clauses: compliant, carrying a document reference, and
|
|
72
|
+
traced to a real file.
|
|
73
|
+
3. The compliance matrix: one row per clause with its tailoring, its
|
|
74
|
+
status (compliant, partially compliant, not compliant, not
|
|
75
|
+
applicable), the justification, the evidence references and the gaps.
|
|
76
|
+
4. The gap list, each gap routed to the bound skill that resolves it.
|
|
77
|
+
5. The document trace: cited documents that resolve to no file in the
|
|
78
|
+
project's folder, the clauses that cite them, and the files no
|
|
79
|
+
evidence row cites.
|
|
80
|
+
6. The tailoring for the category, per clause group, with the clauses
|
|
81
|
+
that apply in reduced form.
|
|
82
|
+
7. The milestone evidence check: the documents the target review owes,
|
|
83
|
+
each with the clauses that drive it and the state of their evidence;
|
|
84
|
+
the software product assurance plan (SPAP) maturity owed; the review
|
|
85
|
+
pack graded for missing, immature and unplanned items.
|
|
86
|
+
8. The software product assurance milestone report (SPAMR) skeleton:
|
|
87
|
+
which sections the evidence can fill and which inputs are missing.
|
|
88
|
+
9. Product quality metrics graded against the category thresholds.
|
|
89
|
+
10. Limitations and boundaries: draft, not an approval, not a
|
|
90
|
+
certification, not a statement of compliance.
|
|
91
|
+
11. Human sign-off: none recorded, then the stop line.
|
|
92
|
+
|
|
93
|
+
## Inputs
|
|
94
|
+
|
|
95
|
+
| Input | Flag | Form |
|
|
96
|
+
|---|---|---|
|
|
97
|
+
| Software criticality category | `--category A-D` | or `--severity I-IV` plus `--provision hardware / software / operational-procedure` to derive it |
|
|
98
|
+
| Evidence index | `--evidence FILE.csv` | columns clause, document, section, status, justification (loose header spellings accepted: requirement, doc, paragraph, compliance, comment, rationale) |
|
|
99
|
+
| Document folder | `--docs DIR` | the project's documents; a cited document resolves when a file has its name, with or without extension |
|
|
100
|
+
| Target review | `--review PDR` | SRR, PDR, CDR, TRR, QR, AR or ORR |
|
|
101
|
+
| Review pack | `--pack FILE.csv` | columns document (a document kind: spap, sdp, scm-plan...), maturity (draft, issued, approved) |
|
|
102
|
+
| Measurement set | `--metrics FILE.csv` | columns metric, value (blank = not measured) |
|
|
103
|
+
| Project scope | `--scope reuse,suppliers` | suppliers, procured, reuse, security, operations |
|
|
104
|
+
| Security sensitivity | `--security-sensitive` | switches the security clauses on |
|
|
105
|
+
| Customer clause list | `--clauses FILE` | one clause id per line, or id,title; default: every requirement of the standard |
|
|
106
|
+
|
|
107
|
+
Without `--evidence` the role builds its bundled worked example
|
|
108
|
+
(`example/`): an invented category B on-board software at PDR, with an
|
|
109
|
+
evidence index, stub documents (one cited report deliberately absent), a
|
|
110
|
+
PDR pack and a measurement set. Every file there is marked as an example.
|
|
111
|
+
|
|
112
|
+
## Workflow (stages → bound skills)
|
|
113
|
+
|
|
114
|
+
| Stage | Loads skill | Produces |
|
|
115
|
+
|---|---|---|
|
|
116
|
+
| 1. Category | space-systems/ecss/q80-software-criticality-tailoring | category A-D from function severity and compensating provisions, with the constraints it places |
|
|
117
|
+
| 2. Tailoring | space-systems/ecss/q80-software-criticality-tailoring | every requirement applicable, reduced or not applicable for the category; security clauses by sensitivity |
|
|
118
|
+
| 3. Evidence index | space-systems/ecss/q80-compliance-matrix | evidence rows normalised to the four statuses, several rows per clause kept |
|
|
119
|
+
| 4. Compliance matrix | space-systems/ecss/q80-compliance-matrix | one row per clause, weakest status wins, silence is not compliance, coverage, gaps, orphan evidence |
|
|
120
|
+
| 5. Document trace | space-systems/ecss/q80-compliance-matrix | every citation resolved to a file; missing files raise gaps and downgrade claims resting on them |
|
|
121
|
+
| 6. Gap routing | space-systems/ecss/q80-software-product-assurance-plan / q80-software-process-assurance / q80-software-product-quality-metrics | each gap named with the skill that resolves it (programme and plan, process, metrics) |
|
|
122
|
+
| 7. Milestone evidence | space-systems/ecss/q80-milestone-assurance-evidence / q80-software-product-assurance-plan | documents owed at the review with their driving clauses, SPAP maturity owed, review pack graded |
|
|
123
|
+
| 8. Milestone report skeleton | space-systems/ecss/q80-milestone-assurance-evidence | SPAMR sections filled or missing an input |
|
|
124
|
+
| 9. Product metrics | space-systems/ecss/q80-software-product-quality-metrics | measurement set graded pass, fail, missing, with margins |
|
|
125
|
+
| 10. Engineering context | space-systems/ecss/software-engineering / software-verification | the ECSS-E-ST-40C engineering and verification side the Q-80 clauses assure (verification depth and independence by category) |
|
|
126
|
+
| 11. Stop gate | (all above) | DRAFT matrix + CSV + evidence bundle; the human signs |
|
|
127
|
+
|
|
128
|
+
## Evidence gates
|
|
129
|
+
|
|
130
|
+
- Stage 1 done = the category is stated, and when it was derived the
|
|
131
|
+
rationale and constraints are in the matrix; a category that disagrees
|
|
132
|
+
with the severity is an open point for the human.
|
|
133
|
+
- Stage 4 done = one row per clause of the list, each with one of the
|
|
134
|
+
four statuses; no clause without evidence is anything but not
|
|
135
|
+
compliant (or not applicable because the tailoring removes it); a
|
|
136
|
+
compliant row always carries a document reference.
|
|
137
|
+
- Stage 5 done = with a document folder, every compliant row cites at
|
|
138
|
+
least one file that exists; without one, the matrix says the trace was
|
|
139
|
+
not run and the traced fraction is "not run", never zero or full.
|
|
140
|
+
- Stage 7 done = every owed document lists its driving clauses and an
|
|
141
|
+
evidence state; the pack grading names what is missing and immature.
|
|
142
|
+
- FINAL = the coverage summary and the gap count match the rows; the
|
|
143
|
+
matrix is DRAFT and ends at the stop line; `cli.py check` passes.
|
|
144
|
+
|
|
145
|
+
## Boundary / forbidden
|
|
146
|
+
|
|
147
|
+
- NEVER mark the matrix approved or signed, and never write the sign-off
|
|
148
|
+
block: sign-off is a human act.
|
|
149
|
+
- NEVER issue a statement of compliance built on the matrix.
|
|
150
|
+
- NEVER accept a not-applicable claim on a clause the tailoring keeps: it
|
|
151
|
+
is a deviation and needs the customer's agreement, so it stays a gap.
|
|
152
|
+
- NEVER claim certification approval or launch readiness.
|
|
153
|
+
- ECSS-Q-ST-80C is referenced, never reproduced: clause identifiers are
|
|
154
|
+
factual identifiers, topic labels are our own wording.
|
|
155
|
+
- Output is a DRAFT for the responsible human, not an approval.
|
|
156
|
+
|
|
157
|
+
## Human sign-off
|
|
158
|
+
|
|
159
|
+
The matrix leaves the working folder only after a named human signs it.
|
|
160
|
+
That person appends this block to the Markdown file by hand (the role
|
|
161
|
+
never writes it):
|
|
162
|
+
|
|
163
|
+
```text
|
|
164
|
+
Signed-off-by: <full name>
|
|
165
|
+
Sign-off-role: <role, e.g. software PA manager>
|
|
166
|
+
Sign-off-date: <YYYY-MM-DD>
|
|
167
|
+
Sign-off-decision: <approved or rejected>
|
|
168
|
+
Accepted-open-gaps: <the open-gap count, when approving over open gaps>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
`python3 cli.py check --file matrix.md` then verifies the block: a name
|
|
172
|
+
and role, an ISO date, a decision of approved or rejected, and, for an
|
|
173
|
+
approval over open gaps, the accepted count equal to the open gaps. An
|
|
174
|
+
unsigned matrix passes the check only as a draft ending at the stop line.
|
|
175
|
+
|
|
176
|
+
## Verification
|
|
177
|
+
|
|
178
|
+
The role runs STANDALONE: `core/software_product_assurance_core.py` is an
|
|
179
|
+
executable engine (stdlib only) that derives the category, resolves the
|
|
180
|
+
tailoring, builds the matrix, traces the documents, checks the milestone
|
|
181
|
+
evidence and the review pack, builds the SPAMR skeleton, grades the
|
|
182
|
+
metrics, renders Markdown and CSV, and gate-checks both the model and the
|
|
183
|
+
rendered file. No Aero Agent Skills checkout is needed.
|
|
184
|
+
|
|
185
|
+
Run the role:
|
|
186
|
+
```bash
|
|
187
|
+
python3 cli.py build --out matrix.md # bundled worked example
|
|
188
|
+
python3 cli.py build --out matrix.md --evidence ev.csv --category B \
|
|
189
|
+
--docs ./project-docs --review PDR --pack pdr-pack.csv \
|
|
190
|
+
--metrics metrics.csv --scope reuse # a real project
|
|
191
|
+
python3 cli.py build --out matrix.md --evidence ev.csv --severity I \
|
|
192
|
+
--provision hardware # derive the category
|
|
193
|
+
python3 cli.py build --out matrix.md --bundle # + evidence/{model,gates,provenance}.json
|
|
194
|
+
python3 cli.py check --file matrix.md # gate-check (draft or human-signed)
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
`build` writes `matrix.md` and `matrix.csv`. Exit 0 = the deliverable
|
|
198
|
+
passes its gates (open gaps are findings, not failures); 1 = a gate fails
|
|
199
|
+
or the cross-check disagrees; 2 = bad input.
|
|
200
|
+
|
|
201
|
+
Installed from npm, the role runs the same way:
|
|
202
|
+
```bash
|
|
203
|
+
npx aero-roles install software-product-assurance-engineer --dest ./pa
|
|
204
|
+
python3 ./pa/software-product-assurance-engineer/cli.py build --out matrix.md
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Cross-check against the bound skills: when AEROSKILLS_DEV points at an
|
|
208
|
+
aero-agent-skills checkout or installed package that carries the q80
|
|
209
|
+
leaves, `build` also dispatches them and compares the engine's category,
|
|
210
|
+
tailoring, matrix rows, coverage, gaps, owed documents, pack grading,
|
|
211
|
+
SPAMR skeleton, SPAP maturity and metrics grading with theirs
|
|
212
|
+
(provenance.json records each comparison; a disagreement fails the
|
|
213
|
+
build). Without it the build says the cross-check was not dispatched and
|
|
214
|
+
how to enable it:
|
|
215
|
+
```bash
|
|
216
|
+
npm install aero-agent-skills
|
|
217
|
+
export AEROSKILLS_DEV="$(npm root)/aero-agent-skills" # global: "$(npm root -g)/aero-agent-skills"
|
|
218
|
+
python3 cli.py build --out matrix.md --require-cross-check
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Tests:
|
|
222
|
+
- tests/test_software_product_assurance_core.py: normalisation, category
|
|
223
|
+
derivation and tailoring, every matrix rule, the document trace, the
|
|
224
|
+
milestone and pack grading, the SPAMR skeleton, metrics, the worked
|
|
225
|
+
example anchors (cross-checked against the bound leaves), the model and
|
|
226
|
+
Markdown gates including a human-appended sign-off, and standalone mode.
|
|
227
|
+
- tests/test_role_software_product_assurance_engineer.py: bound-skill
|
|
228
|
+
resolution (skips if the skills repo is absent), workflow order,
|
|
229
|
+
template complete and identical to a fresh build of the example,
|
|
230
|
+
boundaries, abbreviations spelled out, no machine paths.
|
|
231
|
+
- tests/test_software_product_assurance_cli.py: build and check through
|
|
232
|
+
cli.py, a real-project run, input errors, the cross-check (and that it
|
|
233
|
+
catches a disagreement) when the skills are present, and the
|
|
234
|
+
--require-cross-check message when they are not.
|
|
235
|
+
|
|
236
|
+
## Compliance
|
|
237
|
+
|
|
238
|
+
- ecss TIER-2 reference-only: ECSS-Q-ST-80C Rev.2 is freely downloadable
|
|
239
|
+
from ECSS; cited as the source, paraphrased, never reproduced.
|
|
240
|
+
- The metric thresholds are illustrative defaults: the standard fixes no
|
|
241
|
+
values, and the contract and the plan replace them.
|
|
242
|
+
- SOURCES.md records what is referenced and how.
|
|
243
|
+
- Author: ashfordeOU.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# SOURCES.md - Software Product Assurance Engineer (ECSS-Q-ST-80C)
|
|
2
|
+
|
|
3
|
+
Standards and documents this role references. Summary-not-copy: see
|
|
4
|
+
[STANDARDS.md](../../STANDARDS.md) for the full rule.
|
|
5
|
+
|
|
6
|
+
| Source | Role use | Gated |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| ECSS-Q-ST-80C Rev.2, Space product assurance: Software product assurance (30 April 2025) | clause identifiers of the requirement list, the applicability of each requirement per software criticality category and its security-driven clauses, the outputs each requirement expects and the reviews they are expected at, the outline of the milestone report and the plan maturity per review, all paraphrased into data and rules | false |
|
|
9
|
+
| ECSS-Q-ST-80C Rev.2, Annex D (criticality categories and tailoring) | category from function severity and compensating provisions; per-category applicability codes; reduced-scope notes in our own words | false |
|
|
10
|
+
| ECSS-Q-ST-80C Rev.2, Annexes B, C and F (plan, milestone report, outputs per review) | SPAP maturity owed per review, the SPAMR section outline as topics of our own wording, the documents owed per review | false |
|
|
11
|
+
| ECSS-E-ST-40C Rev.1, Space engineering: Software | engineering and verification context of the bound software-engineering and software-verification leaves | false |
|
|
12
|
+
|
|
13
|
+
ECSS standards are freely downloadable from the ECSS website
|
|
14
|
+
(ecss.nl) after registration. They are cited as the source and
|
|
15
|
+
paraphrased; no requirement, heading or annex text is reproduced. Clause
|
|
16
|
+
identifiers are factual identifiers. The topic labels in the matrix are
|
|
17
|
+
our own wording, the same labels the bound q80 leaves use.
|
|
18
|
+
|
|
19
|
+
The metric thresholds in the metrics stage are illustrative project
|
|
20
|
+
defaults carried by the bound q80-software-product-quality-metrics leaf:
|
|
21
|
+
the standard fixes no threshold values, and the contract and the plan
|
|
22
|
+
replace them.
|
|
23
|
+
|
|
24
|
+
The deliverable template in `templates/` is the generated output of the
|
|
25
|
+
role core for the bundled worked example (`example/`), an invented
|
|
26
|
+
project. It is an original synthesis; nothing in it describes a real
|
|
27
|
+
mission or reproduces the standard.
|
|
28
|
+
|
|
29
|
+
## Acquisition status
|
|
30
|
+
|
|
31
|
+
- ECSS-Q-ST-80C Rev.2 and ECSS-E-ST-40C Rev.1: obtain from ecss.nl;
|
|
32
|
+
referenced summary-only, never quoted in role outputs.
|
|
33
|
+
|
|
34
|
+
## Verification
|
|
35
|
+
|
|
36
|
+
The engine's category derivation, tailoring, matrix rows, coverage, gap
|
|
37
|
+
list, owed documents, pack grading, SPAMR skeleton, SPAP maturity and
|
|
38
|
+
metrics grading are cross-checked against the bound q80 leaf logic at
|
|
39
|
+
build time when the skills library is present (provenance.json records
|
|
40
|
+
each comparison: core value, skill value, agrees).
|