Requirements Traceability Matrix (RTM)#

Field

Value

Document

RTM — Requirements Traceability Matrix (end-to-end, bidirectional)

DRD ref

ECSS-E-ST-40C Rev.1 §5.8 (traceability); Annex D <7> (SRS trace), Annex F <6> (design trace), Annex I/J <14>/<9> (verification trace)

Container

Design Justification File (DJF) — compliance/traceability/; referenced as RD-9 by the SRS, RD-11 by the SDD, RD-10 by the V&V Plan

Project

msi-processor (gitlab.eopf.copernicus.eu/ipf/msi-processor)

Software criticality

Category C (ECSS-Q-ST-80C Rev.2 / ECSS-E-ST-40C Annex R)

Baselined at

CDR (Critical Design Review)

Status

Draft for CDR

This RTM is the consolidated, authoritative traceability artefact that every constituent document defers to (SRS <7>, SDD <6>, ICD <7>, V&V <14>, SSS <5.1>). It realises the end-to-end chain SYS-* (SSS / RD-2) → REQ-IF-* (IRD / RD-3) / REQ-* (SRS / RD-4) → design components C-* (SDD / RD-5) + processing modules DPM-M-* (DPM / RD-6) + algorithms ALG-* (ATBD / RD-7), bound to external interfaces ICD-IF-* (ICD), and closed to verification (V&V Plan method T/A/I/R · tier A/B/C, validation task VT-1..VT-10). It provides both the forward (requirement → design → test) and backward (test/design → requirement; component/algorithm → requirement; upper-level → requirement) coverage, and an explicit orphan / gap analysis. This is the CDR traceability gate artefact; implementation (SDP WP-5) starts only after CDR.


<1> Purpose, scope and method#

Purpose. Demonstrate, at CDR, that (a) every software requirement decomposes from at least one upper-level (system or interface) requirement; (b) every requirement is allocated to at least one design component and, for processing requirements, to a DPM module and ATBD algorithm; (c) every requirement is bound to at least one verification method and validation task; and, conversely, (d) every upper-level requirement, design component, processing module and algorithm traces down to at least one requirement — i.e. there are no orphans and no unverified or unimplemented requirements.

Scope of identifiers covered.

Namespace

Tier

Source (authoritative)

Count

SYS-*

System requirement

SSS <5> (RD-2)

66

REQ-IF-*

Interface requirement

IRD <5> (RD-3)

31

REQ-*

Software requirement

SRS <5> (RD-4)

95

C-*

Design component

SDD <5.3>/<5.4> (RD-5)

20 (+1 container C-COMPUTING)

DPM-M-*

Processing module

DPM <8> (RD-6)

11

ALG-*

Algorithm

ATBD <5> (RD-7)

33

ICD-IF-*

External interface

ICD <5.3>

8 families (28 items)

VT-1..VT-10

Validation task

V&V <9> (RD-8)

10

Method (tailored, Category C / single-developer). The matrix is maintained as the inverse of the inline Trace: fields of the SRS/ICD/ATBD and the allocation/trace tables of the SDD (<5.3>, <6.1>), DPM (<8>) and V&V Plan (<14>). It is the single source of truth; the per-document trace summaries are its views. Where an upper-level correspondence is not stated verbatim in a source document it is marked (derived) and its derivation basis is given. The forward/backward closure is intended to be machine-checkable post-CDR (a CI lint that fails on any unresolved REQ-*).

Legend.

  • Method — T (Test) · A (Analysis) · I (Inspection) · R (Review of design).

  • Tier — A (CI-blocking, public, synthetic) · B (local/SDE integration, non-blocking in public CI) · C (local numerical budget validation → SVR) · “—” (static / review evidence, no dynamic tier).

  • (opt) — optional, profile-toggleable stage; not required for a valid baseline L2A.

  • [impl] — code internal legitimately finalised in implementation (post-CDR), specified here at interface + algorithm level.

  • (new) — no reuse heritage; designed in this project (atmospheric chain).


<2> Applicable and reference documents#

Id

Document

Path

RD-1

SDP — Software Development Plan

compliance/software-development-plan.md

RD-2

SSS — Software System Specification (SYS-*)

compliance/drd/sss-software-system-specification.md

RD-3

IRD — Interface Requirements Document (REQ-IF-*)

compliance/drd/ird-interface-requirements.md

RD-4

SRS — Software Requirements Specification (REQ-*)

compliance/drd/srs-software-requirements.md

RD-5

SDD — Software Design Document (C-*)

compliance/drd/sdd-software-design.md

RD-6

DPM — Data Processing Model (DPM-*)

compliance/drd/dpm-data-processing-model.md

RD-7

ATBD — Algorithm Theoretical Basis Document (ALG-*)

compliance/drd/atbd-algorithm-theoretical-basis.md

RD-8

V&V Plan (SVerP/SValP/SUITP merged; VT-*)

compliance/drd/vv-plan.md

RD-9

ICD — Interface Control Document (ICD-IF-*)

compliance/drd/icd-interface-control.md

AD-1

ECSS-E-ST-40C Rev.1 (30 April 2025) — §5.8, Annex D/F/I/J

AD-2

ECSS-Q-ST-80C Rev.2 — §6.2.6 verification


<3> Master end-to-end forward matrix — REQ-* → up / down / verify#

The REQ-* (SRS) is the trace spine: each row gives the upstream parents (SYS-* and/or REQ-IF-*), the implementing design component(s) C-*, the processing module / algorithm (DPM-M-* / ALG-*), the bound external interface(s) ICD-IF-*, and the verification (method · tier) and validation task. Upstream from the SRS Trace: fields (RD-4 <5>); design from SDD <5.3>/<6.1> (RD-5); module/algorithm from DPM <8> and ATBD <5>; verification from V&V <14> and <9>. Secondary C-COM-* services used by every PU wrapper (PRODUCT, ADF, PROFILE, PROV, QAFLAG, CHUNK) are listed once in <5.3> and abbreviated here to the stage-distinctive ones.

<3.1> Functional requirements (REQ-F-*)#

REQ-*

Summary

Upstream SYS-*

Upstream REQ-IF-*

Design C-*

DPM-M-* / ALG-*

ICD-IF-*

Verify (method·tier)

VT

REQ-F-L0-01

Decode L0c→per-band/detector samples

SYS-CAP-01

REQ-IF-IN-L0-01, REQ-IF-SW-04

C-PU-L0, C-COM-PRODUCT

DPM-M-L0 / ALG-L0-DEC

ICD-IF-L0

T,I·A

VT-1,2

REQ-F-L0-02

Lost-packet/line-loss detect+flag

SYS-CAP-01, SYS-OBS-02

C-PU-L0, C-COM-QAFLAG

DPM-M-L0 / ALG-L0-LOSS

ICD-IF-L0

T·A

VT-1

REQ-F-L0-03

Legality checks; resolve profile/ADF

SYS-CAP-01

REQ-IF-IN-L0-02, REQ-IF-SEC-01

C-PU-L0, C-COM-PROFILE, C-COM-ADF

DPM-M-L0

ICD-IF-L0, ICD-IF-PROF

T·A

VT-1

REQ-F-L0-04

Assemble self-describing L1A EOProduct

SYS-CAP-01

REQ-IF-IN-L0-01, REQ-IF-OUT-02

C-PU-L0, C-COM-PRODUCT

DPM-M-L0

ICD-IF-OUT

T,I·A

VT-1

REQ-F-L0-05

L0 read-only

REQ-IF-IN-L0-03, REQ-IF-SEC-03

C-PU-L0, C-COM-IO

DPM-M-L0

ICD-IF-L0

A,I·—

VT-9

REQ-F-L0-06

Canonical L0 ground decode (bit-exact)

SYS-CAP-01

REQ-IF-IN-L0-01

C-PU-L0 (ground_decode)

DPM-M-L0 / ALG-L0-DEC

ICD-IF-L0

T·—

VT-1

REQ-F-RAD-01

Dark/DSNU subtraction

SYS-CAP-02

REQ-IF-IN-ADF-01, REQ-IF-IN-ADF-02

C-PU-RAD, C-COM-ADF

DPM-M-RAD / ALG-RAD-DARK

ICD-IF-ADF

T,A·A+C

VT-1,3

REQ-F-RAD-02

NUC/PRNU flat-field

SYS-CAP-02

REQ-IF-IN-ADF-01

C-PU-RAD, C-COM-ADF

DPM-M-RAD / ALG-RAD-NUC

ICD-IF-ADF

T,A·A+C

VT-1,3

REQ-F-RAD-03

Bad-pixel detect + replace + flag

SYS-CAP-02, SYS-OBS-02

C-PU-RAD, C-COM-QAFLAG

DPM-M-RAD / ALG-RAD-BPR

T·A

VT-1

REQ-F-RAD-04

Saturation/no-data clip + flag

SYS-CAP-02, SYS-OBS-02

C-PU-RAD, C-COM-QAFLAG

DPM-M-RAD / ALG-RAD-SAT

T·A

VT-1

REQ-F-RAD-05 (opt)

Derive NUC gain/offset ADF

SYS-CAP-02, SYS-MNT-02

REQ-IF-IN-ADF-01

C-PU-RAD (calib mode)

DPM-M-RAD (DPM-ADF-NUC) / ALG-RAD-NUC

ICD-IF-ADF

T,A·B

VT-1

REQ-F-TOA-01

DN→TOA radiance

SYS-CAP-02, SYS-CAP-03

REQ-IF-IN-ADF-01

C-PU-TOA, C-COM-ADF

DPM-M-TOA / ALG-TOA-RAD

ICD-IF-ADF

T,A·A+C

VT-1,3

REQ-F-TOA-02 (opt)

TOA radiance→reflectance

SYS-CAP-03

C-PU-TOA

DPM-M-TOA / ALG-TOA-REF

T,A·A+C

VT-1,3

REQ-F-TOA-03

Emit L1B EOProduct + QA + prov

SYS-CAP-08

REQ-IF-OUT-02

C-PU-TOA, C-COM-PRODUCT, C-COM-PROV

DPM-M-TOA

ICD-IF-OUT

T,I·A

VT-1

REQ-F-ENH-01 (opt)

Configurable per-band denoise

SYS-CAP-02, SYS-ADP-01

C-PU-ENH

DPM-M-ENH / ALG-ENH-BWLP/WAVE/PCA/MA/GAUSS/FFTDARK

T,A·A+C

VT-1

REQ-F-ENH-02 (opt)

Deconvolution/sharpening

SYS-CAP-02, SYS-ADP-01

C-PU-ENH

DPM-M-ENH / ALG-ENH-DECONV

T,A·A+C

VT-1

REQ-F-ENH-03

Toggleable; default-off; QA impact

SYS-ADP-01, SYS-QUA-04

C-PU-ENH, C-PU-QA

DPM-M-ENH / DPM-M-QA

T,R·A

VT-1

REQ-F-COR-01

Inter-band co-registration to ref band

SYS-CAP-04

REQ-IF-CAP-01

C-PU-COR

DPM-M-COR / ALG-COR-FEAT/HOM/WARP

T,A·A

VT-1,4

REQ-F-COR-02

Residual ≤ BAND_COREG

SYS-CAP-05

C-PU-COR, C-PU-QA

DPM-M-COR

A,T·C

VT-4

REQ-F-COR-03

Fail-stop on insufficient matches

SYS-CAP-05, SYS-RAM-02

C-PU-COR, C-COM-ORC, C-COM-QAFLAG

DPM-M-COR

ICD-IF-DIAG

T·A

VT-1

REQ-F-GEO-01

Viewing-model geolocation

SYS-CAP-04

REQ-IF-IN-ADF-01, REQ-IF-IN-L0-01

C-PU-GEO, C-COM-ADF

DPM-M-GEO / ALG-GEO-ORBIT/GSD

ICD-IF-ADF

T,A·A+B

VT-1,4

REQ-F-GEO-02

DEM ortho + GCP + resample to CRS

SYS-CAP-04, SYS-ADP-02

C-PU-GEO, C-COM-ADF

DPM-M-GEO / ALG-GEO-GCP/ORTHO/RESAMP

ICD-IF-ADF

T,A·A+B

VT-1,4

REQ-F-GEO-03

Geolocation ≤ GEO_CE90

SYS-CAP-05

C-PU-GEO, C-PU-QA

DPM-M-GEO

A,T·C

VT-4

REQ-F-GEO-04

Emit L1C EOProduct + CRS/geoloc

SYS-CAP-08

REQ-IF-OUT-02

C-PU-GEO, C-COM-PRODUCT

DPM-M-GEO

ICD-IF-OUT

T,I·A

VT-1

REQ-F-PAN-01 (opt)

MS↔PAN fusion to high-res MS

SYS-CAP-04, SYS-ADP-01

C-PU-PAN

DPM-M-PAN / ALG-PAN-ALIGN/FUSE

T,A·A+B

VT-1

REQ-F-PAN-02 (opt)

Preserve spectral fidelity; QA

SYS-QUA-04

C-PU-PAN, C-PU-QA

DPM-M-PAN

A,T·C

VT-1

REQ-F-ATM-01 (new)

Retrieve/ingest AOT + water vapour

SYS-CAP-06

REQ-IF-IN-ADF-01

C-PU-ATM, C-COM-ADF

DPM-M-ATM / ALG-ATM-PAR

ICD-IF-ADF

T,A·A+C

VT-1,5

REQ-F-ATM-02 (new)

TOA→BOA surface reflectance

SYS-CAP-06

C-PU-ATM

DPM-M-ATM / ALG-ATM-RT

T,A·A+C

VT-1,5

REQ-F-ATM-03 (new)

Scene classification + cloud/shadow mask

SYS-CAP-07, SYS-OBS-02

C-PU-ATM, C-COM-QAFLAG

DPM-M-ATM / ALG-ATM-SCM

T·A

VT-1

REQ-F-ATM-04 (new)

Emit L2A EOProduct

SYS-CAP-08

REQ-IF-OUT-02

C-PU-ATM, C-COM-PRODUCT

DPM-M-ATM

ICD-IF-OUT

T,I·A

VT-1

REQ-F-QA-01

Per-band/stage metrics (SNR/RMSE/PSNR/MSE/var)

SYS-OBS-02, SYS-OBS-03, SYS-QUA-04

C-PU-QA

DPM-M-QA / ALG-QA-SNR/RMSE/PSNR/MSE/VAR

ICD-IF-OUT

T·A+C

VT-1,3,4,5

REQ-F-QA-02

Per-pixel QA flag propagation

SYS-OBS-02, SYS-CAP-08

C-PU-QA, C-COM-QAFLAG

DPM-M-QA

ICD-IF-OUT

T·A

VT-1

REQ-F-PRD-01

Write cloud-native Zarr EOProduct

SYS-CAP-08

REQ-IF-OUT-01, REQ-IF-OUT-02

C-COM-PRODUCT

DPM-M-PRD

ICD-IF-OUT, ICD-IF-SW

T,I·A+B

VT-2

REQ-F-PRD-02

Provenance (input/ADF/profile/version ids)

SYS-OBS-01

REQ-IF-CAP-03, REQ-IF-OUT-04

C-COM-PROV, C-COM-PRODUCT

DPM-M-PRD

ICD-IF-OUT

I,T·A

VT-1

REQ-F-ORC-01

PU declares I/O; run level/sub/full-chain

SYS-CAP-10

REQ-IF-CAP-01, REQ-IF-SW-01

C-COM-ORC, C-COMPUTING

DPM-M-PRD / DPM-BKP-*

ICD-IF-TRIG, ICD-IF-SW

T,R·A

VT-2

REQ-F-ORC-02

Chunked, bounded memory, optional Dask

SYS-CAP-11

REQ-IF-CAP-02

C-COM-CHUNK, C-COM-ORC

DPM-PRM-GEN-02

ICD-IF-SW

T,A·B

VT-2,6

REQ-F-DEP-01

Fail-stop; no partial product published

SYS-OPS-02, SYS-RAM-02, SYS-SAF-01

C-COM-ORC

DPM-M-PRD

ICD-IF-DIAG

T·A

VT-2,7

REQ-F-DEP-02

Deterministic / reproducible

SYS-RAM-01

REQ-IF-CAP-04

all Cores (seeds), C-COM-ORC

ATBD <6> / <4.3>

T,A·A+B

VT-1,2

<3.2> Performance requirements (REQ-P-*)#

REQ-*

Summary

Upstream SYS-*

Design C-*

DPM

Verify

VT

REQ-P-01

L1B radiometric accuracy RAD_ACC

SYS-CAP-03, SYS-QUA-04

C-PU-RAD, C-PU-TOA, C-PU-QA

DPM <7.4>

A,T·C

VT-3

REQ-P-02

GEO_CE90 + BAND_COREG

SYS-CAP-05

C-PU-COR, C-PU-GEO, C-PU-QA

DPM <7.4>

A,T·C

VT-4

REQ-P-03

L2A surface reflectance BOA_ACC

SYS-QUA-04

C-PU-ATM, C-PU-QA

DPM <7.4>

A,T·C

VT-5

REQ-P-04

End-to-end throughput THRU_SCENE

SYS-RES-04

C-COM-CHUNK, C-COM-ORC

DPM <7.4>

A,T·C

VT-6

REQ-P-05

Peak per-worker memory MEM_BUDGET

SYS-RES-03

C-COM-CHUNK

DPM-PRM-GEN-02

A,T·C

VT-6

<3.3> Interface, operational and resource requirements (REQ-I-*, REQ-O-*, REQ-R-*)#

REQ-*

Summary

Upstream SYS-*

Upstream REQ-IF-*

Design C-*

ICD-IF-*

Verify

VT

REQ-I-01

Comply with all REQ-IF-* + ICD/PSFD

REQ-IF-* (all)

C-COM-PRODUCT, C-COM-ORC

ICD-IF-* (all)

R,I·—

VT-9

REQ-I-02

CPM Python API + non-interactive CLI

SYS-IF-01

REQ-IF-HMI-01, REQ-IF-SW-01

C-COM-CLI

ICD-IF-HMI, ICD-IF-SW

T,I·A+B

VT-7

REQ-I-03

Consume L0c/ADF per ICD; read-only

SYS-IF-02

REQ-IF-IN-L0-01, REQ-IF-IN-ADF-01, REQ-IF-IN-L0-03, REQ-IF-IN-ADF-04

C-PU-L0, C-COM-ADF, C-COM-IO

ICD-IF-L0, ICD-IF-ADF

T·A+B

VT-1,2

REQ-I-04

Produce Zarr stores on S3/POSIX, chunked

SYS-IF-03

REQ-IF-OUT-01, REQ-IF-OUT-03

C-COM-PRODUCT, C-COM-IO

ICD-IF-OUT

T,I·A+B

VT-2

REQ-I-05

Invocable via CPM triggering payload

SYS-OPS-01

REQ-IF-COM-01

C-COM-ORC

ICD-IF-TRIG

T,I·A+B

VT-7

REQ-I-06

URI-referenced, location-transparent I/O

SYS-IF-04

REQ-IF-COM-02, REQ-IF-COM-03

C-COM-IO

ICD-IF-TRIG

T·A+B

VT-2,7

REQ-I-07

EOPF data-model naming conventions

SYS-DES-06

REQ-IF-OUT-02

C-COM-PRODUCT

ICD-IF-OUT

I·—

VT-9

REQ-O-01

Operable as batch job (CLI/API), per level

SYS-OPS-01

REQ-IF-COM-01, REQ-IF-CAP-01

C-COM-CLI, C-COM-CONFIG

ICD-IF-HMI, ICD-IF-TRIG

T·A+B

VT-7

REQ-O-02

Structured logs + processing report

SYS-OPS-02, SYS-OBS-01

C-COM-ORC

ICD-IF-DIAG

T·A+B

VT-7

REQ-O-03

Completion status + machine-readable diag

REQ-IF-CAP-05

C-COM-ORC

ICD-IF-DIAG

T·A+B

VT-7

REQ-O-04

Modes configured/idle→processing→error

SYS-CAP-10

C-COM-ORC

ICD-IF-DIAG

R,T·A

VT-7

REQ-R-01

x86-64 Linux multi-core CPU, no GPU

SYS-RES-01

architecture-wide

ICD-IF-SW-05

T·B

VT-6,8

REQ-R-02

S3-compatible/POSIX; no special HW

SYS-RES-02

REQ-IF-HW-01

C-COM-IO

ICD-IF-SW-05

T·B

VT-8

REQ-R-03

Python 3.11 + eopf==2.8.1 + stack

SYS-RES-05, SYS-DES-03

REQ-IF-SW-03

architecture-wide

ICD-IF-SW-03

I,T·A+B

VT-8

REQ-R-04

Memory scales with chunk; CPU with tiles

SYS-RES-03

C-COM-CHUNK

A,T·C

VT-6

REQ-R-05

No hard real-time constraint (N/A closure)

SYS-RES-04

R·—

<3.4> Design, security, portability, quality, RAMS, delivery, data, HF, adaptation#

REQ-*

Summary

Upstream SYS-*

Upstream REQ-IF-*

Design C-*

ICD-IF-*

Verify

VT

REQ-D-01

PU/EOProduct config-driven pipeline

SYS-DES-01

REQ-IF-SW-01

architecture, C-COMPUTING

ICD-IF-SW

R·—

VT-9

REQ-D-02

Coding standards + ECSS tailoring

SYS-DES-02, SYS-QUA-01

toolchain

I·—

VT-9

REQ-D-03

Pure framework-independent core

REQ-IF-SW-04

all Cores (core/unit split)

T·A

VT-1

REQ-D-04

No hard-coded constants; bounded complexity

SYS-CAP-09, SYS-QUA-05

all Cores, C-SENSORS

I,A·—

VT-9

REQ-D-05

Numerical accuracy/determinism management

SYS-RAM-01, SYS-QUA-04

all Cores

A,T·A

VT-1

REQ-D-06

Reuse only SRF components + licences

SYS-DES-03

REQ-IF-SW-02

reused comps (SRF)

ICD-IF-SW

I·—

VT-9

REQ-D-07

New sensor = new profile, no core change

SYS-DES-07, SYS-CAP-09

REQ-IF-AD-01

C-SENSORS, C-COM-PROFILE

ICD-IF-PROF

T,R·A+B

VT-10

REQ-D-08

No in-flight modification (N/A closure)

— (SSS <5.12>)

R·—

REQ-D-09

Zarr + EOPF/CF + STAC fields

SYS-DES-04

REQ-IF-OUT-02

C-COM-PRODUCT

ICD-IF-OUT

I,T·A

VT-9

REQ-S-01

Code public; L0/ADF private, by URI

SYS-SEC-01

REQ-IF-SEC-02, REQ-IF-IN-ADF-03

C-COM-ADF, C-COM-IO

ICD-IF-ADF

I,A·—

VT-9

REQ-S-02

Credentials via env/CI only

SYS-SEC-02

C-COM-IO, C-COM-CONFIG

I,T·A

VT-9

REQ-S-03

Least privilege (read in, write out)

SYS-SEC-03

REQ-IF-SEC-03

C-COM-IO

ICD-IF-ADF, ICD-IF-OUT

A,I·—

VT-9

REQ-S-04

Verify id/version of L0/ADF/profile

REQ-IF-SEC-01

C-COM-ADF, C-COM-PROFILE

ICD-IF-ADF

T·A

VT-1

REQ-S-05

Output carries provenance ids only

REQ-IF-SEC-02, REQ-IF-CAP-03

C-COM-PROV

ICD-IF-OUT

I,A·—

VT-9

REQ-PORT-01

SDE↔local relocatable (config only)

SYS-QUA-03

Core/Wrapper split, C-COM-IO

T,I·B

VT-8

REQ-PORT-02

Location-transparent I/O

REQ-IF-COM-02

C-COM-IO

ICD-IF-TRIG

T·B

VT-2

REQ-PORT-03

Local-FS path on CI shell runner

— (SYS-VV-02)

REQ-IF-COM-03

C-COM-IO, C-COM-CHUNK

ICD-IF-TRIG-03

T·A

VT-1

REQ-Q-01

ECSS-Q-80 Cat C + quality gates

SYS-QUA-01

toolchain

I·—

VT-9

REQ-Q-02

Test coverage meets gate

SYS-QUA-02

tests/

T·A

VT-9

REQ-Q-03

Numerical objectives validated locally

SYS-QUA-04

C-PU-QA

DPM <7.4>

A,T·C

VT-3,4,5

REQ-Q-04

Maintainability: reuse + bounded complexity

SYS-QUA-05

C-SENSORS, all Cores

I,A·—

VT-9

REQ-REL-01

Deterministic/reproducible (via DEP-02)

SYS-RAM-01

all Cores

T,A·A+B

VT-1,2

REQ-REL-02

Resumable at level granularity

SYS-RAM-02

C-COM-ORC

DPM-BKP-*

T·A+B

VT-2

REQ-REL-03

No availability target (N/A closure)

SYS-RAM-03

R·—

REQ-M-01

GitLab issue→branch→MR + SemVer

SYS-MNT-01

repo workflow

R·—

VT-9

REQ-M-02

Cal/aux update = swap data, no code change

SYS-MNT-02

REQ-IF-IN-ADF-03

C-COM-ADF

ICD-IF-ADF

T,R·B

VT-2

REQ-M-03

Procedure for eopf bump + re-V&V

SYS-MNT-03

REQ-IF-SW-03

process

R·—

VT-9

REQ-M-04

Per-stage modular structure

SYS-QUA-05

REQ-IF-SW-04

core/unit/profile split

I·—

VT-9

REQ-SAF-01

No safety-critical fn; data-integrity triad

SYS-SAF-01

C-COM-QAFLAG, C-COM-PROV, C-COM-ORC

R·—

VT-9

REQ-DEL-01

Versioned wheels + docs from tagged CI

SYS-DEL-01

CI delivery

T,I·A

VT-9

REQ-DEL-02

No private data in artefacts; tag integrity

SYS-DEL-02

REQ-IF-SEC-02

CI delivery

I·—

VT-9

REQ-DEL-03

Zarr product spec in delivered config

SYS-DES-04

C-COM-PRODUCT

ICD-IF-OUT

I·—

VT-9

REQ-DAT-01

Output data model per ICD/PSFD

SYS-DES-04, SYS-DES-06

REQ-IF-OUT-02

C-COM-PRODUCT

ICD-IF-OUT

I,T·A

VT-9

REQ-DAT-02

Private ADF store external; id/version/schema

SYS-ADP-02

REQ-IF-IN-ADF-01, REQ-IF-IN-ADF-02

C-COM-ADF

ICD-IF-ADF

I,R·—

VT-9

REQ-DAT-03

Profile schema versioned + load-validated

SYS-ADP-03

REQ-IF-AD-04

C-COM-PROFILE, C-SENSORS

ICD-IF-PROF

T·A

VT-1,10

REQ-HF-01

CLI/config/logs only; no GUI

SYS-IF-05

REQ-IF-HMI-01

C-COM-CLI

ICD-IF-HMI

I·—

VT-9

REQ-HF-02

Report human + machine readable

SYS-OPS-02

C-COM-ORC

ICD-IF-DIAG

T,I·A

VT-7

REQ-AD-01

Sensor-agnostic via profile

SYS-ADP-01, SYS-CAP-09

REQ-IF-AD-01

C-SENSORS, C-COM-PROFILE

ICD-IF-PROF

R,T·A

VT-10

REQ-AD-02

Profile id/version; per-run selection

SYS-ADP-01

REQ-IF-AD-02

C-SENSORS, C-COM-CONFIG

ICD-IF-PROF

I,T·A

VT-10

REQ-AD-03

DEM/atmos by reference, not embedded

SYS-ADP-02

REQ-IF-AD-03

C-COM-CONFIG, C-COM-ADF

ICD-IF-PROF

T,I·A+B

VT-2

REQ-AD-04

Ops/site settings externalised

SYS-ADP-02

REQ-IF-AD-03

C-COM-CONFIG

ICD-IF-PROF, ICD-IF-TRIG

I,T·A+B

VT-7

REQ-AD-05

Clean pip install + acceptance run

SYS-VV-06

packaging

T,I·B

VT-8


<4> Interface trace — REQ-IF-*ICD-IF-*REQ-*#

The interface spine. Forward (IRD interface requirement → ICD interface) and the implementing software requirements from ICD <7.2>. The SYS-* column is (derived): the IRD (RD-3 <5>) states each interface requirement as Statement + Rationale and does not carry a per-requirement SYS-* trace field (verified against the source); the system correspondence below is derived from the IRD <4> product-perspective decomposition and the SYS-* co-cited by the implementing REQ-*. The authoritative ICD↔REQ trace is ICD <7.1>/<7.2>.

REQ-IF-*

Summary

ICD-IF-* (ICD <7.1>)

Implementing REQ-* (ICD <7.2>)

SYS-* (derived)

REQ-IF-CAP-01

Staged interfaces + breakpoints

ICD-IF-TRIG-01/04, ICD-IF-SW-01

REQ-F-ORC-01, REQ-O-01, REQ-I-01

SYS-CAP-10

REQ-IF-CAP-02

Chunked / lazy access

(ICD-IF-OUT-03, ICD-IF-SW)

REQ-F-ORC-02, REQ-I-01

SYS-CAP-11, SYS-RES-03

REQ-IF-CAP-03

Metadata / provenance propagation

ICD-IF-OUT-03

REQ-F-PRD-02, REQ-S-05, REQ-I-01

SYS-OBS-01

REQ-IF-CAP-04

Reproducible interface behaviour

(ICD-IF-OUT, ICD-IF-SW)

REQ-F-DEP-02, REQ-I-01

SYS-RAM-01

REQ-IF-CAP-05

Completion status + diagnostics

ICD-IF-DIAG-01

REQ-O-03, REQ-F-DEP-01, REQ-I-01

SYS-OPS-02, SYS-OBS-02

REQ-IF-IN-L0-01

L0 input product interface

ICD-IF-L0-01

REQ-F-L0-01/04, REQ-I-03

SYS-IF-02, SYS-CAP-01

REQ-IF-IN-L0-02

L0 identification/selection metadata

ICD-IF-L0-02

REQ-F-L0-03, REQ-I-03

SYS-IF-02, SYS-ADP-01

REQ-IF-IN-L0-03

L0 immutability

ICD-IF-L0-03

REQ-F-L0-05, REQ-I-03

SYS-SEC-03, SYS-IF-02

REQ-IF-IN-ADF-01

Calibration ADF input interface

ICD-IF-ADF-01

REQ-F-RAD-01/02, REQ-F-TOA-01, REQ-F-ATM-01, REQ-DAT-02, REQ-I-03

SYS-IF-02, SYS-CAP-02

REQ-IF-IN-ADF-02

ADF id/versioning/validity

ICD-IF-ADF-02

REQ-F-RAD-01, REQ-DAT-02

SYS-OBS-01, SYS-MNT-02

REQ-IF-IN-ADF-03

Runtime-resolved, private ADF refs

ICD-IF-ADF-03

REQ-S-01, REQ-M-02

SYS-SEC-01, SYS-MNT-02

REQ-IF-IN-ADF-04

ADF immutability

ICD-IF-ADF-04

REQ-I-03, REQ-S-03

SYS-SEC-03

REQ-IF-OUT-01

Output as cloud-native Zarr

ICD-IF-OUT-01

REQ-F-PRD-01, REQ-I-04

SYS-IF-03, SYS-DES-04

REQ-IF-OUT-02

Self-describing EOProduct

ICD-IF-OUT-02

REQ-F-PRD-01, REQ-DAT-01, REQ-D-09, REQ-I-07

SYS-DES-06, SYS-CAP-08

REQ-IF-OUT-03

Storage backends + chunked access

ICD-IF-OUT-03, ICD-IF-SW-02

REQ-I-04, REQ-R-02

SYS-RES-02, SYS-IF-03

REQ-IF-OUT-04

Output id/versioning

(ICD-IF-OUT-02)

REQ-F-PRD-02

SYS-OBS-01, SYS-DEL-02

REQ-IF-SW-01

Stages as EOProcessingUnits

ICD-IF-SW-01

REQ-D-01, REQ-F-ORC-01

SYS-DES-01

REQ-IF-SW-02

EOProduct/EOZarrStore persistence

ICD-IF-SW-02

REQ-D-06, REQ-I-04

SYS-DES-03

REQ-IF-SW-03

Framework version binding eopf==2.8.1

ICD-IF-SW-03

REQ-R-03, REQ-M-03

SYS-RES-05, SYS-MNT-03

REQ-IF-SW-04

Testable algorithmic core

ICD-IF-SW-04

REQ-D-03, REQ-M-04, REQ-F-L0-01

SYS-DES-07, SYS-QUA-05

REQ-IF-COM-01

Triggering payload interface

ICD-IF-TRIG-01

REQ-I-05, REQ-O-01

SYS-OPS-01

REQ-IF-COM-02

URI-referenced, location-transparent I/O

ICD-IF-TRIG-02

REQ-I-06, REQ-PORT-02

SYS-IF-04

REQ-IF-COM-03

Local-FS fallback (constrained env)

ICD-IF-TRIG-03

REQ-I-06, REQ-PORT-03

SYS-VV-02, SYS-QUA-03

REQ-IF-HW-01

No direct hardware interface

ICD-IF-SW-05

REQ-R-02

SYS-RES-01

REQ-IF-HMI-01

Non-interactive invocation

ICD-IF-HMI-01

REQ-I-02, REQ-HF-01

SYS-IF-05

REQ-IF-SEC-01

Input identity and integrity

ICD-IF-L0-03, ICD-IF-ADF-02

REQ-S-04, REQ-F-L0-03

SYS-SEC-01, SYS-CAP-01

REQ-IF-SEC-02

Confidentiality of private inputs

ICD-IF-ADF-03, ICD-IF-OUT-03

REQ-S-01/05, REQ-DEL-02

SYS-SEC-01

REQ-IF-SEC-03

Least-privilege access

ICD-IF-ADF-04

REQ-S-03, REQ-F-L0-05

SYS-SEC-03

REQ-IF-AD-01

Sensor-agnostic chain via profile

ICD-IF-PROF-01

REQ-AD-01, REQ-D-07

SYS-ADP-01, SYS-CAP-09

REQ-IF-AD-02

Profile id/versioning/selection

ICD-IF-PROF-02

REQ-AD-02

SYS-ADP-01

REQ-IF-AD-03

Externalised ops/site settings

ICD-IF-PROF-01

REQ-AD-03/04

SYS-ADP-02

REQ-IF-AD-04

Profile validation at load

ICD-IF-PROF-01

REQ-DAT-03

SYS-ADP-03

Closure. All 31 REQ-IF-* map to ≥1 ICD-IF-* interface and to ≥1 implementing REQ-* (no orphan interface requirement). All 8 ICD-IF-* families trace back to REQ-IF-* and forward to REQ-* (ICD <7.2>; no orphan interface).


<5> Backward coverage#

<5.1> System requirements SYS-*REQ-* (every SYS-* covered)#

From SRS <7.2> (forward coverage). Each of the 66 SYS-* is covered by ≥1 software requirement.

SYS-* group

Covered by REQ-*

SYS-CAP-01

REQ-F-L0-01..04

SYS-CAP-02

REQ-F-RAD-01..05, REQ-F-ENH-01/02, REQ-F-TOA-01

SYS-CAP-03

REQ-F-TOA-01/02, REQ-P-01

SYS-CAP-04

REQ-F-COR-01, REQ-F-GEO-01/02, REQ-F-PAN-01

SYS-CAP-05

REQ-F-COR-02, REQ-F-GEO-03, REQ-P-02

SYS-CAP-06

REQ-F-ATM-01/02

SYS-CAP-07

REQ-F-ATM-03

SYS-CAP-08

REQ-F-TOA-03, REQ-F-GEO-04, REQ-F-ATM-04, REQ-F-PRD-01

SYS-CAP-09

REQ-D-04, REQ-D-07, REQ-AD-01

SYS-CAP-10

REQ-F-ORC-01, REQ-O-04

SYS-CAP-11

REQ-F-ORC-02, REQ-R-04

SYS-IF-01..05

REQ-I-02..07, REQ-HF-01

SYS-ADP-01..03

REQ-AD-01..04, REQ-DAT-03

SYS-RES-01..05

REQ-R-01..05, REQ-P-04/05

SYS-SEC-01..03

REQ-S-01..03

SYS-SAF-01

REQ-SAF-01, REQ-F-DEP-01

SYS-RAM-01..03

REQ-REL-01..03, REQ-F-DEP-01/02

SYS-QUA-01..05

REQ-Q-01..04, REQ-D-02/04, REQ-P-01..03

SYS-DES-01..08

REQ-D-01..09, REQ-S-01, REQ-I-07

SYS-OPS-01/02

REQ-O-01..03, REQ-F-DEP-01, REQ-HF-02

SYS-MNT-01..03

REQ-M-01..04, REQ-F-RAD-05

SYS-OBS-01..03

REQ-F-PRD-02, REQ-F-QA-01/02

SYS-DEVSEC-01..03

REQ-S-02, REQ-Q-01, REQ-PORT-03

SYS-DEL-01/02

REQ-DEL-01..03

SYS-VV-01..09

REQ-Q-02/03, REQ-AD-05, REQ-PORT-03, SRS <6> / V&V (RD-8)

<5.2> Design components C-*REQ-* (every component implements ≥1 requirement)#

From SDD <5.3> allocation table (inverse). No orphan component.

C-*

Package

Dev type

Allocated REQ-*

DPM-M-* / ALG-*

C-COMPUTING

…computing

new

REQ-D-01, REQ-F-ORC-01

C-PU-L0

…computing.l0_decode

reuse-adapt (level_0)

REQ-F-L0-01..05

DPM-M-L0 / ALG-L0-*

C-PU-RAD

…computing.radiometric

reuse-adapt (level_1.NUC)

REQ-F-RAD-01..05

DPM-M-RAD / ALG-RAD-*

C-PU-ENH

…computing.enhancement (opt)

reuse-adapt (Denoiser,sharpening)

REQ-F-ENH-01..03

DPM-M-ENH / ALG-ENH-*

C-PU-TOA

…computing.toa

reuse-adapt (level_1.TOA)

REQ-F-TOA-01..03

DPM-M-TOA / ALG-TOA-*

C-PU-COR

…computing.coregistration

reuse-adapt (band_coreg)

REQ-F-COR-01..03

DPM-M-COR / ALG-COR-*

C-PU-GEO

…computing.georeference

reuse-adapt (georeferencing_v1)

REQ-F-GEO-01..04

DPM-M-GEO / ALG-GEO-*

C-PU-PAN

…computing.pansharpen (opt)

reuse-adapt (pansharp)

REQ-F-PAN-01/02

DPM-M-PAN / ALG-PAN-*

C-PU-ATM

…computing.atmospheric

new

REQ-F-ATM-01..04

DPM-M-ATM / ALG-ATM-*

C-PU-QA

…computing.qa

reuse-adapt (metrics_ips)

REQ-F-QA-01/02

DPM-M-QA / ALG-QA-*

C-SENSORS

…sensors

new

REQ-AD-01..04, REQ-DAT-03

DPM <7.4>

C-COM-PRODUCT

…common.product

new (over CPM)

REQ-F-PRD-01, REQ-DAT-01, REQ-D-09

DPM-M-PRD

C-COM-IO

…common.io

new (over CPM)

REQ-I-06, REQ-PORT-02/03

C-COM-ADF

…common.adf

new

REQ-F-RAD-01, REQ-DAT-02, REQ-S-04

DPM <7.2> / DPM-ADF-*

C-COM-PROFILE

…common.profile

new

REQ-AD-01/02, REQ-DAT-03

ICD <5.3.6>

C-COM-PROV

…common.provenance

new

REQ-F-PRD-02, REQ-S-05

DPM-M-PRD

C-COM-QAFLAG

…common.qaflags

new

REQ-F-QA-02

ICD <5.3.3>E

C-COM-CHUNK

…common.chunking

new (over Dask)

REQ-F-ORC-02, REQ-R-04, REQ-P-05

DPM-PRM-GEN-02

C-COM-CONFIG

…common.config

new

REQ-AD-04, REQ-O-01

ICD <5.3.5>

C-COM-ORC

…common.orchestration

new (over CPM)

REQ-F-ORC-01, REQ-F-DEP-01, REQ-I-05

DPM-M-PRD

C-COM-CLI

…common.cli

new

REQ-I-02, REQ-O-01, REQ-HF-01

ICD <5.3.7>

Design measures for the residual data-integrity hazard (Cat C, REQ-SAF-01) — pure-core isolation, no hard-coded constants, bounded complexity, typed fault containment, determinism, fail-stop+QA+ provenance — are allocated across all Cores + C-COM-ORC/QAFLAG/PROV (SDD <6.3>).

<5.3> Processing modules / algorithms DPM-M-* / ALG-*REQ-* / C-*#

From DPM <8> module table and ATBD <5> Trace: fields. Every module/algorithm traces to a requirement and a component.

DPM-M-*

ALG-*

REQ-F-*

C-*

Heritage (RD-10)

DPM-M-L0

ALG-L0-DEC, ALG-L0-LOSS

REQ-F-L0-01..05

C-PU-L0

level_0.py decode/lost_package

DPM-M-RAD

ALG-RAD-DARK, -NUC, -BPR, -SAT

REQ-F-RAD-01..05

C-PU-RAD

level_1.py NUC/dark/noise

DPM-M-ENH

ALG-ENH-BWLP/WAVE/PCA/MA/GAUSS/FFTDARK/DECONV

REQ-F-ENH-01..03

C-PU-ENH

level_1.Denoiser,sharpening [impl tuning]

DPM-M-TOA

ALG-TOA-RAD, ALG-TOA-REF

REQ-F-TOA-01..03

C-PU-TOA

level_1.TOA

DPM-M-COR

ALG-COR-FEAT, -HOM, -WARP

REQ-F-COR-01..03

C-PU-COR

band_coreg.py

DPM-M-GEO

ALG-GEO-ORBIT/GSD/GCP/ORTHO/RESAMP

REQ-F-GEO-01..04

C-PU-GEO

georeferencing_v1.py

DPM-M-PAN

ALG-PAN-ALIGN, ALG-PAN-FUSE

REQ-F-PAN-01/02

C-PU-PAN

pansharp.py [impl tuning]

DPM-M-ATM

ALG-ATM-PAR, ALG-ATM-RT, ALG-ATM-SCM

REQ-F-ATM-01..04

C-PU-ATM

none — new (ATBD RD-7) [impl]

DPM-M-QA

ALG-QA-SNR/RMSE/PSNR/MSE/VAR

REQ-F-QA-01/02

C-PU-QA

metrics_ips.py

DPM-M-PRD

— (EOPF CPM)

REQ-F-PRD-01/02, REQ-F-ORC-01/02

C-COM-PRODUCT, C-COM-PROV, C-COM-ORC

ADF / breakpoint / parameter families (DPM internal IDs, consumed by the modules above): DPM-ADF-DARK/FLAT/NUC/BPM/RAD/SPEC/GEOM/DEM/GCP/ATM → ICD-IF-ADF (REQ-IF-IN-ADF-*, REQ-DAT-02); DPM-BKP-L1A/RAD/ENH/L1B/COR/L1C/L2A → REQ-F-ORC-01, REQ-REL-02 (breakpoints); DPM-PRM-* → REQ-AD-01/04 (profile parameters), DPM-PRM-GEN-02 → REQ-F-ORC-02/REQ-P-05 (chunking).

<5.4> Validation tasks VT-* → requirement groups (V&V <9>)#

VT-*

Item under test

Requirement groups

Tier

VT-1

Pure algorithmic cores

all REQ-F-* (+ REQ-D-03/05, REQ-PORT-03, REQ-S-04, REQ-DAT-03)

A

VT-2

PU chain + sub-chains at breakpoints

REQ-F-ORC-01/02, REQ-F-PRD-01, REQ-F-DEP-01, REQ-REL-02, REQ-I-03/04, REQ-M-02, REQ-PORT-02, REQ-AD-03

B

VT-3

Radiometric accuracy L1B

REQ-P-01, REQ-F-RAD-, REQ-F-TOA-, REQ-Q-03

C

VT-4

Geometric accuracy L1C

REQ-P-02, REQ-F-GEO-, REQ-F-COR-, REQ-Q-03

C

VT-5

Surface-reflectance accuracy L2A

REQ-P-03, REQ-F-ATM-*, REQ-Q-03

C

VT-6

Performance

REQ-P-04/05, REQ-R-01/04, REQ-F-ORC-02

C

VT-7

Operational procedures

REQ-O-01..04, REQ-I-02/05, REQ-HF-02

A/B

VT-8

Installation & acceptance

REQ-AD-05, REQ-R-02/03, REQ-PORT-01

B

VT-9

Quality-requirements validation

REQ-Q-01/02/04, REQ-D-02/06/09, REQ-S-, REQ-DEL-, REQ-DAT-01/02, REQ-I-01/07, REQ-HF-01, REQ-M-*, REQ-SAF-01

A

VT-10

Adaptation / second profile

REQ-D-07, REQ-AD-01/02, REQ-DAT-03

A/B


<6> Orphan and gap analysis#

<6.1> Forward closure (requirement → design → verification)#

  • Design allocation. All 95 REQ-* are allocated to ≥1 C-* (SDD <5.3>/<6.1>); design-/process- level requirements (REQ-D/Q/M/REL/SAF/DEL-*) map to the architecture, toolchain or workflow as recorded in <3.4>. No unimplemented requirement.

  • Verification binding. All 95 REQ-* carry ≥1 method (T/A/I/R) and a tier or a documented static-evidence “—” (V&V <14>). Every REQ-F-* is in VT-1; budgeted requirements add a Tier-C VT. No unverified requirement.

<6.2> Backward closure (upper-level / design / algorithm → requirement)#

  • SYS-*: all 66 covered by ≥1 REQ-* (<5.1>). No orphan system requirement.

  • REQ-IF-*: all 31 covered by ≥1 REQ-* and ≥1 ICD-IF-* (<4>). No orphan interface requirement.

  • C-*: all 20 components (+ container) allocate ≥1 REQ-* (<5.2>). No orphan component.

  • DPM-M-* / ALG-*: all 11 modules and 33 algorithms trace to REQ-F-* and a C-* (<5.3>). No orphan module/algorithm.

  • ICD-IF-*: all 8 families trace to REQ-IF-* and REQ-* (ICD <7.2>). No orphan interface.

<6.3> Gaps, watch-items and recorded exclusions#

Ref

Item

Classification

Disposition

G-1

C-PU-ATM / DPM-M-ATM / ALG-ATM-PAR/RT/SCM are new — no reuse heritage; RT engine + scene classifier [impl] (ATBD <5.8> “new/to-be-defined”)

Design-complete, algorithm down-selection deferred to implementation

Track to SDP WP-5; interfaces frozen at CDR; re-validate via VT-1/VT-5. Risk in Risk Register.

G-2

Tier-C numerical budgets RAD_ACC/GEO_CE90/BAND_COREG/BOA_ACC/THRU_SCENE/MEM_BUDGET (REQ-P-01..05, REQ-Q-03, REQ-F-COR-02/GEO-03/PAN-02)

Verification deferred (private real data)

Pass/fail verdicts to SVR; deferral recorded per V&V <8.8>; private numbers withheld (data policy).

G-3

N/A closures REQ-D-08, REQ-R-05, REQ-REL-03

Verified by review, no test

Recorded; not a coverage gap (V&V <14>).

G-4

Static-evidence requirements with tier “—” (REQ-F-L0-05, REQ-S-01/03/05, REQ-D-04, REQ-I-01/07, REQ-Q-01/04, REQ-DEL-02/03, REQ-DAT-02, REQ-HF-01, REQ-M-01/03/04, REQ-SAF-01)

Verified by I/A/R (no dynamic tier)

Evidenced by CI/grep/review artefacts; valid closure.

G-5

Optional stages (opt) REQ-F-ENH-, REQ-F-PAN-, REQ-F-TOA-02, REQ-F-RAD-05

Profile-toggleable; default-off where not validated

Verified when enabled; not required for baseline L2A.

G-6

[impl] code internals: L0 bit-codec body (NDA), geolocation collinearity kernel, atmospheric RT/classifier, filter/matcher tunings

Specified at interface+algorithm level; bodies post-CDR

Expected per SDP; not a CDR gap.

G-7

QAFlag bit 7 reserved [TBC@CDR] (SDD <5.4.1>)

Open design detail

Confirm/close at CDR; spare bit, no functional impact.

G-8

System-level validation items (real E4 trigger, E5 dissemination at scale, Dask-gateway scaling, mission-volume throughput)

Beyond validation environment (V&V <13>)

Need host ground-segment support; do not affect the Cat-C item-level V&V conclusion.

Conclusion. The traceability is closed in both directions with no orphan or unimplemented/ unverified requirement at this baseline. The only open technical item is the new atmospheric chain (G-1) and the numerical-budget verifications pending private data (G-2); both are managed, recorded deferrals, not traceability gaps. The matrix satisfies the CDR traceability gate (ECSS-E-ST-40C §5.8; Annex D <7>, Annex F <6>, Annex I/J).


<7> Maintenance#

This RTM is a configuration item under Git, changed only through reviewed MRs (ECSS-M-ST-40C; SPAP). It is regenerated/checked when any source Trace: field or trace table changes (SRS, IRD, ICD, SDD, DPM, ATBD, V&V). A post-CDR CI lint shall fail the pipeline if any REQ-* lacks an upstream parent, a design component, or a verification binding, making the forward/backward closure machine-checkable. At QR/AR the verification-result columns (Tier-A pass evidence, Tier-B/C verdicts) are consolidated from the SVR (RD-8) into this matrix.

End of RTM. Authored per ECSS-E-ST-40C Rev.1 §5.8 / Annex D <7> / Annex F <6> / Annex I-J, tailored Category C, single-developer. Upstream IDs reused verbatim from RD-2..RD-9; no new requirement, design or algorithm IDs are introduced here (this is a consolidation artefact).