Requirements to design components traceability#
Bidirectional trace Requirement → Design → Code → Test → Verification. REQ-F-* functional,
REQ-N-* non-functional. Method: T(est) / A(nalysis) / I(nspection) / R(eview).
Functional requirements#
REQ ID |
Requirement |
Design |
Code |
Test |
Method |
Status |
|---|---|---|---|---|---|---|
REQ-F-01 |
Generate embeddings from Sentinel-1/2 tiles via frozen Clay v1.5 |
SDD §embed |
|
|
T |
Implemented |
REQ-F-02 |
Persist / load embeddings with metadata |
SDD §store |
|
|
T |
Implemented |
REQ-F-03 |
Similarity retrieval over embeddings (FAISS) with mAP/recall@k |
SDD §search |
|
|
T |
Implemented |
REQ-F-04 |
Few-shot probe (linear / CNN baseline) on embeddings |
SDD §probe |
|
|
T |
Implemented |
REQ-F-05 |
Bitemporal change detection with held-out threshold selection |
SDD §change |
|
|
T |
Implemented |
REQ-F-06 |
CPU-only demo path (no GPU required) |
SDD §demo |
|
CI CPU build |
T |
Implemented |
Non-functional requirements#
REQ ID |
Requirement |
Design |
Code / config |
Verification |
Method |
Status |
|---|---|---|---|---|---|---|
REQ-N-01 |
Reproducible config-driven runs |
SDD §config |
|
|
T |
Implemented |
REQ-N-02 |
Honest, validation-chosen evaluation metrics |
SDD §search/change |
|
SVR |
A |
Reported |
REQ-N-03 |
Portability across Kaggle / Colab / GCP / CPU |
SDD §runners |
|
|
A |
Demonstrated |
REQ-N-04 |
Static quality gates (lint, format, type, security) |
SPA Plan |
|
CI (flake8/black/mypy/bandit) |
I |
Active — all green |
REQ-N-05 |
Test coverage ≥ 70% (EOPF gate) |
SPA Plan |
|
|
T |
Met — 85% (core; UI/IO glue omitted) |
Coverage measured 2026-06-24: 85% on the algorithmic core (embed/probe/search/store/change/ baseline/config); UI/CLI/logging/IO glue (
demo,cli,log,data) omitted via.coveragerc(mirror in SonarQubeSQ_COV_EXCLUSIONS). All static gates (black/isort/flake8/mypy/bandit) pass.
The matrix above is bidirectional: forward from each REQ-* to its implementing component, code
and verifying test, and backward from each component up to the requirement(s) that justify it (the
per-module headers in software design name their REQ-*). No separate DJF is maintained
for this trace — design justification is folded into the SDD and the V&V report (see DJF).
No software in eo-data-embedding is classified as critical (non-flight, non-safety ground
software, see SDP §3), so no criticality-specific design measures apply.