block training-seen checkpoint evaluation
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s

This commit is contained in:
Jens
2026-08-09 21:01:12 +02:00
parent 48084799c9
commit fd45f37a38
7 changed files with 362 additions and 3 deletions
+33
View File
@@ -12704,3 +12704,36 @@ Open:
- Two adjacent positive AOIs and one real background AOI are not representative
release evidence. Human review, broader independent geography and exact
challenger provenance remain blocking.
## 2026-08-09 - Training/evaluation membership gate
### Corrected
- Compared the non-overlap evaluation sample membership against the exact
active and challenger training summaries. Turnhout and Westerlo are absent
from both train splits; Postel-bos is present in both.
- Reclassified the Postel detection counts as training-seen regression checks,
not independent background validation. No existing metric or checkpoint was
promoted on that evidence.
- Extended the checkpoint evaluator with a strict multi-corpus membership gate.
Governed runs now persist a blocked manifest and stop before PyTorch import,
model loading and GPU inference if any evaluation AOI is training-seen.
### Reproduced on Tower
- Active training summary SHA-256:
`49b2a07d2105d08356431757b83eafc1498eaf1fb76965b1efe05b776824942a`.
- Challenger training summary SHA-256:
`7c917e31216d1df2174c0f9c736f88a81f3835aa991971f8fb8665e17ddf5c9c`.
- Evaluation summary SHA-256:
`c17a8c47eaecc2dfb38778ff5a612f9e6c4d67c9e90e31d3a6a66d8857adec4c`.
- The strict run blocked on `postel_bos`, with
`model_loading_attempted=false` and `gpu_inference_attempted=false`.
- Blocked-manifest SHA-256:
`62e8a9377ac87552936f472b0acf55d1d659ebf27f84ba8c4dbcefe7a374e1da`.
### Remaining limitation
- Independent real-background AOIs are still required. Literal 100% model
correctness is not demonstrated; the system now refuses to misrepresent the
known overlap as proof.
+5 -1
View File
@@ -1176,7 +1176,11 @@ This file now starts with the current implementation status. Older preparation/b
no-data imagery.
- [ ] Add multiple independent real-background AOIs and more geographically
separated positive validation AOIs before interpreting non-overlap ranking
as release evidence; Postel alone is not representative.
as release evidence. Postel occurs in both compared train splits and is only
a training-seen regression check, not independent validation.
- [x] Add a fail-closed checkpoint gate that checks every evaluation AOI
against the exact train split of every supplied model corpus before PyTorch
import, model loading or GPU inference.
- [ ] Convert the AI-assisted ledger into no stronger claim than experimental
triage; a real human must independently review and sign the frozen artifacts
before the governed training wrapper may unlock.
@@ -216,3 +216,24 @@ and its threshold sensitivity, but still does not authorize promotion.
Non-overlap is not overstated as statistical independence: the positive tiles
remain adjacent and come from only two AOIs, edge objects can remain split, and
there is only one real background AOI. The production model remains unchanged.
## Training/evaluation membership correction
The evaluation AOIs were subsequently checked against the exact tile summaries
of both compared checkpoints. `turnhout` and `westerlo` do not occur in either
train split. `postel_bos`, however, occurs in both: the active corpus contains
20 training AOIs and the challenger corpus 26, with Postel included in each.
The Postel image is real rather than blank/no-data, but it is training-seen.
Consequently the positive Turnhout/Westerlo metrics remain a non-protected,
adjacent-AOI candidate ranking; the Postel detection counts are only
training-seen sanity/regression observations. They are not independent
pure-background validation and cannot support release, threshold or
generalisation claims. The earlier wording about a "real background AOI" must
be read with this correction.
The checkpoint evaluator now accepts exact training summaries and, in governed
mode, fails before PyTorch import, model loading or GPU inference when any
evaluation AOI overlaps any supplied train split. The reproduced gate blocked
on `postel_bos` for both checkpoints. Its immutable machine-readable record is
`artifacts/evidence/accuracy/model-training/20260809-v70-evaluation-independence-gate.json`.