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
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:
@@ -1,3 +0,0 @@
|
||||
# Local AI/import workspace. Never commit generated inputs, databases, archives or screenshots.
|
||||
*
|
||||
!.gitignore
|
||||
+2
-21
@@ -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/*
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
[36mvite v7.3.6 [32mbuilding client environment for production...[36m[39m
|
||||
transforming...
|
||||
[32m✓[39m 1896 modules transformed.
|
||||
rendering chunks...
|
||||
computing gzip size...
|
||||
[2mdist/[22m[32mindex.html [39m[1m[2m 0.98 kB[22m[1m[22m[2m │ gzip: 0.49 kB[22m
|
||||
[2mdist/[22m[32massets/manrope-latin-500-normal-BYYD-dBL.woff2 [39m[1m[2m 14.04 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/manrope-latin-600-normal-4f0koTD-.woff2 [39m[1m[2m 14.17 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/manrope-latin-700-normal-BZp_XxE4.woff2 [39m[1m[2m 14.21 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/public-sans-latin-600-normal-Fru-LXNs.woff2 [39m[1m[2m 14.59 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/public-sans-latin-400-normal-8Rpg0ruU.woff2 [39m[1m[2m 14.63 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/public-sans-latin-500-normal-NlrCPXnF.woff2 [39m[1m[2m 14.66 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/manrope-latin-500-normal-DMZssgOp.woff [39m[1m[2m 18.24 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/manrope-latin-600-normal-BqgrALkZ.woff [39m[1m[2m 18.38 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/manrope-latin-700-normal-DGRFkw-m.woff [39m[1m[2m 18.41 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/public-sans-latin-400-normal-SBbinRkI.woff [39m[1m[2m 18.49 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/public-sans-latin-500-normal-vCxiVFAq.woff [39m[1m[2m 18.52 kB[22m[1m[22m
|
||||
[2mdist/[22m[32massets/public-sans-latin-600-normal-BR59oU-I.woff [39m[1m[2m 18.56 kB[22m[1m[22m
|
||||
[2mdist/[22m[35massets/index-BNS8Tp4f.css [39m[1m[2m426.59 kB[22m[1m[22m[2m │ gzip: 69.40 kB[22m
|
||||
[2mdist/[22m[36massets/vendor-CrqJdhs-.js [39m[1m[2m140.80 kB[22m[1m[22m[2m │ gzip: 45.27 kB[22m
|
||||
[2mdist/[22m[36massets/index-DR8RUeAl.js [39m[1m[2m457.16 kB[22m[1m[22m[2m │ gzip: 119.71 kB[22m
|
||||
[2mdist/[22m[36massets/maplibre-DEBTaTl_.js [39m[1m[2m802.71 kB[22m[1m[22m[2m │ gzip: 217.71 kB[22m
|
||||
[32m✓ built in 9.80s[39m
|
||||
@@ -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
|
||||
|
||||
|
||||
[1m[46m RUN [49m[22m [36mv3.2.6 [39m[90mC:/Projects/geointel/frontend[39m
|
||||
|
||||
[32m✓[39m src/lib/datasetCapabilities.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
||||
[32m✓[39m src/lib/performanceBudget.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 41[2mms[22m[39m
|
||||
[32m✓[39m src/components/map/mapWorkspaceUtils.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 36[2mms[22m[39m
|
||||
[32m✓[39m src/hooks/useMapThemeSelectionInsights.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 43[2mms[22m[39m
|
||||
[32m✓[39m src/hooks/useCoverageResolver.test.tsx [2m([22m[2m4 tests[22m[2m)[22m[32m 47[2mms[22m[39m
|
||||
[32m✓[39m src/hooks/useTemporalComparison.test.tsx [2m([22m[2m3 tests[22m[2m)[22m[32m 36[2mms[22m[39m
|
||||
[32m✓[39m src/components/WorkbenchStatusStrip.test.tsx [2m([22m[2m2 tests[22m[2m)[22m[32m 151[2mms[22m[39m
|
||||
[32m✓[39m src/hooks/useWorkbenchBootstrap.test.tsx [2m([22m[2m3 tests[22m[2m)[22m[32m 60[2mms[22m[39m
|
||||
[32m✓[39m src/components/map/LiveAnalysisJourney.test.tsx [2m([22m[2m3 tests[22m[2m)[22m[32m 59[2mms[22m[39m
|
||||
[32m✓[39m src/components/overview/ProjectAtlasIllustration.test.tsx [2m([22m[2m2 tests[22m[2m)[22m[32m 267[2mms[22m[39m
|
||||
[32m✓[39m src/components/models/ModelSelector.test.tsx [2m([22m[2m2 tests[22m[2m)[22m[33m 342[2mms[22m[39m
|
||||
[32m✓[39m src/components/detection/AiPipelineIllustration.test.tsx [2m([22m[2m1 test[22m[2m)[22m[32m 296[2mms[22m[39m
|
||||
[32m✓[39m src/components/auth/LandingProjectStory.test.tsx [2m([22m[2m2 tests[22m[2m)[22m[33m 332[2mms[22m[39m
|
||||
[32m✓[39m src/components/map/MunicipalitySearch.test.tsx [2m([22m[2m2 tests[22m[2m)[22m[33m 483[2mms[22m[39m
|
||||
[33m[2m✓[22m[39m MunicipalitySearch[2m > [22msearches the official municipality catalog and activates a result [33m 468[2mms[22m[39m
|
||||
[32m✓[39m src/components/auth/LandingPage.test.tsx [2m([22m[2m4 tests[22m[2m)[22m[33m 825[2mms[22m[39m
|
||||
[33m[2m✓[22m[39m LandingPage[2m > [22mpresents the professionalised landing page and submits the operator login [33m 471[2mms[22m[39m
|
||||
[32m✓[39m src/lib/bathymetryRaster.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
||||
|
||||
[2m Test Files [22m [1m[32m16 passed[39m[22m[90m (16)[39m
|
||||
[2m Tests [22m [1m[32m51 passed[39m[22m[90m (51)[39m
|
||||
[2m Start at [22m 18:35:16
|
||||
[2m Duration [22m 7.37s[2m (transform 2.45s, setup 0ms, collect 14.66s, tests 3.03s, environment 45.46s, prepare 8.07s)[22m
|
||||
|
||||
@@ -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 thema’s\""
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
-157
@@ -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"
|
||||
}
|
||||
-1489
File diff suppressed because it is too large
Load Diff
-105
@@ -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"
|
||||
}
|
||||
-274
@@ -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"
|
||||
}
|
||||
-12
@@ -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"
|
||||
}
|
||||
-334
@@ -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"
|
||||
}
|
||||
-300
@@ -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"
|
||||
}
|
||||
-129
@@ -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
|
||||
}
|
||||
-537
@@ -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"
|
||||
}
|
||||
-8
@@ -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"
|
||||
}
|
||||
-8
@@ -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"
|
||||
}
|
||||
-185
@@ -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
|
||||
}
|
||||
-6
@@ -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"
|
||||
}
|
||||
-46
@@ -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"
|
||||
}
|
||||
-10635
File diff suppressed because it is too large
Load Diff
-806
@@ -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"
|
||||
}
|
||||
-589
@@ -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
|
||||
}
|
||||
-163
@@ -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
|
||||
}
|
||||
-157
@@ -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": []
|
||||
}
|
||||
}
|
||||
-46
@@ -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"
|
||||
}
|
||||
-8798
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
}
|
||||
-28
@@ -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
|
||||
}
|
||||
}
|
||||
-131
@@ -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"
|
||||
}
|
||||
}
|
||||
-63
@@ -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."
|
||||
}
|
||||
}
|
||||
-102
@@ -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."
|
||||
}
|
||||
-93
@@ -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."
|
||||
}
|
||||
}
|
||||
-72
@@ -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."
|
||||
}
|
||||
}
|
||||
-43
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
-76
@@ -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"
|
||||
}
|
||||
-61
@@ -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"
|
||||
}
|
||||
}
|
||||
-468
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
-732
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
-468
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
-109
@@ -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
|
||||
}
|
||||
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 10 MiB |
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"manifest_sha256": "66bfaacaee11806ed035d3ac5725f7b3967dfc82e7a12ecf603dc3836bc26ad7",
|
||||
"reason": "evaluation_only_pending_regional_authority_contracts",
|
||||
"release_claim_allowed": false,
|
||||
"schema_version": 1,
|
||||
"training_allowed": false
|
||||
}
|
||||
-11
@@ -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
|
||||
}
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"status": "ok",
|
||||
"buffer_m": 64.0,
|
||||
"findings": []
|
||||
}
|
||||
-755
@@ -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
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
-110
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
-179
@@ -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"
|
||||
}
|
||||
-426
@@ -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
|
||||
}
|
||||
-8
@@ -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
|
||||
}
|
||||
-886
@@ -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
|
||||
}
|
||||
-9
@@ -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"
|
||||
}
|
||||
-17
@@ -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"
|
||||
}
|
||||
-116
@@ -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
|
||||
}
|
||||
BIN
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
Reference in New Issue
Block a user