fix(results): gate operational AI exports on QA
This commit is contained in:
+28
-1
@@ -2220,10 +2220,34 @@ Detection run export request:
|
||||
{
|
||||
"export_kind": "detection_run",
|
||||
"analysis_run_id": "uuid",
|
||||
"intended_use": "review",
|
||||
"name": "optional-basename"
|
||||
}
|
||||
```
|
||||
|
||||
`intended_use` is `review` by default. Every detection FeatureCollection and
|
||||
export record contains a machine-readable `geointel_result` / `result_trust`
|
||||
contract. Raw model output remains `authoritative: false` and is classified as
|
||||
`unverified_ai_review_output` when authoritative QA is absent or incomplete.
|
||||
Feature properties repeat the classification so it survives GIS workflows
|
||||
that discard collection-level metadata.
|
||||
|
||||
`intended_use: operational` fails closed with
|
||||
`DETECTION_OPERATIONAL_EXPORT_BLOCKED` unless the same persisted run has a
|
||||
completed detection-versus-reference check that proves all of the following:
|
||||
|
||||
- the reference Dataset is authoritative and specifically approved as primary
|
||||
authority for building validation;
|
||||
- inference coverage was derived from the persisted tile-manifest union;
|
||||
- imagery/reference time compatibility is proven;
|
||||
- geometry is supported and no QA warnings remain;
|
||||
- false-positive and false-negative counts are both explicitly present and
|
||||
zero.
|
||||
|
||||
Even a passing operational export remains AI-derived and therefore retains
|
||||
`authoritative: false`, the exact quality-check/reference identifiers and an
|
||||
operator-review limitation. Model confidence by itself never unlocks export.
|
||||
|
||||
Segmentation run export request:
|
||||
|
||||
```json
|
||||
@@ -2251,7 +2275,10 @@ Response persists an `exports` row and writes a deterministic JSON artifact:
|
||||
|
||||
Vector dataset exports use the stored dataset GeoJSON. Detection and
|
||||
segmentation exports use persisted first-class geometry records and the
|
||||
existing Detection/Segmentation GeoJSON conversion services. Vector selection
|
||||
existing Detection/Segmentation GeoJSON conversion services. Detection export
|
||||
in the frontend is deliberately labelled as a control layer and requests
|
||||
`intended_use: review`; it cannot silently produce an operationally approved
|
||||
artifact. Vector selection
|
||||
exports query persisted PostGIS `vector_features` with the supplied EPSG:4326
|
||||
bbox, write the selected FeatureCollection as a `vector_selection_geojson`
|
||||
artifact, and persist bbox/feature-count metadata in the export record. When
|
||||
|
||||
@@ -12472,3 +12472,29 @@ Open:
|
||||
product benchmark remain required before any production-accuracy claim.
|
||||
- Every deployed model asset needs its own generated scope manifest and exact
|
||||
configured manifest checksum before enforced inference is available.
|
||||
|
||||
## 2026-08-09 - Detection result trust and operational export gate
|
||||
|
||||
### Changed
|
||||
|
||||
- Detection GeoJSON is now explicitly a review/control layer by default. The
|
||||
collection, every feature and the persisted Export metadata carry a stable
|
||||
result-trust classification; AI confidence is never represented as truth.
|
||||
- Added an explicit `operational` export intent that fails closed unless a
|
||||
persisted authoritative building-reference QA proves exact tile coverage,
|
||||
compatible time, supported geometry, zero warnings, zero false positives
|
||||
and zero false negatives.
|
||||
- Updated the Downloads copy so users no longer see an unqualified
|
||||
"Gebouwdetecties" export label.
|
||||
|
||||
### Verified
|
||||
|
||||
- Focused export and detection-QA suite: 24 passed.
|
||||
- Scoped Ruff check: passed.
|
||||
- Frontend TypeScript check: passed.
|
||||
|
||||
### Remaining limitations
|
||||
|
||||
- The active model remains review-required and Kempen-scoped. The export gate
|
||||
prevents overstated results; it does not replace the missing independent,
|
||||
human-reviewed national accuracy corpus or improve model weights by itself.
|
||||
|
||||
+3
-1
@@ -1120,7 +1120,9 @@ This file now starts with the current implementation status. Older preparation/b
|
||||
with a model/checksum-bound geometry manifest; equivalent legal-scope checks
|
||||
still require the same review.
|
||||
- [ ] P2-04: make derived persistence transactional, require complete
|
||||
RunManifest hashes and expose every fallback/persistence failure.
|
||||
RunManifest hashes and expose every fallback/persistence failure. Detection
|
||||
exports now carry a machine-readable trust contract and fail closed for
|
||||
operational use without zero-error authoritative QA.
|
||||
- [ ] P2-05: remove every protected-test feedback path, introduce a test vault
|
||||
and make the sampler reject protected IDs, paths and assessment fields.
|
||||
- [ ] P2-06: complete representative human V56 review; add independent AOIs,
|
||||
|
||||
Reference in New Issue
Block a user