thundercode commited on
Commit
d452c40
·
verified ·
1 Parent(s): c2283ee

release: add docs/LIMITATIONS.md

Browse files
Files changed (1) hide show
  1. docs/LIMITATIONS.md +82 -0
docs/LIMITATIONS.md ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Limitations
2
+
3
+ An honest catalogue of everything this system does **not** do, does poorly, or does not know. Negative
4
+ results and open items are listed here rather than omitted.
5
+
6
+ **Status tags:** `OPEN` · `NOT RUN` · `REJECTED` · `DEFERRED` · `BY DESIGN`.
7
+
8
+ ---
9
+
10
+ ## 1. Model quality
11
+
12
+ | # | Limitation | Detail |
13
+ |---|---|---|
14
+ | 1 | **Grounding IoU is low in absolute terms** | mean best IoU 0.2838 (canonical) / 0.2566 (matched6). The trained head clearly beats the zero-shot baseline (0.0972), but 0.28 is not "solved". |
15
+ | 2 | **Grounding depends on the box convention** | Two protocols and two decode variants produce very different numbers (0.2838 vs 0.1215 argmax). Absolute values are protocol-sensitive. |
16
+ | 3 | **Optical-SAR accuracy is carried by common classes** | accuracy 0.931 but macro-F1 0.434161. 5 of 19 classes are absent in the scored split and contribute 0.0 to macro-F1 by construction. |
17
+ | 4 | **Change-VQA is weak on rare classes** | accuracy 0.697626 / macro-F1 0.378373 (and 0.651469 / 0.372309 on the second test set). |
18
+ | 5 | **VQA is weak-but-related** | the live VQA path answers broadly related content (e.g. "Grassland") rather than a crisp class. |
19
+ | 6 | **Optical-SAR returns a bare class index** | the live service returns `class_18`, not a human-readable label. |
20
+ | 7 | **Calibration made things worse** | ECE 0.013755 → 0.014929. Retained only because it is part of the frozen config. |
21
+ | 8 | **The VLM adapter is not accepted** | metrics usable (exact_match 0.963), but the artifact is acceptance-rejected; the deployed path uses the unadapted model. |
22
+ | 9 | **The router number is not a test result** | 0.965116 is validation, **ungated**, n = 86. The test split was **NOT RUN**. |
23
+
24
+ ## 2. Router residuals (known misroutes)
25
+
26
+ | # | Query | Behaviour | Note |
27
+ |---|---|---|---|
28
+ | 10 | *"What is the new runway?"* | reads `change`, not `vqa` | residual ambiguity — "new" triggers a change reading |
29
+ | 11 | *"How much built-up area was added?"* | reads `vqa` (under-trigger) | a change-style quantifier not caught by the router |
30
+ | 12 | *"What changed between the earlier and later image?"* with one asset | console **reads** `change`, **dispatches** `change_vqa` | intentional (asset-count-aware dispatch) but visually surprising — documented in [`ARCHITECTURE.md`](ARCHITECTURE.md) §4 |
31
+
32
+ ## 3. Evaluation gaps
33
+
34
+ | # | Gap | State |
35
+ |---|---|---|
36
+ | 13 | **No system-level end-to-end benchmark** | **NOT RUN — none exists.** No end-to-end accuracy is claimed. |
37
+ | 14 | **Router test split** | **NOT RUN** |
38
+ | 15 | **Benchmark adapters** | **NOT RUN** |
39
+ | 16 | **End-to-end latency benchmark** | **NOT RUN** (per-specialist latency only, incidentally) |
40
+ | 17 | **Cross-dataset generalisation** | **NOT RUN** — each specialist is evaluated on its own training-family split only |
41
+ | 18 | **Human evaluation** | **NOT RUN** |
42
+ | 19 | **Robustness / adversarial evaluation** | **NOT RUN** |
43
+ | 20 | **BigEarthNet label semantics** | the local subset is 100 % single-label vs the official 1–11 multi-label scheme, so metrics are **not comparable** to published numbers |
44
+ | 21 | **Reliability diagram** | the pre-scaling diagram is labelled as such; the calibrated curve is not plotted |
45
+
46
+ ## 4. Operational limitations
47
+
48
+ | # | Limitation | State |
49
+ |---|---|---|
50
+ | 22 | **B-07: transient tunnel gaps** | a request can hang or return 504. Patch prepared, **NOT deployed**. **OPEN** |
51
+ | 23 | **B-07 root shape** | in `auto` mode a tunnel timeout falls through to the forward path, burning `wake_timeout_s` (120 s) on a `302`; worst case ≈ 249 s. Measured. |
52
+ | 24 | **Cold start is tens of seconds** | Render free tier sleeps; the Codespace may be stopped. Documented, not hidden. |
53
+ | 25 | **B-02: `codespace_name` trailing newline** | cosmetic; the wake path strips it. **OPEN (cosmetic)** |
54
+ | 26 | **No database, auth, or queue** | stateless gateway by design — no persistence of runs or users. |
55
+ | 27 | **Deployment repos are private** | their links 404 for an outside audience. **BY DESIGN** |
56
+ | 28 | **`deploy/` in the monorepo is stale/untracked** | not the deployed source. Trap. |
57
+
58
+ ## 5. Packaging and licensing
59
+
60
+ | # | Limitation | State |
61
+ |---|---|---|
62
+ | 29 | **No `LICENSE` file** | none exists in the source repository. **OPEN** — a licence must be selected before public release of the code. |
63
+ | 30 | **Backbones are not redistributed** | fetched from the Hub at run time; their licences are their own. |
64
+ | 31 | **Artifact bloat** | `artifacts/` is ~3.7 GB, mostly reproducible caches, duplicate ZIPs and superseded checkpoints rather than released weights. |
65
+
66
+ ## 6. Documentation caveats
67
+
68
+ | # | Caveat | State |
69
+ |---|---|---|
70
+ | 32 | **`docs/FINAL_DELIVERY_REPORT.md` §6 is stale** | it still lists the bundled EO change pair as DEGRADED and B-01 as BLOCKED; both were resolved on 2026-09-25. |
71
+ | 33 | **The monorepo `README.md` was materially stale** | it described a hermetic frontend, an in-progress Render/Codespace, and a `/v1/*` contract. Superseded by this release's README. |
72
+ | 34 | **`hf/` docs were stale** | they asserted the project owns no weights and has no HF credentials. Both were false at release time. |
73
+ | 35 | **Anatomy plate image variant** | points at the 720×720 variant of an image the recorded run analysed at 730×730. Cosmetic. |
74
+
75
+ ## 7. Explicit non-claims
76
+
77
+ - **No claim of state-of-the-art performance** on any benchmark.
78
+ - **No claim of production readiness** for the model quality — the deployment runs, but the models
79
+ carry the limitations above.
80
+ - **No claim that the trained heads generalise** beyond their training-family test splits.
81
+ - **No claim that calibration improves confidence.**
82
+ - **No claim that the VLM adapter is accepted** for production use.