Introduction

Introduction#

Purpose#

This Software Design Document (SDD) describes the architectural and detailed design of eo-data-embedding — a research-grade pipeline that produces dense embeddings of Sentinel-1/2 imagery from a frozen Clay v1.5 foundation model and exercises them through four downstream tasks: FAISS similarity retrieval, a few-shot linear/CNN probe, and bitemporal change detection. It is the design counterpart to the Software Requirements Specification (SRS): every REQ-* allocated to the design resolves here to a component and an interface.

Objective#

The objective is to record the design rationale at a level that lets a reader reconstruct why the software is shaped the way it is — most centrally the one load-bearing decision that the heavy encoder pass runs once and is persisted, so every downstream capability operates cheaply over the stored embeddings. The SDD captures the static architecture, the per-module detailed design, and the design decisions (frozen encoder, exact FAISS index, held-out threshold methodology) that underpin the project’s reproducibility, honest-evaluation, and CPU/GPU-portability goals.

Scope#

eo-data-embedding is non-flight, non-real-time ground software: a single-developer research / portfolio project. Reproducibility, honest evaluation, and portability are first-class goals; operational deployment is out of scope (see SDP §1). The ECSS real-time, scheduling, and formal review-board provisions are tailored out accordingly (SDP §2–3); where a DRD section does not apply, this is stated explicitly rather than left blank.

Content#

The remainder of this SDD is organised as follows: the design overview presents the static architecture, behaviour, interfaces context, long-lifetime and budget considerations, and the adopted design standards; the software design gives the per-module detailed design and the key design decisions; and the traceability page maps requirements to design, code and tests. External interfaces are specified normatively in the ICD (icd).