From f9a466b221ecf38db91f02bf0f4f4ac4c43beac8 Mon Sep 17 00:00:00 2001 From: Jens Date: Sun, 9 Aug 2026 15:28:04 +0200 Subject: [PATCH] record explicit AI-assisted AOI review ledger --- ...eviewedexp6-ai-assisted-review-ledger.json | 71 +++++++++++++++++++ docs/CODEX_EXECUTION_LOG.md | 21 ++++++ docs/TODO.md | 6 ++ ...026-08-09-ai-assisted-checkpoint-review.md | 16 +++++ 4 files changed, 114 insertions(+) create mode 100644 artifacts/evidence/accuracy/model-training/20260809-reviewedexp6-ai-assisted-review-ledger.json diff --git a/artifacts/evidence/accuracy/model-training/20260809-reviewedexp6-ai-assisted-review-ledger.json b/artifacts/evidence/accuracy/model-training/20260809-reviewedexp6-ai-assisted-review-ledger.json new file mode 100644 index 00000000..da0c65ba --- /dev/null +++ b/artifacts/evidence/accuracy/model-training/20260809-reviewedexp6-ai-assisted-review-ledger.json @@ -0,0 +1,71 @@ +{ + "schema_version": 1, + "ledger_id": "reviewedexp6-ai-assisted-review-r1", + "reviewed_at": "2026-08-09T14:00:00+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 the 64 rendered samples on the contact sheet, not every label instance in the corpus.", + "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": { + "contact_sheet_path": "/app/storage/operator-data/model-review/reviewedexp6-corpus/visual-review/contact_sheet_001.png", + "contact_sheet_sha256": "411ee541dcd53b59abc1c12f733f164b28478a1398ab2d50be8c728b11c8fdc4", + "review_summary_path": "/app/storage/operator-data/model-review/reviewedexp6-corpus/visual-review/operator_yolo_label_qa_summary.json", + "rendered_tile_count": 64, + "rendered_label_count": 21611, + "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":2,"sampled_labels":1163,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"balen","sampled_tiles":2,"sampled_labels":794,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"beerse_center","sampled_tiles":2,"sampled_labels":1158,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"dessel_center","sampled_tiles":2,"sampled_labels":841,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"dessel_heide","sampled_tiles":2,"sampled_labels":68,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"}, + {"sample_slug":"geel","sampled_tiles":2,"sampled_labels":1244,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"geel_bel","sampled_tiles":2,"sampled_labels":62,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"}, + {"sample_slug":"grobbendonk_center","sampled_tiles":2,"sampled_labels":1008,"split":"val","category":"reference_aoi","decision":"non_protected_validation_only"}, + {"sample_slug":"herentals","sampled_tiles":2,"sampled_labels":1512,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"herenthout_bos","sampled_tiles":2,"sampled_labels":199,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"}, + {"sample_slug":"hoogstraten_center","sampled_tiles":2,"sampled_labels":1063,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"hulshout_center","sampled_tiles":2,"sampled_labels":895,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"kasterlee_bos","sampled_tiles":2,"sampled_labels":72,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"}, + {"sample_slug":"kasterlee_center","sampled_tiles":2,"sampled_labels":983,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"laakdal_center","sampled_tiles":2,"sampled_labels":156,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible_with_dense_alignment_limitation"}, + {"sample_slug":"lille_center","sampled_tiles":2,"sampled_labels":961,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"lommel_heide","sampled_tiles":6,"sampled_labels":0,"split":"train","category":"pure_empty_negative","decision":"experimental_training_eligible"}, + {"sample_slug":"meerhout_bos","sampled_tiles":2,"sampled_labels":111,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"}, + {"sample_slug":"meerhout_center","sampled_tiles":2,"sampled_labels":1016,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"mol","sampled_tiles":2,"sampled_labels":951,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"nijlen_center","sampled_tiles":2,"sampled_labels":1309,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"olen_center","sampled_tiles":2,"sampled_labels":971,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"oud_turnhout_center","sampled_tiles":2,"sampled_labels":1535,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible_with_dense_alignment_limitation"}, + {"sample_slug":"postel_bos","sampled_tiles":6,"sampled_labels":0,"split":"train","category":"pure_empty_negative","decision":"experimental_training_eligible"}, + {"sample_slug":"ravels_bos","sampled_tiles":2,"sampled_labels":22,"split":"train","category":"sparse_building_context","decision":"experimental_training_eligible"}, + {"sample_slug":"rijkevorsel_center","sampled_tiles":2,"sampled_labels":1153,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"vorselaar_center","sampled_tiles":2,"sampled_labels":930,"split":"train","category":"reference_aoi","decision":"experimental_training_eligible"}, + {"sample_slug":"vosselaar_center","sampled_tiles":2,"sampled_labels":1434,"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 + } +} diff --git a/docs/CODEX_EXECUTION_LOG.md b/docs/CODEX_EXECUTION_LOG.md index 2f6e732d..a6c89483 100644 --- a/docs/CODEX_EXECUTION_LOG.md +++ b/docs/CODEX_EXECUTION_LOG.md @@ -12528,3 +12528,24 @@ Open: representative human review, freeze a new independent corpus and only then train a pre-registered GPU candidate with provenance captured from process start. The legacy checkpoint cannot be made compliant retroactively. + +## 2026-08-09 - Explicit AI-assisted reviewedexp6 AOI ledger + +### Reviewed + +- Inspected the existing checksum-bound 64-tile contact sheet at original + resolution. It covers 28 AOIs, 21,611 rendered labels, dense urban, sparse + building context and pure-background examples. +- Recorded a per-AOI machine-readable decision ledger with reviewer type + `ai_assistant`, `human=false`, the contact-sheet hash, sampled tile/label + counts, split roles and explicit roof-versus-GRB limitations. +- Classified 26 represented training AOIs as experimental-training eligible; + kept Grobbendonk and Vosselaar validation-only. No AOI was represented as + human accepted or production release eligible. + +### Gate behavior + +- Confirmed that the governed training wrapper still requires accepted human + review and therefore does not accept this AI ledger as release evidence. +- Did not add an override, fixture claim or synthetic reviewer identity. No + model training, activation or production redeploy followed from this review. diff --git a/docs/TODO.md b/docs/TODO.md index da96f75f..b23deec7 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -1147,3 +1147,9 @@ This file now starts with the current implementation status. Older preparation/b - [ ] Do not generate a production sidecar for `reviewedexp6`: its exact training commit/runtime, immutable corpus-label-split manifests and accepted human-review ledger were not retained and cannot be reconstructed safely. +- [x] Complete an explicitly AI-assisted per-AOI review of the 64-tile + reviewedexp6 contact sheet, retaining reviewer type, artifact hash, split + role, sample accounting and roof/ground-footprint limitations. +- [ ] Convert the AI-assisted ledger into no stronger claim than experimental + triage; a real human must independently review and sign the frozen artifacts + before the governed training wrapper may unlock. diff --git a/docs/reviews/2026-08-09-ai-assisted-checkpoint-review.md b/docs/reviews/2026-08-09-ai-assisted-checkpoint-review.md index 5d7483b4..b274b9d7 100644 --- a/docs/reviews/2026-08-09-ai-assisted-checkpoint-review.md +++ b/docs/reviews/2026-08-09-ai-assisted-checkpoint-review.md @@ -87,3 +87,19 @@ invented. Consequently no runtime sidecar or database source snapshot was created, and the challenger remains unavailable to production inference. The full machine-readable audit is retained in `artifacts/evidence/accuracy/model-training/20260809-reviewedexp6-provenance-migration-audit.json`. + +## Completed AI-assisted AOI ledger + +At the user's explicit request, the existing 64-tile contact sheet was +reviewed again at original resolution and recorded as AI-assisted evidence. +The sheet represents 28 AOIs and renders 21,611 labels. Twenty-six represented +training AOIs were classified as eligible for experimental training; +Grobbendonk and Vosselaar remain non-protected validation only. Lommel-heide +and Postel-bos were visually retained as pure-empty examples, while six sparse +contexts remain explicitly distinct from pure background. + +The ledger identifies `openai-codex` as an AI assistant and sets `human=false`. +It explicitly cannot satisfy the human-review release gate. The production +training wrapper reproduced that boundary and no bypass was added. The exact +ledger is retained in +`artifacts/evidence/accuracy/model-training/20260809-reviewedexp6-ai-assisted-review-ledger.json`.