Prepare GeoIntel for public release
Managed validation / Managed repository validation (pull_request) Successful in 1m46s
GeoIntel release gates / Compile, test, contracts and builds (pull_request) Successful in 1m51s
GeoIntel release gates / Python and npm vulnerability policy (pull_request) Successful in 20s
GeoIntel release gates / Production AI image, SBOM and container scan (pull_request) Successful in 15m3s
GeoIntel release gates / Deploy exact gated revision to Unraid (pull_request) Skipped

This commit is contained in:
Jens
2026-08-31 21:33:10 +02:00
parent dcd67b11d1
commit 2cdf9c99c6
195 changed files with 595 additions and 207595 deletions
-3
View File
@@ -1,3 +0,0 @@
# Local AI/import workspace. Never commit generated inputs, databases, archives or screenshots.
*
!.gitignore
+2 -21
View File
@@ -19,27 +19,8 @@ build/
# Local source-transfer archives; preserve them outside version control.
/frontend-src.tar.gz
# Large local data
/artifacts/*
!/artifacts/evidence/
/artifacts/evidence/*
!/artifacts/evidence/accuracy/
/artifacts/evidence/accuracy/*
!/artifacts/evidence/accuracy/P1/
!/artifacts/evidence/accuracy/P1/**
!/artifacts/evidence/accuracy/P3/
!/artifacts/evidence/accuracy/P3/**
!/artifacts/evidence/accuracy/P4/
/artifacts/evidence/accuracy/P4/*
!/artifacts/evidence/accuracy/P4/runs/
/artifacts/evidence/accuracy/P4/runs/*
!/artifacts/evidence/accuracy/P4/runs/p4-2.0.1-9677d0ef37db82bcf39b/
!/artifacts/evidence/accuracy/P4/runs/p4-2.0.1-9677d0ef37db82bcf39b/**
!/artifacts/evidence/accuracy/P2/
!/artifacts/evidence/accuracy/P2/**
!/artifacts/evidence/accuracy/model-training/
/artifacts/evidence/accuracy/model-training/*
!/artifacts/evidence/accuracy/model-training/20260830-independent-ai-visual-review.json
# Generated evidence, model output and operational snapshots stay outside Git.
/artifacts/
/.cache/
/datasets/raw/*
/datasets/processed/*
+13
View File
@@ -0,0 +1,13 @@
[extend]
useDefault = true
[[allowlists]]
description = "Public registry identifiers that resemble generic API keys"
regexTarget = "match"
regexes = [
'''key="population_density_2019"''',
'''source_key="inbo_bwk_natura2000"''',
'''product_key": "population_density_2019"''',
'''key="spw_flood_hazard_2021"''',
'''key="phase2-mutation"''',
]
+22 -3160
View File
File diff suppressed because it is too large Load Diff
+14 -36
View File
@@ -1,14 +1,5 @@
# GeoIntel
GeoIntel ondersteunt een gesynchroniseerde tweeschermwerkruimte: de kaart blijft
maximaal zichtbaar op het hoofdscherm terwijl analyses, kwaliteitsbewijs en
resultaten live in een tweede venster staan. Zie
[`docs/DUAL_DISPLAY_WORKFLOW.md`](docs/DUAL_DISPLAY_WORKFLOW.md).
De actieve `v1.0.0`-releasegrenzen en uitvoeringsvolgorde staan in
[`docs/RC_SCOPE_FREEZE_BELGIUM_NORTH_SEA.md`](docs/RC_SCOPE_FREEZE_BELGIUM_NORTH_SEA.md)
en [`docs/RC_ROADMAP_BELGIUM_NORTH_SEA.md`](docs/RC_ROADMAP_BELGIUM_NORTH_SEA.md).
<p align="center">
<img src="frontend/public/geointel-icon-180.png" width="92" alt="GeoIntel logo">
</p>
@@ -47,8 +38,8 @@ België plus de juridisch benoemde Belgische maritieme zones.
## Product in beeld
De onderstaande screenshots zijn rechtstreeks vastgelegd op de actuele
Unraid-productieomgeving. De gastmodus toont een projectgebonden demowerkruimte
De onderstaande screenshots tonen de huidige applicatie met publieke
demodata. De gastmodus toont een projectgebonden demowerkruimte
met dezelfde kaart-, bron-, model-, analyse-, QA- en exportflow als een
operator. Alleen beheer, instellingen, uploads, bronconfiguratie,
projectbeheer en evidence-review blijven afgeschermd.
@@ -173,10 +164,10 @@ Productie-AI gebruikt de NVIDIA GPU van de server. De runtime faalt gesloten
wanneer CUDA vereist maar niet beschikbaar is; ontbrekende modelconfiguratie
wordt als `not_configured` getoond en nooit als geslaagde inferentie.
De actuele productieproef draait met een CUDA-build van PyTorch op een NVIDIA
GeForce RTX 4080 SUPER. Corpus-, kalibratie-, test- en pure-background-gates
blijven gescheiden: een experimentele label- of modelvariant wordt pas actief
nadat alle toepasselijke kwaliteitscontroles slagen.
Corpus-, kalibratie-, test- en pure-background-gates blijven gescheiden: een
experimentele label- of modelvariant wordt pas actief nadat alle toepasselijke
kwaliteitscontroles slagen. Exacte runtime- en hardwaregegevens horen bij de
lokale deployment, niet bij de publieke broncode.
Controleer GPU-zichtbaarheid in de container met:
@@ -197,18 +188,11 @@ productresultaten blijft de taakgeschikte officiële bron doorslaggevend; een
AI-detectie is controleerbaar voorstelbewijs zolang een taakgebonden releasegate
niet aantoonbaar anders beslist.
De onafhankelijke AI-visuele hercontrole van 30 augustus 2026 vond nog
blokkerende referentiegeometrie, dense/nested labels, tile-edge-onduidelijkheid
en onvoldoende onafhankelijke pure-background/hard-negative dekking. Deze
controle is uitdrukkelijk geen menselijke acceptatie. Nieuwe training en
modelpromotie blijven daarom geblokkeerd; er wordt geen 100%-accuratieclaim
gemaakt.
Modelactivatie vereist naast het oudere diagnostische promotierapport ook een
geslaagd, governed Phase-4/5 release-gaterapport dat exact dezelfde candidate
key, model-SHA-256 en benchmarkmanifest-SHA-256 bindt. Zie
[de actuele accuracy-status](docs/accuracy-program/status.json) en het
[visuele reviewbewijs](artifacts/evidence/accuracy/model-training/20260830-independent-ai-visual-review.json).
[Accuracy, modelgrenzen en bewijs](docs/ACCURACY.md). Er wordt geen
100%-accuratieclaim gemaakt; modeloutput blijft controleerbaar voorstelbewijs.
## Portfolio case study
@@ -243,19 +227,12 @@ Een wijziging is pas afgerond wanneer de toepasselijke criteria uit
[docs/DEFINITION_OF_DONE.md](docs/DEFINITION_OF_DONE.md) aantoonbaar zijn
afgevinkt.
## Tower / Unraid deploy
## Unraid-deployment
De canonieke checkout op Tower staat in `/mnt/user/appdata/geointel`. Gebruik
de releasewrapper; de productiecontainer wordt niet met een alternatieve
Compose-checkout vervangen.
```powershell
powershell -ExecutionPolicy Bypass -File scripts/deploy_tower.ps1 `
-RemoteHost root@<tower-ip> `
-RemotePath /mnt/user/appdata/geointel `
-RemoteBranch main `
-FrontendUrl http://<tower-ip>:1202
```
De ondersteunde productieopstelling bundelt PostGIS, backend en frontend in één
Unraid-container. Kopieer de voorbeeldconfiguratie, vul de verplichte
authenticatie- en opslaginstellingen in en gebruik de releaseworkflow met
backup-, healthcheck- en rollbackcontrole.
Zie [deploy/unraid/README.md](deploy/unraid/README.md) en
[docs/RELEASE_RUNBOOK.md](docs/RELEASE_RUNBOOK.md) voor configuratie,
@@ -265,6 +242,7 @@ healthchecks en rollback.
- [Start hier](docs/00-start/START_HERE.md)
- [Belgium/North Sea scope freeze](docs/RC_SCOPE_FREEZE_BELGIUM_NORTH_SEA.md)
- [Actieve release-roadmap](docs/RC_ROADMAP_BELGIUM_NORTH_SEA.md)
- [API-contracten](docs/API_CONTRACTS.md)
- [Database-implementatieplan](docs/DATABASE_IMPLEMENTATION_PLAN.md)
- [Bekende beperkingen](docs/KNOWN_LIMITATIONS.md)
@@ -1,5 +0,0 @@
command=python -m alembic heads
exit_code=0
captured_at=2026-08-01T18:37:24.0020021+02:00
202607260001 (head)
@@ -1,500 +0,0 @@
-- command=python -m alembic upgrade head --sql
-- exit_code=0
-- captured_at=2026-08-01T18:37:24.0299035+02:00
BEGIN;
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Generating static SQL
INFO [alembic.runtime.migration] Will assume transactional DDL.
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL,
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
);
INFO [alembic.runtime.migration] Running upgrade -> 202601110001, Initial PostGIS schema for Sprint 1 foundation.
-- Running upgrade -> 202601110001
CREATE EXTENSION IF NOT EXISTS postgis;
CREATE EXTENSION IF NOT EXISTS postgis_topology;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE projects (
id UUID NOT NULL,
name TEXT NOT NULL,
description TEXT,
region TEXT DEFAULT 'Kempen' NOT NULL,
status TEXT DEFAULT 'active' NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
PRIMARY KEY (id)
);
CREATE TABLE areas (
id UUID NOT NULL,
project_id UUID NOT NULL,
name TEXT NOT NULL,
geometry geometry(MULTIPOLYGON,4326) NOT NULL,
original_crs TEXT,
area_m2 FLOAT,
bbox geometry(POLYGON,4326),
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
PRIMARY KEY (id),
FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE
);
CREATE INDEX idx_areas_geometry ON areas USING gist (geometry);
CREATE INDEX idx_areas_bbox ON areas USING gist (bbox);
CREATE TABLE datasets (
id UUID NOT NULL,
project_id UUID NOT NULL,
area_id UUID,
name TEXT NOT NULL,
dataset_type TEXT NOT NULL,
source TEXT NOT NULL,
storage_path TEXT,
derived_from_dataset_id UUID,
crs TEXT,
bounds_json JSON,
resolution_json JSON,
bands_json JSON,
metadata_json JSON,
status TEXT DEFAULT 'created' NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
PRIMARY KEY (id),
FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE,
FOREIGN KEY(area_id) REFERENCES areas (id) ON DELETE SET NULL,
FOREIGN KEY(derived_from_dataset_id) REFERENCES datasets (id) ON DELETE SET NULL
);
CREATE TABLE dataset_versions (
id UUID NOT NULL,
dataset_id UUID NOT NULL,
version INTEGER DEFAULT '1' NOT NULL,
storage_path TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
PRIMARY KEY (id),
FOREIGN KEY(dataset_id) REFERENCES datasets (id) ON DELETE CASCADE
);
CREATE TABLE analysis_runs (
id UUID NOT NULL,
project_id UUID NOT NULL,
area_id UUID,
analysis_type TEXT NOT NULL,
status TEXT NOT NULL,
parameters_json JSON NOT NULL,
started_at TIMESTAMP WITH TIME ZONE,
finished_at TIMESTAMP WITH TIME ZONE,
error_message TEXT,
PRIMARY KEY (id),
FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE,
FOREIGN KEY(area_id) REFERENCES areas (id) ON DELETE SET NULL
);
CREATE TABLE exports (
id UUID NOT NULL,
project_id UUID NOT NULL,
analysis_run_id UUID,
export_type TEXT NOT NULL,
storage_path TEXT NOT NULL,
metadata_json JSON,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
PRIMARY KEY (id),
FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE,
FOREIGN KEY(analysis_run_id) REFERENCES analysis_runs (id) ON DELETE SET NULL
);
CREATE INDEX ix_areas_geometry ON areas USING gist (geometry);
CREATE INDEX ix_areas_project_id ON areas (project_id);
CREATE INDEX ix_datasets_project_id ON datasets (project_id);
INSERT INTO alembic_version (version_num) VALUES ('202601110001') RETURNING alembic_version.version_num;
INFO [alembic.runtime.migration] Running upgrade 202601110001 -> 202601120001, Add dataset storage metadata columns.
-- Running upgrade 202601110001 -> 202601120001
ALTER TABLE datasets ADD COLUMN original_filename TEXT;
ALTER TABLE datasets ADD COLUMN stored_filename TEXT;
ALTER TABLE datasets ADD COLUMN content_type TEXT;
ALTER TABLE datasets ADD COLUMN size_bytes INTEGER;
ALTER TABLE datasets ADD COLUMN checksum_sha256 TEXT;
ALTER TABLE datasets ALTER COLUMN status SET DEFAULT 'uploaded';
UPDATE alembic_version SET version_num='202601120001' WHERE alembic_version.version_num = '202601110001';
INFO [alembic.runtime.migration] Running upgrade 202601120001 -> 20260611212435, Add lightweight job table for sprint-3 async architecture foundation.
-- Running upgrade 202601120001 -> 20260611212435
CREATE TABLE jobs (
id UUID NOT NULL,
job_type TEXT NOT NULL,
status TEXT DEFAULT 'queued' NOT NULL,
project_id UUID NOT NULL,
dataset_id UUID,
input_dataset_id UUID,
output_dataset_id UUID,
parameters_json JSON NOT NULL,
result_json JSON,
error_message TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
started_at TIMESTAMP WITH TIME ZONE,
finished_at TIMESTAMP WITH TIME ZONE,
PRIMARY KEY (id),
FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE,
FOREIGN KEY(dataset_id) REFERENCES datasets (id) ON DELETE SET NULL,
FOREIGN KEY(input_dataset_id) REFERENCES datasets (id) ON DELETE SET NULL,
FOREIGN KEY(output_dataset_id) REFERENCES datasets (id) ON DELETE SET NULL
);
CREATE INDEX ix_jobs_project_id ON jobs (project_id);
CREATE INDEX ix_jobs_status ON jobs (status);
UPDATE alembic_version SET version_num='20260611212435' WHERE alembic_version.version_num = '202601120001';
INFO [alembic.runtime.migration] Running upgrade 20260611212435 -> 202606120001, Add dataset reference and provenance metadata columns.
-- Running upgrade 20260611212435 -> 202606120001
ALTER TABLE datasets ADD COLUMN dataset_role TEXT DEFAULT 'source' NOT NULL;
ALTER TABLE datasets ADD COLUMN source_name TEXT;
ALTER TABLE datasets ADD COLUMN reference_layer_name TEXT;
ALTER TABLE datasets ADD COLUMN source_metadata JSON;
ALTER TABLE datasets ADD COLUMN provenance_metadata JSON;
ALTER TABLE datasets ADD COLUMN imported_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() NOT NULL;
UPDATE alembic_version SET version_num='202606120001' WHERE alembic_version.version_num = '20260611212435';
INFO [alembic.runtime.migration] Running upgrade 202606120001 -> 202606120700, Add Sprint 7A vector feature and QA persistence foundation.
-- Running upgrade 202606120001 -> 202606120700
CREATE TABLE vector_features (
id UUID NOT NULL,
dataset_id UUID NOT NULL,
feature_class TEXT,
source_feature_id TEXT,
properties_json JSON,
geometry geometry(GEOMETRY,4326) NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
PRIMARY KEY (id),
FOREIGN KEY(dataset_id) REFERENCES datasets (id) ON DELETE CASCADE
);
CREATE INDEX ix_vector_features_dataset_id ON vector_features (dataset_id);
CREATE INDEX ix_vector_features_geometry ON vector_features USING gist (geometry);
CREATE TABLE quality_checks (
id UUID NOT NULL,
project_id UUID NOT NULL,
job_id UUID,
analysis_run_id UUID,
candidate_dataset_id UUID,
reference_dataset_id UUID NOT NULL,
check_type TEXT NOT NULL,
status TEXT NOT NULL,
score FLOAT,
parameters_json JSON,
findings_json JSON,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
completed_at TIMESTAMP WITH TIME ZONE,
PRIMARY KEY (id),
FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE,
FOREIGN KEY(job_id) REFERENCES jobs (id) ON DELETE SET NULL,
FOREIGN KEY(analysis_run_id) REFERENCES analysis_runs (id) ON DELETE SET NULL,
FOREIGN KEY(candidate_dataset_id) REFERENCES datasets (id) ON DELETE SET NULL,
FOREIGN KEY(reference_dataset_id) REFERENCES datasets (id) ON DELETE CASCADE
);
CREATE INDEX ix_quality_checks_project_id ON quality_checks (project_id);
CREATE INDEX ix_quality_checks_reference_dataset_id ON quality_checks (reference_dataset_id);
CREATE INDEX ix_quality_checks_candidate_dataset_id ON quality_checks (candidate_dataset_id);
CREATE INDEX ix_quality_checks_analysis_run_id ON quality_checks (analysis_run_id);
CREATE TABLE metrics (
id UUID NOT NULL,
quality_check_id UUID,
analysis_run_id UUID,
metric_key TEXT NOT NULL,
metric_value FLOAT,
metric_unit TEXT,
label TEXT,
metadata_json JSON,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
PRIMARY KEY (id),
FOREIGN KEY(quality_check_id) REFERENCES quality_checks (id) ON DELETE CASCADE,
FOREIGN KEY(analysis_run_id) REFERENCES analysis_runs (id) ON DELETE SET NULL
);
CREATE INDEX ix_metrics_quality_check_id ON metrics (quality_check_id);
CREATE INDEX ix_metrics_analysis_run_id ON metrics (analysis_run_id);
UPDATE alembic_version SET version_num='202606120700' WHERE alembic_version.version_num = '202606120001';
INFO [alembic.runtime.migration] Running upgrade 202606120700 -> 202606120800, Add Sprint 8 detection foundation.
-- Running upgrade 202606120700 -> 202606120800
ALTER TABLE analysis_runs ADD COLUMN dataset_id UUID;
ALTER TABLE analysis_runs ADD FOREIGN KEY(dataset_id) REFERENCES datasets (id) ON DELETE SET NULL;
ALTER TABLE analysis_runs ADD COLUMN job_id UUID;
ALTER TABLE analysis_runs ADD FOREIGN KEY(job_id) REFERENCES jobs (id) ON DELETE SET NULL;
ALTER TABLE analysis_runs ADD COLUMN model_name VARCHAR(255);
ALTER TABLE analysis_runs ADD COLUMN model_version VARCHAR(120);
ALTER TABLE analysis_runs ADD COLUMN result_json JSON;
ALTER TABLE analysis_runs ADD COLUMN created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() NOT NULL;
CREATE TABLE detections (
id UUID NOT NULL,
project_id UUID NOT NULL,
dataset_id UUID,
analysis_run_id UUID,
job_id UUID,
model_name VARCHAR(255) NOT NULL,
model_version VARCHAR(120),
class_name VARCHAR(120) NOT NULL,
confidence FLOAT NOT NULL,
geometry geometry(GEOMETRY,4326) NOT NULL,
bbox_json JSON,
source_tile_path VARCHAR(500),
properties_json JSON,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE,
FOREIGN KEY(dataset_id) REFERENCES datasets (id) ON DELETE SET NULL,
FOREIGN KEY(analysis_run_id) REFERENCES analysis_runs (id) ON DELETE SET NULL,
FOREIGN KEY(job_id) REFERENCES jobs (id) ON DELETE SET NULL
);
CREATE INDEX ix_detections_project_id ON detections (project_id);
CREATE INDEX ix_detections_dataset_id ON detections (dataset_id);
CREATE INDEX ix_detections_analysis_run_id ON detections (analysis_run_id);
CREATE INDEX ix_detections_class_name ON detections (class_name);
CREATE INDEX ix_detections_geometry ON detections USING gist (geometry);
UPDATE alembic_version SET version_num='202606120800' WHERE alembic_version.version_num = '202606120700';
INFO [alembic.runtime.migration] Running upgrade 202606120800 -> 202606120900, Add Sprint 9 segmentation foundation.
-- Running upgrade 202606120800 -> 202606120900
CREATE TABLE segmentations (
id UUID NOT NULL,
project_id UUID NOT NULL,
dataset_id UUID,
job_id UUID,
analysis_run_id UUID,
model_name VARCHAR(255) NOT NULL,
model_version VARCHAR(120),
class_name VARCHAR(120) NOT NULL,
confidence FLOAT,
geometry geometry(MULTIPOLYGON,4326) NOT NULL,
bbox_json JSON,
area_m2 FLOAT,
mask_path TEXT,
source_tile_path VARCHAR(500),
tile_index INTEGER,
properties_json JSON,
provenance_json JSON,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE,
FOREIGN KEY(dataset_id) REFERENCES datasets (id) ON DELETE SET NULL,
FOREIGN KEY(job_id) REFERENCES jobs (id) ON DELETE SET NULL,
FOREIGN KEY(analysis_run_id) REFERENCES analysis_runs (id) ON DELETE SET NULL
);
CREATE INDEX ix_segmentations_project_id ON segmentations (project_id);
CREATE INDEX ix_segmentations_dataset_id ON segmentations (dataset_id);
CREATE INDEX ix_segmentations_analysis_run_id ON segmentations (analysis_run_id);
CREATE INDEX ix_segmentations_job_id ON segmentations (job_id);
CREATE INDEX ix_segmentations_class_name ON segmentations (class_name);
CREATE INDEX ix_segmentations_geometry ON segmentations USING gist (geometry);
UPDATE alembic_version SET version_num='202606120900' WHERE alembic_version.version_num = '202606120800';
INFO [alembic.runtime.migration] Running upgrade 202606120900 -> 202607140001, Add temporal dataset metadata and durable dataset-version provenance.
-- Running upgrade 202606120900 -> 202607140001
ALTER TABLE datasets ADD COLUMN temporal_series_key VARCHAR(255);
ALTER TABLE datasets ADD COLUMN observed_at TIMESTAMP WITH TIME ZONE;
ALTER TABLE datasets ADD COLUMN valid_from TIMESTAMP WITH TIME ZONE;
ALTER TABLE datasets ADD COLUMN valid_to TIMESTAMP WITH TIME ZONE;
ALTER TABLE datasets ADD COLUMN temporal_granularity VARCHAR(32);
ALTER TABLE datasets ADD COLUMN source_version VARCHAR(120);
ALTER TABLE dataset_versions ADD COLUMN source_version VARCHAR(120);
ALTER TABLE dataset_versions ADD COLUMN observed_at TIMESTAMP WITH TIME ZONE;
ALTER TABLE dataset_versions ADD COLUMN valid_from TIMESTAMP WITH TIME ZONE;
ALTER TABLE dataset_versions ADD COLUMN valid_to TIMESTAMP WITH TIME ZONE;
ALTER TABLE dataset_versions ADD COLUMN checksum_sha256 VARCHAR(64);
ALTER TABLE dataset_versions ADD COLUMN source_metadata JSON;
ALTER TABLE dataset_versions ADD COLUMN provenance_metadata JSON;
CREATE INDEX ix_datasets_project_temporal_series_observed ON datasets (project_id, temporal_series_key, observed_at);
CREATE UNIQUE INDEX ix_dataset_versions_dataset_version ON dataset_versions (dataset_id, version);
CREATE INDEX ix_vector_features_dataset_source_feature ON vector_features (dataset_id, source_feature_id);
ALTER TABLE datasets ADD CONSTRAINT ck_datasets_temporal_valid_range CHECK (valid_to IS NULL OR valid_from IS NULL OR valid_to >= valid_from);
ALTER TABLE dataset_versions ADD CONSTRAINT ck_dataset_versions_temporal_valid_range CHECK (valid_to IS NULL OR valid_from IS NULL OR valid_to >= valid_from);
UPDATE alembic_version SET version_num='202607140001' WHERE alembic_version.version_num = '202606120900';
INFO [alembic.runtime.migration] Running upgrade 202607140001 -> 202607150001, Add durable operator review decisions for detection QA evidence.
-- Running upgrade 202607140001 -> 202607150001
CREATE TABLE detection_reviews (
id UUID NOT NULL,
project_id UUID NOT NULL,
quality_check_id UUID NOT NULL,
analysis_run_id UUID,
evidence_role VARCHAR(32) NOT NULL,
evidence_feature_id VARCHAR(255) NOT NULL,
detection_id UUID,
reference_feature_id UUID,
decision VARCHAR(64) DEFAULT 'unreviewed' NOT NULL,
notes TEXT,
reviewed_by VARCHAR(120) DEFAULT 'operator' NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT now() NOT NULL,
updated_at TIMESTAMP WITH TIME ZONE DEFAULT now() NOT NULL,
PRIMARY KEY (id),
CONSTRAINT ck_detection_reviews_evidence_role CHECK (evidence_role IN ('false_positive', 'false_negative')),
CONSTRAINT ck_detection_reviews_decision CHECK (decision IN ('confirmed_model_false_positive', 'confirmed_model_false_negative', 'reference_gap_or_change', 'qa_alignment_mismatch', 'imagery_obscured_or_uncertain', 'uncertain', 'unreviewed')),
FOREIGN KEY(analysis_run_id) REFERENCES analysis_runs (id) ON DELETE SET NULL,
FOREIGN KEY(detection_id) REFERENCES detections (id) ON DELETE SET NULL,
FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE,
FOREIGN KEY(quality_check_id) REFERENCES quality_checks (id) ON DELETE CASCADE,
FOREIGN KEY(reference_feature_id) REFERENCES vector_features (id) ON DELETE SET NULL,
CONSTRAINT uq_detection_reviews_evidence UNIQUE (quality_check_id, evidence_role, evidence_feature_id)
);
CREATE INDEX ix_detection_reviews_project_id ON detection_reviews (project_id);
CREATE INDEX ix_detection_reviews_quality_check_id ON detection_reviews (quality_check_id);
CREATE INDEX ix_detection_reviews_analysis_run_id ON detection_reviews (analysis_run_id);
CREATE INDEX ix_detection_reviews_decision ON detection_reviews (decision);
UPDATE alembic_version SET version_num='202607150001' WHERE alembic_version.version_num = '202607140001';
INFO [alembic.runtime.migration] Running upgrade 202607150001 -> 202607160001, Index partitioned vector features by dataset and municipality.
-- Running upgrade 202607150001 -> 202607160001
CREATE INDEX ix_vector_features_dataset_municipality ON vector_features (dataset_id, (properties_json ->> 'municipality'));
UPDATE alembic_version SET version_num='202607160001' WHERE alembic_version.version_num = '202607150001';
INFO [alembic.runtime.migration] Running upgrade 202607160001 -> 202607260001, Add resumable AOI parent and partition operations.
-- Running upgrade 202607160001 -> 202607260001
CREATE TABLE aoi_operations (
id UUID NOT NULL,
project_id UUID NOT NULL,
area_id UUID,
parent_job_id UUID,
operation_type VARCHAR(128) NOT NULL,
status VARCHAR(32) NOT NULL,
geometry geometry(MULTIPOLYGON,4326) NOT NULL,
request_json JSON NOT NULL,
plan_json JSON NOT NULL,
result_json JSON,
error_message TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT now(),
started_at TIMESTAMP WITH TIME ZONE,
finished_at TIMESTAMP WITH TIME ZONE,
updated_at TIMESTAMP WITH TIME ZONE DEFAULT now(),
PRIMARY KEY (id),
CONSTRAINT ck_aoi_operations_status CHECK (status IN ('queued', 'running', 'partial', 'success', 'failed', 'cancelled')),
FOREIGN KEY(project_id) REFERENCES projects (id) ON DELETE CASCADE,
FOREIGN KEY(area_id) REFERENCES areas (id) ON DELETE SET NULL,
FOREIGN KEY(parent_job_id) REFERENCES jobs (id) ON DELETE SET NULL
);
CREATE INDEX ix_aoi_operations_project_status ON aoi_operations (project_id, status);
CREATE INDEX ix_aoi_operations_geometry ON aoi_operations USING gist (geometry);
CREATE TABLE aoi_operation_partitions (
id UUID NOT NULL,
operation_id UUID NOT NULL,
child_job_id UUID,
partition_key VARCHAR(255) NOT NULL,
provider_key VARCHAR(120) NOT NULL,
product_key VARCHAR(120) NOT NULL,
ordinal INTEGER NOT NULL,
status VARCHAR(32) NOT NULL,
geometry geometry(MULTIPOLYGON,4326) NOT NULL,
attempt_count INTEGER DEFAULT '0' NOT NULL,
max_attempts INTEGER DEFAULT '3' NOT NULL,
checkpoint_json JSON,
result_json JSON,
error_message TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT now(),
started_at TIMESTAMP WITH TIME ZONE,
finished_at TIMESTAMP WITH TIME ZONE,
updated_at TIMESTAMP WITH TIME ZONE DEFAULT now(),
PRIMARY KEY (id),
CONSTRAINT ck_aoi_operation_partitions_status CHECK (status IN ('queued', 'running', 'success', 'failed', 'skipped')),
CONSTRAINT uq_aoi_operation_partition_key UNIQUE (operation_id, partition_key),
FOREIGN KEY(operation_id) REFERENCES aoi_operations (id) ON DELETE CASCADE,
FOREIGN KEY(child_job_id) REFERENCES jobs (id) ON DELETE SET NULL
);
CREATE INDEX ix_aoi_operation_partitions_operation_status ON aoi_operation_partitions (operation_id, status);
CREATE INDEX ix_aoi_operation_partitions_geometry ON aoi_operation_partitions USING gist (geometry);
UPDATE alembic_version SET version_num='202607260001' WHERE alembic_version.version_num = '202607160001';
COMMIT;
@@ -1,28 +0,0 @@
workdir=backend
command=python -m pytest -W error::DeprecationWarning
exit_code=2
captured_at=2026-08-01T18:33:34.1591431+02:00
============================= test session starts =============================
platform win32 -- Python 3.13.2, pytest-8.4.0, pluggy-1.6.0
rootdir: C:\Projects\geointel\backend
configfile: pyproject.toml
plugins: asyncio-1.0.0, cov-6.3.0, anyio-4.12.1
asyncio: mode=Mode.STRICT, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
collected 1194 items / 1 error
=================================== ERRORS ====================================
__________ ERROR collecting tests/test_operator_polygon_label_qa.py ___________
ImportError while importing test module 'C:\Projects\geointel\backend\tests\test_operator_polygon_label_qa.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
C:\Program Files\Python313\Lib\importlib\__init__.py:88: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests\test_operator_polygon_label_qa.py:1: in <module>
from scripts.render_operator_polygon_label_qa import geometry_rings
E ModuleNotFoundError: No module named 'scripts.render_operator_polygon_label_qa'
=========================== short test summary info ===========================
ERROR tests/test_operator_polygon_label_qa.py
!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 5.69s ===============================
File diff suppressed because one or more lines are too long
@@ -1,325 +0,0 @@
command=python -m pytest backend/tests -q -p no:cacheprovider -W error::DeprecationWarning --junitxml=artifacts/evidence/accuracy/P1/backend-full-suite.junit.xml
exit_code=1
captured_at=2026-08-01T18:32:02.4460806+02:00
........................................................................ [ 6%]
........................................................................ [ 12%]
.........................................F..........F..................F [ 18%]
..................F..................................................... [ 24%]
.........F.............................................................. [ 30%]
........................................................................ [ 36%]
.....F.F.......................................FF....................... [ 42%]
........................................................................ [ 48%]
..F..................................................................... [ 54%]
........................................................................ [ 60%]
.......F................................................................ [ 66%]
........................................................................ [ 72%]
........................................FFFF...........F................ [ 78%]
...............................................F........................ [ 84%]
........................................................................ [ 90%]
........................................................................ [ 96%]
............................................. [100%]
================================== FAILURES ===================================
_ test_frontend_prefers_materialized_national_workspace_and_resolves_drawn_bbox _
def test_frontend_prefers_materialized_national_workspace_and_resolves_drawn_bbox() -> None:
root = Path(__file__).parents[2]
focus = (root / "frontend" / "src" / "config" / "primaryFocus.ts").read_text(encoding="utf-8")
workspace_hook = (root / "frontend" / "src" / "hooks" / "useProjectWorkspace.ts").read_text(encoding="utf-8")
coverage_hook = (root / "frontend" / "src" / "hooks" / "useCoverageResolver.ts").read_text(encoding="utf-8")
map_workspace = (root / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx").read_text(encoding="utf-8")
assert "Belgium and North Sea Workbench" in focus
assert "nationalProject" in workspace_hook
assert "return nationalProject.id" in workspace_hook
assert "NATIONAL_WORKSPACE_REGION" in workspace_hook
assert "externalApi.resolveCoverage" in coverage_hook
assert "coverage.outside_supported_scope" in map_workspace
assert "coverageStatusLabel" in map_workspace
> assert "coverageSelectionAvailable" in map_workspace
E assert 'coverageSelectionAvailable' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_rc4_national_coverage.py:432: AssertionError
____ test_runtime_configuration_is_validated_before_container_replacement _____
def test_runtime_configuration_is_validated_before_container_replacement() -> None:
run_script = (ROOT / "deploy" / "unraid" / "run-dockerman-container.sh").read_text(encoding="utf-8")
validation_index = run_script.index("validate_runtime_config")
> replacement_index = run_script.index("docker compose down")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E ValueError: substring not found
backend\tests\test_rc5_release_deployment.py:65: ValueError
___________ test_rc9_loading_and_accessibility_states_are_explicit ____________
def test_rc9_loading_and_accessibility_states_are_explicit() -> None:
app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8")
map_workspace = (
ROOT / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx"
).read_text(encoding="utf-8")
geo_map = (ROOT / "frontend" / "src" / "components" / "GeoMap.tsx").read_text(
encoding="utf-8"
)
assert "workspaceDataLoading" in app
assert 'role="status" aria-live="polite"' in app
assert "Databronnen worden gecontroleerd" in map_workspace
> assert "Beschikbaarheid controleren" in map_workspace
E assert 'Beschikbaarheid controleren' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_rc9_ux_release_contract.py:33: AssertionError
___________ test_all_in_one_deploy_embeds_immutable_build_identity ____________
def test_all_in_one_deploy_embeds_immutable_build_identity() -> None:
dockerfile = (ROOT / "deploy" / "unraid" / "Dockerfile.all-in-one").read_text(encoding="utf-8")
release_script = (ROOT / "deploy" / "unraid" / "deploy-release.sh").read_text(encoding="utf-8")
deploy_powershell = (ROOT / "scripts" / "deploy_tower.ps1").read_text(encoding="utf-8")
deploy_shell = (ROOT / "scripts" / "deploy_tower.sh").read_text(encoding="utf-8")
assert "ARG GEOINTEL_BUILD_SHA=unknown" in dockerfile
assert 'GEOINTEL_BUILD_SHA="${GEOINTEL_BUILD_SHA}"' in dockerfile
assert 'GEOINTEL_BUILD_TIME="${GEOINTEL_BUILD_TIME}"' in dockerfile
assert 'org.opencontainers.image.revision="${GEOINTEL_BUILD_SHA}"' in dockerfile
> assert 'GEOINTEL_BUILD_SHA="$(git rev-parse HEAD)"' in release_script
E assert 'GEOINTEL_BUILD_SHA="$(git rev-parse HEAD)"' in '#!/usr/bin/env bash\nset -euo pipefail\n\nROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"\ncd "$ROOT"\n\nG...ge.revision"}} created={{index .Config.Labels "org.opencontainers.image.created"}}\' \\\n "$GEOINTEL_RELEASE_IMAGE"\n'
backend\tests\test_rc_runtime_observability.py:47: AssertionError
_____________ test_frontend_exposes_map_bbox_selection_contracts ______________
def test_frontend_exposes_map_bbox_selection_contracts() -> None:
api_client = (ROOT / "frontend" / "src" / "services" / "api" / "datasets.ts").read_text(encoding="utf-8")
map_workspace = (ROOT / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx").read_text(encoding="utf-8")
geomap = (ROOT / "frontend" / "src" / "components" / "GeoMap.tsx").read_text(encoding="utf-8")
app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8")
extract_hook = (ROOT / "frontend" / "src" / "hooks" / "useMapSelectionExtract.ts").read_text(encoding="utf-8")
theme_hook = (ROOT / "frontend" / "src" / "hooks" / "useMapThemeSelectionInsights.ts").read_text(encoding="utf-8")
assert "selectVectorFeatures" in api_client
assert "Area selection" in map_workspace
assert "Teken rechthoek" in map_workspace
assert "Objecten in gebied ophalen" in map_workspace
assert "Gebiedsdownload bewaren" in map_workspace
assert "bboxSelectionMode" in geomap
assert "selection-bbox" in geomap
assert "selection-result" in geomap
assert "useMapSelectionExtract" in app
assert "area_id: areaId" in extract_hook
assert "area_id: areaId" in theme_hook
> assert "analyzeSelection(selectedAreaBbox, selectedMapArea?.id)" in map_workspace
E assert 'analyzeSelection(selectedAreaBbox, selectedMapArea?.id)' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_sprint106_map_bbox_extract.py:356: AssertionError
______ test_frontend_declares_national_scope_as_primary_operating_focus _______
def test_frontend_declares_national_scope_as_primary_operating_focus() -> None:
focus = (ROOT / "frontend" / "src" / "config" / "primaryFocus.ts").read_text(
encoding="utf-8"
)
project_hook = (ROOT / "frontend" / "src" / "hooks" / "useProjectWorkspace.ts").read_text(
encoding="utf-8"
)
map_source = (ROOT / "frontend" / "src" / "components" / "GeoMap.tsx").read_text(
encoding="utf-8"
)
navigation = (
ROOT
/ "frontend"
/ "src"
/ "components"
/ "shell"
/ "WorkbenchNavigation.tsx"
).read_text(encoding="utf-8")
assert "NATIONAL_WORKSPACE_PROJECT_NAME = 'Belgium and North Sea Workbench'" in focus
assert "NATIONAL_WORKSPACE_REGION = 'Belgie en Belgische Noordzee'" in focus
assert "NATIONAL_MAP_CENTER" in focus
assert "return nationalProject.id" in project_hook
assert "hasMappedAnalysisContext(data)" in project_hook
assert "dataset.dataset_type === 'raster'" in project_hook
assert "dataset.dataset_type === 'vector' || dataset.dataset_type === 'geojson'" in project_hook
assert "PRIMARY_FOCUS_AREA_NAME" not in project_hook
assert "PRIMARY_FOCUS_AREA_GEOJSON" not in project_hook
assert "center: NATIONAL_MAP_CENTER" in map_source
assert "zoom: NATIONAL_MAP_ZOOM" in map_source
assert "GeoIntel" in navigation
> assert "Atlas Workbench" in navigation
E AssertionError: assert 'Atlas Workbench' in 'import {\n Activity,\n Bot,\n Database,\n Download,\n Map,\n ScanSearch,\n Settings,\n ShieldCheck,\n type L... )\n })}\n </div>\n ))}\n </nav>\n <ItWorxSignature />\n </aside>\n )\n}\n'
backend\tests\test_sprint177_mol_primary_focus.py:38: AssertionError
______ test_product_docs_record_national_scope_and_mol_regression_focus _______
def test_product_docs_record_national_scope_and_mol_regression_focus() -> None:
readme = (ROOT / "README.md").read_text(encoding="utf-8")
vision = (ROOT / "docs" / "PRODUCT_VISION.md").read_text(encoding="utf-8")
> assert "Belgium and the Belgian North Sea" in readme
E assert 'Belgium and the Belgian North Sea' in '# GeoIntel\n\n<p align="center">\n <img src="frontend/public/geointel-icon.png" width="92" alt="GeoIntel logo">\n</p...\n\nActieve mijlpaal: **v1.0.0 Belgium and Belgian North Sea**.\n\nGeoIntel is een project van Jens / ITWorx.tech.\n'
backend\tests\test_sprint177_mol_primary_focus.py:62: AssertionError
_____________ test_map_first_explorer_is_the_default_product_flow _____________
def test_map_first_explorer_is_the_default_product_flow() -> None:
app = read("frontend/src/App.tsx")
workspace = read("frontend/src/components/map/MapWorkspace.tsx")
assert "useState<WorkspaceKey>('map')" in app
assert "Gebied analyseren" in workspace
> assert "<h3>Focus op de kaart <small>optioneel</small></h3>" in workspace
E assert '<h3>Focus op de kaart <small>optioneel</small></h3>' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_sprint186_map_first_geographic_explorer.py:19: AssertionError
___________ test_map_rectangle_drag_is_wired_to_automatic_analysis ____________
def test_map_rectangle_drag_is_wired_to_automatic_analysis() -> None:
workspace = read("frontend/src/components/map/MapWorkspace.tsx")
geomap = read("frontend/src/components/GeoMap.tsx")
styles = read("frontend/src/styles/app.css")
assert "onMapBboxPreview={handleMapBboxPreview}" in workspace
assert "onMapBboxSelect={handleMapBboxSelect}" in workspace
assert "void analyzeSelection(bbox, areaIdForSelection(bbox))" in workspace
assert "const areaIdForSelection" in workspace
assert "bbox && selectedMapArea ? selectedMapArea.id : undefined" in workspace
> assert "void analyzeSelection(selectedAreaBbox, selectedMapArea?.id)" in workspace
E assert 'void analyzeSelection(selectedAreaBbox, selectedMapArea?.id)' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_sprint186_map_first_geographic_explorer.py:44: AssertionError
__ test_evolution_theme_catalog_distinguishes_history_from_current_only_data __
def test_evolution_theme_catalog_distinguishes_history_from_current_only_data() -> None:
workspace = read("frontend/src/components/map/MapWorkspace.tsx")
assert "analysisMode === 'current'" in workspace
> assert "Boolean(dataset || onDemandProduct)" in workspace
E assert 'Boolean(dataset || onDemandProduct)' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_sprint200_temporal_explorer_handoff.py:25: AssertionError
_____ test_regional_map_uses_logical_partition_groups_and_exact_analysis ______
def test_regional_map_uses_logical_partition_groups_and_exact_analysis() -> None:
app = (ROOT / "frontend/src/App.tsx").read_text(encoding="utf-8")
workspace = (ROOT / "frontend/src/components/map/MapWorkspace.tsx").read_text(encoding="utf-8")
hook = (ROOT / "frontend/src/hooks/useMapThemeSelectionInsights.ts").read_text(encoding="utf-8")
api = (ROOT / "frontend/src/services/api/datasets.ts").read_text(encoding="utf-8")
assert "regionalScopeSelected" in workspace
assert "rasterPartitionsForDataset" in workspace
assert "imageOverlays={activeImageOverlays}" in workspace
> assert "de juiste gemeentelijke rasters worden automatisch gecombineerd" in workspace
E assert 'de juiste gemeentelijke rasters worden automatisch gecombineerd' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_sprint219_regional_raster_explorer.py:30: AssertionError
___ test_frontend_uses_partitioned_bathymetry_selection_for_regional_scope ____
def test_frontend_uses_partitioned_bathymetry_selection_for_regional_scope() -> None:
app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8")
index = (ROOT / "frontend" / "index.html").read_text(encoding="utf-8")
focus = (
ROOT / "frontend" / "src" / "config" / "primaryFocus.ts"
).read_text(encoding="utf-8")
map_workspace = (
ROOT / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx"
).read_text(encoding="utf-8")
theme_hook = (
ROOT / "frontend" / "src" / "hooks" / "useMapThemeSelectionInsights.ts"
).read_text(encoding="utf-8")
dataset_api = (
ROOT / "frontend" / "src" / "services" / "api" / "datasets.ts"
).read_text(encoding="utf-8")
assert "isPartitionedBathymetry" in map_workspace
assert "regionalPartitionedThemeActive" in map_workspace
> assert "datasetAvailabilityLabel(dataset, partitions)" in map_workspace
E assert 'datasetAvailabilityLabel(dataset, partitions)' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_sprint236_bathymetry_expansion.py:478: AssertionError
____ test_flanders_workspace_exposes_governed_thematic_products_on_demand _____
def test_flanders_workspace_exposes_governed_thematic_products_on_demand() -> None:
workspace = read("frontend/src/components/map/MapWorkspace.tsx")
product_hook = read("frontend/src/hooks/useOfficialMapProducts.ts")
selection_hook = read("frontend/src/hooks/useMapThemeSelectionInsights.ts")
api = read("frontend/src/services/api/datasets.ts")
assert "activeScopeProject?.name === FLANDERS_WORKSPACE_PROJECT_NAME" in workspace
assert "new Map<DataThemeId, OnDemandMapProduct>" in workspace
> assert "'Automatisch'" in workspace
E assert "'Automatisch'" in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_sprint237_flanders_thematic_on_demand.py:19: AssertionError
________ test_selection_reads_and_bounded_acquires_all_relevant_themes ________
def test_selection_reads_and_bounded_acquires_all_relevant_themes() -> None:
workspace = read("frontend/src/components/map/MapWorkspace.tsx")
app = read("frontend/src/App.tsx")
selection_hook = read("frontend/src/hooks/useMapThemeSelectionInsights.ts")
> assert "for (const theme of [activeTheme])" in workspace
E assert 'for (const theme of [activeTheme])' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_sprint237_flanders_thematic_on_demand.py:37: AssertionError
______ test_regional_on_demand_sources_require_a_bounded_drawn_selection ______
def test_regional_on_demand_sources_require_a_bounded_drawn_selection() -> None:
workspace = read("frontend/src/components/map/MapWorkspace.tsx")
assert "regionalOnDemandThemeActive" in workspace
> assert "regionalRasterThemeActive || regionalOnDemandThemeActive" in workspace
E assert 'regionalRasterThemeActive || regionalOnDemandThemeActive' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_sprint237_flanders_thematic_on_demand.py:56: AssertionError
_____ test_grb_frontend_and_contracts_use_only_the_governed_backend_path ______
def test_grb_frontend_and_contracts_use_only_the_governed_backend_path() -> None:
selection_hook = (ROOT / "frontend/src/hooks/useMapThemeSelectionInsights.ts").read_text(encoding="utf-8")
catalog_hook = (ROOT / "frontend/src/hooks/useOfficialMapProducts.ts").read_text(encoding="utf-8")
workspace = (ROOT / "frontend/src/components/map/MapWorkspace.tsx").read_text(encoding="utf-8")
contracts = (ROOT / "docs/API_CONTRACTS.md").read_text(encoding="utf-8")
assert "datasetsApi.acquireGrb" in selection_hook
assert "datasetsApi.listGrbProducts" in catalog_hook
assert "officialMapProducts.grb" in workspace
assert "result[product.key] = null" in workspace
assert ": onDemandThemeActive\n ? null\n : mapFeatureCollection" in workspace
assert "onSetContextLayerLabel" in workspace
> assert "'Automatisch'" in workspace
E assert "'Automatisch'" in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.</p>\n )}\n </div>\n </div>\n </details>\n </div>\n </section>\n )\n}\n"
backend\tests\test_sprint239_bounded_grb_acquisition.py:394: AssertionError
__________ test_app_entrypoint_has_clean_encoding_and_react_imports ___________
def test_app_entrypoint_has_clean_encoding_and_react_imports() -> None:
app_path = ROOT / "frontend" / "src" / "App.tsx"
app_bytes = app_path.read_bytes()
app = app_path.read_text(encoding="utf-8")
assert not app_bytes.startswith(b"\xef\xbb\xbf")
assert "import { useEffect, useMemo, useRef, useState } from 'react'" in app
assert "FormEvent" not in app
> assert app.count("useEffect(") == 1
E assert 3 == 1
E + where 3 = <built-in method count of str object at 0x000001FED98D8C30>('useEffect(')
E + where <built-in method count of str object at 0x000001FED98D8C30> = "import { useEffect, useMemo, useRef, useState } from 'react'\nimport { CircleAlert, LogOut, ShieldCheck, UserRound } ...ator' : 'open')}\n loggingOut={loggingOut}\n onLogout={handleLogout}\n />\n )\n}\n\nexport default App\n".count
backend\tests\test_sprint39_frontend_orchestration_hooks.py:40: AssertionError
- generated xml file: C:\Projects\geointel\artifacts\evidence\accuracy\P1\backend-full-suite.junit.xml -
=========================== short test summary info ===========================
FAILED backend\tests\test_rc4_national_coverage.py::test_frontend_prefers_materialized_national_workspace_and_resolves_drawn_bbox
FAILED backend\tests\test_rc5_release_deployment.py::test_runtime_configuration_is_validated_before_container_replacement
FAILED backend\tests\test_rc9_ux_release_contract.py::test_rc9_loading_and_accessibility_states_are_explicit
FAILED backend\tests\test_rc_runtime_observability.py::test_all_in_one_deploy_embeds_immutable_build_identity
FAILED backend\tests\test_sprint106_map_bbox_extract.py::test_frontend_exposes_map_bbox_selection_contracts
FAILED backend\tests\test_sprint177_mol_primary_focus.py::test_frontend_declares_national_scope_as_primary_operating_focus
FAILED backend\tests\test_sprint177_mol_primary_focus.py::test_product_docs_record_national_scope_and_mol_regression_focus
FAILED backend\tests\test_sprint186_map_first_geographic_explorer.py::test_map_first_explorer_is_the_default_product_flow
FAILED backend\tests\test_sprint186_map_first_geographic_explorer.py::test_map_rectangle_drag_is_wired_to_automatic_analysis
FAILED backend\tests\test_sprint200_temporal_explorer_handoff.py::test_evolution_theme_catalog_distinguishes_history_from_current_only_data
FAILED backend\tests\test_sprint219_regional_raster_explorer.py::test_regional_map_uses_logical_partition_groups_and_exact_analysis
FAILED backend\tests\test_sprint236_bathymetry_expansion.py::test_frontend_uses_partitioned_bathymetry_selection_for_regional_scope
FAILED backend\tests\test_sprint237_flanders_thematic_on_demand.py::test_flanders_workspace_exposes_governed_thematic_products_on_demand
FAILED backend\tests\test_sprint237_flanders_thematic_on_demand.py::test_selection_reads_and_bounded_acquires_all_relevant_themes
FAILED backend\tests\test_sprint237_flanders_thematic_on_demand.py::test_regional_on_demand_sources_require_a_bounded_drawn_selection
FAILED backend\tests\test_sprint239_bounded_grb_acquisition.py::test_grb_frontend_and_contracts_use_only_the_governed_backend_path
FAILED backend\tests\test_sprint39_frontend_orchestration_hooks.py::test_app_entrypoint_has_clean_encoding_and_react_imports
17 failed, 1180 passed in 70.63s (0:01:10)
@@ -1,266 +0,0 @@
# Phase 1 command and result ledger
Captured: 2026-08-01
Audited repository baseline: `0c019bb22f816db1e4b7a68379bcad08924d9a21`
Branch: `codex/geointel-accuracy-program`
This ledger records the commands and claim boundaries behind the retained
evidence. JSON, JUnit, SQL and full text logs in this directory are the source
of truth when this summary and a raw artifact differ.
## Repository and static inventory
```powershell
python scripts/run_accuracy_phase1_baseline.py --output-dir artifacts/evidence/accuracy/P1
```
Result: completed. The baseline found 2,495 tracked files, including a tracked
`geointel/` mirror with 1,153 files; 68 paired files differ from root. No model
checkpoint is tracked in the local checkout. The mirror is excluded by the root
`.dockerignore`; the residual risk is source/import/maintenance ambiguity, not
official all-in-one build-context inclusion.
Evidence:
- `phase1-baseline-summary.json`
- `repository-inventory.json`
- `local-artifact-inventory.json`
- `static-risk-signals.json`
## Deterministic contract reproductions
```powershell
python scripts/reproduce_accuracy_phase1_findings.py
```
Result: 7 of 7 expected violations reproduced. They cover cross-theme coverage
contamination, metres-as-degrees buffering, Lambert-as-4326 persistence,
caller-spoofed source authority, mutable-name model scope, mutable-name legal
scope and silently ignored Area PATCH geometry.
Evidence: `forensic-reproductions.json`.
## Tower runtime, database and storage references
The collector was streamed into the running `geointel` container and executed
with read-only SQL and a 30-second statement timeout:
```text
docker exec -i geointel env PYTHONPATH=/app/backend python -
```
Result:
- Python 3.11.2, PyTorch 2.11.0+cu128, CUDA 12.8, Ultralytics 8.4.99;
- NVIDIA GeForce RTX 4080 SUPER visible on `cuda:0`;
- Alembic head `202607260001`;
- 5,816 direct database storage references checked, 0 missing;
- four Geel detections contain Lambert-domain coordinates while the geometry
column reports SRID 4326;
- no database or storage row was modified.
A broader recursive `audit_data_operations.py` storage scan was stopped by its
244-second execution timeout and produced no retained result. It is not counted
as a pass. The bounded, direct-reference collector above completed and is the
only storage-completeness claim made here.
Evidence:
- `tower-runtime-database-snapshot.json`
- `tower-runtime-database-snapshot-detailed.json`
## Real GPU inference smoke
The read-only collector used the production `YoloDetectionAdapter`, the active
model and one existing Geel tile:
```text
python - --model-path /app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt \
--tile-path /app/storage/tiles/cb80638d-dbef-48ac-b19c-cec7c3efc96e/ae0ff76d-70c0-404f-b777-54d14517179a/b191c968-7d56-4e0d-afbb-8b5baaa62470/tile_0000.tif \
--manifest-path /app/storage/tiles/cb80638d-dbef-48ac-b19c-cec7c3efc96e/ae0ff76d-70c0-404f-b777-54d14517179a/b191c968-7d56-4e0d-afbb-8b5baaa62470/manifest.json \
--confidence 0.5 --image-size 640 --max-detections 1000 --device cuda:0 --seed 20260801
```
Result: passed; 17 raw building detections; 0.883694486 s synchronized
inference; model SHA-256
`a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1`.
Claim boundary: this proves one runtime execution. It does not prove that any
box is correct, that confidence is calibrated, or that the model generalizes.
Evidence: `tower-gpu-inference-smoke.json`.
## ML/data-lineage inventory
The bounded collector read V56/V58/V62/V66 plus model, checkpoint, report and
manifest metadata from the mounted Tower volume:
```text
docker exec -i geointel python - --app-root /app
```
Result:
- 26 model assets, 229 training checkpoints, 424 training JSON reports and
36 operator manifests inventoried;
- V56 has 180 AOIs and 0 completed human reviews;
- three pure-empty background-test AOIs: Flanders 2, Wallonia 1, Brussels 0;
- zero exact cross-split raster-hash duplicates;
- bounded 64-bit dHash screen: 180 rasters, minimum Hamming distance 17,
zero cross-split pairs at or below 4;
- minimum cross-split AOI bbox distance 95.720336 m and 24 pairs below 2 km;
- V58/V62 evidence is calibration-only; at threshold 0.15 aggregate F1 is
0.512905 while Flanders recall and F1 are 0;
- no protected-test, background-test promotion or national-release evidence.
Claim boundary: exact/dHash and bbox-distance screens do not establish
municipality, flight-strip, instance, semantic or imagery-edition independence.
Evidence: `tower-ml-data-lineage-snapshot.json` and
`tower-key-artifact-hashes.json` (V62 best/last checkpoints and V56 tile audit).
## Backend tests
### Full root-context suite
```powershell
$env:PYTHONPATH='C:\Projects\geointel\backend;C:\Projects\geointel'
python -m pytest backend/tests -q -p no:cacheprovider \
-W error::DeprecationWarning \
--junitxml=artifacts/evidence/accuracy/P1/backend-full-suite.junit.xml
```
Result: exit 1; 1,180 passed and 17 failed in 70.63 seconds. The 17 failures are
stale source/contract assertions, including expectations that conflict with the
new explicit user-selected model flow. They remain release-blocking until
replaced with reviewed behavior tests.
Evidence:
- `backend-full-suite.txt`
- `backend-full-suite.junit.xml`
### Actual backend CI working directory
```powershell
cd backend
python -m pytest -W error::DeprecationWarning
```
Result: exit 2 during collection; 1,194 items collected plus one import error:
```text
ModuleNotFoundError: No module named 'scripts.render_operator_polygon_label_qa'
```
Evidence: `backend-ci-entrypoint.txt`.
### Phase 1 tooling
```powershell
python -m pytest tests/test_accuracy_phase1_baseline.py -q -p no:cacheprovider
```
Result: 4 passed.
Evidence: `phase1-tooling-tests.txt`.
## Lint
```powershell
python -m ruff check scripts/collect_accuracy_phase1_inference_smoke.py \
scripts/collect_accuracy_phase1_ml_lineage.py \
scripts/collect_accuracy_phase1_runtime.py \
scripts/reproduce_accuracy_phase1_findings.py \
scripts/run_accuracy_phase1_baseline.py tests/test_accuracy_phase1_baseline.py
```
Result: all new Phase 1 code passed.
```powershell
python -m ruff check backend scripts tests
```
Result: exit 1; 112 findings: E402 13, E701 2, E702 69, F401 23, F403 1,
F811 2 and F841 2.
Evidence:
- `repository-ruff-baseline.txt`
- `repository-ruff-baseline.json`
## Frontend
```powershell
cd frontend
npm run test:unit
npm run typecheck
npm run build
```
Results:
- Vitest: 16 files, 51 tests passed;
- TypeScript typecheck: passed;
- production build: passed, 1,896 modules transformed.
The attempted generic `npm test -- --run` failed because no `test` script
exists; the configured command is `test:unit`. The test strategy also calls
for lint, but `npm run lint` fails with `Missing script: "lint"`.
Evidence:
- `frontend-vitest.txt` (failed non-existent generic command, retained)
- `frontend-vitest-unit.txt` (correct configured command, passed)
- `frontend-typecheck.txt`
- `frontend-build.txt`
- `frontend-lint.txt`
## API, migrations and golden QA
```powershell
python scripts/audit_api_contracts.py
```
Result: 147 implemented routes match documentation; 10 explicitly tracked
non-envelope endpoints.
Evidence: `openapi-contract-audit.txt`.
```powershell
cd backend
python -m alembic heads
python -m alembic upgrade head --sql
```
Result: one head, `202607260001`; complete offline upgrade rendered 496 SQL/log
lines. This is not a local live-PostGIS migration test.
Evidence:
- `alembic-heads.txt`
- `alembic-offline-upgrade.sql`
```powershell
python scripts/run_golden_qa_benchmark.py --json
```
Result: two runs have semantically identical metric results but different file
hashes because run identities use UUID4.
Evidence:
- `golden-qa-run-1.json`
- `golden-qa-run-2.json`
- `golden-qa-reproducibility.json`
## Explicitly not executed as a success gate
- no protected test or background-test portfolio was opened;
- no training, calibration fitting, checkpoint promotion or active-model change;
- no label was accepted on behalf of a human reviewer;
- no production database migration or data repair;
- no dataset, checkpoint, cache, output or user-owned untracked file deleted,
rewritten or moved;
- no segmentation, SAM or solar asset was inferred to be production-ready from
file presence.
@@ -1,284 +0,0 @@
{
"audited_repository_head": "0e3c1b20e931941c346da08f6fa8847e674bdadb",
"claim_boundary": "This manifest proves retained-file identity and completeness. It does not establish model accuracy, human label acceptance, split independence or release readiness.",
"evidence_file_count": 29,
"evidence_files": [
{
"path": "artifacts/evidence/accuracy/P1/alembic-heads.txt",
"role": "execution_log",
"sha256": "da4521233c6718fc7a5865c53904e73685fbdce65a1449b19cd0dc2e40d037ed",
"size_bytes": 116
},
{
"path": "artifacts/evidence/accuracy/P1/alembic-offline-upgrade.sql",
"role": "migration_evidence",
"sha256": "e8905b881890cf95885a7515e3d9dcf2a7a0a24c4edbc57e98a363edcb22dd0e",
"size_bytes": 20199
},
{
"path": "artifacts/evidence/accuracy/P1/backend-ci-entrypoint.txt",
"role": "execution_log",
"sha256": "0ac774ec19b4ff0a15142aab5f1db68c2592a230401d794ae7d040320e3ac0c0",
"size_bytes": 1601
},
{
"path": "artifacts/evidence/accuracy/P1/backend-full-suite.junit.xml",
"role": "test_report",
"sha256": "a01d0b5b6974d7ed184f46e8e35ac3b06c9a5db565e45e140b5f799819396b08",
"size_bytes": 207086
},
{
"path": "artifacts/evidence/accuracy/P1/backend-full-suite.txt",
"role": "execution_log",
"sha256": "8521ed48b17b382752418750b3ea374831958fb063e83ef87048212e0fd5ea69",
"size_bytes": 23972
},
{
"path": "artifacts/evidence/accuracy/P1/commands-and-results.md",
"role": "execution_log",
"sha256": "451d4cfc2d6d67937411b23192d9418ef6721af678aed1b0d5cb82113d82efc5",
"size_bytes": 8427
},
{
"path": "artifacts/evidence/accuracy/P1/evidence-manifest.json",
"role": "structured_inventory",
"sha256": "1145e43ace4ed326f3138571189d580e416b280ded4354b148904b20603e1913",
"size_bytes": 10713
},
{
"path": "artifacts/evidence/accuracy/P1/forensic-reproductions.json",
"role": "defect_reproduction",
"sha256": "f6349199a15ae789092d3d65c17a39a9b32ea3ed557571c0c228c4be3cf7235e",
"size_bytes": 3533
},
{
"path": "artifacts/evidence/accuracy/P1/frontend-build.txt",
"role": "execution_log",
"sha256": "c3b8e10ef177ac1c2dc045bd710df1caeb46f8922a721291be431b304abbc079",
"size_bytes": 2356
},
{
"path": "artifacts/evidence/accuracy/P1/frontend-lint.txt",
"role": "lint_evidence",
"sha256": "1115b013515c753e2dfb73abdad9024aec7b4c2337d117c7e1181341fef15c7f",
"size_bytes": 418
},
{
"path": "artifacts/evidence/accuracy/P1/frontend-typecheck.txt",
"role": "execution_log",
"sha256": "3891c85c77b5ff50a1eb6d27a2a65d40c2c05423768734efd9d980f3784d68fa",
"size_bytes": 163
},
{
"path": "artifacts/evidence/accuracy/P1/frontend-vitest-unit.txt",
"role": "test_evidence",
"sha256": "6341bfa51ca3f4fe5ec7d4af7239c3c5e1a29e6bfe8bdfae85e824a2a6482ad0",
"size_bytes": 2774
},
{
"path": "artifacts/evidence/accuracy/P1/frontend-vitest.txt",
"role": "test_evidence",
"sha256": "8a84afa48cc59e473725ed105a3f88da24f001cdcb794d942ede2ab8f0d48e48",
"size_bytes": 333
},
{
"path": "artifacts/evidence/accuracy/P1/golden-qa-reproducibility.json",
"role": "test_evidence",
"sha256": "576e5667a989c34086db3a2bc57003115a8a61b14e9f49f5407ee380baf0829d",
"size_bytes": 505
},
{
"path": "artifacts/evidence/accuracy/P1/golden-qa-run-1.json",
"role": "test_evidence",
"sha256": "ec96862b024987b59e56579920361582e718126b07885732335ac1b4d51b61bc",
"size_bytes": 5242
},
{
"path": "artifacts/evidence/accuracy/P1/golden-qa-run-2.json",
"role": "test_evidence",
"sha256": "4f900711a706dd56dd16b368e261761051f6d52a38bfd421e7d1c5f66ee51e49",
"size_bytes": 5242
},
{
"path": "artifacts/evidence/accuracy/P1/local-artifact-inventory.json",
"role": "structured_inventory",
"sha256": "0e187dbf3e91ee8e35567d6c8cd6e1cadfa6275d5908b829253491f3804adf7d",
"size_bytes": 75535
},
{
"path": "artifacts/evidence/accuracy/P1/openapi-contract-audit.txt",
"role": "execution_log",
"sha256": "5af3d8f00be3f57fc309bc198fa3995d1eae7270a5f210b3e94d1aeeb653119d",
"size_bytes": 212
},
{
"path": "artifacts/evidence/accuracy/P1/phase1-baseline-summary.json",
"role": "structured_inventory",
"sha256": "7d5960df64bdd4fb9b9d9d7a93de5f9cfd770f4dcf21454899345afe3ab12342",
"size_bytes": 1143
},
{
"path": "artifacts/evidence/accuracy/P1/phase1-tooling-tests.txt",
"role": "test_evidence",
"sha256": "a9bf261e1a811ad3e8bfa8edc439a11f00b46bc157f9ab6fc970033a87f45748",
"size_bytes": 250
},
{
"path": "artifacts/evidence/accuracy/P1/repository-inventory.json",
"role": "structured_inventory",
"sha256": "07fa9356f298f9fe360e2e362ce9f3d558a9a66544fed3a5567cd9a5666451c7",
"size_bytes": 27695
},
{
"path": "artifacts/evidence/accuracy/P1/repository-ruff-baseline.json",
"role": "lint_evidence",
"sha256": "de6617f030e49550e714c49b6e14bf291bf85016fd58086e9ca38b33a52252e9",
"size_bytes": 59359
},
{
"path": "artifacts/evidence/accuracy/P1/repository-ruff-baseline.txt",
"role": "lint_evidence",
"sha256": "cd654cea65710167beff8307cb71533fb645f25247ef46e7adc421bd520c9191",
"size_bytes": 57870
},
{
"path": "artifacts/evidence/accuracy/P1/static-risk-signals.json",
"role": "structured_inventory",
"sha256": "729f0a5d3eece61be8e26d44b5dfa29c6cbf21eb16b8694a2d4dc45c94720757",
"size_bytes": 22467
},
{
"path": "artifacts/evidence/accuracy/P1/tower-gpu-inference-smoke.json",
"role": "runtime_evidence",
"sha256": "692a9fa193d589123b042110d7e80755f0c6634854f3134c291fc6083adb7b77",
"size_bytes": 5675
},
{
"path": "artifacts/evidence/accuracy/P1/tower-key-artifact-hashes.json",
"role": "structured_inventory",
"sha256": "4d88d350604b377682da4d928c37ffb00ea1a32d2690d9b2bd54117363930414",
"size_bytes": 949
},
{
"path": "artifacts/evidence/accuracy/P1/tower-ml-data-lineage-snapshot.json",
"role": "lineage_evidence",
"sha256": "d80275e8198ce63366d2a2d44eb8fba1f27c29d85aaaaedb94991d8c56febfb6",
"size_bytes": 71659
},
{
"path": "artifacts/evidence/accuracy/P1/tower-runtime-database-snapshot-detailed.json",
"role": "runtime_evidence",
"sha256": "744389b6c384a9fb3a9e16e56f1477f3b752e11a5b98e1fad7df47b4703a9ca1",
"size_bytes": 14946
},
{
"path": "artifacts/evidence/accuracy/P1/tower-runtime-database-snapshot.json",
"role": "runtime_evidence",
"sha256": "aa7681d4a19ca20b7b442c509b3f56cb97bf239b2b5cc6a1fb1ca140d5320e9e",
"size_bytes": 10127
}
],
"evidence_root": "artifacts/evidence/accuracy/P1",
"evidence_total_bytes": 640567,
"generated_at": "2026-08-30T04:01:05.890308+00:00",
"program_file_count": 16,
"program_files": [
{
"path": "docs/accuracy-program/00-execution-contract.md",
"role": "phase1_program",
"sha256": "d6c71dbccbb1e1f3bda2835cf9f53c3a5a92c173e9136d5cfccf007ec2c28684",
"size_bytes": 8720
},
{
"path": "docs/accuracy-program/01-system-inventory.md",
"role": "phase1_program",
"sha256": "2b27c28ca06ab8e8a36f12cccc8df23d5e83894e39b8e33406e6a6c05092cf22",
"size_bytes": 15708
},
{
"path": "docs/accuracy-program/02-data-lineage.md",
"role": "phase1_program",
"sha256": "8af25f30d43863438678b3e867c9bf0a318cdac78e12c891254fb2570e2d9d1d",
"size_bytes": 20409
},
{
"path": "docs/accuracy-program/03-baseline-and-gaps.md",
"role": "phase1_program",
"sha256": "ad3c2aae2944443d0f5d09b5c415b6202109071a6f194bb8b09b7df30332e3b3",
"size_bytes": 21253
},
{
"path": "docs/accuracy-program/04-risk-register.md",
"role": "phase1_program",
"sha256": "f3c0d35b95fd180a391950c2a6c9339aa3e4ace0e8512affbd242d159ca1e574",
"size_bytes": 23851
},
{
"path": "docs/accuracy-program/05-metric-framework.md",
"role": "phase1_program",
"sha256": "18abfc21964b7d98848d8ae513afce242184980c9517c9184d40efd9165ea00d",
"size_bytes": 28053
},
{
"path": "docs/accuracy-program/06-implementation-roadmap.md",
"role": "phase1_program",
"sha256": "c76ffebee4a23796ff221e6d4c5b5138f99d55a8b1422e897058b12a78a29ad9",
"size_bytes": 23695
},
{
"path": "docs/accuracy-program/status.json",
"role": "phase1_program",
"sha256": "01a468bd9e796b23ee58dbadebb7800b5318d99e37497a694bb24835802f088d",
"size_bytes": 17224
},
{
"path": "scripts/build_accuracy_phase1_evidence_manifest.py",
"role": "phase1_program",
"sha256": "882a935b29f787fc11a9f7b528392c1727463be24adcb0cac47a09fdb69a8382",
"size_bytes": 5523
},
{
"path": "scripts/collect_accuracy_phase1_inference_smoke.py",
"role": "phase1_program",
"sha256": "6d81541b7aa83f3c03ba5320a8075892eee658905ee981ba727e59f3b1dc792a",
"size_bytes": 6756
},
{
"path": "scripts/collect_accuracy_phase1_ml_lineage.py",
"role": "phase1_program",
"sha256": "3b1d3e45d45f1d4ca1211d1b2c70d9d93e15abc3b3ecfbd2e8302f645d6db7e1",
"size_bytes": 14080
},
{
"path": "scripts/collect_accuracy_phase1_runtime.py",
"role": "phase1_program",
"sha256": "a907779306076dccdf7fcf45f554e4778f5fab0e59d6af55673322775a1f5b4f",
"size_bytes": 13387
},
{
"path": "scripts/reproduce_accuracy_phase1_findings.py",
"role": "phase1_program",
"sha256": "c0f34e6bcaf73dcdada6e5b529a2e8e2177b1e97ee039c586d6ae51bb743015f",
"size_bytes": 9447
},
{
"path": "scripts/run_accuracy_phase1_baseline.py",
"role": "phase1_program",
"sha256": "fcbd280245ccc598cab7ec5ca6448fbb350f7fa59aecc20177fdb0069c416643",
"size_bytes": 14498
},
{
"path": "scripts/verify_accuracy_phase1_evidence.py",
"role": "phase1_program",
"sha256": "fc72c315d26b8b7542fe01666aef56a8538d09090f2c0c877c4dd8a33c93e556",
"size_bytes": 4925
},
{
"path": "tests/test_accuracy_phase1_baseline.py",
"role": "phase1_program",
"sha256": "868f433b7de61e9ab3cd7aa9ad5bb2d29e8286afdcd68274ed290909ec605c7f",
"size_bytes": 3009
}
],
"schema_version": 1
}
@@ -1,278 +0,0 @@
{
"audited_repository_head": "3d442ef43fac0fdf1b86f3149c9b4c512830a39d",
"claim_boundary": "This manifest proves retained-file identity and completeness. It does not establish model accuracy, human label acceptance, split independence or release readiness.",
"evidence_file_count": 28,
"evidence_files": [
{
"path": "artifacts/evidence/accuracy/P1/alembic-heads.txt",
"role": "execution_log",
"sha256": "da4521233c6718fc7a5865c53904e73685fbdce65a1449b19cd0dc2e40d037ed",
"size_bytes": 116
},
{
"path": "artifacts/evidence/accuracy/P1/alembic-offline-upgrade.sql",
"role": "migration_evidence",
"sha256": "e8905b881890cf95885a7515e3d9dcf2a7a0a24c4edbc57e98a363edcb22dd0e",
"size_bytes": 20199
},
{
"path": "artifacts/evidence/accuracy/P1/backend-ci-entrypoint.txt",
"role": "execution_log",
"sha256": "0ac774ec19b4ff0a15142aab5f1db68c2592a230401d794ae7d040320e3ac0c0",
"size_bytes": 1601
},
{
"path": "artifacts/evidence/accuracy/P1/backend-full-suite.junit.xml",
"role": "test_report",
"sha256": "a01d0b5b6974d7ed184f46e8e35ac3b06c9a5db565e45e140b5f799819396b08",
"size_bytes": 207086
},
{
"path": "artifacts/evidence/accuracy/P1/backend-full-suite.txt",
"role": "execution_log",
"sha256": "8521ed48b17b382752418750b3ea374831958fb063e83ef87048212e0fd5ea69",
"size_bytes": 23972
},
{
"path": "artifacts/evidence/accuracy/P1/commands-and-results.md",
"role": "execution_log",
"sha256": "451d4cfc2d6d67937411b23192d9418ef6721af678aed1b0d5cb82113d82efc5",
"size_bytes": 8427
},
{
"path": "artifacts/evidence/accuracy/P1/forensic-reproductions.json",
"role": "defect_reproduction",
"sha256": "f6349199a15ae789092d3d65c17a39a9b32ea3ed557571c0c228c4be3cf7235e",
"size_bytes": 3533
},
{
"path": "artifacts/evidence/accuracy/P1/frontend-build.txt",
"role": "execution_log",
"sha256": "c3b8e10ef177ac1c2dc045bd710df1caeb46f8922a721291be431b304abbc079",
"size_bytes": 2356
},
{
"path": "artifacts/evidence/accuracy/P1/frontend-lint.txt",
"role": "lint_evidence",
"sha256": "1115b013515c753e2dfb73abdad9024aec7b4c2337d117c7e1181341fef15c7f",
"size_bytes": 418
},
{
"path": "artifacts/evidence/accuracy/P1/frontend-typecheck.txt",
"role": "execution_log",
"sha256": "3891c85c77b5ff50a1eb6d27a2a65d40c2c05423768734efd9d980f3784d68fa",
"size_bytes": 163
},
{
"path": "artifacts/evidence/accuracy/P1/frontend-vitest-unit.txt",
"role": "test_evidence",
"sha256": "6341bfa51ca3f4fe5ec7d4af7239c3c5e1a29e6bfe8bdfae85e824a2a6482ad0",
"size_bytes": 2774
},
{
"path": "artifacts/evidence/accuracy/P1/frontend-vitest.txt",
"role": "test_evidence",
"sha256": "8a84afa48cc59e473725ed105a3f88da24f001cdcb794d942ede2ab8f0d48e48",
"size_bytes": 333
},
{
"path": "artifacts/evidence/accuracy/P1/golden-qa-reproducibility.json",
"role": "test_evidence",
"sha256": "576e5667a989c34086db3a2bc57003115a8a61b14e9f49f5407ee380baf0829d",
"size_bytes": 505
},
{
"path": "artifacts/evidence/accuracy/P1/golden-qa-run-1.json",
"role": "test_evidence",
"sha256": "ec96862b024987b59e56579920361582e718126b07885732335ac1b4d51b61bc",
"size_bytes": 5242
},
{
"path": "artifacts/evidence/accuracy/P1/golden-qa-run-2.json",
"role": "test_evidence",
"sha256": "4f900711a706dd56dd16b368e261761051f6d52a38bfd421e7d1c5f66ee51e49",
"size_bytes": 5242
},
{
"path": "artifacts/evidence/accuracy/P1/local-artifact-inventory.json",
"role": "structured_inventory",
"sha256": "0e187dbf3e91ee8e35567d6c8cd6e1cadfa6275d5908b829253491f3804adf7d",
"size_bytes": 75535
},
{
"path": "artifacts/evidence/accuracy/P1/openapi-contract-audit.txt",
"role": "execution_log",
"sha256": "5af3d8f00be3f57fc309bc198fa3995d1eae7270a5f210b3e94d1aeeb653119d",
"size_bytes": 212
},
{
"path": "artifacts/evidence/accuracy/P1/phase1-baseline-summary.json",
"role": "structured_inventory",
"sha256": "7d5960df64bdd4fb9b9d9d7a93de5f9cfd770f4dcf21454899345afe3ab12342",
"size_bytes": 1143
},
{
"path": "artifacts/evidence/accuracy/P1/phase1-tooling-tests.txt",
"role": "test_evidence",
"sha256": "a9bf261e1a811ad3e8bfa8edc439a11f00b46bc157f9ab6fc970033a87f45748",
"size_bytes": 250
},
{
"path": "artifacts/evidence/accuracy/P1/repository-inventory.json",
"role": "structured_inventory",
"sha256": "07fa9356f298f9fe360e2e362ce9f3d558a9a66544fed3a5567cd9a5666451c7",
"size_bytes": 27695
},
{
"path": "artifacts/evidence/accuracy/P1/repository-ruff-baseline.json",
"role": "lint_evidence",
"sha256": "de6617f030e49550e714c49b6e14bf291bf85016fd58086e9ca38b33a52252e9",
"size_bytes": 59359
},
{
"path": "artifacts/evidence/accuracy/P1/repository-ruff-baseline.txt",
"role": "lint_evidence",
"sha256": "cd654cea65710167beff8307cb71533fb645f25247ef46e7adc421bd520c9191",
"size_bytes": 57870
},
{
"path": "artifacts/evidence/accuracy/P1/static-risk-signals.json",
"role": "structured_inventory",
"sha256": "729f0a5d3eece61be8e26d44b5dfa29c6cbf21eb16b8694a2d4dc45c94720757",
"size_bytes": 22467
},
{
"path": "artifacts/evidence/accuracy/P1/tower-gpu-inference-smoke.json",
"role": "runtime_evidence",
"sha256": "692a9fa193d589123b042110d7e80755f0c6634854f3134c291fc6083adb7b77",
"size_bytes": 5675
},
{
"path": "artifacts/evidence/accuracy/P1/tower-key-artifact-hashes.json",
"role": "structured_inventory",
"sha256": "4d88d350604b377682da4d928c37ffb00ea1a32d2690d9b2bd54117363930414",
"size_bytes": 949
},
{
"path": "artifacts/evidence/accuracy/P1/tower-ml-data-lineage-snapshot.json",
"role": "lineage_evidence",
"sha256": "d80275e8198ce63366d2a2d44eb8fba1f27c29d85aaaaedb94991d8c56febfb6",
"size_bytes": 71659
},
{
"path": "artifacts/evidence/accuracy/P1/tower-runtime-database-snapshot-detailed.json",
"role": "runtime_evidence",
"sha256": "744389b6c384a9fb3a9e16e56f1477f3b752e11a5b98e1fad7df47b4703a9ca1",
"size_bytes": 14946
},
{
"path": "artifacts/evidence/accuracy/P1/tower-runtime-database-snapshot.json",
"role": "runtime_evidence",
"sha256": "aa7681d4a19ca20b7b442c509b3f56cb97bf239b2b5cc6a1fb1ca140d5320e9e",
"size_bytes": 10127
}
],
"evidence_root": "artifacts/evidence/accuracy/P1",
"evidence_total_bytes": 629854,
"generated_at": "2026-08-01T17:00:31.742672+00:00",
"program_file_count": 16,
"program_files": [
{
"path": "docs/accuracy-program/00-execution-contract.md",
"role": "phase1_program",
"sha256": "d6c71dbccbb1e1f3bda2835cf9f53c3a5a92c173e9136d5cfccf007ec2c28684",
"size_bytes": 8720
},
{
"path": "docs/accuracy-program/01-system-inventory.md",
"role": "phase1_program",
"sha256": "2b27c28ca06ab8e8a36f12cccc8df23d5e83894e39b8e33406e6a6c05092cf22",
"size_bytes": 15708
},
{
"path": "docs/accuracy-program/02-data-lineage.md",
"role": "phase1_program",
"sha256": "8af25f30d43863438678b3e867c9bf0a318cdac78e12c891254fb2570e2d9d1d",
"size_bytes": 20409
},
{
"path": "docs/accuracy-program/03-baseline-and-gaps.md",
"role": "phase1_program",
"sha256": "ad3c2aae2944443d0f5d09b5c415b6202109071a6f194bb8b09b7df30332e3b3",
"size_bytes": 21253
},
{
"path": "docs/accuracy-program/04-risk-register.md",
"role": "phase1_program",
"sha256": "f3c0d35b95fd180a391950c2a6c9339aa3e4ace0e8512affbd242d159ca1e574",
"size_bytes": 23851
},
{
"path": "docs/accuracy-program/05-metric-framework.md",
"role": "phase1_program",
"sha256": "18abfc21964b7d98848d8ae513afce242184980c9517c9184d40efd9165ea00d",
"size_bytes": 28053
},
{
"path": "docs/accuracy-program/06-implementation-roadmap.md",
"role": "phase1_program",
"sha256": "c76ffebee4a23796ff221e6d4c5b5138f99d55a8b1422e897058b12a78a29ad9",
"size_bytes": 23695
},
{
"path": "docs/accuracy-program/status.json",
"role": "phase1_program",
"sha256": "5841cde783c7d8d4a54b126ed4120c83a553c9dec9a31e6ce45703ce3ab731c4",
"size_bytes": 7953
},
{
"path": "scripts/build_accuracy_phase1_evidence_manifest.py",
"role": "phase1_program",
"sha256": "882a935b29f787fc11a9f7b528392c1727463be24adcb0cac47a09fdb69a8382",
"size_bytes": 5523
},
{
"path": "scripts/collect_accuracy_phase1_inference_smoke.py",
"role": "phase1_program",
"sha256": "6d81541b7aa83f3c03ba5320a8075892eee658905ee981ba727e59f3b1dc792a",
"size_bytes": 6756
},
{
"path": "scripts/collect_accuracy_phase1_ml_lineage.py",
"role": "phase1_program",
"sha256": "3b1d3e45d45f1d4ca1211d1b2c70d9d93e15abc3b3ecfbd2e8302f645d6db7e1",
"size_bytes": 14080
},
{
"path": "scripts/collect_accuracy_phase1_runtime.py",
"role": "phase1_program",
"sha256": "a907779306076dccdf7fcf45f554e4778f5fab0e59d6af55673322775a1f5b4f",
"size_bytes": 13387
},
{
"path": "scripts/reproduce_accuracy_phase1_findings.py",
"role": "phase1_program",
"sha256": "c0f34e6bcaf73dcdada6e5b529a2e8e2177b1e97ee039c586d6ae51bb743015f",
"size_bytes": 9447
},
{
"path": "scripts/run_accuracy_phase1_baseline.py",
"role": "phase1_program",
"sha256": "fcbd280245ccc598cab7ec5ca6448fbb350f7fa59aecc20177fdb0069c416643",
"size_bytes": 14498
},
{
"path": "scripts/verify_accuracy_phase1_evidence.py",
"role": "phase1_program",
"sha256": "fc72c315d26b8b7542fe01666aef56a8538d09090f2c0c877c4dd8a33c93e556",
"size_bytes": 4925
},
{
"path": "tests/test_accuracy_phase1_baseline.py",
"role": "phase1_program",
"sha256": "868f433b7de61e9ab3cd7aa9ad5bb2d29e8286afdcd68274ed290909ec605c7f",
"size_bytes": 3009
}
],
"schema_version": 1
}
@@ -1,116 +0,0 @@
{
"findings": [
{
"expected": "A small buildings partition remains partial; a roads bbox cannot complete buildings coverage.",
"id": "P1-COV-001",
"observed": {
"fully_covered": true,
"matched_dataset_ids": [
"00000000-0000-4000-8000-000000000001"
]
},
"reproduced": true,
"severity": "critical",
"source": "backend/app/services/coverage_registry_service.py:481-505"
},
{
"expected": "A 100 metre buffer is projected to a metric CRS and spans roughly hundreds of metres.",
"id": "P1-CRS-001",
"observed": {
"bounds_epsg4326": [
-95.0,
-49.0,
105.0,
151.0
],
"longitude_span_degrees": 200.0
},
"reproduced": true,
"severity": "critical",
"source": "backend/app/services/vector_operations_service.py:179-203"
},
{
"expected": "Non-WGS84 input is transformed to EPSG:4326 or rejected before persistence.",
"id": "P1-CRS-002",
"observed": {
"stored_coordinates": [
150000.0,
210000.0
],
"stored_srid": 4326
},
"reproduced": true,
"severity": "critical",
"source": "backend/app/services/vector_feature_service.py:271-299"
},
{
"expected": "Only server-attested source identities can produce authoritative operational coverage.",
"id": "P1-AUTH-001",
"observed": {
"caller_controlled_source_name": "grb",
"coverage_status": "operational",
"reported_authority": "authoritative"
},
"reproduced": true,
"severity": "critical",
"source": "backend/app/api/routes/datasets.py:142-163; backend/app/services/coverage_registry_service.py:463-559"
},
{
"expected": "Validation scope is bound to immutable geometry/source/checksum evidence.",
"id": "P1-AI-001",
"observed": {
"accepted": true,
"area_name": "Mol validation bypass",
"geometry_bounds": [
-75.0,
35.0,
-74.9,
35.1
]
},
"reproduced": true,
"severity": "critical",
"source": "backend/app/services/detection_service.py:223-232"
},
{
"expected": "Renaming an Area cannot change its legal coverage-zone identity.",
"id": "P1-COV-002",
"observed": {
"canonical": {
"outside": false,
"zones": [
"flanders"
]
},
"renamed_same_geometry": {
"outside": true,
"zones": []
}
},
"reproduced": true,
"severity": "high",
"source": "backend/app/services/coverage_registry_service.py:56-65,425-447"
},
{
"expected": "PATCH /areas/{area_id} either validates and applies geometry or rejects the field.",
"id": "P1-API-001",
"observed": {
"geometry_silently_ignored": true,
"parsed_payload": {
"crs": null,
"name": "Renamed"
}
},
"reproduced": true,
"severity": "high",
"source": "backend/app/schemas/area.py:15-17; backend/app/services/area_service.py:154-171"
}
],
"purpose": "Read-only deterministic reproductions of Phase-1 contract violations.",
"schema_version": 1,
"summary": {
"all_reproduced": true,
"reproduced": 7,
"total": 7
}
}
@@ -1,31 +0,0 @@
command=npm run build
exit_code=0
captured_at=2026-08-01T18:34:50.3212385+02:00
> geointel-frontend@1.0.0 build
> tsc -b && vite build
vite v7.3.6 building client environment for production...
transforming...
✓ 1896 modules transformed.
rendering chunks...
computing gzip size...
dist/index.html  0.98 kB │ gzip: 0.49 kB
dist/assets/manrope-latin-500-normal-BYYD-dBL.woff2  14.04 kB
dist/assets/manrope-latin-600-normal-4f0koTD-.woff2  14.17 kB
dist/assets/manrope-latin-700-normal-BZp_XxE4.woff2  14.21 kB
dist/assets/public-sans-latin-600-normal-Fru-LXNs.woff2  14.59 kB
dist/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2  14.63 kB
dist/assets/public-sans-latin-500-normal-NlrCPXnF.woff2  14.66 kB
dist/assets/manrope-latin-500-normal-DMZssgOp.woff  18.24 kB
dist/assets/manrope-latin-600-normal-BqgrALkZ.woff  18.38 kB
dist/assets/manrope-latin-700-normal-DGRFkw-m.woff  18.41 kB
dist/assets/public-sans-latin-400-normal-SBbinRkI.woff  18.49 kB
dist/assets/public-sans-latin-500-normal-vCxiVFAq.woff  18.52 kB
dist/assets/public-sans-latin-600-normal-BR59oU-I.woff  18.56 kB
dist/assets/index-BNS8Tp4f.css 426.59 kB │ gzip: 69.40 kB
dist/assets/vendor-CrqJdhs-.js 140.80 kB │ gzip: 45.27 kB
dist/assets/index-DR8RUeAl.js 457.16 kB │ gzip: 119.71 kB
dist/assets/maplibre-DEBTaTl_.js 802.71 kB │ gzip: 217.71 kB
✓ built in 9.80s
@@ -1,12 +0,0 @@
command=npm run lint
exit_code=1
captured_at=2026-08-01T18:36:26.6162306+02:00
npm error Missing script: "lint"
npm error
npm error Did you mean this?
npm error npm link # Symlink a package folder
npm error
npm error To see a list of scripts, run:
npm error npm run
npm error A complete log of this run can be found in: C:\Users\Jens\AppData\Local\npm-cache\_logs\2026-08-01T16_36_25_353Z-debug-0.log
@@ -1,8 +0,0 @@
command=npm run typecheck
exit_code=0
captured_at=2026-08-01T18:34:27.3623155+02:00
> geointel-frontend@1.0.0 typecheck
> tsc -p tsconfig.json --noEmit
@@ -1,35 +0,0 @@
command=npm run test:unit
exit_code=0
captured_at=2026-08-01T18:35:24.4298867+02:00
> geointel-frontend@1.0.0 test:unit
> vitest run
 RUN  v3.2.6 C:/Projects/geointel/frontend
✓ src/lib/datasetCapabilities.test.ts (2 tests) 5ms
✓ src/lib/performanceBudget.test.ts (3 tests) 41ms
✓ src/components/map/mapWorkspaceUtils.test.ts (14 tests) 36ms
✓ src/hooks/useMapThemeSelectionInsights.test.ts (2 tests) 43ms
✓ src/hooks/useCoverageResolver.test.tsx (4 tests) 47ms
✓ src/hooks/useTemporalComparison.test.tsx (3 tests) 36ms
✓ src/components/WorkbenchStatusStrip.test.tsx (2 tests) 151ms
✓ src/hooks/useWorkbenchBootstrap.test.tsx (3 tests) 60ms
✓ src/components/map/LiveAnalysisJourney.test.tsx (3 tests) 59ms
✓ src/components/overview/ProjectAtlasIllustration.test.tsx (2 tests) 267ms
✓ src/components/models/ModelSelector.test.tsx (2 tests) 342ms
✓ src/components/detection/AiPipelineIllustration.test.tsx (1 test) 296ms
✓ src/components/auth/LandingProjectStory.test.tsx (2 tests) 332ms
✓ src/components/map/MunicipalitySearch.test.tsx (2 tests) 483ms
✓ MunicipalitySearch > searches the official municipality catalog and activates a result  468ms
✓ src/components/auth/LandingPage.test.tsx (4 tests) 825ms
✓ LandingPage > presents the professionalised landing page and submits the operator login  471ms
✓ src/lib/bathymetryRaster.test.ts (2 tests) 3ms
 Test Files  16 passed (16)
 Tests  51 passed (51)
 Start at  18:35:16
 Duration  7.37s (transform 2.45s, setup 0ms, collect 14.66s, tests 3.03s, environment 45.46s, prepare 8.07s)
@@ -1,9 +0,0 @@
command=npm test -- --run
exit_code=1
captured_at=2026-08-01T18:34:11.9904224+02:00
npm error Missing script: "test"
npm error
npm error To see a list of scripts, run:
npm error npm run
npm error A complete log of this run can be found in: C:\Users\Jens\AppData\Local\npm-cache\_logs\2026-08-01T16_34_11_785Z-debug-0.log
@@ -1,11 +0,0 @@
{
"schema_version": 1,
"command": "python scripts/run_golden_qa_benchmark.py --json",
"run_1_exit_code": 0,
"run_2_exit_code": 0,
"run_1_sha256": "ec96862b024987b59e56579920361582e718126b07885732335ac1b4d51b61bc",
"run_2_sha256": "4f900711a706dd56dd16b368e261761051f6d52a38bfd421e7d1c5f66ee51e49",
"byte_identical": false,
"semantic_results_equal": true,
"interpretation": "Metric values are stable, but UUID4-backed run identity makes retained JSON byte-nondeterministic."
}
@@ -1,177 +0,0 @@
{
"benchmark_id": "golden-buildings-partial-match-v1",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings.geojson",
"reference": "fixtures/golden/reference_buildings.geojson"
},
"metrics": {
"f1": 0.5,
"false_negative_count": 1,
"false_positive_count": 1,
"mean_iou": 0.8339768339652592,
"precision": 0.5,
"recall": 0.5
},
"persistence": {
"commit_count": 4,
"metric_count": 24,
"metric_keys": [
"f1",
"false_negative_count",
"false_positive_count",
"mean_iou",
"precision",
"recall"
],
"quality_check_count": 4
},
"scenario_count": 4,
"scenarios": [
{
"benchmark_id": "golden-buildings-partial-match-v1",
"description": "Two reference building polygons and two candidate building polygons: one candidate matches ref-1, one candidate is a false positive, and ref-2 is a false negative.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings.geojson",
"reference": "fixtures/golden/reference_buildings.geojson"
},
"metrics": {
"f1": 0.5,
"false_negative_count": 1,
"false_positive_count": 1,
"mean_iou": 0.8339768339652592,
"precision": 0.5,
"recall": 0.5
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"quality_check_id": "5fe92da9-2d8d-46a4-9992-2de89e3cf511",
"result_counts": {
"candidate_feature_count": 2,
"matches": 1,
"reference_feature_count": 2
},
"status": "passed"
},
{
"benchmark_id": "golden-buildings-perfect-match-v1",
"description": "One candidate building polygon exactly matches one reference polygon.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings_perfect.geojson",
"reference": "fixtures/golden/reference_buildings_perfect.geojson"
},
"metrics": {
"f1": 1.0,
"false_negative_count": 0,
"false_positive_count": 0,
"mean_iou": 1.0,
"precision": 1.0,
"recall": 1.0
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"quality_check_id": "7b8c1444-31e6-4780-92cb-f2060f4a4048",
"result_counts": {
"candidate_feature_count": 1,
"matches": 1,
"reference_feature_count": 1
},
"status": "passed"
},
{
"benchmark_id": "golden-buildings-no-overlap-v1",
"description": "One candidate polygon and one reference polygon do not overlap.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings_no_overlap.geojson",
"reference": "fixtures/golden/reference_buildings_no_overlap.geojson"
},
"metrics": {
"f1": null,
"false_negative_count": 1,
"false_positive_count": 1,
"mean_iou": null,
"precision": 0.0,
"recall": 0.0
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"quality_check_id": "1ffb1817-b237-4ca8-aad7-ff3312ac7e03",
"result_counts": {
"candidate_feature_count": 1,
"matches": 0,
"reference_feature_count": 1
},
"status": "passed"
},
{
"benchmark_id": "golden-buildings-multipolygon-match-v1",
"description": "One candidate MultiPolygon exactly matches one reference MultiPolygon.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings_multipolygon.geojson",
"reference": "fixtures/golden/reference_buildings_multipolygon.geojson"
},
"metrics": {
"f1": 1.0,
"false_negative_count": 0,
"false_positive_count": 0,
"mean_iou": 1.0,
"precision": 1.0,
"recall": 1.0
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"quality_check_id": "60e6a321-2aaf-467b-9281-f30dd4179333",
"result_counts": {
"candidate_feature_count": 1,
"matches": 1,
"reference_feature_count": 1
},
"status": "passed"
}
],
"status": "passed",
"version": 1
}
@@ -1,177 +0,0 @@
{
"benchmark_id": "golden-buildings-partial-match-v1",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings.geojson",
"reference": "fixtures/golden/reference_buildings.geojson"
},
"metrics": {
"f1": 0.5,
"false_negative_count": 1,
"false_positive_count": 1,
"mean_iou": 0.8339768339652592,
"precision": 0.5,
"recall": 0.5
},
"persistence": {
"commit_count": 4,
"metric_count": 24,
"metric_keys": [
"f1",
"false_negative_count",
"false_positive_count",
"mean_iou",
"precision",
"recall"
],
"quality_check_count": 4
},
"scenario_count": 4,
"scenarios": [
{
"benchmark_id": "golden-buildings-partial-match-v1",
"description": "Two reference building polygons and two candidate building polygons: one candidate matches ref-1, one candidate is a false positive, and ref-2 is a false negative.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings.geojson",
"reference": "fixtures/golden/reference_buildings.geojson"
},
"metrics": {
"f1": 0.5,
"false_negative_count": 1,
"false_positive_count": 1,
"mean_iou": 0.8339768339652592,
"precision": 0.5,
"recall": 0.5
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"quality_check_id": "8d030591-a701-46ee-ae59-7f529db053d3",
"result_counts": {
"candidate_feature_count": 2,
"matches": 1,
"reference_feature_count": 2
},
"status": "passed"
},
{
"benchmark_id": "golden-buildings-perfect-match-v1",
"description": "One candidate building polygon exactly matches one reference polygon.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings_perfect.geojson",
"reference": "fixtures/golden/reference_buildings_perfect.geojson"
},
"metrics": {
"f1": 1.0,
"false_negative_count": 0,
"false_positive_count": 0,
"mean_iou": 1.0,
"precision": 1.0,
"recall": 1.0
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"quality_check_id": "bc99f243-ee42-40bf-ad71-22da29e5278f",
"result_counts": {
"candidate_feature_count": 1,
"matches": 1,
"reference_feature_count": 1
},
"status": "passed"
},
{
"benchmark_id": "golden-buildings-no-overlap-v1",
"description": "One candidate polygon and one reference polygon do not overlap.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings_no_overlap.geojson",
"reference": "fixtures/golden/reference_buildings_no_overlap.geojson"
},
"metrics": {
"f1": null,
"false_negative_count": 1,
"false_positive_count": 1,
"mean_iou": null,
"precision": 0.0,
"recall": 0.0
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"quality_check_id": "b12249f0-24e3-4bbf-837a-e4a962d1bca9",
"result_counts": {
"candidate_feature_count": 1,
"matches": 0,
"reference_feature_count": 1
},
"status": "passed"
},
{
"benchmark_id": "golden-buildings-multipolygon-match-v1",
"description": "One candidate MultiPolygon exactly matches one reference MultiPolygon.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings_multipolygon.geojson",
"reference": "fixtures/golden/reference_buildings_multipolygon.geojson"
},
"metrics": {
"f1": 1.0,
"false_negative_count": 0,
"false_positive_count": 0,
"mean_iou": 1.0,
"precision": 1.0,
"recall": 1.0
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"quality_check_id": "4dabce04-4c65-4dac-807d-9f9cbaa8c72f",
"result_counts": {
"candidate_feature_count": 1,
"matches": 1,
"reference_feature_count": 1
},
"status": "passed"
}
],
"status": "passed",
"version": 1
}
File diff suppressed because it is too large Load Diff
@@ -1,5 +0,0 @@
command=python scripts/audit_api_contracts.py
exit_code=0
captured_at=2026-08-01T18:37:24.4984309+02:00
API contract audit OK: 147 implemented routes match docs; 10 explicit non-envelope endpoints tracked.
@@ -1,36 +0,0 @@
{
"baseline_scope": [
"tracked repository state",
"static code/test/migration inventory",
"tracked mirror comparison",
"local artifact inventory",
"mock/fixture/placeholder/fallback triage signals"
],
"finding_count": 2,
"findings": [
{
"evidence": {
"paired_different_file_count": 68,
"tracked_mirror_file_count": 1153
},
"id": "P1-REPO-001",
"severity": "high",
"title": "Tracked nested repository mirror creates ambiguous source state"
},
{
"id": "P1-ML-LOCAL-001",
"interpretation": "Production model truth must be verified on the mounted Tower volume.",
"severity": "info",
"title": "No local checkpoint is available in the repository checkout"
}
],
"generated_at": "2026-08-01T15:53:53.482303+00:00",
"schema_version": 1,
"separate_required_evidence": [
"Tower database/storage audit",
"Tower CUDA/model preflight and representative inference",
"corpus leakage/duplicate/label/time review",
"independent human visual review"
],
"status": "findings_present"
}
@@ -1,6 +0,0 @@
command=python -m pytest tests/test_accuracy_phase1_baseline.py -q -p no:cacheprovider
exit_code=0
captured_at=2026-08-01T18:33:32.0526074+02:00
.... [100%]
4 passed in 1.24s
@@ -1,651 +0,0 @@
{
"code": {
"api_route_decorator_count": 148,
"frontend_test_file_count": 16,
"groups": {
"backend": {
"file_count": 129,
"line_count": 32583
},
"backend_tests": {
"file_count": 235,
"line_count": 36067
},
"frontend": {
"file_count": 112,
"line_count": 23534
},
"frontend_e2e": {
"file_count": 2,
"line_count": 734
},
"migrations": {
"file_count": 11,
"line_count": 610
},
"root_tests": {
"file_count": 7,
"line_count": 261
},
"scripts": {
"file_count": 158,
"line_count": 43180
}
},
"pytest_test_function_count": 1182
},
"generated_at": "2026-08-01T15:53:27.980241+00:00",
"git": {
"branch": "codex/geointel-accuracy-program",
"head": "0c019bb22f816db1e4b7a68379bcad08924d9a21",
"status_porcelain": [
" M .gitignore",
"?? .codex-artifacts/",
"?? scripts/run_accuracy_phase1_baseline.py"
],
"top_level_tracked_counts": {
".codex-input": 109,
".dockerignore": 1,
".env.example": 1,
".gitattributes": 1,
".gitea": 1,
".github": 4,
".gitignore": 1,
".gitkeep": 1,
".playwright-mcp": 1,
"AGENTS.md": 1,
"CHANGELOG.md": 1,
"CODEX_START.md": 1,
"M10_UPDATE_MANIFEST.txt": 1,
"M11_UPDATE_MANIFEST.txt": 1,
"M12_UPDATE_MANIFEST.txt": 1,
"M13_UPDATE_MANIFEST.txt": 1,
"M14_UPDATE_MANIFEST.txt": 1,
"M5_UPDATE_MANIFEST.txt": 1,
"M9_UPDATE_MANIFEST.txt": 1,
"Makefile": 1,
"README.md": 1,
"RELEASE_NOTES": 8,
"VERSION": 1,
"adr": 7,
"backend": 406,
"checklists": 2,
"contracts": 7,
"data": 27,
"datasets": 4,
"demo": 7,
"deploy": 13,
"docker-compose.unraid.yml": 1,
"docker-compose.yml": 1,
"docs": 263,
"exports": 1,
"fixtures": 12,
"frontend": 154,
"geointel": 1153,
"knowledge": 6,
"models": 1,
"output": 1,
"prompts": 57,
"release": 1,
"rfc": 5,
"scripts": 167,
"security": 1,
"skills": 7,
"storage": 11,
"test-results": 4,
"tests": 21,
"tickets": 14
},
"tracked_file_count": 2495
},
"migrations": {
"count": 11,
"heads_from_static_chain": [
"202607260001"
],
"missing_revision_identifiers": 0,
"records": [
{
"down_revision": null,
"path": "backend/alembic/versions/202601110001_initial.py",
"revision": "202601110001"
},
{
"down_revision": "202601110001",
"path": "backend/alembic/versions/202601120001_dataset_storage_metadata.py",
"revision": "202601120001"
},
{
"down_revision": "202601120001",
"path": "backend/alembic/versions/20260611212435_add_jobs_table.py",
"revision": "20260611212435"
},
{
"down_revision": "20260611212435",
"path": "backend/alembic/versions/202606120001_add_dataset_reference_metadata.py",
"revision": "202606120001"
},
{
"down_revision": "202606120001",
"path": "backend/alembic/versions/202606120700_sprint7a_persistence_foundation.py",
"revision": "202606120700"
},
{
"down_revision": "202606120700",
"path": "backend/alembic/versions/202606120800_sprint8_detection_foundation.py",
"revision": "202606120800"
},
{
"down_revision": "202606120800",
"path": "backend/alembic/versions/202606120900_sprint9_segmentation_foundation.py",
"revision": "202606120900"
},
{
"down_revision": "202606120900",
"path": "backend/alembic/versions/202607140001_temporal_dataset_foundation.py",
"revision": "202607140001"
},
{
"down_revision": "202607140001",
"path": "backend/alembic/versions/202607150001_detection_reviews.py",
"revision": "202607150001"
},
{
"down_revision": "202607150001",
"path": "backend/alembic/versions/202607160001_vector_feature_municipality_index.py",
"revision": "202607160001"
},
{
"down_revision": "202607160001",
"path": "backend/alembic/versions/202607260001_aoi_operations.py",
"revision": "202607260001"
}
]
},
"repo_root": "C:\\Projects\\geointel",
"schema_version": 1,
"tracked_mirror": {
"different_files": [
{
"mirror_sha256": "74a27de50351950c6fa64cea9761f20f88f94500afaa5b0a83d750e260d07139",
"mirror_size_bytes": 261,
"path": ".dockerignore",
"root_sha256": "d6ef949ac81b034249bf8907a47d7fba1265e3cde0abd679a0884f321a57143a",
"root_size_bytes": 1059
},
{
"mirror_sha256": "68b3c2a8c7cbf56c16ab809af1a40f88aa4bf97f7071f004fe9651ae69952cff",
"mirror_size_bytes": 6558,
"path": ".env.example",
"root_sha256": "53c822e80b04bcc752eb41c5020a2f57345df4c7b7af53054cb6df6320b631da",
"root_size_bytes": 6657
},
{
"mirror_sha256": "6c6952d6e5fd0f763216617e3bd1ea9e5dbc91174a001a9293dcd54e49b552e7",
"mirror_size_bytes": 893,
"path": ".gitignore",
"root_sha256": "cc7a9c3ee59df1f72789b7e24d195bfce53854fb5be89ba1fd90afb7b9ef41df",
"root_size_bytes": 1166
},
{
"mirror_sha256": "077058b5c46d1f4069be44cd21deaddce669cf31f04f8ec8f0d2d6d57302be28",
"mirror_size_bytes": 253593,
"path": "CHANGELOG.md",
"root_sha256": "a46d9ca5f69ce5d806d76b30c156d5801fea0158c696004ceb83e0a2fa0548d7",
"root_size_bytes": 253841
},
{
"mirror_sha256": "b7ad2801709886035ae9b57130d4fb1808d4ee0520fee346bb8553fea7444340",
"mirror_size_bytes": 9662,
"path": "README.md",
"root_sha256": "9834f00b7439b49e6b9b976c1c12a6f94d30231ea10ecb69e7fe48029471bce1",
"root_size_bytes": 9504
},
{
"mirror_sha256": "fac098f49a784c2c7faff0dec7ab50f7dc9ffe3decdc48d05596d3fb72e7ecff",
"mirror_size_bytes": 21710,
"path": "backend/app/core/config.py",
"root_sha256": "6ac8dce2fcc32a9b47ca7d6bd9355ec5257476a90be7ea10052ff7b6e545cbaa",
"root_size_bytes": 21547
},
{
"mirror_sha256": "3f8282014fbc66059a7147aee9672a285227c1b5fc596cdc45edff4493ab4246",
"mirror_size_bytes": 15395,
"path": "backend/app/main.py",
"root_sha256": "27947e7b7762ca2226d9710a8438ff0b484cd142d3dbc51d76114d0447362634",
"root_size_bytes": 18001
},
{
"mirror_sha256": "f6a21cbc3d644d6cee922c8ddfe9ab41e35e9749cfcef2fc77095047fcb53a5e",
"mirror_size_bytes": 7546,
"path": "backend/tests/test_auth.py",
"root_sha256": "df31b406424b96884be1c7427e46a6caad78b6535a5c19924f4a12674ff0dcbf",
"root_size_bytes": 9638
},
{
"mirror_sha256": "860adf4f218de693856d52e2a31683754e218391643230623f3f02c61a663e40",
"mirror_size_bytes": 4313,
"path": "backend/tests/test_belgium_training_loop.py",
"root_sha256": "f77121b687ecd3fef50782a47a39fb361c3829fbf610fe3937b15c7d06d1fbc2",
"root_size_bytes": 10919
},
{
"mirror_sha256": "c89fd7a641b2969c72b96fedd1aff23f6c88eec56bfdd3581184365b86c6f0c1",
"mirror_size_bytes": 1344,
"path": "backend/tests/test_belgium_training_portfolio.py",
"root_sha256": "b93152cdf4c5894dbc614529fe9823bb6472fc45cebe24be8ad9cf900d5e98c9",
"root_size_bytes": 2021
},
{
"mirror_sha256": "8a40fd3f5daa010b203639c5114ff4c080294eb82316a2c3a06aac500cdd2c2e",
"mirror_size_bytes": 7556,
"path": "backend/tests/test_building_label_normalization.py",
"root_sha256": "6236040626f8ab770a1495052fa5c6f25739cef3a2d1d04d7cc3e232e3839421",
"root_size_bytes": 10317
},
{
"mirror_sha256": "9912c38ef5e24efc7048945dc9e7035c904f504972b56d3b6081561e42b07943",
"mirror_size_bytes": 20311,
"path": "backend/tests/test_docker_runtime_config.py",
"root_sha256": "1e6aea61938d9bb90707d724a186312a4a7475b15b891d69555b52187590b057",
"root_size_bytes": 20315
},
{
"mirror_sha256": "a91d378320b20ebe1ae5223d2049445802de81df26e86378e2ad33a032a9c643",
"mirror_size_bytes": 4827,
"path": "backend/tests/test_failure_driven_yolo_sampling.py",
"root_sha256": "c4343f42509189ea867b7cf285473b2e1687e55c5238fa7022b44edae06eec37",
"root_size_bytes": 16948
},
{
"mirror_sha256": "3cf7c2979234bfcb6095630d586731e8b9f2053fbced328c5820997db1bd2fdf",
"mirror_size_bytes": 4973,
"path": "backend/tests/test_rc6_supply_chain.py",
"root_sha256": "d4f0e29bc3a5820b378ffa904052bc0d56c3ccd2133b8406cebadad9ad702d59",
"root_size_bytes": 4973
},
{
"mirror_sha256": "a175e97aaa2adfc28a37ab175040fd3c4e1c37bf0e28d733564ffd30bc689600",
"mirror_size_bytes": 1016,
"path": "backend/tests/test_sam_roof_label_refinement.py",
"root_sha256": "c4fbab6d9ab2e94ee3014a46979e8489471b7eb375aaccbd7f2ae204c6b6f647",
"root_size_bytes": 1473
},
{
"mirror_sha256": "fc301f89b6c149d7b012bac3d2942902e74794d84fa18090e5485f1f7102f823",
"mirror_size_bytes": 12548,
"path": "backend/tests/test_sprint130_operator_yolo_tile_dataset.py",
"root_sha256": "ae3caa4d74a5e7ba4db3628ce5dd403b20fc08e37c522a7b85e657d75e11a1b6",
"root_size_bytes": 12941
},
{
"mirror_sha256": "c6b3f5a1f283c7940140734d35bbc44ec31c6eaadb6363abcb6fcdad4a97f176",
"mirror_size_bytes": 10437,
"path": "backend/tests/test_sprint31_unraid_template.py",
"root_sha256": "cf5f0eaf93510a7ebf70386691513275d0cca69b59d6a86b35d6ba486aa35f21",
"root_size_bytes": 10611
},
{
"mirror_sha256": "a8fff182a2968b2dae2c561bd23ebc6732b5d3a45fe886641ca9538550a126ce",
"mirror_size_bytes": 12232,
"path": "deploy/unraid/Dockerfile.all-in-one",
"root_sha256": "b30d16b8ac28acef25961674e1cacdb067bd43e3925adcb68a605f0a505eed80",
"root_size_bytes": 12326
},
{
"mirror_sha256": "cb4f487125c750137420f71b1b31309f596693186dc7e8b0d3f6a49afb69a6b9",
"mirror_size_bytes": 13687,
"path": "deploy/unraid/README.md",
"root_sha256": "8c72e0aa8448f83db73fbf3862280f414d4d31056ee5e8b2176c4356d996c38c",
"root_size_bytes": 13866
},
{
"mirror_sha256": "9851cb85ae5904b1def720055037ee1dbe3a405b767e76b0cf5c592a84afed7f",
"mirror_size_bytes": 5541,
"path": "deploy/unraid/deploy-release.sh",
"root_sha256": "21c358def5773975e0bfb37a1b2be441b616291a3f62944862abed7d799d3611",
"root_size_bytes": 7885
},
{
"mirror_sha256": "041d1cfc5d184a93650d650487db9b86d52a80d2ef4ee5fd7528d0ef4ba76459",
"mirror_size_bytes": 40243,
"path": "deploy/unraid/geointel-unraid-template.xml",
"root_sha256": "4d3da0654a308ed938ec745087e6484b710444a08ca5a54304f17934bba8a21f",
"root_size_bytes": 40252
},
{
"mirror_sha256": "d6ac993c9c08972a521b58136cb2029b89df34c67eb76818d1eeb631d42d3149",
"mirror_size_bytes": 7839,
"path": "deploy/unraid/geointel.env.example",
"root_sha256": "85d7f899827fd17debc1d8cffbe672337b470e5f18c390e587b5341d12c485d5",
"root_size_bytes": 8329
},
{
"mirror_sha256": "4839b5fd2ddd4d0c2e35b3dee6ae04d1f12ecf17cfe3a07a32d5accca64915b1",
"mirror_size_bytes": 23318,
"path": "deploy/unraid/run-dockerman-container.sh",
"root_sha256": "b5a348f0cd96eb09e81239d1fcbd5ad1395451c1371f0ef3af40446f027a0d2b",
"root_size_bytes": 23483
},
{
"mirror_sha256": "e5def10ebc15cf796fdbc3de3583fe6b8a761fb90e91ac61300ea363b5503d75",
"mirror_size_bytes": 10203,
"path": "docker-compose.unraid.yml",
"root_sha256": "30d4a6d809306e6ce8cdf5d9cbc5e0f510612db32a9398100e45e09d439f3d25",
"root_size_bytes": 10202
},
{
"mirror_sha256": "a9071fd2a61c8cfe9a43aed4a378770939d2ae3b35888c433356e017cb8aec48",
"mirror_size_bytes": 11887,
"path": "docker-compose.yml",
"root_sha256": "7e4f93a2ec69548a94556e06d71623e652e23acc311ca24cd56fefd7cda8fcd3",
"root_size_bytes": 11886
},
{
"mirror_sha256": "427a484990ade76e85d9d7cbba2835095ea4ca08a1b3b9836193ce9835f77231",
"mirror_size_bytes": 101810,
"path": "docs/API_CONTRACTS.md",
"root_sha256": "305db12f3f44fe6287f7b48543df5b4e461e3c22b54fa40f2e900470b9258ae7",
"root_size_bytes": 102260
},
{
"mirror_sha256": "694f87467374352486c9f134d08a432d94ec15fb3c85d9dbbc69f47a57fc8407",
"mirror_size_bytes": 6732,
"path": "docs/BELGIUM_BUILDING_TRAINING_LOOP.md",
"root_sha256": "39b5032a6d7983fd816440ddcf6fb79d3c4be822145e954aeb3c7f46c2f82701",
"root_size_bytes": 11239
},
{
"mirror_sha256": "665e8f21c3988909d4428ccc736479111f6118d6c470827f9399d53857f4a204",
"mirror_size_bytes": 818967,
"path": "docs/CODEX_EXECUTION_LOG.md",
"root_sha256": "a91e4c95d30e26eb075f7977ed25f435685f45d54fb889d085274273ef782451",
"root_size_bytes": 858488
},
{
"mirror_sha256": "e7b135e9550a79472be7ae4974bc699811b4ca4a257f6fcc1ae7ced1781c9e68",
"mirror_size_bytes": 2785,
"path": "docs/DEPENDENCY_POLICY.md",
"root_sha256": "3c2fd4680091c642c4429b5ec68a0d403aaf3cce44c7712c368fc0fbb61ad5c5",
"root_size_bytes": 2987
},
{
"mirror_sha256": "1cc29d86c7acdf76ebe62782e9aa66ae1dc179f6e6e017d80b6df21217feb05a",
"mirror_size_bytes": 9480,
"path": "docs/PROJECT_PROFESSIONALIZATION_AUDIT_2026-07-27.md",
"root_sha256": "836de43d4c81bdc5748b44a50848226d434dffb05a26fc2813e4abe318d1e537",
"root_size_bytes": 9597
},
{
"mirror_sha256": "c052edad0eff3e6042642d3e33e75bb5ea718baa49cc562cc4566aa3a3308441",
"mirror_size_bytes": 66244,
"path": "docs/TODO.md",
"root_sha256": "76834351437c69ef63838c6f802e73b844eb0e8c774b3709016b4b8de43ac239",
"root_size_bytes": 75459
},
{
"mirror_sha256": "70d5fccd4be3f5568b8d022a76aafcd30806366090d3c841e72fd3e80fa7b2cb",
"mirror_size_bytes": 59353,
"path": "frontend/src/App.tsx",
"root_sha256": "05c367d0f321d7f5787825943cd61c07e85742a017567436dd80eaf1d9d60746",
"root_size_bytes": 59689
},
{
"mirror_sha256": "e6a15ffc9a95c57a2c9710822385e0d7fdf48115b2109cca2ba1533d494a9f7f",
"mirror_size_bytes": 21860,
"path": "frontend/src/components/GeoMap.tsx",
"root_sha256": "64a2fe78846f51c9227ed5927dff9f7b9df4ee3ce04a17cf0d18b4d1595a149f",
"root_size_bytes": 22935
},
{
"mirror_sha256": "c5202c44be3154ce2cb395681c65d3bde3866603cdbf6f7da8c30a77969e6471",
"mirror_size_bytes": 6371,
"path": "frontend/src/components/assistant/GeoAssistantPanel.tsx",
"root_sha256": "250d8781246a3e7d218699de38c80a9816cf1718fbea8d45b46b1a58bd91768a",
"root_size_bytes": 7963
},
{
"mirror_sha256": "ab91189c74d1af534334855957f308e48846f1184c4862017c2472c29b687724",
"mirror_size_bytes": 16246,
"path": "frontend/src/components/auth/LandingPage.tsx",
"root_sha256": "dbd1f3df060c62c7340d711db24d0f17444406923a5c05dd32fc56fdeba9fc85",
"root_size_bytes": 16489
},
{
"mirror_sha256": "a41b9221ba39f1e1f6e07a12e800eaa94ee877a38d550cb48bdb5617dccb85c8",
"mirror_size_bytes": 50857,
"path": "frontend/src/components/detection/DetectionLab.tsx",
"root_sha256": "366e65b6d0aabb50da8b18a9e7c9769ddc03de5f841c367eb8db8b1b54efa171",
"root_size_bytes": 51643
},
{
"mirror_sha256": "c5a1595e2799d848852f8891856323faa4863f8c1bfcbfbc7f5e6b64cee4d2ed",
"mirror_size_bytes": 175335,
"path": "frontend/src/components/map/MapWorkspace.tsx",
"root_sha256": "6f57d1ea8201cd97e228a9b562173457a98caf0231b7439b71abdd1a1bef43aa",
"root_size_bytes": 175688
},
{
"mirror_sha256": "012608ad5ea891bcaeb920c279720aa8f6091a0c6d8735dcf9e33210301a5c84",
"mirror_size_bytes": 7614,
"path": "frontend/src/components/overview/OverviewWorkspace.tsx",
"root_sha256": "4b091b6c3fd4d3a7065604a92267521d549abe8217de2d899fe37405d941d1ce",
"root_size_bytes": 10080
},
{
"mirror_sha256": "80898f659302de06b50d66d2a54b99c4262f13f574eaaad95a2c6d75c0081d36",
"mirror_size_bytes": 19502,
"path": "frontend/src/components/segmentation/SegmentationLab.tsx",
"root_sha256": "5e4ee646bc6e998d0dc83b0dfc76e055ef39981024b7d00efdafe7cdef9a2dae",
"root_size_bytes": 19571
},
{
"mirror_sha256": "00a189596cd8752d24392707288d9b557c411738bb860f19c0983db39dd9cd1c",
"mirror_size_bytes": 2657,
"path": "frontend/src/components/shell/WorkbenchNavigation.tsx",
"root_sha256": "2216e8a6158b314ee0ab1661e7ff34dadcb4a5f2917f0f88ce4cc895cfda76e7",
"root_size_bytes": 2616
},
{
"mirror_sha256": "ef09733b1ba174c9f02dd84eb9e5e1cee87ce3bcfbaf7d5f09c9a16f967ec784",
"mirror_size_bytes": 4153,
"path": "frontend/src/hooks/useDemoWorkflow.ts",
"root_sha256": "15d1b3db25b941285b2ab3460ca4b886e382062550e8a9d2377a62c9fe09a06c",
"root_size_bytes": 4076
},
{
"mirror_sha256": "074f3e0dc7f94c39899b3c456bbde3c78f9fdd26cbf5664b7af3ad7a048eee58",
"mirror_size_bytes": 23013,
"path": "frontend/src/hooks/useDetectionWorkflow.ts",
"root_sha256": "6a75f632a4b66fdb43c78e4a77b71c21566813b94af07ec49bb9fc9658c438ff",
"root_size_bytes": 23097
},
{
"mirror_sha256": "a3f4b018086b86364db6adfac28633d6a4d8feaca4f873fabc82bfb45c650a20",
"mirror_size_bytes": 7570,
"path": "frontend/src/hooks/useExportWorkflow.ts",
"root_sha256": "a04b02ea9604ba294f94e2df8a289fdf45f4e014bef2721d1270b28239bff36c",
"root_size_bytes": 7818
},
{
"mirror_sha256": "05fd1dea79a335a6607a5994bbd39bd83b5c215a352abb2747a02ec1dda0d2fb",
"mirror_size_bytes": 3695,
"path": "frontend/src/hooks/useGeoAssistant.ts",
"root_sha256": "af8d707c8639dca1fe2df735e965c36d74b2696057f82f318ac7dff78564107e",
"root_size_bytes": 4771
},
{
"mirror_sha256": "b38fda4b32212a3bf12b89183d23c3dadeceb104ae40952bf539785f565273ea",
"mirror_size_bytes": 3463,
"path": "frontend/src/hooks/useMapSelectionQa.ts",
"root_sha256": "0785c198d3860ed330538bbb56ba4745262c3b32fab099164f1ab2d8421526fc",
"root_size_bytes": 3482
},
{
"mirror_sha256": "75efa3a406a5cfe400a209eadc23317086b4742068599fa492b6f20c075a0a9e",
"mirror_size_bytes": 4923,
"path": "frontend/src/hooks/useQualityWorkflow.ts",
"root_sha256": "662377348c1cfaa462955792166d5752a25056c38d3ce8375799ae46a5c4df11",
"root_size_bytes": 4942
},
{
"mirror_sha256": "52cf7dd8fae31ec2bcc0f1dbec124319c389bd2c45dea5c6f6aad5b9960a43d5",
"mirror_size_bytes": 9426,
"path": "frontend/src/hooks/useSegmentationWorkflow.ts",
"root_sha256": "1864807b63ecaf778df7f53218fa06a6f30a3fa40e39830e32aad81e9cbedbb4",
"root_size_bytes": 9491
},
{
"mirror_sha256": "153296d88e9549a9227adc552c614ccbe931658e0174061313ad819e7ff9136b",
"mirror_size_bytes": 3528,
"path": "frontend/src/hooks/useWorkbenchBootstrap.test.tsx",
"root_sha256": "150d755f5f6dbb70404a410eee4ab447a36ce86c90c65ed3528afdd9a2cb1fc2",
"root_size_bytes": 3565
},
{
"mirror_sha256": "9c19508fd628f004f095e9f29cfaec608c91282dc0b42bb6a96f2fa36da64142",
"mirror_size_bytes": 3084,
"path": "frontend/src/hooks/useWorkbenchBootstrap.ts",
"root_sha256": "86646f79ac20672fe1ba04b8d97c899b8dbad37b53b94a03b9778035fda3a953",
"root_size_bytes": 2946
},
{
"mirror_sha256": "7441e17e4c9bee54847317fcde7d4520c2c96bc5c78a0c9ceaac7a63cf81186c",
"mirror_size_bytes": 2536,
"path": "frontend/src/services/api/detection.ts",
"root_sha256": "a56da21fb640431b49b1a77530d4b993d1852b9a4adf2811c0f800a9b0a9288b",
"root_size_bytes": 2682
},
{
"mirror_sha256": "287165ff54e427b30ec574ed995213ad02e7e94220874c8064a57cf6facc417a",
"mirror_size_bytes": 1804,
"path": "frontend/src/services/api/exports.ts",
"root_sha256": "7f9f1da4694143d1c3a768950fb13b894d89f0c37b9cf6160362d1db55c939a3",
"root_size_bytes": 2253
},
{
"mirror_sha256": "11637de6de25f2830f600d01c4a1a45dedfcdc75ffa9121a218d7e5c7f857d64",
"mirror_size_bytes": 1725,
"path": "frontend/src/services/api/qa.ts",
"root_sha256": "fa3fcfd0a9e0e123bf2b821ae2b2a0d98062eaaae15a0a49dd13f3caed9bfb3c",
"root_size_bytes": 1788
},
{
"mirror_sha256": "24be3bf6499337864ae2d99fac6409c908b473926e7b31bb61624e2f2563e0ae",
"mirror_size_bytes": 2178,
"path": "frontend/src/services/api/segmentation.ts",
"root_sha256": "f4666f07aea007513a915e30f2c487b54e7eb5f3da171f8aac634c09a60558b2",
"root_size_bytes": 2324
},
{
"mirror_sha256": "a2aba5359ff65b328a9c01ed966ed29e235bf7020083a086c6815978229a4c6f",
"mirror_size_bytes": 137520,
"path": "frontend/src/styles/app.css",
"root_sha256": "bacced4a7ef1a8253ed4cf6999140230d434f8efcf8654691bbafb1595a7bb44",
"root_size_bytes": 137816
},
{
"mirror_sha256": "f60090c6ea5046cb8db4bb3e72105baf4b5e4e1aceeae7bee08619d237859c60",
"mirror_size_bytes": 34362,
"path": "frontend/src/styles/landing.css",
"root_sha256": "a21b6568d9a9394cd513107b1b3e2ea616b5e8ea117107264607dcefdcbe74a8",
"root_size_bytes": 34383
},
{
"mirror_sha256": "ef6c5e988a0558cf5f25a158bcbf968b5a23fa0f2256ea802ffc29776f773dbf",
"mirror_size_bytes": 4935,
"path": "scripts/assess_belgium_building_training_iteration.py",
"root_sha256": "3eb022330efd838bac23f4af1d6b70f3f589f8133797a22a25c20b8a0f9a27ef",
"root_size_bytes": 4954
},
{
"mirror_sha256": "b50620a8b8d179d2d91a129db50609939f8f28ee272bd5380bca9a11bc6518d4",
"mirror_size_bytes": 7110,
"path": "scripts/build_failure_driven_yolo_sampling.py",
"root_sha256": "35d662a838b78873b6298145f722bc41b38aa96af47be5e4e9f01f96e98422e6",
"root_size_bytes": 15234
},
{
"mirror_sha256": "22e8c202b49fc3c31fbc3c74fae79855474e3c9fbb9c61710dbbbda7626ba787",
"mirror_size_bytes": 2986,
"path": "scripts/build_regional_yolo_dataset.py",
"root_sha256": "c28f677ff81f94b4a7d0337cec26995b646c2d576da9a0079fb9007e78b5edf8",
"root_size_bytes": 6874
},
{
"mirror_sha256": "d0f859e810839fc34585f0f65877808bef952452b87c78b236450a1b3107ba4a",
"mirror_size_bytes": 2652,
"path": "scripts/deploy_tower.ps1",
"root_sha256": "5470e5a7ef9ca513e29050d9cc3bc5cff32395420c4c78ae4685302a75cb5196",
"root_size_bytes": 2967
},
{
"mirror_sha256": "ccef16aaf01ec16a297eec423f993afa705f45dd052919b005a231f087ff7469",
"mirror_size_bytes": 1471,
"path": "scripts/deploy_tower.sh",
"root_sha256": "77e04343e60bd1ef3846a459f8c4b70c0cd539f1900fb8c24fb3964b7062d785",
"root_size_bytes": 1925
},
{
"mirror_sha256": "c96d6c3bb70a59256870bbbf464e5b5ba1c599e24c38a5c0b8ff19d57fff5930",
"mirror_size_bytes": 15603,
"path": "scripts/evaluate_belgium_building_candidate.py",
"root_sha256": "640312d1de91362b7b906f7e468e9ebf09c80958d11c8cda5e3b1663b85fafde",
"root_size_bytes": 17832
},
{
"mirror_sha256": "96fe2345e35eeceb5b11c15760b61a33070a2ab2602d623af5cb99b20f37270e",
"mirror_size_bytes": 28472,
"path": "scripts/export_operator_yolo_tile_dataset.py",
"root_sha256": "5e84eae418c5f855bc8bff10f9967a331df40c7736d93ea2ed0905f59fab04a5",
"root_size_bytes": 29051
},
{
"mirror_sha256": "91275894803fb0913c0786bedd8ff1e3ac46d0e52c28edb2ecd7e4c4f1698cf1",
"mirror_size_bytes": 13510,
"path": "scripts/normalize_belgium_building_labels.py",
"root_sha256": "e231f6e34585531c162807b67fa24721455a56af66fab5b1d72835a8f46db774",
"root_size_bytes": 14792
},
{
"mirror_sha256": "ba0b5fa26c01c739e74d8791bf17db7159159aceaac79d485cc4e8d61d2c6bba",
"mirror_size_bytes": 17734,
"path": "scripts/provision_belgium_building_training_portfolio.py",
"root_sha256": "17da30d3ea480b4d0d86d5c2a454264202cb02443e4dbef9c082342ccfca08ca",
"root_size_bytes": 26891
},
{
"mirror_sha256": "5deb04f2563cb30028a34dcd7d5b275855822076495e5d36560ab6674a2a86a2",
"mirror_size_bytes": 8777,
"path": "scripts/refine_yolo_labels_with_sam.py",
"root_sha256": "472985d75d8800e5e15634477bf9f7fcd01ecbf5c67985e25d3ca0872a8dc603",
"root_size_bytes": 11442
},
{
"mirror_sha256": "5820d017710dae0b4ae518e2db22d8cbab6b72e708be0e7f9c68a9f631f5e6ef",
"mirror_size_bytes": 16456,
"path": "scripts/render_operator_yolo_label_qa_contact_sheets.py",
"root_sha256": "e1a16e5ab2d0b0d50144ac49d7805eb9a1814cc31471c19d109cfa83a295d243",
"root_size_bytes": 17322
},
{
"mirror_sha256": "06a7f7ba3c067de259c8fce62d3949979fb9296d1665f14a4e6f41039dadc9ae",
"mirror_size_bytes": 9516,
"path": "scripts/rotate_belgium_building_holdouts.py",
"root_sha256": "e0d35afe7c719715b19d7a6b7be75ae64d2c2c65e006cfc798eea3bbf18bedf9",
"root_size_bytes": 9920
},
{
"mirror_sha256": "2d3677e57c3089fe8a9b9f1d999589d4d938b94b193f24adcfc15f343287df35",
"mirror_size_bytes": 12958,
"path": "scripts/run_belgium_building_training_loop.py",
"root_sha256": "2ec1d535fc7bf41b6278acf7132eff7b91a081067590f2a6949b4a92781d8f3a",
"root_size_bytes": 20572
}
],
"paired_different_file_count": 68,
"paired_identical_file_count": 1085,
"risk": "The tracked geointel/ repository mirror can create ambiguous imports, stale tests and local/deployment drift; Docker excludes it but local tools may not.",
"tracked_mirror_file_count": 1153
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,663 +0,0 @@
{
"counts": {
"fallback": 27,
"fixture": 94,
"heuristic": 1,
"mock": 31,
"not_configured": 24,
"placeholder": 39,
"todo": 2
},
"examples": {
"fallback": [
{
"line": 1046,
"path": "backend/app/services/export_service.py",
"text": "def _filename(name: str | None, fallback: str, suffix: str) -> str:"
},
{
"line": 1047,
"path": "backend/app/services/export_service.py",
"text": "raw_name = name or fallback"
},
{
"line": 1050,
"path": "backend/app/services/export_service.py",
"text": "cleaned = fallback"
},
{
"line": 29,
"path": "backend/app/services/mdk_bathymetry_acquisition_service.py",
"text": "No depth values are ever synthesized, no insecure TLS fallback exists and the"
},
{
"line": 173,
"path": "backend/app/services/mdk_bathymetry_probe_service.py",
"text": "message=\"MDK WCS TLS certificate validation failed; insecure fallback is prohibited.\","
},
{
"line": 186,
"path": "backend/app/services/mdk_bathymetry_probe_service.py",
"text": "\"MDK WCS TLS certificate validation failed; insecure fallback is prohibited.\""
},
{
"line": 440,
"path": "backend/app/services/raster_operations_service.py",
"text": "# best effort fallback; keep computed dimensions."
},
{
"line": 19,
"path": "backend/app/services/raster_service.py",
"text": "except Exception as exc: # pragma: no cover - exercised via API-level fallback tests"
},
{
"line": 26,
"path": "backend/app/services/storage_service.py",
"text": "fallback = \"upload\""
},
{
"line": 28,
"path": "backend/app/services/storage_service.py",
"text": "return fallback"
},
{
"line": 37,
"path": "backend/app/services/storage_service.py",
"text": "return cleaned or fallback"
},
{
"line": 76,
"path": "frontend/src/hooks/useGeoAssistant.ts",
"text": "const fallback = result.default_model && result.items.some((model) => model.name === result.default_model)"
},
{
"line": 79,
"path": "frontend/src/hooks/useGeoAssistant.ts",
"text": "setDefaultModel(fallback)"
},
{
"line": 9,
"path": "frontend/src/lib/authError.ts",
"text": "export function formatAuthError(error: unknown, fallback: string): string {"
},
{
"line": 10,
"path": "frontend/src/lib/authError.ts",
"text": "if (!(error instanceof Error)) return fallback"
},
{
"line": 21,
"path": "frontend/src/lib/authError.ts",
"text": "return fallback"
},
{
"line": 24,
"path": "frontend/src/lib/authError.ts",
"text": "return error.message || fallback"
},
{
"line": 1,
"path": "frontend/src/lib/formatError.ts",
"text": "export function formatError(error: unknown, fallback: string): string {"
},
{
"line": 6,
"path": "frontend/src/lib/formatError.ts",
"text": "return fallback"
},
{
"line": 501,
"path": "scripts/provision_belgium_north_sea_scope.py",
"text": "def _max_admin_modification(payloads: dict[str, dict[str, Any]], fallback: str) -> str:"
},
{
"line": 507,
"path": "scripts/provision_belgium_north_sea_scope.py",
"text": "value = max(values) if values else fallback"
},
{
"line": 111,
"path": "scripts/refine_yolo_labels_with_sam.py",
"text": "parser.add_argument(\"--fallback-policy\", choices=(\"retain\", \"drop\"), default=\"retain\")"
},
{
"line": 42,
"path": "scripts/run_accuracy_phase1_baseline.py",
"text": "\"fallback\": re.compile(r\"\\b(?:fallback|fall back)\\b\", re.IGNORECASE),"
},
{
"line": 347,
"path": "scripts/run_accuracy_phase1_baseline.py",
"text": "\"mock/fixture/placeholder/fallback triage signals\","
},
{
"line": 52,
"path": "scripts/run_golden_qa_benchmark.py",
"text": "# Backwards-compatible fallback for older checkouts and local smoke scripts."
}
],
"fixture": [
{
"line": 3,
"path": "backend/app/providers/__init__.py",
"text": "from app.providers import base, fixture, grb, manual, osm, registry"
},
{
"line": 5,
"path": "backend/app/providers/__init__.py",
"text": "__all__ = [\"base\", \"fixture\", \"grb\", \"manual\", \"osm\", \"registry\"]"
},
{
"line": 9,
"path": "backend/app/providers/fixture.py",
"text": "provider_name=\"fixture\","
},
{
"line": 10,
"path": "backend/app/providers/fixture.py",
"text": "display_name=\"Fixture data\","
},
{
"line": 11,
"path": "backend/app/providers/fixture.py",
"text": "authority_level=\"fixture\","
},
{
"line": 14,
"path": "backend/app/providers/fixture.py",
"text": "supported_query_modes=[\"fixture\"],"
},
{
"line": 15,
"path": "backend/app/providers/fixture.py",
"text": "fetch_signature=\"tests/fixtures and demo fixture upload flow\","
},
{
"line": 16,
"path": "backend/app/providers/fixture.py",
"text": "limitation_message=\"Fixture provider represents local test/demo fixtures only.\","
},
{
"line": 7,
"path": "backend/app/providers/registry.py",
"text": "from app.providers.fixture import FixtureProvider"
},
{
"line": 37,
"path": "backend/app/providers/registry.py",
"text": "\"fixture\": FixtureProvider(),"
},
{
"line": 112,
"path": "backend/app/providers/registry.py",
"text": "provider_name=\"fixture\","
},
{
"line": 114,
"path": "backend/app/providers/registry.py",
"text": "message=\"Fixture provider data must use checked-in demo/test fixture flows.\","
},
{
"line": 122,
"path": "backend/app/services/demo_workflow_service.py",
"text": ".filter(Dataset.source_name == \"fixture\")"
},
{
"line": 129,
"path": "backend/app/services/demo_workflow_service.py",
"text": ".filter(Dataset.source_name == \"fixture\")"
},
{
"line": 148,
"path": "backend/app/services/demo_workflow_service.py",
"text": ".filter(Dataset.source_name == \"fixture\")"
},
{
"line": 213,
"path": "backend/app/services/demo_workflow_service.py",
"text": "source=\"fixture\","
},
{
"line": 218,
"path": "backend/app/services/demo_workflow_service.py",
"text": "\"fixture\": True,"
},
{
"line": 298,
"path": "backend/app/services/demo_workflow_service.py",
"text": "source=\"fixture\","
},
{
"line": 300,
"path": "backend/app/services/demo_workflow_service.py",
"text": "source_name=\"fixture\","
},
{
"line": 303,
"path": "backend/app/services/demo_workflow_service.py",
"text": "\"fixture\": True,"
},
{
"line": 423,
"path": "backend/app/services/demo_workflow_service.py",
"text": ".filter(Dataset.source_name == \"fixture\")"
},
{
"line": 430,
"path": "backend/app/services/demo_workflow_service.py",
"text": ".filter(Dataset.source_name == \"fixture\")"
},
{
"line": 472,
"path": "backend/app/services/demo_workflow_service.py",
"text": "description=\"Offline fixture workflow: reference buildings, predicted buildings and persisted QA metrics.\","
},
{
"line": 497,
"path": "backend/app/services/demo_workflow_service.py",
"text": "source_name=\"fixture\","
},
{
"line": 509,
"path": "backend/app/services/demo_workflow_service.py",
"text": "source_name=\"fixture\","
}
],
"heuristic": [
{
"line": 39,
"path": "scripts/run_accuracy_phase1_baseline.py",
"text": "\"heuristic\": re.compile(r\"\\bheuristic(?:s)?\\b\", re.IGNORECASE),"
}
],
"mock": [
{
"line": 7,
"path": "frontend/src/components/auth/LandingPage.test.tsx",
"text": "vi.mock('../../services/api/auth', () => ({"
},
{
"line": 34,
"path": "frontend/src/components/auth/LandingPage.test.tsx",
"text": "vi.mocked(login).mockReset()"
},
{
"line": 35,
"path": "frontend/src/components/auth/LandingPage.test.tsx",
"text": "vi.mocked(loginAsGuest).mockReset()"
},
{
"line": 42,
"path": "frontend/src/components/auth/LandingPage.test.tsx",
"text": "vi.mocked(login).mockResolvedValue(operatorSession)"
},
{
"line": 57,
"path": "frontend/src/components/auth/LandingPage.test.tsx",
"text": "vi.mocked(loginAsGuest).mockResolvedValue(guestSession)"
},
{
"line": 75,
"path": "frontend/src/components/auth/LandingPage.test.tsx",
"text": "vi.mocked(login).mockRejectedValue(new Error('Gebruikersnaam of wachtwoord is onjuist.'))"
},
{
"line": 8,
"path": "frontend/src/components/map/MunicipalitySearch.test.tsx",
"text": "vi.mock('../../services/api/areas', () => ({"
},
{
"line": 14,
"path": "frontend/src/components/map/MunicipalitySearch.test.tsx",
"text": "vi.mocked(areasApi.searchMunicipalities).mockResolvedValue({"
},
{
"line": 5,
"path": "frontend/src/hooks/useCoverageResolver.test.tsx",
"text": "const mocks = vi.hoisted(() => ({"
},
{
"line": 9,
"path": "frontend/src/hooks/useCoverageResolver.test.tsx",
"text": "vi.mock('../services/api', () => ({"
},
{
"line": 11,
"path": "frontend/src/hooks/useCoverageResolver.test.tsx",
"text": "resolveCoverage: mocks.resolveCoverage,"
},
{
"line": 35,
"path": "frontend/src/hooks/useCoverageResolver.test.tsx",
"text": "mocks.resolveCoverage.mockResolvedValue(coverageResult)"
},
{
"line": 51,
"path": "frontend/src/hooks/useCoverageResolver.test.tsx",
"text": "expect(mocks.resolveCoverage).not.toHaveBeenCalled()"
},
{
"line": 58,
"path": "frontend/src/hooks/useCoverageResolver.test.tsx",
"text": "expect(mocks.resolveCoverage).not.toHaveBeenCalled()"
},
{
"line": 64,
"path": "frontend/src/hooks/useCoverageResolver.test.tsx",
"text": "expect(mocks.resolveCoverage).toHaveBeenCalledWith({"
},
{
"line": 89,
"path": "frontend/src/hooks/useCoverageResolver.test.tsx",
"text": "mocks.resolveCoverage.mockRejectedValueOnce(new Error('provider unavailable'))"
},
{
"line": 102,
"path": "frontend/src/hooks/useCoverageResolver.test.tsx",
"text": "mocks.resolveCoverage.mockImplementationOnce("
},
{
"line": 5,
"path": "frontend/src/hooks/useTemporalComparison.test.tsx",
"text": "const mocks = vi.hoisted(() => ({"
},
{
"line": 9,
"path": "frontend/src/hooks/useTemporalComparison.test.tsx",
"text": "vi.mock('../services/api/temporal', () => ({"
},
{
"line": 11,
"path": "frontend/src/hooks/useTemporalComparison.test.tsx",
"text": "compare: mocks.compare,"
},
{
"line": 34,
"path": "frontend/src/hooks/useTemporalComparison.test.tsx",
"text": "expect(mocks.compare).not.toHaveBeenCalled()"
},
{
"line": 43,
"path": "frontend/src/hooks/useTemporalComparison.test.tsx",
"text": "expect(mocks.compare).not.toHaveBeenCalled()"
},
{
"line": 53,
"path": "frontend/src/hooks/useTemporalComparison.test.tsx",
"text": "mocks.compare.mockResolvedValueOnce(comparison)"
},
{
"line": 64,
"path": "frontend/src/hooks/useTemporalComparison.test.tsx",
"text": "expect(mocks.compare).toHaveBeenCalledWith('project-1', {"
},
{
"line": 37,
"path": "scripts/run_accuracy_phase1_baseline.py",
"text": "\"mock\": re.compile(r\"\\bmock(?:ed|ing|s)?\\b\", re.IGNORECASE),"
}
],
"not_configured": [
{
"line": 166,
"path": "backend/app/api/routes/external.py",
"text": "status=response.get(\"status\", \"not_configured\"),"
},
{
"line": 149,
"path": "backend/app/api/routes/health.py",
"text": "yolo_status = configured_yolo.status if configured_yolo else \"not_configured\""
},
{
"line": 79,
"path": "backend/app/providers/base.py",
"text": "status=\"configured\" if self.is_configured else \"not_configured\","
},
{
"line": 94,
"path": "backend/app/providers/base.py",
"text": "\"status\": \"not_configured\","
},
{
"line": 96,
"path": "backend/app/providers/registry.py",
"text": "status=\"not_configured\","
},
{
"line": 9,
"path": "backend/app/schemas/coverage.py",
"text": "CoverageStatus = Literal[\"operational\", \"partial\", \"not_configured\", \"unsupported\"]"
},
{
"line": 53,
"path": "backend/app/services/coverage_registry_service.py",
"text": "STATUS_ORDER = (\"unsupported\", \"not_configured\", \"partial\", \"operational\")"
},
{
"line": 340,
"path": "backend/app/services/coverage_registry_service.py",
"text": "integration_status=\"not_configured\","
},
{
"line": 572,
"path": "backend/app/services/coverage_registry_service.py",
"text": "\"not_configured\""
},
{
"line": 266,
"path": "backend/app/services/geo_assistant_service.py",
"text": "status=\"not_configured\","
},
{
"line": 42,
"path": "backend/app/services/model_registry_service.py",
"text": "status=\"not_configured\","
},
{
"line": 98,
"path": "backend/app/services/model_registry_service.py",
"text": "status=\"not_configured\","
},
{
"line": 127,
"path": "backend/app/services/model_registry_service.py",
"text": "status = \"not_configured\""
},
{
"line": 169,
"path": "backend/app/services/model_registry_service.py",
"text": "status = \"not_configured\""
},
{
"line": 211,
"path": "backend/app/services/model_registry_service.py",
"text": "status = \"not_configured\""
},
{
"line": 36,
"path": "backend/app/services/yolo_preflight_service.py",
"text": "\"status\": \"not_configured\","
},
{
"line": 40,
"path": "frontend/src/components/detection/DetectionModelManagement.tsx",
"text": "if (value === 'not_configured') return 'niet geconfigureerd'"
},
{
"line": 295,
"path": "frontend/src/components/map/MapWorkspace.tsx",
"text": "not_configured: 'Niet gekoppeld',"
},
{
"line": 1050,
"path": "frontend/src/components/map/MapWorkspace.tsx",
"text": "{ operational: 0, partial: 0, not_configured: 0, unsupported: 0 },"
},
{
"line": 1051,
"path": "frontend/src/components/map/MapWorkspace.tsx",
"text": ") ?? { operational: 0, partial: 0, not_configured: 0, unsupported: 0 },"
},
{
"line": 3365,
"path": "frontend/src/components/map/MapWorkspace.tsx",
"text": "<span>{coverageCounts.not_configured} niet gekoppeld</span>"
},
{
"line": 6,
"path": "frontend/src/components/models/modelOptions.ts",
"text": "const configured = model.configured && model.status !== 'not_configured'"
},
{
"line": 1072,
"path": "frontend/src/types.ts",
"text": "export type CoverageStatus = 'operational' | 'partial' | 'not_configured' | 'unsupported'"
},
{
"line": 40,
"path": "scripts/run_accuracy_phase1_baseline.py",
"text": "\"not_configured\": re.compile(r\"\\bnot_configured\\b\", re.IGNORECASE),"
}
],
"placeholder": [
{
"line": 36,
"path": "backend/app/services/model_registry_service.py",
"text": "model_id=\"yolo-placeholder\","
},
{
"line": 37,
"path": "backend/app/services/model_registry_service.py",
"text": "display_name=\"YOLO detector placeholder\","
},
{
"line": 92,
"path": "backend/app/services/model_registry_service.py",
"text": "model_id=\"segmentation-placeholder\","
},
{
"line": 93,
"path": "backend/app/services/model_registry_service.py",
"text": "display_name=\"Segmentation placeholder\","
},
{
"line": 94,
"path": "backend/app/services/model_registry_service.py",
"text": "framework=\"placeholder\","
},
{
"line": 99,
"path": "backend/app/services/model_registry_service.py",
"text": "limitation_message=\"Segmentation inference is not configured for this placeholder; no model is downloaded or executed.\","
},
{
"line": 187,
"path": "frontend/src/components/assistant/GeoAssistantPanel.tsx",
"text": "placeholder=\"Bijvoorbeeld: hoeveel bos verdween er sinds 2013?\""
},
{
"line": 246,
"path": "frontend/src/components/datasets/DatasetPanel.tsx",
"text": "placeholder=\"bijvoorbeeld eigen luchtbeeld\""
},
{
"line": 306,
"path": "frontend/src/components/datasets/DatasetPanel.tsx",
"text": "placeholder=\"Naam, bron, gemeente of type\""
},
{
"line": 276,
"path": "frontend/src/components/datasets/RasterControls.tsx",
"text": "placeholder=\"EPSG:31370\""
},
{
"line": 345,
"path": "frontend/src/components/datasets/RasterControls.tsx",
"text": "placeholder=\"optioneel\""
},
{
"line": 44,
"path": "frontend/src/components/detection/DetectionLab.tsx",
"text": "if (modelName === 'yolo-placeholder') return 'Niet-geconfigureerd gebouwmodel'"
},
{
"line": 516,
"path": "frontend/src/components/detection/DetectionLab.tsx",
"text": "placeholder=\"Pad naar de aangemaakte beeldtegels\""
},
{
"line": 583,
"path": "frontend/src/components/detection/DetectionLab.tsx",
"text": "placeholder=\"0.50 0.25 0.15\""
},
{
"line": 715,
"path": "frontend/src/components/detection/DetectionLab.tsx",
"text": "placeholder=\"bijvoorbeeld gebouw\""
},
{
"line": 28,
"path": "frontend/src/components/detection/DetectionModelManagement.tsx",
"text": "if (model.model_id === 'yolo-placeholder') return 'Gebouwmodel nog niet geconfigureerd'"
},
{
"line": 402,
"path": "frontend/src/components/exports/ExportCenter.tsx",
"text": "placeholder=\"Type, id of pad\""
},
{
"line": 2312,
"path": "frontend/src/components/map/MapWorkspace.tsx",
"text": "placeholder=\"Zoek themas\""
},
{
"line": 82,
"path": "frontend/src/components/map/MunicipalitySearch.tsx",
"text": "placeholder=\"Gemeentenaam of NIS-code\""
},
{
"line": 98,
"path": "frontend/src/components/project/AreaPanel.tsx",
"text": "placeholder=\"Naam van het gebied\""
},
{
"line": 106,
"path": "frontend/src/components/project/AreaPanel.tsx",
"text": "placeholder=\"EPSG:4326\""
},
{
"line": 142,
"path": "frontend/src/components/project/AreaPanel.tsx",
"text": "placeholder=\"Bijvoorbeeld Brussel, Namen of Noordzee\""
},
{
"line": 119,
"path": "frontend/src/components/project/ProjectPanel.tsx",
"text": "placeholder=\"Naam van de werkruimte\""
},
{
"line": 127,
"path": "frontend/src/components/project/ProjectPanel.tsx",
"text": "placeholder=\"Korte beschrijving\""
},
{
"line": 135,
"path": "frontend/src/components/project/ProjectPanel.tsx",
"text": "placeholder=\"Regio\""
}
],
"todo": [
{
"line": 23,
"path": "scripts/codex_pass_end_check.sh",
"text": "\"TODO: implement later\\|placeholder only\\|fake completed\" \\"
},
{
"line": 6,
"path": "scripts/contract_drift_grep.sh",
"text": "if grep -R \"TODO: decide\\|TBD\\|placeholder only\\|fake real\" -n docs contracts backend frontend prompts 2>/dev/null; then"
}
]
},
"interpretation": "Triage signals only; production impact requires a traced contract/runtime path."
}
@@ -1,215 +0,0 @@
{
"captured_at": "2026-08-01T18:13:54.6553+02:00",
"claim_boundary": "One production-adapter inference completed on one existing tile. No accuracy, calibration, geographic-generalization, or release claim follows from this smoke.",
"configuration": {
"confidence": 0.5,
"deterministic_algorithms": true,
"device": "cuda:0",
"image_size": 640,
"max_detections": 1000,
"seed": 20260801
},
"input": {
"manifest_path": "/app/storage/tiles/cb80638d-dbef-48ac-b19c-cec7c3efc96e/ae0ff76d-70c0-404f-b777-54d14517179a/b191c968-7d56-4e0d-afbb-8b5baaa62470/manifest.json",
"manifest_sha256": "6ab8a96bf2a1405e224932afb90255311a09bbeaed4e9a2fdcdf8b1bc2230abd",
"raster": {
"available": true,
"bounds": [
193277.53584918313,
205708.27443503588,
193777.53584918313,
206208.27443503588
],
"count": 3,
"crs": "EPSG:31370",
"dtypes": [
"uint8",
"uint8",
"uint8"
],
"height": 512,
"nodata": null,
"transform": [
0.9765625,
0.0,
193277.53584918313,
0.0,
-0.9765625,
206208.27443503588,
0.0,
0.0,
1.0
],
"width": 512
},
"tile_path": "/app/storage/tiles/cb80638d-dbef-48ac-b19c-cec7c3efc96e/ae0ff76d-70c0-404f-b777-54d14517179a/b191c968-7d56-4e0d-afbb-8b5baaa62470/tile_0000.tif",
"tile_sha256": "134a9e86850c92c577c73bc6ee57a9df7d4c1c513ae6450263e800b6dd47b6ee",
"tile_size_bytes": 669227
},
"model": {
"path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"size_bytes": 22516074
},
"output": {
"class_counts": {
"building": 17
},
"confidence": {
"maximum": 0.8144345879554749,
"mean": 0.5594814244438621,
"minimum": 0.5008771419525146
},
"count": 17,
"sample": [
{
"bbox": [
125.5418930053711,
157.9995880126953,
187.2771453857422,
232.72903442382812
],
"class_name": "building",
"confidence": 0.8144345879554749,
"properties": {
"class_id": 0
}
},
{
"bbox": [
38.20725631713867,
487.8446350097656,
56.458614349365234,
510.8298034667969
],
"class_name": "building",
"confidence": 0.6531882286071777,
"properties": {
"class_id": 0
}
},
{
"bbox": [
177.36990356445312,
229.9929656982422,
248.5861053466797,
267.96173095703125
],
"class_name": "building",
"confidence": 0.6213690638542175,
"properties": {
"class_id": 0
}
},
{
"bbox": [
367.4935607910156,
474.3263244628906,
407.673828125,
498.2358093261719
],
"class_name": "building",
"confidence": 0.6148342490196228,
"properties": {
"class_id": 0
}
},
{
"bbox": [
435.2783203125,
131.2145233154297,
453.61016845703125,
166.76919555664062
],
"class_name": "building",
"confidence": 0.5637134313583374,
"properties": {
"class_id": 0
}
},
{
"bbox": [
407.32525634765625,
317.380126953125,
416.885009765625,
326.8919982910156
],
"class_name": "building",
"confidence": 0.547556459903717,
"properties": {
"class_id": 0
}
},
{
"bbox": [
395.66558837890625,
356.8952331542969,
413.51416015625,
377.1672668457031
],
"class_name": "building",
"confidence": 0.5378748774528503,
"properties": {
"class_id": 0
}
},
{
"bbox": [
394.0309143066406,
143.1604461669922,
408.4023132324219,
167.8805389404297
],
"class_name": "building",
"confidence": 0.5360639095306396,
"properties": {
"class_id": 0
}
},
{
"bbox": [
125.3250503540039,
56.1500358581543,
157.87998962402344,
68.70291900634766
],
"class_name": "building",
"confidence": 0.5342658162117004,
"properties": {
"class_id": 0
}
},
{
"bbox": [
213.7998504638672,
77.86518859863281,
230.8061065673828,
90.1888198852539
],
"class_name": "building",
"confidence": 0.5319290161132812,
"properties": {
"class_id": 0
}
}
]
},
"read_only": true,
"runtime": {
"cuda_available": true,
"cuda_device_index": 0,
"cuda_device_name": "NVIDIA GeForce RTX 4080 SUPER",
"cuda_peak_memory_bytes": 82307072,
"cuda_runtime": "12.8",
"python": "3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]",
"torch": "2.11.0+cu128",
"ultralytics": "8.4.99"
},
"schema_version": 1,
"status": "passed",
"timing_seconds": {
"inference": 0.8836944859940559,
"model_load": 0.48524460900807753,
"total": 1.3689390950021334
}
}
@@ -1,25 +0,0 @@
{
"schema_version": 1,
"captured_at": "2026-08-01T18:46:19.288288+02:00",
"read_only": true,
"artifacts": [
{
"path": "/app/storage/training/building-be-v62-v58-flanders-balanced-transfer-r1/runs/flanders/weights/best.pt",
"exists": true,
"size_bytes": 456136473,
"sha256": "889ee5b3bfe722803542d15a53a51a716872cf0e8516da5e8291e0a2605adbdb"
},
{
"path": "/app/storage/training/building-be-v62-v58-flanders-balanced-transfer-r1/runs/flanders/weights/last.pt",
"exists": true,
"size_bytes": 456136985,
"sha256": "08d12061f017c45c123c824ffa043bc07794beef251c903299eb1e0954636c8b"
},
{
"path": "/app/storage/training/building-be-v56-rotated-quality-audit-r1/operator_yolo_dataset_quality_audit.json",
"exists": true,
"size_bytes": 153659,
"sha256": "da0d4648ee2365ab949f1b00518ddba0a17cb722a41cb228525b4d2e7657ce36"
}
]
}
File diff suppressed because it is too large Load Diff
@@ -1,503 +0,0 @@
{
"active_model": {
"classes": "building",
"configured_path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"device": "cuda:0",
"exists": true,
"model_id": "yolo-configured",
"model_version": "",
"require_cuda": "true",
"sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"size_bytes": 22516074,
"validated_area_names": "Mol,Kempen",
"validation_scope_enforced": "true"
},
"database": {
"analysis_statuses": [
{
"count": 2,
"status": "failed"
},
{
"count": 1144,
"status": "success"
}
],
"confidence_integrity": [
{
"detections_outside_unit_interval": 0,
"segmentations_outside_unit_interval": 0
}
],
"dataset_lineage_gaps": [
{
"missing_checksum": 0,
"missing_crs": 0,
"missing_imported_at": 0,
"missing_observed_at": 2377,
"missing_provenance_metadata": 0,
"missing_source_metadata": 0,
"missing_source_version": 1761,
"total": 3377
}
],
"dataset_statuses": [
{
"count": 3377,
"status": "ready"
}
],
"dataset_version_gaps": [
{
"missing_checksum": 0,
"missing_provenance_metadata": 0,
"missing_source_metadata": 0,
"missing_storage_path": 0,
"total": 1671
}
],
"geometry_integrity": {
"areas": {
"rows": [
{
"empty": 0,
"invalid": 0,
"outside_epsg4326_domain": 0,
"populated": 387,
"wrong_srid": 0
}
],
"status": "ok"
},
"detections": {
"rows": [
{
"empty": 0,
"invalid": 0,
"outside_epsg4326_domain": 4,
"populated": 299233,
"wrong_srid": 0
}
],
"status": "ok"
},
"segmentations": {
"rows": [
{
"empty": 0,
"invalid": 0,
"outside_epsg4326_domain": 0,
"populated": 0,
"wrong_srid": 0
}
],
"status": "ok"
},
"vector_features": {
"rows": [
{
"empty": 0,
"invalid": 0,
"outside_epsg4326_domain": 0,
"populated": 6689447,
"wrong_srid": 0
}
],
"status": "ok"
}
},
"job_statuses": [
{
"count": 135,
"status": "failed"
},
{
"count": 4325,
"status": "success"
}
],
"metric_nulls": [
{
"metric_key": "f1",
"null_values": 58,
"total": 697
},
{
"metric_key": "false_negative_count",
"null_values": 0,
"total": 697
},
{
"metric_key": "false_positive_count",
"null_values": 0,
"total": 697
},
{
"metric_key": "mean_iou",
"null_values": 90,
"total": 697
},
{
"metric_key": "precision",
"null_values": 58,
"total": 697
},
{
"metric_key": "recall",
"null_values": 1,
"total": 697
}
],
"migration_heads": [
"202607260001"
],
"model_run_summary": [
{
"analysis_type": "detection",
"count": 1144,
"model_name": "yolo-configured",
"model_version": "",
"status": "success"
},
{
"analysis_type": "detection",
"count": 2,
"model_name": "yolo-configured",
"model_version": "",
"status": "failed"
}
],
"outside_domain_detection_records": [
{
"analysis_run_id": "7ba34274-411d-45e3-8f54-c37baec598b1",
"analysis_status": "success",
"analysis_type": "detection",
"bbox_json": {
"x_max": 376.3067321777344,
"x_min": 256.26025390625,
"y_max": 273.9410705566406,
"y_min": 157.967041015625
},
"class_name": "building",
"confidence": 0.6873681545257568,
"created_at": "2026-07-06 23:58:50.968501+00:00",
"dataset_id": "ae0ff76d-70c0-404f-b777-54d14517179a",
"dataset_name": "geel_orthophoto_wms_512.tif",
"dataset_source_name": "manual",
"detection_id": "18f27c89-3793-429c-8fc4-41f8801a9c31",
"max_x": 193645.02289232545,
"max_y": 206054.00974654406,
"min_x": 193527.79000338845,
"min_y": 205940.75385832042,
"model_name": "yolo-configured",
"model_version": "",
"project_name": "GeoIntel Real Data Validation 20260706T235847Z",
"source_tile_path": "/app/storage/tiles/cb80638d-dbef-48ac-b19c-cec7c3efc96e/ae0ff76d-70c0-404f-b777-54d14517179a/b191c968-7d56-4e0d-afbb-8b5baaa62470/tile_0000.tif"
},
{
"analysis_run_id": "7ba34274-411d-45e3-8f54-c37baec598b1",
"analysis_status": "success",
"analysis_type": "detection",
"bbox_json": {
"x_max": 353.90289306640625,
"x_min": 252.73110961914062,
"y_max": 352.81695556640625,
"y_min": 319.88580322265625
},
"class_name": "building",
"confidence": 0.5060421824455261,
"created_at": "2026-07-06 23:58:50.968501+00:00",
"dataset_id": "ae0ff76d-70c0-404f-b777-54d14517179a",
"dataset_name": "geel_orthophoto_wms_512.tif",
"dataset_source_name": "manual",
"detection_id": "2d6aed95-d8b0-488b-87dd-59b242bf2426",
"max_x": 193623.1441431933,
"max_y": 205895.88595532626,
"min_x": 193524.34357342057,
"min_y": 205863.72662686557,
"model_name": "yolo-configured",
"model_version": "",
"project_name": "GeoIntel Real Data Validation 20260706T235847Z",
"source_tile_path": "/app/storage/tiles/cb80638d-dbef-48ac-b19c-cec7c3efc96e/ae0ff76d-70c0-404f-b777-54d14517179a/b191c968-7d56-4e0d-afbb-8b5baaa62470/tile_0000.tif"
},
{
"analysis_run_id": "7ba34274-411d-45e3-8f54-c37baec598b1",
"analysis_status": "success",
"analysis_type": "detection",
"bbox_json": {
"x_max": 508.56524658203125,
"x_min": 330.76678466796875,
"y_max": 511.4638671875,
"y_min": 380.63653564453125
},
"class_name": "building",
"confidence": 0.581618070602417,
"created_at": "2026-07-06 23:58:50.968501+00:00",
"dataset_id": "ae0ff76d-70c0-404f-b777-54d14517179a",
"dataset_name": "geel_orthophoto_wms_512.tif",
"dataset_source_name": "manual",
"detection_id": "6e9eadb8-a3c5-4f12-b5ef-d00c00571428",
"max_x": 193774.1815977984,
"max_y": 205836.55906819552,
"min_x": 193600.55028733544,
"min_y": 205708.7980022356,
"model_name": "yolo-configured",
"model_version": "",
"project_name": "GeoIntel Real Data Validation 20260706T235847Z",
"source_tile_path": "/app/storage/tiles/cb80638d-dbef-48ac-b19c-cec7c3efc96e/ae0ff76d-70c0-404f-b777-54d14517179a/b191c968-7d56-4e0d-afbb-8b5baaa62470/tile_0000.tif"
},
{
"analysis_run_id": "7ba34274-411d-45e3-8f54-c37baec598b1",
"analysis_status": "success",
"analysis_type": "detection",
"bbox_json": {
"x_max": 54.1800422668457,
"x_min": 0.481353759765625,
"y_max": 511.86688232421875,
"y_min": 456.6719665527344
},
"class_name": "building",
"confidence": 0.5783078670501709,
"created_at": "2026-07-06 23:58:50.968501+00:00",
"dataset_id": "ae0ff76d-70c0-404f-b777-54d14517179a",
"dataset_name": "geel_orthophoto_wms_512.tif",
"dataset_source_name": "manual",
"detection_id": "bec4f3af-5ca2-4a38-a547-21aeb19a70fd",
"max_x": 193330.44604670934,
"max_y": 205762.30571769923,
"min_x": 193278.00592121415,
"min_y": 205708.40443276614,
"model_name": "yolo-configured",
"model_version": "",
"project_name": "GeoIntel Real Data Validation 20260706T235847Z",
"source_tile_path": "/app/storage/tiles/cb80638d-dbef-48ac-b19c-cec7c3efc96e/ae0ff76d-70c0-404f-b777-54d14517179a/b191c968-7d56-4e0d-afbb-8b5baaa62470/tile_0000.tif"
}
],
"postgis_version": "POSTGIS=\"3.6.4 94d984b\" [EXTENSION] PGSQL=\"160\" GEOS=\"3.11.1-CAPI-1.17.1\" PROJ=\"9.1.1 NETWORK_ENABLED=OFF URL_ENDPOINT=https://cdn.proj.org USER_WRITABLE_DIRECTORY=/tmp/proj DATABASE_PATH=/usr/share/proj/proj.db\" LIBXML=\"2.9.14\" LIBJSON=\"0.16\" LIBPROTOBUF=\"1.4.1\" WAGYU=\"0.5.0 (Internal)\" (core procs from \"3.4.3 e365945\" need upgrade) TOPOLOGY (topology procs from \"3.4.3 e365945\" need upgrade)",
"source_summary": [
{
"count": 1751,
"reference_count": 660,
"source_name": "manual",
"status": "ready"
},
{
"count": 339,
"reference_count": 0,
"source_name": "vmm_flood_hazard",
"status": "ready"
},
{
"count": 273,
"reference_count": 273,
"source_name": "vmm_vha_bathymetry_profiles",
"status": "ready"
},
{
"count": 210,
"reference_count": 0,
"source_name": "department_omgeving_thematic_raster",
"status": "ready"
},
{
"count": 179,
"reference_count": 179,
"source_name": "grb",
"status": "ready"
},
{
"count": 168,
"reference_count": 0,
"source_name": "digitaal_vlaanderen_orthophoto",
"status": "ready"
},
{
"count": 107,
"reference_count": 0,
"source_name": "spw_orthophoto",
"status": "ready"
},
{
"count": 68,
"reference_count": 68,
"source_name": "spw_picc",
"status": "ready"
},
{
"count": 60,
"reference_count": 0,
"source_name": "digitaal_vlaanderen_dhmv",
"status": "ready"
},
{
"count": 36,
"reference_count": 36,
"source_name": "urbis",
"status": "ready"
},
{
"count": 26,
"reference_count": 0,
"source_name": "urbis_orthophoto",
"status": "ready"
},
{
"count": 26,
"reference_count": 26,
"source_name": "waterinfo",
"status": "ready"
},
{
"count": 25,
"reference_count": 25,
"source_name": "department_omgeving_land_use",
"status": "ready"
},
{
"count": 21,
"reference_count": 21,
"source_name": "historical_landuse",
"status": "ready"
},
{
"count": 18,
"reference_count": 18,
"source_name": "agentschap_landbouw_zeevisserij_agricultural_parcels",
"status": "ready"
},
{
"count": 15,
"reference_count": 15,
"source_name": "statbel",
"status": "ready"
},
{
"count": 13,
"reference_count": 13,
"source_name": "dov_soil_map",
"status": "ready"
},
{
"count": 12,
"reference_count": 12,
"source_name": "inbo_bwk_natura2000",
"status": "ready"
},
{
"count": 7,
"reference_count": 0,
"source_name": "spw_walous_land_cover",
"status": "ready"
},
{
"count": 6,
"reference_count": 0,
"source_name": "vrbg",
"status": "ready"
},
{
"count": 5,
"reference_count": 1,
"source_name": "fixture",
"status": "ready"
},
{
"count": 4,
"reference_count": 4,
"source_name": "ngi_adminvector",
"status": "ready"
},
{
"count": 3,
"reference_count": 0,
"source_name": "map_selection",
"status": "ready"
},
{
"count": 1,
"reference_count": 1,
"source_name": "digitaal_vlaanderen_buildings_addresses_register",
"status": "ready"
},
{
"count": 1,
"reference_count": 1,
"source_name": "rbins_marine_reporting_units",
"status": "ready"
},
{
"count": 1,
"reference_count": 1,
"source_name": "rbins_msp_2026",
"status": "ready"
},
{
"count": 1,
"reference_count": 0,
"source_name": "spw_bathymetry",
"status": "ready"
},
{
"count": 1,
"reference_count": 0,
"source_name": "spw_terrain",
"status": "ready"
}
],
"table_counts": {
"analysis_runs": 1146,
"aoi_operation_partitions": 61,
"aoi_operations": 4,
"areas": 387,
"dataset_versions": 1671,
"datasets": 3377,
"detection_reviews": 0,
"detections": 299233,
"exports": 768,
"jobs": 4460,
"metrics": 4182,
"projects": 1097,
"quality_checks": 697,
"segmentations": 0,
"vector_features": 6689447
},
"version": "PostgreSQL 16.14 (Debian 16.14-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit"
},
"generated_at": "2026-08-01T16:06:01.768127+00:00",
"mode": "read_only",
"runtime": {
"cuda": {
"available": true,
"device_count": 1,
"device_names": [
"NVIDIA GeForce RTX 4080 SUPER"
],
"runtime_version": "12.8"
},
"packages": {
"fastapi": "0.139.2",
"geoalchemy2": "0.20.0",
"geointel-backend": "0.1.0",
"geopandas": "1.1.4",
"pyproj": "3.7.2",
"rasterio": "1.4.4",
"shapely": "2.1.2",
"sqlalchemy": "2.0.51",
"torch": "2.11.0+cu128",
"torchvision": "0.26.0+cu128",
"ultralytics": "8.4.99"
},
"platform": "Linux-6.12.54-Unraid-x86_64-with-glibc2.36",
"python": "3.11.2"
},
"schema_version": 1,
"statement_timeout_ms": 30000,
"storage_references": {
"checked_count": 5816,
"missing_count": 0,
"missing_records": [],
"records_truncated": false,
"scope": "direct datasets, dataset_versions and exports storage_path columns"
},
"storage_root": "/app/storage"
}
@@ -1,397 +0,0 @@
{
"active_model": {
"classes": "building",
"configured_path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"device": "cuda:0",
"exists": true,
"model_id": "yolo-configured",
"model_version": "",
"require_cuda": "true",
"sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"size_bytes": 22516074,
"validated_area_names": "Mol,Kempen",
"validation_scope_enforced": "true"
},
"database": {
"analysis_statuses": [
{
"count": 2,
"status": "failed"
},
{
"count": 1144,
"status": "success"
}
],
"confidence_integrity": [
{
"detections_outside_unit_interval": 0,
"segmentations_outside_unit_interval": 0
}
],
"dataset_lineage_gaps": [
{
"missing_checksum": 0,
"missing_crs": 0,
"missing_imported_at": 0,
"missing_observed_at": 2377,
"missing_provenance_metadata": 0,
"missing_source_metadata": 0,
"missing_source_version": 1761,
"total": 3377
}
],
"dataset_statuses": [
{
"count": 3377,
"status": "ready"
}
],
"dataset_version_gaps": [
{
"missing_checksum": 0,
"missing_provenance_metadata": 0,
"missing_source_metadata": 0,
"missing_storage_path": 0,
"total": 1671
}
],
"geometry_integrity": {
"areas": {
"rows": [
{
"empty": 0,
"invalid": 0,
"outside_epsg4326_domain": 0,
"populated": 387,
"wrong_srid": 0
}
],
"status": "ok"
},
"detections": {
"rows": [
{
"empty": 0,
"invalid": 0,
"outside_epsg4326_domain": 4,
"populated": 299233,
"wrong_srid": 0
}
],
"status": "ok"
},
"segmentations": {
"rows": [
{
"empty": 0,
"invalid": 0,
"outside_epsg4326_domain": 0,
"populated": 0,
"wrong_srid": 0
}
],
"status": "ok"
},
"vector_features": {
"rows": [
{
"empty": 0,
"invalid": 0,
"outside_epsg4326_domain": 0,
"populated": 6689447,
"wrong_srid": 0
}
],
"status": "ok"
}
},
"job_statuses": [
{
"count": 135,
"status": "failed"
},
{
"count": 4325,
"status": "success"
}
],
"metric_nulls": [
{
"metric_key": "f1",
"null_values": 58,
"total": 697
},
{
"metric_key": "false_negative_count",
"null_values": 0,
"total": 697
},
{
"metric_key": "false_positive_count",
"null_values": 0,
"total": 697
},
{
"metric_key": "mean_iou",
"null_values": 90,
"total": 697
},
{
"metric_key": "precision",
"null_values": 58,
"total": 697
},
{
"metric_key": "recall",
"null_values": 1,
"total": 697
}
],
"migration_heads": [
"202607260001"
],
"model_run_summary": [
{
"analysis_type": "detection",
"count": 1144,
"model_name": "yolo-configured",
"model_version": "",
"status": "success"
},
{
"analysis_type": "detection",
"count": 2,
"model_name": "yolo-configured",
"model_version": "",
"status": "failed"
}
],
"postgis_version": "POSTGIS=\"3.6.4 94d984b\" [EXTENSION] PGSQL=\"160\" GEOS=\"3.11.1-CAPI-1.17.1\" PROJ=\"9.1.1 NETWORK_ENABLED=OFF URL_ENDPOINT=https://cdn.proj.org USER_WRITABLE_DIRECTORY=/tmp/proj DATABASE_PATH=/usr/share/proj/proj.db\" LIBXML=\"2.9.14\" LIBJSON=\"0.16\" LIBPROTOBUF=\"1.4.1\" WAGYU=\"0.5.0 (Internal)\" (core procs from \"3.4.3 e365945\" need upgrade) TOPOLOGY (topology procs from \"3.4.3 e365945\" need upgrade)",
"source_summary": [
{
"count": 1751,
"reference_count": 660,
"source_name": "manual",
"status": "ready"
},
{
"count": 339,
"reference_count": 0,
"source_name": "vmm_flood_hazard",
"status": "ready"
},
{
"count": 273,
"reference_count": 273,
"source_name": "vmm_vha_bathymetry_profiles",
"status": "ready"
},
{
"count": 210,
"reference_count": 0,
"source_name": "department_omgeving_thematic_raster",
"status": "ready"
},
{
"count": 179,
"reference_count": 179,
"source_name": "grb",
"status": "ready"
},
{
"count": 168,
"reference_count": 0,
"source_name": "digitaal_vlaanderen_orthophoto",
"status": "ready"
},
{
"count": 107,
"reference_count": 0,
"source_name": "spw_orthophoto",
"status": "ready"
},
{
"count": 68,
"reference_count": 68,
"source_name": "spw_picc",
"status": "ready"
},
{
"count": 60,
"reference_count": 0,
"source_name": "digitaal_vlaanderen_dhmv",
"status": "ready"
},
{
"count": 36,
"reference_count": 36,
"source_name": "urbis",
"status": "ready"
},
{
"count": 26,
"reference_count": 0,
"source_name": "urbis_orthophoto",
"status": "ready"
},
{
"count": 26,
"reference_count": 26,
"source_name": "waterinfo",
"status": "ready"
},
{
"count": 25,
"reference_count": 25,
"source_name": "department_omgeving_land_use",
"status": "ready"
},
{
"count": 21,
"reference_count": 21,
"source_name": "historical_landuse",
"status": "ready"
},
{
"count": 18,
"reference_count": 18,
"source_name": "agentschap_landbouw_zeevisserij_agricultural_parcels",
"status": "ready"
},
{
"count": 15,
"reference_count": 15,
"source_name": "statbel",
"status": "ready"
},
{
"count": 13,
"reference_count": 13,
"source_name": "dov_soil_map",
"status": "ready"
},
{
"count": 12,
"reference_count": 12,
"source_name": "inbo_bwk_natura2000",
"status": "ready"
},
{
"count": 7,
"reference_count": 0,
"source_name": "spw_walous_land_cover",
"status": "ready"
},
{
"count": 6,
"reference_count": 0,
"source_name": "vrbg",
"status": "ready"
},
{
"count": 5,
"reference_count": 1,
"source_name": "fixture",
"status": "ready"
},
{
"count": 4,
"reference_count": 4,
"source_name": "ngi_adminvector",
"status": "ready"
},
{
"count": 3,
"reference_count": 0,
"source_name": "map_selection",
"status": "ready"
},
{
"count": 1,
"reference_count": 1,
"source_name": "digitaal_vlaanderen_buildings_addresses_register",
"status": "ready"
},
{
"count": 1,
"reference_count": 1,
"source_name": "rbins_marine_reporting_units",
"status": "ready"
},
{
"count": 1,
"reference_count": 1,
"source_name": "rbins_msp_2026",
"status": "ready"
},
{
"count": 1,
"reference_count": 0,
"source_name": "spw_bathymetry",
"status": "ready"
},
{
"count": 1,
"reference_count": 0,
"source_name": "spw_terrain",
"status": "ready"
}
],
"table_counts": {
"analysis_runs": 1146,
"aoi_operation_partitions": 61,
"aoi_operations": 4,
"areas": 387,
"dataset_versions": 1671,
"datasets": 3377,
"detection_reviews": 0,
"detections": 299233,
"exports": 768,
"jobs": 4460,
"metrics": 4182,
"projects": 1097,
"quality_checks": 697,
"segmentations": 0,
"vector_features": 6689447
},
"version": "PostgreSQL 16.14 (Debian 16.14-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit"
},
"generated_at": "2026-08-01T16:03:11.003029+00:00",
"mode": "read_only",
"runtime": {
"cuda": {
"available": true,
"device_count": 1,
"device_names": [
"NVIDIA GeForce RTX 4080 SUPER"
],
"runtime_version": "12.8"
},
"packages": {
"fastapi": "0.139.2",
"geoalchemy2": "0.20.0",
"geointel-backend": "0.1.0",
"geopandas": "1.1.4",
"pyproj": "3.7.2",
"rasterio": "1.4.4",
"shapely": "2.1.2",
"sqlalchemy": "2.0.51",
"torch": "2.11.0+cu128",
"torchvision": "0.26.0+cu128",
"ultralytics": "8.4.99"
},
"platform": "Linux-6.12.54-Unraid-x86_64-with-glibc2.36",
"python": "3.11.2"
},
"schema_version": 1,
"statement_timeout_ms": 30000,
"storage_references": {
"checked_count": 5816,
"missing_count": 0,
"missing_records": [],
"records_truncated": false,
"scope": "direct datasets, dataset_versions and exports storage_path columns"
},
"storage_root": "/app/storage"
}
@@ -1,107 +0,0 @@
{
"schema_version": 1,
"program": "GeoIntel Accuracy Improvement Program",
"phase": "P2",
"collected_at": "2026-08-01T23:43:55+02:00",
"claim_boundary": "This manifest verifies the implemented source, provenance, contract, quarantine and training-input foundation in the repository and a disposable PostGIS database. It is not a production migration deployment, a complete P2 roadmap result, a corpus approval, a CUDA training result, a protected-test result or a promotion decision.",
"repository": {
"branch": "codex/geointel-accuracy-program",
"head_at_collection": "cebeb5f3b4f836274c0504c2cc5fc2a019a8ea8b",
"working_tree": "dirty; evidence was collected against the uncommitted Phase-2 implementation"
},
"artifacts": [
{
"path": "artifacts/evidence/accuracy/P2/postgres-migration-guards.json",
"sha256": "1bf19dc52935372381a974dadfff3f588aafa69925d379f97b192e84380192e3",
"meaning": "Disposable PostGIS upgrade, real trigger-guard DML checks and full downgrade. The fixture database name begins with geointel_phase2_ and is not a production database."
},
{
"path": "artifacts/evidence/accuracy/P2/source-contract-inventory.json",
"sha256": "c7445ab984407d3a835532182767cf87e5e26fd79b3ecba123aef54ee3cdc733",
"meaning": "Static registry and contract inventory: 40 server-owned source definitions and the active versioned vector, raster, label and model contracts."
}
],
"verification": [
{
"command": "python scripts\\verify_phase2_postgres_guards.py --database-url <disposable geointel_phase2_guard_test URL> --output artifacts\\evidence\\accuracy\\P2\\postgres-migration-guards.json",
"result": "passed",
"coverage": [
"upgrade to 202608010001 and downgrade to base",
"source/snapshot pairing and source/snapshot immutability",
"passed contract reports and exact Dataset/DatasetVersion checksum-to-snapshot binding",
"accepted artifact, provenance and temporal-evidence immutability",
"lineage-cycle rejection and insert-only lineage edges",
"version quarantine, shared-snapshot fan-out and transitive A-to-B-to-C lineage quarantine"
]
},
{
"command": "python scripts\\run_accuracy_phase2_foundation_audit.py --output artifacts\\evidence\\accuracy\\P2\\source-contract-inventory.json",
"result": "passed",
"coverage": [
"40 source definitions",
"source classifications and task policy",
"GRB primary building-validation policy",
"separate Buildings Register, DHMV, Sentinel-2 and OSM roles",
"versioned contract fingerprints"
]
},
{
"command": "python -m pytest tests/test_accuracy_phase2_foundation_audit.py tests/test_accuracy_phase2_source_registry.py tests/test_data_contract_validation.py tests/test_dataset_consumption_gate.py tests/test_governed_dataset_ingest.py tests/test_phase2_derived_dataset_governance.py tests/test_runtime_model_provenance_service.py tests/test_training_dataset_eligibility.py tests/test_training_release_manifest.py tests/test_rc4_national_coverage.py tests/test_run_state_consistency.py tests/test_sprint196_map_orthophoto_analysis.py tests/test_sprint205_dhmv_terrain.py tests/test_sprint233_operational_completion.py tests/test_sprint12_golden_qa_benchmark.py tests/test_vector_operations_service.py tests/test_geojson_dataset_service.py tests/test_model_asset_catalog.py tests/test_segmentation_configured_models.py tests/test_sprint8_detection_foundation.py tests/test_sprint8b_yolo_foundation.py tests/test_qa_service.py -q -p no:cacheprovider",
"result": "221 passed",
"coverage": [
"contract validation",
"source registry, governed ingest and immutable snapshot replay",
"consumption gates and quarantine",
"canonical EPSG:4326 vector storage, checksum tamper rejection and derived governance",
"database-bound runtime model provenance before adapter loading",
"training release and protected-data eligibility"
]
},
{
"command": "python -m pytest tests -q -p no:cacheprovider",
"result": "34 passed",
"coverage": [
"proposal-classifier crop provenance and trainer release binding"
]
},
{
"command": "npm run typecheck && npm run test:unit && npm run build",
"result": "passed; 51 frontend unit tests",
"coverage": [
"TypeScript",
"frontend unit tests",
"Vite production build"
]
}
],
"non_green_global_gates": [
{
"command": "python -m pytest -q -p no:cacheprovider",
"result": "1282 passed, 17 failed",
"reason": "The former backend-CI collection error is fixed. Sixteen remaining failures are historical source-text assertions for user-modified UI/deployment/README behavior; one additional Windows run could not spawn the WSL-backed bash.exe for the shell-wrapper syntax test, although that test passes in isolation. They remain visible and block a claim that the complete repository suite is green."
},
{
"command": "python -m ruff check backend scripts tests --output-format concise",
"result": "95 existing findings",
"reason": "The P2-changed Python paths were linted clean separately; repository-wide Ruff remediation is an outstanding P2-01 gate."
},
{
"command": "npm run lint",
"result": "failed: script is absent",
"reason": "Frontend lint configuration remains an outstanding P2-01 gate."
}
],
"remaining_limits": [
"No production database migration or deployment was performed in this phase; the live migration evidence is disposable only.",
"Legacy Tower datasets and model runs remain incomplete until a new governed ingest/release supplies original evidence.",
"Physical quarantine storage and protected-test credential isolation are not yet proven.",
"End-to-end UI provenance rendering is a required target contract, not yet retained as full browser/API evidence.",
"Human label review, independent AOIs, pure-background/difficult negatives, temporal/dense-label remediation, corpus rebuild, CUDA candidate training, protected testing and promotion remain blocked."
],
"phase_decision": {
"phase2_status": "in_progress",
"phase3_status": "not_ready",
"training_allowed_now": false,
"promotion_allowed": false
}
}
@@ -1,46 +0,0 @@
{
"completed_at": "2026-08-01T21:40:13.288545+00:00",
"database_name": "geointel_phase2_guard_test",
"downgrade_output_tail": [
"DROP TABLE areas",
"INFO [sqlalchemy.engine.Engine] [no key 0.00014s] {}",
"INFO [sqlalchemy.engine.Engine] ",
"DROP TABLE projects",
"INFO [sqlalchemy.engine.Engine] [no key 0.00014s] {}",
"INFO [sqlalchemy.engine.Engine] DELETE FROM alembic_version WHERE alembic_version.version_num = '202601110001'",
"INFO [sqlalchemy.engine.Engine] [generated in 0.00018s] {}",
"INFO [sqlalchemy.engine.Engine] COMMIT"
],
"guards": {
"accepted_artifact_and_temporal_evidence_immutable": "passed",
"accepted_contract_evidence_immutable": "passed",
"accepted_dataset_version_contract_evidence_immutable": "passed",
"lineage_cycle": "passed",
"lineage_edge_immutable": "passed",
"passed_contract_report_required": "passed",
"passed_dataset_checksum_required_and_snapshot_bound": "passed",
"passed_dataset_version_checksum_required_and_snapshot_bound": "passed",
"snapshot_evidence_immutable": "passed",
"snapshot_quarantine_fanout": "passed",
"snapshot_registry_immutable": "passed",
"snapshot_registry_pairing": "passed",
"source_registry_immutable": "passed",
"transitive_lineage_quarantine": "passed",
"version_quarantine_propagation": "passed"
},
"migration_revision": "202608010001",
"phase": "P2",
"result": "passed",
"schema_version": 1,
"started_at": "2026-08-01T21:40:07.178237+00:00",
"upgrade_output_tail": [
" CREATE TRIGGER trg_dataset_quarantines_state_guard",
" AFTER INSERT OR UPDATE OF status, dataset_id, dataset_version_id, source_snapshot_id ON dataset_quarantines",
" FOR EACH ROW EXECUTE FUNCTION geointel_phase2_quarantine_state_guard();",
" ",
"INFO [sqlalchemy.engine.Engine] [generated in 0.00053s] {}",
"INFO [sqlalchemy.engine.Engine] UPDATE alembic_version SET version_num='202608010001' WHERE alembic_version.version_num = '202607260001'",
"INFO [sqlalchemy.engine.Engine] [generated in 0.00021s] {}",
"INFO [sqlalchemy.engine.Engine] COMMIT"
]
}
@@ -1,757 +0,0 @@
{
"claim_boundary": "Static policy/contract inventory only. It does not attest that a database migration ran, that legacy rows are complete, or that a model/corpus is release-ready.",
"collected_at": "2026-08-01T21:40:49.817334+00:00",
"data_contracts": [
{
"accepted_source_crs": [],
"canonical_storage_crs": null,
"fingerprint_sha256": "908ce483237cc83b35844c3dd21c6f774d10b4241f78f71f8d86a016dd1e9332",
"key": "geointel.label.yolo",
"kind": "label",
"required_metadata_fields": [
"image_checksum_sha256",
"class_ontology_version",
"tile_manifest_sha256"
],
"requires_source_registry": true,
"requires_source_snapshot": true,
"requires_upstream_assets": true,
"version": "1.0.0"
},
{
"accepted_source_crs": [],
"canonical_storage_crs": null,
"fingerprint_sha256": "8eff1113520cca04fad8a919bfadc85d6f1e30e5fd41fcc1ed70e7eb5bd41c07",
"key": "geointel.label.yolo",
"kind": "label",
"required_metadata_fields": [
"image_checksum_sha256",
"class_ontology_version",
"source_corpus_manifest_sha256",
"label_mode"
],
"requires_source_registry": true,
"requires_source_snapshot": true,
"requires_upstream_assets": true,
"version": "1.1.0"
},
{
"accepted_source_crs": [],
"canonical_storage_crs": null,
"fingerprint_sha256": "fa2531c3b34c9ad7e473cb10071a32743a6349cd9dde9345ac2d44e38159b457",
"key": "geointel.model.pytorch",
"kind": "model",
"required_metadata_fields": [
"training_manifest_sha256",
"runtime_manifest_sha256"
],
"requires_source_registry": true,
"requires_source_snapshot": true,
"requires_upstream_assets": true,
"version": "1.0.0"
},
{
"accepted_source_crs": [
"EPSG:31370",
"EPSG:3812",
"EPSG:4326"
],
"canonical_storage_crs": null,
"fingerprint_sha256": "51e19aa7b26c555319f26623dbfc837786ce47260025c7af9b878e40ad65478e",
"key": "geointel.raster.geotiff",
"kind": "raster",
"required_metadata_fields": [
"license"
],
"requires_source_registry": true,
"requires_source_snapshot": true,
"requires_upstream_assets": false,
"version": "1.0.0"
},
{
"accepted_source_crs": [
"EPSG:31370",
"EPSG:3812",
"EPSG:4326"
],
"canonical_storage_crs": "EPSG:4326",
"fingerprint_sha256": "d6594faa7bea62ae61a41d7e1e254a9c3b7f7693430e90dcc3995b16ff3704fd",
"key": "geointel.vector.geojson",
"kind": "vector",
"required_metadata_fields": [
"license"
],
"requires_source_registry": true,
"requires_source_snapshot": true,
"requires_upstream_assets": false,
"version": "1.0.0"
}
],
"migration_revision": "202608010001",
"phase": "P2",
"program": "GeoIntel Accuracy Improvement Program",
"repository": {
"branch": "codex/geointel-accuracy-program",
"dirty": true,
"head": "cebeb5f3b4f836274c0504c2cc5fc2a019a8ea8b"
},
"schema_version": 1,
"scope": "Belgium and the Belgian North Sea",
"source_registry": {
"classification_counts": {
"authoritative": 25,
"contextual": 5,
"corroborative": 2,
"derived": 3,
"experimental": 5
},
"definition_count": 40,
"definitions": [
{
"authority_name": "Agentschap Landbouw en Zeevisserij",
"authority_scope": {
"theme": "agricultural_parcels",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "agentschap_landbouw_zeevisserij_agricultural_parcels",
"training_allowed": false
},
{
"authority_name": "Departement Omgeving",
"authority_scope": {
"theme": "land_use",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "department_omgeving_land_use",
"training_allowed": false
},
{
"authority_name": "Departement Omgeving",
"authority_scope": {
"theme": "thematic_raster",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "source_specific",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "department_omgeving_thematic_raster",
"training_allowed": false
},
{
"authority_name": "GeoIntel derived operation",
"authority_scope": {
"scope": "derived_from_registered_input"
},
"classification": "derived",
"default_crs": "unknown",
"default_units": "unknown",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "derived",
"training_allowed": false
},
{
"authority_name": "Digitaal Vlaanderen",
"authority_scope": {
"role": "umbrella_catalogue_and_adapter_authority",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "product_specific",
"default_units": "product_specific",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "configured",
"provider_adapter_key": "digitaal_vlaanderen",
"source_key": "digitaal_vlaanderen",
"training_allowed": false
},
{
"authority_name": "Digitaal Vlaanderen",
"authority_scope": {
"theme": "buildings_addresses",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": "buildings_addresses_register",
"source_key": "digitaal_vlaanderen_buildings_addresses_register",
"training_allowed": false
},
{
"authority_name": "Digitaal Vlaanderen",
"authority_scope": {
"role": "terrain_height_corroboration",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "m TAW",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "configured",
"provider_adapter_key": "dhmv",
"source_key": "digitaal_vlaanderen_dhmv",
"training_allowed": true
},
{
"authority_name": "Digitaal Vlaanderen",
"authority_scope": {
"role": "imagery",
"zone": "Flanders"
},
"classification": "contextual",
"default_crs": "EPSG:31370",
"default_units": "pixel",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "configured",
"provider_adapter_key": null,
"source_key": "digitaal_vlaanderen_orthophoto",
"training_allowed": true
},
{
"authority_name": "Databank Ondergrond Vlaanderen",
"authority_scope": {
"theme": "soil",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "dov_soil_map",
"training_allowed": false
},
{
"authority_name": "Unverified",
"authority_scope": {
"scope": "unverified"
},
"classification": "experimental",
"default_crs": "unknown",
"default_units": "unknown",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "experimental",
"training_allowed": false
},
{
"authority_name": "GeoIntel test fixture",
"authority_scope": {
"scope": "test_only"
},
"classification": "experimental",
"default_crs": "fixture_specific",
"default_units": "fixture_specific",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "configured",
"provider_adapter_key": null,
"source_key": "fixture",
"training_allowed": false
},
{
"authority_name": "Digitaal Vlaanderen",
"authority_scope": {
"themes": [
"buildings",
"roads",
"water",
"parcels"
],
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": true,
"ingest_status": "configured",
"provider_adapter_key": "grb",
"source_key": "grb",
"training_allowed": true
},
{
"authority_name": "Historical archive provider",
"authority_scope": {
"scope": "Belgium",
"theme": "historical_land_use"
},
"classification": "corroborative",
"default_crs": "source_specific",
"default_units": "source_specific",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "historical_landuse",
"training_allowed": false
},
{
"authority_name": "INBO",
"authority_scope": {
"theme": "nature",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "inbo_bwk_natura2000",
"training_allowed": false
},
{
"authority_name": "Legacy import \u2014 unverified",
"authority_scope": {
"scope": "legacy",
"trust": "unverified"
},
"classification": "experimental",
"default_crs": "unknown",
"default_units": "unknown",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "legacy_unverified",
"provider_adapter_key": null,
"source_key": "legacy_unknown",
"training_allowed": false
},
{
"authority_name": "Operator supplied",
"authority_scope": {
"scope": "operator_supplied",
"trust": "unverified"
},
"classification": "experimental",
"default_crs": "unknown",
"default_units": "unknown",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "configured",
"provider_adapter_key": null,
"source_key": "manual",
"training_allowed": false
},
{
"authority_name": "GeoIntel derived operation",
"authority_scope": {
"scope": "derived_from_registered_input"
},
"classification": "derived",
"default_crs": "EPSG:4326",
"default_units": "source_dependent",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "map_selection",
"training_allowed": false
},
{
"authority_name": "Maritieme Dienstverlening en Kust",
"authority_scope": {
"theme": "bathymetry",
"zone": "Belgian North Sea"
},
"classification": "authoritative",
"default_crs": "EPSG:3812",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "mdk_bathymetry",
"training_allowed": false
},
{
"authority_name": "Maritieme Dienstverlening en Kust",
"authority_scope": {
"role": "coverage_probe_and_governed_acquisition",
"theme": "bathymetry",
"zone": "Belgian North Sea"
},
"classification": "authoritative",
"default_crs": "EPSG:3812",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "not_configured",
"provider_adapter_key": "mdk_bcp_bathymetry",
"source_key": "mdk_bcp_bathymetry",
"training_allowed": false
},
{
"authority_name": "GeoIntel model pipeline",
"authority_scope": {
"scope": "internal_model_artifact"
},
"classification": "experimental",
"default_crs": "unknown",
"default_units": "unknown",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "model",
"training_allowed": false
},
{
"authority_name": "Nationaal Geografisch Instituut",
"authority_scope": {
"scope": "Belgium"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "ngi_adminvector",
"training_allowed": false
},
{
"authority_name": "OpenStreetMap contributors",
"authority_scope": {
"role": "contextual",
"scope": "community-maintained"
},
"classification": "contextual",
"default_crs": "EPSG:4326",
"default_units": "mixed",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "not_configured",
"provider_adapter_key": "osm",
"source_key": "osm",
"training_allowed": false
},
{
"authority_name": "RBINS",
"authority_scope": {
"zone": "Belgian North Sea"
},
"classification": "authoritative",
"default_crs": "EPSG:4326",
"default_units": "degrees",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "rbins_marine_reporting_units",
"training_allowed": false
},
{
"authority_name": "RBINS",
"authority_scope": {
"edition": "2026-2034",
"zone": "Belgian North Sea"
},
"classification": "authoritative",
"default_crs": "EPSG:4326",
"default_units": "degrees",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "rbins_msp_2026",
"training_allowed": false
},
{
"authority_name": "Copernicus Programme",
"authority_scope": {
"role": "multispectral_context",
"scope": "Belgium and Belgian North Sea"
},
"classification": "contextual",
"default_crs": "product_specific",
"default_units": "reflectance",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "not_configured",
"provider_adapter_key": "sentinel_2",
"source_key": "sentinel_2",
"training_allowed": true
},
{
"authority_name": "Service public de Wallonie",
"authority_scope": {
"theme": "bathymetry",
"zone": "Wallonia"
},
"classification": "authoritative",
"default_crs": "EPSG:3812",
"default_units": "mDNG",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "spw_bathymetry",
"training_allowed": false
},
{
"authority_name": "Service public de Wallonie",
"authority_scope": {
"theme": "flood_hazard",
"zone": "Wallonia"
},
"classification": "authoritative",
"default_crs": "EPSG:3812",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "spw_flood_hazard",
"training_allowed": false
},
{
"authority_name": "Service public de Wallonie",
"authority_scope": {
"role": "umbrella_catalogue_and_adapter_authority",
"zone": "Wallonia"
},
"classification": "authoritative",
"default_crs": "product_specific",
"default_units": "product_specific",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "configured",
"provider_adapter_key": "spw_geoportail",
"source_key": "spw_geoportail",
"training_allowed": false
},
{
"authority_name": "Service public de Wallonie",
"authority_scope": {
"role": "imagery",
"zone": "Wallonia"
},
"classification": "contextual",
"default_crs": "EPSG:31370",
"default_units": "pixel",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "configured",
"provider_adapter_key": null,
"source_key": "spw_orthophoto",
"training_allowed": true
},
{
"authority_name": "Service public de Wallonie",
"authority_scope": {
"theme": "topography_buildings",
"zone": "Wallonia"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": true,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "spw_picc",
"training_allowed": true
},
{
"authority_name": "Service public de Wallonie",
"authority_scope": {
"theme": "terrain",
"zone": "Wallonia"
},
"classification": "corroborative",
"default_crs": "EPSG:3812",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "spw_terrain",
"training_allowed": false
},
{
"authority_name": "Service public de Wallonie",
"authority_scope": {
"theme": "land_cover",
"zone": "Wallonia"
},
"classification": "authoritative",
"default_crs": "EPSG:3812",
"default_units": "class_code",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "spw_walous_land_cover",
"training_allowed": false
},
{
"authority_name": "Statbel",
"authority_scope": {
"scope": "Belgium",
"theme": "population"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "persons",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "statbel",
"training_allowed": false
},
{
"authority_name": "GeoIntel reviewed label pipeline",
"authority_scope": {
"scope": "derived_from_reviewed_source_snapshots"
},
"classification": "derived",
"default_crs": "unknown",
"default_units": "unknown",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "training_label",
"training_allowed": false
},
{
"authority_name": "Brussels Region",
"authority_scope": {
"theme": "topography_buildings",
"zone": "Brussels-Capital Region"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": true,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "urbis",
"training_allowed": true
},
{
"authority_name": "UrbIS / Brussels Region",
"authority_scope": {
"role": "imagery",
"zone": "Brussels-Capital Region"
},
"classification": "contextual",
"default_crs": "EPSG:31370",
"default_units": "pixel",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "configured",
"provider_adapter_key": null,
"source_key": "urbis_orthophoto",
"training_allowed": true
},
{
"authority_name": "Vlaamse Milieumaatschappij",
"authority_scope": {
"theme": "flood_hazard",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "vmm_flood_hazard",
"training_allowed": false
},
{
"authority_name": "Vlaamse Milieumaatschappij",
"authority_scope": {
"theme": "bathymetry_profiles",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "m TAW",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "vmm_vha_bathymetry_profiles",
"training_allowed": false
},
{
"authority_name": "Digitaal Vlaanderen",
"authority_scope": {
"theme": "roads",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "metres",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "vrbg",
"training_allowed": false
},
{
"authority_name": "Waterinfo Vlaanderen",
"authority_scope": {
"theme": "water",
"zone": "Flanders"
},
"classification": "authoritative",
"default_crs": "EPSG:31370",
"default_units": "source_specific",
"freshness_status": "unknown",
"ground_truth_allowed": false,
"ingest_status": "registered",
"provider_adapter_key": null,
"source_key": "waterinfo",
"training_allowed": false
}
],
"required_building_policy": {
"buildings_register_classification": "authoritative",
"dhmv_classification": "authoritative",
"grb_primary_building_validation": "primary",
"osm_ground_truth_allowed": false,
"sentinel_2_classification": "contextual"
}
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,20 +0,0 @@
{
"limitations": [
"Filename-derived split tokens are conservative; AOI independence requires authoritative split geometry."
],
"prior_quality_inventory": {
"cross_split_pairs_below_2000_m": 24,
"exact_cross_split_raster_hash_duplicates": 0,
"path": "docs/accuracy-program/status.json",
"split_independence_proven": false
},
"same_checksum_across_splits": {},
"scan_id": "p3-eb67185e61107cc7",
"schema_version": 1,
"source_spatial_audit_files": [
"artifacts/evidence/accuracy/model-training/20260809-v72-fresh-calibration/internal-spatial-leakage-audit.json",
"artifacts/evidence/accuracy/model-training/20260810-v73-flanders-remediation/internal-spatial-leakage-audit.json"
],
"spatial_overlap_checks": "not_proven_without_AOI_split_geometry",
"status": "attention"
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,12 +0,0 @@
{
"items": {
"DHMV|unknown": 11,
"GRB|unknown": 18,
"Orthophoto|unknown": 34,
"unknown|declared": 7,
"unknown|unavailable": 3,
"unknown|unknown": 943
},
"scan_id": "p3-eb67185e61107cc7",
"schema_version": 1
}
@@ -1,157 +0,0 @@
{
"benchmark_manifest_sha256": "0ea5ab07f46c509a7a24943b31d5e9bfd6368920609227bc47613e18e52c4642",
"critical_subgroup_policy": "Any required subgroup with insufficient support, missing metrics, a failed non-inferiority comparison or regression blocks promotion; averages cannot override it.",
"decision": "At least one mandatory Phase 4 gate failed; Phase 5 remains blocked.",
"gate_policy": "geointel-p4-evaluation-harness-v2",
"invalid_gate_states": {},
"local_gates": {
"all_declared_evaluator_families_exercised": {
"declared": [
"change_detection",
"footprint_segmentation",
"geospatial_data_validation",
"object_detection",
"raster_classification",
"terrain_interpretation",
"vector_comparison"
],
"observed": [
"change_detection",
"footprint_segmentation",
"geospatial_data_validation",
"object_detection",
"raster_classification",
"terrain_interpretation",
"vector_comparison"
],
"status": "pass"
},
"complete_raw_predictions_retained": {
"status": "pass",
"violating_samples": []
},
"implemented_capability_inventory": {
"capability_count": 15,
"status": "pass"
},
"manifest_training_firewall_contract": {
"checks": {
"clean_train_allowed": true,
"non_train_role_blocked": true,
"protected_path_blocked": true,
"renamed_protected_lineage_blocked": true
},
"status": "pass"
},
"normative_split_roles_and_leakage": {
"leakage_status": "pass",
"observed_roles": [
"background-test",
"calibration",
"challenge",
"test",
"train",
"val"
],
"required_roles": [
"background-test",
"calibration",
"challenge",
"test",
"train",
"val"
],
"status": "pass"
},
"protected_operating_point_contract": {
"evidence": "Protected cases carry pre-registered configurations. Fixed AP/risk-coverage diagnostics cannot select an operating point or feed back into training.",
"status": "pass"
},
"reference_implementation_baseline": {
"status": "pass"
},
"stratified_metric_contract": {
"observed_overall_status": "not_evaluable",
"status": "pass"
},
"undefined_metric_truth_table": {
"sample_id": "background-test-pure-empty",
"status": "pass"
}
},
"local_harness_status": "pass",
"missing_gate_names": {
"local": [],
"product": []
},
"numeric_model_release_targets": "not_frozen_without_reviewed_representative_incumbent_baseline",
"phase_decision": "blocked",
"product_benchmark_status": "fail",
"product_gates": {
"active_model_available_and_hash_verified": {
"configured_path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"configured_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"reason": "Configured active model is not locally accessible.",
"status": "not_evaluable"
},
"authoritative_reference_portfolio_available": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"executed_product_incumbent_baseline": {
"checked_artifacts": [],
"derived_gates": {
"authoritative_reference_portfolio_available": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"human_review_complete": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"protected_storage_isolation": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"representative_product_subgroup_support": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"split_independence": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
}
},
"expected_path": "artifacts/evidence/accuracy/P4/product-baseline-manifest.json",
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"human_review_complete": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"phase3_leakage_resolved": {
"observed": "attention",
"status": "fail"
},
"protected_storage_isolation": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"representative_product_subgroup_support": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"split_independence": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
}
},
"promotion_allowed": false,
"schema_version": 2,
"status": "fail",
"unexpected_gate_names": {
"local": [],
"product": []
}
}
@@ -1,11 +0,0 @@
{
"reason": "Synthetic single-case fixtures do not provide independent product AOI clusters. AOI micro/macro and cluster-bootstrap evidence requires the protected product corpus.",
"required_future_outputs": [
"per-AOI primary metrics",
"micro and macro aggregation",
"paired candidate-minus-incumbent deltas",
"cluster-bootstrap confidence intervals"
],
"schema_version": 2,
"status": "not_evaluable"
}
@@ -1,105 +0,0 @@
{
"benchmark_id": "geointel-p4-reference-harness-v2",
"claim_boundary": "Synthetic deterministic reference cases validate evaluator behavior, not production model accuracy.",
"code": [
{
"path": "scripts/accuracy_phase4_evaluator.py",
"sha256": "d2e40f7978d3ff4ce7025eaaaefb06ccc76c269d6874f8b0f528739d535a1da1",
"size_bytes": 93353
},
{
"path": "scripts/generate_accuracy_phase4_splits.py",
"sha256": "d12842922bcd99b1672176df15a9cef250128e7d7fc662ab15e16f1c084ba570",
"size_bytes": 75923
},
{
"path": "scripts/run_accuracy_phase4_benchmark.py",
"sha256": "003ecb4babc7f56a6d13e9e1c08dda902b9b26203cc7d53476d4d5e083b8b85b",
"size_bytes": 123717
},
{
"path": "scripts/run_golden_qa_benchmark.py",
"sha256": "2c8a19fd92db8f07f491b8f7b34d9736384f81e02a6b83019fac71b101ebdaa0",
"size_bytes": 10856
},
{
"path": "backend/app/services/qa_service.py",
"sha256": "2d4f645410fbf2972e55dddbf5a85db5368b2b1932792cd522ec51c483339244",
"size_bytes": 15206
}
],
"evaluation_results_canonical_json_sha256": "55cdba9cce4dcdc88cee0829cd510d7e624a3472feb9d33f7e681621a792eba3",
"evaluator_version": "2.1.0",
"evidence_run_id": "p4-2.0.1-9677d0ef37db82bcf39b",
"inference_and_selection": {
"background_test_used_for_selection": false,
"challenge_labels_available": false,
"production_model_inference_executed": false,
"raw_predictions_retained": true,
"synthetic_reference_harness": true,
"test_used_for_selection": false,
"threshold_source": "pre_registered_configuration_only"
},
"input_manifest": {
"path": "input-manifest.json",
"sha256": "44f1c81d76baf4dc965afc2cd109ac165ae8fe0308f202018ea21bac786bcd0b"
},
"inputs": {
"golden_qa_manifest": {
"path": "fixtures/golden/golden_qa_benchmarks.json",
"sha256": "d60576ff7048ca3a048dc166e8977f3a31e9f8fa352be5ad222a017260e179e2",
"size_bytes": 2758
},
"phase3_full_scan": {
"path": "artifacts/evidence/accuracy/P3/full-scan-manifest.json",
"sha256": "28c1022d125f30bfb4aa362b57d8a90cf8c88270b2a9ac6582b86b6a44a08038",
"size_bytes": 755527
},
"phase3_leakage": {
"path": "artifacts/evidence/accuracy/P3/leakage-report.json",
"sha256": "8e1b7a24a840549d442bc03132ee1f21c6d50f8714cbb8d33430391a3769cd4e",
"size_bytes": 580
},
"protected_cases": {
"path": "fixtures/accuracy/p4/protected-baseline-cases.json",
"sha256": "c49a9c8d74cae2062552b012d9c275f65156c81d75b3e453860f5b859c1c5473",
"size_bytes": 20091
},
"split_source": {
"path": "fixtures/accuracy/p4/split-source-manifest.json",
"sha256": "27ec60406ac57a02f1335013ee344a43d4e0093e7ee1329ec22876da623f5bfc",
"size_bytes": 17331
}
},
"manifest_sha256": "0ea5ab07f46c509a7a24943b31d5e9bfd6368920609227bc47613e18e52c4642",
"product_baseline": {
"artifacts": [],
"manifest": null,
"product_gate_evidence_sha256": "c9f5e3de3ab6d64911f8807b26caa661ccf911a5fd6b995107edda2004836e0c",
"requested_path": "artifacts/evidence/accuracy/P4/product-baseline-manifest.json",
"validation_status": "not_evaluable"
},
"product_gate_evidence_sha256": "c9f5e3de3ab6d64911f8807b26caa661ccf911a5fd6b995107edda2004836e0c",
"reference_baseline_sha256": "aeb0f6510352f4e205e4fc4e8c423110ca72c2142016c7af846d758865f258c6",
"repository_commit": "70fb4b94e5cb7c248beec5a936ce186f38cc183c",
"runtime": {
"cuda_used_for_reference_harness": false,
"dependencies": {
"numpy": "2.2.2",
"pyproj": "3.7.2",
"shapely": "2.1.2"
},
"execution_device": "CPU deterministic evaluator arithmetic; no production model inference",
"platform": "Windows-11-10.0.26200-SP0",
"python": "3.13.2",
"python_implementation": "CPython"
},
"schema_version": 2,
"split_generator_version": "1.3.0",
"split_manifests": {
"development_sha256": "64e4fc986c2390bedfbe100062d4b06e1098689f4d4a9a9da13a7f67357c0493",
"leakage_status": "pass",
"protected_sha256": "e57ca1529654ef1c2527e84122ff26ec3533e7c70658250983968fbc5d4af410"
},
"workflow_version": "2.0.1"
}
@@ -1,274 +0,0 @@
{
"items": [
{
"calibration": {
"binning": "five fixed equal-width bins",
"bins": [
{
"accuracy": null,
"count": 0,
"lower": 0.0,
"mean_confidence": null,
"upper": 0.2
},
{
"accuracy": null,
"count": 0,
"lower": 0.2,
"mean_confidence": null,
"upper": 0.4
},
{
"accuracy": null,
"count": 0,
"lower": 0.4,
"mean_confidence": null,
"upper": 0.6
},
{
"accuracy": null,
"count": 0,
"lower": 0.6,
"mean_confidence": null,
"upper": 0.8
},
{
"accuracy": 0,
"count": 1,
"lower": 0.8,
"mean_confidence": 0.92,
"upper": 1.0
}
],
"brier": 0.8464,
"ece": 0.92,
"status": "computed"
},
"coverage_risk": [
{
"false_negative_count": 0,
"false_positive_count": 1,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 1,
"retained_prediction_coverage": 1.0,
"risk": 1.0,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.0,
"total_prediction_count": 1
},
{
"false_negative_count": 0,
"false_positive_count": 1,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 1,
"retained_prediction_coverage": 1.0,
"risk": 1.0,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.5,
"total_prediction_count": 1
},
{
"false_negative_count": 0,
"false_positive_count": 1,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 1,
"retained_prediction_coverage": 1.0,
"risk": 1.0,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.7,
"total_prediction_count": 1
},
{
"false_negative_count": 0,
"false_positive_count": 1,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 1,
"retained_prediction_coverage": 1.0,
"risk": 1.0,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.9,
"total_prediction_count": 1
}
],
"sample_id": "background-test-hard-negative",
"task": "object_detection"
},
{
"calibration": {
"bins": [],
"brier": null,
"ece": null,
"status": "undefined"
},
"coverage_risk": [
{
"false_negative_count": 0,
"false_positive_count": 0,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 0,
"retained_prediction_coverage": null,
"risk": null,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.0,
"total_prediction_count": 0
},
{
"false_negative_count": 0,
"false_positive_count": 0,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 0,
"retained_prediction_coverage": null,
"risk": null,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.5,
"total_prediction_count": 0
},
{
"false_negative_count": 0,
"false_positive_count": 0,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 0,
"retained_prediction_coverage": null,
"risk": null,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.7,
"total_prediction_count": 0
},
{
"false_negative_count": 0,
"false_positive_count": 0,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 0,
"retained_prediction_coverage": null,
"risk": null,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.9,
"total_prediction_count": 0
}
],
"sample_id": "background-test-pure-empty",
"task": "object_detection"
},
{
"calibration": {
"binning": "five fixed equal-width bins",
"bins": [
{
"accuracy": null,
"count": 0,
"lower": 0.0,
"mean_confidence": null,
"upper": 0.2
},
{
"accuracy": null,
"count": 0,
"lower": 0.2,
"mean_confidence": null,
"upper": 0.4
},
{
"accuracy": null,
"count": 0,
"lower": 0.4,
"mean_confidence": null,
"upper": 0.6
},
{
"accuracy": 0.5,
"count": 2,
"lower": 0.6,
"mean_confidence": 0.6499999999999999,
"upper": 0.8
},
{
"accuracy": 1,
"count": 1,
"lower": 0.8,
"mean_confidence": 0.9,
"upper": 1.0
}
],
"brier": 0.15333333333333332,
"ece": 0.13333333333333325,
"status": "computed"
},
"coverage_risk": [
{
"false_negative_count": 0,
"false_positive_count": 2,
"matched_reference_count": 2,
"reference_count": 2,
"reference_coverage": 1.0,
"retained_prediction_count": 4,
"retained_prediction_coverage": 1.0,
"risk": 0.5,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.0,
"total_prediction_count": 4
},
{
"false_negative_count": 0,
"false_positive_count": 1,
"matched_reference_count": 2,
"reference_count": 2,
"reference_coverage": 1.0,
"retained_prediction_count": 3,
"retained_prediction_coverage": 0.75,
"risk": 0.3333333333333333,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.5,
"total_prediction_count": 4
},
{
"false_negative_count": 0,
"false_positive_count": 0,
"matched_reference_count": 2,
"reference_count": 2,
"reference_coverage": 1.0,
"retained_prediction_count": 2,
"retained_prediction_coverage": 0.5,
"risk": 0.0,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.7,
"total_prediction_count": 4
},
{
"false_negative_count": 1,
"false_positive_count": 0,
"matched_reference_count": 1,
"reference_count": 2,
"reference_coverage": 0.5,
"retained_prediction_count": 1,
"retained_prediction_coverage": 0.25,
"risk": 0.5,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.9,
"total_prediction_count": 4
}
],
"sample_id": "det-test-flanders-urban",
"task": "object_detection"
}
],
"note": "Fixed diagnostic bins and risk thresholds test metric arithmetic; they do not select or change any operating point.",
"schema_version": 2,
"selection_allowed": false,
"status": "fixture_diagnostic_only"
}
@@ -1,12 +0,0 @@
{
"future_gate_contract": {
"aggregate_improvement_may_mask_subgroup_regression": false,
"global_and_critical_subgroups_required": true,
"missing_or_insufficient_support": "not_evaluable",
"numeric_margin": "to_be_frozen_before_protected_access",
"unit": "paired independent AOI"
},
"reason": "Phase 4 has no valid real incumbent product baseline and no pre-registered candidate; synthetic fixture values cannot define non-inferiority.",
"schema_version": 2,
"status": "not_evaluable"
}
@@ -1,334 +0,0 @@
{
"allowed_splits": [
"calibration",
"train",
"val"
],
"assignment_algorithm": "group-before-split-deficit-balancer-v1",
"assignment_mode": "preassigned",
"assignment_seed": "geointel-p4-group-split-v1",
"claim_boundary": "Synthetic contract fixtures for evaluator regression only; never production accuracy evidence.",
"crs": "EPSG:31370",
"dataset_version": "geointel-p4-harness-fixture-v2",
"generator_version": "1.3.0",
"independence_buffer_m": 2000.0,
"label_geometry_hamming_threshold": 2,
"mandatory_split_roles": [
"train",
"val",
"calibration",
"test",
"background-test",
"challenge"
],
"manifest_role": "development_and_calibration",
"manifest_sha256": "64e4fc986c2390bedfbe100062d4b06e1098689f4d4a9a9da13a7f67357c0493",
"perceptual_hamming_threshold": 4,
"samples": [
{
"acquisition_date": "2025-01-07",
"acquisition_id": "acquisition-07",
"bbox": [
70000.0,
30000.0,
70100.0,
30100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g07",
"label_geometry_fingerprint": "dba609f34cb9826b",
"label_geometry_hash": "6767676767676767676767676767676767676767676767676767676767676767",
"label_sha256": "4747474747474747474747474747474747474747474747474747474747474747",
"native_feature_ids": [
"native-07-1"
],
"object_ids": [
"o21"
],
"parent_raster_id": "parent-raster-07",
"perceptual_image_hash": "c4316514fed98f6b",
"processed_image_sha256": "2727272727272727272727272727272727272727272727272727272727272727",
"raw_image_sha256": "0707070707070707070707070707070707070707070707070707070707070707",
"record_sha256": "3f04e62eb97c0a067a4742084a9665607beab43a5c0392a89c77bc10cb472136",
"sample_id": "calibration-det-a",
"source_family": "scene-07",
"split": "calibration",
"task": "object_detection",
"temporal_family": "temporal-07"
},
{
"acquisition_date": "2025-01-08",
"acquisition_id": "acquisition-08",
"bbox": [
90000.0,
30000.0,
90100.0,
30100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g08",
"label_geometry_fingerprint": "627df87eea48aec0",
"label_geometry_hash": "6868686868686868686868686868686868686868686868686868686868686868",
"label_sha256": "4848484848484848484848484848484848484848484848484848484848484848",
"native_feature_ids": [
"native-08-1"
],
"object_ids": [
"o22"
],
"parent_raster_id": "parent-raster-08",
"perceptual_image_hash": "518ba3145333c08c",
"processed_image_sha256": "2828282828282828282828282828282828282828282828282828282828282828",
"raw_image_sha256": "0808080808080808080808080808080808080808080808080808080808080808",
"record_sha256": "d3cec9ed2d1a4c7380958a960ac24d1dbc5a729ccb81cc0f22016ee348137a07",
"sample_id": "calibration-seg-b",
"source_family": "scene-08",
"split": "calibration",
"task": "footprint_segmentation",
"temporal_family": "temporal-08"
},
{
"acquisition_date": "2025-01-01",
"acquisition_id": "acquisition-01",
"bbox": [
10000.0,
10000.0,
10100.0,
10100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g01",
"label_geometry_fingerprint": "c0f62e16b4033ee9",
"label_geometry_hash": "6161616161616161616161616161616161616161616161616161616161616161",
"label_sha256": "4141414141414141414141414141414141414141414141414141414141414141",
"native_feature_ids": [
"native-01-1"
],
"object_ids": [
"o01"
],
"parent_raster_id": "parent-raster-01",
"perceptual_image_hash": "dcef24412401d4f9",
"processed_image_sha256": "2121212121212121212121212121212121212121212121212121212121212121",
"raw_image_sha256": "0101010101010101010101010101010101010101010101010101010101010101",
"record_sha256": "16142e63a8e93d20d1fcfb66cfd8aeeebc6cbe7784f5ce8c403cd4b2f6e5dcac",
"sample_id": "det-train-a",
"source_family": "scene-01",
"split": "train",
"task": "object_detection",
"temporal_family": "temporal-01"
},
{
"acquisition_date": "2025-01-03",
"acquisition_id": "acquisition-03",
"bbox": [
30000.0,
10000.0,
30100.0,
10100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g03",
"label_geometry_fingerprint": "30820f2c124a3ff0",
"label_geometry_hash": "6363636363636363636363636363636363636363636363636363636363636363",
"label_sha256": "4343434343434343434343434343434343434343434343434343434343434343",
"native_feature_ids": [
"native-03-1"
],
"object_ids": [
"o03"
],
"parent_raster_id": "parent-raster-03",
"perceptual_image_hash": "75e36e008b4a6702",
"processed_image_sha256": "2323232323232323232323232323232323232323232323232323232323232323",
"raw_image_sha256": "0303030303030303030303030303030303030303030303030303030303030303",
"record_sha256": "60c78f7f4cb086681fa38d3a2e160824003cb646890faf6ddde142eab585adc8",
"sample_id": "raster-train-a",
"source_family": "scene-03",
"split": "train",
"task": "raster_classification",
"temporal_family": "temporal-03"
},
{
"acquisition_date": "2025-01-02",
"acquisition_id": "acquisition-02",
"bbox": [
20000.0,
10000.0,
20100.0,
10100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g02",
"label_geometry_fingerprint": "666a0fc2d26265ee",
"label_geometry_hash": "6262626262626262626262626262626262626262626262626262626262626262",
"label_sha256": "4242424242424242424242424242424242424242424242424242424242424242",
"native_feature_ids": [
"native-02-1"
],
"object_ids": [
"o02"
],
"parent_raster_id": "parent-raster-02",
"perceptual_image_hash": "030bcdd3bc87412e",
"processed_image_sha256": "2222222222222222222222222222222222222222222222222222222222222222",
"raw_image_sha256": "0202020202020202020202020202020202020202020202020202020202020202",
"record_sha256": "b92bff2d0e039441711100b95178a6bebab0052db1b7e35259dcbcb227d50448",
"sample_id": "seg-train-a",
"source_family": "scene-02",
"split": "train",
"task": "footprint_segmentation",
"temporal_family": "temporal-02"
},
{
"acquisition_date": "2025-01-05",
"acquisition_id": "acquisition-05",
"bbox": [
30000.0,
30000.0,
30100.0,
30100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g05",
"label_geometry_fingerprint": "14ceff3640a013eb",
"label_geometry_hash": "6565656565656565656565656565656565656565656565656565656565656565",
"label_sha256": "4545454545454545454545454545454545454545454545454545454545454545",
"native_feature_ids": [
"native-05-1"
],
"object_ids": [
"o05"
],
"parent_raster_id": "parent-raster-05",
"perceptual_image_hash": "828b99671c3f2f39",
"processed_image_sha256": "2525252525252525252525252525252525252525252525252525252525252525",
"raw_image_sha256": "0505050505050505050505050505050505050505050505050505050505050505",
"record_sha256": "bc142eb7eb7ed86621984ff89184b1b79cfaa13e1011832c8b8175312761ea91",
"sample_id": "val-change-b",
"source_family": "scene-05",
"split": "val",
"task": "change_detection",
"temporal_family": "temporal-05"
},
{
"acquisition_date": "2025-01-06",
"acquisition_id": "acquisition-06",
"bbox": [
50000.0,
30000.0,
50100.0,
30100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g06",
"label_geometry_fingerprint": "a1d9bbb93ba6d6da",
"label_geometry_hash": "6666666666666666666666666666666666666666666666666666666666666666",
"label_sha256": "4646464646464646464646464646464646464646464646464646464646464646",
"native_feature_ids": [
"native-06-1"
],
"object_ids": [
"o06"
],
"parent_raster_id": "parent-raster-06",
"perceptual_image_hash": "11c11105b0d10635",
"processed_image_sha256": "2626262626262626262626262626262626262626262626262626262626262626",
"raw_image_sha256": "0606060606060606060606060606060606060606060606060606060606060606",
"record_sha256": "a861ffb75dba0e50e4082232620521465acecdbc0cf1f6dee9b7509d9c0d480e",
"sample_id": "val-terrain-c",
"source_family": "scene-06",
"split": "val",
"task": "terrain_interpretation",
"temporal_family": "temporal-06"
},
{
"acquisition_date": "2025-01-04",
"acquisition_id": "acquisition-04",
"bbox": [
10000.0,
30000.0,
10100.0,
30100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g04",
"label_geometry_fingerprint": "a559b46cba64e501",
"label_geometry_hash": "6464646464646464646464646464646464646464646464646464646464646464",
"label_sha256": "4444444444444444444444444444444444444444444444444444444444444444",
"native_feature_ids": [
"native-04-1"
],
"object_ids": [
"o04"
],
"parent_raster_id": "parent-raster-04",
"perceptual_image_hash": "2e3b331cc01536c9",
"processed_image_sha256": "2424242424242424242424242424242424242424242424242424242424242424",
"raw_image_sha256": "0404040404040404040404040404040404040404040404040404040404040404",
"record_sha256": "e2a931aa255519d0bd87655d92132164923b369a31e12583c8aa499610044a30",
"sample_id": "val-vector-a",
"source_family": "scene-04",
"split": "val",
"task": "vector_comparison",
"temporal_family": "temporal-04"
}
],
"schema_version": 1,
"selection_access_allowed_by_split": {
"calibration": true,
"train": false,
"val": true
},
"source_manifest_sha256": "1c75c875d4c297d046117bb9393ba5e648f13d3358ea92cb65374869c8f5fc01",
"source_trust": {
"mode": "synthetic_fixture",
"policy_id": "geointel-p4-synthetic-fixture-v2",
"production_accuracy_use_allowed": false
},
"training_access_allowed_by_split": {
"calibration": false,
"train": true,
"val": false
}
}
@@ -1,48 +0,0 @@
{
"claim_boundary": "Synthetic deterministic reference cases validate evaluator behavior, not production model accuracy.",
"observed_codes": [
{
"error_code": "D-VALIDATION-FN",
"kind": "validation_false_negative"
},
{
"error_code": "D-VALIDATION-FP",
"kind": "validation_false_positive"
},
{
"error_code": "M-AREA-BIAS",
"kind": "area_bias"
},
{
"error_code": "M-CLASS",
"kind": "raster_misclassification"
},
{
"error_code": "M-FN-MISSED",
"kind": "event_false_negative"
},
{
"error_code": "M-FN-MISSED",
"kind": "false_negative"
},
{
"error_code": "M-FP-CONFUSER",
"kind": "event_false_positive"
},
{
"error_code": "M-FP-CONFUSER",
"kind": "false_positive"
},
{
"error_code": "M-MISCALIBRATED",
"kind": "miscalibrated"
},
{
"error_code": "P-PARTIAL",
"kind": "terrain_missing"
}
],
"observed_failure_count": 14,
"schema_version": 2,
"source": "docs/accuracy-program/05-metric-framework.md section 4"
}
@@ -1,300 +0,0 @@
{
"benchmark_id": "geointel-p4-reference-harness-v2",
"claim_boundary": "Synthetic deterministic reference cases validate evaluator behavior, not production model accuracy.",
"evaluator_families": [
"change_detection",
"footprint_segmentation",
"geospatial_data_validation",
"object_detection",
"raster_classification",
"terrain_interpretation",
"vector_comparison"
],
"evaluator_version": "2.1.0",
"gate_states": [
"fail",
"not_evaluable",
"pass"
],
"implemented_capabilities": [
{
"capability_id": "model_object_detection",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "synthetic_contract_case_only",
"implementation_kind": "model_inference_pipeline",
"implementation_paths": [
"backend/app/services/detection_service.py"
],
"suitable_metrics": [
"precision",
"recall",
"F1",
"AP50",
"AP50-95",
"IoU",
"ECE",
"Brier",
"coverage-risk"
],
"task": "object_detection"
},
{
"capability_id": "building_proposal_filtering",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "not_separately_benchmarked",
"implementation_kind": "supporting_candidate_classifier",
"implementation_paths": [
"scripts/train_building_proposal_classifier.py",
"scripts/evaluate_belgium_building_candidate.py"
],
"suitable_metrics": [
"candidate precision",
"candidate recall",
"F1",
"calibration"
],
"task": "object_detection"
},
{
"capability_id": "footprint_segmentation",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "synthetic_contract_case_only",
"implementation_kind": "model_inference_pipeline",
"implementation_paths": [
"backend/app/services/segmentation_service.py",
"backend/app/services/segmentation_adapter.py"
],
"suitable_metrics": [
"object precision",
"object recall",
"F1",
"IoU",
"Dice",
"boundary F1",
"centroid distance",
"area error",
"topology"
],
"task": "footprint_segmentation"
},
{
"capability_id": "detection_and_vector_qa",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "synthetic_contract_case_only",
"implementation_kind": "deterministic_geospatial_comparison",
"implementation_paths": [
"backend/app/services/qa_service.py",
"backend/app/services/detection_qa_service.py",
"backend/app/services/quality_check_service.py"
],
"suitable_metrics": [
"precision",
"recall",
"F1",
"IoU",
"topology",
"coverage"
],
"task": "vector_comparison"
},
{
"capability_id": "vector_clip_buffer_intersect",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "covered_by_family_not_separately_benchmarked",
"implementation_kind": "deterministic_vector_processing",
"implementation_paths": [
"backend/app/services/vector_operations_service.py",
"backend/app/services/vector_feature_service.py"
],
"suitable_metrics": [
"geometry validity",
"CRS correctness",
"area conservation",
"feature counts",
"topology"
],
"task": "vector_comparison"
},
{
"capability_id": "temporal_vector_change",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "synthetic_contract_case_only",
"implementation_kind": "deterministic_change_detection",
"implementation_paths": [
"backend/app/services/change_detection_service.py"
],
"suitable_metrics": [
"event precision",
"event recall",
"event F1",
"IoU"
],
"task": "change_detection"
},
{
"capability_id": "thematic_raster_interpretation",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "synthetic_metric_contract_only_no_generic_learned_classifier_claim",
"implementation_kind": "deterministic_source_interpretation",
"implementation_paths": [
"backend/app/services/thematic_raster_analysis_service.py"
],
"suitable_metrics": [
"pixel accuracy",
"per-class F1",
"per-class IoU",
"mean IoU"
],
"task": "raster_classification"
},
{
"capability_id": "raster_clip_reproject_indices",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "covered_by_family_not_separately_benchmarked",
"implementation_kind": "deterministic_raster_processing",
"implementation_paths": [
"backend/app/services/raster_service.py",
"backend/app/services/raster_operations_service.py"
],
"suitable_metrics": [
"CRS/transform preservation",
"pixel alignment",
"nodata",
"numeric tolerance"
],
"task": "raster_classification"
},
{
"capability_id": "raster_partition_mosaic",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "not_separately_benchmarked",
"implementation_kind": "deterministic_raster_partitioning",
"implementation_paths": [
"backend/app/services/raster_partition_analysis_service.py"
],
"suitable_metrics": [
"seam equality",
"coverage completeness",
"resolution consistency"
],
"task": "raster_classification"
},
{
"capability_id": "terrain_height_interpretation",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "synthetic_contract_case_only",
"implementation_kind": "deterministic_continuous_raster_analysis",
"implementation_paths": [
"backend/app/services/terrain_analysis_service.py",
"backend/app/services/spw_terrain_service.py"
],
"suitable_metrics": [
"MAE",
"RMSE",
"bias",
"coverage",
"unit integrity"
],
"task": "terrain_interpretation"
},
{
"capability_id": "flood_hazard_interpretation",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "covered_by_family_not_separately_benchmarked",
"implementation_kind": "deterministic_scenario_raster_analysis",
"implementation_paths": [
"backend/app/services/flood_hazard_analysis_service.py"
],
"suitable_metrics": [
"depth MAE/RMSE",
"hazard-class IoU",
"coverage",
"scenario identity"
],
"task": "terrain_interpretation"
},
{
"capability_id": "bathymetry_interpretation",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "covered_by_family_not_separately_benchmarked",
"implementation_kind": "deterministic_vertical_reference_analysis",
"implementation_paths": [
"backend/app/services/bathymetry_raster_analysis_service.py",
"backend/app/services/mdk_bathymetry_probe_service.py"
],
"suitable_metrics": [
"MAE",
"RMSE",
"bias",
"coverage",
"vertical-datum integrity"
],
"task": "terrain_interpretation"
},
{
"capability_id": "data_contract_validation_and_scan",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "synthetic_contract_case_only",
"implementation_kind": "deterministic_validation",
"implementation_paths": [
"backend/app/services/data_contract_validation.py",
"scripts/run_accuracy_phase3_full_data_scan.py"
],
"suitable_metrics": [
"anomaly precision",
"anomaly recall",
"anomaly F1",
"critical misses"
],
"task": "geospatial_data_validation"
},
{
"capability_id": "aoi_partition_orchestration",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "not_separately_benchmarked",
"implementation_kind": "deterministic_orchestration",
"implementation_paths": [
"backend/app/services/aoi_operation_service.py",
"backend/app/services/aoi_operation_executor.py",
"backend/app/services/aoi_operation_worker.py"
],
"suitable_metrics": [
"partition completeness",
"overlap/gap",
"idempotency",
"resume correctness"
],
"task": "geospatial_data_validation"
},
{
"capability_id": "geo_assistant_orchestration",
"claim_boundary": "A family mapping is not evidence that this capability has a separate representative product benchmark.",
"evaluation_status": "no_independent_accuracy_score_underlying_tool_results_are_authoritative",
"implementation_kind": "tool_orchestration_interface",
"implementation_paths": [
"backend/app/services/geo_assistant_service.py"
],
"suitable_metrics": [
"tool-selection correctness",
"grounding",
"unsupported-claim rate"
],
"task": "geospatial_data_validation"
}
],
"metric_contract": {
"path": "docs/accuracy-program/05-metric-framework.md",
"sha256": "18abfc21964b7d98848d8ae513afce242184980c9517c9184d40efd9165ea00d",
"size_bytes": 28053
},
"protected_policy": {
"diagnostic_curves_select_operating_point": false,
"operating_point_selection_allowed": false,
"test_feedback_allowed": false,
"threshold_selection_source": "pre_registered_configuration_only"
},
"schema_version": 2,
"split_generator_version": "1.3.0",
"undefined_value_policy": "Undefined denominators are null with numerator, denominator and support; they are never coerced to a perfect score.",
"workflow_version": "2.0.1"
}
@@ -1,129 +0,0 @@
{
"artifact_count": 24,
"artifacts": [
{
"path": "acceptance-gates.json",
"sha256": "e5f1c9c43c8da22acfa5486e641c010a278431f90634f91335b039ab7bdb50a4",
"size_bytes": 5517
},
{
"path": "aoi-metrics.json",
"sha256": "2f5424c4a624316d0c8e71696440080d535ec0682831a80d664694f7cc198e94",
"size_bytes": 430
},
{
"path": "baseline-raw-predictions.json",
"sha256": "d03ec665fcb3efb9546c1e5a42888cd2775307e3c7ba90d225389caca7e1140f",
"size_bytes": 42170
},
{
"path": "benchmark-manifest.json",
"sha256": "868dd7eb2dfa8344e417879ed3f5dd7c7d9e5673add7e3e2294c5cbde4b75d57",
"size_bytes": 4212
},
{
"path": "calibration-metrics.json",
"sha256": "ad54f924512529deba6d869736ca3f72dde8651227943c0b9e8695912e7a0c3d",
"size_bytes": 8858
},
{
"path": "candidate-vs-incumbent.json",
"sha256": "7ee6fb5722b43fa0dc0a8e966547c954c62c7401b10e6f727e21d332b34f077f",
"size_bytes": 517
},
{
"path": "development-split-manifest.json",
"sha256": "636b1d38695ade99ee3896a2d870fcaf0635168e8e25657353ac51a7bfba2248",
"size_bytes": 12424
},
{
"path": "error-taxonomy.json",
"sha256": "acf2804e482dfdca1df05ef2c6e40701b82877466761b880b314e46699f470dc",
"size_bytes": 1116
},
{
"path": "evaluation-contract.json",
"sha256": "797598cf3060cffb30f352ed022459c3be2e656c19b190c38b66fb99dbe54bd2",
"size_bytes": 11057
},
{
"path": "failure-gallery.json",
"sha256": "eaf19cbad22a44fc2b6420ff0591536a61560815f472bf7fb54ed0179bd93986",
"size_bytes": 14852
},
{
"path": "generation-status.json",
"sha256": "3311ae1ddf622f94c1a2e596b24454e0c033428b5d767d8cc3c67ee4e33a1a63",
"size_bytes": 374
},
{
"path": "human-review-summary.json",
"sha256": "1ff22096bccb03ca5188d53bfe5f5d4a8ac937fdb43265c20b676f9211d1abbd",
"size_bytes": 201
},
{
"path": "input-manifest.json",
"sha256": "44f1c81d76baf4dc965afc2cd109ac165ae8fe0308f202018ea21bac786bcd0b",
"size_bytes": 6092
},
{
"path": "latency-and-reliability.json",
"sha256": "7c89bc0562b99565f6b1c54eac562f129192481ac61571ab48fb69a1f8553f95",
"size_bytes": 263
},
{
"path": "leakage-gate-report.json",
"sha256": "ea532fc95b4e3be30299b6ec1939a42166c8107214b4264208c1a10c2abc0ff8",
"size_bytes": 1221
},
{
"path": "metric-report.json",
"sha256": "6c92f31c1b0363d031e03968a50985e4e27075dc33ef03e9ce5e6a7fbb30c4f0",
"size_bytes": 403544
},
{
"path": "object-metrics.json",
"sha256": "30cb52b1ee18a75bb68304ec6b88f54455a53e68052392232dec370ac3a68a10",
"size_bytes": 24826
},
{
"path": "protected-split-manifest.json",
"sha256": "f294af0b2957af7de6ec533e4495d9d0d75da86cc0d29e265ed6998104829c64",
"size_bytes": 20986
},
{
"path": "reference-implementation-baseline.json",
"sha256": "1c8fd9970d91449842922ba38f733da9d99142ce5f2a03736d14f9f61ad849a6",
"size_bytes": 4710
},
{
"path": "release-gate-report.json",
"sha256": "e5f1c9c43c8da22acfa5486e641c010a278431f90634f91335b039ab7bdb50a4",
"size_bytes": 5517
},
{
"path": "split-and-leakage-audit.json",
"sha256": "ea532fc95b4e3be30299b6ec1939a42166c8107214b4264208c1a10c2abc0ff8",
"size_bytes": 1221
},
{
"path": "stratified-metrics.json",
"sha256": "66f7b7ed639cef400e52cada5d2274f8c185616b4beb6b44bcc89a8aa9929048",
"size_bytes": 326587
},
{
"path": "tile-metrics.json",
"sha256": "0920c5d0b2076ed1ebcc06144f4cf786c3a18d1d67f9e388314f7f9ccb857256",
"size_bytes": 6344
},
{
"path": "workflow-summary.json",
"sha256": "bcb4469fcaf4c360ed716037484117edf4e93c6b79bbdcf7f75cd3f79ca093a6",
"size_bytes": 1035
}
],
"benchmark_id": "geointel-p4-reference-harness-v2",
"claim_boundary": "Immutable local reference-harness evidence only; product accuracy and release remain blocked while product gates are not evaluable or fail.",
"phase": "P4",
"schema_version": 2
}
@@ -1,537 +0,0 @@
{
"failure_count": 14,
"items": [
{
"contexts": [],
"error_code": "P-PARTIAL",
"evidence": {
"missing_index": 3
},
"failure_id": "1397377fd37cd400f01a",
"kind": "terrain_missing",
"metadata": {
"context": "terrain_profile",
"date": "2023-01-01",
"difficulty": "normal",
"label_review_state": "fixture_reviewed",
"municipality": "Hasselt",
"object_size": "not_applicable",
"occlusion": "not_applicable",
"ood": false,
"region": "flanders",
"resolution_m": 5,
"season": "not_applicable",
"sensor": "elevation-raster",
"source": "fixture-dhmv",
"tile_edge": false,
"urbanity": "rural",
"vegetation": "moderate"
},
"sample_id": "terrain-test-flanders-rural",
"secondary_error_codes": [],
"task": "terrain_interpretation"
},
{
"contexts": [],
"error_code": "M-FN-MISSED",
"evidence": {
"bbox": [
10,
0,
15,
5
],
"class": "removed",
"id": "r2"
},
"failure_id": "28a0be1f9d4960036f3a",
"kind": "event_false_negative",
"metadata": {
"context": "industrial_change",
"date": "2024-05-01/2025-05-01",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Liège",
"object_size": "mixed",
"occlusion": "none",
"ood": false,
"region": "wallonia",
"resolution_m": 0.5,
"season": "multi-date",
"sensor": "vector",
"source": "fixture-picc-temporal",
"tile_edge": false,
"urbanity": "industrial",
"vegetation": "low"
},
"sample_id": "change-test-wallonia-industrial",
"secondary_error_codes": [],
"task": "change_detection"
},
{
"contexts": [],
"error_code": "M-AREA-BIAS",
"evidence": {
"prediction_id": "p1",
"reference_id": "r1",
"relative_area_error": -0.1
},
"failure_id": "2d53b69d95b17bf49580",
"kind": "area_bias",
"metadata": {
"context": "rural_buildings",
"date": "2025-04-20",
"difficulty": "normal",
"label_review_state": "fixture_reviewed",
"municipality": "Namur",
"object_size": "large",
"occlusion": "none",
"ood": false,
"region": "wallonia",
"resolution_m": 0.5,
"season": "spring",
"sensor": "synthetic-rgb",
"source": "fixture-picc",
"tile_edge": false,
"urbanity": "rural",
"vegetation": "low"
},
"sample_id": "seg-test-wallonia-rural",
"secondary_error_codes": [],
"task": "footprint_segmentation"
},
{
"contexts": [
"tile_edge"
],
"error_code": "M-CLASS",
"evidence": {
"column": 1,
"pixel_index": 9,
"prediction": 1,
"reason": "class_mismatch",
"reference": 2,
"row": 2
},
"failure_id": "2fabc83865f9e1f49efc",
"kind": "raster_misclassification",
"metadata": {
"context": "dense_urban_raster",
"date": "2025-10-05",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Brussel",
"object_size": "not_applicable",
"occlusion": "not_applicable",
"ood": false,
"region": "brussels",
"resolution_m": 1,
"season": "autumn",
"sensor": "synthetic-multispectral",
"source": "fixture-thematic-raster",
"tile_edge": true,
"urbanity": "urban",
"vegetation": "moderate"
},
"sample_id": "raster-test-brussels-urban",
"secondary_error_codes": [],
"task": "raster_classification"
},
{
"contexts": [
"high_confidence",
"tile_edge"
],
"error_code": "M-FP-CONFUSER",
"evidence": {
"bbox": [
20,
20,
35,
35
],
"class": "building",
"confidence": 0.92,
"id": "p-hard-fp"
},
"failure_id": "39eae35c6660b1ac1bcd",
"kind": "false_positive",
"metadata": {
"context": "coastal_hard_negative",
"date": "2025-07-01",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Oostende",
"object_size": "empty",
"occlusion": "none",
"ood": false,
"region": "flanders",
"resolution_m": 0.25,
"season": "summer",
"sensor": "synthetic-rgb",
"source": "fixture-orthophoto",
"tile_edge": true,
"urbanity": "urban",
"vegetation": "moderate"
},
"sample_id": "background-test-hard-negative",
"secondary_error_codes": [
"M-MISCALIBRATED"
],
"task": "object_detection"
},
{
"contexts": [],
"error_code": "D-VALIDATION-FN",
"evidence": {
"anomaly": "D-MISSING-PROVENANCE",
"severity": "critical"
},
"failure_id": "40e33e21c399cc657f26",
"kind": "validation_false_negative",
"metadata": {
"context": "data_contract",
"date": "2025-01-01",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "not_applicable",
"object_size": "not_applicable",
"occlusion": "not_applicable",
"ood": false,
"region": "national",
"resolution_m": null,
"season": "not_applicable",
"sensor": "mixed",
"source": "fixture-contracts",
"tile_edge": false,
"urbanity": "mixed",
"vegetation": "mixed"
},
"sample_id": "validation-test-national",
"secondary_error_codes": [],
"task": "geospatial_data_validation"
},
{
"contexts": [],
"error_code": "M-FP-CONFUSER",
"evidence": {
"bbox": [
20,
0,
25,
5
],
"class": "removed",
"confidence": 0.65,
"id": "p2"
},
"failure_id": "49560fb2dcb347c4cff5",
"kind": "event_false_positive",
"metadata": {
"context": "industrial_change",
"date": "2024-05-01/2025-05-01",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Liège",
"object_size": "mixed",
"occlusion": "none",
"ood": false,
"region": "wallonia",
"resolution_m": 0.5,
"season": "multi-date",
"sensor": "vector",
"source": "fixture-picc-temporal",
"tile_edge": false,
"urbanity": "industrial",
"vegetation": "low"
},
"sample_id": "change-test-wallonia-industrial",
"secondary_error_codes": [],
"task": "change_detection"
},
{
"contexts": [],
"error_code": "M-MISCALIBRATED",
"evidence": {
"brier": 0.15333333333333332,
"claim_boundary": "diagnostic deviation only; not a representative population-calibration claim",
"ece": 0.13333333333333325,
"prediction_support": 3
},
"failure_id": "8d4113e9688207b68f98",
"kind": "miscalibrated",
"metadata": {
"context": "dense_urban",
"date": "2025-06-15",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Antwerpen",
"object_size": "mixed",
"occlusion": "partial",
"ood": false,
"region": "flanders",
"resolution_m": 0.25,
"season": "summer",
"sensor": "synthetic-rgb",
"source": "fixture-orthophoto",
"tile_edge": false,
"urbanity": "urban",
"vegetation": "moderate"
},
"sample_id": "det-test-flanders-urban",
"secondary_error_codes": [],
"task": "object_detection"
},
{
"contexts": [
"tile_edge"
],
"error_code": "M-CLASS",
"evidence": {
"column": 3,
"pixel_index": 3,
"prediction": 2,
"reason": "class_mismatch",
"reference": 1,
"row": 0
},
"failure_id": "a7c91430a7766b02755e",
"kind": "raster_misclassification",
"metadata": {
"context": "dense_urban_raster",
"date": "2025-10-05",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Brussel",
"object_size": "not_applicable",
"occlusion": "not_applicable",
"ood": false,
"region": "brussels",
"resolution_m": 1,
"season": "autumn",
"sensor": "synthetic-multispectral",
"source": "fixture-thematic-raster",
"tile_edge": true,
"urbanity": "urban",
"vegetation": "moderate"
},
"sample_id": "raster-test-brussels-urban",
"secondary_error_codes": [],
"task": "raster_classification"
},
{
"contexts": [],
"error_code": "M-FP-CONFUSER",
"evidence": {
"bbox": [
85,
85,
95,
95
],
"class": "building",
"confidence": 0.6,
"id": "p3"
},
"failure_id": "b7e154a0f6ddb9d8653f",
"kind": "false_positive",
"metadata": {
"context": "dense_urban",
"date": "2025-06-15",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Antwerpen",
"object_size": "mixed",
"occlusion": "partial",
"ood": false,
"region": "flanders",
"resolution_m": 0.25,
"season": "summer",
"sensor": "synthetic-rgb",
"source": "fixture-orthophoto",
"tile_edge": false,
"urbanity": "urban",
"vegetation": "moderate"
},
"sample_id": "det-test-flanders-urban",
"secondary_error_codes": [],
"task": "object_detection"
},
{
"contexts": [],
"error_code": "M-FP-CONFUSER",
"evidence": {
"class": "building",
"id": "p2",
"polygon": [
[
20,
0
],
[
24,
0
],
[
24,
4
],
[
20,
4
],
[
20,
0
]
]
},
"failure_id": "bf43633497be5101cddb",
"kind": "false_positive",
"metadata": {
"context": "suburban_buildings",
"date": "2025-01-15",
"difficulty": "normal",
"label_review_state": "fixture_reviewed",
"municipality": "Mol",
"object_size": "mixed",
"occlusion": "not_applicable",
"ood": false,
"region": "flanders",
"resolution_m": 0.1,
"season": "not_applicable",
"sensor": "vector",
"source": "fixture-grb",
"tile_edge": false,
"urbanity": "suburban",
"vegetation": "low"
},
"sample_id": "vector-test-flanders-suburban",
"secondary_error_codes": [],
"task": "vector_comparison"
},
{
"contexts": [],
"error_code": "M-FN-MISSED",
"evidence": {
"class": "building",
"id": "r2",
"polygon": [
[
10,
0
],
[
14,
0
],
[
14,
4
],
[
10,
4
],
[
10,
0
]
]
},
"failure_id": "c9a80d5bb196dc7113e2",
"kind": "false_negative",
"metadata": {
"context": "suburban_buildings",
"date": "2025-01-15",
"difficulty": "normal",
"label_review_state": "fixture_reviewed",
"municipality": "Mol",
"object_size": "mixed",
"occlusion": "not_applicable",
"ood": false,
"region": "flanders",
"resolution_m": 0.1,
"season": "not_applicable",
"sensor": "vector",
"source": "fixture-grb",
"tile_edge": false,
"urbanity": "suburban",
"vegetation": "low"
},
"sample_id": "vector-test-flanders-suburban",
"secondary_error_codes": [],
"task": "vector_comparison"
},
{
"contexts": [],
"error_code": "D-VALIDATION-FP",
"evidence": {
"anomaly": "D-RESOLUTION",
"severity": "major"
},
"failure_id": "e00a10875bea399c62c3",
"kind": "validation_false_positive",
"metadata": {
"context": "data_contract",
"date": "2025-01-01",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "not_applicable",
"object_size": "not_applicable",
"occlusion": "not_applicable",
"ood": false,
"region": "national",
"resolution_m": null,
"season": "not_applicable",
"sensor": "mixed",
"source": "fixture-contracts",
"tile_edge": false,
"urbanity": "mixed",
"vegetation": "mixed"
},
"sample_id": "validation-test-national",
"secondary_error_codes": [],
"task": "geospatial_data_validation"
},
{
"contexts": [
"tile_edge"
],
"error_code": "M-MISCALIBRATED",
"evidence": {
"brier": 0.8464,
"claim_boundary": "diagnostic deviation only; not a representative population-calibration claim",
"ece": 0.92,
"prediction_support": 1
},
"failure_id": "edae8689bdec601bca2b",
"kind": "miscalibrated",
"metadata": {
"context": "coastal_hard_negative",
"date": "2025-07-01",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Oostende",
"object_size": "empty",
"occlusion": "none",
"ood": false,
"region": "flanders",
"resolution_m": 0.25,
"season": "summer",
"sensor": "synthetic-rgb",
"source": "fixture-orthophoto",
"tile_edge": true,
"urbanity": "urban",
"vegetation": "moderate"
},
"sample_id": "background-test-hard-negative",
"secondary_error_codes": [],
"task": "object_detection"
}
],
"items_canonical_json_sha256": "2002025055588195db73e20017882e412e988f3c55dedc89a1fd0c1dcd7a7e3e",
"rendering_status": "machine_readable_examples_retained; a visual production gallery requires controlled access to protected imagery",
"schema_version": 2,
"taxonomy": "docs/accuracy-program/05-metric-framework.md section 4"
}
@@ -1,8 +0,0 @@
{
"development_manifest_sha256": "64e4fc986c2390bedfbe100062d4b06e1098689f4d4a9a9da13a7f67357c0493",
"generator_version": "1.3.0",
"protected_manifest_sha256": "e57ca1529654ef1c2527e84122ff26ec3533e7c70658250983968fbc5d4af410",
"schema_version": 1,
"source_manifest_sha256": "1c75c875d4c297d046117bb9393ba5e648f13d3358ea92cb65374869c8f5fc01",
"status": "pass"
}
@@ -1,8 +0,0 @@
{
"ai_review_is_human_signoff": false,
"required": null,
"reviewed": null,
"schema_version": 2,
"source": "readiness-snapshot.json bound to Phase-1/3 evidence",
"status": "not_evaluable"
}
@@ -1,185 +0,0 @@
{
"code": [
{
"path": "scripts/accuracy_phase4_evaluator.py",
"sha256": "d2e40f7978d3ff4ce7025eaaaefb06ccc76c269d6874f8b0f528739d535a1da1",
"size_bytes": 93353
},
{
"path": "scripts/generate_accuracy_phase4_splits.py",
"sha256": "d12842922bcd99b1672176df15a9cef250128e7d7fc662ab15e16f1c084ba570",
"size_bytes": 75923
},
{
"path": "scripts/run_accuracy_phase4_benchmark.py",
"sha256": "003ecb4babc7f56a6d13e9e1c08dda902b9b26203cc7d53476d4d5e083b8b85b",
"size_bytes": 123717
},
{
"path": "scripts/run_golden_qa_benchmark.py",
"sha256": "2c8a19fd92db8f07f491b8f7b34d9736384f81e02a6b83019fac71b101ebdaa0",
"size_bytes": 10856
},
{
"path": "backend/app/services/qa_service.py",
"sha256": "2d4f645410fbf2972e55dddbf5a85db5368b2b1932792cd522ec51c483339244",
"size_bytes": 15206
}
],
"inputs": [
{
"path": "fixtures/accuracy/p4/split-source-manifest.json",
"sha256": "27ec60406ac57a02f1335013ee344a43d4e0093e7ee1329ec22876da623f5bfc",
"size_bytes": 17331
},
{
"path": "fixtures/accuracy/p4/protected-baseline-cases.json",
"sha256": "c49a9c8d74cae2062552b012d9c275f65156c81d75b3e453860f5b859c1c5473",
"size_bytes": 20091
},
{
"path": "fixtures/golden/golden_qa_benchmarks.json",
"sha256": "d60576ff7048ca3a048dc166e8977f3a31e9f8fa352be5ad222a017260e179e2",
"size_bytes": 2758
},
{
"path": "docs/accuracy-program/05-metric-framework.md",
"sha256": "18abfc21964b7d98848d8ae513afce242184980c9517c9184d40efd9165ea00d",
"size_bytes": 28053
},
{
"path": "docs/accuracy-program/07-source-authority-matrix.md",
"sha256": "42fc59ec012b3d4eff5674ba347b11fb418a42b0178a12c9de16eac873ef6a9c",
"size_bytes": 30807
},
{
"path": "artifacts/evidence/accuracy/P3/full-scan-manifest.json",
"sha256": "28c1022d125f30bfb4aa362b57d8a90cf8c88270b2a9ac6582b86b6a44a08038",
"size_bytes": 755527
},
{
"path": "artifacts/evidence/accuracy/P3/leakage-report.json",
"sha256": "8e1b7a24a840549d442bc03132ee1f21c6d50f8714cbb8d33430391a3769cd4e",
"size_bytes": 580
}
],
"model_execution": {
"configured_active_model": {
"model_id": "yolo-configured",
"model_version": "",
"nationally_validated": false,
"path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"size_bytes": 22516074,
"validated_area_names": [
"Mol",
"Kempen"
]
},
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"product_baseline": {
"artifacts": [],
"manifest": null,
"product_gate_evidence_sha256": "c9f5e3de3ab6d64911f8807b26caa661ccf911a5fd6b995107edda2004836e0c",
"requested_path": "artifacts/evidence/accuracy/P4/product-baseline-manifest.json",
"validation_status": "not_evaluable"
},
"readiness_snapshot": {
"active_model": {
"model_id": "yolo-configured",
"model_version": "",
"nationally_validated": false,
"path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"size_bytes": 22516074,
"validated_area_names": [
"Mol",
"Kempen"
]
},
"authority_requirements": [
{
"primary": "grb",
"task": "building_validation",
"zone": "flanders"
},
{
"primary": "picc",
"task": "building_validation",
"zone": "wallonia"
},
{
"primary": "urbis",
"task": "building_validation",
"zone": "brussels"
},
{
"primary": "dhmv",
"task": "terrain_height",
"zone": "flanders"
},
{
"primary": "spw_terrain",
"task": "terrain_height",
"zone": "wallonia"
},
{
"primary": "mdk",
"task": "north_sea_bathymetry",
"zone": "belgian_north_sea"
},
{
"contextual": "sentinel-2",
"primary": "official_orthophoto",
"task": "imagery_corroboration",
"zone": "belgium"
}
],
"phase3_leakage_status": "attention",
"phase3_scan": {
"content_hash": null,
"grb_consistency": {
"reason": "No authoritative GRB snapshot was accessible in the configured local roots; no derived result was marked as GRB ground truth.",
"status": "unavailable"
},
"scan_id": "p3-46ee3f8d3a2dc52b"
},
"schema_version": 1,
"source_paths": {
"accuracy_status_projection": {
"path": "docs/accuracy-program/status.json",
"selected_json_pointers": [
"/runtime/active_model"
],
"sha256": "441dc0302156d8a1293fc330318bed5a39a6e6c558ee52dc9ada4965a5a516f6"
},
"phase3_full_scan": {
"path": "artifacts/evidence/accuracy/P3/full-scan-manifest.json",
"sha256": "28c1022d125f30bfb4aa362b57d8a90cf8c88270b2a9ac6582b86b6a44a08038",
"size_bytes": 755527
},
"phase3_leakage": {
"path": "artifacts/evidence/accuracy/P3/leakage-report.json",
"sha256": "8e1b7a24a840549d442bc03132ee1f21c6d50f8714cbb8d33430391a3769cd4e",
"size_bytes": 580
}
}
},
"readiness_snapshot_sha256": "5fab098e77e8537d95d83adeda5ec081106fea760b4b476d3517079c33d1cd9f",
"repository_commit": "70fb4b94e5cb7c248beec5a936ce186f38cc183c",
"runtime": {
"cuda_used_for_reference_harness": false,
"dependencies": {
"numpy": "2.2.2",
"pyproj": "3.7.2",
"shapely": "2.1.2"
},
"execution_device": "CPU deterministic evaluator arithmetic; no production model inference",
"platform": "Windows-11-10.0.26200-SP0",
"python": "3.13.2",
"python_implementation": "CPython"
},
"schema_version": 2
}
@@ -1,6 +0,0 @@
{
"model_inference_executed": false,
"reason": "The reference harness performs deterministic evaluator arithmetic only. GPU latency, VRAM, throughput and failure-rate gates require the real active model.",
"schema_version": 2,
"status": "not_evaluable"
}
@@ -1,46 +0,0 @@
{
"checked_identity_fields": [
"sample_id",
"group_id",
"source_family",
"acquisition_date",
"temporal_family",
"object_ids",
"native_feature_ids",
"raw_image_sha256",
"processed_image_sha256",
"label_sha256",
"record_sha256",
"perceptual_image_hash",
"label_geometry_hash",
"label_geometry_fingerprint",
"parent_raster_id",
"acquisition_id",
"bbox_distance"
],
"crs_validation": {
"crs": "EPSG:31370",
"distance_units": "m",
"status": "pass"
},
"development_manifest_sha256": "64e4fc986c2390bedfbe100062d4b06e1098689f4d4a9a9da13a7f67357c0493",
"finding_count": 0,
"findings": [],
"generator_version": "1.3.0",
"independence_buffer_m": 2000.0,
"inventory_total": 21,
"label_geometry_hamming_threshold": 2,
"perceptual_hamming_threshold": 4,
"protected_manifest_sha256": "e57ca1529654ef1c2527e84122ff26ec3533e7c70658250983968fbc5d4af410",
"schema_version": 1,
"source_manifest_sha256": "1c75c875d4c297d046117bb9393ba5e648f13d3358ea92cb65374869c8f5fc01",
"split_counts": {
"background-test": 2,
"calibration": 2,
"challenge": 4,
"test": 7,
"train": 3,
"val": 3
},
"status": "pass"
}
@@ -1,806 +0,0 @@
{
"results": [
{
"metadata": {
"context": "coastal_hard_negative",
"date": "2025-07-01",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Oostende",
"object_size": "empty",
"occlusion": "none",
"ood": false,
"region": "flanders",
"resolution_m": 0.25,
"season": "summer",
"sensor": "synthetic-rgb",
"source": "fixture-orthophoto",
"tile_edge": true,
"urbanity": "urban",
"vegetation": "moderate"
},
"metrics": {
"ap50": null,
"ap50_95": null,
"calibration": {
"binning": "five fixed equal-width bins",
"bins": [
{
"accuracy": null,
"count": 0,
"lower": 0.0,
"mean_confidence": null,
"upper": 0.2
},
{
"accuracy": null,
"count": 0,
"lower": 0.2,
"mean_confidence": null,
"upper": 0.4
},
{
"accuracy": null,
"count": 0,
"lower": 0.4,
"mean_confidence": null,
"upper": 0.6
},
{
"accuracy": null,
"count": 0,
"lower": 0.6,
"mean_confidence": null,
"upper": 0.8
},
{
"accuracy": 0,
"count": 1,
"lower": 0.8,
"mean_confidence": 0.92,
"upper": 1.0
}
],
"brier": 0.8464,
"ece": 0.92,
"status": "computed"
},
"coverage_risk": [
{
"false_negative_count": 0,
"false_positive_count": 1,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 1,
"retained_prediction_coverage": 1.0,
"risk": 1.0,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.0,
"total_prediction_count": 1
},
{
"false_negative_count": 0,
"false_positive_count": 1,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 1,
"retained_prediction_coverage": 1.0,
"risk": 1.0,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.5,
"total_prediction_count": 1
},
{
"false_negative_count": 0,
"false_positive_count": 1,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 1,
"retained_prediction_coverage": 1.0,
"risk": 1.0,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.7,
"total_prediction_count": 1
},
{
"false_negative_count": 0,
"false_positive_count": 1,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 1,
"retained_prediction_coverage": 1.0,
"risk": 1.0,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.9,
"total_prediction_count": 1
}
],
"f1": null,
"false_discovery_rate": 1.0,
"false_negative": 0,
"false_positive": 1,
"map50": null,
"map50_95": null,
"match_iou": 0.5,
"matched_iou": {
"count": 0,
"max": null,
"mean": null,
"median": null,
"min": null
},
"miss_rate": null,
"operating_confidence": 0.5,
"per_class": {
"building": {
"ap50": null,
"ap50_95": null,
"f1": null,
"false_discovery_rate": 1.0,
"false_negative": 0,
"false_positive": 1,
"miss_rate": null,
"precision": 0.0,
"precision_ci95_wilson": {
"lower": 0.0,
"method": "Wilson score interval",
"status": "computed",
"support": 1,
"upper": 0.7934506856227626
},
"prediction_count": 1,
"recall": null,
"recall_ci95_wilson": {
"lower": null,
"status": "undefined",
"support": 0,
"upper": null
},
"reference_count": 0,
"true_positive": 0
}
},
"precision": 0.0,
"precision_ci95_wilson": {
"lower": 0.0,
"method": "Wilson score interval",
"status": "computed",
"support": 1,
"upper": 0.7934506856227626
},
"prediction_count": 1,
"recall": null,
"recall_ci95_wilson": {
"lower": null,
"status": "undefined",
"support": 0,
"upper": null
},
"reference_count": 0,
"true_positive": 0
},
"sample_id": "background-test-hard-negative",
"task": "object_detection"
},
{
"metadata": {
"context": "pure_background",
"date": "2025-02-01",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Brussel",
"object_size": "empty",
"occlusion": "none",
"ood": false,
"region": "brussels",
"resolution_m": 0.25,
"season": "winter",
"sensor": "synthetic-rgb",
"source": "fixture-orthophoto",
"tile_edge": false,
"urbanity": "urban",
"vegetation": "low"
},
"metrics": {
"ap50": null,
"ap50_95": null,
"calibration": {
"bins": [],
"brier": null,
"ece": null,
"status": "undefined"
},
"coverage_risk": [
{
"false_negative_count": 0,
"false_positive_count": 0,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 0,
"retained_prediction_coverage": null,
"risk": null,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.0,
"total_prediction_count": 0
},
{
"false_negative_count": 0,
"false_positive_count": 0,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 0,
"retained_prediction_coverage": null,
"risk": null,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.5,
"total_prediction_count": 0
},
{
"false_negative_count": 0,
"false_positive_count": 0,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 0,
"retained_prediction_coverage": null,
"risk": null,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.7,
"total_prediction_count": 0
},
{
"false_negative_count": 0,
"false_positive_count": 0,
"matched_reference_count": 0,
"reference_count": 0,
"reference_coverage": null,
"retained_prediction_count": 0,
"retained_prediction_coverage": null,
"risk": null,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.9,
"total_prediction_count": 0
}
],
"f1": null,
"false_discovery_rate": null,
"false_negative": 0,
"false_positive": 0,
"map50": null,
"map50_95": null,
"match_iou": 0.5,
"matched_iou": {
"count": 0,
"max": null,
"mean": null,
"median": null,
"min": null
},
"miss_rate": null,
"operating_confidence": 0.5,
"per_class": {
"building": {
"ap50": null,
"ap50_95": null,
"f1": null,
"false_discovery_rate": null,
"false_negative": 0,
"false_positive": 0,
"miss_rate": null,
"precision": null,
"precision_ci95_wilson": {
"lower": null,
"status": "undefined",
"support": 0,
"upper": null
},
"prediction_count": 0,
"recall": null,
"recall_ci95_wilson": {
"lower": null,
"status": "undefined",
"support": 0,
"upper": null
},
"reference_count": 0,
"true_positive": 0
}
},
"precision": null,
"precision_ci95_wilson": {
"lower": null,
"status": "undefined",
"support": 0,
"upper": null
},
"prediction_count": 0,
"recall": null,
"recall_ci95_wilson": {
"lower": null,
"status": "undefined",
"support": 0,
"upper": null
},
"reference_count": 0,
"true_positive": 0
},
"sample_id": "background-test-pure-empty",
"task": "object_detection"
},
{
"metadata": {
"context": "industrial_change",
"date": "2024-05-01/2025-05-01",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Liège",
"object_size": "mixed",
"occlusion": "none",
"ood": false,
"region": "wallonia",
"resolution_m": 0.5,
"season": "multi-date",
"sensor": "vector",
"source": "fixture-picc-temporal",
"tile_edge": false,
"urbanity": "industrial",
"vegetation": "low"
},
"metrics": {
"event_metrics": {
"added": {
"f1": 1.0,
"false_discovery_rate": 0.0,
"false_negative": 0,
"false_positive": 0,
"miss_rate": 0.0,
"precision": 1.0,
"precision_ci95_wilson": {
"lower": 0.20654931437723745,
"method": "Wilson score interval",
"status": "computed",
"support": 1,
"upper": 1.0
},
"prediction_count": 1,
"recall": 1.0,
"recall_ci95_wilson": {
"lower": 0.20654931437723745,
"method": "Wilson score interval",
"status": "computed",
"support": 1,
"upper": 1.0
},
"reference_count": 1,
"true_positive": 1
},
"removed": {
"f1": null,
"false_discovery_rate": 1.0,
"false_negative": 1,
"false_positive": 1,
"miss_rate": 1.0,
"precision": 0.0,
"precision_ci95_wilson": {
"lower": 0.0,
"method": "Wilson score interval",
"status": "computed",
"support": 1,
"upper": 0.7934506856227626
},
"prediction_count": 1,
"recall": 0.0,
"recall_ci95_wilson": {
"lower": 0.0,
"method": "Wilson score interval",
"status": "computed",
"support": 1,
"upper": 0.7934506856227626
},
"reference_count": 1,
"true_positive": 0
}
},
"f1": 0.5,
"false_discovery_rate": 0.5,
"false_negative": 1,
"false_positive": 1,
"miss_rate": 0.5,
"precision": 0.5,
"precision_ci95_wilson": {
"lower": 0.09453120573423074,
"method": "Wilson score interval",
"status": "computed",
"support": 2,
"upper": 0.9054687942657693
},
"prediction_count": 2,
"recall": 0.5,
"recall_ci95_wilson": {
"lower": 0.09453120573423074,
"method": "Wilson score interval",
"status": "computed",
"support": 2,
"upper": 0.9054687942657693
},
"reference_count": 2,
"true_positive": 1
},
"sample_id": "change-test-wallonia-industrial",
"task": "change_detection"
},
{
"metadata": {
"context": "dense_urban",
"date": "2025-06-15",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Antwerpen",
"object_size": "mixed",
"occlusion": "partial",
"ood": false,
"region": "flanders",
"resolution_m": 0.25,
"season": "summer",
"sensor": "synthetic-rgb",
"source": "fixture-orthophoto",
"tile_edge": false,
"urbanity": "urban",
"vegetation": "moderate"
},
"metrics": {
"ap50": 1.0,
"ap50_95": 0.900990099009901,
"calibration": {
"binning": "five fixed equal-width bins",
"bins": [
{
"accuracy": null,
"count": 0,
"lower": 0.0,
"mean_confidence": null,
"upper": 0.2
},
{
"accuracy": null,
"count": 0,
"lower": 0.2,
"mean_confidence": null,
"upper": 0.4
},
{
"accuracy": null,
"count": 0,
"lower": 0.4,
"mean_confidence": null,
"upper": 0.6
},
{
"accuracy": 0.5,
"count": 2,
"lower": 0.6,
"mean_confidence": 0.6499999999999999,
"upper": 0.8
},
{
"accuracy": 1,
"count": 1,
"lower": 0.8,
"mean_confidence": 0.9,
"upper": 1.0
}
],
"brier": 0.15333333333333332,
"ece": 0.13333333333333325,
"status": "computed"
},
"coverage_risk": [
{
"false_negative_count": 0,
"false_positive_count": 2,
"matched_reference_count": 2,
"reference_count": 2,
"reference_coverage": 1.0,
"retained_prediction_count": 4,
"retained_prediction_coverage": 1.0,
"risk": 0.5,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.0,
"total_prediction_count": 4
},
{
"false_negative_count": 0,
"false_positive_count": 1,
"matched_reference_count": 2,
"reference_count": 2,
"reference_coverage": 1.0,
"retained_prediction_count": 3,
"retained_prediction_coverage": 0.75,
"risk": 0.3333333333333333,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.5,
"total_prediction_count": 4
},
{
"false_negative_count": 0,
"false_positive_count": 0,
"matched_reference_count": 2,
"reference_count": 2,
"reference_coverage": 1.0,
"retained_prediction_count": 2,
"retained_prediction_coverage": 0.5,
"risk": 0.0,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.7,
"total_prediction_count": 4
},
{
"false_negative_count": 1,
"false_positive_count": 0,
"matched_reference_count": 1,
"reference_count": 2,
"reference_coverage": 0.5,
"retained_prediction_count": 1,
"retained_prediction_coverage": 0.25,
"risk": 0.5,
"risk_definition": "(false_positive + false_negative) / (true_positive + false_positive + false_negative)",
"threshold": 0.9,
"total_prediction_count": 4
}
],
"f1": 0.8,
"false_discovery_rate": 0.3333333333333333,
"false_negative": 0,
"false_positive": 1,
"map50": 1.0,
"map50_95": 0.900990099009901,
"match_iou": 0.5,
"matched_iou": {
"count": 2,
"max": 1.0,
"mean": 0.9355555555555555,
"median": 0.9355555555555555,
"min": 0.8711111111111111
},
"miss_rate": 0.0,
"operating_confidence": 0.5,
"per_class": {
"building": {
"ap50": 1.0,
"ap50_95": 0.900990099009901,
"f1": 0.8,
"false_discovery_rate": 0.3333333333333333,
"false_negative": 0,
"false_positive": 1,
"miss_rate": 0.0,
"precision": 0.6666666666666666,
"precision_ci95_wilson": {
"lower": 0.2076596008020477,
"method": "Wilson score interval",
"status": "computed",
"support": 3,
"upper": 0.9385080552796037
},
"prediction_count": 3,
"recall": 1.0,
"recall_ci95_wilson": {
"lower": 0.34238022750665303,
"method": "Wilson score interval",
"status": "computed",
"support": 2,
"upper": 1.0
},
"reference_count": 2,
"true_positive": 2
}
},
"precision": 0.6666666666666666,
"precision_ci95_wilson": {
"lower": 0.2076596008020477,
"method": "Wilson score interval",
"status": "computed",
"support": 3,
"upper": 0.9385080552796037
},
"prediction_count": 3,
"recall": 1.0,
"recall_ci95_wilson": {
"lower": 0.34238022750665303,
"method": "Wilson score interval",
"status": "computed",
"support": 2,
"upper": 1.0
},
"reference_count": 2,
"true_positive": 2
},
"sample_id": "det-test-flanders-urban",
"task": "object_detection"
},
{
"metadata": {
"context": "rural_buildings",
"date": "2025-04-20",
"difficulty": "normal",
"label_review_state": "fixture_reviewed",
"municipality": "Namur",
"object_size": "large",
"occlusion": "none",
"ood": false,
"region": "wallonia",
"resolution_m": 0.5,
"season": "spring",
"sensor": "synthetic-rgb",
"source": "fixture-picc",
"tile_edge": false,
"urbanity": "rural",
"vegetation": "low"
},
"metrics": {
"centroid_distance_m": {
"count": 1,
"max": 0.5,
"mean": 0.5,
"median": 0.5,
"min": 0.5
},
"f1": 1.0,
"false_discovery_rate": 0.0,
"false_negative": 0,
"false_positive": 0,
"mean_boundary_f1": 1.0,
"mean_dice": 0.8881578947368421,
"mean_iou": 0.7988165680473372,
"miss_rate": 0.0,
"precision": 1.0,
"precision_ci95_wilson": {
"lower": 0.20654931437723745,
"method": "Wilson score interval",
"status": "computed",
"support": 1,
"upper": 1.0
},
"prediction_count": 1,
"recall": 1.0,
"recall_ci95_wilson": {
"lower": 0.20654931437723745,
"method": "Wilson score interval",
"status": "computed",
"support": 1,
"upper": 1.0
},
"reference_count": 1,
"relative_area_error": {
"count": 1,
"max": -0.1,
"mean": -0.1,
"median": -0.1,
"min": -0.1
},
"spatial_context_validated": true,
"topologically_invalid_predictions": 0,
"topologically_valid_predictions": 1,
"true_positive": 1
},
"sample_id": "seg-test-wallonia-rural",
"task": "footprint_segmentation"
},
{
"metadata": {
"context": "data_contract",
"date": "2025-01-01",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "not_applicable",
"object_size": "not_applicable",
"occlusion": "not_applicable",
"ood": false,
"region": "national",
"resolution_m": null,
"season": "not_applicable",
"sensor": "mixed",
"source": "fixture-contracts",
"tile_edge": false,
"urbanity": "mixed",
"vegetation": "mixed"
},
"metrics": {
"blocker_or_critical_miss_count": 1,
"f1": 0.6666666666666666,
"false_discovery_rate": 0.3333333333333333,
"false_negative": 1,
"false_positive": 1,
"miss_rate": 0.3333333333333333,
"misses_by_severity": {
"blocker": 0,
"critical": 1,
"informational": 0,
"major": 0,
"minor": 0
},
"precision": 0.6666666666666666,
"precision_ci95_wilson": {
"lower": 0.2076596008020477,
"method": "Wilson score interval",
"status": "computed",
"support": 3,
"upper": 0.9385080552796037
},
"prediction_count": 3,
"recall": 0.6666666666666666,
"recall_ci95_wilson": {
"lower": 0.2076596008020477,
"method": "Wilson score interval",
"status": "computed",
"support": 3,
"upper": 0.9385080552796037
},
"reference_count": 3,
"severity_mismatch_count": 0,
"severity_mismatches": [],
"true_positive": 2
},
"sample_id": "validation-test-national",
"task": "geospatial_data_validation"
},
{
"metadata": {
"context": "suburban_buildings",
"date": "2025-01-15",
"difficulty": "normal",
"label_review_state": "fixture_reviewed",
"municipality": "Mol",
"object_size": "mixed",
"occlusion": "not_applicable",
"ood": false,
"region": "flanders",
"resolution_m": 0.1,
"season": "not_applicable",
"sensor": "vector",
"source": "fixture-grb",
"tile_edge": false,
"urbanity": "suburban",
"vegetation": "low"
},
"metrics": {
"f1": 0.5,
"false_discovery_rate": 0.5,
"false_negative": 1,
"false_positive": 1,
"mean_iou": 1.0,
"miss_rate": 0.5,
"precision": 0.5,
"precision_ci95_wilson": {
"lower": 0.09453120573423074,
"method": "Wilson score interval",
"status": "computed",
"support": 2,
"upper": 0.9054687942657693
},
"prediction_count": 2,
"recall": 0.5,
"recall_ci95_wilson": {
"lower": 0.09453120573423074,
"method": "Wilson score interval",
"status": "computed",
"support": 2,
"upper": 0.9054687942657693
},
"reference_count": 2,
"spatial_context_validated": true,
"topologically_valid": true,
"true_positive": 1
},
"sample_id": "vector-test-flanders-suburban",
"task": "vector_comparison"
}
],
"schema_version": 2,
"status": "fixture_contract_only"
}
@@ -1,589 +0,0 @@
{
"access_policy": "Only the frozen release evaluator may consume test/background-test labels; challenge labels remain external/sealed.",
"allowed_splits": [
"background-test",
"challenge",
"test"
],
"assignment_algorithm": "group-before-split-deficit-balancer-v1",
"assignment_mode": "preassigned",
"assignment_seed": "geointel-p4-group-split-v1",
"claim_boundary": "Synthetic contract fixtures for evaluator regression only; never production accuracy evidence.",
"crs": "EPSG:31370",
"dataset_version": "geointel-p4-harness-fixture-v2",
"generator_version": "1.3.0",
"implemented_tasks": [
"change_detection",
"footprint_segmentation",
"geospatial_data_validation",
"object_detection",
"raster_classification",
"terrain_interpretation",
"vector_comparison"
],
"independence_buffer_m": 2000.0,
"label_geometry_hamming_threshold": 2,
"labels_available_by_split": {
"background-test": "frozen_evaluator_only",
"challenge": "sealed_external",
"test": "frozen_evaluator_only"
},
"mandatory_split_roles": [
"train",
"val",
"calibration",
"test",
"background-test",
"challenge"
],
"manifest_role": "protected_release_only",
"manifest_sha256": "e57ca1529654ef1c2527e84122ff26ec3533e7c70658250983968fbc5d4af410",
"perceptual_hamming_threshold": 4,
"protected_task_coverage": [
{
"background_test_count": 0,
"exemption_reason": null,
"sealed_challenge_count": 0,
"status": "covered",
"task": "change_detection",
"test_count": 1
},
{
"background_test_count": 0,
"exemption_reason": null,
"sealed_challenge_count": 1,
"status": "covered",
"task": "footprint_segmentation",
"test_count": 1
},
{
"background_test_count": 0,
"exemption_reason": null,
"sealed_challenge_count": 1,
"status": "covered",
"task": "geospatial_data_validation",
"test_count": 1
},
{
"background_test_count": 2,
"exemption_reason": null,
"sealed_challenge_count": 1,
"status": "covered",
"task": "object_detection",
"test_count": 1
},
{
"background_test_count": 0,
"exemption_reason": null,
"sealed_challenge_count": 1,
"status": "covered",
"task": "raster_classification",
"test_count": 1
},
{
"background_test_count": 0,
"exemption_reason": null,
"sealed_challenge_count": 0,
"status": "covered",
"task": "terrain_interpretation",
"test_count": 1
},
{
"background_test_count": 0,
"exemption_reason": null,
"sealed_challenge_count": 0,
"status": "covered",
"task": "vector_comparison",
"test_count": 1
}
],
"samples": [
{
"acquisition_date": "2025-01-17",
"acquisition_id": "acquisition-17",
"bbox": [
60000.0,
70000.0,
60100.0,
70100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g17",
"label_geometry_fingerprint": "2b405bcc9c95acfb",
"label_geometry_hash": "7171717171717171717171717171717171717171717171717171717171717171",
"label_sha256": "5151515151515151515151515151515151515151515151515151515151515151",
"native_feature_ids": [],
"object_ids": [],
"parent_raster_id": "parent-raster-17",
"perceptual_image_hash": "6ada1b5aa46cc261",
"processed_image_sha256": "3131313131313131313131313131313131313131313131313131313131313131",
"raw_image_sha256": "1111111111111111111111111111111111111111111111111111111111111111",
"record_sha256": "330f67df045e915670260db85cd399b7abb0a5277ca857e2b9483274dfd561c9",
"sample_id": "background-test-hard-negative",
"source_family": "scene-17",
"split": "background-test",
"task": "object_detection",
"temporal_family": "temporal-17"
},
{
"acquisition_date": "2025-01-16",
"acquisition_id": "acquisition-16",
"bbox": [
20000.0,
70000.0,
20100.0,
70100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g16",
"label_geometry_fingerprint": "004e762f898c4fad",
"label_geometry_hash": "7070707070707070707070707070707070707070707070707070707070707070",
"label_sha256": "5050505050505050505050505050505050505050505050505050505050505050",
"native_feature_ids": [],
"object_ids": [],
"parent_raster_id": "parent-raster-16",
"perceptual_image_hash": "be4078e1ef9fa296",
"processed_image_sha256": "3030303030303030303030303030303030303030303030303030303030303030",
"raw_image_sha256": "1010101010101010101010101010101010101010101010101010101010101010",
"record_sha256": "3e8066639f58f5230faea2b2964c532148f9fc6d891a1d04a127c1fac1cdb826",
"sample_id": "background-test-pure-empty",
"source_family": "scene-16",
"split": "background-test",
"task": "object_detection",
"temporal_family": "temporal-16"
},
{
"acquisition_date": "2025-01-13",
"acquisition_id": "acquisition-13",
"bbox": [
50000.0,
50000.0,
50100.0,
50100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g13",
"label_geometry_fingerprint": "6c5b5f9db0d73c31",
"label_geometry_hash": "6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d",
"label_sha256": "4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d",
"native_feature_ids": [
"native-13-1",
"native-13-2"
],
"object_ids": [
"o13",
"o14"
],
"parent_raster_id": "parent-raster-13",
"perceptual_image_hash": "14e347040ef16eac",
"processed_image_sha256": "2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d",
"raw_image_sha256": "0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d",
"record_sha256": "0550facfe80b78f11414cd578d3808fab503382f15c9e6e1f8fd4801ce3ab365",
"sample_id": "change-test-wallonia-industrial",
"source_family": "scene-13",
"split": "test",
"task": "change_detection",
"temporal_family": "temporal-13"
},
{
"acquisition_date": "2025-01-18",
"acquisition_id": "acquisition-18",
"bbox": [
10000.0,
90000.0,
10100.0,
90100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g18",
"parent_raster_id": "parent-raster-18",
"perceptual_image_hash": "15910b3a2d056648",
"processed_image_sha256": "3232323232323232323232323232323232323232323232323232323232323232",
"raw_image_sha256": "1212121212121212121212121212121212121212121212121212121212121212",
"sample_id": "det-challenge-coast",
"sealed": true,
"source_family": "scene-18",
"split": "challenge",
"task": "object_detection",
"temporal_family": "temporal-18",
"withheld_fields": [
"content_path_bindings",
"governance_binding",
"label_geometry_fingerprint",
"label_geometry_hash",
"label_geometry_path",
"label_path",
"label_sha256",
"native_feature_ids",
"object_ids",
"record_sha256"
]
},
{
"acquisition_date": "2025-01-09",
"acquisition_id": "acquisition-09",
"bbox": [
10000.0,
50000.0,
10100.0,
50100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g09",
"label_geometry_fingerprint": "7ed221e11cc6828d",
"label_geometry_hash": "6969696969696969696969696969696969696969696969696969696969696969",
"label_sha256": "4949494949494949494949494949494949494949494949494949494949494949",
"native_feature_ids": [
"native-09-1",
"native-09-2"
],
"object_ids": [
"o07",
"o08"
],
"parent_raster_id": "parent-raster-09",
"perceptual_image_hash": "d6d20ed34050b89e",
"processed_image_sha256": "2929292929292929292929292929292929292929292929292929292929292929",
"raw_image_sha256": "0909090909090909090909090909090909090909090909090909090909090909",
"record_sha256": "a551408577ce3494c75160c1c4fe90fbbc79a9f37bd151d7df8095d1cd35bc8b",
"sample_id": "det-test-flanders-urban",
"source_family": "scene-09",
"split": "test",
"task": "object_detection",
"temporal_family": "temporal-09"
},
{
"acquisition_date": "2025-01-20",
"acquisition_id": "acquisition-20",
"bbox": [
50000.0,
90000.0,
50100.0,
90100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g20",
"parent_raster_id": "parent-raster-20",
"perceptual_image_hash": "85f82f2f8eb2c2f5",
"processed_image_sha256": "3434343434343434343434343434343434343434343434343434343434343434",
"raw_image_sha256": "1414141414141414141414141414141414141414141414141414141414141414",
"sample_id": "raster-challenge-seasonal",
"sealed": true,
"source_family": "scene-20",
"split": "challenge",
"task": "raster_classification",
"temporal_family": "temporal-20",
"withheld_fields": [
"content_path_bindings",
"governance_binding",
"label_geometry_fingerprint",
"label_geometry_hash",
"label_geometry_path",
"label_path",
"label_sha256",
"native_feature_ids",
"object_ids",
"record_sha256"
]
},
{
"acquisition_date": "2025-01-11",
"acquisition_id": "acquisition-11",
"bbox": [
30000.0,
50000.0,
30100.0,
50100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g11",
"label_geometry_fingerprint": "f4269ac17b100571",
"label_geometry_hash": "6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b",
"label_sha256": "4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b",
"native_feature_ids": [
"native-11-1"
],
"object_ids": [
"o10"
],
"parent_raster_id": "parent-raster-11",
"perceptual_image_hash": "4383fa06c328f326",
"processed_image_sha256": "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b",
"raw_image_sha256": "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b",
"record_sha256": "d66076d5cb479670bc8716334f526ddcbab07a2aacab28d7a5d6893795618d56",
"sample_id": "raster-test-brussels-urban",
"source_family": "scene-11",
"split": "test",
"task": "raster_classification",
"temporal_family": "temporal-11"
},
{
"acquisition_date": "2025-01-19",
"acquisition_id": "acquisition-19",
"bbox": [
30000.0,
90000.0,
30100.0,
90100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g19",
"parent_raster_id": "parent-raster-19",
"perceptual_image_hash": "b5c6e201d687cf9e",
"processed_image_sha256": "3333333333333333333333333333333333333333333333333333333333333333",
"raw_image_sha256": "1313131313131313131313131313131313131313131313131313131313131313",
"sample_id": "seg-challenge-brussels",
"sealed": true,
"source_family": "scene-19",
"split": "challenge",
"task": "footprint_segmentation",
"temporal_family": "temporal-19",
"withheld_fields": [
"content_path_bindings",
"governance_binding",
"label_geometry_fingerprint",
"label_geometry_hash",
"label_geometry_path",
"label_path",
"label_sha256",
"native_feature_ids",
"object_ids",
"record_sha256"
]
},
{
"acquisition_date": "2025-01-10",
"acquisition_id": "acquisition-10",
"bbox": [
20000.0,
50000.0,
20100.0,
50100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g10",
"label_geometry_fingerprint": "e9fb3c93de82d0be",
"label_geometry_hash": "6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a",
"label_sha256": "4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a",
"native_feature_ids": [
"native-10-1"
],
"object_ids": [
"o09"
],
"parent_raster_id": "parent-raster-10",
"perceptual_image_hash": "6c476d18e0539687",
"processed_image_sha256": "2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a",
"raw_image_sha256": "0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a",
"record_sha256": "7d0f9ee51cdf98e7f3acdc8117d48ce16d4d97538ba8179949a2c87dbbe5a526",
"sample_id": "seg-test-wallonia-rural",
"source_family": "scene-10",
"split": "test",
"task": "footprint_segmentation",
"temporal_family": "temporal-10"
},
{
"acquisition_date": "2025-01-14",
"acquisition_id": "acquisition-14",
"bbox": [
60000.0,
50000.0,
60100.0,
50100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g14",
"label_geometry_fingerprint": "4ec9f1dd6c799ec7",
"label_geometry_hash": "6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e",
"label_sha256": "4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e",
"native_feature_ids": [
"native-14-1"
],
"object_ids": [
"o15"
],
"parent_raster_id": "parent-raster-14",
"perceptual_image_hash": "c808940b0a325e9c",
"processed_image_sha256": "2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e",
"raw_image_sha256": "0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e",
"record_sha256": "4a47d90297a8325bb8257d7ca76b3281df8312d385715745a1a1fb74ba89efcd",
"sample_id": "terrain-test-flanders-rural",
"source_family": "scene-14",
"split": "test",
"task": "terrain_interpretation",
"temporal_family": "temporal-14"
},
{
"acquisition_date": "2025-01-21",
"acquisition_id": "acquisition-21",
"bbox": [
70000.0,
90000.0,
70100.0,
90100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g21",
"parent_raster_id": "parent-raster-21",
"perceptual_image_hash": "c71055ef6baeee8b",
"processed_image_sha256": "3535353535353535353535353535353535353535353535353535353535353535",
"raw_image_sha256": "1515151515151515151515151515151515151515151515151515151515151515",
"sample_id": "validation-challenge-corrupt",
"sealed": true,
"source_family": "scene-21",
"split": "challenge",
"task": "geospatial_data_validation",
"temporal_family": "temporal-21",
"withheld_fields": [
"content_path_bindings",
"governance_binding",
"label_geometry_fingerprint",
"label_geometry_hash",
"label_geometry_path",
"label_path",
"label_sha256",
"native_feature_ids",
"object_ids",
"record_sha256"
]
},
{
"acquisition_date": "2025-01-15",
"acquisition_id": "acquisition-15",
"bbox": [
70000.0,
50000.0,
70100.0,
50100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g15",
"label_geometry_fingerprint": "616691796f62dbbb",
"label_geometry_hash": "6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f",
"label_sha256": "4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f",
"native_feature_ids": [
"native-15-1"
],
"object_ids": [
"o16"
],
"parent_raster_id": "parent-raster-15",
"perceptual_image_hash": "4365e6b7df6acf3d",
"processed_image_sha256": "2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f",
"raw_image_sha256": "0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f",
"record_sha256": "0ff60414da05655b19c1717a27d8ba09aa8539a2b6c143e7a1a72b634fca397a",
"sample_id": "validation-test-national",
"source_family": "scene-15",
"split": "test",
"task": "geospatial_data_validation",
"temporal_family": "temporal-15"
},
{
"acquisition_date": "2025-01-12",
"acquisition_id": "acquisition-12",
"bbox": [
40000.0,
50000.0,
40100.0,
50100.0
],
"content_hash_verification": {
"label_geometry_hash": "synthetic_fixture_bound",
"label_sha256": "synthetic_fixture_bound",
"processed_image_sha256": "synthetic_fixture_bound",
"raw_image_sha256": "synthetic_fixture_bound"
},
"group_id": "g12",
"label_geometry_fingerprint": "2db7d069691934ed",
"label_geometry_hash": "6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c",
"label_sha256": "4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c",
"native_feature_ids": [
"native-12-1",
"native-12-2"
],
"object_ids": [
"o11",
"o12"
],
"parent_raster_id": "parent-raster-12",
"perceptual_image_hash": "1236e1aa148c25d5",
"processed_image_sha256": "2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c",
"raw_image_sha256": "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c",
"record_sha256": "63f561268e24208db0dcb4321cd66624188f2f66016338dac504d52051dae34a",
"sample_id": "vector-test-flanders-suburban",
"source_family": "scene-12",
"split": "test",
"task": "vector_comparison",
"temporal_family": "temporal-12"
}
],
"schema_version": 1,
"selection_use_allowed": false,
"source_manifest_sha256": "1c75c875d4c297d046117bb9393ba5e648f13d3358ea92cb65374869c8f5fc01",
"source_trust": {
"mode": "synthetic_fixture",
"policy_id": "geointel-p4-synthetic-fixture-v2",
"production_accuracy_use_allowed": false
},
"training_access_allowed": false
}
@@ -1,163 +0,0 @@
{
"claim_boundary": "Reference implementation regression evidence; not production model accuracy.",
"content_sha256": "aeb0f6510352f4e205e4fc4e8c423110ca72c2142016c7af846d758865f258c6",
"implementation": "backend/app/services/qa_service.py via scripts/run_golden_qa_benchmark.py",
"persistence": {
"commit_count": 4,
"metric_count": 24,
"metric_keys": [
"f1",
"false_negative_count",
"false_positive_count",
"mean_iou",
"precision",
"recall"
],
"quality_check_count": 4
},
"scenario_count": 4,
"scenarios": [
{
"benchmark_id": "golden-buildings-partial-match-v1",
"description": "Two reference building polygons and two candidate building polygons: one candidate matches ref-1, one candidate is a false positive, and ref-2 is a false negative.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings.geojson",
"reference": "fixtures/golden/reference_buildings.geojson"
},
"metrics": {
"f1": 0.5,
"false_negative_count": 1,
"false_positive_count": 1,
"mean_iou": 0.8339768339652592,
"precision": 0.5,
"recall": 0.5
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"result_counts": {
"candidate_feature_count": 2,
"matches": 1,
"reference_feature_count": 2
},
"status": "passed"
},
{
"benchmark_id": "golden-buildings-perfect-match-v1",
"description": "One candidate building polygon exactly matches one reference polygon.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings_perfect.geojson",
"reference": "fixtures/golden/reference_buildings_perfect.geojson"
},
"metrics": {
"f1": 1.0,
"false_negative_count": 0,
"false_positive_count": 0,
"mean_iou": 1.0,
"precision": 1.0,
"recall": 1.0
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"result_counts": {
"candidate_feature_count": 1,
"matches": 1,
"reference_feature_count": 1
},
"status": "passed"
},
{
"benchmark_id": "golden-buildings-no-overlap-v1",
"description": "One candidate polygon and one reference polygon do not overlap.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings_no_overlap.geojson",
"reference": "fixtures/golden/reference_buildings_no_overlap.geojson"
},
"metrics": {
"f1": null,
"false_negative_count": 1,
"false_positive_count": 1,
"mean_iou": null,
"precision": 0.0,
"recall": 0.0
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"result_counts": {
"candidate_feature_count": 1,
"matches": 0,
"reference_feature_count": 1
},
"status": "passed"
},
{
"benchmark_id": "golden-buildings-multipolygon-match-v1",
"description": "One candidate MultiPolygon exactly matches one reference MultiPolygon.",
"fixtures": {
"candidate": "fixtures/golden/predicted_buildings_multipolygon.geojson",
"reference": "fixtures/golden/reference_buildings_multipolygon.geojson"
},
"metrics": {
"f1": 1.0,
"false_negative_count": 0,
"false_positive_count": 0,
"mean_iou": 1.0,
"precision": 1.0,
"recall": 1.0
},
"persistence": {
"commit_count": 1,
"metric_count": 6,
"metric_keys": [
"precision",
"recall",
"f1",
"mean_iou",
"false_positive_count",
"false_negative_count"
],
"quality_check_count": 1
},
"result_counts": {
"candidate_feature_count": 1,
"matches": 1,
"reference_feature_count": 1
},
"status": "passed"
}
],
"status": "passed",
"version": 1
}
@@ -1,157 +0,0 @@
{
"benchmark_manifest_sha256": "0ea5ab07f46c509a7a24943b31d5e9bfd6368920609227bc47613e18e52c4642",
"critical_subgroup_policy": "Any required subgroup with insufficient support, missing metrics, a failed non-inferiority comparison or regression blocks promotion; averages cannot override it.",
"decision": "At least one mandatory Phase 4 gate failed; Phase 5 remains blocked.",
"gate_policy": "geointel-p4-evaluation-harness-v2",
"invalid_gate_states": {},
"local_gates": {
"all_declared_evaluator_families_exercised": {
"declared": [
"change_detection",
"footprint_segmentation",
"geospatial_data_validation",
"object_detection",
"raster_classification",
"terrain_interpretation",
"vector_comparison"
],
"observed": [
"change_detection",
"footprint_segmentation",
"geospatial_data_validation",
"object_detection",
"raster_classification",
"terrain_interpretation",
"vector_comparison"
],
"status": "pass"
},
"complete_raw_predictions_retained": {
"status": "pass",
"violating_samples": []
},
"implemented_capability_inventory": {
"capability_count": 15,
"status": "pass"
},
"manifest_training_firewall_contract": {
"checks": {
"clean_train_allowed": true,
"non_train_role_blocked": true,
"protected_path_blocked": true,
"renamed_protected_lineage_blocked": true
},
"status": "pass"
},
"normative_split_roles_and_leakage": {
"leakage_status": "pass",
"observed_roles": [
"background-test",
"calibration",
"challenge",
"test",
"train",
"val"
],
"required_roles": [
"background-test",
"calibration",
"challenge",
"test",
"train",
"val"
],
"status": "pass"
},
"protected_operating_point_contract": {
"evidence": "Protected cases carry pre-registered configurations. Fixed AP/risk-coverage diagnostics cannot select an operating point or feed back into training.",
"status": "pass"
},
"reference_implementation_baseline": {
"status": "pass"
},
"stratified_metric_contract": {
"observed_overall_status": "not_evaluable",
"status": "pass"
},
"undefined_metric_truth_table": {
"sample_id": "background-test-pure-empty",
"status": "pass"
}
},
"local_harness_status": "pass",
"missing_gate_names": {
"local": [],
"product": []
},
"numeric_model_release_targets": "not_frozen_without_reviewed_representative_incumbent_baseline",
"phase_decision": "blocked",
"product_benchmark_status": "fail",
"product_gates": {
"active_model_available_and_hash_verified": {
"configured_path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"configured_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"reason": "Configured active model is not locally accessible.",
"status": "not_evaluable"
},
"authoritative_reference_portfolio_available": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"executed_product_incumbent_baseline": {
"checked_artifacts": [],
"derived_gates": {
"authoritative_reference_portfolio_available": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"human_review_complete": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"protected_storage_isolation": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"representative_product_subgroup_support": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"split_independence": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
}
},
"expected_path": "artifacts/evidence/accuracy/P4/product-baseline-manifest.json",
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"human_review_complete": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"phase3_leakage_resolved": {
"observed": "attention",
"status": "fail"
},
"protected_storage_isolation": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"representative_product_subgroup_support": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
},
"split_independence": {
"reason": "No executed, hash-bound product incumbent baseline manifest is available.",
"status": "not_evaluable"
}
},
"promotion_allowed": false,
"schema_version": 2,
"status": "fail",
"unexpected_gate_names": {
"local": [],
"product": []
}
}
@@ -1,46 +0,0 @@
{
"checked_identity_fields": [
"sample_id",
"group_id",
"source_family",
"acquisition_date",
"temporal_family",
"object_ids",
"native_feature_ids",
"raw_image_sha256",
"processed_image_sha256",
"label_sha256",
"record_sha256",
"perceptual_image_hash",
"label_geometry_hash",
"label_geometry_fingerprint",
"parent_raster_id",
"acquisition_id",
"bbox_distance"
],
"crs_validation": {
"crs": "EPSG:31370",
"distance_units": "m",
"status": "pass"
},
"development_manifest_sha256": "64e4fc986c2390bedfbe100062d4b06e1098689f4d4a9a9da13a7f67357c0493",
"finding_count": 0,
"findings": [],
"generator_version": "1.3.0",
"independence_buffer_m": 2000.0,
"inventory_total": 21,
"label_geometry_hamming_threshold": 2,
"perceptual_hamming_threshold": 4,
"protected_manifest_sha256": "e57ca1529654ef1c2527e84122ff26ec3533e7c70658250983968fbc5d4af410",
"schema_version": 1,
"source_manifest_sha256": "1c75c875d4c297d046117bb9393ba5e648f13d3358ea92cb65374869c8f5fc01",
"split_counts": {
"background-test": 2,
"calibration": 2,
"challenge": 4,
"test": 7,
"train": 3,
"val": 3
},
"status": "pass"
}
@@ -1,207 +0,0 @@
{
"results": [
{
"metadata": {
"context": "dense_urban_raster",
"date": "2025-10-05",
"difficulty": "hard",
"label_review_state": "fixture_reviewed",
"municipality": "Brussel",
"object_size": "not_applicable",
"occlusion": "not_applicable",
"ood": false,
"region": "brussels",
"resolution_m": 1,
"season": "autumn",
"sensor": "synthetic-multispectral",
"source": "fixture-thematic-raster",
"tile_edge": true,
"urbanity": "urban",
"vegetation": "moderate"
},
"metrics": {
"accuracy": 0.8333333333333334,
"accuracy_ci95_wilson": {
"lower": 0.5519691377470266,
"method": "Wilson score interval",
"status": "computed",
"support": 12,
"upper": 0.9530348578161463
},
"alignment_validated": true,
"confusion_matrix": {
"0": {
"0": 4,
"1": 0,
"2": 0,
"__prediction_nodata__": 0
},
"1": {
"0": 0,
"1": 4,
"2": 1,
"__prediction_nodata__": 0
},
"2": {
"0": 0,
"1": 1,
"2": 2,
"__prediction_nodata__": 0
}
},
"correct_pixel_count": 10,
"evaluated_reference_pixel_count": 12,
"ignored_reference_pixel_count": 0,
"macro_f1": 0.8222222222222223,
"mean_iou": 0.7222222222222222,
"per_class": {
"0": {
"f1": 1.0,
"false_discovery_rate": 0.0,
"false_negative": 0,
"false_positive": 0,
"iou": 1.0,
"miss_rate": 0.0,
"precision": 1.0,
"precision_ci95_wilson": {
"lower": 0.5101091635454027,
"method": "Wilson score interval",
"status": "computed",
"support": 4,
"upper": 1.0
},
"prediction_count": 4,
"recall": 1.0,
"recall_ci95_wilson": {
"lower": 0.5101091635454027,
"method": "Wilson score interval",
"status": "computed",
"support": 4,
"upper": 1.0
},
"reference_count": 4,
"true_positive": 4
},
"1": {
"f1": 0.8000000000000002,
"false_discovery_rate": 0.2,
"false_negative": 1,
"false_positive": 1,
"iou": 0.6666666666666666,
"miss_rate": 0.2,
"precision": 0.8,
"precision_ci95_wilson": {
"lower": 0.37553462976252533,
"method": "Wilson score interval",
"status": "computed",
"support": 5,
"upper": 0.9637758913675698
},
"prediction_count": 5,
"recall": 0.8,
"recall_ci95_wilson": {
"lower": 0.37553462976252533,
"method": "Wilson score interval",
"status": "computed",
"support": 5,
"upper": 0.9637758913675698
},
"reference_count": 5,
"true_positive": 4
},
"2": {
"f1": 0.6666666666666666,
"false_discovery_rate": 0.3333333333333333,
"false_negative": 1,
"false_positive": 1,
"iou": 0.5,
"miss_rate": 0.3333333333333333,
"precision": 0.6666666666666666,
"precision_ci95_wilson": {
"lower": 0.2076596008020477,
"method": "Wilson score interval",
"status": "computed",
"support": 3,
"upper": 0.9385080552796037
},
"prediction_count": 3,
"recall": 0.6666666666666666,
"recall_ci95_wilson": {
"lower": 0.2076596008020477,
"method": "Wilson score interval",
"status": "computed",
"support": 3,
"upper": 0.9385080552796037
},
"reference_count": 3,
"true_positive": 2
}
},
"pixel_count": 12,
"prediction_coverage": 1.0,
"prediction_coverage_ci95_wilson": {
"lower": 0.7575059933447592,
"method": "Wilson score interval",
"status": "computed",
"support": 12,
"upper": 1.0
},
"prediction_outside_reference_count": 0,
"prediction_present_pixel_count": 12
},
"sample_id": "raster-test-brussels-urban",
"task": "raster_classification"
},
{
"metadata": {
"context": "terrain_profile",
"date": "2023-01-01",
"difficulty": "normal",
"label_review_state": "fixture_reviewed",
"municipality": "Hasselt",
"object_size": "not_applicable",
"occlusion": "not_applicable",
"ood": false,
"region": "flanders",
"resolution_m": 5,
"season": "not_applicable",
"sensor": "elevation-raster",
"source": "fixture-dhmv",
"tile_edge": false,
"urbanity": "rural",
"vegetation": "moderate"
},
"metrics": {
"absolute_error_sum": 1.0999999999999996,
"bias": 0.02499999999999991,
"coverage": 0.8,
"coverage_ci95_wilson": {
"lower": 0.37553462976252533,
"method": "Wilson score interval",
"status": "computed",
"support": 5,
"upper": 0.9637758913675698
},
"error_distribution": {
"count": 4,
"max": 0.40000000000000036,
"mean": 0.02499999999999991,
"median": 0.0,
"min": -0.3000000000000007
},
"error_sum": 0.09999999999999964,
"evaluated_count": 4,
"mae": 0.2749999999999999,
"missing_count": 1,
"reference_count": 5,
"rmse": 0.2872281323269015,
"squared_error_sum": 0.3300000000000001,
"units": "m_TAW"
},
"sample_id": "terrain-test-flanders-rural",
"task": "terrain_interpretation"
}
],
"schema_version": 2,
"status": "fixture_contract_only"
}
@@ -1,28 +0,0 @@
{
"benchmark_manifest_sha256": "0ea5ab07f46c509a7a24943b31d5e9bfd6368920609227bc47613e18e52c4642",
"case_count": 9,
"evaluation_results_canonical_json_sha256": "55cdba9cce4dcdc88cee0829cd510d7e624a3472feb9d33f7e681621a792eba3",
"evidence_path": "artifacts/evidence/accuracy/P4/runs/p4-2.0.1-9677d0ef37db82bcf39b",
"evidence_run_id": "p4-2.0.1-9677d0ef37db82bcf39b",
"failure_example_count": 14,
"implemented_capability_count": 15,
"local_harness_status": "pass",
"phase4_done": false,
"phase5_ready": false,
"phase_decision": "blocked",
"product_benchmark_status": "fail",
"product_gate_evidence_sha256": "c9f5e3de3ab6d64911f8807b26caa661ccf911a5fd6b995107edda2004836e0c",
"promotion_allowed": false,
"reference_baseline_sha256": "aeb0f6510352f4e205e4fc4e8c423110ca72c2142016c7af846d758865f258c6",
"schema_version": 2,
"split_counts": {
"background-test": 2,
"calibration": 2,
"challenge": 4,
"test": 7,
"train": 3,
"val": 3
},
"status": "fail",
"task_family_count": 7
}
@@ -1,62 +0,0 @@
{
"schema_version": 1,
"generated_at": "2026-08-09T09:57:02.8274719Z",
"review_kind": "ai_assisted_visual_review",
"reviewer_id": "openai-codex-gpt-5",
"human_review": false,
"repository_commit": "0209167cfd37c4f7865813a06e60bdd7ba5d918d",
"scope": "Bounded visual inspection of deterministic YOLO contact sheets; this is not a human-signed operational training release.",
"decision": {
"status": "experimental_training_only",
"promotion_allowed": false,
"protected_test_access_allowed": false,
"reason": "The Kempen background-aware corpus is materially better aligned than the rejected national candidates, but only a bounded contact-sheet sample was visually inspected and the mandatory human review gate remains open."
},
"accepted_experimental_input": {
"dataset_yaml": "/app/storage/operator-data/yolo-building-aoi1024-bgaware512r8/dataset.yaml",
"dataset_yaml_sha256": "6995843d63735bc248fb573d6ab3ebedb1cd1c86f1bd6dbb864068c5fb8f816d",
"dataset_summary": "/app/storage/operator-data/yolo-building-aoi1024-bgaware512r8/yolo_tile_dataset_summary.json",
"dataset_summary_sha256": "c0c94295e52de5cc4d4cdcaaabb670220f15d2139c0051fff63d05730d33bdce",
"contact_sheet": "/app/storage/operator-evidence/accuracy-review/20260809-bgaware512r8-r1/contact_sheet_001.png",
"contact_sheet_sha256": "c5112d5c76d84153f8d219699071e7f42c8b188b0624c2bf5f9406a2146e66b6",
"rendered_tile_count": 32,
"dataset_tile_count": 207,
"observations": [
"Most sampled labels visually overlap roof structures in the Kempen positive AOIs.",
"The training corpus contains repeated pure-empty background tiles and the validation split contains independent named positive and pure-empty AOIs.",
"Some dense scenes still contain footprint-versus-visible-roof ambiguity; this prevents operational acceptance."
]
},
"base_model": {
"path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1"
},
"rejected_inputs": [
{
"family": "building-be-v56 national corpus",
"decision": "exclude_from_new_training",
"reason": "Representative sheets show frequent ground-footprint versus visible-roof displacement and dense-scene ambiguity; 0/180 samples have formal human acceptance."
},
{
"family": "building-be-v65 main/SAM candidates",
"decision": "quarantine",
"reason": "Visual samples include boxes on trees, paving and unrelated compounds after automatic refinement."
},
{
"family": "building-be-v66 source/alignment/SAM candidates",
"decision": "quarantine",
"reason": "Systematic misalignment remains; the swapped-axis trial uses unrelated imagery and the detector-alignment sheet contains invalid labels."
}
],
"training_constraints": {
"device": "cuda:0",
"allowed_evaluation_split": "val",
"forbidden_splits": [
"test",
"challenge",
"background-test"
],
"automatic_promotion": false,
"formal_release_manifest": false
}
}
@@ -1,131 +0,0 @@
{
"schema_version": 1,
"ledger_id": "reviewedexp6-ai-assisted-review-r2-full-corpus",
"reviewed_at": "2026-08-09T19:34:31+02:00",
"reviewer": {
"id": "openai-codex",
"type": "ai_assistant",
"human": false
},
"status": "complete_ai_assisted_experimental_only",
"explicit_limitations": [
"This ledger is not human review and must never satisfy a human-review release gate.",
"Decisions cover all 252 rendered tiles, but visual review still does not adjudicate every individual label as human ground truth.",
"Visible roof geometry can be displaced from authoritative GRB ground-level footprints.",
"Accepted samples are eligible only for experimental training and non-protected validation."
],
"artifacts": {
"review_summary_path": "/app/storage/operator-data/model-review/reviewedexp6-corpus/full-ai-review-r1/operator_yolo_label_qa_summary.json",
"review_summary_sha256": "467e5c3c489c42e42872a63fbb0bba7c613824631598d86ea6324b22c007f75a",
"contact_sheets": [
{"path":"/app/storage/operator-data/model-review/reviewedexp6-corpus/full-ai-review-r1/contact_sheet_001.png","sha256":"688b97a6e82e6b906b7966ed3e2b43685786e89d50549188bfdcc3837d042eb2","tile_count":64},
{"path":"/app/storage/operator-data/model-review/reviewedexp6-corpus/full-ai-review-r1/contact_sheet_002.png","sha256":"87f1945df3324dc100e08febd3e45f291a2d709ddebd9c627b082f30fd8f2d26","tile_count":64},
{"path":"/app/storage/operator-data/model-review/reviewedexp6-corpus/full-ai-review-r1/contact_sheet_003.png","sha256":"1873ab25b8ee843abe28d00329fe28998a7b39f9fdbcd8f8acfb58cc576cdf10","tile_count":64},
{"path":"/app/storage/operator-data/model-review/reviewedexp6-corpus/full-ai-review-r1/contact_sheet_004.png","sha256":"e64c252aac08792a76a62fe734728e7c81ba6a649ad2a1cd2051b4df1f95be98","tile_count":60}
],
"rendered_tile_count": 252,
"rendered_label_count": 79192,
"selected_sample_count": 28
},
"visual_criteria": [
"labels overlap visible building structures at the scale shown",
"no systematic axis swap or whole-tile displacement is visible",
"pure-background samples contain no clearly visible buildings",
"sparse contexts are not treated as pure background",
"dense roof-versus-ground-footprint disagreement is retained as an explicit limitation"
],
"decisions": [
{"sample_slug":"arendonk_center","sampled_tiles":9,"sampled_labels":4172,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"balen","sampled_tiles":9,"sampled_labels":2658,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"beerse_center","sampled_tiles":9,"sampled_labels":4303,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"dessel_center","sampled_tiles":9,"sampled_labels":3405,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"dessel_heide","sampled_tiles":9,"sampled_labels":192,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"},
{"sample_slug":"geel","sampled_tiles":9,"sampled_labels":4615,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"geel_bel","sampled_tiles":9,"sampled_labels":168,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"},
{"sample_slug":"grobbendonk_center","sampled_tiles":9,"sampled_labels":2793,"split":"val","category":"reference_aoi","decision":"non_protected_validation_only"},
{"sample_slug":"herentals","sampled_tiles":9,"sampled_labels":5087,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"herenthout_bos","sampled_tiles":9,"sampled_labels":520,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"},
{"sample_slug":"hoogstraten_center","sampled_tiles":9,"sampled_labels":3761,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"hulshout_center","sampled_tiles":9,"sampled_labels":3606,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"kasterlee_bos","sampled_tiles":9,"sampled_labels":137,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"},
{"sample_slug":"kasterlee_center","sampled_tiles":9,"sampled_labels":4022,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"laakdal_center","sampled_tiles":9,"sampled_labels":287,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible_with_dense_alignment_limitation"},
{"sample_slug":"lille_center","sampled_tiles":9,"sampled_labels":3949,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"lommel_heide","sampled_tiles":9,"sampled_labels":0,"split":"train","category":"pure_empty_negative","decision":"experimental_training_eligible"},
{"sample_slug":"meerhout_bos","sampled_tiles":9,"sampled_labels":206,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"},
{"sample_slug":"meerhout_center","sampled_tiles":9,"sampled_labels":4002,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"mol","sampled_tiles":9,"sampled_labels":3666,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"nijlen_center","sampled_tiles":9,"sampled_labels":4900,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"olen_center","sampled_tiles":9,"sampled_labels":3955,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"oud_turnhout_center","sampled_tiles":9,"sampled_labels":5492,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible_with_dense_alignment_limitation"},
{"sample_slug":"postel_bos","sampled_tiles":9,"sampled_labels":0,"split":"train","category":"pure_empty_negative","decision":"experimental_training_eligible"},
{"sample_slug":"ravels_bos","sampled_tiles":9,"sampled_labels":55,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"},
{"sample_slug":"rijkevorsel_center","sampled_tiles":9,"sampled_labels":4231,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"vorselaar_center","sampled_tiles":9,"sampled_labels":3858,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"},
{"sample_slug":"vosselaar_center","sampled_tiles":9,"sampled_labels":5152,"split":"val","category":"reference_aoi","decision":"non_protected_validation_only"}
],
"accounting": {
"accepted_experimental_training_samples": 26,
"non_protected_validation_samples": 2,
"rejected_samples": 0,
"pure_empty_negative_samples": 2,
"sparse_context_samples": 6,
"human_review_complete": false,
"production_release_eligible": false
},
"nested_box_audit": {
"audit_path": "/app/storage/operator-data/model-review/reviewedexp6-corpus/full-ai-review-r1/label_relationship_audit.json",
"audit_sha256": "2a219f650376e77a927c1ca37f801ac9fe8c2b8406cab6cd149be07e0557af73",
"focused_contact_sheet_path": "/app/storage/operator-data/model-review/reviewedexp6-corpus/nested-pairs-review-r1/contact_sheet_001.png",
"focused_contact_sheet_sha256": "7c27fc66bb1978296efc53d3e9f78ae6aa27816d5893c77f44d8803e57a40ee5",
"relationship_highlight_summary_path": "/app/storage/operator-data/model-review/reviewedexp6-corpus/nested-pairs-review-r2/operator_yolo_label_qa_summary.json",
"relationship_highlight_summary_sha256": "e4e6edc5c7223334c4feca9e242ac6d3c345b633a476aa9356b44133dcffe619",
"relationship_highlight_contact_sheet_path": "/app/storage/operator-data/model-review/reviewedexp6-corpus/nested-pairs-review-r2/contact_sheet_001.png",
"relationship_highlight_contact_sheet_sha256": "2a6bdd542b8ac49bcd5ac4d9c84999982461463ddd3c2fe0dc7332ceeb7a5e60",
"exact_duplicate_pairs": 0,
"near_duplicate_pairs_iou_at_least_0_90": 0,
"possible_nested_pairs_containment_at_least_0_98": 43,
"flagged_tile_count": 36,
"highlighted_unique_label_rows": 86,
"highlight_legend": {
"exact_duplicate": "cyan",
"near_duplicate": "red",
"possible_nested": "magenta",
"unflagged": "yellow"
},
"share_of_rendered_labels": 0.000543,
"ai_visual_followup": "all 86 implicated label rows were index-highlighted; no cyan exact duplicates or red near duplicates exist, while the 43 magenta nesting pairs are dispersed across dense reference AOIs and predominantly show larger GRB envelopes around smaller building components rather than one systematic duplicate-label pattern",
"action": "retain for experimental analysis, require human adjudication before release, and perform no automatic rewrite or exclusion"
},
"geometric_outlier_audit": {
"audit_path": "/app/storage/operator-data/model-review/reviewedexp6-corpus/full-ai-review-r1/label_outlier_audit.json",
"audit_sha256": "cac2c0cefb49aa3785ee9fb173a0187b3dd8abfc9c25e8e91df6c4af91ff5a40",
"reviewed_label_count": 79192,
"unique_flagged_label_count": 6657,
"small_dimension_below_4_px": 1812,
"extreme_aspect_ratio_at_least_8": 26,
"tile_edge_rows": 5079,
"extreme_rows_also_below_4_px": 16,
"extreme_contact_sheet_sha256": "67ad11e7d80678c78157a01a5e7ceb7cff9ac24410b127bdfaafd4350170cdb6",
"small_dimension_contact_sheet_sha256s": [
"5b3ca4d5bfd57b466854a00b4791ac82cf4a826fad8a4694d0227c931b00dfad",
"0e5d2058154f8298fc6d2c064150bcf896e4e51b9bcce5fccbfc049e1ebb9515",
"03060f65843f3c2a291dd009124484f4cf798fe653e658bab007375613fa3010",
"2fe7c748a68b21a673f3d950909b07e3ddba81b736977fbee8d64ea62b422ca2"
],
"tile_edge_sample_contact_sheet_sha256": "5d96c5a0a732077ed16b22d33bed998b37bd33b5536b1491e778999a2a6638dd",
"ai_visual_followup": "extreme rows are mostly plausible elongated structures, while sub-4-pixel rows are often visually marginal; tile-edge rows are expected clipped objects under the 0.35 visibility policy",
"next_corpus_decision": "restore the exporter minimum dimension to at least 4 px for the next immutable experimental corpus; retain elongated structures above that floor and measure any higher edge-visibility threshold in a separately versioned ablation"
},
"cross_tile_repetition_audit": {
"audit_path": "/app/storage/operator-data/model-review/reviewedexp6-corpus/full-ai-review-r1/cross_tile_repetition_audit.json",
"audit_sha256": "3cdf5174fec61e0aa426b4a3f44ed943a738bf038f3b58028ec856ef1a9d000c",
"interior_label_rows": 74113,
"unique_interior_objects": 34082,
"extra_repeated_rows": 40031,
"repeated_object_groups": 24701,
"max_repetition": 4,
"cross_split_repetition_groups": 0,
"interpretation": "the 512 px tiles use stride 256, so tile-level validation rows are not statistically independent even though no reconstructed object crosses train and validation splits"
}
}
@@ -1,63 +0,0 @@
{
"schema_version": 1,
"evidence_id": "reviewedexp6-minpx4-derived-corpus-r1",
"created_at": "2026-08-09T19:45:41+02:00",
"status": "complete_experimental_only",
"claim_boundary": "Deterministic derived-corpus improvement and AI-assisted visual triage only; no human-review, governed training, evaluation, promotion or production claim.",
"source": {
"dataset_dir": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx3vis035",
"summary_sha256": "7c917e31216d1df2174c0f9c736f88a81f3835aa991971f8fb8665e17ddf5c9c",
"tile_size": 512,
"stride": 256,
"min_label_px": 3.0,
"min_visible_ratio": 0.35,
"tile_count": 252,
"label_count": 79192
},
"derived": {
"dataset_dir": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx4-derived-r1",
"manifest_sha256": "8a80d0e9d5ac2d32556e2f1ea0c6009045d48a3e56d931b3161622dca4173a67",
"summary_sha256": "391b0302cc8a46d15fef426d8971a4a8e594fb6d63ed1c7ce16feeee9f1406",
"quality_audit_sha256": "0fc9391ce09a399f51f1e0ed30c677f482c7c1b49b187926da01ecdfd9f1067e",
"outlier_audit_sha256": "c2453abb83aaff8aebd84f63efb14da131225192cf0434d5d1df7cf06be240ca",
"relationship_audit_sha256": "61660d0c448ff579272bc585de8140e82d1577c0b017e1c078b66dc093f14c2e",
"cross_tile_repetition_audit_sha256": "9ca22d83271707713f7f96d5409af598f834787ad5a48be14f8752a704de0da0",
"min_label_px": 4.0,
"tile_count": 252,
"positive_tile_count": 234,
"negative_tile_count": 18,
"label_count": 77380,
"removed_label_count": 1812,
"excluded_tile_count": 0,
"invalid_label_count": 0,
"missing_label_file_count": 0,
"sub_4_pixel_label_count": 0,
"extreme_aspect_label_count": 10,
"tile_edge_label_count": 4840,
"possible_nested_pair_count": 41,
"exact_duplicate_pair_count": 0,
"near_duplicate_pair_count": 0,
"cross_split_repetition_group_count": 0,
"training_release_eligible": false
},
"visual_review": {
"reviewer_type": "ai_assistant",
"human": false,
"rendered_tile_count": 252,
"rendered_label_count": 77380,
"contact_sheet_sha256s": [
"f197769ca68da08745277ff93331f3ea93738f6b63eb383a3b6168a9e438ee12",
"e9ecde3f38b4f580adb7523f647460af5d5933e2e1efe1f11f98c1656ca1cd13",
"497bf5878560113fcc59f21aeba09b1de167cb3eff4d0327c7584ba8caeebf70",
"4a8262291ed29699ae59517e1a542e513a50081a225ea1e84268afa37f99d6df"
],
"extreme_aspect_contact_sheet_sha256": "6c08c42eb6478d1fa06745135dd588ce6522b5cec4adf0bdcd177d77cd6c78a7",
"conclusion": "All 252 tiles remain visually coherent; pure-background tiles remain empty, sparse contexts remain distinct, and the ten remaining extreme-aspect labels predominantly correspond to plausible elongated structures."
},
"decision": {
"preferred_experimental_corpus": true,
"replaces_source_in_place": false,
"reason": "It deterministically removes all 1,812 visually marginal sub-4-pixel labels while preserving every tile and all larger labels with exact lineage.",
"remaining_gate": "Requires independent human review and the governed release-contract inputs before training eligibility."
}
}
@@ -1,102 +0,0 @@
{
"schema_version": 1,
"generated_at": "2026-08-09T13:20:00Z",
"audit_id": "reviewedexp6-provenance-migration-audit-r1",
"status": "blocked_lineage_incomplete",
"model": {
"path": "/app/models/geointel-building-yolov8s-reviewedexp6-minpx3-img640-ft20.pt",
"sha256": "038f1f97a6afd534f29e1f392a730a58207b928ca01e31ab8d8fed6106705820",
"size_bytes": 22514794,
"observed_mtime": "2026-07-15T05:11:29.338792783+02:00",
"lifecycle": "legacy_unpromoted_challenger"
},
"observed_training_artifacts": [
{
"role": "training_summary",
"path": "/app/storage/training/operator-yolo/geointel-building-yolov8s-reviewedexp6-minpx3-img640-ft20/training_summary.json",
"sha256": "961b9d119b24967977c22ba89a54f9caea51e440769bebde5641b7ee8bfae1eb"
},
{
"role": "ultralytics_arguments",
"path": "/app/storage/training/operator-yolo/geointel-building-yolov8s-reviewedexp6-minpx3-img640-ft20/args.yaml",
"sha256": "87e07dbed3ad12cc474e6b895147839431805b7044496277242e1538fcd91a0b"
},
{
"role": "training_metrics",
"path": "/app/storage/training/operator-yolo/geointel-building-yolov8s-reviewedexp6-minpx3-img640-ft20/results.csv",
"sha256": "57e72102b855c138b212efc293249952ec821e0f07201666ea4b17fb23d727a9"
},
{
"role": "dataset_summary",
"path": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx3vis035/yolo_tile_dataset_summary.json",
"sha256": "7c917e31216d1df2174c0f9c736f88a81f3835aa991971f8fb8665e17ddf5c9c"
},
{
"role": "dataset_yaml",
"path": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx3vis035/dataset.yaml",
"sha256": "62e12f4433508cb0640f1d90ec0ffd389cd21ebe655fac4e7d9402f04da1168e"
},
{
"role": "legacy_dataset_quality_audit",
"path": "/app/storage/operator-data/model-review/reviewedexp6-corpus/audit/operator_yolo_dataset_quality_audit.json",
"sha256": "42c34cddfcf7b8656d4513efa4e7249d73678164c2a1121f245be42ac56daf12"
}
],
"reproduced_training_configuration": {
"task": "detect",
"epochs": 20,
"image_size": 640,
"batch_size": 4,
"device": "cpu",
"seed": 0,
"deterministic_requested": true,
"base_model_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"dataset_tile_count": 252,
"dataset_label_count": 79192,
"train_tile_count": 234,
"validation_tile_count": 18
},
"human_review_gate": {
"evaluated_with": "scripts.training_release_manifest.human_review_audit_failures",
"passed": false,
"failures": [
"accepted_human_review_evidence_missing",
"review_audit_manifest_not_immutable",
"review_audit_spatial_leakage_not_ok",
"review_complete_not_true"
],
"interpretation": "The retained quality audit is not a checksum-bound accepted human-review ledger and cannot be upgraded into one retroactively."
},
"missing_required_original_evidence": [
"exact training repository commit recorded at training start",
"training container image digest",
"pinned Python, PyTorch, CUDA and Ultralytics runtime receipt for the original CPU run",
"dependency lock or SBOM checksum",
"immutable source corpus manifest and freeze-sidecar checksum",
"label release checksum",
"independent split manifest checksum and zero-under-2-km audit",
"accepted human review ledger with reviewer identity, per-sample decision, timestamp and reviewed artifact hash",
"complete training RunManifest binding all upstream artifacts before execution"
],
"forbidden_inferences": [
"A nearby Git commit may not be assigned as the training commit from file times.",
"The current container runtime may not be copied backwards as the historical training runtime.",
"The dataset quality contact sheet may not be represented as accepted human review.",
"A structurally valid runtime sidecar may not be generated with invented UUIDs or placeholder upstream checksums."
],
"actions": {
"runtime_sidecar_created": false,
"source_registry_rows_created": false,
"production_inference_executed": false,
"production_model_changed": false,
"candidate_quarantine_state": "not_active_and_not_exposed_by_production_catalog",
"active_model_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1"
},
"decision": {
"migration_allowed": false,
"promotion_allowed": false,
"new_training_allowed": false,
"reason": "GeoIntel's execution contract explicitly forbids retroactively completing legacy RunManifest evidence. The current accuracy-program ledger also keeps training and promotion locked until P2-00 through P2-07 and the governed Phase-4 product gates pass.",
"safe_next_gate": "Complete P2-00 through P2-07, obtain representative human review, freeze a new independently split corpus, then train a new pre-registered GPU candidate with complete provenance from process start."
}
}
@@ -1,51 +0,0 @@
{
"schema_version": 1,
"generated_at": "2026-08-09T10:01:00Z",
"run_id": "building-kempen-v67-ai-assisted-bgaware-r1",
"status": "completed_rejected",
"device": {
"requested": "cuda:0",
"observed": "NVIDIA GeForce RTX 4080 SUPER",
"torch": "2.11.0+cu128",
"ultralytics": "8.4.99"
},
"training": {
"epochs": 12,
"image_size": 640,
"batch_size": 8,
"workers": 0,
"seed": 20260809,
"base_model_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"candidate_best_sha256": "1337eb9fdd6bb73c525bd616e2ba961f20d585387db940576055afd38a71ca91",
"results_csv_sha256": "73bae1cc3e377fda8b1004a801c881f8313d6dffbbb5986555e2c5226212177d",
"args_yaml_sha256": "374613f927c57f9e9832cf7e0131c987dc978cbe1ea787a827030a8378385122"
},
"validation": {
"split": "val",
"image_count": 36,
"positive_image_count": 18,
"pure_background_image_count": 18,
"instance_count": 5686,
"baseline": {
"precision": 0.542,
"recall": 0.430,
"map50": 0.345,
"map50_95": 0.141,
"pure_background_detections_at_confidence_0_15": 0
},
"candidate_best": {
"precision": 0.530,
"recall": 0.435,
"map50": 0.337,
"map50_95": 0.135,
"pure_background_detections_at_confidence_0_15": 3
}
},
"decision": {
"promote": false,
"production_model_changed": false,
"reason": "The small recall gain does not compensate for lower precision and mAP plus a regression from zero to three detections on pure-background validation tiles.",
"active_model_sha256_after_decision": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1"
},
"claim_boundary": "Experimental Kempen validation only. No protected test or challenge data was opened, no national accuracy claim is made, and formal human review remains required for any future promotion."
}
@@ -1,93 +0,0 @@
{
"schema_version": 1,
"generated_at": "2026-08-09T12:30:00Z",
"run_id": "building-kempen-v68-checkpoint-and-threshold-review-r1",
"status": "completed_no_production_change",
"review_type": "ai_assisted_visual_and_metric_review",
"claim_boundary": "Non-protected Kempen validation only. This is not a formal human sign-off, protected-test result, national accuracy claim or authorization to infer outside the configured geographic scope.",
"runtime": {
"device": "cuda:0",
"gpu": "NVIDIA GeForce RTX 4080 SUPER",
"torch": "2.11.0+cu128",
"ultralytics": "8.4.99"
},
"checkpoint_matrix": {
"newer_family_manifest": {
"path": "/app/storage/training/building-kempen-v68-checkpoint-matrix-r1/checkpoint-matrix.json",
"sha256": "a17640f8190915bd38bed98b2b6d086e1020987842b48bffadec2e20163f8647"
},
"original_family_manifest": {
"path": "/app/storage/training/building-kempen-v68-checkpoint-matrix-original-r1/checkpoint-matrix.json",
"sha256": "face91b3b0cb4d332dff1f176051dc46dd931275fceb91fe465ad010bbd675eb"
},
"active": {
"model_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"precision": 0.541626,
"recall": 0.429757,
"map50": 0.345426,
"map50_95": 0.140719,
"pure_background_detections_at_confidence_0_15": 0
},
"best_validation_challenger": {
"model_sha256": "038f1f97a6afd534f29e1f392a730a58207b928ca01e31ab8d8fed6106705820",
"precision": 0.573691,
"recall": 0.454274,
"map50": 0.368177,
"map50_95": 0.155438,
"pure_background_detections_at_confidence_0_15": 2
}
},
"threshold_review": {
"split": "val",
"image_count": 36,
"positive_image_count": 18,
"pure_background_image_count": 18,
"match_iou": 0.25,
"active_manifest": {
"path": "/app/storage/training/building-kempen-v68-reviewedexp6-threshold-r1/active-thresholds.json",
"sha256": "3462c3f4be480e34976084901c8dff1141168d818e1c6a74f86d26ae5872391"
},
"challenger_manifest": {
"path": "/app/storage/training/building-kempen-v68-reviewedexp6-threshold-r1/reviewedexp6-thresholds.json",
"sha256": "c810aa0372a2767d538c9454f6f9f7a54338e61650756e35fdd1750a57684756"
},
"confidence_0_25": {
"active": {"tp": 3830, "fp": 2584, "fn": 1856, "precision": 0.597131, "recall": 0.673584, "f1": 0.633058, "pure_background_detections": 0},
"challenger": {"tp": 4005, "fp": 2774, "fn": 1681, "precision": 0.590795, "recall": 0.704362, "f1": 0.642599, "pure_background_detections": 0}
},
"confidence_0_30": {
"active": {"precision": 0.713823, "recall": 0.543088, "f1": 0.616860, "pure_background_detections": 0},
"challenger": {"precision": 0.697588, "recall": 0.595146, "f1": 0.642308, "pure_background_detections": 0}
}
},
"visual_review": {
"active_contact_sheet": {
"path": "/app/storage/training/building-kempen-v68-reviewedexp6-visual-r1/active/candidate_error_contact_sheet.png",
"sha256": "609cffab8d5f47d93ec482a3ac1b960dac35645f65906ce4344cd50e9742b5f3"
},
"challenger_contact_sheet": {
"path": "/app/storage/training/building-kempen-v68-reviewedexp6-visual-r1/reviewedexp6/candidate_error_contact_sheet.png",
"sha256": "65ac7a24ee2b51bcbaa83d5972639602b4b4d5fd71a0a3aab2ef99510b5465f6"
},
"observations": [
"The challenger reduces missed-building pressure in both dense Turnhout and lower-density Westerlo examples.",
"Dense urban overlays still contain many low-IoU disagreements caused by visible roof position and shape versus GRB ground-level building footprints.",
"AI-assisted visual inspection cannot convert ambiguous roof-footprint disagreements into accepted human labels."
]
},
"production_gate": {
"attempted_action": "Run the existing seven-zone production-API benchmark with challenger confidence 0.25.",
"result": "blocked_fail_closed_before_inference",
"reason": "The historical challenger predates the mandatory immutable runtime-provenance sidecar and governed database snapshot binding.",
"unsafe_bypass_used": false,
"production_model_changed": false,
"active_model_sha256_after_decision": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"active_image_after_decision": "geointel-all-in-one:0209167cfd37-wip25e7de62cde9-ai",
"server_health_after_decision": "healthy"
},
"decision": {
"v67_candidate": "rejected",
"reviewedexp6_at_confidence_0_25": "retain_as_unpromoted_validation_challenger",
"reason": "The challenger is measurably stronger on the non-protected validation split and clears its local background controls at 0.25, but production promotion remains blocked until its original training lineage is migrated into an exact sidecar and governed source snapshot and the existing seven-zone workflow is rerun."
}
}
@@ -1,72 +0,0 @@
{
"schema_version": 1,
"run_id": "building-kempen-v69-nonoverlap-checkpoint-review-r2",
"generated_at": "2026-08-09T20:35:51+02:00",
"status": "completed_no_production_change",
"claim_boundary": "Non-protected two-positive-AOI and one-background-AOI validation refinement only; tiles do not overlap, but statistical independence, protected-test performance, national accuracy and promotion eligibility are not established.",
"correction_to_prior_evidence": {
"prior_validation_tile_count": 36,
"prior_tile_overlap_pixels": 256,
"prior_background_tile_count": 18,
"invalid_background_sample": "arendonk_heide",
"invalid_background_reason": "all nine source tiles are visually blank/low-variance no-data; four non-overlap representatives were excluded with explicit reason codes",
"effect": "The prior matrix remains a historical overlapping-tile ranking, but its 18-image background count must not be interpreted as 18 real background observations."
},
"evaluation_view": {
"path": "/app/storage/operator-data/yolo-building-aoi1024-bgaware512r8-nonoverlap-eval-r2",
"manifest_sha256": "69f555e57fa52d8b7cdfc5632167bde96b64030ee37e9bf49ff2d9891d66574a",
"summary_sha256": "c17a8c47eaecc2dfb38778ff5a612f9e6c4d67c9e90e31d3a6a66d8857adec4c",
"cross_tile_audit_sha256": "b0a49d7f5983ccaa07754a1e3d6d8f7b10345d3c57b9f613bb856de9d6f70b74",
"contact_sheet_sha256": "f5954a2f6ad3dc59642bf3a51d98ca94343491f522968ab38d60c999ed21c797",
"tile_size": 512,
"stride": 512,
"tile_count": 12,
"positive_tile_count": 8,
"real_background_tile_count": 4,
"positive_aoi_count": 2,
"background_aoi_count": 1,
"label_count": 2551,
"unique_interior_object_count": 2384,
"edge_label_count": 167,
"repeated_interior_object_count": 0,
"excluded_low_variance_tile_count": 4,
"excluded_sample_slug": "arendonk_heide",
"training_prohibited": true,
"statistical_independence_established": false
},
"runtime": {
"device": "cuda:0",
"gpu": "NVIDIA GeForce RTX 4080 SUPER",
"torch": "2.11.0+cu128",
"ultralytics": "8.4.99"
},
"checkpoint_metrics": {
"active": {
"model_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"precision": 0.5426324241859346,
"recall": 0.4353171786761234,
"map50": 0.342034346792601,
"map50_95": 0.1413160008545276,
"background_detections_confidence_0_15": 0,
"background_detections_confidence_0_25": 0
},
"challenger": {
"model_sha256": "038f1f97a6afd534f29e1f392a730a58207b928ca01e31ab8d8fed6106705820",
"precision": 0.5817150200182469,
"recall": 0.462299518515736,
"map50": 0.3683635371499511,
"map50_95": 0.15531818619443444,
"background_detections_confidence_0_15": 1,
"background_detections_confidence_0_25": 0
},
"confidence_0_15_matrix_sha256": "915c8523fe71a2d88b44bcb75d9070d25940f3969213692cc121f1239b31489b",
"confidence_0_25_matrix_sha256": "173d8af94d5d3d805b67a1a99d36e196255166e2e32ecabbef40ebf065c92138"
},
"decision": {
"relative_metric_ranking": "challenger",
"strict_background_ranking_at_0_15": "active",
"background_tie_at_0_25": true,
"production_model_changed": false,
"reason": "The challenger remains stronger on this refined non-overlapping ranking and clears Postel at 0.25, but one real background AOI and two adjacent positive AOIs are insufficient for release; historical provenance and human-review gates also remain closed."
}
}
@@ -1,43 +0,0 @@
{
"claim_boundary": "No checkpoint ranking or release claim is permitted.",
"dataset_yaml": "/app/storage/operator-data/yolo-building-aoi1024-bgaware512r8-nonoverlap-eval-r2/dataset.yaml",
"dataset_yaml_sha256": "c36f6d76aac4bc2f5e880e2f0133d176fb0dc277600e121570a944eee6db2c48",
"generated_at": "2026-08-09T18:59:13.410422+00:00",
"gpu_inference_attempted": false,
"model_loading_attempted": false,
"schema_version": 2,
"status": "blocked_training_sample_overlap",
"training_sample_independence_evidence": {
"evaluation_samples": [
"postel_bos",
"turnhout",
"westerlo"
],
"evaluation_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-bgaware512r8-nonoverlap-eval-r2/yolo_tile_dataset_summary.json",
"evaluation_summary_sha256": "c17a8c47eaecc2dfb38778ff5a612f9e6c4d67c9e90e31d3a6a66d8857adec4c",
"independent_for_all_supplied_training_corpora": false,
"interpretation": "At least one evaluation AOI occurs in a supplied train split; the matrix is blocked before model loading.",
"overlapping_evaluation_samples": [
"postel_bos"
],
"status": "overlap",
"training_corpora": [
{
"overlapping_evaluation_samples": [
"postel_bos"
],
"training_sample_count": 20,
"training_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-smallbld-minpx3vis035/yolo_tile_dataset_summary.json",
"training_summary_sha256": "49b2a07d2105d08356431757b83eafc1498eaf1fb76965b1efe05b776824942a"
},
{
"overlapping_evaluation_samples": [
"postel_bos"
],
"training_sample_count": 26,
"training_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx3vis035/yolo_tile_dataset_summary.json",
"training_summary_sha256": "7c917e31216d1df2174c0f9c736f88a81f3835aa991971f8fb8665e17ddf5c9c"
}
]
}
}
@@ -1,76 +0,0 @@
{
"claim_boundary": "No checkpoint ranking or release claim is permitted.",
"dataset_yaml": "/app/storage/operator-data/yolo-building-aoi1024-bgaware512r8-nonoverlap-eval-r2/dataset.yaml",
"dataset_yaml_sha256": "c36f6d76aac4bc2f5e880e2f0133d176fb0dc277600e121570a944eee6db2c48",
"generated_at": "2026-08-09T20:08:28.285906+00:00",
"gpu_inference_attempted": false,
"model_lineage_independence_evidence": {
"evaluation_samples": [
"postel_bos",
"turnhout",
"westerlo"
],
"evaluation_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-bgaware512r8-nonoverlap-eval-r2/yolo_tile_dataset_summary.json",
"evaluation_summary_sha256": "c17a8c47eaecc2dfb38778ff5a612f9e6c4d67c9e90e31d3a6a66d8857adec4c",
"independent_for_all_supplied_lineage_corpora": false,
"interpretation": "At least one evaluation AOI was exposed in an ancestral train, validation, calibration or other split; the matrix is blocked before model loading.",
"lineage_corpora": [
{
"exposure_roles": {
"postel_bos": [
"train"
],
"turnhout": [
"val"
],
"westerlo": [
"val"
]
},
"lineage_sample_count": 19,
"lineage_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-expanded-minpx4vis035/yolo_tile_dataset_summary.json",
"lineage_summary_sha256": "1887e2ba5c719d33675a9ed85db99a274fd66d98d5f6ad44558d673620917201",
"overlapping_evaluation_samples": [
"postel_bos",
"turnhout",
"westerlo"
]
},
{
"exposure_roles": {
"postel_bos": [
"train"
]
},
"lineage_sample_count": 22,
"lineage_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-smallbld-minpx3vis035/yolo_tile_dataset_summary.json",
"lineage_summary_sha256": "49b2a07d2105d08356431757b83eafc1498eaf1fb76965b1efe05b776824942a",
"overlapping_evaluation_samples": [
"postel_bos"
]
},
{
"exposure_roles": {
"postel_bos": [
"train"
]
},
"lineage_sample_count": 28,
"lineage_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx3vis035/yolo_tile_dataset_summary.json",
"lineage_summary_sha256": "7c917e31216d1df2174c0f9c736f88a81f3835aa991971f8fb8665e17ddf5c9c",
"overlapping_evaluation_samples": [
"postel_bos"
]
}
],
"overlapping_evaluation_samples": [
"postel_bos",
"turnhout",
"westerlo"
],
"status": "overlap"
},
"model_loading_attempted": false,
"schema_version": 3,
"status": "blocked_model_lineage_sample_exposure"
}
@@ -1,115 +0,0 @@
{
"claim_boundary": "File/hash ancestry only; does not establish human review, protected-test validity or release fitness.",
"generated_at": "2026-08-09T20:10:17.734420+00:00",
"generic_base": {
"path": "/app/models/yolov8s.pt",
"sha256": "1f47a78bf100391c2a140b7ac73a1caae18c32779be7d310658112f7ac9aa78a",
"size_bytes": 22588772
},
"schema_version": 1,
"stages": [
{
"args": {
"path": "/app/storage/training/operator-yolo/geointel-building-yolov8s-aoi1024expandedminpx4vis035e50/args.yaml",
"sha256": "ddb12aa459404a905c2d908210033f18346491823c1b059eec332c1a7f9a0263",
"size_bytes": 1839
},
"best_matches_model_copy": true,
"dataset_summary": {
"path": "/app/storage/operator-data/yolo-building-aoi1024-expanded-minpx4vis035/yolo_tile_dataset_summary.json",
"sha256": "1887e2ba5c719d33675a9ed85db99a274fd66d98d5f6ad44558d673620917201",
"size_bytes": 135720
},
"dataset_yaml": {
"path": "/app/storage/operator-data/yolo-building-aoi1024-expanded-minpx4vis035/dataset.yaml",
"sha256": "357730f4ee110efdb241d26c0479eeeea5200885cebeb8eae011e257beb058ba",
"size_bytes": 134
},
"model_copy": {
"path": "/app/models/geointel-building-yolov8s-aoi1024expandedminpx4vis035e50.pt",
"sha256": "a8a79cf5b0bdc19a0245acc322cf77232c335e222bd5f3c00a17d5f29402c196",
"size_bytes": 22499498
},
"name": "expanded",
"parent_model": {
"path": "/app/models/yolov8s.pt",
"sha256": "1f47a78bf100391c2a140b7ac73a1caae18c32779be7d310658112f7ac9aa78a",
"size_bytes": 22588772
},
"training_best": {
"path": "/app/storage/training/operator-yolo/geointel-building-yolov8s-aoi1024expandedminpx4vis035e50/weights/best.pt",
"sha256": "a8a79cf5b0bdc19a0245acc322cf77232c335e222bd5f3c00a17d5f29402c196",
"size_bytes": 22499498
}
},
{
"args": {
"path": "/app/storage/training/operator-yolo/geointel-building-yolov8s-smallbld-minpx3-img640-ft30/args.yaml",
"sha256": "2b482e6bbef26f433d4406e1acb5cbbf4ce63a63644b180a2d51b93f8c8f0dcb",
"size_bytes": 1882
},
"best_matches_model_copy": true,
"dataset_summary": {
"path": "/app/storage/operator-data/yolo-building-aoi1024-smallbld-minpx3vis035/yolo_tile_dataset_summary.json",
"sha256": "49b2a07d2105d08356431757b83eafc1498eaf1fb76965b1efe05b776824942a",
"size_bytes": 158980
},
"dataset_yaml": {
"path": "/app/storage/operator-data/yolo-building-aoi1024-smallbld-minpx3vis035/dataset.yaml",
"sha256": "3a2ea97c35a18072a1ab6738cd673c0ecec5344b19461c91d72a15e138d46e8d",
"size_bytes": 134
},
"model_copy": {
"path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"size_bytes": 22516074
},
"name": "active",
"parent_model": {
"path": "/app/models/geointel-building-yolov8s-aoi1024expandedminpx4vis035e50.pt",
"sha256": "a8a79cf5b0bdc19a0245acc322cf77232c335e222bd5f3c00a17d5f29402c196",
"size_bytes": 22499498
},
"training_best": {
"path": "/app/storage/training/operator-yolo/geointel-building-yolov8s-smallbld-minpx3-img640-ft30/weights/best.pt",
"sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"size_bytes": 22516074
}
},
{
"args": {
"path": "/app/storage/training/operator-yolo/geointel-building-yolov8s-reviewedexp6-minpx3-img640-ft20/args.yaml",
"sha256": "87e07dbed3ad12cc474e6b895147839431805b7044496277242e1538fcd91a0b",
"size_bytes": 1891
},
"best_matches_model_copy": true,
"dataset_summary": {
"path": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx3vis035/yolo_tile_dataset_summary.json",
"sha256": "7c917e31216d1df2174c0f9c736f88a81f3835aa991971f8fb8665e17ddf5c9c",
"size_bytes": 204029
},
"dataset_yaml": {
"path": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx3vis035/dataset.yaml",
"sha256": "62e12f4433508cb0640f1d90ec0ffd389cd21ebe655fac4e7d9402f04da1168e",
"size_bytes": 138
},
"model_copy": {
"path": "/app/models/geointel-building-yolov8s-reviewedexp6-minpx3-img640-ft20.pt",
"sha256": "038f1f97a6afd534f29e1f392a730a58207b928ca01e31ab8d8fed6106705820",
"size_bytes": 22514794
},
"name": "challenger",
"parent_model": {
"path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"size_bytes": 22516074
},
"training_best": {
"path": "/app/storage/training/operator-yolo/geointel-building-yolov8s-reviewedexp6-minpx3-img640-ft20/weights/best.pt",
"sha256": "038f1f97a6afd534f29e1f392a730a58207b928ca01e31ab8d8fed6106705820",
"size_bytes": 22514794
}
}
],
"status": "complete_retained_lineage_to_generic_base"
}
@@ -1,61 +0,0 @@
{
"schema_version": 1,
"run_id": "building-be-v72-fresh-calibration-r1",
"status": "completed_diagnostic_no_production_change",
"claim_boundary": "Fresh non-protected calibration diagnostics only. Wallonia and Brussels remain evaluation-only while regional authority harmonisation contracts are pending; no protected-test, release or national accuracy claim.",
"portfolio": {
"region_count": 3,
"aoi_count": 6,
"tile_count": 24,
"label_count": 348,
"tile_size": 512,
"stride": 512,
"overlapping_edge_cover_tiles_excluded": 30,
"training_allowed": false,
"release_claim_allowed": false,
"minimum_model_lineage_distance_m": 4869.625822725313,
"model_lineage_sample_count": 31,
"model_lineage_spatial_status": "independent"
},
"visual_review": {
"reviewer_type": "ai_assisted",
"human": false,
"reviewed_tile_count": 24,
"finding": "All retained tiles contain real imagery. Havelange is a positive village context despite its pre-registered background-candidate name; Assenede and Laeken are sparse/hard-negative contexts, not pure-empty backgrounds. No pure-background claim was made."
},
"gpu": "NVIDIA GeForce RTX 4080 SUPER",
"models": {
"active": {
"sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"precision": 0.1576550586330707,
"recall": 0.11781609195402298,
"map50": 0.05677865740374553,
"map50_95": 0.02175035531261916,
"f1_at_0_25_iou_0_25": 0.2315270935960591
},
"challenger": {
"sha256": "038f1f97a6afd534f29e1f392a730a58207b928ca01e31ab8d8fed6106705820",
"precision": 0.13343411909876413,
"recall": 0.1235632183908046,
"map50": 0.04470477656341424,
"map50_95": 0.01600413321513577,
"f1_at_0_25_iou_0_25": 0.23588456712672523
}
},
"threshold_decision": {
"best_aggregate_active_f1_threshold": 0.3,
"best_aggregate_active_f1": 0.25035561877667145,
"production_threshold_changed": false,
"reason": "The aggregate optimum reduces the already weak Flemish subgroup F1, and regional authority/human-review gates remain closed."
},
"evidence_sha256": {
"operator_samples_manifest": "66bfaacaee11806ed035d3ac5725f7b3967dfc82e7a12ecf603dc3836bc26ad7",
"yolo_tile_dataset_summary": "78e16f46fa2a313a147404a19f2ce99417d2cb384b5db5f6ba33e934ff99c631",
"spatial_independence": "4971887d0f2356bfba674b0f0a4606530920b30d458765a1fec5b3086ac47e72",
"contact_sheet": "f7734c5a9db8837adeda7f8e0f1a2942148330abfcb588d41dc245017ec2435a",
"checkpoint_matrix": "ad178fac5968c7e1d6b1c79b192624e4cd2956f054d5cf70270275a0be0b80c5",
"active_stratified": "eefa9bab20674c30427f02ca19571f869f728eccf2dca376acf02ae4ef0e7678",
"challenger_stratified": "9c22f6cdc30555616f2d1b595fdfde544474be396f2bd86ff22f684d3ddd6e58",
"active_threshold_extension": "7752f2e2bd84306f3863fb32eb141b30d473581c9ef0dbb5a6970a1d3c73a0ec"
}
}
@@ -1,468 +0,0 @@
{
"schema_version": 1,
"model": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"summary": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/yolo_tile_dataset_summary.json",
"split": "val",
"match_iou": 0.25,
"test_time_augmentation": false,
"inference_imgsz": 640,
"inference_batch": 8,
"max_detections_per_tile": 1000,
"nms_iou": 0.7,
"containment_nms": 1.0,
"box_scale": 1.0,
"box_offset_x": 0.0,
"box_offset_y": 0.0,
"additional_model": null,
"regional_models": {},
"regional_model_tile_counts": {},
"ensemble_mode": null,
"ensemble_match_iou": null,
"proposal_classifier": null,
"proposal_classifier_threshold": null,
"proposal_crop_scale": null,
"proposal_classifier_batch": null,
"tile_count": 24,
"sweeps": [
{
"threshold": 0.05,
"aggregate": {
"true_positive": 157,
"false_positive": 1466,
"false_negative": 191,
"precision": 0.09673444239063463,
"recall": 0.4511494252873563,
"f1": 0.15930999492643327
},
"regions": {
"brussels": {
"true_positive": 41,
"false_positive": 181,
"false_negative": 24,
"precision": 0.18468468468468469,
"recall": 0.6307692307692307,
"f1": 0.2857142857142857
},
"flanders": {
"true_positive": 25,
"false_positive": 365,
"false_negative": 98,
"precision": 0.0641025641025641,
"recall": 0.2032520325203252,
"f1": 0.09746588693957114
},
"wallonia": {
"true_positive": 91,
"false_positive": 920,
"false_negative": 69,
"precision": 0.09000989119683482,
"recall": 0.56875,
"f1": 0.15542271562766868
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 23,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 39,
"false_positive": 162,
"false_negative": 23,
"precision": 0.19402985074626866,
"recall": 0.6290322580645161,
"f1": 0.2965779467680608
},
"v72-havelange-field-cal-bg": {
"true_positive": 75,
"false_positive": 366,
"false_negative": 59,
"precision": 0.17006802721088435,
"recall": 0.5597014925373134,
"f1": 0.2608695652173913
},
"v72-laeken-park-cal-bg": {
"true_positive": 2,
"false_positive": 19,
"false_negative": 1,
"precision": 0.09523809523809523,
"recall": 0.6666666666666666,
"f1": 0.16666666666666666
},
"v72-libramont-lowrise-cal": {
"true_positive": 16,
"false_positive": 554,
"false_negative": 10,
"precision": 0.028070175438596492,
"recall": 0.6153846153846154,
"f1": 0.05369127516778524
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 25,
"false_positive": 342,
"false_negative": 94,
"precision": 0.0681198910081744,
"recall": 0.21008403361344538,
"f1": 0.10288065843621398
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.1,
"aggregate": {
"true_positive": 139,
"false_positive": 930,
"false_negative": 209,
"precision": 0.13002806361085126,
"recall": 0.3994252873563218,
"f1": 0.19618913196894847
},
"regions": {
"brussels": {
"true_positive": 36,
"false_positive": 117,
"false_negative": 29,
"precision": 0.23529411764705882,
"recall": 0.5538461538461539,
"f1": 0.33027522935779813
},
"flanders": {
"true_positive": 20,
"false_positive": 215,
"false_negative": 103,
"precision": 0.0851063829787234,
"recall": 0.16260162601626016,
"f1": 0.11173184357541897
},
"wallonia": {
"true_positive": 83,
"false_positive": 598,
"false_negative": 77,
"precision": 0.12187958883994127,
"recall": 0.51875,
"f1": 0.19738406658739593
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 13,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 34,
"false_positive": 105,
"false_negative": 28,
"precision": 0.2446043165467626,
"recall": 0.5483870967741935,
"f1": 0.3383084577114428
},
"v72-havelange-field-cal-bg": {
"true_positive": 68,
"false_positive": 235,
"false_negative": 66,
"precision": 0.22442244224422442,
"recall": 0.5074626865671642,
"f1": 0.311212814645309
},
"v72-laeken-park-cal-bg": {
"true_positive": 2,
"false_positive": 12,
"false_negative": 1,
"precision": 0.14285714285714285,
"recall": 0.6666666666666666,
"f1": 0.23529411764705882
},
"v72-libramont-lowrise-cal": {
"true_positive": 15,
"false_positive": 363,
"false_negative": 11,
"precision": 0.03968253968253968,
"recall": 0.5769230769230769,
"f1": 0.07425742574257425
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 20,
"false_positive": 202,
"false_negative": 99,
"precision": 0.09009009009009009,
"recall": 0.16806722689075632,
"f1": 0.11730205278592373
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.15,
"aggregate": {
"true_positive": 121,
"false_positive": 675,
"false_negative": 227,
"precision": 0.15201005025125627,
"recall": 0.34770114942528735,
"f1": 0.2115384615384615
},
"regions": {
"brussels": {
"true_positive": 29,
"false_positive": 82,
"false_negative": 36,
"precision": 0.26126126126126126,
"recall": 0.4461538461538462,
"f1": 0.3295454545454546
},
"flanders": {
"true_positive": 17,
"false_positive": 165,
"false_negative": 106,
"precision": 0.09340659340659341,
"recall": 0.13821138211382114,
"f1": 0.11147540983606558
},
"wallonia": {
"true_positive": 75,
"false_positive": 428,
"false_negative": 85,
"precision": 0.14910536779324055,
"recall": 0.46875,
"f1": 0.22624434389140272
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 8,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 28,
"false_positive": 73,
"false_negative": 34,
"precision": 0.27722772277227725,
"recall": 0.45161290322580644,
"f1": 0.3435582822085889
},
"v72-havelange-field-cal-bg": {
"true_positive": 62,
"false_positive": 175,
"false_negative": 72,
"precision": 0.2616033755274262,
"recall": 0.4626865671641791,
"f1": 0.33423180592991913
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 9,
"false_negative": 2,
"precision": 0.1,
"recall": 0.3333333333333333,
"f1": 0.15384615384615383
},
"v72-libramont-lowrise-cal": {
"true_positive": 13,
"false_positive": 253,
"false_negative": 13,
"precision": 0.04887218045112782,
"recall": 0.5,
"f1": 0.08904109589041095
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 17,
"false_positive": 157,
"false_negative": 102,
"precision": 0.09770114942528736,
"recall": 0.14285714285714285,
"f1": 0.11604095563139932
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.2,
"aggregate": {
"true_positive": 104,
"false_positive": 515,
"false_negative": 244,
"precision": 0.1680129240710824,
"recall": 0.2988505747126437,
"f1": 0.21509824198552224
},
"regions": {
"brussels": {
"true_positive": 26,
"false_positive": 65,
"false_negative": 39,
"precision": 0.2857142857142857,
"recall": 0.4,
"f1": 0.3333333333333333
},
"flanders": {
"true_positive": 13,
"false_positive": 128,
"false_negative": 110,
"precision": 0.09219858156028368,
"recall": 0.10569105691056911,
"f1": 0.09848484848484848
},
"wallonia": {
"true_positive": 65,
"false_positive": 322,
"false_negative": 95,
"precision": 0.16795865633074936,
"recall": 0.40625,
"f1": 0.23765996343692872
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 7,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 25,
"false_positive": 59,
"false_negative": 37,
"precision": 0.2976190476190476,
"recall": 0.4032258064516129,
"f1": 0.3424657534246575
},
"v72-havelange-field-cal-bg": {
"true_positive": 55,
"false_positive": 129,
"false_negative": 79,
"precision": 0.29891304347826086,
"recall": 0.41044776119402987,
"f1": 0.34591194968553457
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 6,
"false_negative": 2,
"precision": 0.14285714285714285,
"recall": 0.3333333333333333,
"f1": 0.2
},
"v72-libramont-lowrise-cal": {
"true_positive": 10,
"false_positive": 193,
"false_negative": 16,
"precision": 0.04926108374384237,
"recall": 0.38461538461538464,
"f1": 0.08733624454148471
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 13,
"false_positive": 121,
"false_negative": 106,
"precision": 0.09701492537313433,
"recall": 0.1092436974789916,
"f1": 0.10276679841897234
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.25,
"aggregate": {
"true_positive": 94,
"false_positive": 370,
"false_negative": 254,
"precision": 0.2025862068965517,
"recall": 0.27011494252873564,
"f1": 0.2315270935960591
},
"regions": {
"brussels": {
"true_positive": 25,
"false_positive": 45,
"false_negative": 40,
"precision": 0.35714285714285715,
"recall": 0.38461538461538464,
"f1": 0.3703703703703704
},
"flanders": {
"true_positive": 12,
"false_positive": 103,
"false_negative": 111,
"precision": 0.10434782608695652,
"recall": 0.0975609756097561,
"f1": 0.1008403361344538
},
"wallonia": {
"true_positive": 57,
"false_positive": 222,
"false_negative": 103,
"precision": 0.20430107526881722,
"recall": 0.35625,
"f1": 0.25968109339407747
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 6,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 24,
"false_positive": 42,
"false_negative": 38,
"precision": 0.36363636363636365,
"recall": 0.3870967741935484,
"f1": 0.37500000000000006
},
"v72-havelange-field-cal-bg": {
"true_positive": 47,
"false_positive": 91,
"false_negative": 87,
"precision": 0.34057971014492755,
"recall": 0.35074626865671643,
"f1": 0.3455882352941177
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 3,
"false_negative": 2,
"precision": 0.25,
"recall": 0.3333333333333333,
"f1": 0.28571428571428575
},
"v72-libramont-lowrise-cal": {
"true_positive": 10,
"false_positive": 131,
"false_negative": 16,
"precision": 0.07092198581560284,
"recall": 0.38461538461538464,
"f1": 0.11976047904191617
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 12,
"false_positive": 97,
"false_negative": 107,
"precision": 0.11009174311926606,
"recall": 0.10084033613445378,
"f1": 0.10526315789473684
}
},
"pure_empty_false_positives": 0
}
]
}
@@ -1,732 +0,0 @@
{
"schema_version": 1,
"model": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"summary": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/yolo_tile_dataset_summary.json",
"split": "val",
"match_iou": 0.25,
"test_time_augmentation": false,
"inference_imgsz": 640,
"inference_batch": 8,
"max_detections_per_tile": 1000,
"nms_iou": 0.7,
"containment_nms": 1.0,
"box_scale": 1.0,
"box_offset_x": 0.0,
"box_offset_y": 0.0,
"additional_model": null,
"regional_models": {},
"regional_model_tile_counts": {},
"ensemble_mode": null,
"ensemble_match_iou": null,
"proposal_classifier": null,
"proposal_classifier_threshold": null,
"proposal_crop_scale": null,
"proposal_classifier_batch": null,
"tile_count": 24,
"sweeps": [
{
"threshold": 0.25,
"aggregate": {
"true_positive": 94,
"false_positive": 370,
"false_negative": 254,
"precision": 0.2025862068965517,
"recall": 0.27011494252873564,
"f1": 0.2315270935960591
},
"regions": {
"brussels": {
"true_positive": 25,
"false_positive": 45,
"false_negative": 40,
"precision": 0.35714285714285715,
"recall": 0.38461538461538464,
"f1": 0.3703703703703704
},
"flanders": {
"true_positive": 12,
"false_positive": 103,
"false_negative": 111,
"precision": 0.10434782608695652,
"recall": 0.0975609756097561,
"f1": 0.1008403361344538
},
"wallonia": {
"true_positive": 57,
"false_positive": 222,
"false_negative": 103,
"precision": 0.20430107526881722,
"recall": 0.35625,
"f1": 0.25968109339407747
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 6,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 24,
"false_positive": 42,
"false_negative": 38,
"precision": 0.36363636363636365,
"recall": 0.3870967741935484,
"f1": 0.37500000000000006
},
"v72-havelange-field-cal-bg": {
"true_positive": 47,
"false_positive": 91,
"false_negative": 87,
"precision": 0.34057971014492755,
"recall": 0.35074626865671643,
"f1": 0.3455882352941177
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 3,
"false_negative": 2,
"precision": 0.25,
"recall": 0.3333333333333333,
"f1": 0.28571428571428575
},
"v72-libramont-lowrise-cal": {
"true_positive": 10,
"false_positive": 131,
"false_negative": 16,
"precision": 0.07092198581560284,
"recall": 0.38461538461538464,
"f1": 0.11976047904191617
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 12,
"false_positive": 97,
"false_negative": 107,
"precision": 0.11009174311926606,
"recall": 0.10084033613445378,
"f1": 0.10526315789473684
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.3,
"aggregate": {
"true_positive": 88,
"false_positive": 267,
"false_negative": 260,
"precision": 0.24788732394366197,
"recall": 0.25287356321839083,
"f1": 0.25035561877667145
},
"regions": {
"brussels": {
"true_positive": 24,
"false_positive": 34,
"false_negative": 41,
"precision": 0.41379310344827586,
"recall": 0.36923076923076925,
"f1": 0.39024390243902446
},
"flanders": {
"true_positive": 10,
"false_positive": 84,
"false_negative": 113,
"precision": 0.10638297872340426,
"recall": 0.08130081300813008,
"f1": 0.09216589861751154
},
"wallonia": {
"true_positive": 54,
"false_positive": 149,
"false_negative": 106,
"precision": 0.2660098522167488,
"recall": 0.3375,
"f1": 0.2975206611570248
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 6,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 23,
"false_positive": 31,
"false_negative": 39,
"precision": 0.42592592592592593,
"recall": 0.3709677419354839,
"f1": 0.39655172413793105
},
"v72-havelange-field-cal-bg": {
"true_positive": 44,
"false_positive": 66,
"false_negative": 90,
"precision": 0.4,
"recall": 0.3283582089552239,
"f1": 0.36065573770491804
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 3,
"false_negative": 2,
"precision": 0.25,
"recall": 0.3333333333333333,
"f1": 0.28571428571428575
},
"v72-libramont-lowrise-cal": {
"true_positive": 10,
"false_positive": 83,
"false_negative": 16,
"precision": 0.10752688172043011,
"recall": 0.38461538461538464,
"f1": 0.1680672268907563
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 10,
"false_positive": 78,
"false_negative": 109,
"precision": 0.11363636363636363,
"recall": 0.08403361344537816,
"f1": 0.09661835748792272
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.35,
"aggregate": {
"true_positive": 72,
"false_positive": 197,
"false_negative": 276,
"precision": 0.26765799256505574,
"recall": 0.20689655172413793,
"f1": 0.233387358184765
},
"regions": {
"brussels": {
"true_positive": 20,
"false_positive": 24,
"false_negative": 45,
"precision": 0.45454545454545453,
"recall": 0.3076923076923077,
"f1": 0.3669724770642202
},
"flanders": {
"true_positive": 4,
"false_positive": 66,
"false_negative": 119,
"precision": 0.05714285714285714,
"recall": 0.032520325203252036,
"f1": 0.04145077720207254
},
"wallonia": {
"true_positive": 48,
"false_positive": 107,
"false_negative": 112,
"precision": 0.3096774193548387,
"recall": 0.3,
"f1": 0.3047619047619048
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 6,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 19,
"false_positive": 21,
"false_negative": 43,
"precision": 0.475,
"recall": 0.3064516129032258,
"f1": 0.37254901960784315
},
"v72-havelange-field-cal-bg": {
"true_positive": 38,
"false_positive": 49,
"false_negative": 96,
"precision": 0.4367816091954023,
"recall": 0.2835820895522388,
"f1": 0.34389140271493207
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 3,
"false_negative": 2,
"precision": 0.25,
"recall": 0.3333333333333333,
"f1": 0.28571428571428575
},
"v72-libramont-lowrise-cal": {
"true_positive": 10,
"false_positive": 58,
"false_negative": 16,
"precision": 0.14705882352941177,
"recall": 0.38461538461538464,
"f1": 0.21276595744680854
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 4,
"false_positive": 60,
"false_negative": 115,
"precision": 0.0625,
"recall": 0.03361344537815126,
"f1": 0.04371584699453552
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.4,
"aggregate": {
"true_positive": 62,
"false_positive": 133,
"false_negative": 286,
"precision": 0.31794871794871793,
"recall": 0.1781609195402299,
"f1": 0.2283609576427256
},
"regions": {
"brussels": {
"true_positive": 19,
"false_positive": 14,
"false_negative": 46,
"precision": 0.5757575757575758,
"recall": 0.2923076923076923,
"f1": 0.3877551020408164
},
"flanders": {
"true_positive": 4,
"false_positive": 49,
"false_negative": 119,
"precision": 0.07547169811320754,
"recall": 0.032520325203252036,
"f1": 0.045454545454545456
},
"wallonia": {
"true_positive": 39,
"false_positive": 70,
"false_negative": 121,
"precision": 0.3577981651376147,
"recall": 0.24375,
"f1": 0.2899628252788104
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 5,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 18,
"false_positive": 13,
"false_negative": 44,
"precision": 0.5806451612903226,
"recall": 0.2903225806451613,
"f1": 0.3870967741935484
},
"v72-havelange-field-cal-bg": {
"true_positive": 31,
"false_positive": 34,
"false_negative": 103,
"precision": 0.47692307692307695,
"recall": 0.23134328358208955,
"f1": 0.3115577889447237
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 1,
"false_negative": 2,
"precision": 0.5,
"recall": 0.3333333333333333,
"f1": 0.4
},
"v72-libramont-lowrise-cal": {
"true_positive": 8,
"false_positive": 36,
"false_negative": 18,
"precision": 0.18181818181818182,
"recall": 0.3076923076923077,
"f1": 0.2285714285714286
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 4,
"false_positive": 44,
"false_negative": 115,
"precision": 0.08333333333333333,
"recall": 0.03361344537815126,
"f1": 0.04790419161676646
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.45,
"aggregate": {
"true_positive": 42,
"false_positive": 87,
"false_negative": 306,
"precision": 0.32558139534883723,
"recall": 0.1206896551724138,
"f1": 0.17610062893081763
},
"regions": {
"brussels": {
"true_positive": 14,
"false_positive": 10,
"false_negative": 51,
"precision": 0.5833333333333334,
"recall": 0.2153846153846154,
"f1": 0.31460674157303375
},
"flanders": {
"true_positive": 3,
"false_positive": 32,
"false_negative": 120,
"precision": 0.08571428571428572,
"recall": 0.024390243902439025,
"f1": 0.0379746835443038
},
"wallonia": {
"true_positive": 25,
"false_positive": 45,
"false_negative": 135,
"precision": 0.35714285714285715,
"recall": 0.15625,
"f1": 0.21739130434782608
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 3,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 13,
"false_positive": 10,
"false_negative": 49,
"precision": 0.5652173913043478,
"recall": 0.20967741935483872,
"f1": 0.30588235294117644
},
"v72-havelange-field-cal-bg": {
"true_positive": 21,
"false_positive": 23,
"false_negative": 113,
"precision": 0.4772727272727273,
"recall": 0.15671641791044777,
"f1": 0.2359550561797753
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 0,
"false_negative": 2,
"precision": 1.0,
"recall": 0.3333333333333333,
"f1": 0.5
},
"v72-libramont-lowrise-cal": {
"true_positive": 4,
"false_positive": 22,
"false_negative": 22,
"precision": 0.15384615384615385,
"recall": 0.15384615384615385,
"f1": 0.15384615384615385
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 3,
"false_positive": 29,
"false_negative": 116,
"precision": 0.09375,
"recall": 0.025210084033613446,
"f1": 0.03973509933774835
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.5,
"aggregate": {
"true_positive": 34,
"false_positive": 61,
"false_negative": 314,
"precision": 0.35789473684210527,
"recall": 0.09770114942528736,
"f1": 0.15349887133182846
},
"regions": {
"brussels": {
"true_positive": 10,
"false_positive": 7,
"false_negative": 55,
"precision": 0.5882352941176471,
"recall": 0.15384615384615385,
"f1": 0.24390243902439027
},
"flanders": {
"true_positive": 3,
"false_positive": 22,
"false_negative": 120,
"precision": 0.12,
"recall": 0.024390243902439025,
"f1": 0.04054054054054054
},
"wallonia": {
"true_positive": 21,
"false_positive": 32,
"false_negative": 139,
"precision": 0.39622641509433965,
"recall": 0.13125,
"f1": 0.1971830985915493
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 2,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 9,
"false_positive": 7,
"false_negative": 53,
"precision": 0.5625,
"recall": 0.14516129032258066,
"f1": 0.2307692307692308
},
"v72-havelange-field-cal-bg": {
"true_positive": 18,
"false_positive": 18,
"false_negative": 116,
"precision": 0.5,
"recall": 0.13432835820895522,
"f1": 0.21176470588235297
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 0,
"false_negative": 2,
"precision": 1.0,
"recall": 0.3333333333333333,
"f1": 0.5
},
"v72-libramont-lowrise-cal": {
"true_positive": 3,
"false_positive": 14,
"false_negative": 23,
"precision": 0.17647058823529413,
"recall": 0.11538461538461539,
"f1": 0.13953488372093026
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 3,
"false_positive": 20,
"false_negative": 116,
"precision": 0.13043478260869565,
"recall": 0.025210084033613446,
"f1": 0.04225352112676057
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.6,
"aggregate": {
"true_positive": 24,
"false_positive": 21,
"false_negative": 324,
"precision": 0.5333333333333333,
"recall": 0.06896551724137931,
"f1": 0.12213740458015267
},
"regions": {
"brussels": {
"true_positive": 6,
"false_positive": 1,
"false_negative": 59,
"precision": 0.8571428571428571,
"recall": 0.09230769230769231,
"f1": 0.16666666666666666
},
"flanders": {
"true_positive": 2,
"false_positive": 8,
"false_negative": 121,
"precision": 0.2,
"recall": 0.016260162601626018,
"f1": 0.030075187969924814
},
"wallonia": {
"true_positive": 16,
"false_positive": 12,
"false_negative": 144,
"precision": 0.5714285714285714,
"recall": 0.1,
"f1": 0.1702127659574468
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 1,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 6,
"false_positive": 1,
"false_negative": 56,
"precision": 0.8571428571428571,
"recall": 0.0967741935483871,
"f1": 0.17391304347826084
},
"v72-havelange-field-cal-bg": {
"true_positive": 13,
"false_positive": 8,
"false_negative": 121,
"precision": 0.6190476190476191,
"recall": 0.09701492537313433,
"f1": 0.16774193548387098
},
"v72-laeken-park-cal-bg": {
"true_positive": 0,
"false_positive": 0,
"false_negative": 3,
"precision": 1.0,
"recall": 0.0,
"f1": 0.0
},
"v72-libramont-lowrise-cal": {
"true_positive": 3,
"false_positive": 4,
"false_negative": 23,
"precision": 0.42857142857142855,
"recall": 0.11538461538461539,
"f1": 0.18181818181818182
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 2,
"false_positive": 7,
"false_negative": 117,
"precision": 0.2222222222222222,
"recall": 0.01680672268907563,
"f1": 0.03125
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.7,
"aggregate": {
"true_positive": 7,
"false_positive": 8,
"false_negative": 341,
"precision": 0.4666666666666667,
"recall": 0.020114942528735632,
"f1": 0.03856749311294766
},
"regions": {
"brussels": {
"true_positive": 3,
"false_positive": 0,
"false_negative": 62,
"precision": 1.0,
"recall": 0.046153846153846156,
"f1": 0.08823529411764706
},
"flanders": {
"true_positive": 1,
"false_positive": 3,
"false_negative": 122,
"precision": 0.25,
"recall": 0.008130081300813009,
"f1": 0.015748031496062995
},
"wallonia": {
"true_positive": 3,
"false_positive": 5,
"false_negative": 157,
"precision": 0.375,
"recall": 0.01875,
"f1": 0.03571428571428571
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 1,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 3,
"false_positive": 0,
"false_negative": 59,
"precision": 1.0,
"recall": 0.04838709677419355,
"f1": 0.09230769230769231
},
"v72-havelange-field-cal-bg": {
"true_positive": 3,
"false_positive": 4,
"false_negative": 131,
"precision": 0.42857142857142855,
"recall": 0.022388059701492536,
"f1": 0.0425531914893617
},
"v72-laeken-park-cal-bg": {
"true_positive": 0,
"false_positive": 0,
"false_negative": 3,
"precision": 1.0,
"recall": 0.0,
"f1": 0.0
},
"v72-libramont-lowrise-cal": {
"true_positive": 0,
"false_positive": 1,
"false_negative": 26,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 1,
"false_positive": 2,
"false_negative": 118,
"precision": 0.3333333333333333,
"recall": 0.008403361344537815,
"f1": 0.016393442622950817
}
},
"pure_empty_false_positives": 0
}
]
}
@@ -1,468 +0,0 @@
{
"schema_version": 1,
"model": "/app/models/geointel-building-yolov8s-reviewedexp6-minpx3-img640-ft20.pt",
"summary": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/yolo_tile_dataset_summary.json",
"split": "val",
"match_iou": 0.25,
"test_time_augmentation": false,
"inference_imgsz": 640,
"inference_batch": 8,
"max_detections_per_tile": 1000,
"nms_iou": 0.7,
"containment_nms": 1.0,
"box_scale": 1.0,
"box_offset_x": 0.0,
"box_offset_y": 0.0,
"additional_model": null,
"regional_models": {},
"regional_model_tile_counts": {},
"ensemble_mode": null,
"ensemble_match_iou": null,
"proposal_classifier": null,
"proposal_classifier_threshold": null,
"proposal_crop_scale": null,
"proposal_classifier_batch": null,
"tile_count": 24,
"sweeps": [
{
"threshold": 0.05,
"aggregate": {
"true_positive": 138,
"false_positive": 1385,
"false_negative": 210,
"precision": 0.09061063690085358,
"recall": 0.39655172413793105,
"f1": 0.14751469802244788
},
"regions": {
"brussels": {
"true_positive": 40,
"false_positive": 151,
"false_negative": 25,
"precision": 0.2094240837696335,
"recall": 0.6153846153846154,
"f1": 0.3125
},
"flanders": {
"true_positive": 26,
"false_positive": 342,
"false_negative": 97,
"precision": 0.07065217391304347,
"recall": 0.21138211382113822,
"f1": 0.10590631364562117
},
"wallonia": {
"true_positive": 72,
"false_positive": 892,
"false_negative": 88,
"precision": 0.07468879668049792,
"recall": 0.45,
"f1": 0.1281138790035587
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 41,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 39,
"false_positive": 139,
"false_negative": 23,
"precision": 0.21910112359550563,
"recall": 0.6290322580645161,
"f1": 0.32500000000000007
},
"v72-havelange-field-cal-bg": {
"true_positive": 60,
"false_positive": 351,
"false_negative": 74,
"precision": 0.145985401459854,
"recall": 0.44776119402985076,
"f1": 0.2201834862385321
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 12,
"false_negative": 2,
"precision": 0.07692307692307693,
"recall": 0.3333333333333333,
"f1": 0.125
},
"v72-libramont-lowrise-cal": {
"true_positive": 12,
"false_positive": 541,
"false_negative": 14,
"precision": 0.0216998191681736,
"recall": 0.46153846153846156,
"f1": 0.04145077720207254
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 26,
"false_positive": 301,
"false_negative": 93,
"precision": 0.07951070336391437,
"recall": 0.2184873949579832,
"f1": 0.11659192825112107
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.1,
"aggregate": {
"true_positive": 118,
"false_positive": 906,
"false_negative": 230,
"precision": 0.115234375,
"recall": 0.3390804597701149,
"f1": 0.17201166180758018
},
"regions": {
"brussels": {
"true_positive": 34,
"false_positive": 103,
"false_negative": 31,
"precision": 0.24817518248175183,
"recall": 0.5230769230769231,
"f1": 0.3366336633663366
},
"flanders": {
"true_positive": 20,
"false_positive": 221,
"false_negative": 103,
"precision": 0.08298755186721991,
"recall": 0.16260162601626016,
"f1": 0.10989010989010989
},
"wallonia": {
"true_positive": 64,
"false_positive": 582,
"false_negative": 96,
"precision": 0.09907120743034056,
"recall": 0.4,
"f1": 0.1588089330024814
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 25,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 33,
"false_positive": 98,
"false_negative": 29,
"precision": 0.25190839694656486,
"recall": 0.532258064516129,
"f1": 0.34196891191709844
},
"v72-havelange-field-cal-bg": {
"true_positive": 53,
"false_positive": 232,
"false_negative": 81,
"precision": 0.18596491228070175,
"recall": 0.39552238805970147,
"f1": 0.25298329355608595
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 5,
"false_negative": 2,
"precision": 0.16666666666666666,
"recall": 0.3333333333333333,
"f1": 0.2222222222222222
},
"v72-libramont-lowrise-cal": {
"true_positive": 11,
"false_positive": 350,
"false_negative": 15,
"precision": 0.030470914127423823,
"recall": 0.4230769230769231,
"f1": 0.056847545219638244
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 20,
"false_positive": 196,
"false_negative": 99,
"precision": 0.09259259259259259,
"recall": 0.16806722689075632,
"f1": 0.11940298507462685
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.15,
"aggregate": {
"true_positive": 107,
"false_positive": 654,
"false_negative": 241,
"precision": 0.14060446780551905,
"recall": 0.3074712643678161,
"f1": 0.19296663660955815
},
"regions": {
"brussels": {
"true_positive": 30,
"false_positive": 83,
"false_negative": 35,
"precision": 0.26548672566371684,
"recall": 0.46153846153846156,
"f1": 0.33707865168539325
},
"flanders": {
"true_positive": 17,
"false_positive": 166,
"false_negative": 106,
"precision": 0.09289617486338798,
"recall": 0.13821138211382114,
"f1": 0.1111111111111111
},
"wallonia": {
"true_positive": 60,
"false_positive": 405,
"false_negative": 100,
"precision": 0.12903225806451613,
"recall": 0.375,
"f1": 0.192
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 17,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 29,
"false_positive": 79,
"false_negative": 33,
"precision": 0.26851851851851855,
"recall": 0.46774193548387094,
"f1": 0.3411764705882353
},
"v72-havelange-field-cal-bg": {
"true_positive": 50,
"false_positive": 168,
"false_negative": 84,
"precision": 0.22935779816513763,
"recall": 0.373134328358209,
"f1": 0.28409090909090906
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 4,
"false_negative": 2,
"precision": 0.2,
"recall": 0.3333333333333333,
"f1": 0.25
},
"v72-libramont-lowrise-cal": {
"true_positive": 10,
"false_positive": 237,
"false_negative": 16,
"precision": 0.04048582995951417,
"recall": 0.38461538461538464,
"f1": 0.07326007326007326
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 17,
"false_positive": 149,
"false_negative": 102,
"precision": 0.10240963855421686,
"recall": 0.14285714285714285,
"f1": 0.11929824561403508
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.2,
"aggregate": {
"true_positive": 100,
"false_positive": 487,
"false_negative": 248,
"precision": 0.17035775127768313,
"recall": 0.28735632183908044,
"f1": 0.213903743315508
},
"regions": {
"brussels": {
"true_positive": 29,
"false_positive": 63,
"false_negative": 36,
"precision": 0.31521739130434784,
"recall": 0.4461538461538462,
"f1": 0.3694267515923567
},
"flanders": {
"true_positive": 15,
"false_positive": 128,
"false_negative": 108,
"precision": 0.1048951048951049,
"recall": 0.12195121951219512,
"f1": 0.11278195488721804
},
"wallonia": {
"true_positive": 56,
"false_positive": 296,
"false_negative": 104,
"precision": 0.1590909090909091,
"recall": 0.35,
"f1": 0.21875
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 9,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 28,
"false_positive": 60,
"false_negative": 34,
"precision": 0.3181818181818182,
"recall": 0.45161290322580644,
"f1": 0.3733333333333333
},
"v72-havelange-field-cal-bg": {
"true_positive": 47,
"false_positive": 125,
"false_negative": 87,
"precision": 0.27325581395348836,
"recall": 0.35074626865671643,
"f1": 0.3071895424836601
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 3,
"false_negative": 2,
"precision": 0.25,
"recall": 0.3333333333333333,
"f1": 0.28571428571428575
},
"v72-libramont-lowrise-cal": {
"true_positive": 9,
"false_positive": 171,
"false_negative": 17,
"precision": 0.05,
"recall": 0.34615384615384615,
"f1": 0.08737864077669903
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 15,
"false_positive": 119,
"false_negative": 104,
"precision": 0.11194029850746269,
"recall": 0.12605042016806722,
"f1": 0.11857707509881422
}
},
"pure_empty_false_positives": 0
},
{
"threshold": 0.25,
"aggregate": {
"true_positive": 94,
"false_positive": 355,
"false_negative": 254,
"precision": 0.20935412026726058,
"recall": 0.27011494252873564,
"f1": 0.23588456712672523
},
"regions": {
"brussels": {
"true_positive": 29,
"false_positive": 45,
"false_negative": 36,
"precision": 0.3918918918918919,
"recall": 0.4461538461538462,
"f1": 0.4172661870503597
},
"flanders": {
"true_positive": 13,
"false_positive": 102,
"false_negative": 110,
"precision": 0.11304347826086956,
"recall": 0.10569105691056911,
"f1": 0.1092436974789916
},
"wallonia": {
"true_positive": 52,
"false_positive": 208,
"false_negative": 108,
"precision": 0.2,
"recall": 0.325,
"f1": 0.24761904761904763
}
},
"samples": {
"v72-assenede-field-cal-bg": {
"true_positive": 0,
"false_positive": 5,
"false_negative": 4,
"precision": 0.0,
"recall": 0.0,
"f1": 0.0
},
"v72-ganshoren-lowrise-cal": {
"true_positive": 28,
"false_positive": 42,
"false_negative": 34,
"precision": 0.4,
"recall": 0.45161290322580644,
"f1": 0.4242424242424243
},
"v72-havelange-field-cal-bg": {
"true_positive": 43,
"false_positive": 87,
"false_negative": 91,
"precision": 0.33076923076923076,
"recall": 0.3208955223880597,
"f1": 0.32575757575757575
},
"v72-laeken-park-cal-bg": {
"true_positive": 1,
"false_positive": 3,
"false_negative": 2,
"precision": 0.25,
"recall": 0.3333333333333333,
"f1": 0.28571428571428575
},
"v72-libramont-lowrise-cal": {
"true_positive": 9,
"false_positive": 121,
"false_negative": 17,
"precision": 0.06923076923076923,
"recall": 0.34615384615384615,
"f1": 0.11538461538461539
},
"v72-zandhoven-lowrise-cal": {
"true_positive": 13,
"false_positive": 97,
"false_negative": 106,
"precision": 0.11818181818181818,
"recall": 0.1092436974789916,
"f1": 0.11353711790393013
}
},
"pure_empty_false_positives": 0
}
]
}
@@ -1,109 +0,0 @@
{
"attempts": [
{
"map50": 0.05677865740374553,
"map50_95": 0.02175035531261916,
"model_path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"model_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"precision": 0.1576550586330707,
"recall": 0.11781609195402298,
"size_bytes": 22516074,
"status": "ok"
},
{
"map50": 0.04470477656341424,
"map50_95": 0.01600413321513577,
"model_path": "/app/models/geointel-building-yolov8s-reviewedexp6-minpx3-img640-ft20.pt",
"model_sha256": "038f1f97a6afd534f29e1f392a730a58207b928ca01e31ab8d8fed6106705820",
"precision": 0.13343411909876413,
"recall": 0.1235632183908046,
"size_bytes": 22514794,
"status": "ok"
}
],
"candidate_count": 2,
"claim_boundary": "Non-protected validation ranking only; no test, challenge or promotion claim.",
"dataset_overlap_evidence": {
"interpretation": "Tiles do not overlap, but spatial/statistical independence is not established because adjacent tiles share AOI context and edge objects can remain split.",
"overlap_pixels": 0,
"statistical_independence_established": false,
"status": "non_overlapping",
"stride": 512,
"summary_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/yolo_tile_dataset_summary.json",
"summary_sha256": "78e16f46fa2a313a147404a19f2ce99417d2cb384b5db5f6ba33e934ff99c631",
"tile_size": 512,
"validation_tiles_non_overlapping": true
},
"dataset_yaml": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/dataset.yaml",
"dataset_yaml_sha256": "d1e85ffb6776d92a4534830f2214fa6444f5a9160329aca0a68d0ea0a1a40144",
"device": "cuda:0",
"generated_at": "2026-08-09T20:31:15.072077+00:00",
"model_lineage_independence_evidence": {
"evaluation_samples": [
"v72-assenede-field-cal-bg",
"v72-ganshoren-lowrise-cal",
"v72-havelange-field-cal-bg",
"v72-laeken-park-cal-bg",
"v72-libramont-lowrise-cal",
"v72-zandhoven-lowrise-cal"
],
"evaluation_summary_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/yolo_tile_dataset_summary.json",
"evaluation_summary_sha256": "78e16f46fa2a313a147404a19f2ce99417d2cb384b5db5f6ba33e934ff99c631",
"independent_for_all_supplied_lineage_corpora": true,
"interpretation": "No evaluation AOI occurs in any split of any supplied ancestral corpus.",
"lineage_corpora": [
{
"exposure_roles": {},
"lineage_sample_count": 19,
"lineage_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-expanded-minpx4vis035/yolo_tile_dataset_summary.json",
"lineage_summary_sha256": "1887e2ba5c719d33675a9ed85db99a274fd66d98d5f6ad44558d673620917201",
"overlapping_evaluation_samples": []
},
{
"exposure_roles": {},
"lineage_sample_count": 22,
"lineage_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-smallbld-minpx3vis035/yolo_tile_dataset_summary.json",
"lineage_summary_sha256": "49b2a07d2105d08356431757b83eafc1498eaf1fb76965b1efe05b776824942a",
"overlapping_evaluation_samples": []
},
{
"exposure_roles": {},
"lineage_sample_count": 28,
"lineage_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx3vis035/yolo_tile_dataset_summary.json",
"lineage_summary_sha256": "7c917e31216d1df2174c0f9c736f88a81f3835aa991971f8fb8665e17ddf5c9c",
"overlapping_evaluation_samples": []
}
],
"overlapping_evaluation_samples": [],
"status": "independent"
},
"pure_background_confidence": 0.15,
"pure_background_prefixes": [],
"ranking": [
{
"map50": 0.05677865740374553,
"map50_95": 0.02175035531261916,
"model_path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"model_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"precision": 0.1576550586330707,
"recall": 0.11781609195402298,
"size_bytes": 22516074,
"status": "ok"
},
{
"map50": 0.04470477656341424,
"map50_95": 0.01600413321513577,
"model_path": "/app/models/geointel-building-yolov8s-reviewedexp6-minpx3-img640-ft20.pt",
"model_sha256": "038f1f97a6afd534f29e1f392a730a58207b928ca01e31ab8d8fed6106705820",
"precision": 0.13343411909876413,
"recall": 0.1235632183908046,
"size_bytes": 22514794,
"status": "ok"
}
],
"schema_version": 3,
"status": "ok",
"successful_candidate_count": 2,
"torch_version": "2.11.0+cu128",
"validation_image_count": 24
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 MiB

@@ -1,7 +0,0 @@
{
"manifest_sha256": "66bfaacaee11806ed035d3ac5725f7b3967dfc82e7a12ecf603dc3836bc26ad7",
"reason": "evaluation_only_pending_regional_authority_contracts",
"release_claim_allowed": false,
"schema_version": 1,
"training_allowed": false
}
@@ -1,11 +0,0 @@
{
"schema_version": 2,
"dataset_version": "building-be-v72-fresh-calibration-r1",
"manifest_sha256": "66bfaacaee11806ed035d3ac5725f7b3967dfc82e7a12ecf603dc3836bc26ad7",
"sample_count": 6,
"immutable": true,
"training_eligibility_policy": "geointel-training-source-eligibility/v1",
"fixture_mode": false,
"training_allowed": false,
"release_claim_allowed": false
}
@@ -1,5 +0,0 @@
{
"status": "ok",
"buffer_m": 64.0,
"findings": []
}
@@ -1,755 +0,0 @@
{
"schema_version": 2,
"dataset_version": "building-be-v72-fresh-calibration-r1",
"immutable": true,
"training_eligibility": {
"policy_version": "geointel-training-source-eligibility/v1",
"status": "not_eligible_evaluation_only",
"fixture_mode": false
},
"purpose": "non_protected_diagnostic_evaluation",
"samples": [
{
"sample_slug": "v72-zandhoven-lowrise-cal",
"sample_role": "positive",
"require_empty": false,
"region": "flanders",
"context": "detached-lowrise",
"split": "calibration",
"raster_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-zandhoven-lowrise-cal/image.tif",
"reference_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-zandhoven-lowrise-cal/buildings.normalized.geojson",
"reference_source": "grb",
"reference_layer": "buildings",
"reference_feature_count": 113,
"raster_dataset_id": "0ab0ab1b-bf30-4974-a620-87da027f42a6",
"reference_dataset_id": "3bc34f62-8531-4efd-840d-2d16dcb5529a",
"raster_sha256": "d9cd1cc1ad7b00ef849c3d06874efdcdb85388c5cd1b51eb31c83ae56de8ff92",
"reference_sha256": "a86f2ac64c0687ae9d4535e0d5462104bf00aace142d9095b75bbbf31215f06e",
"label_audit_sha256": "208bb734d47ec3bff579f1089057339e52b058a85a2cdeaaed824eb9015c1448",
"training_eligibility": {
"policy_version": "geointel-training-source-eligibility/v1",
"eligible": true,
"fixture_mode": false,
"raster": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "raster",
"eligible": true,
"fixture_mode": false,
"reasons": [],
"evidence": {
"dataset_id": "0ab0ab1b-bf30-4974-a620-87da027f42a6",
"dataset_type": "raster",
"dataset_role": "source",
"source": "digitaal vlaanderen wms omwrgb25vl",
"source_name": "digitaal_vlaanderen_orthophoto",
"checksum_sha256": "d9cd1cc1ad7b00ef849c3d06874efdcdb85388c5cd1b51eb31c83ae56de8ff92",
"data_contract_key": "geointel.raster.geotiff",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "not_applicable",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"dataset_source_snapshot_id": "36a99c85-4b9f-4c03-be46-19ec8d01ca54",
"source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"source_key": "digitaal_vlaanderen_orthophoto",
"source_classification": "contextual",
"source_freshness_status": "unknown",
"source_ingest_status": "configured",
"source_training_allowed": true,
"source_ground_truth_allowed": false,
"source_allowed_tasks": [
"imagery",
"training_input",
"visual_context"
],
"source_validation_authority": {},
"source_building_validation_authority": null,
"source_snapshot_id": "36a99c85-4b9f-4c03-be46-19ec8d01ca54",
"snapshot_source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"snapshot_key": "digitaal_vlaanderen_orthophoto:2025:d9cd1cc1ad7b00ef849c3d06874efdcdb85388c5cd1b51eb31c83ae56de8ff92",
"snapshot_checksum_sha256": "d9cd1cc1ad7b00ef849c3d06874efdcdb85388c5cd1b51eb31c83ae56de8ff92",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
},
"reference": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "reference",
"eligible": true,
"fixture_mode": false,
"reasons": [],
"evidence": {
"dataset_id": "3bc34f62-8531-4efd-840d-2d16dcb5529a",
"dataset_type": "vector",
"dataset_role": "reference",
"source": "digitaal vlaanderen grb ogc api features",
"source_name": "grb",
"checksum_sha256": "f5ea5b17b7fac5c731fbb044befb63b82ce7faf54de9cccb2cea0c063c66fbbb",
"data_contract_key": "geointel.vector.geojson",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "complete",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "3cc9ab48-ac58-5271-8ea7-55d250925ec6",
"dataset_source_snapshot_id": "f88d125e-b901-4e22-b20c-913a7431df4d",
"source_registry_id": "3cc9ab48-ac58-5271-8ea7-55d250925ec6",
"source_key": "grb",
"source_classification": "authoritative",
"source_freshness_status": "unknown",
"source_ingest_status": "configured",
"source_training_allowed": true,
"source_ground_truth_allowed": true,
"source_allowed_tasks": [
"building_validation",
"building_labels",
"reference_context"
],
"source_validation_authority": {
"building_validation": "primary"
},
"source_building_validation_authority": "primary",
"source_snapshot_id": "f88d125e-b901-4e22-b20c-913a7431df4d",
"snapshot_source_registry_id": "3cc9ab48-ac58-5271-8ea7-55d250925ec6",
"snapshot_key": "grb:2026-08-09:f5ea5b17b7fac5c731fbb044befb63b82ce7faf54de9cccb2cea0c063c66fbbb",
"snapshot_checksum_sha256": "f5ea5b17b7fac5c731fbb044befb63b82ce7faf54de9cccb2cea0c063c66fbbb",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
}
},
"bbox_epsg4326": [
4.66116095047693,
51.21284491062596,
4.664839131648428,
51.21515506560048
]
},
{
"sample_slug": "v72-assenede-field-cal-bg",
"sample_role": "background_candidate",
"require_empty": false,
"region": "flanders",
"context": "farmland-hard-negative",
"split": "calibration",
"raster_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-assenede-field-cal-bg/image.tif",
"reference_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-assenede-field-cal-bg/buildings.normalized.geojson",
"reference_source": "grb",
"reference_layer": "buildings",
"reference_feature_count": 4,
"raster_dataset_id": "eeeb112f-93cf-47e7-8f2a-c3766cfb21b4",
"reference_dataset_id": "e48999d9-9dc7-413a-ab31-2cb6c28b2bee",
"raster_sha256": "1f4667fb9500ad1659b2d6cf9f82683d6ae2b17fcb4bfb156aada2b66f7cf3f9",
"reference_sha256": "e64fae95b0be38a5dee1424f931a97ffe7e8017a6fa8bdadfe70cc2b7c4b6a8e",
"label_audit_sha256": "ab8aa15039bf14144285c23273386bc18fa5c78746a7e4b5faf97292f8a4d2fe",
"training_eligibility": {
"policy_version": "geointel-training-source-eligibility/v1",
"eligible": true,
"fixture_mode": false,
"raster": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "raster",
"eligible": true,
"fixture_mode": false,
"reasons": [],
"evidence": {
"dataset_id": "eeeb112f-93cf-47e7-8f2a-c3766cfb21b4",
"dataset_type": "raster",
"dataset_role": "source",
"source": "digitaal vlaanderen wms omwrgb25vl",
"source_name": "digitaal_vlaanderen_orthophoto",
"checksum_sha256": "1f4667fb9500ad1659b2d6cf9f82683d6ae2b17fcb4bfb156aada2b66f7cf3f9",
"data_contract_key": "geointel.raster.geotiff",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "not_applicable",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"dataset_source_snapshot_id": "2d14b495-ddeb-4c44-bf3f-aed759787f30",
"source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"source_key": "digitaal_vlaanderen_orthophoto",
"source_classification": "contextual",
"source_freshness_status": "unknown",
"source_ingest_status": "configured",
"source_training_allowed": true,
"source_ground_truth_allowed": false,
"source_allowed_tasks": [
"imagery",
"training_input",
"visual_context"
],
"source_validation_authority": {},
"source_building_validation_authority": null,
"source_snapshot_id": "2d14b495-ddeb-4c44-bf3f-aed759787f30",
"snapshot_source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"snapshot_key": "digitaal_vlaanderen_orthophoto:2025:1f4667fb9500ad1659b2d6cf9f82683d6ae2b17fcb4bfb156aada2b66f7cf3f9",
"snapshot_checksum_sha256": "1f4667fb9500ad1659b2d6cf9f82683d6ae2b17fcb4bfb156aada2b66f7cf3f9",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
},
"reference": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "reference",
"eligible": true,
"fixture_mode": false,
"reasons": [],
"evidence": {
"dataset_id": "e48999d9-9dc7-413a-ab31-2cb6c28b2bee",
"dataset_type": "vector",
"dataset_role": "reference",
"source": "digitaal vlaanderen grb ogc api features",
"source_name": "grb",
"checksum_sha256": "e1f883a0b41b24c4dd07e8b4c939479b19ab14bff6f28645a842cc8ba5335e72",
"data_contract_key": "geointel.vector.geojson",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "complete",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "3cc9ab48-ac58-5271-8ea7-55d250925ec6",
"dataset_source_snapshot_id": "5e0f1e4e-46c1-4f7f-87f9-4aa76474b328",
"source_registry_id": "3cc9ab48-ac58-5271-8ea7-55d250925ec6",
"source_key": "grb",
"source_classification": "authoritative",
"source_freshness_status": "unknown",
"source_ingest_status": "configured",
"source_training_allowed": true,
"source_ground_truth_allowed": true,
"source_allowed_tasks": [
"building_validation",
"building_labels",
"reference_context"
],
"source_validation_authority": {
"building_validation": "primary"
},
"source_building_validation_authority": "primary",
"source_snapshot_id": "5e0f1e4e-46c1-4f7f-87f9-4aa76474b328",
"snapshot_source_registry_id": "3cc9ab48-ac58-5271-8ea7-55d250925ec6",
"snapshot_key": "grb:2026-08-09:e1f883a0b41b24c4dd07e8b4c939479b19ab14bff6f28645a842cc8ba5335e72",
"snapshot_checksum_sha256": "e1f883a0b41b24c4dd07e8b4c939479b19ab14bff6f28645a842cc8ba5335e72",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
}
},
"bbox_epsg4326": [
3.7481516695287884,
51.24483994940647,
3.7518482321727147,
51.24716002681137
]
},
{
"sample_slug": "v72-libramont-lowrise-cal",
"sample_role": "positive",
"require_empty": false,
"region": "wallonia",
"context": "rural-lowrise",
"split": "calibration",
"raster_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-libramont-lowrise-cal/image.tif",
"reference_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-libramont-lowrise-cal/buildings.normalized.geojson",
"reference_source": "spw_picc",
"reference_layer": "buildings",
"reference_feature_count": 26,
"raster_dataset_id": "2764ddaa-5fad-4327-bd74-c402871c8c76",
"reference_dataset_id": "78944e97-0663-4c0a-9b8f-e8c1db5edb99",
"raster_sha256": "d79151e1e5ae83fd143cd49e096af8fe8fa93c8eb0fef9733ba8ab3d41b4d243",
"reference_sha256": "8e5a0fb37bbaca3fc1697a155e7259acff1622e759080a8e36aed69cb1422d67",
"label_audit_sha256": "dea480fbbac32547dfad4e1f7ca549f9206c9fcbb83b83497c6a2a59f8e58503",
"training_eligibility": {
"policy_version": "geointel-training-source-eligibility/v1",
"eligible": false,
"fixture_mode": false,
"raster": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "raster",
"eligible": true,
"fixture_mode": false,
"reasons": [],
"evidence": {
"dataset_id": "2764ddaa-5fad-4327-bd74-c402871c8c76",
"dataset_type": "raster",
"dataset_role": "source",
"source": "spw ortho_2023_ete wms 0",
"source_name": "spw_orthophoto",
"checksum_sha256": "d79151e1e5ae83fd143cd49e096af8fe8fa93c8eb0fef9733ba8ab3d41b4d243",
"data_contract_key": "geointel.raster.geotiff",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "not_applicable",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "1304d42d-d006-5e49-8660-f0fa33e0fc31",
"dataset_source_snapshot_id": "579334bb-ec27-4d0c-ba3a-2382440e7829",
"source_registry_id": "1304d42d-d006-5e49-8660-f0fa33e0fc31",
"source_key": "spw_orthophoto",
"source_classification": "contextual",
"source_freshness_status": "unknown",
"source_ingest_status": "configured",
"source_training_allowed": true,
"source_ground_truth_allowed": false,
"source_allowed_tasks": [
"imagery",
"training_input",
"visual_context"
],
"source_validation_authority": {},
"source_building_validation_authority": null,
"source_snapshot_id": "579334bb-ec27-4d0c-ba3a-2382440e7829",
"snapshot_source_registry_id": "1304d42d-d006-5e49-8660-f0fa33e0fc31",
"snapshot_key": "spw_orthophoto:wallonia_2023:d79151e1e5ae83fd143cd49e096af8fe8fa93c8eb0fef9733ba8ab3d41b4d243",
"snapshot_checksum_sha256": "d79151e1e5ae83fd143cd49e096af8fe8fa93c8eb0fef9733ba8ab3d41b4d243",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
},
"reference": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "reference",
"eligible": false,
"fixture_mode": false,
"reasons": [
"reference_building_validation_not_primary"
],
"evidence": {
"dataset_id": "78944e97-0663-4c0a-9b8f-e8c1db5edb99",
"dataset_type": "vector",
"dataset_role": "reference",
"source": "spw picc arcgis rest",
"source_name": "spw_picc",
"checksum_sha256": "65264d0e9bac2ebf2330fb7f47379529d271cb6ad0a5c6e23504efd60e893b64",
"data_contract_key": "geointel.vector.geojson",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "complete",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "584cd1cb-7a95-5404-b9fc-e9d252e62b1b",
"dataset_source_snapshot_id": "0191d275-4c19-4e27-af1e-abf7e065022e",
"source_registry_id": "584cd1cb-7a95-5404-b9fc-e9d252e62b1b",
"source_key": "spw_picc",
"source_classification": "authoritative",
"source_freshness_status": "unknown",
"source_ingest_status": "registered",
"source_training_allowed": true,
"source_ground_truth_allowed": true,
"source_allowed_tasks": [
"building_validation",
"building_labels"
],
"source_validation_authority": {
"building_validation": "regional_primary_pending_contract"
},
"source_building_validation_authority": "regional_primary_pending_contract",
"source_snapshot_id": "0191d275-4c19-4e27-af1e-abf7e065022e",
"snapshot_source_registry_id": "584cd1cb-7a95-5404-b9fc-e9d252e62b1b",
"snapshot_key": "spw_picc:2026-07-11:65264d0e9bac2ebf2330fb7f47379529d271cb6ad0a5c6e23504efd60e893b64",
"snapshot_checksum_sha256": "65264d0e9bac2ebf2330fb7f47379529d271cb6ad0a5c6e23504efd60e893b64",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
},
"evaluation_only_exception": {
"allowed": true,
"reason": "regional_building_authority_contract_pending",
"training_allowed": false,
"release_claim_allowed": false
}
},
"bbox_epsg4326": [
5.378193608487878,
49.91683360963306,
5.381806468144563,
49.91916636935071
]
},
{
"sample_slug": "v72-havelange-field-cal-bg",
"sample_role": "background_candidate",
"require_empty": false,
"region": "wallonia",
"context": "farmland-hard-negative",
"split": "calibration",
"raster_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-havelange-field-cal-bg/image.tif",
"reference_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-havelange-field-cal-bg/buildings.normalized.geojson",
"reference_source": "spw_picc",
"reference_layer": "buildings",
"reference_feature_count": 136,
"raster_dataset_id": "d76519e0-f952-4446-b640-93eb758bac49",
"reference_dataset_id": "817e9265-b38f-41e4-8ca8-a2e85d536eda",
"raster_sha256": "5f9a5aa51b6eb4c00da638a11f225f2b1f786e8a9d34a3c66f97313c1fe02c1c",
"reference_sha256": "9e79333a8f09b3edc0b02bb5a56d908f8f46c05315ef44669715b1803de5b13d",
"label_audit_sha256": "6a43366fc4906b32e2a4976a1aeafb37bb68357955f55073c7e05993cb3206b4",
"training_eligibility": {
"policy_version": "geointel-training-source-eligibility/v1",
"eligible": false,
"fixture_mode": false,
"raster": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "raster",
"eligible": true,
"fixture_mode": false,
"reasons": [],
"evidence": {
"dataset_id": "d76519e0-f952-4446-b640-93eb758bac49",
"dataset_type": "raster",
"dataset_role": "source",
"source": "spw ortho_2023_ete wms 0",
"source_name": "spw_orthophoto",
"checksum_sha256": "5f9a5aa51b6eb4c00da638a11f225f2b1f786e8a9d34a3c66f97313c1fe02c1c",
"data_contract_key": "geointel.raster.geotiff",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "not_applicable",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "1304d42d-d006-5e49-8660-f0fa33e0fc31",
"dataset_source_snapshot_id": "d3d34fa1-4e40-4fe9-974b-63b303c552f8",
"source_registry_id": "1304d42d-d006-5e49-8660-f0fa33e0fc31",
"source_key": "spw_orthophoto",
"source_classification": "contextual",
"source_freshness_status": "unknown",
"source_ingest_status": "configured",
"source_training_allowed": true,
"source_ground_truth_allowed": false,
"source_allowed_tasks": [
"imagery",
"training_input",
"visual_context"
],
"source_validation_authority": {},
"source_building_validation_authority": null,
"source_snapshot_id": "d3d34fa1-4e40-4fe9-974b-63b303c552f8",
"snapshot_source_registry_id": "1304d42d-d006-5e49-8660-f0fa33e0fc31",
"snapshot_key": "spw_orthophoto:wallonia_2023:5f9a5aa51b6eb4c00da638a11f225f2b1f786e8a9d34a3c66f97313c1fe02c1c",
"snapshot_checksum_sha256": "5f9a5aa51b6eb4c00da638a11f225f2b1f786e8a9d34a3c66f97313c1fe02c1c",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
},
"reference": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "reference",
"eligible": false,
"fixture_mode": false,
"reasons": [
"reference_building_validation_not_primary"
],
"evidence": {
"dataset_id": "817e9265-b38f-41e4-8ca8-a2e85d536eda",
"dataset_type": "vector",
"dataset_role": "reference",
"source": "spw picc arcgis rest",
"source_name": "spw_picc",
"checksum_sha256": "c93ff374beb3acdd8501878de99767de57475fb5441af437f36bed23e8212d25",
"data_contract_key": "geointel.vector.geojson",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "complete",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "584cd1cb-7a95-5404-b9fc-e9d252e62b1b",
"dataset_source_snapshot_id": "bb1da21a-2599-4749-a55f-1606d0f4bc9d",
"source_registry_id": "584cd1cb-7a95-5404-b9fc-e9d252e62b1b",
"source_key": "spw_picc",
"source_classification": "authoritative",
"source_freshness_status": "unknown",
"source_ingest_status": "registered",
"source_training_allowed": true,
"source_ground_truth_allowed": true,
"source_allowed_tasks": [
"building_validation",
"building_labels"
],
"source_validation_authority": {
"building_validation": "regional_primary_pending_contract"
},
"source_building_validation_authority": "regional_primary_pending_contract",
"source_snapshot_id": "bb1da21a-2599-4749-a55f-1606d0f4bc9d",
"snapshot_source_registry_id": "584cd1cb-7a95-5404-b9fc-e9d252e62b1b",
"snapshot_key": "spw_picc:2026-07-11:c93ff374beb3acdd8501878de99767de57475fb5441af437f36bed23e8212d25",
"snapshot_checksum_sha256": "c93ff374beb3acdd8501878de99767de57475fb5441af437f36bed23e8212d25",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
},
"evaluation_only_exception": {
"allowed": true,
"reason": "regional_building_authority_contract_pending",
"training_allowed": false,
"release_claim_allowed": false
}
},
"bbox_epsg4326": [
5.237179060792866,
50.38783580367982,
5.2408210177303065,
50.39016417441682
]
},
{
"sample_slug": "v72-ganshoren-lowrise-cal",
"sample_role": "positive",
"require_empty": false,
"region": "brussels",
"context": "urban-lowrise",
"split": "calibration",
"raster_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-ganshoren-lowrise-cal/image.tif",
"reference_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-ganshoren-lowrise-cal/buildings.normalized.geojson",
"reference_source": "urbis",
"reference_layer": "buildings",
"reference_feature_count": 60,
"raster_dataset_id": "463d89c5-b9fa-4a23-96fc-91f374717c31",
"reference_dataset_id": "71678e7f-3592-41b6-ae07-5205fa3903f9",
"raster_sha256": "e02fe4d11300395c421791d0d48118dc05ea7d9f017cd7cd1251f8fa75378a89",
"reference_sha256": "41e3005909984a2a76811387789c744ec5720ab7cc8df7f9af78608ab2887372",
"label_audit_sha256": "e9da810985fa8f139e675a8e859682a64c65b69a66b63474021363af66def7c7",
"training_eligibility": {
"policy_version": "geointel-training-source-eligibility/v1",
"eligible": false,
"fixture_mode": false,
"raster": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "raster",
"eligible": true,
"fixture_mode": false,
"reasons": [],
"evidence": {
"dataset_id": "463d89c5-b9fa-4a23-96fc-91f374717c31",
"dataset_type": "raster",
"dataset_role": "source",
"source": "digitaal vlaanderen omwrgb25vl wms omwrgb25vl",
"source_name": "digitaal_vlaanderen_orthophoto",
"checksum_sha256": "e02fe4d11300395c421791d0d48118dc05ea7d9f017cd7cd1251f8fa75378a89",
"data_contract_key": "geointel.raster.geotiff",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "not_applicable",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"dataset_source_snapshot_id": "6395096a-9c46-4ed6-ae10-edc8d9e76354",
"source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"source_key": "digitaal_vlaanderen_orthophoto",
"source_classification": "contextual",
"source_freshness_status": "unknown",
"source_ingest_status": "configured",
"source_training_allowed": true,
"source_ground_truth_allowed": false,
"source_allowed_tasks": [
"imagery",
"training_input",
"visual_context"
],
"source_validation_authority": {},
"source_building_validation_authority": null,
"source_snapshot_id": "6395096a-9c46-4ed6-ae10-edc8d9e76354",
"snapshot_source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"snapshot_key": "digitaal_vlaanderen_orthophoto:brussels_2025:e02fe4d11300395c421791d0d48118dc05ea7d9f017cd7cd1251f8fa75378a89",
"snapshot_checksum_sha256": "e02fe4d11300395c421791d0d48118dc05ea7d9f017cd7cd1251f8fa75378a89",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
},
"reference": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "reference",
"eligible": false,
"fixture_mode": false,
"reasons": [
"reference_building_validation_not_primary"
],
"evidence": {
"dataset_id": "71678e7f-3592-41b6-ae07-5205fa3903f9",
"dataset_type": "vector",
"dataset_role": "reference",
"source": "urbis wfs",
"source_name": "urbis",
"checksum_sha256": "652020de27e18eec4f844959d707fadcb47801a4c9339307b0efd87259442c58",
"data_contract_key": "geointel.vector.geojson",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "complete",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "8fe7116e-65e5-582e-a316-4ba7de5d132b",
"dataset_source_snapshot_id": "ca69e4c6-05f4-4f17-8db1-1b2b4705a735",
"source_registry_id": "8fe7116e-65e5-582e-a316-4ba7de5d132b",
"source_key": "urbis",
"source_classification": "authoritative",
"source_freshness_status": "unknown",
"source_ingest_status": "registered",
"source_training_allowed": true,
"source_ground_truth_allowed": true,
"source_allowed_tasks": [
"building_validation",
"building_labels"
],
"source_validation_authority": {
"building_validation": "regional_primary_pending_contract"
},
"source_building_validation_authority": "regional_primary_pending_contract",
"source_snapshot_id": "ca69e4c6-05f4-4f17-8db1-1b2b4705a735",
"snapshot_source_registry_id": "8fe7116e-65e5-582e-a316-4ba7de5d132b",
"snapshot_key": "urbis:2026-06-06:652020de27e18eec4f844959d707fadcb47801a4c9339307b0efd87259442c58",
"snapshot_checksum_sha256": "652020de27e18eec4f844959d707fadcb47801a4c9339307b0efd87259442c58",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
},
"evaluation_only_exception": {
"allowed": true,
"reason": "regional_building_authority_contract_pending",
"training_allowed": false,
"release_claim_allowed": false
}
},
"bbox_epsg4326": [
4.305179924172925,
50.871848393352586,
4.308819978598048,
50.87415158315595
]
},
{
"sample_slug": "v72-laeken-park-cal-bg",
"sample_role": "background_candidate",
"require_empty": false,
"region": "brussels",
"context": "park-hard-negative",
"split": "calibration",
"raster_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-laeken-park-cal-bg/image.tif",
"reference_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/pairs/v72-laeken-park-cal-bg/buildings.normalized.geojson",
"reference_source": "urbis",
"reference_layer": "buildings",
"reference_feature_count": 3,
"raster_dataset_id": "76e24a3a-bf72-42cf-aec0-eb8c155f4f90",
"reference_dataset_id": "14f34ae2-da4a-4483-bb2b-74df40aa47ad",
"raster_sha256": "dab741904787f194c94562ca6e289c9016b4efd0fcca790d1c6bd3fca4196d0c",
"reference_sha256": "f3e29fc9d528c5086e69be9d574dbed007f7cb9132cdc69a1f5ee4fdb238dbbe",
"label_audit_sha256": "4320d7bd6b25029a819acd8d520bee106e7c4f783a813ec8e211f4fc5848014e",
"training_eligibility": {
"policy_version": "geointel-training-source-eligibility/v1",
"eligible": false,
"fixture_mode": false,
"raster": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "raster",
"eligible": true,
"fixture_mode": false,
"reasons": [],
"evidence": {
"dataset_id": "76e24a3a-bf72-42cf-aec0-eb8c155f4f90",
"dataset_type": "raster",
"dataset_role": "source",
"source": "digitaal vlaanderen omwrgb25vl wms omwrgb25vl",
"source_name": "digitaal_vlaanderen_orthophoto",
"checksum_sha256": "dab741904787f194c94562ca6e289c9016b4efd0fcca790d1c6bd3fca4196d0c",
"data_contract_key": "geointel.raster.geotiff",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "not_applicable",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"dataset_source_snapshot_id": "1f8b68c8-b66d-4b3a-bc47-40708441194f",
"source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"source_key": "digitaal_vlaanderen_orthophoto",
"source_classification": "contextual",
"source_freshness_status": "unknown",
"source_ingest_status": "configured",
"source_training_allowed": true,
"source_ground_truth_allowed": false,
"source_allowed_tasks": [
"imagery",
"training_input",
"visual_context"
],
"source_validation_authority": {},
"source_building_validation_authority": null,
"source_snapshot_id": "1f8b68c8-b66d-4b3a-bc47-40708441194f",
"snapshot_source_registry_id": "766e0d47-96d9-5e78-a584-47e924a4d6b7",
"snapshot_key": "digitaal_vlaanderen_orthophoto:brussels_2025:dab741904787f194c94562ca6e289c9016b4efd0fcca790d1c6bd3fca4196d0c",
"snapshot_checksum_sha256": "dab741904787f194c94562ca6e289c9016b4efd0fcca790d1c6bd3fca4196d0c",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
},
"reference": {
"policy_version": "geointel-training-source-eligibility/v1",
"role": "reference",
"eligible": false,
"fixture_mode": false,
"reasons": [
"reference_building_validation_not_primary"
],
"evidence": {
"dataset_id": "14f34ae2-da4a-4483-bb2b-74df40aa47ad",
"dataset_type": "vector",
"dataset_role": "reference",
"source": "urbis wfs",
"source_name": "urbis",
"checksum_sha256": "37f2f5d52c7785e8e692128f480d5b580ea88ebd8ac1e1502ecb02badc93bfde",
"data_contract_key": "geointel.vector.geojson",
"data_contract_version": "1.0.0",
"validation_status": "passed",
"provenance_status": "complete",
"lineage_status": "complete",
"quarantine_status": "not_quarantined",
"dataset_status": "ready",
"dataset_source_registry_id": "8fe7116e-65e5-582e-a316-4ba7de5d132b",
"dataset_source_snapshot_id": "4823232c-4e56-4b8c-8b2d-59e6c59f12fd",
"source_registry_id": "8fe7116e-65e5-582e-a316-4ba7de5d132b",
"source_key": "urbis",
"source_classification": "authoritative",
"source_freshness_status": "unknown",
"source_ingest_status": "registered",
"source_training_allowed": true,
"source_ground_truth_allowed": true,
"source_allowed_tasks": [
"building_validation",
"building_labels"
],
"source_validation_authority": {
"building_validation": "regional_primary_pending_contract"
},
"source_building_validation_authority": "regional_primary_pending_contract",
"source_snapshot_id": "4823232c-4e56-4b8c-8b2d-59e6c59f12fd",
"snapshot_source_registry_id": "8fe7116e-65e5-582e-a316-4ba7de5d132b",
"snapshot_key": "urbis:2026-06-06:37f2f5d52c7785e8e692128f480d5b580ea88ebd8ac1e1502ecb02badc93bfde",
"snapshot_checksum_sha256": "37f2f5d52c7785e8e692128f480d5b580ea88ebd8ac1e1502ecb02badc93bfde",
"snapshot_freshness_status": "current",
"snapshot_ingest_status": "ingested"
}
},
"evaluation_only_exception": {
"allowed": true,
"reason": "regional_building_authority_contract_pending",
"training_allowed": false,
"release_claim_allowed": false
}
},
"bbox_epsg4326": [
4.349180265292469,
50.89084908113465,
4.3528196373886185,
50.893150895320936
]
}
]
}
@@ -1,110 +0,0 @@
{
"schema_version": 1,
"side_m": 256.0,
"resolution_m": 0.25,
"status": "complete",
"samples": [
{
"sample_slug": "v72-zandhoven-lowrise-cal",
"region": "flanders",
"context": "detached-lowrise",
"split": "calibration",
"sample_role": "positive",
"require_empty": false,
"bbox_epsg4326": [
4.66116095047693,
51.21284491062596,
4.664839131648428,
51.21515506560048
],
"raster_dataset_id": "0ab0ab1b-bf30-4974-a620-87da027f42a6",
"reference_dataset_id": "3bc34f62-8531-4efd-840d-2d16dcb5529a",
"provider_reference_feature_count": 118
},
{
"sample_slug": "v72-assenede-field-cal-bg",
"region": "flanders",
"context": "farmland-hard-negative",
"split": "calibration",
"sample_role": "background_candidate",
"require_empty": false,
"bbox_epsg4326": [
3.7481516695287884,
51.24483994940647,
3.7518482321727147,
51.24716002681137
],
"raster_dataset_id": "eeeb112f-93cf-47e7-8f2a-c3766cfb21b4",
"reference_dataset_id": "e48999d9-9dc7-413a-ab31-2cb6c28b2bee",
"provider_reference_feature_count": 4
},
{
"sample_slug": "v72-libramont-lowrise-cal",
"region": "wallonia",
"context": "rural-lowrise",
"split": "calibration",
"sample_role": "positive",
"require_empty": false,
"bbox_epsg4326": [
5.378193608487878,
49.91683360963306,
5.381806468144563,
49.91916636935071
],
"raster_dataset_id": "2764ddaa-5fad-4327-bd74-c402871c8c76",
"reference_dataset_id": "78944e97-0663-4c0a-9b8f-e8c1db5edb99",
"provider_reference_feature_count": 27
},
{
"sample_slug": "v72-havelange-field-cal-bg",
"region": "wallonia",
"context": "farmland-hard-negative",
"split": "calibration",
"sample_role": "background_candidate",
"require_empty": false,
"bbox_epsg4326": [
5.237179060792866,
50.38783580367982,
5.2408210177303065,
50.39016417441682
],
"raster_dataset_id": "d76519e0-f952-4446-b640-93eb758bac49",
"reference_dataset_id": "817e9265-b38f-41e4-8ca8-a2e85d536eda",
"provider_reference_feature_count": 137
},
{
"sample_slug": "v72-ganshoren-lowrise-cal",
"region": "brussels",
"context": "urban-lowrise",
"split": "calibration",
"sample_role": "positive",
"require_empty": false,
"bbox_epsg4326": [
4.305179924172925,
50.871848393352586,
4.308819978598048,
50.87415158315595
],
"raster_dataset_id": "463d89c5-b9fa-4a23-96fc-91f374717c31",
"reference_dataset_id": "71678e7f-3592-41b6-ae07-5205fa3903f9",
"provider_reference_feature_count": 60
},
{
"sample_slug": "v72-laeken-park-cal-bg",
"region": "brussels",
"context": "park-hard-negative",
"split": "calibration",
"sample_role": "background_candidate",
"require_empty": false,
"bbox_epsg4326": [
4.349180265292469,
50.89084908113465,
4.3528196373886185,
50.893150895320936
],
"raster_dataset_id": "76e24a3a-bf72-42cf-aec0-eb8c155f4f90",
"reference_dataset_id": "14f34ae2-da4a-4483-bb2b-74df40aa47ad",
"provider_reference_feature_count": 3
}
]
}
@@ -1,179 +0,0 @@
{
"evaluation_manifest_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/operator_samples_manifest.json",
"evaluation_manifest_sha256": "66bfaacaee11806ed035d3ac5725f7b3967dfc82e7a12ecf603dc3836bc26ad7",
"evaluation_samples": [
{
"bbox_epsg4326": [
4.66116095047693,
51.21284491062596,
4.664839131648428,
51.21515506560048
],
"minimum_lineage_distance_m": 4869.625822725313,
"nearest_lineage_raster_path": "/app/storage/operator-data/operator-samples-1024/grobbendonk_center_orthophoto_wms_1024.tif",
"nearest_lineage_sample_slug": "grobbendonk_center",
"passes_minimum_distance": true,
"sample_slug": "v72-zandhoven-lowrise-cal"
},
{
"bbox_epsg4326": [
3.7481516695287884,
51.24483994940647,
3.7518482321727147,
51.24716002681137
],
"minimum_lineage_distance_m": 64295.09109543035,
"nearest_lineage_raster_path": "/app/storage/operator-data/operator-samples-1024/nijlen_center_orthophoto_wms_1024.tif",
"nearest_lineage_sample_slug": "nijlen_center",
"passes_minimum_distance": true,
"sample_slug": "v72-assenede-field-cal-bg"
},
{
"bbox_epsg4326": [
5.378193608487878,
49.91683360963306,
5.381806468144563,
49.91916636935071
],
"minimum_lineage_distance_m": 131973.3804837556,
"nearest_lineage_raster_path": "/app/storage/operator-data/operator-samples-1024/laakdal_center_orthophoto_wms_1024.tif",
"nearest_lineage_sample_slug": "laakdal_center",
"passes_minimum_distance": true,
"sample_slug": "v72-libramont-lowrise-cal"
},
{
"bbox_epsg4326": [
5.237179060792866,
50.38783580367982,
5.2408210177303065,
50.39016417441682
],
"minimum_lineage_distance_m": 78675.28903338463,
"nearest_lineage_raster_path": "/app/storage/operator-data/operator-samples-1024/laakdal_center_orthophoto_wms_1024.tif",
"nearest_lineage_sample_slug": "laakdal_center",
"passes_minimum_distance": true,
"sample_slug": "v72-havelange-field-cal-bg"
},
{
"bbox_epsg4326": [
4.305179924172925,
50.871848393352586,
4.308819978598048,
50.87415158315595
],
"minimum_lineage_distance_m": 39755.9878726915,
"nearest_lineage_raster_path": "/app/storage/operator-data/operator-samples-1024/hulshout_center_orthophoto_wms_1024.tif",
"nearest_lineage_sample_slug": "hulshout_center",
"passes_minimum_distance": true,
"sample_slug": "v72-ganshoren-lowrise-cal"
},
{
"bbox_epsg4326": [
4.349180265292469,
50.89084908113465,
4.3528196373886185,
50.893150895320936
],
"minimum_lineage_distance_m": 36007.49331185159,
"nearest_lineage_raster_path": "/app/storage/operator-data/operator-samples-1024/hulshout_center_orthophoto_wms_1024.tif",
"nearest_lineage_sample_slug": "hulshout_center",
"passes_minimum_distance": true,
"sample_slug": "v72-laeken-park-cal-bg"
}
],
"lineage_sample_count": 31,
"lineage_summaries": [
{
"path": "/app/storage/operator-data/yolo-building-aoi1024-expanded-minpx4vis035/yolo_tile_dataset_summary.json",
"sample_slugs": [
"balen",
"dessel_heide",
"geel",
"geel_bel",
"herentals",
"herenthout_bos",
"kasterlee_bos",
"kasterlee_center",
"lille_center",
"lommel_heide",
"meerhout_bos",
"mol",
"olen_center",
"oud_turnhout_center",
"postel_bos",
"ravels_bos",
"retie",
"turnhout",
"westerlo"
],
"sha256": "1887e2ba5c719d33675a9ed85db99a274fd66d98d5f6ad44558d673620917201"
},
{
"path": "/app/storage/operator-data/yolo-building-aoi1024-smallbld-minpx3vis035/yolo_tile_dataset_summary.json",
"sample_slugs": [
"balen",
"beerse_center",
"dessel_heide",
"geel",
"geel_bel",
"grobbendonk_center",
"herentals",
"herenthout_bos",
"hoogstraten_center",
"kasterlee_bos",
"kasterlee_center",
"lille_center",
"lommel_heide",
"meerhout_bos",
"mol",
"olen_center",
"oud_turnhout_center",
"postel_bos",
"ravels_bos",
"rijkevorsel_center",
"vorselaar_center",
"vosselaar_center"
],
"sha256": "49b2a07d2105d08356431757b83eafc1498eaf1fb76965b1efe05b776824942a"
},
{
"path": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx3vis035/yolo_tile_dataset_summary.json",
"sample_slugs": [
"arendonk_center",
"balen",
"beerse_center",
"dessel_center",
"dessel_heide",
"geel",
"geel_bel",
"grobbendonk_center",
"herentals",
"herenthout_bos",
"hoogstraten_center",
"hulshout_center",
"kasterlee_bos",
"kasterlee_center",
"laakdal_center",
"lille_center",
"lommel_heide",
"meerhout_bos",
"meerhout_center",
"mol",
"nijlen_center",
"olen_center",
"oud_turnhout_center",
"postel_bos",
"ravels_bos",
"rijkevorsel_center",
"vorselaar_center",
"vosselaar_center"
],
"sha256": "7c917e31216d1df2174c0f9c736f88a81f3835aa991971f8fb8665e17ddf5c9c"
}
],
"minimum_distance_m": 2000.0,
"missing_lineage_sample_slugs": [],
"resolved_lineage_sample_count": 31,
"schema_version": 1,
"status": "independent"
}
@@ -1,426 +0,0 @@
{
"blank_range_threshold": 3,
"class_names": [],
"columns": 4,
"contact_sheets": [
{
"columns": 4,
"path": "contact_sheet_001.png",
"thumb_size": 512,
"tile_count": 24
}
],
"dataset_output_dir": null,
"highlight_category_counts": {},
"highlighted_label_count": 0,
"invalid_label_count": 0,
"low_visual_variance_tile_count": 0,
"max_tiles": 24,
"missing_image_count": 0,
"missing_label_file_count": 0,
"outlier_highlight_count": 0,
"relationship_highlight_count": 0,
"rendered_tile_count": 24,
"requested_sample_slugs": [],
"selected_sample_count": 6,
"selected_sample_slugs": [
"v72-assenede-field-cal-bg",
"v72-ganshoren-lowrise-cal",
"v72-havelange-field-cal-bg",
"v72-laeken-park-cal-bg",
"v72-libramont-lowrise-cal",
"v72-zandhoven-lowrise-cal"
],
"selected_tile_count": 24,
"selected_tiles": [
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-zandhoven-lowrise-cal_0000_r0_c0.png",
"invalid_label_count": 0,
"label_count": 60,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-zandhoven-lowrise-cal_0000_r0_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-zandhoven-lowrise-cal",
"split": "val",
"tile_index": 0,
"valid_label_count": 60
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-havelange-field-cal-bg_0000_r0_c0.png",
"invalid_label_count": 0,
"label_count": 48,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-havelange-field-cal-bg_0000_r0_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-havelange-field-cal-bg",
"split": "val",
"tile_index": 0,
"valid_label_count": 48
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-havelange-field-cal-bg_0004_r512_c512.png",
"invalid_label_count": 0,
"label_count": 48,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-havelange-field-cal-bg_0004_r512_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-havelange-field-cal-bg",
"split": "val",
"tile_index": 4,
"valid_label_count": 48
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-ganshoren-lowrise-cal_0001_r0_c512.png",
"invalid_label_count": 0,
"label_count": 28,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-ganshoren-lowrise-cal_0001_r0_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-ganshoren-lowrise-cal",
"split": "val",
"tile_index": 1,
"valid_label_count": 28
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-zandhoven-lowrise-cal_0001_r0_c512.png",
"invalid_label_count": 0,
"label_count": 28,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-zandhoven-lowrise-cal_0001_r0_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-zandhoven-lowrise-cal",
"split": "val",
"tile_index": 1,
"valid_label_count": 28
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-havelange-field-cal-bg_0003_r512_c0.png",
"invalid_label_count": 0,
"label_count": 24,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-havelange-field-cal-bg_0003_r512_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-havelange-field-cal-bg",
"split": "val",
"tile_index": 3,
"valid_label_count": 24
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-zandhoven-lowrise-cal_0003_r512_c0.png",
"invalid_label_count": 0,
"label_count": 22,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-zandhoven-lowrise-cal_0003_r512_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-zandhoven-lowrise-cal",
"split": "val",
"tile_index": 3,
"valid_label_count": 22
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-ganshoren-lowrise-cal_0003_r512_c0.png",
"invalid_label_count": 0,
"label_count": 17,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-ganshoren-lowrise-cal_0003_r512_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-ganshoren-lowrise-cal",
"split": "val",
"tile_index": 3,
"valid_label_count": 17
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-havelange-field-cal-bg_0001_r0_c512.png",
"invalid_label_count": 0,
"label_count": 14,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-havelange-field-cal-bg_0001_r0_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-havelange-field-cal-bg",
"split": "val",
"tile_index": 1,
"valid_label_count": 14
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-libramont-lowrise-cal_0000_r0_c0.png",
"invalid_label_count": 0,
"label_count": 13,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-libramont-lowrise-cal_0000_r0_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-libramont-lowrise-cal",
"split": "val",
"tile_index": 0,
"valid_label_count": 13
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-libramont-lowrise-cal_0003_r512_c0.png",
"invalid_label_count": 0,
"label_count": 11,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-libramont-lowrise-cal_0003_r512_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-libramont-lowrise-cal",
"split": "val",
"tile_index": 3,
"valid_label_count": 11
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-ganshoren-lowrise-cal_0004_r512_c512.png",
"invalid_label_count": 0,
"label_count": 10,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-ganshoren-lowrise-cal_0004_r512_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-ganshoren-lowrise-cal",
"split": "val",
"tile_index": 4,
"valid_label_count": 10
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-zandhoven-lowrise-cal_0004_r512_c512.png",
"invalid_label_count": 0,
"label_count": 9,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-zandhoven-lowrise-cal_0004_r512_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-zandhoven-lowrise-cal",
"split": "val",
"tile_index": 4,
"valid_label_count": 9
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-ganshoren-lowrise-cal_0000_r0_c0.png",
"invalid_label_count": 0,
"label_count": 7,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-ganshoren-lowrise-cal_0000_r0_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-ganshoren-lowrise-cal",
"split": "val",
"tile_index": 0,
"valid_label_count": 7
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-assenede-field-cal-bg_0004_r512_c512.png",
"invalid_label_count": 0,
"label_count": 4,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-assenede-field-cal-bg_0004_r512_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-assenede-field-cal-bg",
"split": "val",
"tile_index": 4,
"valid_label_count": 4
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-laeken-park-cal-bg_0000_r0_c0.png",
"invalid_label_count": 0,
"label_count": 3,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-laeken-park-cal-bg_0000_r0_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-laeken-park-cal-bg",
"split": "val",
"tile_index": 0,
"valid_label_count": 3
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-libramont-lowrise-cal_0001_r0_c512.png",
"invalid_label_count": 0,
"label_count": 2,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-libramont-lowrise-cal_0001_r0_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-libramont-lowrise-cal",
"split": "val",
"tile_index": 1,
"valid_label_count": 2
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-assenede-field-cal-bg_0000_r0_c0.png",
"invalid_label_count": 0,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-assenede-field-cal-bg_0000_r0_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-assenede-field-cal-bg",
"split": "val",
"tile_index": 0,
"valid_label_count": 0
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-assenede-field-cal-bg_0001_r0_c512.png",
"invalid_label_count": 0,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-assenede-field-cal-bg_0001_r0_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-assenede-field-cal-bg",
"split": "val",
"tile_index": 1,
"valid_label_count": 0
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-assenede-field-cal-bg_0003_r512_c0.png",
"invalid_label_count": 0,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-assenede-field-cal-bg_0003_r512_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-assenede-field-cal-bg",
"split": "val",
"tile_index": 3,
"valid_label_count": 0
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-laeken-park-cal-bg_0001_r0_c512.png",
"invalid_label_count": 0,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-laeken-park-cal-bg_0001_r0_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-laeken-park-cal-bg",
"split": "val",
"tile_index": 1,
"valid_label_count": 0
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-laeken-park-cal-bg_0003_r512_c0.png",
"invalid_label_count": 0,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-laeken-park-cal-bg_0003_r512_c0.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-laeken-park-cal-bg",
"split": "val",
"tile_index": 3,
"valid_label_count": 0
},
{
"background_category": "sparse_building_context",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-laeken-park-cal-bg_0004_r512_c512.png",
"invalid_label_count": 0,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-laeken-park-cal-bg_0004_r512_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "background_candidate",
"sample_slug": "v72-laeken-park-cal-bg",
"split": "val",
"tile_index": 4,
"valid_label_count": 0
},
{
"background_category": "reference_aoi",
"highlighted_label_count": 0,
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-libramont-lowrise-cal_0004_r512_c512.png",
"invalid_label_count": 0,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-libramont-lowrise-cal_0004_r512_c512.txt",
"low_visual_variance": false,
"missing_label_file": false,
"rendered": true,
"sample_role": "positive",
"sample_slug": "v72-libramont-lowrise-cal",
"split": "val",
"tile_index": 4,
"valid_label_count": 0
}
],
"status": "ok",
"summary_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/yolo_tile_dataset_summary.json",
"thumb_size": 512,
"tiles_per_sheet": 24,
"valid_label_count": 348
}
@@ -1,8 +0,0 @@
{
"reason": "non_protected_diagnostic_evaluation_only",
"release_claim_allowed": false,
"schema_version": 1,
"source_manifest_sha256": "66bfaacaee11806ed035d3ac5725f7b3967dfc82e7a12ecf603dc3836bc26ad7",
"summary_sha256": "78e16f46fa2a313a147404a19f2ce99417d2cb384b5db5f6ba33e934ff99c631",
"training_allowed": false
}
@@ -1,886 +0,0 @@
{
"dataset_yaml": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/dataset.yaml",
"dataset_yaml_sha256": "d1e85ffb6776d92a4534830f2214fa6444f5a9160329aca0a68d0ea0a1a40144",
"excluded_overlapping_edge_cover_tile_count": 30,
"excluded_overlapping_edge_cover_tiles": [
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-zandhoven-lowrise-cal",
"tile_index": 2,
"window": {
"col_off": 521,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-zandhoven-lowrise-cal",
"tile_index": 5,
"window": {
"col_off": 521,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-zandhoven-lowrise-cal",
"tile_index": 6,
"window": {
"col_off": 0,
"height": 512,
"row_off": 521,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-zandhoven-lowrise-cal",
"tile_index": 7,
"window": {
"col_off": 512,
"height": 512,
"row_off": 521,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-zandhoven-lowrise-cal",
"tile_index": 8,
"window": {
"col_off": 521,
"height": 512,
"row_off": 521,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-assenede-field-cal-bg",
"tile_index": 2,
"window": {
"col_off": 530,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-assenede-field-cal-bg",
"tile_index": 5,
"window": {
"col_off": 530,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-assenede-field-cal-bg",
"tile_index": 6,
"window": {
"col_off": 0,
"height": 512,
"row_off": 530,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-assenede-field-cal-bg",
"tile_index": 7,
"window": {
"col_off": 512,
"height": 512,
"row_off": 530,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-assenede-field-cal-bg",
"tile_index": 8,
"window": {
"col_off": 530,
"height": 512,
"row_off": 530,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-libramont-lowrise-cal",
"tile_index": 2,
"window": {
"col_off": 540,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-libramont-lowrise-cal",
"tile_index": 5,
"window": {
"col_off": 540,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-libramont-lowrise-cal",
"tile_index": 6,
"window": {
"col_off": 0,
"height": 512,
"row_off": 540,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-libramont-lowrise-cal",
"tile_index": 7,
"window": {
"col_off": 512,
"height": 512,
"row_off": 540,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-libramont-lowrise-cal",
"tile_index": 8,
"window": {
"col_off": 540,
"height": 512,
"row_off": 540,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-havelange-field-cal-bg",
"tile_index": 2,
"window": {
"col_off": 537,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-havelange-field-cal-bg",
"tile_index": 5,
"window": {
"col_off": 537,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-havelange-field-cal-bg",
"tile_index": 6,
"window": {
"col_off": 0,
"height": 512,
"row_off": 537,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-havelange-field-cal-bg",
"tile_index": 7,
"window": {
"col_off": 512,
"height": 512,
"row_off": 537,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-havelange-field-cal-bg",
"tile_index": 8,
"window": {
"col_off": 537,
"height": 512,
"row_off": 537,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-ganshoren-lowrise-cal",
"tile_index": 2,
"window": {
"col_off": 514,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-ganshoren-lowrise-cal",
"tile_index": 5,
"window": {
"col_off": 514,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-ganshoren-lowrise-cal",
"tile_index": 6,
"window": {
"col_off": 0,
"height": 512,
"row_off": 514,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-ganshoren-lowrise-cal",
"tile_index": 7,
"window": {
"col_off": 512,
"height": 512,
"row_off": 514,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-ganshoren-lowrise-cal",
"tile_index": 8,
"window": {
"col_off": 514,
"height": 512,
"row_off": 514,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-laeken-park-cal-bg",
"tile_index": 2,
"window": {
"col_off": 513,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-laeken-park-cal-bg",
"tile_index": 5,
"window": {
"col_off": 513,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-laeken-park-cal-bg",
"tile_index": 6,
"window": {
"col_off": 0,
"height": 512,
"row_off": 513,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-laeken-park-cal-bg",
"tile_index": 7,
"window": {
"col_off": 512,
"height": 512,
"row_off": 513,
"width": 512
}
},
{
"reason": "overlapping_edge_cover_tile",
"sample_slug": "v72-laeken-park-cal-bg",
"tile_index": 8,
"window": {
"col_off": 513,
"height": 512,
"row_off": 513,
"width": 512
}
}
],
"label_count": 348,
"purpose": "non_protected_diagnostic_evaluation",
"release_claim_allowed": false,
"schema_version": 1,
"selected_sample_slugs": [
"v72-assenede-field-cal-bg",
"v72-ganshoren-lowrise-cal",
"v72-havelange-field-cal-bg",
"v72-laeken-park-cal-bg",
"v72-libramont-lowrise-cal",
"v72-zandhoven-lowrise-cal"
],
"source_manifest": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-corpus/operator_samples_manifest.json",
"source_manifest_sha256": "66bfaacaee11806ed035d3ac5725f7b3967dfc82e7a12ecf603dc3836bc26ad7",
"status": "ok_evaluation_only",
"stride": 512,
"tile_count": 24,
"tile_size": 512,
"tiles": [
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-zandhoven-lowrise-cal_0000_r0_c0.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 60,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-zandhoven-lowrise-cal_0000_r0_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-zandhoven-lowrise-cal",
"split": "val",
"tile_index": 0,
"window": {
"col_off": 0,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-zandhoven-lowrise-cal_0001_r0_c512.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 28,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-zandhoven-lowrise-cal_0001_r0_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-zandhoven-lowrise-cal",
"split": "val",
"tile_index": 1,
"window": {
"col_off": 512,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-zandhoven-lowrise-cal_0003_r512_c0.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 22,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-zandhoven-lowrise-cal_0003_r512_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-zandhoven-lowrise-cal",
"split": "val",
"tile_index": 3,
"window": {
"col_off": 0,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-zandhoven-lowrise-cal_0004_r512_c512.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 9,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-zandhoven-lowrise-cal_0004_r512_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-zandhoven-lowrise-cal",
"split": "val",
"tile_index": 4,
"window": {
"col_off": 512,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-assenede-field-cal-bg_0000_r0_c0.png",
"is_negative": true,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-assenede-field-cal-bg_0000_r0_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-assenede-field-cal-bg",
"split": "val",
"tile_index": 0,
"window": {
"col_off": 0,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-assenede-field-cal-bg_0001_r0_c512.png",
"is_negative": true,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-assenede-field-cal-bg_0001_r0_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-assenede-field-cal-bg",
"split": "val",
"tile_index": 1,
"window": {
"col_off": 512,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-assenede-field-cal-bg_0003_r512_c0.png",
"is_negative": true,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-assenede-field-cal-bg_0003_r512_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-assenede-field-cal-bg",
"split": "val",
"tile_index": 3,
"window": {
"col_off": 0,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-assenede-field-cal-bg_0004_r512_c512.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 4,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-assenede-field-cal-bg_0004_r512_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-assenede-field-cal-bg",
"split": "val",
"tile_index": 4,
"window": {
"col_off": 512,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-libramont-lowrise-cal_0000_r0_c0.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 13,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-libramont-lowrise-cal_0000_r0_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-libramont-lowrise-cal",
"split": "val",
"tile_index": 0,
"window": {
"col_off": 0,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-libramont-lowrise-cal_0001_r0_c512.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 2,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-libramont-lowrise-cal_0001_r0_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-libramont-lowrise-cal",
"split": "val",
"tile_index": 1,
"window": {
"col_off": 512,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-libramont-lowrise-cal_0003_r512_c0.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 11,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-libramont-lowrise-cal_0003_r512_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-libramont-lowrise-cal",
"split": "val",
"tile_index": 3,
"window": {
"col_off": 0,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-libramont-lowrise-cal_0004_r512_c512.png",
"is_negative": true,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-libramont-lowrise-cal_0004_r512_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-libramont-lowrise-cal",
"split": "val",
"tile_index": 4,
"window": {
"col_off": 512,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-havelange-field-cal-bg_0000_r0_c0.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 48,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-havelange-field-cal-bg_0000_r0_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-havelange-field-cal-bg",
"split": "val",
"tile_index": 0,
"window": {
"col_off": 0,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-havelange-field-cal-bg_0001_r0_c512.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 14,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-havelange-field-cal-bg_0001_r0_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-havelange-field-cal-bg",
"split": "val",
"tile_index": 1,
"window": {
"col_off": 512,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-havelange-field-cal-bg_0003_r512_c0.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 24,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-havelange-field-cal-bg_0003_r512_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-havelange-field-cal-bg",
"split": "val",
"tile_index": 3,
"window": {
"col_off": 0,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-havelange-field-cal-bg_0004_r512_c512.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 48,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-havelange-field-cal-bg_0004_r512_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-havelange-field-cal-bg",
"split": "val",
"tile_index": 4,
"window": {
"col_off": 512,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-ganshoren-lowrise-cal_0000_r0_c0.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 7,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-ganshoren-lowrise-cal_0000_r0_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-ganshoren-lowrise-cal",
"split": "val",
"tile_index": 0,
"window": {
"col_off": 0,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-ganshoren-lowrise-cal_0001_r0_c512.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 28,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-ganshoren-lowrise-cal_0001_r0_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-ganshoren-lowrise-cal",
"split": "val",
"tile_index": 1,
"window": {
"col_off": 512,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-ganshoren-lowrise-cal_0003_r512_c0.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 17,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-ganshoren-lowrise-cal_0003_r512_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-ganshoren-lowrise-cal",
"split": "val",
"tile_index": 3,
"window": {
"col_off": 0,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "reference_aoi",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-ganshoren-lowrise-cal_0004_r512_c512.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 10,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-ganshoren-lowrise-cal_0004_r512_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "positive",
"sample_slug": "v72-ganshoren-lowrise-cal",
"split": "val",
"tile_index": 4,
"window": {
"col_off": 512,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-laeken-park-cal-bg_0000_r0_c0.png",
"is_negative": false,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 3,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-laeken-park-cal-bg_0000_r0_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-laeken-park-cal-bg",
"split": "val",
"tile_index": 0,
"window": {
"col_off": 0,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-laeken-park-cal-bg_0001_r0_c512.png",
"is_negative": true,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-laeken-park-cal-bg_0001_r0_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-laeken-park-cal-bg",
"split": "val",
"tile_index": 1,
"window": {
"col_off": 512,
"height": 512,
"row_off": 0,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-laeken-park-cal-bg_0003_r512_c0.png",
"is_negative": true,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-laeken-park-cal-bg_0003_r512_c0.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-laeken-park-cal-bg",
"split": "val",
"tile_index": 3,
"window": {
"col_off": 0,
"height": 512,
"row_off": 512,
"width": 512
}
},
{
"background_category": "sparse_building_context",
"image_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/images/val/v72-laeken-park-cal-bg_0004_r512_c512.png",
"is_negative": true,
"is_repeated_background_negative": false,
"kept": true,
"label_count": 0,
"label_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/labels/val/v72-laeken-park-cal-bg_0004_r512_c512.txt",
"low_visual_variance": false,
"recommended_split": "",
"repeat_index": 0,
"sample_role": "background_candidate",
"sample_slug": "v72-laeken-park-cal-bg",
"split": "val",
"tile_index": 4,
"window": {
"col_off": 512,
"height": 512,
"row_off": 512,
"width": 512
}
}
],
"training_allowed": false
}
@@ -1,9 +0,0 @@
{
"dataset_yaml_sha256": "038d8cbda5cd85b6228069320a41ad52f43391d23dc3b20cbc553026fabe4dc0",
"promotion_allowed": false,
"release_claim_allowed": false,
"schema_version": 1,
"source_manifest_sha256": "afa0edc5f229e0451d4a3630bb0d716b0ac1d446a6f8c2f22807d4f83b818525",
"status": "experimental_only_human_review_pending",
"tile_asset_chain_sha256": "1b721a48ac567ad11f258e03f753e2763e11f87ce8e9b58f29e9dfda5c83f4f8"
}
@@ -1,17 +0,0 @@
{
"base_model": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"base_model_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"batch": 8,
"candidate_model": "/app/storage/training/experimental/building-be-v73-fresh-flanders-train-r1/runs/v73-flanders-remediation-e20/candidate.experimental.pt",
"candidate_model_sha256": "c4d9995ca040dff4ca327f6022f30d679335998ef1968c3061102ae6ed4105ac",
"dataset_yaml_sha256": "038d8cbda5cd85b6228069320a41ad52f43391d23dc3b20cbc553026fabe4dc0",
"device": "NVIDIA GeForce RTX 4080 SUPER",
"epochs": 20,
"human_review_pending": true,
"imgsz": 640,
"promotion_allowed": false,
"release_claim_allowed": false,
"required_next_gate": "independent frozen V72 calibration evaluation",
"schema_version": 1,
"status": "trained_experimental_only"
}
@@ -1,116 +0,0 @@
{
"attempts": [
{
"map50": 0.05677865740374553,
"map50_95": 0.02175035531261916,
"model_path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"model_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"precision": 0.1576550586330707,
"recall": 0.11781609195402298,
"size_bytes": 22516074,
"status": "ok"
},
{
"map50": 0.01885292400464415,
"map50_95": 0.00378065636983694,
"model_path": "/app/storage/training/experimental/building-be-v73-fresh-flanders-train-r1/runs/v73-flanders-remediation-e20/candidate.experimental.pt",
"model_sha256": "c4d9995ca040dff4ca327f6022f30d679335998ef1968c3061102ae6ed4105ac",
"precision": 0.012361111111111111,
"recall": 0.2557471264367816,
"size_bytes": 22514858,
"status": "ok"
}
],
"candidate_count": 2,
"claim_boundary": "Non-protected validation ranking only; no test, challenge or promotion claim.",
"dataset_overlap_evidence": {
"interpretation": "Tiles do not overlap, but spatial/statistical independence is not established because adjacent tiles share AOI context and edge objects can remain split.",
"overlap_pixels": 0,
"statistical_independence_established": false,
"status": "non_overlapping",
"stride": 512,
"summary_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/yolo_tile_dataset_summary.json",
"summary_sha256": "78e16f46fa2a313a147404a19f2ce99417d2cb384b5db5f6ba33e934ff99c631",
"tile_size": 512,
"validation_tiles_non_overlapping": true
},
"dataset_yaml": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/dataset.yaml",
"dataset_yaml_sha256": "d1e85ffb6776d92a4534830f2214fa6444f5a9160329aca0a68d0ea0a1a40144",
"device": "cuda:0",
"generated_at": "2026-08-10T01:34:02.699043+00:00",
"model_lineage_independence_evidence": {
"evaluation_samples": [
"v72-assenede-field-cal-bg",
"v72-ganshoren-lowrise-cal",
"v72-havelange-field-cal-bg",
"v72-laeken-park-cal-bg",
"v72-libramont-lowrise-cal",
"v72-zandhoven-lowrise-cal"
],
"evaluation_summary_path": "/app/storage/operator-data/building-be-v72-fresh-calibration-r1/diagnostic-yolo512-r2/yolo_tile_dataset_summary.json",
"evaluation_summary_sha256": "78e16f46fa2a313a147404a19f2ce99417d2cb384b5db5f6ba33e934ff99c631",
"independent_for_all_supplied_lineage_corpora": true,
"interpretation": "No evaluation AOI occurs in any split of any supplied ancestral corpus.",
"lineage_corpora": [
{
"exposure_roles": {},
"lineage_sample_count": 19,
"lineage_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-expanded-minpx4vis035/yolo_tile_dataset_summary.json",
"lineage_summary_sha256": "1887e2ba5c719d33675a9ed85db99a274fd66d98d5f6ad44558d673620917201",
"overlapping_evaluation_samples": []
},
{
"exposure_roles": {},
"lineage_sample_count": 22,
"lineage_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-smallbld-minpx3vis035/yolo_tile_dataset_summary.json",
"lineage_summary_sha256": "49b2a07d2105d08356431757b83eafc1498eaf1fb76965b1efe05b776824942a",
"overlapping_evaluation_samples": []
},
{
"exposure_roles": {},
"lineage_sample_count": 28,
"lineage_summary_path": "/app/storage/operator-data/yolo-building-aoi1024-reviewedexp6-minpx3vis035/yolo_tile_dataset_summary.json",
"lineage_summary_sha256": "7c917e31216d1df2174c0f9c736f88a81f3835aa991971f8fb8665e17ddf5c9c",
"overlapping_evaluation_samples": []
},
{
"exposure_roles": {},
"lineage_sample_count": 12,
"lineage_summary_path": "/app/storage/training/experimental/building-be-v73-fresh-flanders-train-r1/yolo512/experimental_dataset_summary.json",
"lineage_summary_sha256": "047874a4f9362c82263ffe11c389a2f65168c449d3f6cbcc77cea709c0ba4c59",
"overlapping_evaluation_samples": []
}
],
"overlapping_evaluation_samples": [],
"status": "independent"
},
"pure_background_confidence": 0.15,
"pure_background_prefixes": [],
"ranking": [
{
"map50": 0.05677865740374553,
"map50_95": 0.02175035531261916,
"model_path": "/app/models/geointel-building-yolov8s-smallbld-minpx3-img640-ft30.pt",
"model_sha256": "a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1",
"precision": 0.1576550586330707,
"recall": 0.11781609195402298,
"size_bytes": 22516074,
"status": "ok"
},
{
"map50": 0.01885292400464415,
"map50_95": 0.00378065636983694,
"model_path": "/app/storage/training/experimental/building-be-v73-fresh-flanders-train-r1/runs/v73-flanders-remediation-e20/candidate.experimental.pt",
"model_sha256": "c4d9995ca040dff4ca327f6022f30d679335998ef1968c3061102ae6ed4105ac",
"precision": 0.012361111111111111,
"recall": 0.2557471264367816,
"size_bytes": 22514858,
"status": "ok"
}
],
"schema_version": 3,
"status": "ok",
"successful_candidate_count": 2,
"torch_version": "2.11.0+cu128",
"validation_image_count": 24
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 MiB

Some files were not shown because too many files have changed in this diff Show More