Risk register#
Project: s2_msi_raw_generator — the reverse Sentinel-2 MSI radiometric reverse chain: a S2B
L1B is run backwards through the exact inverse of the operational L0→L1B chain to reconstruct
L1A → L0plus → Synthetic L0, validated against the reference ESA L0 img (10/20 m bands ≤ ~4 DN). ECSS-M-ST-80C-style
risk register, tailored for a single-CSC E2ES. Reviewed at each release (SRN cycle); risks realized or
retired are moved to §4.
1. Scoring#
Likelihood A (minimum) … E (maximum); severity 1 (negligible) … 5 (catastrophic). Index = likelihood × severity; red ≥ D4/E3, yellow ≥ C3/B4, green below.
2. Active risks#
ID |
Risk |
L |
S |
Index |
Mitigation / fallback |
|---|---|---|---|---|---|
RSK-01 |
Real image-ISP ground truth unavailable — the PSD L0 SAFE image |
C |
2 |
yellow |
Limitation recorded verbatim in |
RSK-02 |
Codec interoperability — the documented §4.5.3 divergence (DEC-05, DJF) means external CCSDS-122 reference decoders cannot read our streams; consumers must use the packaged decoder. |
E (by design) |
2 |
yellow |
Divergence documented in ICD-IF-C122 with the rate cost quantified; decoder ships in the package; a future full-BPE MR closes the gap if interop is ever required. |
RSK-03 |
Public bucket availability / drift — inputs (L1A, GIPP, ESA L0 references) come from a public bucket whose content or policy may change, breaking the env-gated S2 L1B tests and driver phases. |
B |
3 |
green |
Fetch layer verifies size/ETag-md5 per object and writes a manifest; fetched inputs are cached on the SDE ( |
RSK-04 |
DN-scaled test L1B/L1A — the public EOPF L1B/L1A is not a physically-calibrated radiance product, so the Synthetic L0 is validated in DN space against the reference ESA L0 |
E (state of the data) |
2 |
yellow |
Recorded in SRN §Known limitations and V&V report §Anomalies; if a calibrated L1B/L1A becomes public, extend |
RSK-05 |
Single-developer bus factor — one developer holds the context; review independence relies on tooling (CI gates, tests) rather than a second reviewer. |
E |
2 |
yellow |
Full ECSS doc set + 206-test suite + traceability keep the project transferable; MR-based history records every decision (SRevP). |
RSK-06 |
Dependency drift (zarr / numpy / Python) — the zarr v2/v3 shim (DEC-09) and the unpinned CI image mean upstream majors can break the suite. |
B |
2 |
green |
CI runs on every MR; the shim isolates zarr API differences in |
RSK-07 |
Processor-side environment coupling — the E2E drivers depend on the |
C |
2 |
green |
eopf imports are lazy and confined to the drivers; the core suite (201 tests) is unaffected; the open-container interface (REQ-FUNC-042) is schema-tested in CI without eopf. |
3. Top exposure#
No red risks. The dominant accepted limitations are RSK-01/RSK-04 — both are properties of the public data landscape, not of the software; both are documented at the point of use and do not affect any acceptance criterion.
4. Retired risks#
ID |
Risk |
Outcome |
|---|---|---|
RSK-91 |
zarr v2/v3 write incompatibility (dual-venv workaround) |
Retired by the |
RSK-92 |
Codec throughput on full frames (BPE too slow for 13 full bands) |
Retired — segment-vectorised bit-plane packing; the authoritative 13-band full-frame run completed within the SDE job budget. |