# Changelog All notable changes to SatQuery AI. Dates are ISO-8601. This changelog records **what changed and what was verified**, and marks unresolved items honestly rather than omitting them. Status tags: `RESOLVED` · `OPEN` · `CLOSED` · `DEFERRED` · `REJECTED`. --- ## [1.0.0] — 2026-09-25 — Final documentation, model release and archival freeze The release that makes the project legible and citable: repository documentation, research documentation, model documentation, a Hugging Face model release, a curated public repository, and a verified evidence archive. ### Added - **Repository README** (27 sections) — motivation through citation, with the deployed topology, the six supported tasks, routing, the eight execution events, measured results, live validation, and known limitations. - **Research documentation set** — `ARCHITECTURE.md`, `MODELS.md`, `BENCHMARKS.md`, `DATASETS.md`, `TRAINING.md`, `EVALUATION.md`, `DEPLOYMENT.md`, `REPRODUCIBILITY.md`, `LIMITATIONS.md`, `RESEARCH_NOTES.md`, `CHANGELOG.md`. - **Model documentation** — `MODEL_CARD.md`, generated `models/manifest.json` and `models/checksums.sha256`. - **Hugging Face release** of the six trained artifacts to `thundercode/SatQuery`, with a verification record. - **Curated public repository** at `Anish-lab-blip/SatQuery-AI` with a release manifest. - **Evidence archive** (ZIP64, artifacts verbatim) with an integrity-verified extraction and a documented remote location. - **Metric verification tool** — `tools/verify_readme_metrics.py`, checking all 20 quoted metrics and the status assertions against their artifacts. ### Changed - The monorepo `README.md` was **materially stale** and is superseded by this release's README. The stale version called the frontend "hermetic — no backend calls", put Render/Codespace as "in progress", described a `/v1/*` contract, and pointed at the untracked `deploy/` as the deployment source. All four were wrong. - `hf/` documentation was **stale** — it asserted the project "does not own any model weights … ships no weights, no binaries, and no large artifacts" and "has no Hugging Face credentials". Both were false at release time and are corrected. ### Fixed - **Router defect** — *"Where are the built-up areas in this image?"* collapsed to `vqa` and answered "River". Fixed in the dispatch path and validated across three independent live passes (8/8 each). `RESOLVED`. - **Live-validation harness false positive** — synthetic CDP key events were silently dropped when the window lacked OS focus, so the harness dispatched the page's default query and recorded a false pass. Fixed with pre-dispatch form-state assertions. `RESOLVED`. - **Bundled EO change pair** — the demo pair differed in shape (726² vs 736²) and errored. Replaced with a same-shape pair (both 720×720). `RESOLVED` (supersedes `FINAL_DELIVERY_REPORT.md` §6). - **B-01 (Hugging Face header link)** — previously `BLOCKED`; the link is now live on all 11 pages. `CLOSED`. ### Known issues at this release - **B-07** — transient tunnel-agent gaps; a request can hang or return 504. Patch prepared, **NOT deployed**. `OPEN`. - **B-02** — `/api/health` `codespace_name` carries a trailing `\n`. Cosmetic. `OPEN`. - **No `LICENSE` file** exists. `OPEN`. - **No system-level end-to-end benchmark** exists. `NOT RUN`. - **Router test split** never scored. `NOT RUN`. - **Calibration** worsened ECE (0.013755 → 0.014929). Retained as part of the frozen config only. - **VLM adapter** is `ACCEPTANCE-REJECTED` despite usable metrics; the deployed path uses the unadapted model. - **optical-SAR** and **change-VQA** rulings remain `OPEN`. ### Deployment revisions at this release | Component | Revision | |---|---| | Frontend | `2d7ae53b482d` | | Backend | `89d80eaddec5` | | Inference | `5a0936ace491` | | Public umbrella | `3dcabd32da41` | --- ## [0.9.0] — 2026-09-25 — Router-defect sprint - Diagnosed and fixed the router misroute (region queries → `vqa`). - Deployed three commits to the frontend. - Ran **3 independent live validation passes**, 8/8 each — 24 live runs, 24 correct dispatches, 0 mock nodes, trace fill 94.4444 %. - Wrote the delivery report and handoff. --- ## [0.8.0] — 2026-09-24/25 — Deployment hardening - Live topology settled on **Cloudflare Pages → Render → outbound tunnel → Codespace** (CPU). - Closed the five historical backend blockers (ASGI stack in requirements; `$PORT` read; `OPTIONS` preflight; fail-fast app construction; adapter integrity compared against an expected digest). - Documented cold start; `transport_mode: auto` fallthrough recorded. --- ## [0.7.0] — Grounding and change heads - Grounding: trainable head over frozen RemoteCLIP ViT-B/32. Resolution **224 chosen, 448 rejected** by a pre-registered paired test. - Change: STANet-style Siamese detector on LEVIR-CD-256 — the only `VERIFIED` headline metric. - Optical-SAR: CROMA-base fusion head, seed sweep, pre-registered 115-class metric. --- ## [0.6.0] — VLM adaptation - SmolVLM-500M LoRA adapter trained (PEFT 0.19.1, r = 16, α = 32). - Metrics usable (exact_match 0.963) but **acceptance-rejected** for promotion. `REJECTED`. - Findings F5-1/F5-2/F5-3 recorded (loader class, ~17× processor overrun, chat-template requirement). --- ## [0.5.0] — Router - 50,822-parameter adapter over frozen MiniLM; cached embeddings; CPU-only training (0.28 s for 20 epochs / 4,096 vectors). - Group-based splits with hard negatives in the test split. --- ## [0.1.0] — Foundation - Monorepo, frozen configuration registry (`configs/base.yaml`), config-hash freeze (`78f1e3700da15aa1`), nine-state controller, four-endpoint inference contract, evidence schema (`Region` / `ChangeRegion`), eight frontend execution events. --- ## Unreleased / open | Item | State | |---|---| | Deploy the B-07 tunnel-fallthrough fix | prepared, **NOT deployed** | | Score the router test split | **NOT RUN** | | Build a system-level end-to-end benchmark | **NOT RUN** | | Select a licence | **OPEN** | | Resolve the optical-SAR and change-VQA rulings | **OPEN** | | Plot the calibrated reliability curve | **NOT RUN** |