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 — compliance/drd/

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

QR (Qualification Review)

Status

Issued at QR

This CIDL enumerates every configuration item that constitutes the Software Configuration Item (SCI) msi-processor at the Qualification Review (QR) configuration baselinemain commit d140599 (latest main pipeline 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 commit d140599 is 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 raw L0 data 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 (eopf == 2.8.1)

<2.2> Reference documents (RD)#

Id

Document

Reference (path at d140599)

RD-1

Software Development Plan (SDP)

compliance/software-development-plan.md

RD-2

Software System Specification (SSS) — SYS-*

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

RD-3

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

compliance/drd/ird-interface-requirements.md

RD-4

Software Requirements Specification (SRS) — REQ-*

compliance/drd/srs-software-requirements.md

RD-5

Interface Control Document (ICD)

compliance/drd/icd-interface-control.md

RD-6

Detailed Processing Model (DPM) — DPM-M-*

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

RD-7

Algorithm Theoretical Basis Document (ATBD) — ALG-*

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

RD-8

V&V Plan (SVerP + SValP + SUITP strategy)

compliance/drd/vv-plan.md

RD-9

Software Design Document (SDD) — C-*

compliance/drd/sdd-software-design.md

RD-10

Software Unit & Integration Test Plan (SUITP, Annex K)

compliance/drd/suitp-unit-integration-test-plan.md

RD-11

Requirements Traceability Matrix (RTM)

compliance/traceability/traceability-matrix.md

RD-12

Software Review Plan (SReVP)

compliance/drd/srevp-software-review-plan.md

RD-13

Software Product Assurance Plan (SPAP)

compliance/drd/spa-plan.md

RD-14

Software Reuse File (SRF)

compliance/drd/srf-software-reuse-file.md

RD-15

Design Justification File (DJF)

compliance/drd/djf-design-justification.md

RD-16

Risk Register

compliance/drd/risk-register.md

RD-17

Software Release Note / SRelD (SRN)

compliance/drd/srn-software-release-note.md (online rendering: docs/srn.md)

RD-18

Software Configuration File (SCF)

compliance/drd/scf-software-configuration-file.md (online rendering: docs/scf.md)

RD-19

QR Review Report (qualification record)

compliance/qr-qualification-review-report.md


<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)

CI-SW-*, CI-PU-*

<4>

msi_processor/

42 (34 .py + 8 model .json)

Test suite

CI-TS-*

<5>

tests/

27 .py (+ 1 exploratory .ipynb)

ECSS document set

CI-DC-*

<6>

compliance/

22 .md

Build / CI / config-control

CI-CF-*

<7>

repo root, .gitlab/

17

Documentation tree

CI-UD-*

<8>

docs/

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 its main pipeline status.

  • Distribution version. The Python distribution version is dynamic (flit backend + git describe); no Git tag exists yet. The proposed QR release candidate is v0.1.0-rc1, referenced to commit d140599. 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

msi_processor/__init__.py

Source (package root)

Package init; flit dynamic version + description anchor

CI-SW-02

msi_processor/common/__init__.py

Source

common subpackage init

CI-SW-03

msi_processor/common/types.py

Source

Shared data types / type contracts (mypy-checked)

CI-SW-04

msi_processor/common/metrics.py

Source

QA-metrics module (SNR/RMSE/PSNR/MSE/variance; ex-metrics_ips, RD-14) — REQ-F-QA-01

CI-SW-05

msi_processor/exceptions/__init__.py

Source

exceptions subpackage init

CI-SW-06

msi_processor/exceptions/errors.py

Source

Fail-stop error hierarchy (REQ-F-DEP-01)

CI-SW-07

msi_processor/exceptions/warnings.py

Source

QA / non-fatal warning hierarchy

CI-SW-08

msi_processor/sensors/__init__.py

Source

sensors subpackage init

CI-SW-09

msi_processor/sensors/profile.py

Source

Sensor-profile model (sensor-agnostic externalisation; REQ-D-07, REQ-AD-01)

CI-SW-10

msi_processor/computing/__init__.py

Source

computing subpackage init

<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 (__init__.py, core.py, unit.py)

Computing-model JSON (SemVer)

CI-PU-L0

computing/l0_decode

L1A

l0_decode/{__init__,core,unit}.py

models/msi_l0_decode_1.0.0.json (1.0.0)

CI-PU-RAD

computing/radiometric

L1A

radiometric/{__init__,core,unit}.py

models/msi_radiometric_1.0.0.json (1.0.0)

CI-PU-ENH

computing/enhancement

L1B (MTF-compensation mandatory)

enhancement/{__init__,core,unit}.py

models/msi_enhancement_1.0.0.json (1.0.0)

CI-PU-TOA

computing/toa

L1B

toa/{__init__,core,unit}.py

models/msi_toa_1.0.0.json (1.0.0)

CI-PU-COR

computing/coregistration

L1B→L1C

coregistration/{__init__,core,unit}.py

models/msi_coregistration_1.0.0.json (1.0.0)

CI-PU-GEO

computing/georeference

L1C

georeference/{__init__,core,unit}.py

models/msi_georeference_1.0.0.json (1.0.0)

CI-PU-ATM

computing/atmospheric

L2A (new design)

atmospheric/{__init__,core,unit}.py

models/msi_atmospheric_1.0.0.json (1.0.0)

CI-PU-PAN

computing/pansharpen

optional post-L2A derivative

pansharpen/{__init__,core,unit}.py

models/msi_pansharpen_1.0.0.json (1.0.0)

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 on main. 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

tests/__init__.py, tests/ut/__init__.py, tests/ut/common/__init__.py, tests/ut/computing/__init__.py, tests/ut/sensors/__init__.py, tests/it/__init__.py, tests/it/computing/__init__.py

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

tests/ut/common/test_types.py + tests/ut/common/test_metrics.py

common (types + metrics)

15

CI-TS-02

tests/ut/sensors/test_profile.py

sensors.profile

7

CI-TS-03

tests/ut/computing/test_l0_decode_core.py + test_l0_decode_unit.py

l0_decode

22

CI-TS-04

tests/ut/computing/test_radiometric_core.py + test_radiometric_unit.py

radiometric

21

CI-TS-05

tests/ut/computing/test_enhancement_core.py + test_enhancement_unit.py

enhancement

35

CI-TS-06

tests/ut/computing/test_toa_core.py + test_toa_unit.py

toa

24

CI-TS-07

tests/ut/computing/test_coregistration_core.py + test_coregistration_unit.py

coregistration

23

CI-TS-08

tests/ut/computing/test_georeference_core.py + test_georeference_unit.py

georeference (2 xfail verify orthorectify fail-stop)

27

CI-TS-09

tests/ut/computing/test_atmospheric_core.py + test_atmospheric_unit.py

atmospheric

35

CI-TS-10

tests/ut/computing/test_pansharpen_core.py + test_pansharpen_unit.py

pansharpen

29

<5.3> Integration tests (tests/it, pytest -m integration) and exploratory notebook#

CI ID

Path

Type

Role / cases

CI-TS-11

tests/it/computing/test_full_chain.py

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

tests/dask-test.ipynb

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

compliance/software-development-plan.md

SDP (RD-1)

SRR

CI-DC-02

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

SSS (RD-2) — customer-controlled spec

SRR/PDR

CI-DC-03

compliance/drd/ird-interface-requirements.md

IRD (RD-3) — customer-controlled spec

SRR/PDR

CI-DC-04

compliance/drd/srs-software-requirements.md

SRS (RD-4)

PDR

CI-DC-05

compliance/drd/icd-interface-control.md

ICD (RD-5) — customer-controlled ICD

PDR/CDR

CI-DC-06

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

DPM (RD-6) — DPM-M-* (11 modules)

CDR

CI-DC-07

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

ATBD (RD-7) — ALG-* (33 algorithms)

CDR

CI-DC-08

compliance/drd/vv-plan.md

V&V Plan (RD-8)

PDR

CI-DC-09

compliance/drd/sdd-software-design.md

SDD (RD-9) — C-* (21 components)

CDR

CI-DC-10

compliance/drd/suitp-unit-integration-test-plan.md

SUITP (RD-10) — test specs & procedures

CDR

CI-DC-11

compliance/traceability/traceability-matrix.md

RTM (RD-11) — bidirectional, no orphans

CDR

CI-DC-12

compliance/drd/srevp-software-review-plan.md

SReVP (RD-12)

SRR/PDR

CI-DC-13

compliance/drd/spa-plan.md

SPAP (RD-13)

SRR/PDR

CI-DC-14

compliance/drd/srf-software-reuse-file.md

SRF (RD-14)

CDR

CI-DC-15

compliance/drd/djf-design-justification.md

DJF (RD-15)

CDR

CI-DC-16

compliance/drd/risk-register.md

Risk Register (RD-16)

SRR (living)

CI-DC-17

compliance/drd/cidl-configuration-item-data-list.md

CIDL (this document)

QR

CI-DC-18

compliance/drd/scf-software-configuration-file.md

SCF (RD-18) — authoritative ECSS document

QR

CI-DC-19

compliance/drd/srn-software-release-note.md

SRN/SRelD (RD-17) — authoritative ECSS document

QR

CI-DC-20

compliance/qr-qualification-review-report.md

QR Review Report (RD-19) — qualification record

QR

CI-DC-21

compliance/drd/vv-report.md

SVR — Software Verification Report (V&V results record) — QR deliverable

QR

CI-DC-22

compliance/drd/suitr-unit-integration-test-report.md

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

pyproject.toml

Build config

flit build backend; deps (eopf == 2.8.1, opencv-python-headless >= 4.8, rasterio >= 1.3); pytest/black/isort config; dynamic version → v0.1.0-rc1

CI-CF-02

.gitlab-ci.yml

CI pipeline

9 blocking + 5 allow_failure jobs (clause <10>)

CI-CF-03

.flake8

Lint config

flake8 rules (REQ-D-02)

CI-CF-04

.mypy.ini

Typing config

mypy contract (ignores for rasterio/affine stubs)

CI-CF-05

bandit.yml

SAST config

bandit security scan config

CI-CF-06

.coveragerc

Coverage config

coverage (Cobertura) settings, gate

CI-CF-07

.pre-commit-config.yaml

Local hooks

shift-left format/lint hooks

CI-CF-08

.hadolint.yml

Dockerfile-lint config

hadolint rules

CI-CF-09

Dockerfile

Container build

image recipe (kaniko deliver-image, non-gating on shell runner)

CI-CF-10

.gitignore

Repo config

ignore rules

CI-CF-11

LICENSE

Licence

Apache-2.0

CI-CF-12

README.md

Project readme

top-level overview

CI-CF-13

.gitlab/issue_templates/Action.md, Bug.md, Documentation.md, Risk.md

Process templates

4 GitLab issue templates

CI-CF-14

.gitlab/merge_request_templates/default.md

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

docs/conf.py

Sphinx config

autodoc wiring; build config

CI-UD-02

docs/index.rst

Doc root

site table of contents

CI-UD-03

docs/contributing.md, docs/license.md

Doc pages

contributing + licence pages

<8.2> QR-package online documents#

CI ID

Path

Type

Role

CI-UD-04

docs/cidl.md

Online doc

CIDL online rendering (mirrors CI-DC-17)

CI-UD-05

docs/scf.md

Online doc

SCF (RD-18) — Software Configuration File

CI-UD-06

docs/srn.md

Online doc

SRN/SRelD (RD-17) — Software Release Note

CI-UD-07

docs/sim.md

Online doc

SIM — Software Installation Manual

CI-UD-08

docs/srf.md

Online doc

SRF online rendering

CI-UD-09

docs/icd.md

Online doc

ICD online rendering

CI-UD-10

docs/suitr.rst

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

docs/dpm/

DPM rendering

breakpoints.md, context.md, conventions.md, index.rst, introduction.md, module-a.md, module-b.md, parameters-data-list.md (8)

CI-UD-12

docs/sdd/

SDD rendering

design.md, djf.md, index.rst, introduction.md, overview.md, traceability.md (6)

CI-UD-13

docs/sum/

SUM (user manual, start)

analytical-index.md, conventions.md, external-view.md, index.rst, introduction.md, operations-basics.md, operations-environment.md, operations-manual.md, purpose.md, reference-manual.md, tutorials.md, notebooks/index.rst, notebooks/my_processor_notebook.ipynb (13)

<8.4> Sphinx static assets and templates#

CI ID

Path root

Type

Files

CI-UD-14

docs/_static/

Static assets

copernicus-logo2.png, esa-102x64.jpg, esa.jpg, logo_cs_group_bleu_petit-86x42.png, mermaid-9.4.3.min.js (5)

CI-UD-15

docs/_templates/

HTML templates

help-feedback.html, navbar-footer.html, navbar-logo.html, test_report_template.txt (4)

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 (RAD_ACC, GEO_CE90 + BAND_COREG, BOA_ACC, THRU_SCENE, MEM_BUDGET) requires the operator’s private real RAW + calibration data (data policy SSS <5.1>), never present in public CI. Verified by analysis/design + algorithm V&V at QR.

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 v0.1.0-rc1 at d140599.

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

l0_decode

decode_source_packets (ALG-L0-DEC) — sensor-private on-wire forms only; the documented canonical L0 (compressed ISPs) now ground-decodes in ground_decode (REQ-F-L0-06)

Public paths: canonical L0 or the open-container sample layout

2

georeference

orbit_state (ALG-GEO-ORBIT) — ephemeris/orbit propagation (CDR-target; GPL TLE path dropped)

3

georeference

orthorectify (ALG-GEO-ORTHO) — rigorous collinearity / DEM line-of-sight (needs sensor-private viewing model; CDR-target)

Operational L1C uses GCP reference-image refinement; 2 xfail tests verify the fail-stop (CI-TS-08)

4

atmospheric

retrieve_atmospheric_parameters (ALG-ATM-PAR) — image-based AOT/water-vapour retrieval

5

atmospheric

resolve_rt_lut (ALG-ATM-RT) — radiative-transfer engine LUT build

6

atmospheric

classify_scene_ml (ALG-ATM-SCM) — ML scene-classifier refinement

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): docs-cov (informational), complexity (xenon advisory), sonarqube (external service), integration-tests (now passing; Dask-gateway/S3 absent on shell runner), deliver-image (kaniko has no container runtime on shell runner).

Single Studio VM, SHELL executor (image: ignored); promote to blocking on a K8s runner.

DEV-2

deps-sec documented ignore-list: PYSEC-2026-248 / PYSEC-2026-249, CVE-2026-48817 / CVE-2026-48818 (eopf-transitive starlette 1.0.1).

Unfixable while eopf == 2.8.1 is pinned; revisit on eopf bump (REQ-M-03).


<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

validate-variables

CI

pipeline variable preconditions

linter

flake8

style/lint (REQ-D-02)

docker-linter

hadolint

Dockerfile lint

formater

black + isort

format conformance

typing

mypy

type contracts

unit-tests

pytest -m unit + coverage

246 unit cases (244 passed, 2 xfailed); Cobertura coverage gate

security

bandit

SAST

deps-sec

pip-audit (isolated venv)

dependency CVEs (with DEV-2 ignore-list)

build-package

flit

wheel build

sphinx-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).