File size: 9,619 Bytes
dfe79b9
 
 
 
 
 
 
 
 
 
 
67d2633
 
 
dfe79b9
 
67d2633
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dfe79b9
67d2633
 
 
 
 
dfe79b9
 
67d2633
dfe79b9
 
 
 
 
 
 
 
 
67d2633
dfe79b9
 
 
 
 
 
 
 
 
 
67d2633
 
 
dfe79b9
 
67d2633
dfe79b9
 
 
 
 
 
 
 
 
 
 
 
67d2633
dfe79b9
 
 
 
 
 
 
 
 
 
 
67d2633
 
 
dfe79b9
67d2633
 
 
 
dfe79b9
 
 
 
 
 
 
 
67d2633
dfe79b9
 
 
 
 
67d2633
 
 
 
 
 
dfe79b9
 
 
 
 
67d2633
 
 
dfe79b9
 
 
 
 
 
 
 
67d2633
 
 
dfe79b9
 
 
 
 
 
 
67d2633
dfe79b9
 
 
 
 
 
 
 
 
 
 
 
 
67d2633
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
# 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, citable and reproducible: repository documentation, a
deep research/engineering documentation set, model documentation, a Hugging Face model release, a
curated public repository, and a verified evidence archive.

### Added

**Documentation**

- **Repository README** — motivation through citation, with the deployed topology, the six supported
  tasks, routing, the eight execution events, measured results, live validation, and known
  limitations.
- **Deep architecture reference** (hub + 10 chapters):
  | Chapter | Topic |
  |---|---|
  | `docs/ARCHITECTURE.md` | hub: thesis, sub-document index, cross-cutting principles |
  | `docs/architecture/01-system-overview.md` | thesis, component inventory, frozen-backbone strategy |
  | `docs/architecture/02-deployment-topology.md` | four tiers, gateway, tunnel, wake flow, cold start |
  | `docs/architecture/03-request-lifecycle.md` | the nine-state controller, validation, tiling |
  | `docs/architecture/04-router.md` | frozen MiniLM, the 5-head adapter, `interpret()` vs `chooseTask()`, lexical fallback |
  | `docs/architecture/05-specialists.md` | all six tasks in depth |
  | `docs/architecture/06-evidence-and-confidence.md` | evidence aggregation, temperature scaling, the eight events |
  | `docs/architecture/07-configuration-freeze.md` | the registry, enforced invariants, the config hash |
  | `docs/architecture/08-api-contract.md` | the four endpoints, envelopes, error codes |
  | `docs/architecture/09-frontend.md` | the static pages, real-vs-preview, platform traps |
  | `docs/architecture/10-observability-and-ops.md` | health, counters, traces, what is not observed |
- **Research documentation** — `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`, plus **generated** `models/manifest.json` and
  `models/checksums.sha256` (computed by reading the files, never typed).
- **Metric verification tooling** — `release/tools/verify_readme_metrics.py`, which walks every quoted
  metric to its source artifact. Result: **`ALL CLAIMS VERIFIED`** (20/20).

**Release**

- **Hugging Face release** of the six trained artifacts to `thundercode/SatQuery`, with a verification
  record (`HF_RELEASE_VERIFICATION.md`). Independent re-download confirmed **6/6 artifacts
  byte-identical**.
- **Curated public repository** at `Anish-lab-blip/SatQuery-AI` with `RELEASE_MANIFEST.md`.
- **Evidence archive** (ZIP64, `artifacts/` verbatim per owner decision G3) with an integrity-verified
  extraction and a documented remote location.

### 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`.
- **Metric-verifier dotted-path bug** — the resolver split the artifact key `"0.50"` on its own dot,
  producing a false `NOKEY` for the two grounding recall claims. Fixed to prefer the **longest**
  matching key at each step.

### 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`): the temporal slot in
  `interpret()` now derives from `changeStem` / `pairWording` / `newAsChange`; `built` was dropped as a
  change marker; the quantifier `area` was tightened to `\barea\b`.
- 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 the handoff.
- Prepared (but did not deploy) the B-07 backend patch.

---

## [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; recorded the `transport_mode: auto` fallthrough.

---

## [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 (mean best IoU −0.0147, t = −22.63).
- **Change**: STANet-style Siamese detector on LEVIR-CD-256 — the only `VERIFIED` headline metric
  (pooled IoU 0.8122 / macro IoU 0.8457 / pooled F1 0.8964).
- **Optical-SAR**: CROMA-base fusion head, armA/armB × seeds 100–104 sweep, pre-registered 115-class
  metric (accuracy 0.931 / macro-F1 0.434161, ruling `OPEN`).

---

## [0.6.0] — VLM adaptation

- SmolVLM-500M LoRA adapter trained (PEFT 0.19.1, r = 16, α = 32, dropout 0.05, fp16).
- Metrics usable (exact_match 0.963, F1 0.96432) 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 placed in the test split.
- Deterministic lexical fallback with ordered precedence and a `self_check()` against curated hard
  negatives.

---

## [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` / `Evidence`), 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** |
| Replace the illustrative benchmark adapter numbers with real runs | **NOT RUN** |

---

## Documentation inventory shipped in 1.0.0

| File | Purpose |
|---|---|
| `README.md` | repository front page |
| `MODEL_CARD.md` | model card for the six trained artifacts |
| `docs/ARCHITECTURE.md` + `docs/architecture/01…10` | the deep architecture reference |
| `docs/MODELS.md` | model detail, hyperparameters, acceptance status |
| `docs/BENCHMARKS.md` | every measured metric with its artifact and protocol |
| `docs/DATASETS.md` | dataset provenance, splits, leakage controls |
| `docs/TRAINING.md` | training procedures and hyperparameters |
| `docs/EVALUATION.md` | evaluation protocols and honesty rules |
| `docs/DEPLOYMENT.md` | live topology, env vars, mechanics, traps |
| `docs/REPRODUCIBILITY.md` | what can and cannot be reproduced |
| `docs/LIMITATIONS.md` | the full limitation catalogue |
| `docs/RESEARCH_NOTES.md` | engineering findings and negative results |
| `docs/CHANGELOG.md` | this file |
| `models/manifest.json`, `models/checksums.sha256` | generated artifact identities |