docs(accuracy): retain phase 2 provenance evidence

This commit is contained in:
Jens
2026-08-01 23:46:37 +02:00
parent 5b3c17b494
commit 41f8a54236
7 changed files with 1908 additions and 25 deletions
+58 -25
View File
@@ -1,8 +1,8 @@
{
"schema_version": 1,
"program": "GeoIntel Accuracy Improvement Program",
"phase": "P1",
"generated_at": "2026-08-01T18:40:00+02:00",
"phase": "P2",
"generated_at": "2026-08-01T23:43:55+02:00",
"scope": {
"product": "Belgium and the Belgian North Sea",
"active_building_model_claim": "Mol/Kempen only, operator review required",
@@ -12,6 +12,9 @@
"branch": "codex/geointel-accuracy-program",
"repository_commit": "0c019bb22f816db1e4b7a68379bcad08924d9a21",
"database_migration_head": "202607260001",
"phase2_migration_revision": "202608010001",
"phase2_migration_live_disposable_verified": true,
"phase2_migration_production_deployed": false,
"phase1_mutation_scope": "audit tooling, tests, documentation and retained evidence only"
},
"phase1": {
@@ -37,7 +40,8 @@
"medium_risk_count": 4
},
"phase2": {
"status": "ready_for_controlled_remediation",
"status": "in_progress",
"meaning": "The source/provenance foundation is implemented and verified in a disposable PostGIS environment; the full P2 roadmap and its training/release gates are not complete.",
"roadmap": "docs/accuracy-program/06-implementation-roadmap.md",
"first_work_package": "P2-00",
"required_order": [
@@ -57,6 +61,28 @@
],
"protected_test_rule": "Open exactly once for a pre-registered immutable candidate after all pre-test gates pass; never feed its results back into that candidate family."
},
"phase2_source_provenance": {
"status": "implemented_and_verified_in_disposable_environment",
"evidence_root": "artifacts/evidence/accuracy/P2",
"implemented": [
"server-owned source registry and immutable source snapshots",
"versioned vector, raster, label and PyTorch model contracts",
"checksum-bound dataset and dataset-version provenance",
"lineage graph, quarantine propagation and consumption gates",
"live disposable PostGIS upgrade, guard and downgrade verification"
],
"does_not_mean": [
"all legacy records are provenance complete",
"physical quarantine or protected-test storage isolation is proven",
"every UI result has end-to-end provenance rendering evidence",
"the full P2 roadmap is complete",
"training, promotion or national validation is allowed"
]
},
"phase3": {
"status": "not_ready",
"reason": "P2-00 through P2-12 are not all green; human review, corpus rebuild, protected-split evidence, metric gates, candidate CUDA training, protected testing and promotion remain blocked."
},
"runtime": {
"cuda_available": true,
"device": "NVIDIA GeForce RTX 4080 SUPER",
@@ -163,15 +189,16 @@
"verification": {
"backend_full_suite": {
"status": "failed",
"passed": 1180,
"passed": 1282,
"failed": 17,
"duration_seconds": 70.63,
"classification": "stale source/contract assertions; no new audit-tooling failures"
"duration_seconds": 116.62,
"classification": "The canonical backend test import boundary now collects. Sixteen remaining failures are historical source-text assertions for changed UI/deployment/README behavior; one full Windows run also hit an intermittent WSL-backed bash.exe host failure in a shell-wrapper syntax test. This still prevents a whole-suite-green claim."
},
"backend_ci_entrypoint": {
"status": "collection_failed",
"collected": 1194,
"error": "ModuleNotFoundError: scripts.render_operator_polygon_label_qa"
"status": "collected_with_failures",
"collected": 1299,
"result": "1282 passed, 17 failed",
"note": "The former scripts.render_operator_polygon_label_qa collection failure is resolved by the canonical backend-test import boundary."
},
"phase1_tooling_tests": {
"status": "passed",
@@ -182,16 +209,8 @@
},
"repository_ruff": {
"status": "failed",
"finding_count": 112,
"by_code": {
"E402": 13,
"E701": 2,
"E702": 69,
"F401": 23,
"F403": 1,
"F811": 2,
"F841": 2
}
"finding_count": 95,
"note": "P2-changed Python paths pass their scoped Ruff check; repository-wide remediation remains an explicit P2-01 gate."
},
"frontend_unit": {
"status": "passed",
@@ -215,12 +234,22 @@
"explicit_non_envelope_endpoints": 10
},
"alembic": {
"status": "passed_offline",
"status": "passed_offline_and_disposable_postgis",
"heads": [
"202607260001"
"202608010001"
],
"offline_upgrade_sql_lines": 496,
"live_migration_tested_locally": false
"offline_upgrade_rendered": true,
"offline_downgrade_rendered": true,
"live_migration_tested_locally": true,
"production_migration_deployed": false
},
"phase2_source_provenance": {
"status": "passed_in_disposable_environment",
"source_registry_definitions": 40,
"migration_revision": "202608010001",
"migration_guards": "artifacts/evidence/accuracy/P2/postgres-migration-guards.json",
"static_inventory": "artifacts/evidence/accuracy/P2/source-contract-inventory.json",
"claim_boundary": "This is not a production migration deployment, corpus-release, accuracy or promotion result."
},
"golden_qa": {
"semantic_results_stable": true,
@@ -254,8 +283,12 @@
"docs/accuracy-program/03-baseline-and-gaps.md",
"docs/accuracy-program/04-risk-register.md",
"docs/accuracy-program/05-metric-framework.md",
"docs/accuracy-program/06-implementation-roadmap.md"
"docs/accuracy-program/06-implementation-roadmap.md",
"docs/accuracy-program/07-source-authority-matrix.md",
"docs/accuracy-program/08-data-contracts.md"
],
"evidence_root": "artifacts/evidence/accuracy/P1",
"evidence_manifest": "artifacts/evidence/accuracy/P1/evidence-manifest.json"
"evidence_manifest": "artifacts/evidence/accuracy/P1/evidence-manifest.json",
"phase2_evidence_root": "artifacts/evidence/accuracy/P2",
"phase2_evidence_manifest": "artifacts/evidence/accuracy/P2/evidence-manifest.json"
}