Configuration Item Data List (CIDL)#
Field |
Value |
|---|---|
Document |
CIDL — Configuration Item Data List |
DRD ref |
ECSS-M-ST-40C Rev.1 (configuration item data list); ECSS-E-ST-40C Rev.1 (software configuration management); ECSS-Q-ST-80C Rev.2 §6.2.7 |
Container |
Management File (MGT) / QR data package — |
Project |
|
Software criticality |
Category C (ECSS-Q-ST-80C Rev.2 / ECSS-E-ST-40C Annex R) |
Baselined at |
QR (Qualification Review) |
Status |
Issued at QR |
This CIDL enumerates every configuration item that constitutes the Software Configuration Item (SCI)
msi-processorat the Qualification Review (QR) configuration baseline —maincommitd140599(latestmainpipeline 30730 = success). It is a constituent of the QR data package (alongside the SVR, SUITR, SRelD/SRN, SUM, SCF and the CI verification evidence) and is the single authoritative inventory the SRelD/SRN (RD-17) and the SCF (RD-18) defer to for what is in the baseline. Per ECSS-M-ST-40C the list gives, for each item, an identifier, a type, a title/role, and a version reference (the QR baseline commit, plus an embedded SemVer where a file carries one). The SCI is held as a single Git repository under reviewed-merge-request configuration control (RD-8 V&V Plan <6>, RD-13 SPAP §6.5), so the QR baseline commitd140599is the common revision authority for all items; per-file independent revision numbers are not maintained. This document does not restate design content — it points to the SDD (RD-9), DPM (RD-6), ATBD and the RTM (RD-11) for the engineering substance — it records the configuration inventory and the open items / deviations carried into AR. The footprint is tailored to a Category C, single-developer ground-segment processor whose code is public but whose rawL0data and instrument calibration are private (RD-4 SRS <5.1>/<5.8>).
DRD clause coverage. Where this CIDL satisfies each ECSS-M-ST-40C CIDL clause:
DRD clause (CIDL) |
Topic |
This document |
|---|---|---|
CIDL <1> |
Introduction (purpose & objective) |
<1> |
CIDL <2> |
Applicable and reference documents |
<2> |
List a.1 |
Cover sheets and scope |
<1>, <3> |
List a.2 |
Customer-controlled documentation (customer specifications and ICDs, support specifications) |
<6> |
List a.3 |
Engineering / design documentation (verification plans, lower-level specs/ICDs, test specifications and procedures, user manual) |
<6>, <8> |
List a.4 |
Applicable changes not yet incorporated, and deviations |
<9> |
List a.5 |
CI number breakdown (indentured breakdown, quantity per next-higher assembly, issue status) |
<3>, <4>–<8>, <10> |
List a.6 |
Each entry related to the model(s) and defined by number, title, issue and release date |
<3.3>, <4>–<8> |
<1> Introduction#
Purpose. This CIDL identifies and lists, at the QR configuration baseline, all configuration
items of the msi-processor SCI: the source package (msi_processor), the test suite
(tests/), the ECSS document set (compliance/), the build/CI and configuration-control
items, and the documentation tree (docs/). It establishes the inventory against which the SCI
is placed under formal configuration control and from which the SRelD/SRN (RD-17) and SCF (RD-18) are
written.
Objective. Per ECSS-M-ST-40C and ECSS-Q-ST-80C Rev.2 §6.2.7, to give each configuration item a unique identifier, a type, a title/role and a version reference; to record the indentured breakdown of the SCI and the quantity of items at each level; to capture changes not yet incorporated and deviations (clause <9>); and to fix the issue status of the baseline against the recorded CI verification evidence (clause <10>). This enables the QR exit criterion that “the SCI is a formal version under configuration control” (SReVP RD-12 QR exit criterion (c)).
Scope and baseline. The baseline is main commit d140599 — the QR configuration baseline —
whose pipeline (30730) is green on the nine blocking CI gates (clause <10>). Developer-local
tooling that is not part of the SCI is explicitly excluded in <3.1>.
Reason for preparation. SRR, PDR and CDR are complete and baselined to main; this package is the
QR data package and AR is next. The CIDL is authored in this package (no prior CIDL exists) and is
the configuration spine of the QR review.
<2> Applicable and reference documents#
<2.1> Applicable documents (AD)#
Id |
Document |
Reference |
|---|---|---|
AD-1 |
ECSS Space project management — Configuration and information management (CIDL content) |
ECSS-M-ST-40C Rev.1 |
AD-2 |
ECSS Space engineering — Software (software configuration management, Annex R criticality) |
ECSS-E-ST-40C Rev.1 (30 April 2025) |
AD-3 |
ECSS Space product assurance — Software (§6.2.7 configuration management; §7 product quality) |
ECSS-Q-ST-80C Rev.2 |
AD-4 |
EOPF CPM — Product Structure & Format Definition / data model |
EOPF CPM docs ( |
<2.2> Reference documents (RD)#
Id |
Document |
Reference (path at |
|---|---|---|
RD-1 |
Software Development Plan (SDP) |
|
RD-2 |
Software System Specification (SSS) — |
|
RD-3 |
Interface Requirements Document (IRD) — |
|
RD-4 |
Software Requirements Specification (SRS) — |
|
RD-5 |
Interface Control Document (ICD) |
|
RD-6 |
Detailed Processing Model (DPM) — |
|
RD-7 |
Algorithm Theoretical Basis Document (ATBD) — |
|
RD-8 |
V&V Plan (SVerP + SValP + SUITP strategy) |
|
RD-9 |
Software Design Document (SDD) — |
|
RD-10 |
Software Unit & Integration Test Plan (SUITP, Annex K) |
|
RD-11 |
Requirements Traceability Matrix (RTM) |
|
RD-12 |
Software Review Plan (SReVP) |
|
RD-13 |
Software Product Assurance Plan (SPAP) |
|
RD-14 |
Software Reuse File (SRF) |
|
RD-15 |
Design Justification File (DJF) |
|
RD-16 |
Risk Register |
|
RD-17 |
Software Release Note / SRelD (SRN) |
|
RD-18 |
Software Configuration File (SCF) |
|
RD-19 |
QR Review Report (qualification record) |
|
<3> Configuration item identification, structure and versioning#
<3.1> The Software Configuration Item (SCI) and its QR baseline#
The SCI is the single Git repository gitlab.eopf.copernicus.eu/ipf/msi-processor. The QR
configuration baseline is main commit d140599 (pipeline 30730 = success). Every
configuration item in clauses <4>–<8> is referenced to this commit; this is the model-defining
revision of the CI in the sense of ECSS-M-ST-40C List a.6 (the SCI has a single operational model —
the msi-processor ground processor — so all entries relate to that one model).
Items excluded from the SCI (developer-local tooling, not configuration-controlled deliverables).
The following are present in the working tree but are not configuration items of the SCI and are
not baselined: .claude/ (local Claude Code settings), .remember/ (local hook logs). They carry no
ECSS role and are recorded here only to make the exclusion explicit.
<3.2> CI numbering scheme and indentured breakdown (top level)#
Configuration-item identifiers use a category prefix. The top-level indentured breakdown of the SCI (List a.5a) and the quantity of items per category (List a.5b) are:
CI category |
ID prefix |
Clause |
Path root |
Quantity (files) |
|---|---|---|---|---|
Source code (package + units) |
|
<4> |
|
42 (34 |
Test suite |
|
<5> |
|
27 |
ECSS document set |
|
<6> |
|
22 |
Build / CI / config-control |
|
<7> |
repo root, |
17 |
Documentation tree |
|
<8> |
|
47 |
<3.3> Versioning and issue-status convention#
Revision authority. Git is the revision authority. The version reference for every item is the QR baseline commit
d140599; the SCI is changed only through reviewed merge requests under ECSS-M-ST-40C / ECSS-E-ST-40C configuration control (RD-8 <6>, RD-13 §6.5). Per-file independent issue numbers are not maintained — the file’s issue is the baseline commit and itsmainpipeline status.Distribution version. The Python distribution version is dynamic (flit backend +
git describe); no Git tag exists yet. The proposed QR release candidate isv0.1.0-rc1, referenced to commitd140599. Tag creation is the release action taken at the AR / release decision; the SRelD/SRN (RD-17) states the RC and the baseline commit. This CIDL does not assume a tag is created.Embedded SemVer. The eight computing-model JSON files carry an embedded schema SemVer (
1.0.0) in their filename; that SemVer is listed alongside the baseline commit in clause <4.2>.Release date. The QR baseline commit date is 2026-06-29 (List a.6 “release date”).
<4> Source-code configuration items (msi_processor)#
All items below are source code, version reference d140599 (proposed distribution
v0.1.0-rc1). The package implements the design components C-* (RD-9), processing modules
DPM-M-* (RD-6) and algorithms ALG-* (RD-7), all traced in the RTM (RD-11). The architecture is
the pure framework-independent core + thin EOProcessingUnit wrapper + computing-model JSON
pattern (RD-9, RD-4 REQ-D-03).
<4.1> Package, common, exceptions and sensors#
CI ID |
Path |
Type |
Role |
|---|---|---|---|
CI-SW-01 |
|
Source (package root) |
Package init; flit dynamic version + description anchor |
CI-SW-02 |
|
Source |
|
CI-SW-03 |
|
Source |
Shared data types / type contracts (mypy-checked) |
CI-SW-04 |
|
Source |
QA-metrics module (SNR/RMSE/PSNR/MSE/variance; ex- |
CI-SW-05 |
|
Source |
|
CI-SW-06 |
|
Source |
Fail-stop error hierarchy (REQ-F-DEP-01) |
CI-SW-07 |
|
Source |
QA / non-fatal warning hierarchy |
CI-SW-08 |
|
Source |
|
CI-SW-09 |
|
Source |
Sensor-profile model (sensor-agnostic externalisation; REQ-D-07, REQ-AD-01) |
CI-SW-10 |
|
Source |
|
<4.2> Computing units (8 processing units)#
Each computing unit is an indentured assembly of four files (List a.5b, quantity = 4 per unit):
__init__.py, core.py (pure core), unit.py (EOProcessingUnit wrapper), and one
models/<name>.json (CPM computing-model). All at d140599; each model JSON carries embedded schema
SemVer 1.0.0.
CI ID |
Unit (package) |
Output level |
Files ( |
Computing-model JSON (SemVer) |
|---|---|---|---|---|
CI-PU-L0 |
|
L1A |
|
|
CI-PU-RAD |
|
L1A |
|
|
CI-PU-ENH |
|
L1B (MTF-compensation mandatory) |
|
|
CI-PU-TOA |
|
L1B |
|
|
CI-PU-COR |
|
L1B→L1C |
|
|
CI-PU-GEO |
|
L1C |
|
|
CI-PU-ATM |
|
L2A (new design) |
|
|
CI-PU-PAN |
|
optional post-L2A derivative |
|
|
Quantity check. 10 items in <4.1> + 8 units × 4 files in <4.2> = 42 source files (34 .py
8
.json). All 8 units are implemented and CI-green onmain. Fail-stop deferrals within the cores are recorded in clause <9.2>.
<5> Test-suite configuration items (tests/)#
Type test source, version reference d140599. The suite holds 246 unit test cases (244
passed, 2 xfailed) + 2 integration test cases (2 passed) = 248 total, collected from 238 test
functions on cpm_env (eopf 2.8.1 / Python 3.11). Per-unit counts below are the unit’s total across
its *_core.py and *_unit.py modules.
<5.1> Package markers#
CI ID |
Path |
Type |
Role |
|---|---|---|---|
CI-TS-00 |
|
Test source |
7 package-marker files |
<5.2> Unit tests (tests/ut, pytest -m unit)#
CI ID |
Path |
Unit under test |
Test cases |
|---|---|---|---|
CI-TS-01 |
|
|
15 |
CI-TS-02 |
|
|
7 |
CI-TS-03 |
|
|
22 |
CI-TS-04 |
|
|
21 |
CI-TS-05 |
|
|
35 |
CI-TS-06 |
|
|
24 |
CI-TS-07 |
|
|
23 |
CI-TS-08 |
|
|
27 |
CI-TS-09 |
|
|
35 |
CI-TS-10 |
|
|
29 |
<5.3> Integration tests (tests/it, pytest -m integration) and exploratory notebook#
CI ID |
Path |
Type |
Role / cases |
|---|---|---|---|
CI-TS-11 |
|
Integration test |
Wires all 8 units on one synthetic feature-rich scene: full L0c→L2A chain + chain-with-pansharpen = 2 cases (2 passed) |
CI-TS-12 |
|
Exploratory notebook (non-CI) |
Local Dask exploration; not pytest-collected, not gating |
Quantity check. 7 markers + 18 test modules (16 computing + 2 common + 1 sensors → counted as
listed) = 27 test .py files, plus 1 exploratory .ipynb. The integration suite surfaced and
fixed a real defect (AtmosphericUnit dropping the L1C geolocation grid from L2A; fixed via conditions
passthrough) — recorded in RD-8 / RD-11.
<6> ECSS document-set configuration items (compliance/)#
Type ECSS document (Markdown, no Apache header per house style), version reference d140599,
all baselined as indicated. These satisfy CIDL List a.2 (customer-controlled specifications and ICDs:
SSS, IRD, ICD — the Requirements Baseline) and List a.3 (engineering/design documentation: verification
plans, lower-level specs, test specifications and procedures). The QR-package documents (CIDL, SCF,
SRN, QR Review Report — CI-DC-17..20) are working-tree additions authored at QR against baseline
d140599, consistent with the CIDL self-reference convention of <3.1>.
CI ID |
Path |
Document |
Baselined at |
|---|---|---|---|
CI-DC-01 |
|
SDP (RD-1) |
SRR |
CI-DC-02 |
|
SSS (RD-2) — customer-controlled spec |
SRR/PDR |
CI-DC-03 |
|
IRD (RD-3) — customer-controlled spec |
SRR/PDR |
CI-DC-04 |
|
SRS (RD-4) |
PDR |
CI-DC-05 |
|
ICD (RD-5) — customer-controlled ICD |
PDR/CDR |
CI-DC-06 |
|
DPM (RD-6) — |
CDR |
CI-DC-07 |
|
ATBD (RD-7) — |
CDR |
CI-DC-08 |
|
V&V Plan (RD-8) |
PDR |
CI-DC-09 |
|
SDD (RD-9) — |
CDR |
CI-DC-10 |
|
SUITP (RD-10) — test specs & procedures |
CDR |
CI-DC-11 |
|
RTM (RD-11) — bidirectional, no orphans |
CDR |
CI-DC-12 |
|
SReVP (RD-12) |
SRR/PDR |
CI-DC-13 |
|
SPAP (RD-13) |
SRR/PDR |
CI-DC-14 |
|
SRF (RD-14) |
CDR |
CI-DC-15 |
|
DJF (RD-15) |
CDR |
CI-DC-16 |
|
Risk Register (RD-16) |
SRR (living) |
CI-DC-17 |
|
CIDL (this document) |
QR |
CI-DC-18 |
|
SCF (RD-18) — authoritative ECSS document |
QR |
CI-DC-19 |
|
SRN/SRelD (RD-17) — authoritative ECSS document |
QR |
CI-DC-20 |
|
QR Review Report (RD-19) — qualification record |
QR |
CI-DC-21 |
|
SVR — Software Verification Report (V&V results record) — QR deliverable |
QR |
CI-DC-22 |
|
SUITR — Software Unit & Integration Test Report — QR deliverable |
QR |
Quantity check. 19 files under compliance/drd/ (incl. CIDL, SCF, SRN, SVR, SUITR) + 1 QR Review
Report and 1 SDP at compliance/ root + 1 RTM under compliance/traceability/ = 22 documents. The SCF/SRN
also have online renderings under docs/ (CI-UD-05/06), and the CIDL under docs/cidl.md (CI-UD-04).
<7> Build, CI and configuration-control items#
Type build/CI/config, version reference d140599.
CI ID |
Path |
Type |
Role |
|---|---|---|---|
CI-CF-01 |
|
Build config |
flit build backend; deps ( |
CI-CF-02 |
|
CI pipeline |
9 blocking + 5 allow_failure jobs (clause <10>) |
CI-CF-03 |
|
Lint config |
flake8 rules (REQ-D-02) |
CI-CF-04 |
|
Typing config |
mypy contract (ignores for |
CI-CF-05 |
|
SAST config |
bandit security scan config |
CI-CF-06 |
|
Coverage config |
coverage (Cobertura) settings, gate |
CI-CF-07 |
|
Local hooks |
shift-left format/lint hooks |
CI-CF-08 |
|
Dockerfile-lint config |
hadolint rules |
CI-CF-09 |
|
Container build |
image recipe (kaniko |
CI-CF-10 |
|
Repo config |
ignore rules |
CI-CF-11 |
|
Licence |
Apache-2.0 |
CI-CF-12 |
|
Project readme |
top-level overview |
CI-CF-13 |
|
Process templates |
4 GitLab issue templates |
CI-CF-14 |
|
Process template |
default MR template |
Quantity check. 12 root/CI files + 4 issue templates + 1 MR template = 17 items.
<8> Documentation configuration items (docs/)#
Type documentation (Sphinx site, version reference d140599). Includes the QR-package
online documents (SCF, SRN, SUM start) authored in this tree, plus the published DPM/SDD/SUM
renderings and Sphinx assets. CIDL List a.3(i) “user manual” = the SUM tree (docs/sum/).
<8.1> Sphinx root and top-level pages#
CI ID |
Path |
Type |
Role |
|---|---|---|---|
CI-UD-01 |
|
Sphinx config |
autodoc wiring; build config |
CI-UD-02 |
|
Doc root |
site table of contents |
CI-UD-03 |
|
Doc pages |
contributing + licence pages |
<8.2> QR-package online documents#
CI ID |
Path |
Type |
Role |
|---|---|---|---|
CI-UD-04 |
|
Online doc |
CIDL online rendering (mirrors CI-DC-17) |
CI-UD-05 |
|
Online doc |
SCF (RD-18) — Software Configuration File |
CI-UD-06 |
|
Online doc |
SRN/SRelD (RD-17) — Software Release Note |
CI-UD-07 |
|
Online doc |
SIM — Software Installation Manual |
CI-UD-08 |
|
Online doc |
SRF online rendering |
CI-UD-09 |
|
Online doc |
ICD online rendering |
CI-UD-10 |
|
Online doc |
SUITR — Software Unit & Integration Test Report (QR) |
<8.3> DPM, SDD and SUM rendered trees#
CI ID |
Path root |
Type |
Files |
|---|---|---|---|
CI-UD-11 |
|
DPM rendering |
|
CI-UD-12 |
|
SDD rendering |
|
CI-UD-13 |
|
SUM (user manual, start) |
|
<8.4> Sphinx static assets and templates#
CI ID |
Path root |
Type |
Files |
|---|---|---|---|
CI-UD-14 |
|
Static assets |
|
CI-UD-15 |
|
HTML templates |
|
Quantity check. 4 (root/pages) + 7 (online docs) + 8 (dpm) + 6 (sdd) + 13 (sum) + 5 (static)
4 (templates) = 47 documentation items.
<9> Changes not yet incorporated and deviations (List a.4)#
This clause records, against the QR baseline d140599, the applicable changes not yet incorporated
into the baseline and the deviations carried into AR. All items are traced in the RTM (RD-11) and
detailed in the V&V Plan (RD-8) / SVR.
<9.1> QR open items (changes not yet incorporated)#
Open item |
Description |
Disposition |
|---|---|---|
OI-1 |
Numeric performance-budget validation withheld at QR — the Tier-C numeric closure of REQ-P-01..05 ( |
Carried to AR (validated on operator data at acceptance). The single most important QR limitation. |
OI-2 |
No Git tag yet — distribution version is dynamic (flit + git tag); the proposed RC is |
Tag creation is the release action at AR/release decision; SRN (RD-17) states the RC + baseline commit. |
OI-3 |
V&V / qualification results are consolidated at QR in the QR Review Report (CI-DC-20, RD-19), together with the SCF (CI-DC-18) and SRN (CI-DC-19); authored in this QR package. |
Issued with the QR data package. |
<9.2> Implementation deferral register (recorded waivers — all fail-stop)#
All six [impl] deferrals are fail-stop, with recorded waivers traced RTM G-1 / G-6 (RD-11); the
operational baseline never executes them.
# |
Unit |
Deferred function (algorithm) |
Operational substitute |
|---|---|---|---|
1 |
|
|
Public paths: canonical L0 or the open-container sample layout |
2 |
|
|
— |
3 |
|
|
Operational L1C uses GCP reference-image refinement; 2 xfail tests verify the fail-stop (CI-TS-08) |
4 |
|
|
— |
5 |
|
|
— |
6 |
|
|
— |
Additionally, pansharpen component-substitution fusion methods (brovey/gs/ihs/atrous) are
deferred; only simple_mean is operational.
<9.3> Documented deviations (CI gating and dependency security)#
Deviation |
Description |
Justification |
|---|---|---|
DEV-1 |
5 allow_failure CI jobs (non-gating): |
Single Studio VM, SHELL executor ( |
DEV-2 |
|
Unfixable while |
<10> CI verification evidence and issue status (List a.5 / a.6)#
The issue status of the QR baseline d140599 is set by main pipeline 30730 = success. The
nine blocking CI gates are all green (.gitlab-ci.yml, CI-CF-02):
Gate |
Tool |
Verifies |
|---|---|---|
|
CI |
pipeline variable preconditions |
|
flake8 |
style/lint (REQ-D-02) |
|
hadolint |
Dockerfile lint |
|
black + isort |
format conformance |
|
mypy |
type contracts |
|
pytest |
246 unit cases (244 passed, 2 xfailed); Cobertura coverage gate |
|
bandit |
SAST |
|
pip-audit (isolated venv) |
dependency CVEs (with DEV-2 ignore-list) |
|
flit |
wheel build |
|
Sphinx |
docs build |
Test-result evidence (authoritative). 246 unit + 2 integration = 248 test cases from 238 test
functions on cpm_env (eopf 2.8.1 / Python 3.11); 244 unit passed, 2 unit xfailed (verify the
orthorectify fail-stop, CI-TS-08), 2 integration passed (CI-TS-11). Non-gating jobs are recorded in
DEV-1.
Baseline confirmation. The SCI at d140599 is a formal version under configuration control (Git +
this CIDL + the SCF RD-18 + the SRelD/SRN RD-17), satisfying SReVP (RD-12) QR exit criterion (c). The
numeric performance-budget closure (OI-1) is the documented open item carried to AR.
End of CIDL. Authored per ECSS-M-ST-40C Rev.1 (configuration item data list) and ECSS-E-ST-40C Rev.1
software configuration management, tailored for Category C, single-developer. QR configuration
baseline = main commit d140599 (pipeline 30730 = success); proposed release candidate
v0.1.0-rc1. The maintained traceability artefact is the RTM (RD-11); the release record is the
SRelD/SRN (RD-17) and the SCF (RD-18).