Preserve selected weights and publish qualified PROCEDURE reliability repair
Browse files- EVALUATION_SUMMARY.json +4 -0
- IMAGE_IDENTITY.json +27 -35
- LICENSE_PROVENANCE.md +1 -1
- LINEAGE.json +63 -7
- LOAD.md +20 -28
- MODEL_FILES.json +18 -12
- MODIFICATIONS.md +9 -1
- README.md +13 -11
- RELEASE_VERIFICATION.json +0 -0
- SOURCE_MANIFEST.json +128 -103
- image_root/app/VEHICLE_INPUTS.json +25 -12
- image_root/app/solution/entrypoint/lazy_video_staging.py +338 -0
- image_root/app/solution/entrypoint/probe_entrypoint.py +260 -193
- image_root/app/solution/shape_mode_diagnostic.py +103 -10
- image_root/app/solution/shape_mode_diagnostic_policy.json +2 -2
- verify_files.py +1 -1
EVALUATION_SUMMARY.json
CHANGED
|
@@ -1,4 +1,8 @@
|
|
| 1 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
"evaluation_gold_or_rows_included": false,
|
| 3 |
"fresh_native_protocol": {
|
| 4 |
"all_primary_outcomes_retained": 2174,
|
|
|
|
| 1 |
{
|
| 2 |
+
"current_repair_accuracy_evaluated": false,
|
| 3 |
+
"current_repair_note": "Historical counts are preserved exactly; native reliability qualification does not establish a new score.",
|
| 4 |
+
"current_repaired_image_config_digest": "sha256:94d0791cb96f3ac9248e9ec7c918e3bbdc5960646b48d201cb478d488fcda576",
|
| 5 |
+
"evaluated_image_config_digest": "sha256:8d3bbd92c7ef8f73ff058382bef1b8523ec55961b831422c1fb04226b31b35d5",
|
| 6 |
"evaluation_gold_or_rows_included": false,
|
| 7 |
"fresh_native_protocol": {
|
| 8 |
"all_primary_outcomes_retained": 2174,
|
IMAGE_IDENTITY.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
| 10 |
"LD_LIBRARY_PATH": "/usr/local/nvidia/lib:/usr/local/nvidia/lib64",
|
| 11 |
"NVIDIA_DRIVER_CAPABILITIES": "compute,utility",
|
| 12 |
"NVIDIA_VISIBLE_DEVICES": "all",
|
| 13 |
-
"ORENA_VEHICLE_MANIFEST_SHA256": "
|
| 14 |
"OWLV2_REVISION": "95e26936e865f87db1742128404b3c035d47d89d",
|
| 15 |
"PATH": "/usr/local/nvidia/bin:/usr/local/cuda/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
| 16 |
"PIP_NO_CACHE_DIR": "1",
|
|
@@ -82,52 +82,44 @@
|
|
| 82 |
"TRANSFORMERS_OFFLINE": "1"
|
| 83 |
},
|
| 84 |
"cloud_archive": {
|
| 85 |
-
"
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
},
|
| 90 |
-
"bytes": 52710560644,
|
| 91 |
-
"generation": "1789038565073769",
|
| 92 |
-
"sha256": "d633c21f620c4e4afbdd6dadb181dfc4d41a4fc446a6dbede1718cd949ac6acc",
|
| 93 |
-
"uri": "gs://heydonto-surgfield-research/finals/procedure/candidates/20260910/cloudbuild-normalized-8d3bbd92c7ef-c/procedure-q38-normalized-cache-8d3bbd92c7ef.tar.gz"
|
| 94 |
},
|
| 95 |
-
"config_digest": "sha256:
|
| 96 |
"contact": "Reza Nehzati, Ph.D.",
|
| 97 |
-
"
|
| 98 |
-
"bytes": 52772022248,
|
| 99 |
-
"compression_bytes_differ_from_cloud": true,
|
| 100 |
-
"config_and_layer_identity_same": true,
|
| 101 |
-
"sha256": "c5557475c46f61c83440d8245a72d280c45440093c0624c0613e464a2c15e284"
|
| 102 |
-
},
|
| 103 |
"extracting_files_does_not_reconstruct_qualified_OCI_environment": true,
|
| 104 |
"gid": 1000,
|
| 105 |
-
"
|
| 106 |
-
|
| 107 |
-
"path": "/private/tmp/orena-exact615-platform-compatibility-20260910-decode/source/IMAGE_INSPECT.json",
|
| 108 |
-
"sha256": "59eaf9428e043dfc583b89e4be551a2932b227cdd088d094dd0d4bc1a0aa325f"
|
| 109 |
-
},
|
| 110 |
-
"modal_image_id": "im-4LrYWcw7qaFZTa56rBmSvI",
|
| 111 |
"native_command": [
|
| 112 |
"/opt/conda/bin/python",
|
| 113 |
"-B",
|
| 114 |
"/app/runtime_zoom_entry.py",
|
| 115 |
"--submission"
|
| 116 |
],
|
| 117 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 118 |
"private_required": true,
|
| 119 |
-
"
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
"bytes": 118107,
|
| 124 |
-
"path": "/private/tmp/orena-pfull-best-native-comparison-20260910-decode-b/compiled/smoke_PLAN_PENDING.json",
|
| 125 |
-
"sha256": "a5db23c989c2877cdf1715db3a22ddf7887025ee8393c13988b8eaae7467401c"
|
| 126 |
},
|
| 127 |
-
"
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
|
|
|
|
|
|
|
|
|
| 131 |
},
|
| 132 |
"uid": 1000,
|
| 133 |
"workdir": "/app"
|
|
|
|
| 10 |
"LD_LIBRARY_PATH": "/usr/local/nvidia/lib:/usr/local/nvidia/lib64",
|
| 11 |
"NVIDIA_DRIVER_CAPABILITIES": "compute,utility",
|
| 12 |
"NVIDIA_VISIBLE_DEVICES": "all",
|
| 13 |
+
"ORENA_VEHICLE_MANIFEST_SHA256": "5950b563eb85bf7d9726dac150086407b8f52dcbd0d7c7a9331c510b97ef451e",
|
| 14 |
"OWLV2_REVISION": "95e26936e865f87db1742128404b3c035d47d89d",
|
| 15 |
"PATH": "/usr/local/nvidia/bin:/usr/local/cuda/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
| 16 |
"PIP_NO_CACHE_DIR": "1",
|
|
|
|
| 82 |
"TRANSFORMERS_OFFLINE": "1"
|
| 83 |
},
|
| 84 |
"cloud_archive": {
|
| 85 |
+
"bytes": 52775393310,
|
| 86 |
+
"generation": "1789119563478283",
|
| 87 |
+
"sha256": "b63dcf1bbee6554942a78edc823dfc4b38a89dba54f029acdd28a8c91bfa4a2d",
|
| 88 |
+
"uri": "gs://heydonto-surgfield-research/finals/procedure/candidates/20260911/procedure-diagnostic-repair-20260911-0846-b/procedure-diagnostic-repair-20260911-0846-b.tar.gz"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
},
|
| 90 |
+
"config_digest": "sha256:94d0791cb96f3ac9248e9ec7c918e3bbdc5960646b48d201cb478d488fcda576",
|
| 91 |
"contact": "Reza Nehzati, Ph.D.",
|
| 92 |
+
"downloaded_hf_assets_gpu_qualified": false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 93 |
"extracting_files_does_not_reconstruct_qualified_OCI_environment": true,
|
| 94 |
"gid": 1000,
|
| 95 |
+
"layer_count": 81,
|
| 96 |
+
"model_assets_modified": false,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 97 |
"native_command": [
|
| 98 |
"/opt/conda/bin/python",
|
| 99 |
"-B",
|
| 100 |
"/app/runtime_zoom_entry.py",
|
| 101 |
"--submission"
|
| 102 |
],
|
| 103 |
+
"original_asset_revision": "6a7fc05f196b98d751e3a14775d60f1161166d2a",
|
| 104 |
+
"original_image": {
|
| 105 |
+
"bytes": 5975,
|
| 106 |
+
"path": "IMAGE_IDENTITY.json",
|
| 107 |
+
"repository_revision": "b2176cf6d0f77e58e34a90583041b1a929417fb3",
|
| 108 |
+
"sha256": "913403bda9aea20157c859fa92566e20185a45a18a82ec83ebfb67f4e36dabf7"
|
| 109 |
+
},
|
| 110 |
"private_required": true,
|
| 111 |
+
"qualified_inputs": {
|
| 112 |
+
"bytes": 6555,
|
| 113 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/procedure/review/submission_failure_20260911/root_engineering_signoff_b/HF_QUALIFIED_INPUTS.json",
|
| 114 |
+
"sha256": "ae35644a58555c21ceb6e3c0685d3dcf126bf8b870df2c237a28cfea3327ef2d"
|
|
|
|
|
|
|
|
|
|
| 115 |
},
|
| 116 |
+
"registry_reference": "us-central1-docker.pkg.dev/heydonto-425716/surgfield/surgfield-proc-q38-validation@sha256:f0590e6d79097a37f502260cf665624bd4ca87e9cbda66d240d6d4db7d0bb63d",
|
| 117 |
+
"repository": "HeyDonto/SURGFIELD-ORena-2026-PROCEDURE-FINAL",
|
| 118 |
+
"schema": "procedure-hf-repaired-image-identity/1",
|
| 119 |
+
"source_manifest": {
|
| 120 |
+
"bytes": 52533,
|
| 121 |
+
"repo_path": "SOURCE_MANIFEST.json",
|
| 122 |
+
"sha256": "f0324e066f21fe9d5c9377a8ff60526503eebd05d90219397563a47e02cc6775"
|
| 123 |
},
|
| 124 |
"uid": 1000,
|
| 125 |
"workdir": "/app"
|
LICENSE_PROVENANCE.md
CHANGED
|
@@ -8,7 +8,7 @@ This document reports component terms and their evidence. It does not grant a ne
|
|
| 8 |
| Prequantized Qwen base | Quantized derivative of the recorded Qwen base | Exact selected tensor/config hashes and quantization configuration are in ASSET_MANIFEST.json and LINEAGE.json. Retain the Qwen notices; no new aggregate-package license is declared here. |
|
| 9 |
| Dense48 and Point320 LoRA adapters | Team-selected adaptations with upstream and data provenance | Exact terminal checkpoint ancestry is in LINEAGE.json. The existence of an upstream Apache license does not establish unrestricted rights to all data-derived material. |
|
| 10 |
| google/owlv2-large-patch14-ensemble auxiliary cache | Apache License 2.0 as recorded by the model card | Pinned revision `95e26936e865f87db1742128404b3c035d47d89d`; [Google's original card](https://huggingface.co/google/owlv2-large-patch14-ensemble/blob/95e26936e865f87db1742128404b3c035d47d89d/README.md), matching cached SHA-256 `a2e10c3916166f08eaf2ab43ca1eb63c6116df228dea655c56e4c8e1607ecfe9`. |
|
| 11 |
-
| Team inference source | Preserved exact source; no additional blanket grant recorded by this document | All
|
| 12 |
| Third-party Python/CUDA runtime | Per-package terms | Installed versions are observed in EXACT_DEPENDENCIES.json; the complete runtime is retained in the original OCI image rather than repackaged here. |
|
| 13 |
| Organizer/private data, annotations and six derived runtime priors | Source-specific access and usage terms | DATA_PROVENANCE.md and LINEAGE.json preserve the recorded sources, restrictions and remaining evidence limits. Private media and evaluation-bank payloads are excluded. |
|
| 14 |
|
|
|
|
| 8 |
| Prequantized Qwen base | Quantized derivative of the recorded Qwen base | Exact selected tensor/config hashes and quantization configuration are in ASSET_MANIFEST.json and LINEAGE.json. Retain the Qwen notices; no new aggregate-package license is declared here. |
|
| 9 |
| Dense48 and Point320 LoRA adapters | Team-selected adaptations with upstream and data provenance | Exact terminal checkpoint ancestry is in LINEAGE.json. The existence of an upstream Apache license does not establish unrestricted rights to all data-derived material. |
|
| 10 |
| google/owlv2-large-patch14-ensemble auxiliary cache | Apache License 2.0 as recorded by the model card | Pinned revision `95e26936e865f87db1742128404b3c035d47d89d`; [Google's original card](https://huggingface.co/google/owlv2-large-patch14-ensemble/blob/95e26936e865f87db1742128404b3c035d47d89d/README.md), matching cached SHA-256 `a2e10c3916166f08eaf2ab43ca1eb63c6116df228dea655c56e4c8e1607ecfe9`. |
|
| 11 |
+
| Team inference source | Preserved exact source; no additional blanket grant recorded by this document | All 85 repaired source file hashes are in SOURCE_MANIFEST.json. Existing notices remain intact. |
|
| 12 |
| Third-party Python/CUDA runtime | Per-package terms | Installed versions are observed in EXACT_DEPENDENCIES.json; the complete runtime is retained in the original OCI image rather than repackaged here. |
|
| 13 |
| Organizer/private data, annotations and six derived runtime priors | Source-specific access and usage terms | DATA_PROVENANCE.md and LINEAGE.json preserve the recorded sources, restrictions and remaining evidence limits. Private media and evaluation-bank payloads are excluded. |
|
| 14 |
|
LINEAGE.json
CHANGED
|
@@ -113,11 +113,10 @@
|
|
| 113 |
"sha256": "e9345708c455fd7b275781736f6aac2f23621e0251bab8484a8840dacf2bf5ca"
|
| 114 |
},
|
| 115 |
"hf_asset_revision": "6a7fc05f196b98d751e3a14775d60f1161166d2a",
|
| 116 |
-
"image_config_digest": "sha256:
|
| 117 |
"image_identity": {
|
| 118 |
-
"
|
| 119 |
-
"
|
| 120 |
-
"sha256": "913403bda9aea20157c859fa92566e20185a45a18a82ec83ebfb67f4e36dabf7"
|
| 121 |
},
|
| 122 |
"metadata_derivation": {
|
| 123 |
"asset_commit_creation_claimed": true,
|
|
@@ -141,6 +140,7 @@
|
|
| 141 |
"sha256": "4861d771843d543f75cd7a9d0440670f784f615522528b1504f17a6a3823367c"
|
| 142 |
}
|
| 143 |
},
|
|
|
|
| 144 |
"point_specialist": {
|
| 145 |
"acceptance_summary": {
|
| 146 |
"bytes": 1071,
|
|
@@ -399,8 +399,64 @@
|
|
| 399 |
},
|
| 400 |
"schema": "selected615-hf-lineage/1",
|
| 401 |
"source_manifest": {
|
| 402 |
-
"bytes":
|
| 403 |
-
"
|
| 404 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 405 |
}
|
| 406 |
}
|
|
|
|
| 113 |
"sha256": "e9345708c455fd7b275781736f6aac2f23621e0251bab8484a8840dacf2bf5ca"
|
| 114 |
},
|
| 115 |
"hf_asset_revision": "6a7fc05f196b98d751e3a14775d60f1161166d2a",
|
| 116 |
+
"image_config_digest": "sha256:94d0791cb96f3ac9248e9ec7c918e3bbdc5960646b48d201cb478d488fcda576",
|
| 117 |
"image_identity": {
|
| 118 |
+
"current_repaired_image_config_digest": "sha256:94d0791cb96f3ac9248e9ec7c918e3bbdc5960646b48d201cb478d488fcda576",
|
| 119 |
+
"repo_path": "IMAGE_IDENTITY.json"
|
|
|
|
| 120 |
},
|
| 121 |
"metadata_derivation": {
|
| 122 |
"asset_commit_creation_claimed": true,
|
|
|
|
| 140 |
"sha256": "4861d771843d543f75cd7a9d0440670f784f615522528b1504f17a6a3823367c"
|
| 141 |
}
|
| 142 |
},
|
| 143 |
+
"original_asset_revision": "6a7fc05f196b98d751e3a14775d60f1161166d2a",
|
| 144 |
"point_specialist": {
|
| 145 |
"acceptance_summary": {
|
| 146 |
"bytes": 1071,
|
|
|
|
| 399 |
},
|
| 400 |
"schema": "selected615-hf-lineage/1",
|
| 401 |
"source_manifest": {
|
| 402 |
+
"bytes": 52533,
|
| 403 |
+
"repo_path": "SOURCE_MANIFEST.json",
|
| 404 |
+
"sha256": "f0324e066f21fe9d5c9377a8ff60526503eebd05d90219397563a47e02cc6775"
|
| 405 |
+
},
|
| 406 |
+
"wrapper_repair": {
|
| 407 |
+
"downloaded_hf_assets_gpu_qualified": false,
|
| 408 |
+
"evaluation_score_repeated": false,
|
| 409 |
+
"model_assets_changed": false,
|
| 410 |
+
"net_changed_source_files": [
|
| 411 |
+
"VEHICLE_INPUTS.json",
|
| 412 |
+
"solution/entrypoint/lazy_video_staging.py",
|
| 413 |
+
"solution/entrypoint/probe_entrypoint.py",
|
| 414 |
+
"solution/shape_mode_diagnostic.py",
|
| 415 |
+
"solution/shape_mode_diagnostic_policy.json"
|
| 416 |
+
],
|
| 417 |
+
"original_image_config_digest": "sha256:8d3bbd92c7ef8f73ff058382bef1b8523ec55961b831422c1fb04226b31b35d5",
|
| 418 |
+
"predecessor_revision": "b2176cf6d0f77e58e34a90583041b1a929417fb3",
|
| 419 |
+
"qualified_inputs": {
|
| 420 |
+
"archive_verification": {
|
| 421 |
+
"bytes": 2954,
|
| 422 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/procedure/review/submission_failure_20260911/root_archive_acceptance_b/ACCEPTANCE.json",
|
| 423 |
+
"sha256": "b43fafffde783df8b7826e13bd300919acf056b3d857f920bd1307cc1f2c34b9"
|
| 424 |
+
},
|
| 425 |
+
"build_result": {
|
| 426 |
+
"bytes": 1056,
|
| 427 |
+
"path": "/private/tmp/orena-procedure-diagnostic-repair-monitor-20260911-training-b/poll0023/early_build/GET.stdout",
|
| 428 |
+
"sha256": "359476be5370228758c142f14d14b9e5145bbd69c92ed3ef43728a9b5c374c4e"
|
| 429 |
+
},
|
| 430 |
+
"image_inspect": {
|
| 431 |
+
"bytes": 25604,
|
| 432 |
+
"path": "/private/tmp/orena-procedure-diagnostic-repair-monitor-20260911-training-b/poll0023/early_inspect/GET.stdout",
|
| 433 |
+
"sha256": "15b5eadfb3c71425c27c9aa9b5eeba37058003bc78fd6afad4edcc2f8cd10e4b"
|
| 434 |
+
},
|
| 435 |
+
"image_source_verification": {
|
| 436 |
+
"bytes": 58697,
|
| 437 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/procedure/review/submission_failure_20260911/intake_diagnostic_source_b/REVIEW.json",
|
| 438 |
+
"sha256": "396e5b957b0f05f2176eb4e1b1c16c526462385c5e777c4baf15d655dbeb2e3d"
|
| 439 |
+
},
|
| 440 |
+
"native_verification": {
|
| 441 |
+
"bytes": 4319,
|
| 442 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_500_root_acceptance_a/ACCEPTANCE.json",
|
| 443 |
+
"sha256": "9a062ba1f9681a46c2b38cdeca12a5344ad795efb56a9c148b86b73dc226d53c"
|
| 444 |
+
},
|
| 445 |
+
"root_release_direction": {
|
| 446 |
+
"bytes": 7096,
|
| 447 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/procedure/review/submission_failure_20260911/root_engineering_signoff_b/SIGNOFF.json",
|
| 448 |
+
"sha256": "2ea5b6a7bb07593e485d6a31aa9c439f441275c0fe030b64a221802c84f84fc0"
|
| 449 |
+
},
|
| 450 |
+
"storage_verification": {
|
| 451 |
+
"bytes": 1346,
|
| 452 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_cloud_storage_root_review_b/REVIEW.json",
|
| 453 |
+
"sha256": "596e4f845d29338d1a661037b9da511c7a926d8fc5b095c1ebda8d31a69a9c01"
|
| 454 |
+
}
|
| 455 |
+
},
|
| 456 |
+
"source_preparation": {
|
| 457 |
+
"bytes": 65314,
|
| 458 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/PREPARATION.json",
|
| 459 |
+
"sha256": "94052eff5746e9001c839a2287fffda16ceaf90c7522a92fbb349332d5ead895"
|
| 460 |
+
}
|
| 461 |
}
|
| 462 |
}
|
LOAD.md
CHANGED
|
@@ -2,48 +2,40 @@
|
|
| 2 |
|
| 3 |
Repository: `HeyDonto/SURGFIELD-ORena-2026-PROCEDURE-FINAL`.
|
| 4 |
|
| 5 |
-
## Pin the
|
| 6 |
|
| 7 |
-
The
|
| 8 |
|
| 9 |
```text
|
| 10 |
-
|
|
|
|
| 11 |
```
|
| 12 |
|
| 13 |
-
A later metadata/documentation commit may contain this guide while referring back to this asset commit. Record both commits when reproducing an experiment; do not substitute `main` or a movable tag. The initial empty repository commit is not the asset release.
|
| 14 |
-
|
| 15 |
-
For an account granted read access to the private repository, use locally configured Hugging Face authentication. Do not paste a token into this guide or into a command that is stored in logs.
|
| 16 |
-
|
| 17 |
```python
|
| 18 |
import re
|
| 19 |
from huggingface_hub import snapshot_download
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
raise SystemExit("Set a full immutable asset commit before downloading")
|
| 24 |
-
|
| 25 |
snapshot = snapshot_download(
|
| 26 |
-
repo_id="HeyDonto/SURGFIELD-ORena-2026-PROCEDURE-FINAL",
|
| 27 |
-
|
| 28 |
-
revision=ASSET_REVISION,
|
| 29 |
-
local_dir="procedure-final-assets",
|
| 30 |
)
|
| 31 |
-
print(snapshot)
|
| 32 |
```
|
| 33 |
|
| 34 |
-
|
| 35 |
|
| 36 |
## Preserve the image paths
|
| 37 |
|
| 38 |
-
Most files are stored under `image_root/` with their original absolute image path made relative: `/app/artifacts/...` becomes `image_root/app/artifacts/...`, and `/app/runtime_zoom_entry.py` becomes `image_root/app/runtime_zoom_entry.py`. The [ASSET_MANIFEST.json](ASSET_MANIFEST.json) lists 46 physical asset files totaling 33,967,875,210 bytes and 11 relative OWLv2 snapshot aliases. [SOURCE_MANIFEST.json](SOURCE_MANIFEST.json) lists the
|
| 39 |
|
| 40 |
Run the bundled verifier from the trusted documentation checkout against the downloaded snapshot:
|
| 41 |
|
| 42 |
```bash
|
| 43 |
-
python3 -B verify_files.py procedure-final-
|
| 44 |
```
|
| 45 |
|
| 46 |
-
It authenticates both manifests, streams the SHA-256 of all
|
| 47 |
|
| 48 |
The Dense48 and Point320 adapters are distinct 247,513,400-byte files even though their 1,135-byte configuration files match. Both use the selected checkpoint 12,910. Do not merge, rename or exchange them, substitute another base revision, regenerate int8 weights, or install a later research adapter when reproducing this candidate.
|
| 49 |
|
|
@@ -56,7 +48,7 @@ The exact image reports Python **3.11.11** and the following installed versions:
|
|
| 56 |
```python
|
| 57 |
from load_components import load
|
| 58 |
|
| 59 |
-
processor, model = load("procedure-final-
|
| 60 |
# Dense48 is active initially. For a custom component-level experiment:
|
| 61 |
try:
|
| 62 |
model.set_adapter("point_object", inference_mode=True)
|
|
@@ -74,7 +66,7 @@ from pathlib import Path
|
|
| 74 |
from transformers import Owlv2Processor, Owlv2ForObjectDetection
|
| 75 |
|
| 76 |
owl_path = (
|
| 77 |
-
Path("procedure-final-
|
| 78 |
/ "image_root/app/hf_cache/huggingface/hub"
|
| 79 |
/ "models--google--owlv2-large-patch14-ensemble/snapshots"
|
| 80 |
/ "95e26936e865f87db1742128404b3c035d47d89d"
|
|
@@ -88,18 +80,18 @@ owl_model.eval()
|
|
| 88 |
|
| 89 |
This optional snippet follows the original detector's processor/model API and assumes the manifest verifier has restored the cache aliases. It is not a second whole-pipeline qualification.
|
| 90 |
|
| 91 |
-
The example checks exact package versions and CUDA availability. Its API sequence was checked with explicit CPU doubles and source-call comparison. Actual downloaded-asset CPU configuration, processor and header checks passed separately; the CUDA component-loading function itself has not been executed as a new GPU load. It intentionally does not recreate the native question router, warmups, per-request controller witnesses, input shell or temporal budget policy. Use the
|
| 92 |
|
| 93 |
## Reproduce the demonstrated runtime
|
| 94 |
|
| 95 |
-
The extracted files are not a standalone operating-system or Python environment. Loading them with an arbitrary current Transformers/PEFT installation is not the qualified native runtime. The
|
| 96 |
|
| 97 |
```text
|
| 98 |
-
us-central1-docker.pkg.dev/heydonto-425716/surgfield/surgfield-proc-q38-validation@sha256:
|
| 99 |
```
|
| 100 |
|
| 101 |
-
Its image configuration is `sha256:
|
| 102 |
|
| 103 |
The original default command is `/opt/conda/bin/python -B /app/runtime_zoom_entry.py --submission`, working directory `/app`, UID/GID 1000. The shell reads `/input/request.json`, organizer `/input/FO_definitions.json` and the supplied video layout, and writes `/output/answer.json` containing `{qID, content, latency}` records. Preserve the original input contract and use only data you are authorized to process. Private evaluation fixtures and reference answers are not supplied here.
|
| 104 |
|
| 105 |
-
|
|
|
|
| 2 |
|
| 3 |
Repository: `HeyDonto/SURGFIELD-ORena-2026-PROCEDURE-FINAL`.
|
| 4 |
|
| 5 |
+
## Pin the repaired source release
|
| 6 |
|
| 7 |
+
The original model-asset custody revision remains `6a7fc05f196b98d751e3a14775d60f1161166d2a`. Its prior full download and CPU checks concern the original asset/source snapshot and are preserved as history; they do not qualify this repaired source as an HF GPU load. Download the current repaired source and unchanged assets together at the immutable source release below. Do not combine the new verifier with an old 84-source snapshot.
|
| 8 |
|
| 9 |
```text
|
| 10 |
+
ORIGINAL_ASSET_PROVENANCE_REVISION=6a7fc05f196b98d751e3a14775d60f1161166d2a
|
| 11 |
+
SOURCE_REVISION=REPAIRED_SOURCE_COMMIT_PENDING_BINDING
|
| 12 |
```
|
| 13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
```python
|
| 15 |
import re
|
| 16 |
from huggingface_hub import snapshot_download
|
| 17 |
+
SOURCE_REVISION = "REPAIRED_SOURCE_COMMIT_PENDING_BINDING"
|
| 18 |
+
if not re.fullmatch(r"[0-9a-f]{40}", SOURCE_REVISION):
|
| 19 |
+
raise SystemExit("Bind the immutable repaired-source commit before downloading")
|
|
|
|
|
|
|
| 20 |
snapshot = snapshot_download(
|
| 21 |
+
repo_id="HeyDonto/SURGFIELD-ORena-2026-PROCEDURE-FINAL", repo_type="model",
|
| 22 |
+
revision=SOURCE_REVISION, local_dir="procedure-final-repaired",
|
|
|
|
|
|
|
| 23 |
)
|
|
|
|
| 24 |
```
|
| 25 |
|
| 26 |
+
Use locally configured private-repository authentication; never put a token in recorded source or commands. The publisher binds SOURCE_REVISION in a second small metadata commit after the source commit exists. No model weights are uploaded again.
|
| 27 |
|
| 28 |
## Preserve the image paths
|
| 29 |
|
| 30 |
+
Most files are stored under `image_root/` with their original absolute image path made relative: `/app/artifacts/...` becomes `image_root/app/artifacts/...`, and `/app/runtime_zoom_entry.py` becomes `image_root/app/runtime_zoom_entry.py`. The [ASSET_MANIFEST.json](ASSET_MANIFEST.json) lists 46 physical asset files totaling 33,967,875,210 bytes and 11 relative OWLv2 snapshot aliases. [SOURCE_MANIFEST.json](SOURCE_MANIFEST.json) lists the 85 exact repaired source files. [IMAGE_IDENTITY.json](IMAGE_IDENTITY.json) binds the current repaired image and archive, with original 8d3 ancestry. Both OWLv2 weight formats are retained by the asset inventory; this is a conservative complete cache set, not a minimum-file claim. Hugging Face disallows a `.cache` repository path segment, so the OWLv2 cache alone is stored under `image_root/app/hf_cache/` instead of its original `/app/.cache/`. The manifests preserve both `image_path` and `repo_path`, and aliases explicitly record `resolved_repo_path`. These manifests supply every selected path, byte size and SHA-256. Verify those values before using any component; directory names and adapter configuration alone do not establish tensor identity. Download canonical physical files once, then recreate the eleven relative aliases exactly from their repository mappings when reconstructing the cache. To restore the original image filesystem semantics in a separately assembled root, map the contents of `image_root/app/hf_cache/` back to `/app/.cache/`, preserving the relative links. Do not edit the baked `HF_HOME=/app/.cache/huggingface` configuration and call that an unchanged native run; this package does not overwrite a running container automatically. Never turn an alias into an unrelated model download.
|
| 31 |
|
| 32 |
Run the bundled verifier from the trusted documentation checkout against the downloaded snapshot:
|
| 33 |
|
| 34 |
```bash
|
| 35 |
+
python3 -B verify_files.py procedure-final-repaired --restore-aliases
|
| 36 |
```
|
| 37 |
|
| 38 |
+
It authenticates both manifests, streams the SHA-256 of all 131 selected physical asset/source files, and verifies or creates the eleven prescribed relative aliases. It refuses a mismatched existing alias rather than overwriting it. Without `--restore-aliases` it performs read-only verification. The pass result is file verification, not a model-load or GPU-runtime result.
|
| 39 |
|
| 40 |
The Dense48 and Point320 adapters are distinct 247,513,400-byte files even though their 1,135-byte configuration files match. Both use the selected checkpoint 12,910. Do not merge, rename or exchange them, substitute another base revision, regenerate int8 weights, or install a later research adapter when reproducing this candidate.
|
| 41 |
|
|
|
|
| 48 |
```python
|
| 49 |
from load_components import load
|
| 50 |
|
| 51 |
+
processor, model = load("procedure-final-repaired")
|
| 52 |
# Dense48 is active initially. For a custom component-level experiment:
|
| 53 |
try:
|
| 54 |
model.set_adapter("point_object", inference_mode=True)
|
|
|
|
| 66 |
from transformers import Owlv2Processor, Owlv2ForObjectDetection
|
| 67 |
|
| 68 |
owl_path = (
|
| 69 |
+
Path("procedure-final-repaired").resolve()
|
| 70 |
/ "image_root/app/hf_cache/huggingface/hub"
|
| 71 |
/ "models--google--owlv2-large-patch14-ensemble/snapshots"
|
| 72 |
/ "95e26936e865f87db1742128404b3c035d47d89d"
|
|
|
|
| 80 |
|
| 81 |
This optional snippet follows the original detector's processor/model API and assumes the manifest verifier has restored the cache aliases. It is not a second whole-pipeline qualification.
|
| 82 |
|
| 83 |
+
The example checks exact package versions and CUDA availability. Its API sequence was checked with explicit CPU doubles and source-call comparison. Actual downloaded-asset CPU configuration, processor and header checks passed separately; the CUDA component-loading function itself has not been executed as a new GPU load. It intentionally does not recreate the native question router, warmups, per-request controller witnesses, input shell or temporal budget policy. Use the repaired image below for its separately recorded native qualification; the HF component example itself has no new GPU qualification.
|
| 84 |
|
| 85 |
## Reproduce the demonstrated runtime
|
| 86 |
|
| 87 |
+
The extracted files are not a standalone operating-system or Python environment. Loading them with an arbitrary current Transformers/PEFT installation is not the qualified native runtime. The current repaired OCI image is:
|
| 88 |
|
| 89 |
```text
|
| 90 |
+
us-central1-docker.pkg.dev/heydonto-425716/surgfield/surgfield-proc-q38-validation@sha256:f0590e6d79097a37f502260cf665624bd4ca87e9cbda66d240d6d4db7d0bb63d
|
| 91 |
```
|
| 92 |
|
| 93 |
+
Its image configuration is `sha256:94d0791cb96f3ac9248e9ec7c918e3bbdc5960646b48d201cb478d488fcda576`. The archive has SHA-256 `b63dcf1bbee6554942a78edc823dfc4b38a89dba54f029acdd28a8c91bfa4a2d` and size 52,775,393,310 bytes, at generation `1789119563478283` of `gs://heydonto-surgfield-research/finals/procedure/candidates/20260911/procedure-diagnostic-repair-20260911-0846-b/procedure-diagnostic-repair-20260911-0846-b.tar.gz`. Original 8d3 remains immutable ancestry at revision `b2176cf6d0f77e58e34a90583041b1a929417fb3`. Registry/GCS access is separate from HF access; the archive is not duplicated here.
|
| 94 |
|
| 95 |
The original default command is `/opt/conda/bin/python -B /app/runtime_zoom_entry.py --submission`, working directory `/app`, UID/GID 1000. The shell reads `/input/request.json`, organizer `/input/FO_definitions.json` and the supplied video layout, and writes `/output/answer.json` containing `{qID, content, latency}` records. Preserve the original input contract and use only data you are authorized to process. Private evaluation fixtures and reference answers are not supplied here.
|
| 96 |
|
| 97 |
+
Historical8d3 native score checks used H100 with 16 CPUs and 196,608 MiB; current repaired-image execution checks are separately scoped in RELEASE_VERIFICATION.json. These resources describe those experiments; they are not a proven minimum or a claim that every deployment meets the original process budget. Preserve the image's default entrypoint, flags and environment for an exact comparison.
|
MODEL_FILES.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
| 1 |
{
|
| 2 |
"aliases_file": "MODEL_ALIASES.json",
|
| 3 |
-
"file_count":
|
| 4 |
"files": {
|
| 5 |
"image_root/app/VEHICLE_INPUTS.json": {
|
| 6 |
-
"bytes":
|
| 7 |
"image_path": "/app/VEHICLE_INPUTS.json",
|
| 8 |
"role": "serving_source",
|
| 9 |
-
"sha256": "
|
| 10 |
},
|
| 11 |
"image_root/app/artifacts/cholec_priors_v39_organizer.json": {
|
| 12 |
"bytes": 3920,
|
|
@@ -380,6 +380,12 @@
|
|
| 380 |
"role": "serving_source",
|
| 381 |
"sha256": "78b13b81ad457d8930d0bc013d101ce62e4e7a2bce4712b1cf3f5a1320d8ecc6"
|
| 382 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 383 |
"image_root/app/solution/entrypoint/native_video_input.py": {
|
| 384 |
"bytes": 9923,
|
| 385 |
"image_path": "/app/solution/entrypoint/native_video_input.py",
|
|
@@ -393,10 +399,10 @@
|
|
| 393 |
"sha256": "a55143dfdbeca52503e225a8a1d2529ef359d3f905ee00ae4d919c6c885c065f"
|
| 394 |
},
|
| 395 |
"image_root/app/solution/entrypoint/probe_entrypoint.py": {
|
| 396 |
-
"bytes":
|
| 397 |
"image_path": "/app/solution/entrypoint/probe_entrypoint.py",
|
| 398 |
"role": "serving_source",
|
| 399 |
-
"sha256": "
|
| 400 |
},
|
| 401 |
"image_root/app/solution/entrypoint/segment_temporal_seam.py": {
|
| 402 |
"bytes": 11930,
|
|
@@ -699,16 +705,16 @@
|
|
| 699 |
"sha256": "aaba4f369949295fe156a7862d91c5bbf13a9f9954077e302a7b918f0fac703b"
|
| 700 |
},
|
| 701 |
"image_root/app/solution/shape_mode_diagnostic.py": {
|
| 702 |
-
"bytes":
|
| 703 |
"image_path": "/app/solution/shape_mode_diagnostic.py",
|
| 704 |
"role": "serving_source",
|
| 705 |
-
"sha256": "
|
| 706 |
},
|
| 707 |
"image_root/app/solution/shape_mode_diagnostic_policy.json": {
|
| 708 |
-
"bytes":
|
| 709 |
"image_path": "/app/solution/shape_mode_diagnostic_policy.json",
|
| 710 |
"role": "serving_source",
|
| 711 |
-
"sha256": "
|
| 712 |
},
|
| 713 |
"image_root/app/solution/smoke_observation.py": {
|
| 714 |
"bytes": 4655,
|
|
@@ -783,9 +789,9 @@
|
|
| 783 |
"sha256": "225f06c54f4fbff02cfa88391aefe04a6449c35c9a43bcb86d33a5969175d9d0"
|
| 784 |
}
|
| 785 |
},
|
| 786 |
-
"generation": "
|
| 787 |
-
"image_config_sha256": "
|
| 788 |
"repository": "HeyDonto/SURGFIELD-ORena-2026-PROCEDURE-FINAL",
|
| 789 |
"schema": "procedure-hf-model-files/1",
|
| 790 |
-
"total_bytes":
|
| 791 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"aliases_file": "MODEL_ALIASES.json",
|
| 3 |
+
"file_count": 131,
|
| 4 |
"files": {
|
| 5 |
"image_root/app/VEHICLE_INPUTS.json": {
|
| 6 |
+
"bytes": 77541,
|
| 7 |
"image_path": "/app/VEHICLE_INPUTS.json",
|
| 8 |
"role": "serving_source",
|
| 9 |
+
"sha256": "5950b563eb85bf7d9726dac150086407b8f52dcbd0d7c7a9331c510b97ef451e"
|
| 10 |
},
|
| 11 |
"image_root/app/artifacts/cholec_priors_v39_organizer.json": {
|
| 12 |
"bytes": 3920,
|
|
|
|
| 380 |
"role": "serving_source",
|
| 381 |
"sha256": "78b13b81ad457d8930d0bc013d101ce62e4e7a2bce4712b1cf3f5a1320d8ecc6"
|
| 382 |
},
|
| 383 |
+
"image_root/app/solution/entrypoint/lazy_video_staging.py": {
|
| 384 |
+
"bytes": 16076,
|
| 385 |
+
"image_path": "/app/solution/entrypoint/lazy_video_staging.py",
|
| 386 |
+
"role": "serving_source",
|
| 387 |
+
"sha256": "faa24dfcfef510629ccc522b563461fe3454c8d0ea32f6228674e5fdbe36523e"
|
| 388 |
+
},
|
| 389 |
"image_root/app/solution/entrypoint/native_video_input.py": {
|
| 390 |
"bytes": 9923,
|
| 391 |
"image_path": "/app/solution/entrypoint/native_video_input.py",
|
|
|
|
| 399 |
"sha256": "a55143dfdbeca52503e225a8a1d2529ef359d3f905ee00ae4d919c6c885c065f"
|
| 400 |
},
|
| 401 |
"image_root/app/solution/entrypoint/probe_entrypoint.py": {
|
| 402 |
+
"bytes": 70789,
|
| 403 |
"image_path": "/app/solution/entrypoint/probe_entrypoint.py",
|
| 404 |
"role": "serving_source",
|
| 405 |
+
"sha256": "b648bb96cc0efcd8321fa73e17660e2b2490064ea8c33146d49e6f46bafb91fa"
|
| 406 |
},
|
| 407 |
"image_root/app/solution/entrypoint/segment_temporal_seam.py": {
|
| 408 |
"bytes": 11930,
|
|
|
|
| 705 |
"sha256": "aaba4f369949295fe156a7862d91c5bbf13a9f9954077e302a7b918f0fac703b"
|
| 706 |
},
|
| 707 |
"image_root/app/solution/shape_mode_diagnostic.py": {
|
| 708 |
+
"bytes": 16464,
|
| 709 |
"image_path": "/app/solution/shape_mode_diagnostic.py",
|
| 710 |
"role": "serving_source",
|
| 711 |
+
"sha256": "47d8d6161e2df496d60b4a151cba9b118fcf28a5d2bf1561495b56b6ff67c080"
|
| 712 |
},
|
| 713 |
"image_root/app/solution/shape_mode_diagnostic_policy.json": {
|
| 714 |
+
"bytes": 554,
|
| 715 |
"image_path": "/app/solution/shape_mode_diagnostic_policy.json",
|
| 716 |
"role": "serving_source",
|
| 717 |
+
"sha256": "b4dcbfd21bc34635269f665cb7f29798cb6b91abd88d3651b3102d628346c3ef"
|
| 718 |
},
|
| 719 |
"image_root/app/solution/smoke_observation.py": {
|
| 720 |
"bytes": 4655,
|
|
|
|
| 789 |
"sha256": "225f06c54f4fbff02cfa88391aefe04a6449c35c9a43bcb86d33a5969175d9d0"
|
| 790 |
}
|
| 791 |
},
|
| 792 |
+
"generation": "Original 46 model-asset entries preserved at 6a7 immutable custody; current 85 serving source bytepins match the qualified repaired image. No model payload re-upload.",
|
| 793 |
+
"image_config_sha256": "94d0791cb96f3ac9248e9ec7c918e3bbdc5960646b48d201cb478d488fcda576",
|
| 794 |
"repository": "HeyDonto/SURGFIELD-ORena-2026-PROCEDURE-FINAL",
|
| 795 |
"schema": "procedure-hf-model-files/1",
|
| 796 |
+
"total_bytes": 33968884405
|
| 797 |
}
|
MODIFICATIONS.md
CHANGED
|
@@ -2,7 +2,15 @@
|
|
| 2 |
|
| 3 |
Prepared by **HeyDonto Labs** for `HeyDonto/SURGFIELD-ORena-2026-PROCEDURE-FINAL`. Contact: **Reza Nehzati, Ph.D.**
|
| 4 |
|
| 5 |
-
The
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
|
| 7 |
## Model adaptation
|
| 8 |
|
|
|
|
| 2 |
|
| 3 |
Prepared by **HeyDonto Labs** for `HeyDonto/SURGFIELD-ORena-2026-PROCEDURE-FINAL`. Contact: **Reza Nehzati, Ph.D.**
|
| 4 |
|
| 5 |
+
The current source is copied byte-for-byte from the qualified repaired image `sha256:94d0791cb96f3ac9248e9ec7c918e3bbdc5960646b48d201cb478d488fcda576`. Original 8d3 is retained as ancestry at immutable revision `b2176cf6d0f77e58e34a90583041b1a929417fb3`. No model weights, adapter configuration, router, prompt, frame sampler, temporal window or inference clock is changed by this repair.
|
| 6 |
+
|
| 7 |
+
## Reliability maintenance
|
| 8 |
+
|
| 9 |
+
The five net changes are `VEHICLE_INPUTS.json`, `solution/entrypoint/probe_entrypoint.py`, new `solution/entrypoint/lazy_video_staging.py`, `solution/shape_mode_diagnostic.py` and its policy. ZIP metadata is catalogued before serving; requested clips are materialized one at a time, released after request/loader cleanup, and the owned staging directory is removed. Input-root aliases remain allowed; unsafe descendant links and archive paths are refused.
|
| 10 |
+
|
| 11 |
+
Diagnostics are bounded to 16,384 events/16 MiB. Recording stops after its event/byte quota or narrow ENOSPC/EDQUOT exhaustion while inference and policy/model/identity checks continue. A normal-exit saturation receipt is best effort and may be absent after forced termination. A cleanup failure may leave one bounded partial record. The separate runtime_media 512-file/128 MiB limit is unchanged and may retain a coarse temporal answer when refinement metadata fills it.
|
| 12 |
+
|
| 13 |
+
This maintenance is an execution-reliability change, not a new score experiment.
|
| 14 |
|
| 15 |
## Model adaptation
|
| 16 |
|
README.md
CHANGED
|
@@ -13,20 +13,22 @@ tags:
|
|
| 13 |
|
| 14 |
**HeyDonto Labs** · Corresponding contact: **Reza Nehzati, Ph.D.**
|
| 15 |
|
| 16 |
-
This private repository
|
| 17 |
|
| 18 |
-
The
|
| 19 |
|
| 20 |
-
##
|
| 21 |
|
| 22 |
| Identity | Value |
|
| 23 |
|---|---|
|
| 24 |
-
|
|
| 25 |
-
| Registry
|
| 26 |
-
|
|
| 27 |
-
|
|
| 28 |
| Native entrypoint | `/opt/conda/bin/python -B /app/runtime_zoom_entry.py --submission` |
|
| 29 |
-
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
## Method
|
| 32 |
|
|
@@ -34,9 +36,9 @@ The serving path combines an int8 vision-language base with separate Dense48 and
|
|
| 34 |
|
| 35 |
The recorded upstream base is `Qwen/Qwen3.8-27B`; the shipped configuration architecture is `Qwen3_5ForConditionalGeneration`. Point320 denotes its 320-tensor adapter payload, not 320 optimizer steps. Exact configuration, adapter hyperparameters, auxiliary assets and upstream revisions are disclosed in the asset inventory and [MODIFICATIONS.md](MODIFICATIONS.md). Older weights retained inside the original image are listed separately from the active selected payload. They are not silently substituted into this handoff.
|
| 36 |
|
| 37 |
-
##
|
| 38 |
|
| 39 |
-
These are local research results, not official challenge standings. [EVALUATION_SUMMARY.json](EVALUATION_SUMMARY.json) provides aggregate counts and the independent review hash without releasing per-question data.
|
| 40 |
|
| 41 |
| Evaluation protocol | Selected candidate | Comparator | Processing failures retained |
|
| 42 |
|---|---:|---:|---|
|
|
@@ -48,7 +50,7 @@ The fresh comparison used the unchanged images on H100 with 16 CPUs and 196,608
|
|
| 48 |
|
| 49 |
The 1,087-question development population contains no challenge OOD rows and only one clinical-flagged row. It was used during development and selection; repeated use, correlated questions within videos and selection bias limit transfer claims. The results establish neither a clinical accuracy estimate nor a finals Copeland rank, and do not establish official platform superiority.
|
| 50 |
|
| 51 |
-
The
|
| 52 |
|
| 53 |
A separate private, one-surgery, six-predicate diagnostic retained all 12 selected-image observations as processing/observation failures; it yielded no qualified matched accuracy comparison. Its media, labels and derivatives remain evaluation-only and are not included here.
|
| 54 |
|
|
|
|
| 13 |
|
| 14 |
**HeyDonto Labs** · Corresponding contact: **Reza Nehzati, Ph.D.**
|
| 15 |
|
| 16 |
+
This private repository contains a reliability repair of the retained PROCEDURE8d3 candidate. The int8 base, Dense48, Point320, auxiliary assets and six runtime-prior JSON files are unchanged. Five net serving files implement bounded per-clip staging and diagnostic saturation handling; [MODIFICATIONS.md](MODIFICATIONS.md) describes them. No private media or evaluation banks are distributed. Original source unit-test fixtures may remain.
|
| 17 |
|
| 18 |
+
The current source tree has 85 files at `image_root/app/`. Model assets retain immutable custody at `6a7fc05f196b98d751e3a14775d60f1161166d2a`; [LOAD.md](LOAD.md) binds the repaired source release. The historical downloaded-asset CPU checks did not perform GPU generation. This update does not claim an HF GPU component qualification or a new accuracy score.
|
| 19 |
|
| 20 |
+
## Current repaired image
|
| 21 |
|
| 22 |
| Identity | Value |
|
| 23 |
|---|---|
|
| 24 |
+
| Configuration | `sha256:94d0791cb96f3ac9248e9ec7c918e3bbdc5960646b48d201cb478d488fcda576` |
|
| 25 |
+
| Registry | `us-central1-docker.pkg.dev/heydonto-425716/surgfield/surgfield-proc-q38-validation@sha256:f0590e6d79097a37f502260cf665624bd4ca87e9cbda66d240d6d4db7d0bb63d` |
|
| 26 |
+
| Archive SHA-256 | `b63dcf1bbee6554942a78edc823dfc4b38a89dba54f029acdd28a8c91bfa4a2d` |
|
| 27 |
+
| Archive bytes | 52,775,393,310 |
|
| 28 |
| Native entrypoint | `/opt/conda/bin/python -B /app/runtime_zoom_entry.py --submission` |
|
| 29 |
+
| Identity | UID/GID 1000; Python 3.11.11 |
|
| 30 |
+
|
| 31 |
+
Current native/storage qualification is recorded separately in [RELEASE_VERIFICATION.json](RELEASE_VERIFICATION.json). The current 81-layer image consists of 79 selected 8d3 layers, one staging repair layer and one diagnostic repair layer.
|
| 32 |
|
| 33 |
## Method
|
| 34 |
|
|
|
|
| 36 |
|
| 37 |
The recorded upstream base is `Qwen/Qwen3.8-27B`; the shipped configuration architecture is `Qwen3_5ForConditionalGeneration`. Point320 denotes its 320-tensor adapter payload, not 320 optimizer steps. Exact configuration, adapter hyperparameters, auxiliary assets and upstream revisions are disclosed in the asset inventory and [MODIFICATIONS.md](MODIFICATIONS.md). Older weights retained inside the original image are listed separately from the active selected payload. They are not silently substituted into this handoff.
|
| 38 |
|
| 39 |
+
## Historical evaluation of original 8d3
|
| 40 |
|
| 41 |
+
The following numbers belong to original 8d3 and were not rerun on this repair. These are local research results, not official challenge standings. [EVALUATION_SUMMARY.json](EVALUATION_SUMMARY.json) provides aggregate counts and the independent review hash without releasing per-question data.
|
| 42 |
|
| 43 |
| Evaluation protocol | Selected candidate | Comparator | Processing failures retained |
|
| 44 |
|---|---:|---:|---|
|
|
|
|
| 50 |
|
| 51 |
The 1,087-question development population contains no challenge OOD rows and only one clinical-flagged row. It was used during development and selection; repeated use, correlated questions within videos and selection bias limit transfer claims. The results establish neither a clinical accuracy estimate nor a finals Copeland rank, and do not establish official platform superiority.
|
| 52 |
|
| 53 |
+
The original 8d3 archive also completed the organizer's ten-question canonical compatibility fixture in two local input layouts. Owner-supplied platform try-out output matched those ten answer strings. Each layout showed nine question-bound VLM answers and one rule answer for the original invalid clip. This is an execution-compatibility observation, not an accuracy benchmark or independent organizer approval of this repository.
|
| 54 |
|
| 55 |
A separate private, one-surgery, six-predicate diagnostic retained all 12 selected-image observations as processing/observation failures; it yielded no qualified matched accuracy comparison. Its media, labels and derivatives remain evaluation-only and are not included here.
|
| 56 |
|
RELEASE_VERIFICATION.json
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
SOURCE_MANIFEST.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
| 1 |
{
|
| 2 |
-
"
|
| 3 |
-
"
|
|
|
|
| 4 |
"files": {
|
| 5 |
"/app/VEHICLE_INPUTS.json": {
|
| 6 |
-
"bytes":
|
| 7 |
"image_path": "/app/VEHICLE_INPUTS.json",
|
| 8 |
"repo_path": "image_root/app/VEHICLE_INPUTS.json",
|
| 9 |
-
"sha256": "
|
| 10 |
"source_evidence": {
|
| 11 |
-
"bytes":
|
| 12 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 13 |
-
"sha256": "
|
| 14 |
}
|
| 15 |
},
|
| 16 |
"/app/run_as_app.py": {
|
|
@@ -20,7 +21,7 @@
|
|
| 20 |
"sha256": "db56fbfd1d53fd9be943efe138ece5aa1b15d69067b4c8c800e2291f68401bc4",
|
| 21 |
"source_evidence": {
|
| 22 |
"bytes": 1933,
|
| 23 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 24 |
"sha256": "db56fbfd1d53fd9be943efe138ece5aa1b15d69067b4c8c800e2291f68401bc4"
|
| 25 |
}
|
| 26 |
},
|
|
@@ -31,7 +32,7 @@
|
|
| 31 |
"sha256": "2e321dc21f2ad6870be04f5e451ce292501e6d25e2b1fec3dfeef7138017136d",
|
| 32 |
"source_evidence": {
|
| 33 |
"bytes": 3442,
|
| 34 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 35 |
"sha256": "2e321dc21f2ad6870be04f5e451ce292501e6d25e2b1fec3dfeef7138017136d"
|
| 36 |
}
|
| 37 |
},
|
|
@@ -42,7 +43,7 @@
|
|
| 42 |
"sha256": "ac44daa78b946456a755b44c40c06ea07ea8708206d64b98fd2bcb25039f43e5",
|
| 43 |
"source_evidence": {
|
| 44 |
"bytes": 4645,
|
| 45 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 46 |
"sha256": "ac44daa78b946456a755b44c40c06ea07ea8708206d64b98fd2bcb25039f43e5"
|
| 47 |
}
|
| 48 |
},
|
|
@@ -53,7 +54,7 @@
|
|
| 53 |
"sha256": "2f2f3872a9253680b1f55d19e528fd63d3eb26979a914312336e5766e0ce2063",
|
| 54 |
"source_evidence": {
|
| 55 |
"bytes": 523,
|
| 56 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 57 |
"sha256": "2f2f3872a9253680b1f55d19e528fd63d3eb26979a914312336e5766e0ce2063"
|
| 58 |
}
|
| 59 |
},
|
|
@@ -64,7 +65,7 @@
|
|
| 64 |
"sha256": "a5ba6d860c5f8b5287f3f5371a35e89441b3c2f3a05e2ae65a6f6af47568d4d6",
|
| 65 |
"source_evidence": {
|
| 66 |
"bytes": 1890,
|
| 67 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 68 |
"sha256": "a5ba6d860c5f8b5287f3f5371a35e89441b3c2f3a05e2ae65a6f6af47568d4d6"
|
| 69 |
}
|
| 70 |
},
|
|
@@ -75,7 +76,7 @@
|
|
| 75 |
"sha256": "1db83ecfa981c5aced597886d8f9bfb2b75e6718db2076de0d62626248330707",
|
| 76 |
"source_evidence": {
|
| 77 |
"bytes": 370,
|
| 78 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 79 |
"sha256": "1db83ecfa981c5aced597886d8f9bfb2b75e6718db2076de0d62626248330707"
|
| 80 |
}
|
| 81 |
},
|
|
@@ -86,7 +87,7 @@
|
|
| 86 |
"sha256": "d536c76ad2ba29d83301e7db25c7c38fb8cca0c008f01ce4bd6bb103e8c7271a",
|
| 87 |
"source_evidence": {
|
| 88 |
"bytes": 11710,
|
| 89 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 90 |
"sha256": "d536c76ad2ba29d83301e7db25c7c38fb8cca0c008f01ce4bd6bb103e8c7271a"
|
| 91 |
}
|
| 92 |
},
|
|
@@ -97,7 +98,7 @@
|
|
| 97 |
"sha256": "acb44b6e8f9bf41416f8c1876ea29ec5afb534ada099c848bb007e7cb1810648",
|
| 98 |
"source_evidence": {
|
| 99 |
"bytes": 29850,
|
| 100 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 101 |
"sha256": "acb44b6e8f9bf41416f8c1876ea29ec5afb534ada099c848bb007e7cb1810648"
|
| 102 |
}
|
| 103 |
},
|
|
@@ -108,7 +109,7 @@
|
|
| 108 |
"sha256": "f021a33e82bcfe50e5ca2d2035db30bff6a2fc806f422529ad870ce4427ccf97",
|
| 109 |
"source_evidence": {
|
| 110 |
"bytes": 15765,
|
| 111 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 112 |
"sha256": "f021a33e82bcfe50e5ca2d2035db30bff6a2fc806f422529ad870ce4427ccf97"
|
| 113 |
}
|
| 114 |
},
|
|
@@ -119,7 +120,7 @@
|
|
| 119 |
"sha256": "10c104934923d16c1f16001784543b1835b79e0f9e18e12f0290743fa16d12ba",
|
| 120 |
"source_evidence": {
|
| 121 |
"bytes": 18665,
|
| 122 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 123 |
"sha256": "10c104934923d16c1f16001784543b1835b79e0f9e18e12f0290743fa16d12ba"
|
| 124 |
}
|
| 125 |
},
|
|
@@ -130,7 +131,7 @@
|
|
| 130 |
"sha256": "df39335c4843e814b354b2e587bf48a77aebbe88325be99a6f7e2f9e136474c7",
|
| 131 |
"source_evidence": {
|
| 132 |
"bytes": 21477,
|
| 133 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 134 |
"sha256": "df39335c4843e814b354b2e587bf48a77aebbe88325be99a6f7e2f9e136474c7"
|
| 135 |
}
|
| 136 |
},
|
|
@@ -141,7 +142,7 @@
|
|
| 141 |
"sha256": "9c8bfec8df2effb3b642c2bbd092dcecf837b851e81c45008c531e5dcc0a1a58",
|
| 142 |
"source_evidence": {
|
| 143 |
"bytes": 8568,
|
| 144 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 145 |
"sha256": "9c8bfec8df2effb3b642c2bbd092dcecf837b851e81c45008c531e5dcc0a1a58"
|
| 146 |
}
|
| 147 |
},
|
|
@@ -152,7 +153,7 @@
|
|
| 152 |
"sha256": "77e456a223eecea09a4d60c0a48d9527c21a1c6c5a94e894066ef682d1a8a1ea",
|
| 153 |
"source_evidence": {
|
| 154 |
"bytes": 233,
|
| 155 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 156 |
"sha256": "77e456a223eecea09a4d60c0a48d9527c21a1c6c5a94e894066ef682d1a8a1ea"
|
| 157 |
}
|
| 158 |
},
|
|
@@ -163,7 +164,7 @@
|
|
| 163 |
"sha256": "c8ec558c4c933c3ba17029996124b42e21e6558b0635ece6cd01f4c3e290d5dd",
|
| 164 |
"source_evidence": {
|
| 165 |
"bytes": 6483,
|
| 166 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 167 |
"sha256": "c8ec558c4c933c3ba17029996124b42e21e6558b0635ece6cd01f4c3e290d5dd"
|
| 168 |
}
|
| 169 |
},
|
|
@@ -174,7 +175,7 @@
|
|
| 174 |
"sha256": "57f9cf61438193b0aa4ccbbf8564c6eb1338301f8ae6f6e9507b38edef1fc70c",
|
| 175 |
"source_evidence": {
|
| 176 |
"bytes": 5906,
|
| 177 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 178 |
"sha256": "57f9cf61438193b0aa4ccbbf8564c6eb1338301f8ae6f6e9507b38edef1fc70c"
|
| 179 |
}
|
| 180 |
},
|
|
@@ -185,10 +186,21 @@
|
|
| 185 |
"sha256": "78b13b81ad457d8930d0bc013d101ce62e4e7a2bce4712b1cf3f5a1320d8ecc6",
|
| 186 |
"source_evidence": {
|
| 187 |
"bytes": 2525,
|
| 188 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 189 |
"sha256": "78b13b81ad457d8930d0bc013d101ce62e4e7a2bce4712b1cf3f5a1320d8ecc6"
|
| 190 |
}
|
| 191 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 192 |
"/app/solution/entrypoint/native_video_input.py": {
|
| 193 |
"bytes": 9923,
|
| 194 |
"image_path": "/app/solution/entrypoint/native_video_input.py",
|
|
@@ -196,7 +208,7 @@
|
|
| 196 |
"sha256": "8269a3f520d5dc78e25ca847aae438b7697f3f3e165e1e28d50a0b48e45ab067",
|
| 197 |
"source_evidence": {
|
| 198 |
"bytes": 9923,
|
| 199 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 200 |
"sha256": "8269a3f520d5dc78e25ca847aae438b7697f3f3e165e1e28d50a0b48e45ab067"
|
| 201 |
}
|
| 202 |
},
|
|
@@ -207,19 +219,19 @@
|
|
| 207 |
"sha256": "a55143dfdbeca52503e225a8a1d2529ef359d3f905ee00ae4d919c6c885c065f",
|
| 208 |
"source_evidence": {
|
| 209 |
"bytes": 16203,
|
| 210 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 211 |
"sha256": "a55143dfdbeca52503e225a8a1d2529ef359d3f905ee00ae4d919c6c885c065f"
|
| 212 |
}
|
| 213 |
},
|
| 214 |
"/app/solution/entrypoint/probe_entrypoint.py": {
|
| 215 |
-
"bytes":
|
| 216 |
"image_path": "/app/solution/entrypoint/probe_entrypoint.py",
|
| 217 |
"repo_path": "image_root/app/solution/entrypoint/probe_entrypoint.py",
|
| 218 |
-
"sha256": "
|
| 219 |
"source_evidence": {
|
| 220 |
-
"bytes":
|
| 221 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 222 |
-
"sha256": "
|
| 223 |
}
|
| 224 |
},
|
| 225 |
"/app/solution/entrypoint/segment_temporal_seam.py": {
|
|
@@ -229,7 +241,7 @@
|
|
| 229 |
"sha256": "d6068a4b344d195d25b432fc86ccf155a296df5d862289ed3e9de78694e78fef",
|
| 230 |
"source_evidence": {
|
| 231 |
"bytes": 11930,
|
| 232 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 233 |
"sha256": "d6068a4b344d195d25b432fc86ccf155a296df5d862289ed3e9de78694e78fef"
|
| 234 |
}
|
| 235 |
},
|
|
@@ -240,7 +252,7 @@
|
|
| 240 |
"sha256": "1bf7f9be1006fe6af80967c4f3964fb500937b7d8c16e760d27393b2f17d9d92",
|
| 241 |
"source_evidence": {
|
| 242 |
"bytes": 34488,
|
| 243 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 244 |
"sha256": "1bf7f9be1006fe6af80967c4f3964fb500937b7d8c16e760d27393b2f17d9d92"
|
| 245 |
}
|
| 246 |
},
|
|
@@ -251,7 +263,7 @@
|
|
| 251 |
"sha256": "8dfe1a316ae31841484b7e886191e82b69a7a77357f83cec9b257707f61e05ba",
|
| 252 |
"source_evidence": {
|
| 253 |
"bytes": 8998,
|
| 254 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 255 |
"sha256": "8dfe1a316ae31841484b7e886191e82b69a7a77357f83cec9b257707f61e05ba"
|
| 256 |
}
|
| 257 |
},
|
|
@@ -262,7 +274,7 @@
|
|
| 262 |
"sha256": "db5b4ebdf04f6803723168bfee39e3bd6e0344df1d5dfa57248311435fbeb37a",
|
| 263 |
"source_evidence": {
|
| 264 |
"bytes": 5842,
|
| 265 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 266 |
"sha256": "db5b4ebdf04f6803723168bfee39e3bd6e0344df1d5dfa57248311435fbeb37a"
|
| 267 |
}
|
| 268 |
},
|
|
@@ -273,7 +285,7 @@
|
|
| 273 |
"sha256": "60a20a1efdd7909629cabd578e3c11ed399b8bbe111507518609c3a8d62aeec5",
|
| 274 |
"source_evidence": {
|
| 275 |
"bytes": 10900,
|
| 276 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 277 |
"sha256": "60a20a1efdd7909629cabd578e3c11ed399b8bbe111507518609c3a8d62aeec5"
|
| 278 |
}
|
| 279 |
},
|
|
@@ -284,7 +296,7 @@
|
|
| 284 |
"sha256": "36f174fc7cd91c855fff25bad30030c041ef8123283aada615cd9e60c1f63b61",
|
| 285 |
"source_evidence": {
|
| 286 |
"bytes": 7531,
|
| 287 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 288 |
"sha256": "36f174fc7cd91c855fff25bad30030c041ef8123283aada615cd9e60c1f63b61"
|
| 289 |
}
|
| 290 |
},
|
|
@@ -295,7 +307,7 @@
|
|
| 295 |
"sha256": "24c6b12be909ac2857095e85ddab91f302119b58630ab49ef6a8239d9ef53832",
|
| 296 |
"source_evidence": {
|
| 297 |
"bytes": 42431,
|
| 298 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 299 |
"sha256": "24c6b12be909ac2857095e85ddab91f302119b58630ab49ef6a8239d9ef53832"
|
| 300 |
}
|
| 301 |
},
|
|
@@ -306,7 +318,7 @@
|
|
| 306 |
"sha256": "136a8530b7213a7ee2ee95c64a512894512e737b057fcc6faeb4763595189892",
|
| 307 |
"source_evidence": {
|
| 308 |
"bytes": 11285,
|
| 309 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 310 |
"sha256": "136a8530b7213a7ee2ee95c64a512894512e737b057fcc6faeb4763595189892"
|
| 311 |
}
|
| 312 |
},
|
|
@@ -317,7 +329,7 @@
|
|
| 317 |
"sha256": "3066034d610ee1713959e00ab82281690adae458e8826e1888c6478f20f7b990",
|
| 318 |
"source_evidence": {
|
| 319 |
"bytes": 9712,
|
| 320 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 321 |
"sha256": "3066034d610ee1713959e00ab82281690adae458e8826e1888c6478f20f7b990"
|
| 322 |
}
|
| 323 |
},
|
|
@@ -328,7 +340,7 @@
|
|
| 328 |
"sha256": "f3022b1cceaac237ac05397847301728da749ccf60d491465505b0a8b66b952f",
|
| 329 |
"source_evidence": {
|
| 330 |
"bytes": 6329,
|
| 331 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 332 |
"sha256": "f3022b1cceaac237ac05397847301728da749ccf60d491465505b0a8b66b952f"
|
| 333 |
}
|
| 334 |
},
|
|
@@ -339,7 +351,7 @@
|
|
| 339 |
"sha256": "9cf5a0aee79e4bbc1936e64a13aef564481f1ca179a9f6ed988514e7fcff2e62",
|
| 340 |
"source_evidence": {
|
| 341 |
"bytes": 6428,
|
| 342 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 343 |
"sha256": "9cf5a0aee79e4bbc1936e64a13aef564481f1ca179a9f6ed988514e7fcff2e62"
|
| 344 |
}
|
| 345 |
},
|
|
@@ -350,7 +362,7 @@
|
|
| 350 |
"sha256": "3f2b93fab6b2003bf326a5e433f5c4eeb4f570de72c998823070c483d9d40211",
|
| 351 |
"source_evidence": {
|
| 352 |
"bytes": 24165,
|
| 353 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 354 |
"sha256": "3f2b93fab6b2003bf326a5e433f5c4eeb4f570de72c998823070c483d9d40211"
|
| 355 |
}
|
| 356 |
},
|
|
@@ -361,7 +373,7 @@
|
|
| 361 |
"sha256": "5b17dd66cb014a39790a40f232b7f40c6563893d4e8c6af5f80bda42add7a783",
|
| 362 |
"source_evidence": {
|
| 363 |
"bytes": 12979,
|
| 364 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 365 |
"sha256": "5b17dd66cb014a39790a40f232b7f40c6563893d4e8c6af5f80bda42add7a783"
|
| 366 |
}
|
| 367 |
},
|
|
@@ -372,7 +384,7 @@
|
|
| 372 |
"sha256": "c26a5238347df23c2795659e67de468be9d5fdd40907dbae32ccbd33be5d7f56",
|
| 373 |
"source_evidence": {
|
| 374 |
"bytes": 716,
|
| 375 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 376 |
"sha256": "c26a5238347df23c2795659e67de468be9d5fdd40907dbae32ccbd33be5d7f56"
|
| 377 |
}
|
| 378 |
},
|
|
@@ -383,7 +395,7 @@
|
|
| 383 |
"sha256": "0d8a0fd5ff93af113bed5730f8fa094703700662b8b31499b2d532fd411777d4",
|
| 384 |
"source_evidence": {
|
| 385 |
"bytes": 2239,
|
| 386 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 387 |
"sha256": "0d8a0fd5ff93af113bed5730f8fa094703700662b8b31499b2d532fd411777d4"
|
| 388 |
}
|
| 389 |
},
|
|
@@ -394,7 +406,7 @@
|
|
| 394 |
"sha256": "2a553265e3ad5f77be9d87103358d2689b7c573e3683298652dafed8f3a84879",
|
| 395 |
"source_evidence": {
|
| 396 |
"bytes": 6250,
|
| 397 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 398 |
"sha256": "2a553265e3ad5f77be9d87103358d2689b7c573e3683298652dafed8f3a84879"
|
| 399 |
}
|
| 400 |
},
|
|
@@ -405,7 +417,7 @@
|
|
| 405 |
"sha256": "a2fd244e529e53da6db148db69660eead87d31a242313055248dd0d81fc03db7",
|
| 406 |
"source_evidence": {
|
| 407 |
"bytes": 11230,
|
| 408 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 409 |
"sha256": "a2fd244e529e53da6db148db69660eead87d31a242313055248dd0d81fc03db7"
|
| 410 |
}
|
| 411 |
},
|
|
@@ -416,7 +428,7 @@
|
|
| 416 |
"sha256": "8c9bdd828635b87fd56e54b5afffd616d0deff3ea284336e36328c209ae4293f",
|
| 417 |
"source_evidence": {
|
| 418 |
"bytes": 3862,
|
| 419 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 420 |
"sha256": "8c9bdd828635b87fd56e54b5afffd616d0deff3ea284336e36328c209ae4293f"
|
| 421 |
}
|
| 422 |
},
|
|
@@ -427,7 +439,7 @@
|
|
| 427 |
"sha256": "3fc334ed7651254deae0d974bfc85c476e0633e0726eabd990c7779526dfcae5",
|
| 428 |
"source_evidence": {
|
| 429 |
"bytes": 5746,
|
| 430 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 431 |
"sha256": "3fc334ed7651254deae0d974bfc85c476e0633e0726eabd990c7779526dfcae5"
|
| 432 |
}
|
| 433 |
},
|
|
@@ -438,7 +450,7 @@
|
|
| 438 |
"sha256": "644b45358f880b9b8b27f03b1bb8551418c8cc82cae19da4457ee96f09021b9c",
|
| 439 |
"source_evidence": {
|
| 440 |
"bytes": 11264,
|
| 441 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 442 |
"sha256": "644b45358f880b9b8b27f03b1bb8551418c8cc82cae19da4457ee96f09021b9c"
|
| 443 |
}
|
| 444 |
},
|
|
@@ -449,7 +461,7 @@
|
|
| 449 |
"sha256": "42f3ce5ce83ad15dbecba736bc489146a5337b097c415f461e6e67487c43cf0c",
|
| 450 |
"source_evidence": {
|
| 451 |
"bytes": 7179,
|
| 452 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 453 |
"sha256": "42f3ce5ce83ad15dbecba736bc489146a5337b097c415f461e6e67487c43cf0c"
|
| 454 |
}
|
| 455 |
},
|
|
@@ -460,7 +472,7 @@
|
|
| 460 |
"sha256": "9aaeac8af82bff9646dcad9b4dc1af3c836af642d92f6b176ae5c58d242c64ea",
|
| 461 |
"source_evidence": {
|
| 462 |
"bytes": 27716,
|
| 463 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 464 |
"sha256": "9aaeac8af82bff9646dcad9b4dc1af3c836af642d92f6b176ae5c58d242c64ea"
|
| 465 |
}
|
| 466 |
},
|
|
@@ -471,7 +483,7 @@
|
|
| 471 |
"sha256": "49d5fd390e759132714f01e24568dff0412597e5ba27505967a3c587ef041071",
|
| 472 |
"source_evidence": {
|
| 473 |
"bytes": 10209,
|
| 474 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 475 |
"sha256": "49d5fd390e759132714f01e24568dff0412597e5ba27505967a3c587ef041071"
|
| 476 |
}
|
| 477 |
},
|
|
@@ -482,7 +494,7 @@
|
|
| 482 |
"sha256": "b750b29855aaa42045e15b2c1d06aa07a1e7ab7a8c31aebe991355b07be40c49",
|
| 483 |
"source_evidence": {
|
| 484 |
"bytes": 6297,
|
| 485 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 486 |
"sha256": "b750b29855aaa42045e15b2c1d06aa07a1e7ab7a8c31aebe991355b07be40c49"
|
| 487 |
}
|
| 488 |
},
|
|
@@ -493,7 +505,7 @@
|
|
| 493 |
"sha256": "b8e16688217426ed958a70d9dcf0d1f276410c5c45986dcf33257ff8c5799aa0",
|
| 494 |
"source_evidence": {
|
| 495 |
"bytes": 12323,
|
| 496 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 497 |
"sha256": "b8e16688217426ed958a70d9dcf0d1f276410c5c45986dcf33257ff8c5799aa0"
|
| 498 |
}
|
| 499 |
},
|
|
@@ -504,7 +516,7 @@
|
|
| 504 |
"sha256": "fbaf804222b6381ddebe63fe73fbd3a05450c63767a4b1e8e3aff68d0e03ec6f",
|
| 505 |
"source_evidence": {
|
| 506 |
"bytes": 4414,
|
| 507 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 508 |
"sha256": "fbaf804222b6381ddebe63fe73fbd3a05450c63767a4b1e8e3aff68d0e03ec6f"
|
| 509 |
}
|
| 510 |
},
|
|
@@ -515,7 +527,7 @@
|
|
| 515 |
"sha256": "611119ab2d05b5ba115bdd7644021ab0fc91c0eb4025ab11cd8b75ae7233acb9",
|
| 516 |
"source_evidence": {
|
| 517 |
"bytes": 4271,
|
| 518 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 519 |
"sha256": "611119ab2d05b5ba115bdd7644021ab0fc91c0eb4025ab11cd8b75ae7233acb9"
|
| 520 |
}
|
| 521 |
},
|
|
@@ -526,7 +538,7 @@
|
|
| 526 |
"sha256": "441adb5819fdbc3cdd9581cd44942c2e0d3757b132f71765df65a37be7d3076d",
|
| 527 |
"source_evidence": {
|
| 528 |
"bytes": 9861,
|
| 529 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 530 |
"sha256": "441adb5819fdbc3cdd9581cd44942c2e0d3757b132f71765df65a37be7d3076d"
|
| 531 |
}
|
| 532 |
},
|
|
@@ -537,7 +549,7 @@
|
|
| 537 |
"sha256": "44df3d7ca03f6e96460334ef59ffb988538b6be0d926cfe359e67728c79a9f7f",
|
| 538 |
"source_evidence": {
|
| 539 |
"bytes": 64217,
|
| 540 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 541 |
"sha256": "44df3d7ca03f6e96460334ef59ffb988538b6be0d926cfe359e67728c79a9f7f"
|
| 542 |
}
|
| 543 |
},
|
|
@@ -548,7 +560,7 @@
|
|
| 548 |
"sha256": "2f4f9d542bebd14c4f24220c5e133fcc79da3d1699f8af5628b98b2775593a33",
|
| 549 |
"source_evidence": {
|
| 550 |
"bytes": 7558,
|
| 551 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 552 |
"sha256": "2f4f9d542bebd14c4f24220c5e133fcc79da3d1699f8af5628b98b2775593a33"
|
| 553 |
}
|
| 554 |
},
|
|
@@ -559,7 +571,7 @@
|
|
| 559 |
"sha256": "c9cb1e1650fc62464c51cf0a7a089e6b02df082b9285752d86f67ada0af9b595",
|
| 560 |
"source_evidence": {
|
| 561 |
"bytes": 8113,
|
| 562 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 563 |
"sha256": "c9cb1e1650fc62464c51cf0a7a089e6b02df082b9285752d86f67ada0af9b595"
|
| 564 |
}
|
| 565 |
},
|
|
@@ -570,7 +582,7 @@
|
|
| 570 |
"sha256": "a7986d858aa0f5d70defececfe74deef549e4d642634c09edc1a58df8832700e",
|
| 571 |
"source_evidence": {
|
| 572 |
"bytes": 5500,
|
| 573 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 574 |
"sha256": "a7986d858aa0f5d70defececfe74deef549e4d642634c09edc1a58df8832700e"
|
| 575 |
}
|
| 576 |
},
|
|
@@ -581,7 +593,7 @@
|
|
| 581 |
"sha256": "158d28753d8f67e33131ba2aac835f29a3195c91f3024322b158faa0119754c0",
|
| 582 |
"source_evidence": {
|
| 583 |
"bytes": 28397,
|
| 584 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 585 |
"sha256": "158d28753d8f67e33131ba2aac835f29a3195c91f3024322b158faa0119754c0"
|
| 586 |
}
|
| 587 |
},
|
|
@@ -592,7 +604,7 @@
|
|
| 592 |
"sha256": "e67297e6b84f6c533ce89fae5df7835a997865bc3c094288f34ef1105cc7b14a",
|
| 593 |
"source_evidence": {
|
| 594 |
"bytes": 13077,
|
| 595 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 596 |
"sha256": "e67297e6b84f6c533ce89fae5df7835a997865bc3c094288f34ef1105cc7b14a"
|
| 597 |
}
|
| 598 |
},
|
|
@@ -603,7 +615,7 @@
|
|
| 603 |
"sha256": "3b684cbf7e3581bf63b559cb393294a6c088d84e851d783f676d419d0be196ad",
|
| 604 |
"source_evidence": {
|
| 605 |
"bytes": 10032,
|
| 606 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 607 |
"sha256": "3b684cbf7e3581bf63b559cb393294a6c088d84e851d783f676d419d0be196ad"
|
| 608 |
}
|
| 609 |
},
|
|
@@ -614,7 +626,7 @@
|
|
| 614 |
"sha256": "8f296824dd6a545dde5434ecdbb93c040aeeb20f8ec305dbe77c07955b282eec",
|
| 615 |
"source_evidence": {
|
| 616 |
"bytes": 3670,
|
| 617 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 618 |
"sha256": "8f296824dd6a545dde5434ecdbb93c040aeeb20f8ec305dbe77c07955b282eec"
|
| 619 |
}
|
| 620 |
},
|
|
@@ -625,7 +637,7 @@
|
|
| 625 |
"sha256": "b236d2c9e7e587db71675f4281c151f7738aeb10780109d1272a3f31ef7d6c56",
|
| 626 |
"source_evidence": {
|
| 627 |
"bytes": 8254,
|
| 628 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 629 |
"sha256": "b236d2c9e7e587db71675f4281c151f7738aeb10780109d1272a3f31ef7d6c56"
|
| 630 |
}
|
| 631 |
},
|
|
@@ -636,7 +648,7 @@
|
|
| 636 |
"sha256": "4c57c4f0cd637287753c530353dddd2358c366d997b9f28c04413a2788e4f160",
|
| 637 |
"source_evidence": {
|
| 638 |
"bytes": 8334,
|
| 639 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 640 |
"sha256": "4c57c4f0cd637287753c530353dddd2358c366d997b9f28c04413a2788e4f160"
|
| 641 |
}
|
| 642 |
},
|
|
@@ -647,7 +659,7 @@
|
|
| 647 |
"sha256": "b35cb57c886bfdb033b92f3ab51f9c07952e60ff5682c9b0eaea9f95859c29a1",
|
| 648 |
"source_evidence": {
|
| 649 |
"bytes": 9607,
|
| 650 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 651 |
"sha256": "b35cb57c886bfdb033b92f3ab51f9c07952e60ff5682c9b0eaea9f95859c29a1"
|
| 652 |
}
|
| 653 |
},
|
|
@@ -658,7 +670,7 @@
|
|
| 658 |
"sha256": "443d0dee720193c002f15096fe87190238d0104c67b410eaf6ecbf73c7b970b7",
|
| 659 |
"source_evidence": {
|
| 660 |
"bytes": 8013,
|
| 661 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 662 |
"sha256": "443d0dee720193c002f15096fe87190238d0104c67b410eaf6ecbf73c7b970b7"
|
| 663 |
}
|
| 664 |
},
|
|
@@ -669,7 +681,7 @@
|
|
| 669 |
"sha256": "12066d42383960302f383e62a72389d792dd4a48efa65771705d495cd7e6beff",
|
| 670 |
"source_evidence": {
|
| 671 |
"bytes": 1740,
|
| 672 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 673 |
"sha256": "12066d42383960302f383e62a72389d792dd4a48efa65771705d495cd7e6beff"
|
| 674 |
}
|
| 675 |
},
|
|
@@ -680,7 +692,7 @@
|
|
| 680 |
"sha256": "c4ba7b6c188fe60402de2ad19a289fdf5a7f5d71f814d6c2271dabfff5d0e165",
|
| 681 |
"source_evidence": {
|
| 682 |
"bytes": 3081,
|
| 683 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 684 |
"sha256": "c4ba7b6c188fe60402de2ad19a289fdf5a7f5d71f814d6c2271dabfff5d0e165"
|
| 685 |
}
|
| 686 |
},
|
|
@@ -691,7 +703,7 @@
|
|
| 691 |
"sha256": "5cc59e998b0aac3e9f2d97423cb6d58e4f5fe7cc34514e1902b43ac40ecda22f",
|
| 692 |
"source_evidence": {
|
| 693 |
"bytes": 14519,
|
| 694 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 695 |
"sha256": "5cc59e998b0aac3e9f2d97423cb6d58e4f5fe7cc34514e1902b43ac40ecda22f"
|
| 696 |
}
|
| 697 |
},
|
|
@@ -702,7 +714,7 @@
|
|
| 702 |
"sha256": "806839139300a340b2487225b26ce10bb6b05ef1d19e50b0426f5a0554dfd79f",
|
| 703 |
"source_evidence": {
|
| 704 |
"bytes": 12423,
|
| 705 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 706 |
"sha256": "806839139300a340b2487225b26ce10bb6b05ef1d19e50b0426f5a0554dfd79f"
|
| 707 |
}
|
| 708 |
},
|
|
@@ -713,7 +725,7 @@
|
|
| 713 |
"sha256": "c3dea15ffe4dc71adb1becdddc1ff6d3c200bb839546a2ac0b756f0e35f50b4a",
|
| 714 |
"source_evidence": {
|
| 715 |
"bytes": 6025,
|
| 716 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 717 |
"sha256": "c3dea15ffe4dc71adb1becdddc1ff6d3c200bb839546a2ac0b756f0e35f50b4a"
|
| 718 |
}
|
| 719 |
},
|
|
@@ -724,7 +736,7 @@
|
|
| 724 |
"sha256": "4843a57360fa419391198ac45e006f61705a0df76c222d290ede5ecbf5fba7a9",
|
| 725 |
"source_evidence": {
|
| 726 |
"bytes": 6749,
|
| 727 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 728 |
"sha256": "4843a57360fa419391198ac45e006f61705a0df76c222d290ede5ecbf5fba7a9"
|
| 729 |
}
|
| 730 |
},
|
|
@@ -735,7 +747,7 @@
|
|
| 735 |
"sha256": "7643fca394cb1babb463df9349f5eba5f5ba7b5ec16798348d31b751a0ec102b",
|
| 736 |
"source_evidence": {
|
| 737 |
"bytes": 3482,
|
| 738 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 739 |
"sha256": "7643fca394cb1babb463df9349f5eba5f5ba7b5ec16798348d31b751a0ec102b"
|
| 740 |
}
|
| 741 |
},
|
|
@@ -746,7 +758,7 @@
|
|
| 746 |
"sha256": "ed50f54977111df24126a0eda3bdbea14c6de38526ae2b8007135b70b433a8c1",
|
| 747 |
"source_evidence": {
|
| 748 |
"bytes": 16379,
|
| 749 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 750 |
"sha256": "ed50f54977111df24126a0eda3bdbea14c6de38526ae2b8007135b70b433a8c1"
|
| 751 |
}
|
| 752 |
},
|
|
@@ -757,7 +769,7 @@
|
|
| 757 |
"sha256": "aed1c00adf652d4537d26eb8c3f8f9c6a78fe45f10f7e4fe06b71d3b4676d221",
|
| 758 |
"source_evidence": {
|
| 759 |
"bytes": 17465,
|
| 760 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 761 |
"sha256": "aed1c00adf652d4537d26eb8c3f8f9c6a78fe45f10f7e4fe06b71d3b4676d221"
|
| 762 |
}
|
| 763 |
},
|
|
@@ -768,30 +780,30 @@
|
|
| 768 |
"sha256": "aaba4f369949295fe156a7862d91c5bbf13a9f9954077e302a7b918f0fac703b",
|
| 769 |
"source_evidence": {
|
| 770 |
"bytes": 5401,
|
| 771 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 772 |
"sha256": "aaba4f369949295fe156a7862d91c5bbf13a9f9954077e302a7b918f0fac703b"
|
| 773 |
}
|
| 774 |
},
|
| 775 |
"/app/solution/shape_mode_diagnostic.py": {
|
| 776 |
-
"bytes":
|
| 777 |
"image_path": "/app/solution/shape_mode_diagnostic.py",
|
| 778 |
"repo_path": "image_root/app/solution/shape_mode_diagnostic.py",
|
| 779 |
-
"sha256": "
|
| 780 |
"source_evidence": {
|
| 781 |
-
"bytes":
|
| 782 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 783 |
-
"sha256": "
|
| 784 |
}
|
| 785 |
},
|
| 786 |
"/app/solution/shape_mode_diagnostic_policy.json": {
|
| 787 |
-
"bytes":
|
| 788 |
"image_path": "/app/solution/shape_mode_diagnostic_policy.json",
|
| 789 |
"repo_path": "image_root/app/solution/shape_mode_diagnostic_policy.json",
|
| 790 |
-
"sha256": "
|
| 791 |
"source_evidence": {
|
| 792 |
-
"bytes":
|
| 793 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 794 |
-
"sha256": "
|
| 795 |
}
|
| 796 |
},
|
| 797 |
"/app/solution/smoke_observation.py": {
|
|
@@ -801,7 +813,7 @@
|
|
| 801 |
"sha256": "87b065d4d59c7d8669bc21a1715f7204ec59d8972e1f475162d53b5d328549db",
|
| 802 |
"source_evidence": {
|
| 803 |
"bytes": 4655,
|
| 804 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 805 |
"sha256": "87b065d4d59c7d8669bc21a1715f7204ec59d8972e1f475162d53b5d328549db"
|
| 806 |
}
|
| 807 |
},
|
|
@@ -812,7 +824,7 @@
|
|
| 812 |
"sha256": "200f86e2fa5c151798161768942a6b1e1d2cda256754866e83d9ed804e525d2a",
|
| 813 |
"source_evidence": {
|
| 814 |
"bytes": 9683,
|
| 815 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 816 |
"sha256": "200f86e2fa5c151798161768942a6b1e1d2cda256754866e83d9ed804e525d2a"
|
| 817 |
}
|
| 818 |
},
|
|
@@ -823,7 +835,7 @@
|
|
| 823 |
"sha256": "2d8d1c60b054a4126b73fbcb4537620f909c47024b691be1c3f540af72f0e229",
|
| 824 |
"source_evidence": {
|
| 825 |
"bytes": 5115,
|
| 826 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 827 |
"sha256": "2d8d1c60b054a4126b73fbcb4537620f909c47024b691be1c3f540af72f0e229"
|
| 828 |
}
|
| 829 |
},
|
|
@@ -834,7 +846,7 @@
|
|
| 834 |
"sha256": "6123b198a32d51cc4694e85dc9079a8a6f0a2eb2f1ed9d905be0f79b15bd2172",
|
| 835 |
"source_evidence": {
|
| 836 |
"bytes": 8516,
|
| 837 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 838 |
"sha256": "6123b198a32d51cc4694e85dc9079a8a6f0a2eb2f1ed9d905be0f79b15bd2172"
|
| 839 |
}
|
| 840 |
},
|
|
@@ -845,7 +857,7 @@
|
|
| 845 |
"sha256": "3484d5a1cb82c295fa69c7a05b921184cb2b9309b71b23859d456ddbed7ecbcb",
|
| 846 |
"source_evidence": {
|
| 847 |
"bytes": 5996,
|
| 848 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 849 |
"sha256": "3484d5a1cb82c295fa69c7a05b921184cb2b9309b71b23859d456ddbed7ecbcb"
|
| 850 |
}
|
| 851 |
},
|
|
@@ -856,7 +868,7 @@
|
|
| 856 |
"sha256": "d1e929c55660ba5b0037388c76d4eee43d43a635e7d5c648442e9b21274f9387",
|
| 857 |
"source_evidence": {
|
| 858 |
"bytes": 15005,
|
| 859 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 860 |
"sha256": "d1e929c55660ba5b0037388c76d4eee43d43a635e7d5c648442e9b21274f9387"
|
| 861 |
}
|
| 862 |
},
|
|
@@ -867,7 +879,7 @@
|
|
| 867 |
"sha256": "3234af3b6e89ad01ea2544a8ff759769268eae6e2f5b50a49e8faf649322076f",
|
| 868 |
"source_evidence": {
|
| 869 |
"bytes": 5539,
|
| 870 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 871 |
"sha256": "3234af3b6e89ad01ea2544a8ff759769268eae6e2f5b50a49e8faf649322076f"
|
| 872 |
}
|
| 873 |
},
|
|
@@ -878,7 +890,7 @@
|
|
| 878 |
"sha256": "767da69483ad0200f214c358887ac0903d12d577d18328125fcf11a82fb8e435",
|
| 879 |
"source_evidence": {
|
| 880 |
"bytes": 4719,
|
| 881 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 882 |
"sha256": "767da69483ad0200f214c358887ac0903d12d577d18328125fcf11a82fb8e435"
|
| 883 |
}
|
| 884 |
},
|
|
@@ -889,7 +901,7 @@
|
|
| 889 |
"sha256": "1424ea830b6c881f79d618c9e61b69b5ed1c05fdd04bd9b9287fa09398bbdb06",
|
| 890 |
"source_evidence": {
|
| 891 |
"bytes": 507,
|
| 892 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 893 |
"sha256": "1424ea830b6c881f79d618c9e61b69b5ed1c05fdd04bd9b9287fa09398bbdb06"
|
| 894 |
}
|
| 895 |
},
|
|
@@ -900,7 +912,7 @@
|
|
| 900 |
"sha256": "eaec36f8a642dde768e548fb0c010a2a0e169cdb3c70a2ffe643e051a9985743",
|
| 901 |
"source_evidence": {
|
| 902 |
"bytes": 13155,
|
| 903 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 904 |
"sha256": "eaec36f8a642dde768e548fb0c010a2a0e169cdb3c70a2ffe643e051a9985743"
|
| 905 |
}
|
| 906 |
},
|
|
@@ -911,7 +923,7 @@
|
|
| 911 |
"sha256": "07dbccc7722b677455bfc4d04bef0a86996a9b009b33b2e22fbe2d7d8a14ddaa",
|
| 912 |
"source_evidence": {
|
| 913 |
"bytes": 2343,
|
| 914 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 915 |
"sha256": "07dbccc7722b677455bfc4d04bef0a86996a9b009b33b2e22fbe2d7d8a14ddaa"
|
| 916 |
}
|
| 917 |
},
|
|
@@ -922,12 +934,25 @@
|
|
| 922 |
"sha256": "225f06c54f4fbff02cfa88391aefe04a6449c35c9a43bcb86d33a5969175d9d0",
|
| 923 |
"source_evidence": {
|
| 924 |
"bytes": 13796,
|
| 925 |
-
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/
|
| 926 |
"sha256": "225f06c54f4fbff02cfa88391aefe04a6449c35c9a43bcb86d33a5969175d9d0"
|
| 927 |
}
|
| 928 |
}
|
| 929 |
},
|
| 930 |
"modifications_for_HF": false,
|
|
|
|
|
|
|
| 931 |
"schema": "selected615-hf-source-manifest/1",
|
| 932 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 933 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"all_exact_repaired_source_bytes": true,
|
| 3 |
+
"all_exact_selected_source_bytes": false,
|
| 4 |
+
"file_count": 85,
|
| 5 |
"files": {
|
| 6 |
"/app/VEHICLE_INPUTS.json": {
|
| 7 |
+
"bytes": 77541,
|
| 8 |
"image_path": "/app/VEHICLE_INPUTS.json",
|
| 9 |
"repo_path": "image_root/app/VEHICLE_INPUTS.json",
|
| 10 |
+
"sha256": "5950b563eb85bf7d9726dac150086407b8f52dcbd0d7c7a9331c510b97ef451e",
|
| 11 |
"source_evidence": {
|
| 12 |
+
"bytes": 77541,
|
| 13 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/VEHICLE_INPUTS.json",
|
| 14 |
+
"sha256": "5950b563eb85bf7d9726dac150086407b8f52dcbd0d7c7a9331c510b97ef451e"
|
| 15 |
}
|
| 16 |
},
|
| 17 |
"/app/run_as_app.py": {
|
|
|
|
| 21 |
"sha256": "db56fbfd1d53fd9be943efe138ece5aa1b15d69067b4c8c800e2291f68401bc4",
|
| 22 |
"source_evidence": {
|
| 23 |
"bytes": 1933,
|
| 24 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/run_as_app.py",
|
| 25 |
"sha256": "db56fbfd1d53fd9be943efe138ece5aa1b15d69067b4c8c800e2291f68401bc4"
|
| 26 |
}
|
| 27 |
},
|
|
|
|
| 32 |
"sha256": "2e321dc21f2ad6870be04f5e451ce292501e6d25e2b1fec3dfeef7138017136d",
|
| 33 |
"source_evidence": {
|
| 34 |
"bytes": 3442,
|
| 35 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/runtime_witness_approved.json",
|
| 36 |
"sha256": "2e321dc21f2ad6870be04f5e451ce292501e6d25e2b1fec3dfeef7138017136d"
|
| 37 |
}
|
| 38 |
},
|
|
|
|
| 43 |
"sha256": "ac44daa78b946456a755b44c40c06ea07ea8708206d64b98fd2bcb25039f43e5",
|
| 44 |
"source_evidence": {
|
| 45 |
"bytes": 4645,
|
| 46 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/runtime_zoom_entry.py",
|
| 47 |
"sha256": "ac44daa78b946456a755b44c40c06ea07ea8708206d64b98fd2bcb25039f43e5"
|
| 48 |
}
|
| 49 |
},
|
|
|
|
| 54 |
"sha256": "2f2f3872a9253680b1f55d19e528fd63d3eb26979a914312336e5766e0ce2063",
|
| 55 |
"source_evidence": {
|
| 56 |
"bytes": 523,
|
| 57 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/runtime_zoom_policy.json",
|
| 58 |
"sha256": "2f2f3872a9253680b1f55d19e528fd63d3eb26979a914312336e5766e0ce2063"
|
| 59 |
}
|
| 60 |
},
|
|
|
|
| 65 |
"sha256": "a5ba6d860c5f8b5287f3f5371a35e89441b3c2f3a05e2ae65a6f6af47568d4d6",
|
| 66 |
"source_evidence": {
|
| 67 |
"bytes": 1890,
|
| 68 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/README.md",
|
| 69 |
"sha256": "a5ba6d860c5f8b5287f3f5371a35e89441b3c2f3a05e2ae65a6f6af47568d4d6"
|
| 70 |
}
|
| 71 |
},
|
|
|
|
| 76 |
"sha256": "1db83ecfa981c5aced597886d8f9bfb2b75e6718db2076de0d62626248330707",
|
| 77 |
"source_evidence": {
|
| 78 |
"bytes": 370,
|
| 79 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/__init__.py",
|
| 80 |
"sha256": "1db83ecfa981c5aced597886d8f9bfb2b75e6718db2076de0d62626248330707"
|
| 81 |
}
|
| 82 |
},
|
|
|
|
| 87 |
"sha256": "d536c76ad2ba29d83301e7db25c7c38fb8cca0c008f01ce4bd6bb103e8c7271a",
|
| 88 |
"source_evidence": {
|
| 89 |
"bytes": 11710,
|
| 90 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/adapter_controller.py",
|
| 91 |
"sha256": "d536c76ad2ba29d83301e7db25c7c38fb8cca0c008f01ce4bd6bb103e8c7271a"
|
| 92 |
}
|
| 93 |
},
|
|
|
|
| 98 |
"sha256": "acb44b6e8f9bf41416f8c1876ea29ec5afb534ada099c848bb007e7cb1810648",
|
| 99 |
"source_evidence": {
|
| 100 |
"bytes": 29850,
|
| 101 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/answer_validator.py",
|
| 102 |
"sha256": "acb44b6e8f9bf41416f8c1876ea29ec5afb534ada099c848bb007e7cb1810648"
|
| 103 |
}
|
| 104 |
},
|
|
|
|
| 109 |
"sha256": "f021a33e82bcfe50e5ca2d2035db30bff6a2fc806f422529ad870ce4427ccf97",
|
| 110 |
"source_evidence": {
|
| 111 |
"bytes": 15765,
|
| 112 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/candidate_contract.py",
|
| 113 |
"sha256": "f021a33e82bcfe50e5ca2d2035db30bff6a2fc806f422529ad870ce4427ccf97"
|
| 114 |
}
|
| 115 |
},
|
|
|
|
| 120 |
"sha256": "10c104934923d16c1f16001784543b1835b79e0f9e18e12f0290743fa16d12ba",
|
| 121 |
"source_evidence": {
|
| 122 |
"bytes": 18665,
|
| 123 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/cap_fmt_inferrer.py",
|
| 124 |
"sha256": "10c104934923d16c1f16001784543b1835b79e0f9e18e12f0290743fa16d12ba"
|
| 125 |
}
|
| 126 |
},
|
|
|
|
| 131 |
"sha256": "df39335c4843e814b354b2e587bf48a77aebbe88325be99a6f7e2f9e136474c7",
|
| 132 |
"source_evidence": {
|
| 133 |
"bytes": 21477,
|
| 134 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/container.py",
|
| 135 |
"sha256": "df39335c4843e814b354b2e587bf48a77aebbe88325be99a6f7e2f9e136474c7"
|
| 136 |
}
|
| 137 |
},
|
|
|
|
| 142 |
"sha256": "9c8bfec8df2effb3b642c2bbd092dcecf837b851e81c45008c531e5dcc0a1a58",
|
| 143 |
"source_evidence": {
|
| 144 |
"bytes": 8568,
|
| 145 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/detection.py",
|
| 146 |
"sha256": "9c8bfec8df2effb3b642c2bbd092dcecf837b851e81c45008c531e5dcc0a1a58"
|
| 147 |
}
|
| 148 |
},
|
|
|
|
| 153 |
"sha256": "77e456a223eecea09a4d60c0a48d9527c21a1c6c5a94e894066ef682d1a8a1ea",
|
| 154 |
"source_evidence": {
|
| 155 |
"bytes": 233,
|
| 156 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/__init__.py",
|
| 157 |
"sha256": "77e456a223eecea09a4d60c0a48d9527c21a1c6c5a94e894066ef682d1a8a1ea"
|
| 158 |
}
|
| 159 |
},
|
|
|
|
| 164 |
"sha256": "c8ec558c4c933c3ba17029996124b42e21e6558b0635ece6cd01f4c3e290d5dd",
|
| 165 |
"source_evidence": {
|
| 166 |
"bytes": 6483,
|
| 167 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/agg_route_dispatch.py",
|
| 168 |
"sha256": "c8ec558c4c933c3ba17029996124b42e21e6558b0635ece6cd01f4c3e290d5dd"
|
| 169 |
}
|
| 170 |
},
|
|
|
|
| 175 |
"sha256": "57f9cf61438193b0aa4ccbbf8564c6eb1338301f8ae6f6e9507b38edef1fc70c",
|
| 176 |
"source_evidence": {
|
| 177 |
"bytes": 5906,
|
| 178 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/complex_route_dispatch.py",
|
| 179 |
"sha256": "57f9cf61438193b0aa4ccbbf8564c6eb1338301f8ae6f6e9507b38edef1fc70c"
|
| 180 |
}
|
| 181 |
},
|
|
|
|
| 186 |
"sha256": "78b13b81ad457d8930d0bc013d101ce62e4e7a2bce4712b1cf3f5a1320d8ecc6",
|
| 187 |
"source_evidence": {
|
| 188 |
"bytes": 2525,
|
| 189 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/foclass_fullset.py",
|
| 190 |
"sha256": "78b13b81ad457d8930d0bc013d101ce62e4e7a2bce4712b1cf3f5a1320d8ecc6"
|
| 191 |
}
|
| 192 |
},
|
| 193 |
+
"/app/solution/entrypoint/lazy_video_staging.py": {
|
| 194 |
+
"bytes": 16076,
|
| 195 |
+
"image_path": "/app/solution/entrypoint/lazy_video_staging.py",
|
| 196 |
+
"repo_path": "image_root/app/solution/entrypoint/lazy_video_staging.py",
|
| 197 |
+
"sha256": "faa24dfcfef510629ccc522b563461fe3454c8d0ea32f6228674e5fdbe36523e",
|
| 198 |
+
"source_evidence": {
|
| 199 |
+
"bytes": 16076,
|
| 200 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/lazy_video_staging.py",
|
| 201 |
+
"sha256": "faa24dfcfef510629ccc522b563461fe3454c8d0ea32f6228674e5fdbe36523e"
|
| 202 |
+
}
|
| 203 |
+
},
|
| 204 |
"/app/solution/entrypoint/native_video_input.py": {
|
| 205 |
"bytes": 9923,
|
| 206 |
"image_path": "/app/solution/entrypoint/native_video_input.py",
|
|
|
|
| 208 |
"sha256": "8269a3f520d5dc78e25ca847aae438b7697f3f3e165e1e28d50a0b48e45ab067",
|
| 209 |
"source_evidence": {
|
| 210 |
"bytes": 9923,
|
| 211 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/native_video_input.py",
|
| 212 |
"sha256": "8269a3f520d5dc78e25ca847aae438b7697f3f3e165e1e28d50a0b48e45ab067"
|
| 213 |
}
|
| 214 |
},
|
|
|
|
| 219 |
"sha256": "a55143dfdbeca52503e225a8a1d2529ef359d3f905ee00ae4d919c6c885c065f",
|
| 220 |
"source_evidence": {
|
| 221 |
"bytes": 16203,
|
| 222 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/output_hygiene_preflight.py",
|
| 223 |
"sha256": "a55143dfdbeca52503e225a8a1d2529ef359d3f905ee00ae4d919c6c885c065f"
|
| 224 |
}
|
| 225 |
},
|
| 226 |
"/app/solution/entrypoint/probe_entrypoint.py": {
|
| 227 |
+
"bytes": 70789,
|
| 228 |
"image_path": "/app/solution/entrypoint/probe_entrypoint.py",
|
| 229 |
"repo_path": "image_root/app/solution/entrypoint/probe_entrypoint.py",
|
| 230 |
+
"sha256": "b648bb96cc0efcd8321fa73e17660e2b2490064ea8c33146d49e6f46bafb91fa",
|
| 231 |
"source_evidence": {
|
| 232 |
+
"bytes": 70789,
|
| 233 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/probe_entrypoint.py",
|
| 234 |
+
"sha256": "b648bb96cc0efcd8321fa73e17660e2b2490064ea8c33146d49e6f46bafb91fa"
|
| 235 |
}
|
| 236 |
},
|
| 237 |
"/app/solution/entrypoint/segment_temporal_seam.py": {
|
|
|
|
| 241 |
"sha256": "d6068a4b344d195d25b432fc86ccf155a296df5d862289ed3e9de78694e78fef",
|
| 242 |
"source_evidence": {
|
| 243 |
"bytes": 11930,
|
| 244 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/segment_temporal_seam.py",
|
| 245 |
"sha256": "d6068a4b344d195d25b432fc86ccf155a296df5d862289ed3e9de78694e78fef"
|
| 246 |
}
|
| 247 |
},
|
|
|
|
| 252 |
"sha256": "1bf7f9be1006fe6af80967c4f3964fb500937b7d8c16e760d27393b2f17d9d92",
|
| 253 |
"source_evidence": {
|
| 254 |
"bytes": 34488,
|
| 255 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/test_procedure_byte_identity.py",
|
| 256 |
"sha256": "1bf7f9be1006fe6af80967c4f3964fb500937b7d8c16e760d27393b2f17d9d92"
|
| 257 |
}
|
| 258 |
},
|
|
|
|
| 263 |
"sha256": "8dfe1a316ae31841484b7e886191e82b69a7a77357f83cec9b257707f61e05ba",
|
| 264 |
"source_evidence": {
|
| 265 |
"bytes": 8998,
|
| 266 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/test_resolver_rungs.py",
|
| 267 |
"sha256": "8dfe1a316ae31841484b7e886191e82b69a7a77357f83cec9b257707f61e05ba"
|
| 268 |
}
|
| 269 |
},
|
|
|
|
| 274 |
"sha256": "db5b4ebdf04f6803723168bfee39e3bd6e0344df1d5dfa57248311435fbeb37a",
|
| 275 |
"source_evidence": {
|
| 276 |
"bytes": 5842,
|
| 277 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/test_track_resolvers.py",
|
| 278 |
"sha256": "db5b4ebdf04f6803723168bfee39e3bd6e0344df1d5dfa57248311435fbeb37a"
|
| 279 |
}
|
| 280 |
},
|
|
|
|
| 285 |
"sha256": "60a20a1efdd7909629cabd578e3c11ed399b8bbe111507518609c3a8d62aeec5",
|
| 286 |
"source_evidence": {
|
| 287 |
"bytes": 10900,
|
| 288 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/track_inputs.py",
|
| 289 |
"sha256": "60a20a1efdd7909629cabd578e3c11ed399b8bbe111507518609c3a8d62aeec5"
|
| 290 |
}
|
| 291 |
},
|
|
|
|
| 296 |
"sha256": "36f174fc7cd91c855fff25bad30030c041ef8123283aada615cd9e60c1f63b61",
|
| 297 |
"source_evidence": {
|
| 298 |
"bytes": 7531,
|
| 299 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/entrypoint/vote_batched.py",
|
| 300 |
"sha256": "36f174fc7cd91c855fff25bad30030c041ef8123283aada615cd9e60c1f63b61"
|
| 301 |
}
|
| 302 |
},
|
|
|
|
| 307 |
"sha256": "24c6b12be909ac2857095e85ddab91f302119b58630ab49ef6a8239d9ef53832",
|
| 308 |
"source_evidence": {
|
| 309 |
"bytes": 42431,
|
| 310 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/flags.py",
|
| 311 |
"sha256": "24c6b12be909ac2857095e85ddab91f302119b58630ab49ef6a8239d9ef53832"
|
| 312 |
}
|
| 313 |
},
|
|
|
|
| 318 |
"sha256": "136a8530b7213a7ee2ee95c64a512894512e737b057fcc6faeb4763595189892",
|
| 319 |
"source_evidence": {
|
| 320 |
"bytes": 11285,
|
| 321 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/flags_frame.py",
|
| 322 |
"sha256": "136a8530b7213a7ee2ee95c64a512894512e737b057fcc6faeb4763595189892"
|
| 323 |
}
|
| 324 |
},
|
|
|
|
| 329 |
"sha256": "3066034d610ee1713959e00ab82281690adae458e8826e1888c6478f20f7b990",
|
| 330 |
"source_evidence": {
|
| 331 |
"bytes": 9712,
|
| 332 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/flags_proc.py",
|
| 333 |
"sha256": "3066034d610ee1713959e00ab82281690adae458e8826e1888c6478f20f7b990"
|
| 334 |
}
|
| 335 |
},
|
|
|
|
| 340 |
"sha256": "f3022b1cceaac237ac05397847301728da749ccf60d491465505b0a8b66b952f",
|
| 341 |
"source_evidence": {
|
| 342 |
"bytes": 6329,
|
| 343 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/flags_seg.py",
|
| 344 |
"sha256": "f3022b1cceaac237ac05397847301728da749ccf60d491465505b0a8b66b952f"
|
| 345 |
}
|
| 346 |
},
|
|
|
|
| 351 |
"sha256": "9cf5a0aee79e4bbc1936e64a13aef564481f1ca179a9f6ed988514e7fcff2e62",
|
| 352 |
"source_evidence": {
|
| 353 |
"bytes": 6428,
|
| 354 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/fo_taxonomy.py",
|
| 355 |
"sha256": "9cf5a0aee79e4bbc1936e64a13aef564481f1ca179a9f6ed988514e7fcff2e62"
|
| 356 |
}
|
| 357 |
},
|
|
|
|
| 362 |
"sha256": "3f2b93fab6b2003bf326a5e433f5c4eeb4f570de72c998823070c483d9d40211",
|
| 363 |
"source_evidence": {
|
| 364 |
"bytes": 24165,
|
| 365 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/frame_sampler.py",
|
| 366 |
"sha256": "3f2b93fab6b2003bf326a5e433f5c4eeb4f570de72c998823070c483d9d40211"
|
| 367 |
}
|
| 368 |
},
|
|
|
|
| 373 |
"sha256": "5b17dd66cb014a39790a40f232b7f40c6563893d4e8c6af5f80bda42add7a783",
|
| 374 |
"source_evidence": {
|
| 375 |
"bytes": 12979,
|
| 376 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/helpers.py",
|
| 377 |
"sha256": "5b17dd66cb014a39790a40f232b7f40c6563893d4e8c6af5f80bda42add7a783"
|
| 378 |
}
|
| 379 |
},
|
|
|
|
| 384 |
"sha256": "c26a5238347df23c2795659e67de468be9d5fdd40907dbae32ccbd33be5d7f56",
|
| 385 |
"source_evidence": {
|
| 386 |
"bytes": 716,
|
| 387 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/__init__.py",
|
| 388 |
"sha256": "c26a5238347df23c2795659e67de468be9d5fdd40907dbae32ccbd33be5d7f56"
|
| 389 |
}
|
| 390 |
},
|
|
|
|
| 395 |
"sha256": "0d8a0fd5ff93af113bed5730f8fa094703700662b8b31499b2d532fd411777d4",
|
| 396 |
"source_evidence": {
|
| 397 |
"bytes": 2239,
|
| 398 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/base.py",
|
| 399 |
"sha256": "0d8a0fd5ff93af113bed5730f8fa094703700662b8b31499b2d532fd411777d4"
|
| 400 |
}
|
| 401 |
},
|
|
|
|
| 406 |
"sha256": "2a553265e3ad5f77be9d87103358d2689b7c573e3683298652dafed8f3a84879",
|
| 407 |
"source_evidence": {
|
| 408 |
"bytes": 6250,
|
| 409 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/baseline.py",
|
| 410 |
"sha256": "2a553265e3ad5f77be9d87103358d2689b7c573e3683298652dafed8f3a84879"
|
| 411 |
}
|
| 412 |
},
|
|
|
|
| 417 |
"sha256": "a2fd244e529e53da6db148db69660eead87d31a242313055248dd0d81fc03db7",
|
| 418 |
"source_evidence": {
|
| 419 |
"bytes": 11230,
|
| 420 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/clinical_two_feature.py",
|
| 421 |
"sha256": "a2fd244e529e53da6db148db69660eead87d31a242313055248dd0d81fc03db7"
|
| 422 |
}
|
| 423 |
},
|
|
|
|
| 428 |
"sha256": "8c9bdd828635b87fd56e54b5afffd616d0deff3ea284336e36328c209ae4293f",
|
| 429 |
"source_evidence": {
|
| 430 |
"bytes": 3862,
|
| 431 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/duration_constant.py",
|
| 432 |
"sha256": "8c9bdd828635b87fd56e54b5afffd616d0deff3ea284336e36328c209ae4293f"
|
| 433 |
}
|
| 434 |
},
|
|
|
|
| 439 |
"sha256": "3fc334ed7651254deae0d974bfc85c476e0633e0726eabd990c7779526dfcae5",
|
| 440 |
"source_evidence": {
|
| 441 |
"bytes": 5746,
|
| 442 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/format_defaults.py",
|
| 443 |
"sha256": "3fc334ed7651254deae0d974bfc85c476e0633e0726eabd990c7779526dfcae5"
|
| 444 |
}
|
| 445 |
},
|
|
|
|
| 450 |
"sha256": "644b45358f880b9b8b27f03b1bb8551418c8cc82cae19da4457ee96f09021b9c",
|
| 451 |
"source_evidence": {
|
| 452 |
"bytes": 11264,
|
| 453 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/format_rules.py",
|
| 454 |
"sha256": "644b45358f880b9b8b27f03b1bb8551418c8cc82cae19da4457ee96f09021b9c"
|
| 455 |
}
|
| 456 |
},
|
|
|
|
| 461 |
"sha256": "42f3ce5ce83ad15dbecba736bc489146a5337b097c415f461e6e67487c43cf0c",
|
| 462 |
"source_evidence": {
|
| 463 |
"bytes": 7179,
|
| 464 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/interleave_serve.py",
|
| 465 |
"sha256": "42f3ce5ce83ad15dbecba736bc489146a5337b097c415f461e6e67487c43cf0c"
|
| 466 |
}
|
| 467 |
},
|
|
|
|
| 472 |
"sha256": "9aaeac8af82bff9646dcad9b4dc1af3c836af642d92f6b176ae5c58d242c64ea",
|
| 473 |
"source_evidence": {
|
| 474 |
"bytes": 27716,
|
| 475 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/laparoscopic_graph.py",
|
| 476 |
"sha256": "9aaeac8af82bff9646dcad9b4dc1af3c836af642d92f6b176ae5c58d242c64ea"
|
| 477 |
}
|
| 478 |
},
|
|
|
|
| 483 |
"sha256": "49d5fd390e759132714f01e24568dff0412597e5ba27505967a3c587ef041071",
|
| 484 |
"source_evidence": {
|
| 485 |
"bytes": 10209,
|
| 486 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/owlv2_agg_count.py",
|
| 487 |
"sha256": "49d5fd390e759132714f01e24568dff0412597e5ba27505967a3c587ef041071"
|
| 488 |
}
|
| 489 |
},
|
|
|
|
| 494 |
"sha256": "b750b29855aaa42045e15b2c1d06aa07a1e7ab7a8c31aebe991355b07be40c49",
|
| 495 |
"source_evidence": {
|
| 496 |
"bytes": 6297,
|
| 497 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/owlv2_quadrant.py",
|
| 498 |
"sha256": "b750b29855aaa42045e15b2c1d06aa07a1e7ab7a8c31aebe991355b07be40c49"
|
| 499 |
}
|
| 500 |
},
|
|
|
|
| 505 |
"sha256": "b8e16688217426ed958a70d9dcf0d1f276410c5c45986dcf33257ff8c5799aa0",
|
| 506 |
"source_evidence": {
|
| 507 |
"bytes": 12323,
|
| 508 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/proc_stem_overrides.py",
|
| 509 |
"sha256": "b8e16688217426ed958a70d9dcf0d1f276410c5c45986dcf33257ff8c5799aa0"
|
| 510 |
}
|
| 511 |
},
|
|
|
|
| 516 |
"sha256": "fbaf804222b6381ddebe63fe73fbd3a05450c63767a4b1e8e3aff68d0e03ec6f",
|
| 517 |
"source_evidence": {
|
| 518 |
"bytes": 4414,
|
| 519 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/quadrant_defaults.py",
|
| 520 |
"sha256": "fbaf804222b6381ddebe63fe73fbd3a05450c63767a4b1e8e3aff68d0e03ec6f"
|
| 521 |
}
|
| 522 |
},
|
|
|
|
| 527 |
"sha256": "611119ab2d05b5ba115bdd7644021ab0fc91c0eb4025ab11cd8b75ae7233acb9",
|
| 528 |
"source_evidence": {
|
| 529 |
"bytes": 4271,
|
| 530 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/stem_modal_overrides.py",
|
| 531 |
"sha256": "611119ab2d05b5ba115bdd7644021ab0fc91c0eb4025ab11cd8b75ae7233acb9"
|
| 532 |
}
|
| 533 |
},
|
|
|
|
| 538 |
"sha256": "441adb5819fdbc3cdd9581cd44942c2e0d3757b132f71765df65a37be7d3076d",
|
| 539 |
"source_evidence": {
|
| 540 |
"bytes": 9861,
|
| 541 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/temporal_prior.py",
|
| 542 |
"sha256": "441adb5819fdbc3cdd9581cd44942c2e0d3757b132f71765df65a37be7d3076d"
|
| 543 |
}
|
| 544 |
},
|
|
|
|
| 549 |
"sha256": "44df3d7ca03f6e96460334ef59ffb988538b6be0d926cfe359e67728c79a9f7f",
|
| 550 |
"source_evidence": {
|
| 551 |
"bytes": 64217,
|
| 552 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/vlm_cholec.py",
|
| 553 |
"sha256": "44df3d7ca03f6e96460334ef59ffb988538b6be0d926cfe359e67728c79a9f7f"
|
| 554 |
}
|
| 555 |
},
|
|
|
|
| 560 |
"sha256": "2f4f9d542bebd14c4f24220c5e133fcc79da3d1699f8af5628b98b2775593a33",
|
| 561 |
"source_evidence": {
|
| 562 |
"bytes": 7558,
|
| 563 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/vlm_clinical_tight.py",
|
| 564 |
"sha256": "2f4f9d542bebd14c4f24220c5e133fcc79da3d1699f8af5628b98b2775593a33"
|
| 565 |
}
|
| 566 |
},
|
|
|
|
| 571 |
"sha256": "c9cb1e1650fc62464c51cf0a7a089e6b02df082b9285752d86f67ada0af9b595",
|
| 572 |
"source_evidence": {
|
| 573 |
"bytes": 8113,
|
| 574 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/vlm_hybrid.py",
|
| 575 |
"sha256": "c9cb1e1650fc62464c51cf0a7a089e6b02df082b9285752d86f67ada0af9b595"
|
| 576 |
}
|
| 577 |
},
|
|
|
|
| 582 |
"sha256": "a7986d858aa0f5d70defececfe74deef549e4d642634c09edc1a58df8832700e",
|
| 583 |
"source_evidence": {
|
| 584 |
"bytes": 5500,
|
| 585 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/layers/window_endpoint_time.py",
|
| 586 |
"sha256": "a7986d858aa0f5d70defececfe74deef549e4d642634c09edc1a58df8832700e"
|
| 587 |
}
|
| 588 |
},
|
|
|
|
| 593 |
"sha256": "158d28753d8f67e33131ba2aac835f29a3195c91f3024322b158faa0119754c0",
|
| 594 |
"source_evidence": {
|
| 595 |
"bytes": 28397,
|
| 596 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/measured_window_decode.py",
|
| 597 |
"sha256": "158d28753d8f67e33131ba2aac835f29a3195c91f3024322b158faa0119754c0"
|
| 598 |
}
|
| 599 |
},
|
|
|
|
| 604 |
"sha256": "e67297e6b84f6c533ce89fae5df7835a997865bc3c094288f34ef1105cc7b14a",
|
| 605 |
"source_evidence": {
|
| 606 |
"bytes": 13077,
|
| 607 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/measured_window_runtime.py",
|
| 608 |
"sha256": "e67297e6b84f6c533ce89fae5df7835a997865bc3c094288f34ef1105cc7b14a"
|
| 609 |
}
|
| 610 |
},
|
|
|
|
| 615 |
"sha256": "3b684cbf7e3581bf63b559cb393294a6c088d84e851d783f676d419d0be196ad",
|
| 616 |
"source_evidence": {
|
| 617 |
"bytes": 10032,
|
| 618 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/object_specialist.py",
|
| 619 |
"sha256": "3b684cbf7e3581bf63b559cb393294a6c088d84e851d783f676d419d0be196ad"
|
| 620 |
}
|
| 621 |
},
|
|
|
|
| 626 |
"sha256": "8f296824dd6a545dde5434ecdbb93c040aeeb20f8ec305dbe77c07955b282eec",
|
| 627 |
"source_evidence": {
|
| 628 |
"bytes": 3670,
|
| 629 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/object_specialist_policy.json",
|
| 630 |
"sha256": "8f296824dd6a545dde5434ecdbb93c040aeeb20f8ec305dbe77c07955b282eec"
|
| 631 |
}
|
| 632 |
},
|
|
|
|
| 637 |
"sha256": "b236d2c9e7e587db71675f4281c151f7738aeb10780109d1272a3f31ef7d6c56",
|
| 638 |
"source_evidence": {
|
| 639 |
"bytes": 8254,
|
| 640 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/observability.py",
|
| 641 |
"sha256": "b236d2c9e7e587db71675f4281c151f7738aeb10780109d1272a3f31ef7d6c56"
|
| 642 |
}
|
| 643 |
},
|
|
|
|
| 648 |
"sha256": "4c57c4f0cd637287753c530353dddd2358c366d997b9f28c04413a2788e4f160",
|
| 649 |
"source_evidence": {
|
| 650 |
"bytes": 8334,
|
| 651 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/phrasing_robust_router.py",
|
| 652 |
"sha256": "4c57c4f0cd637287753c530353dddd2358c366d997b9f28c04413a2788e4f160"
|
| 653 |
}
|
| 654 |
},
|
|
|
|
| 659 |
"sha256": "b35cb57c886bfdb033b92f3ab51f9c07952e60ff5682c9b0eaea9f95859c29a1",
|
| 660 |
"source_evidence": {
|
| 661 |
"bytes": 9607,
|
| 662 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/priors.py",
|
| 663 |
"sha256": "b35cb57c886bfdb033b92f3ab51f9c07952e60ff5682c9b0eaea9f95859c29a1"
|
| 664 |
}
|
| 665 |
},
|
|
|
|
| 670 |
"sha256": "443d0dee720193c002f15096fe87190238d0104c67b410eaf6ecbf73c7b970b7",
|
| 671 |
"source_evidence": {
|
| 672 |
"bytes": 8013,
|
| 673 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/proc_temporal_zoom.py",
|
| 674 |
"sha256": "443d0dee720193c002f15096fe87190238d0104c67b410eaf6ecbf73c7b970b7"
|
| 675 |
}
|
| 676 |
},
|
|
|
|
| 681 |
"sha256": "12066d42383960302f383e62a72389d792dd4a48efa65771705d495cd7e6beff",
|
| 682 |
"source_evidence": {
|
| 683 |
"bytes": 1740,
|
| 684 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/pyproject.toml",
|
| 685 |
"sha256": "12066d42383960302f383e62a72389d792dd4a48efa65771705d495cd7e6beff"
|
| 686 |
}
|
| 687 |
},
|
|
|
|
| 692 |
"sha256": "c4ba7b6c188fe60402de2ad19a289fdf5a7f5d71f814d6c2271dabfff5d0e165",
|
| 693 |
"source_evidence": {
|
| 694 |
"bytes": 3081,
|
| 695 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/question_context.py",
|
| 696 |
"sha256": "c4ba7b6c188fe60402de2ad19a289fdf5a7f5d71f814d6c2271dabfff5d0e165"
|
| 697 |
}
|
| 698 |
},
|
|
|
|
| 703 |
"sha256": "5cc59e998b0aac3e9f2d97423cb6d58e4f5fe7cc34514e1902b43ac40ecda22f",
|
| 704 |
"source_evidence": {
|
| 705 |
"bytes": 14519,
|
| 706 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/raw_bgr_reuse.py",
|
| 707 |
"sha256": "5cc59e998b0aac3e9f2d97423cb6d58e4f5fe7cc34514e1902b43ac40ecda22f"
|
| 708 |
}
|
| 709 |
},
|
|
|
|
| 714 |
"sha256": "806839139300a340b2487225b26ce10bb6b05ef1d19e50b0426f5a0554dfd79f",
|
| 715 |
"source_evidence": {
|
| 716 |
"bytes": 12423,
|
| 717 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/readiness_battery.py",
|
| 718 |
"sha256": "806839139300a340b2487225b26ce10bb6b05ef1d19e50b0426f5a0554dfd79f"
|
| 719 |
}
|
| 720 |
},
|
|
|
|
| 725 |
"sha256": "c3dea15ffe4dc71adb1becdddc1ff6d3c200bb839546a2ac0b756f0e35f50b4a",
|
| 726 |
"source_evidence": {
|
| 727 |
"bytes": 6025,
|
| 728 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/representative_warmup.py",
|
| 729 |
"sha256": "c3dea15ffe4dc71adb1becdddc1ff6d3c200bb839546a2ac0b756f0e35f50b4a"
|
| 730 |
}
|
| 731 |
},
|
|
|
|
| 736 |
"sha256": "4843a57360fa419391198ac45e006f61705a0df76c222d290ede5ecbf5fba7a9",
|
| 737 |
"source_evidence": {
|
| 738 |
"bytes": 6749,
|
| 739 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/request_eligibility.py",
|
| 740 |
"sha256": "4843a57360fa419391198ac45e006f61705a0df76c222d290ede5ecbf5fba7a9"
|
| 741 |
}
|
| 742 |
},
|
|
|
|
| 747 |
"sha256": "7643fca394cb1babb463df9349f5eba5f5ba7b5ec16798348d31b751a0ec102b",
|
| 748 |
"source_evidence": {
|
| 749 |
"bytes": 3482,
|
| 750 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/requirements.txt",
|
| 751 |
"sha256": "7643fca394cb1babb463df9349f5eba5f5ba7b5ec16798348d31b751a0ec102b"
|
| 752 |
}
|
| 753 |
},
|
|
|
|
| 758 |
"sha256": "ed50f54977111df24126a0eda3bdbea14c6de38526ae2b8007135b70b433a8c1",
|
| 759 |
"source_evidence": {
|
| 760 |
"bytes": 16379,
|
| 761 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/runtime_adapter_witness.py",
|
| 762 |
"sha256": "ed50f54977111df24126a0eda3bdbea14c6de38526ae2b8007135b70b433a8c1"
|
| 763 |
}
|
| 764 |
},
|
|
|
|
| 769 |
"sha256": "aed1c00adf652d4537d26eb8c3f8f9c6a78fe45f10f7e4fe06b71d3b4676d221",
|
| 770 |
"source_evidence": {
|
| 771 |
"bytes": 17465,
|
| 772 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/runtime_media.py",
|
| 773 |
"sha256": "aed1c00adf652d4537d26eb8c3f8f9c6a78fe45f10f7e4fe06b71d3b4676d221"
|
| 774 |
}
|
| 775 |
},
|
|
|
|
| 780 |
"sha256": "aaba4f369949295fe156a7862d91c5bbf13a9f9954077e302a7b918f0fac703b",
|
| 781 |
"source_evidence": {
|
| 782 |
"bytes": 5401,
|
| 783 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/runtime_zoom_context.py",
|
| 784 |
"sha256": "aaba4f369949295fe156a7862d91c5bbf13a9f9954077e302a7b918f0fac703b"
|
| 785 |
}
|
| 786 |
},
|
| 787 |
"/app/solution/shape_mode_diagnostic.py": {
|
| 788 |
+
"bytes": 16464,
|
| 789 |
"image_path": "/app/solution/shape_mode_diagnostic.py",
|
| 790 |
"repo_path": "image_root/app/solution/shape_mode_diagnostic.py",
|
| 791 |
+
"sha256": "47d8d6161e2df496d60b4a151cba9b118fcf28a5d2bf1561495b56b6ff67c080",
|
| 792 |
"source_evidence": {
|
| 793 |
+
"bytes": 16464,
|
| 794 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/shape_mode_diagnostic.py",
|
| 795 |
+
"sha256": "47d8d6161e2df496d60b4a151cba9b118fcf28a5d2bf1561495b56b6ff67c080"
|
| 796 |
}
|
| 797 |
},
|
| 798 |
"/app/solution/shape_mode_diagnostic_policy.json": {
|
| 799 |
+
"bytes": 554,
|
| 800 |
"image_path": "/app/solution/shape_mode_diagnostic_policy.json",
|
| 801 |
"repo_path": "image_root/app/solution/shape_mode_diagnostic_policy.json",
|
| 802 |
+
"sha256": "b4dcbfd21bc34635269f665cb7f29798cb6b91abd88d3651b3102d628346c3ef",
|
| 803 |
"source_evidence": {
|
| 804 |
+
"bytes": 554,
|
| 805 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/shape_mode_diagnostic_policy.json",
|
| 806 |
+
"sha256": "b4dcbfd21bc34635269f665cb7f29798cb6b91abd88d3651b3102d628346c3ef"
|
| 807 |
}
|
| 808 |
},
|
| 809 |
"/app/solution/smoke_observation.py": {
|
|
|
|
| 813 |
"sha256": "87b065d4d59c7d8669bc21a1715f7204ec59d8972e1f475162d53b5d328549db",
|
| 814 |
"source_evidence": {
|
| 815 |
"bytes": 4655,
|
| 816 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/smoke_observation.py",
|
| 817 |
"sha256": "87b065d4d59c7d8669bc21a1715f7204ec59d8972e1f475162d53b5d328549db"
|
| 818 |
}
|
| 819 |
},
|
|
|
|
| 824 |
"sha256": "200f86e2fa5c151798161768942a6b1e1d2cda256754866e83d9ed804e525d2a",
|
| 825 |
"source_evidence": {
|
| 826 |
"bytes": 9683,
|
| 827 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/strict_frame_decode.py",
|
| 828 |
"sha256": "200f86e2fa5c151798161768942a6b1e1d2cda256754866e83d9ed804e525d2a"
|
| 829 |
}
|
| 830 |
},
|
|
|
|
| 835 |
"sha256": "2d8d1c60b054a4126b73fbcb4537620f909c47024b691be1c3f540af72f0e229",
|
| 836 |
"source_evidence": {
|
| 837 |
"bytes": 5115,
|
| 838 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/temporal_refinement_hook.py",
|
| 839 |
"sha256": "2d8d1c60b054a4126b73fbcb4537620f909c47024b691be1c3f540af72f0e229"
|
| 840 |
}
|
| 841 |
},
|
|
|
|
| 846 |
"sha256": "6123b198a32d51cc4694e85dc9079a8a6f0a2eb2f1ed9d905be0f79b15bd2172",
|
| 847 |
"source_evidence": {
|
| 848 |
"bytes": 8516,
|
| 849 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/temporal_refinement_integration.py",
|
| 850 |
"sha256": "6123b198a32d51cc4694e85dc9079a8a6f0a2eb2f1ed9d905be0f79b15bd2172"
|
| 851 |
}
|
| 852 |
},
|
|
|
|
| 857 |
"sha256": "3484d5a1cb82c295fa69c7a05b921184cb2b9309b71b23859d456ddbed7ecbcb",
|
| 858 |
"source_evidence": {
|
| 859 |
"bytes": 5996,
|
| 860 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/temporal_refinement_observation.py",
|
| 861 |
"sha256": "3484d5a1cb82c295fa69c7a05b921184cb2b9309b71b23859d456ddbed7ecbcb"
|
| 862 |
}
|
| 863 |
},
|
|
|
|
| 868 |
"sha256": "d1e929c55660ba5b0037388c76d4eee43d43a635e7d5c648442e9b21274f9387",
|
| 869 |
"source_evidence": {
|
| 870 |
"bytes": 15005,
|
| 871 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/temporal_refinement_policy.py",
|
| 872 |
"sha256": "d1e929c55660ba5b0037388c76d4eee43d43a635e7d5c648442e9b21274f9387"
|
| 873 |
}
|
| 874 |
},
|
|
|
|
| 879 |
"sha256": "3234af3b6e89ad01ea2544a8ff759769268eae6e2f5b50a49e8faf649322076f",
|
| 880 |
"source_evidence": {
|
| 881 |
"bytes": 5539,
|
| 882 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/video_loader.py",
|
| 883 |
"sha256": "3234af3b6e89ad01ea2544a8ff759769268eae6e2f5b50a49e8faf649322076f"
|
| 884 |
}
|
| 885 |
},
|
|
|
|
| 890 |
"sha256": "767da69483ad0200f214c358887ac0903d12d577d18328125fcf11a82fb8e435",
|
| 891 |
"source_evidence": {
|
| 892 |
"bytes": 4719,
|
| 893 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/solution/volume_binding.py",
|
| 894 |
"sha256": "767da69483ad0200f214c358887ac0903d12d577d18328125fcf11a82fb8e435"
|
| 895 |
}
|
| 896 |
},
|
|
|
|
| 901 |
"sha256": "1424ea830b6c881f79d618c9e61b69b5ed1c05fdd04bd9b9287fa09398bbdb06",
|
| 902 |
"source_evidence": {
|
| 903 |
"bytes": 507,
|
| 904 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/surgfield_shell/__init__.py",
|
| 905 |
"sha256": "1424ea830b6c881f79d618c9e61b69b5ed1c05fdd04bd9b9287fa09398bbdb06"
|
| 906 |
}
|
| 907 |
},
|
|
|
|
| 912 |
"sha256": "eaec36f8a642dde768e548fb0c010a2a0e169cdb3c70a2ffe643e051a9985743",
|
| 913 |
"source_evidence": {
|
| 914 |
"bytes": 13155,
|
| 915 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/surgfield_shell/launch.py",
|
| 916 |
"sha256": "eaec36f8a642dde768e548fb0c010a2a0e169cdb3c70a2ffe643e051a9985743"
|
| 917 |
}
|
| 918 |
},
|
|
|
|
| 923 |
"sha256": "07dbccc7722b677455bfc4d04bef0a86996a9b009b33b2e22fbe2d7d8a14ddaa",
|
| 924 |
"source_evidence": {
|
| 925 |
"bytes": 2343,
|
| 926 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/vehicle_entry.py",
|
| 927 |
"sha256": "07dbccc7722b677455bfc4d04bef0a86996a9b009b33b2e22fbe2d7d8a14ddaa"
|
| 928 |
}
|
| 929 |
},
|
|
|
|
| 934 |
"sha256": "225f06c54f4fbff02cfa88391aefe04a6449c35c9a43bcb86d33a5969175d9d0",
|
| 935 |
"source_evidence": {
|
| 936 |
"bytes": 13796,
|
| 937 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/app/verify_vehicle.py",
|
| 938 |
"sha256": "225f06c54f4fbff02cfa88391aefe04a6449c35c9a43bcb86d33a5969175d9d0"
|
| 939 |
}
|
| 940 |
}
|
| 941 |
},
|
| 942 |
"modifications_for_HF": false,
|
| 943 |
+
"predecessor_repository_revision": "b2176cf6d0f77e58e34a90583041b1a929417fb3",
|
| 944 |
+
"predecessor_source_manifest_sha256": "df1cf7f38c87eae4719b721a7f4a6e7c1d19d9c59d33d065808f9976d937afd5",
|
| 945 |
"schema": "selected615-hf-source-manifest/1",
|
| 946 |
+
"scope": "Exact diagnostic-safe wrapper repair source; source only, with current actual image bound separately by IMAGE_IDENTITY.json. Original selected weights and their immutable asset provenance are preserved.",
|
| 947 |
+
"source_preparation": {
|
| 948 |
+
"bytes": 65314,
|
| 949 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/foundation-q38/review/submission_repair_20260911/diagnostic_source_b/PREPARATION.json",
|
| 950 |
+
"sha256": "94052eff5746e9001c839a2287fffda16ceaf90c7522a92fbb349332d5ead895"
|
| 951 |
+
},
|
| 952 |
+
"source_review": {
|
| 953 |
+
"bytes": 58697,
|
| 954 |
+
"path": "/Users/rezanehzati/Projects/orena-finals/packages/procedure/review/submission_failure_20260911/intake_diagnostic_source_b/REVIEW.json",
|
| 955 |
+
"sha256": "396e5b957b0f05f2176eb4e1b1c16c526462385c5e777c4baf15d655dbeb2e3d"
|
| 956 |
+
},
|
| 957 |
+
"total_bytes": 1009195
|
| 958 |
}
|
image_root/app/VEHICLE_INPUTS.json
CHANGED
|
@@ -1522,6 +1522,10 @@
|
|
| 1522 |
"bytes": 2525,
|
| 1523 |
"sha256": "78b13b81ad457d8930d0bc013d101ce62e4e7a2bce4712b1cf3f5a1320d8ecc6"
|
| 1524 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1525 |
"solution/entrypoint/native_video_input.py": {
|
| 1526 |
"bytes": 9923,
|
| 1527 |
"sha256": "8269a3f520d5dc78e25ca847aae438b7697f3f3e165e1e28d50a0b48e45ab067"
|
|
@@ -1531,8 +1535,8 @@
|
|
| 1531 |
"sha256": "a55143dfdbeca52503e225a8a1d2529ef359d3f905ee00ae4d919c6c885c065f"
|
| 1532 |
},
|
| 1533 |
"solution/entrypoint/probe_entrypoint.py": {
|
| 1534 |
-
"bytes":
|
| 1535 |
-
"sha256": "
|
| 1536 |
},
|
| 1537 |
"solution/entrypoint/segment_temporal_seam.py": {
|
| 1538 |
"bytes": 11930,
|
|
@@ -1735,12 +1739,12 @@
|
|
| 1735 |
"sha256": "aaba4f369949295fe156a7862d91c5bbf13a9f9954077e302a7b918f0fac703b"
|
| 1736 |
},
|
| 1737 |
"solution/shape_mode_diagnostic.py": {
|
| 1738 |
-
"bytes":
|
| 1739 |
-
"sha256": "
|
| 1740 |
},
|
| 1741 |
"solution/shape_mode_diagnostic_policy.json": {
|
| 1742 |
-
"bytes":
|
| 1743 |
-
"sha256": "
|
| 1744 |
},
|
| 1745 |
"solution/smoke_observation.py": {
|
| 1746 |
"bytes": 4655,
|
|
@@ -1788,15 +1792,24 @@
|
|
| 1788 |
"original_warmups_retained": true,
|
| 1789 |
"original_wrapper_and_request_clocks": true,
|
| 1790 |
"policy_pin": {
|
| 1791 |
-
"bytes":
|
| 1792 |
-
"sha256": "
|
| 1793 |
},
|
|
|
|
| 1794 |
"runtime_measured": false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1795 |
"schema": "shape-mode-diagnostic-source-binding/1",
|
| 1796 |
"source_pin": {
|
| 1797 |
-
"bytes":
|
| 1798 |
-
"sha256": "
|
| 1799 |
-
}
|
| 1800 |
-
"source_plan_sha256": "a44c5217fc08c3b202c2a1e71b07be140f45d645e07a39b8336b4b72268d419b"
|
| 1801 |
}
|
| 1802 |
}
|
|
|
|
| 1522 |
"bytes": 2525,
|
| 1523 |
"sha256": "78b13b81ad457d8930d0bc013d101ce62e4e7a2bce4712b1cf3f5a1320d8ecc6"
|
| 1524 |
},
|
| 1525 |
+
"solution/entrypoint/lazy_video_staging.py": {
|
| 1526 |
+
"bytes": 16076,
|
| 1527 |
+
"sha256": "faa24dfcfef510629ccc522b563461fe3454c8d0ea32f6228674e5fdbe36523e"
|
| 1528 |
+
},
|
| 1529 |
"solution/entrypoint/native_video_input.py": {
|
| 1530 |
"bytes": 9923,
|
| 1531 |
"sha256": "8269a3f520d5dc78e25ca847aae438b7697f3f3e165e1e28d50a0b48e45ab067"
|
|
|
|
| 1535 |
"sha256": "a55143dfdbeca52503e225a8a1d2529ef359d3f905ee00ae4d919c6c885c065f"
|
| 1536 |
},
|
| 1537 |
"solution/entrypoint/probe_entrypoint.py": {
|
| 1538 |
+
"bytes": 70789,
|
| 1539 |
+
"sha256": "b648bb96cc0efcd8321fa73e17660e2b2490064ea8c33146d49e6f46bafb91fa"
|
| 1540 |
},
|
| 1541 |
"solution/entrypoint/segment_temporal_seam.py": {
|
| 1542 |
"bytes": 11930,
|
|
|
|
| 1739 |
"sha256": "aaba4f369949295fe156a7862d91c5bbf13a9f9954077e302a7b918f0fac703b"
|
| 1740 |
},
|
| 1741 |
"solution/shape_mode_diagnostic.py": {
|
| 1742 |
+
"bytes": 16464,
|
| 1743 |
+
"sha256": "47d8d6161e2df496d60b4a151cba9b118fcf28a5d2bf1561495b56b6ff67c080"
|
| 1744 |
},
|
| 1745 |
"solution/shape_mode_diagnostic_policy.json": {
|
| 1746 |
+
"bytes": 554,
|
| 1747 |
+
"sha256": "b4dcbfd21bc34635269f665cb7f29798cb6b91abd88d3651b3102d628346c3ef"
|
| 1748 |
},
|
| 1749 |
"solution/smoke_observation.py": {
|
| 1750 |
"bytes": 4655,
|
|
|
|
| 1792 |
"original_warmups_retained": true,
|
| 1793 |
"original_wrapper_and_request_clocks": true,
|
| 1794 |
"policy_pin": {
|
| 1795 |
+
"bytes": 554,
|
| 1796 |
+
"sha256": "b4dcbfd21bc34635269f665cb7f29798cb6b91abd88d3651b3102d628346c3ef"
|
| 1797 |
},
|
| 1798 |
+
"predecessor_source_plan_sha256": "a44c5217fc08c3b202c2a1e71b07be140f45d645e07a39b8336b4b72268d419b",
|
| 1799 |
"runtime_measured": false,
|
| 1800 |
+
"saturation_policy": {
|
| 1801 |
+
"actual_repaired_image_runtime_measured": false,
|
| 1802 |
+
"max_events_per_process": 16384,
|
| 1803 |
+
"max_metadata_bytes_per_process": 16777216,
|
| 1804 |
+
"model_and_controller_checks_unchanged": true,
|
| 1805 |
+
"recording_exhaustion_preserves_inference": true,
|
| 1806 |
+
"schema": "shape-mode-diagnostic-saturation-source/1",
|
| 1807 |
+
"terminal_receipt_best_effort": true
|
| 1808 |
+
},
|
| 1809 |
"schema": "shape-mode-diagnostic-source-binding/1",
|
| 1810 |
"source_pin": {
|
| 1811 |
+
"bytes": 16464,
|
| 1812 |
+
"sha256": "47d8d6161e2df496d60b4a151cba9b118fcf28a5d2bf1561495b56b6ff67c080"
|
| 1813 |
+
}
|
|
|
|
| 1814 |
}
|
| 1815 |
}
|
image_root/app/solution/entrypoint/lazy_video_staging.py
ADDED
|
@@ -0,0 +1,338 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""PROCEDURE archive staging: metadata catalog and one active extracted clip.
|
| 2 |
+
|
| 3 |
+
The catalog contains empty regular files, never ZIP payload. Resolution uses the
|
| 4 |
+
original shell resolver before any clip is extracted. Archive order, duplicate
|
| 5 |
+
member overwrite order, loose-file priority, and native normalized paths remain
|
| 6 |
+
unchanged. A failed/partial extraction never becomes a model input.
|
| 7 |
+
"""
|
| 8 |
+
from __future__ import annotations
|
| 9 |
+
import json
|
| 10 |
+
import hashlib
|
| 11 |
+
import os
|
| 12 |
+
from pathlib import Path
|
| 13 |
+
import stat
|
| 14 |
+
import tempfile
|
| 15 |
+
import time
|
| 16 |
+
import zipfile
|
| 17 |
+
|
| 18 |
+
_CHUNK = 1024 * 1024
|
| 19 |
+
_MAX_ENTRIES = 100000
|
| 20 |
+
_MAX_NAME_BYTES = 16 * 1024 * 1024
|
| 21 |
+
def _safe_qid(qid):
|
| 22 |
+
# Contract IDs are strings, not the temporal observer's narrower identifier
|
| 23 |
+
# grammar. They must fit one normalized filename including its .mp4 suffix.
|
| 24 |
+
return (bool(qid) and qid not in ('.', '..') and
|
| 25 |
+
not any(c in qid for c in ('/', '\\', '\x00')) and
|
| 26 |
+
len(os.fsencode(qid)) + len('.mp4') <= 255)
|
| 27 |
+
|
| 28 |
+
|
| 29 |
+
def _source_under_input(path, root):
|
| 30 |
+
path = Path(path)
|
| 31 |
+
rel = path.relative_to(root)
|
| 32 |
+
current = root
|
| 33 |
+
for index, part in enumerate(rel.parts):
|
| 34 |
+
current = current / part
|
| 35 |
+
mode = current.lstat().st_mode
|
| 36 |
+
if stat.S_ISLNK(mode):
|
| 37 |
+
raise ValueError('descendant input symlink refused')
|
| 38 |
+
if index < len(rel.parts)-1 and not stat.S_ISDIR(mode):
|
| 39 |
+
raise ValueError('input ancestor is not a directory')
|
| 40 |
+
if not stat.S_ISREG(path.lstat().st_mode):
|
| 41 |
+
raise ValueError('input source is not a regular file')
|
| 42 |
+
if path.resolve(strict=True) != path:
|
| 43 |
+
raise ValueError('input source resolves outside canonical input')
|
| 44 |
+
return path
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
def _stamp(path):
|
| 48 |
+
s = Path(path).stat()
|
| 49 |
+
return (s.st_dev, s.st_ino, s.st_mode, s.st_size, s.st_mtime_ns, s.st_ctime_ns)
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
def _member_path(name):
|
| 53 |
+
# Same POSIX normalization as zipfile.extract, preceded by the original
|
| 54 |
+
# absolute/parent guard. ZIP symlink attributes are never followed.
|
| 55 |
+
if name.startswith(("/", "\\")) or ".." in Path(name).parts:
|
| 56 |
+
return None
|
| 57 |
+
parts = [p for p in name.split("/") if p not in ("", ".")]
|
| 58 |
+
return Path(*parts) if parts else None
|
| 59 |
+
|
| 60 |
+
|
| 61 |
+
class LazyVideos:
|
| 62 |
+
def __init__(self, input_dir, workdir, rows, *, resolver, resolve_video,
|
| 63 |
+
is_zip, video_exts, log):
|
| 64 |
+
self.input_alias = Path(os.path.abspath(input_dir))
|
| 65 |
+
self.input_dir = self.input_alias.resolve(strict=True)
|
| 66 |
+
self.alias_stamp = self.input_alias.lstat()
|
| 67 |
+
self.alias_identity = (self.alias_stamp.st_dev, self.alias_stamp.st_ino,
|
| 68 |
+
self.alias_stamp.st_mode, self.alias_stamp.st_mtime_ns,
|
| 69 |
+
self.alias_stamp.st_ctime_ns)
|
| 70 |
+
self.input_identity = _stamp(self.input_dir)
|
| 71 |
+
self.workdir = Path(workdir)
|
| 72 |
+
self.root = self.workdir / "videos"
|
| 73 |
+
self.norm_root = self.workdir / "norm"
|
| 74 |
+
self.catalog = self.workdir / "video_catalog"
|
| 75 |
+
self.root.mkdir()
|
| 76 |
+
(self.norm_root / "plain").mkdir(parents=True)
|
| 77 |
+
self.catalog.mkdir()
|
| 78 |
+
self.log = log
|
| 79 |
+
self.entries = {}
|
| 80 |
+
self.selected = {}
|
| 81 |
+
self.active = None
|
| 82 |
+
self.active_link = None
|
| 83 |
+
self.pending = None
|
| 84 |
+
self.blocked = False
|
| 85 |
+
self.fenced = set()
|
| 86 |
+
self.peak_extracted_bytes = 0
|
| 87 |
+
self.extractions = 0
|
| 88 |
+
files = sorted((p for p in self.input_dir.rglob("*") if p.is_file()), key=str)
|
| 89 |
+
archives, loose = [], []
|
| 90 |
+
for path in files:
|
| 91 |
+
try:
|
| 92 |
+
_source_under_input(path, self.input_dir)
|
| 93 |
+
except (OSError, ValueError) as exc:
|
| 94 |
+
log(f'PROBESHELL: input source refused {path}: {type(exc).__name__}')
|
| 95 |
+
continue
|
| 96 |
+
if path.suffix.lower() in video_exts:
|
| 97 |
+
loose.append(path)
|
| 98 |
+
elif is_zip(path):
|
| 99 |
+
archives.append(path)
|
| 100 |
+
count = name_bytes = 0
|
| 101 |
+
for archive in archives:
|
| 102 |
+
stamp = _stamp(archive)
|
| 103 |
+
with zipfile.ZipFile(archive) as zf:
|
| 104 |
+
for index, info in enumerate(zf.infolist()):
|
| 105 |
+
count += 1
|
| 106 |
+
name_bytes += len(info.filename.encode("utf-8"))
|
| 107 |
+
if count > _MAX_ENTRIES or name_bytes > _MAX_NAME_BYTES:
|
| 108 |
+
raise ValueError("archive metadata catalog limit exceeded")
|
| 109 |
+
rel = _member_path(info.filename)
|
| 110 |
+
if rel is None:
|
| 111 |
+
log(f"PROBESHELL: skipping unsafe zip member {info.filename!r}")
|
| 112 |
+
continue
|
| 113 |
+
target = self.catalog / rel
|
| 114 |
+
try:
|
| 115 |
+
if info.is_dir():
|
| 116 |
+
target.mkdir(parents=True, exist_ok=True)
|
| 117 |
+
continue
|
| 118 |
+
target.parent.mkdir(parents=True, exist_ok=True)
|
| 119 |
+
# Truncate an earlier member's metadata placeholder,
|
| 120 |
+
# just as the original extractor overwrites that path.
|
| 121 |
+
with target.open("wb"):
|
| 122 |
+
pass
|
| 123 |
+
self.entries[rel] = ("zip", archive, stamp, index,
|
| 124 |
+
info.filename, info.CRC, info.file_size, info.compress_size)
|
| 125 |
+
except OSError as exc:
|
| 126 |
+
log(f"PROBESHELL: catalog member refused {info.filename!r}: {type(exc).__name__}")
|
| 127 |
+
if _stamp(archive) != stamp:
|
| 128 |
+
raise ValueError("archive changed while indexing")
|
| 129 |
+
for path in loose:
|
| 130 |
+
rel = path.relative_to(self.input_dir)
|
| 131 |
+
target = self.catalog / rel
|
| 132 |
+
target.parent.mkdir(parents=True, exist_ok=True)
|
| 133 |
+
if not target.exists():
|
| 134 |
+
with target.open("xb"):
|
| 135 |
+
pass
|
| 136 |
+
source = path.resolve(strict=True)
|
| 137 |
+
self.entries[rel] = ("loose", source, _stamp(source))
|
| 138 |
+
for row in rows:
|
| 139 |
+
qid = str(row.get("qID", ""))
|
| 140 |
+
if not qid or qid in self.selected:
|
| 141 |
+
continue
|
| 142 |
+
if not _safe_qid(qid):
|
| 143 |
+
log(f"PROBESHELL: RESOLVE-BLIND unsafe qID={qid!r}")
|
| 144 |
+
self.selected[qid] = (None, "UNRESOLVED")
|
| 145 |
+
continue
|
| 146 |
+
source, rung = resolver(self.catalog, qid, row.get("videoID"), resolve_video)
|
| 147 |
+
# Original tolerant videoID may contain separators. Only catalog
|
| 148 |
+
# descendants can resolve; never use its path to escape staging.
|
| 149 |
+
if source is None:
|
| 150 |
+
self.selected[qid] = (None, rung)
|
| 151 |
+
else:
|
| 152 |
+
try:
|
| 153 |
+
rel = Path(source).relative_to(self.catalog)
|
| 154 |
+
if ".." in rel.parts or rel not in self.entries:
|
| 155 |
+
raise ValueError("source outside indexed catalog")
|
| 156 |
+
except ValueError:
|
| 157 |
+
self.selected[qid] = (None, "UNRESOLVED")
|
| 158 |
+
continue
|
| 159 |
+
self.selected[qid] = (rel, rung)
|
| 160 |
+
videoids = sorted(q for q, (rel, rung) in self.selected.items()
|
| 161 |
+
if rel is not None and rung == "videoID")
|
| 162 |
+
# Immutable for the whole run: the engine caches this marker by path.
|
| 163 |
+
(self.norm_root / "videoid_rung.json").write_text(json.dumps(videoids))
|
| 164 |
+
log(f"PROBESHELL: LAZY-CATALOG {len(self.entries)} files, {len(archives)} archives, "
|
| 165 |
+
f"{len(loose)} loose clips; one extracted clip at a time")
|
| 166 |
+
|
| 167 |
+
def target_key(self, qid):
|
| 168 |
+
rel, _ = self.selected.get(qid, (None, "UNRESOLVED"))
|
| 169 |
+
if rel is None:
|
| 170 |
+
return None
|
| 171 |
+
entry = self.entries[rel]
|
| 172 |
+
return str(entry[1] if entry[0] == "loose" else self.root / rel)
|
| 173 |
+
|
| 174 |
+
def _check_input(self):
|
| 175 |
+
current = self.input_alias.lstat()
|
| 176 |
+
identity = (current.st_dev, current.st_ino, current.st_mode,
|
| 177 |
+
current.st_mtime_ns, current.st_ctime_ns)
|
| 178 |
+
if identity != self.alias_identity or self.input_alias.resolve(strict=True) != self.input_dir:
|
| 179 |
+
raise ValueError('input root alias changed')
|
| 180 |
+
if _stamp(self.input_dir) != self.input_identity:
|
| 181 |
+
raise ValueError('canonical input directory changed')
|
| 182 |
+
|
| 183 |
+
def release(self):
|
| 184 |
+
failures = []
|
| 185 |
+
for field in ('active_link', 'active'):
|
| 186 |
+
path = getattr(self, field)
|
| 187 |
+
if path is not None:
|
| 188 |
+
try:
|
| 189 |
+
path.unlink(missing_ok=True)
|
| 190 |
+
setattr(self, field, None)
|
| 191 |
+
except OSError as exc:
|
| 192 |
+
failures.append(type(exc).__name__)
|
| 193 |
+
if failures:
|
| 194 |
+
self.blocked = True
|
| 195 |
+
self.log('PROBESHELL: LAZY-RELEASE-FAILED ' + ','.join(failures) +
|
| 196 |
+
'; further extraction disabled to retain the one-clip bound')
|
| 197 |
+
if self.pending is not None:
|
| 198 |
+
remaining = 0
|
| 199 |
+
if self.active is not None and self.active.exists() and not self.active.is_symlink():
|
| 200 |
+
remaining = self.active.stat().st_size
|
| 201 |
+
self.pending.update(released=not failures, managed_clip_bytes_after=remaining,
|
| 202 |
+
peak_extracted_clip_bytes=self.peak_extracted_bytes)
|
| 203 |
+
if self.pending['phase'] == 'request':
|
| 204 |
+
self.log('LAZY-CLIP-JSON ' + json.dumps(self.pending, sort_keys=True))
|
| 205 |
+
self.pending = None
|
| 206 |
+
return not failures
|
| 207 |
+
|
| 208 |
+
def materialize(self, qid, *, deadline=None, phase="request"):
|
| 209 |
+
self.release()
|
| 210 |
+
rel, rung = self.selected.get(qid, (None, "UNRESOLVED"))
|
| 211 |
+
self.pending = dict(schema='procedure-lazy-clip/1', qid=qid, phase=phase,
|
| 212 |
+
staged=None if rel is None else str(self.root/rel), rung=rung,
|
| 213 |
+
member=None, archive=None, source_kind=None, copied_bytes=0,
|
| 214 |
+
sha256=None, complete=False, failure=None, released=False)
|
| 215 |
+
if self.blocked:
|
| 216 |
+
self.pending['failure'] = 'prior_cleanup_failed'
|
| 217 |
+
return None, rung
|
| 218 |
+
if rel is None or qid in self.fenced:
|
| 219 |
+
self.pending['failure'] = 'unresolved' if rel is None else 'decode_fenced'
|
| 220 |
+
return None, rung
|
| 221 |
+
target = self.root / rel
|
| 222 |
+
entry = self.entries[rel]
|
| 223 |
+
self.pending.update(source_kind=entry[0],
|
| 224 |
+
archive=str(entry[1]) if entry[0]=='zip' else None,
|
| 225 |
+
member=entry[4] if entry[0]=='zip' else str(entry[1]))
|
| 226 |
+
tmp = None
|
| 227 |
+
try:
|
| 228 |
+
self._check_input()
|
| 229 |
+
_source_under_input(entry[1], self.input_dir)
|
| 230 |
+
target.parent.mkdir(parents=True, exist_ok=True)
|
| 231 |
+
if _stamp(entry[1]) != entry[2]:
|
| 232 |
+
raise ValueError("source changed since catalog")
|
| 233 |
+
if deadline is not None and time.perf_counter() >= deadline:
|
| 234 |
+
raise TimeoutError("decode-proof staging budget exhausted")
|
| 235 |
+
if entry[0] == "loose":
|
| 236 |
+
target.symlink_to(entry[1])
|
| 237 |
+
else:
|
| 238 |
+
with zipfile.ZipFile(entry[1]) as zf:
|
| 239 |
+
info = zf.infolist()[entry[3]]
|
| 240 |
+
if (info.filename, info.CRC, info.file_size, info.compress_size) != entry[4:]:
|
| 241 |
+
raise ValueError("indexed archive member changed")
|
| 242 |
+
fd, name = tempfile.mkstemp(prefix=".clip-partial-", dir=target.parent)
|
| 243 |
+
tmp = Path(name)
|
| 244 |
+
copied = 0
|
| 245 |
+
digest = hashlib.sha256()
|
| 246 |
+
with os.fdopen(fd, "wb") as out, zf.open(info) as stream:
|
| 247 |
+
while True:
|
| 248 |
+
if deadline is not None and time.perf_counter() >= deadline:
|
| 249 |
+
raise TimeoutError("decode-proof staging budget exhausted")
|
| 250 |
+
chunk = stream.read(_CHUNK)
|
| 251 |
+
if not chunk:
|
| 252 |
+
break
|
| 253 |
+
written = out.write(chunk)
|
| 254 |
+
if written != len(chunk):
|
| 255 |
+
raise OSError('short archive staging write')
|
| 256 |
+
digest.update(chunk)
|
| 257 |
+
copied += written
|
| 258 |
+
self.peak_extracted_bytes = max(self.peak_extracted_bytes, copied)
|
| 259 |
+
if copied != info.file_size:
|
| 260 |
+
raise ValueError("incomplete archive member")
|
| 261 |
+
self._check_input()
|
| 262 |
+
_source_under_input(entry[1], self.input_dir)
|
| 263 |
+
if _stamp(entry[1]) != entry[2]:
|
| 264 |
+
raise ValueError("archive changed while extracting")
|
| 265 |
+
if deadline is not None and time.perf_counter() >= deadline:
|
| 266 |
+
raise TimeoutError("decode-proof staging budget exhausted")
|
| 267 |
+
os.replace(tmp, target)
|
| 268 |
+
tmp = None
|
| 269 |
+
self.extractions += 1
|
| 270 |
+
self.pending.update(copied_bytes=copied, sha256=digest.hexdigest())
|
| 271 |
+
self.pending['complete'] = True
|
| 272 |
+
self.active = target
|
| 273 |
+
return target, rung
|
| 274 |
+
except Exception as exc:
|
| 275 |
+
self.pending['failure'] = type(exc).__name__
|
| 276 |
+
if tmp is not None:
|
| 277 |
+
if tmp.exists():
|
| 278 |
+
partial = tmp.stat().st_size
|
| 279 |
+
self.pending['copied_bytes'] = partial
|
| 280 |
+
self.peak_extracted_bytes = max(self.peak_extracted_bytes, partial)
|
| 281 |
+
try:
|
| 282 |
+
tmp.unlink(missing_ok=True)
|
| 283 |
+
except OSError:
|
| 284 |
+
self.active = tmp
|
| 285 |
+
self.blocked = True
|
| 286 |
+
if target.is_file() or target.is_symlink():
|
| 287 |
+
try:
|
| 288 |
+
target.unlink(missing_ok=True)
|
| 289 |
+
except OSError:
|
| 290 |
+
self.active = target
|
| 291 |
+
self.blocked = True
|
| 292 |
+
self.log(f"PROBESHELL: LAZY-STAGE-FAILED qID={qid} {type(exc).__name__}: {exc}; "
|
| 293 |
+
"no partial clip published; this row retains normal fallback containment")
|
| 294 |
+
return None, rung
|
| 295 |
+
|
| 296 |
+
def prepare_probe(self, row, deadline):
|
| 297 |
+
qid = str(row.get("qID", ""))
|
| 298 |
+
try:
|
| 299 |
+
source, _ = self.materialize(qid, deadline=deadline, phase="probe")
|
| 300 |
+
if source is not None:
|
| 301 |
+
link = self.norm_root / "plain" / f"{qid}.mp4"
|
| 302 |
+
self.active_link = link
|
| 303 |
+
link.symlink_to(source.resolve(strict=True))
|
| 304 |
+
except Exception as exc:
|
| 305 |
+
self.log(f'PROBESHELL: LAZY-PROBE-STAGE-FAILED qID={qid} {type(exc).__name__}')
|
| 306 |
+
self.release()
|
| 307 |
+
# No runtime temporal binding during pre-probe: its file is temporary.
|
| 308 |
+
|
| 309 |
+
def prepare_request(self, row, normalize):
|
| 310 |
+
qid = str(row.get("qID", ""))
|
| 311 |
+
try:
|
| 312 |
+
source, rung = self.materialize(qid)
|
| 313 |
+
if not _safe_qid(qid):
|
| 314 |
+
return False
|
| 315 |
+
if self.pending.get('failure') not in (None, 'unresolved', 'decode_fenced'):
|
| 316 |
+
return False
|
| 317 |
+
# Set the cleanup path before normalization, so a partial link
|
| 318 |
+
# publication followed by an exception is still reclaimed.
|
| 319 |
+
link = self.norm_root / "plain" / f"{qid}.mp4"
|
| 320 |
+
self.active_link = link
|
| 321 |
+
normalize([row], self.root, self.workdir,
|
| 322 |
+
resolutions={qid: (source, rung)}, write_marker=False)
|
| 323 |
+
return True
|
| 324 |
+
except Exception as exc:
|
| 325 |
+
if self.pending is not None:
|
| 326 |
+
self.pending['failure'] = type(exc).__name__
|
| 327 |
+
self.log(f'PROBESHELL: LAZY-NORMALIZE-FAILED qID={qid} {type(exc).__name__}')
|
| 328 |
+
self.release()
|
| 329 |
+
return False
|
| 330 |
+
|
| 331 |
+
def close(self):
|
| 332 |
+
self.release()
|
| 333 |
+
self.log("PROBESHELL: LAZY-STORAGE " + json.dumps({
|
| 334 |
+
"peak_extracted_clip_bytes": self.peak_extracted_bytes,
|
| 335 |
+
"completed_extractions": self.extractions,
|
| 336 |
+
"active_extracted_clips": int(self.active is not None),
|
| 337 |
+
"further_extraction_disabled": self.blocked,
|
| 338 |
+
"scope": "archive payload only; private runtime evidence/caches retained"}, sort_keys=True))
|
image_root/app/solution/entrypoint/probe_entrypoint.py
CHANGED
|
@@ -77,6 +77,7 @@ import re
|
|
| 77 |
import subprocess
|
| 78 |
import sys
|
| 79 |
import tempfile
|
|
|
|
| 80 |
import time
|
| 81 |
import zipfile
|
| 82 |
from pathlib import Path
|
|
@@ -376,7 +377,8 @@ def _resolve_qid(root: Path, qid: str, video_id, resolve_video):
|
|
| 376 |
return None, _RUNG_UNRESOLVED
|
| 377 |
|
| 378 |
|
| 379 |
-
def normalize_clips(rows: list[dict], root: Path | None, workdir: Path
|
|
|
|
| 380 |
"""Build `<work>/norm/plain/<qID>.mp4` links so the engine's clip-mode
|
| 381 |
lookup is deterministic regardless of the delivered tree, resolving each
|
| 382 |
qID through the labeled ladder in `_resolve_qid`.
|
|
@@ -407,7 +409,8 @@ def normalize_clips(rows: list[dict], root: Path | None, workdir: Path) -> Path:
|
|
| 407 |
qid = str(row.get("qID", ""))
|
| 408 |
if not qid:
|
| 409 |
continue
|
| 410 |
-
src, rung =
|
|
|
|
| 411 |
rung_counts[rung] = rung_counts.get(rung, 0) + 1
|
| 412 |
if src is None:
|
| 413 |
unresolved.append(qid)
|
|
@@ -438,7 +441,8 @@ def normalize_clips(rows: list[dict], root: Path | None, workdir: Path) -> Path:
|
|
| 438 |
# clip-mode engine can pick SEEK-with-window for exactly these qIDs.
|
| 439 |
marker = norm.parent / "videoid_rung.json"
|
| 440 |
try:
|
| 441 |
-
|
|
|
|
| 442 |
except OSError as e:
|
| 443 |
_log(f"PROBESHELL: could not write videoid_rung marker ({e})")
|
| 444 |
if videoid_qids:
|
|
@@ -593,8 +597,8 @@ def _hash_frame_image(src: Path) -> tuple[str, int, str]:
|
|
| 593 |
|
| 594 |
|
| 595 |
def emit_decode_records(rows: list[dict], norm_root: Path,
|
| 596 |
-
probe_budget_sec: float | None = None
|
| 597 |
-
) -> tuple[dict[str, str], int]:
|
| 598 |
"""One G1DECODE stderr line per UNIQUE qID — the decode-proof channel.
|
| 599 |
|
| 600 |
Hash convention (a parse contract with the external rehearsal harness —
|
|
@@ -641,10 +645,16 @@ def emit_decode_records(rows: list[dict], norm_root: Path,
|
|
| 641 |
if not qid or qid in seen_q:
|
| 642 |
continue
|
| 643 |
seen_q.add(qid)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 644 |
clip = norm_root / "plain" / f"{qid}.mp4"
|
| 645 |
sha, frames, res, danger = ("none", 0, "0x0", None)
|
| 646 |
-
|
| 647 |
-
|
|
|
|
| 648 |
if key in by_target: # shared clip: decode once
|
| 649 |
sha, frames, res, danger = by_target[key]
|
| 650 |
elif (probe_budget_sec is not None
|
|
@@ -655,9 +665,17 @@ def emit_decode_records(rows: list[dict], norm_root: Path,
|
|
| 655 |
f"exhausted; skipping probe for remaining clips (the "
|
| 656 |
f"in-process decode is SIGALRM-bounded, so still safe)")
|
| 657 |
else:
|
| 658 |
-
|
| 659 |
-
|
| 660 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 661 |
else:
|
| 662 |
# R1-47: FRAME image ladder (mirrors the resolver rung order; file-
|
| 663 |
# bytes hash, decode-free — see docstring). Budget-charged like the
|
|
@@ -796,7 +814,7 @@ def fallback_answers(rows: list[dict]) -> list[dict]:
|
|
| 796 |
|
| 797 |
def answer_all(rows: list[dict], videos_root: Path, device: str,
|
| 798 |
answers: list[dict], output_dir: Path,
|
| 799 |
-
proc_t0: float | None = None) -> list[dict]:
|
| 800 |
"""Upgrade the pre-seeded `answers` in place — one engine answer per unique
|
| 801 |
qID — flushing atomically after every question.
|
| 802 |
|
|
@@ -820,187 +838,211 @@ def answer_all(rows: list[dict], videos_root: Path, device: str,
|
|
| 820 |
# cold-start init overrun is visible and attributable, not silent.
|
| 821 |
_init_t0 = time.perf_counter()
|
| 822 |
container = SubmissionContainer(videos_dir=videos_root, device=device)
|
| 823 |
-
|
| 824 |
-
|
| 825 |
-
|
| 826 |
-
|
| 827 |
-
|
| 828 |
-
|
| 829 |
-
|
| 830 |
-
|
| 831 |
-
|
| 832 |
-
|
| 833 |
-
|
| 834 |
-
|
| 835 |
-
|
| 836 |
-
|
| 837 |
-
|
| 838 |
-
|
| 839 |
-
|
| 840 |
-
|
| 841 |
-
|
| 842 |
-
|
| 843 |
-
|
| 844 |
-
|
| 845 |
-
|
| 846 |
-
|
| 847 |
-
|
| 848 |
-
|
| 849 |
-
|
| 850 |
-
|
| 851 |
-
|
| 852 |
-
|
| 853 |
-
|
| 854 |
-
|
| 855 |
-
|
| 856 |
-
|
| 857 |
-
|
| 858 |
-
|
| 859 |
-
|
| 860 |
-
|
| 861 |
-
|
| 862 |
-
|
| 863 |
-
|
| 864 |
-
|
| 865 |
-
|
| 866 |
-
|
| 867 |
-
|
| 868 |
-
|
| 869 |
-
|
| 870 |
-
|
| 871 |
-
|
| 872 |
-
|
| 873 |
-
|
| 874 |
-
|
| 875 |
-
|
| 876 |
-
|
| 877 |
-
|
| 878 |
-
|
| 879 |
-
|
| 880 |
-
|
| 881 |
-
|
| 882 |
-
|
| 883 |
-
|
| 884 |
-
|
| 885 |
-
if qid
|
| 886 |
-
|
| 887 |
-
|
| 888 |
-
|
| 889 |
-
|
| 890 |
-
|
| 891 |
-
|
| 892 |
-
|
| 893 |
-
|
| 894 |
-
|
| 895 |
-
|
| 896 |
-
|
| 897 |
-
|
| 898 |
-
|
| 899 |
-
|
| 900 |
-
|
| 901 |
-
# try — a raising coercion here would degrade the WHOLE run via the
|
| 902 |
-
# outer net instead of costing one row. Never-raise by construction.
|
| 903 |
-
start = _safe_float(row.get("start_time", 0.0) or 0.0)
|
| 904 |
-
end = _safe_float(row.get("end_time", 0.0) or 0.0)
|
| 905 |
-
try:
|
| 906 |
-
scratch = infer_all(question, start_time=start, end_time=end)
|
| 907 |
-
# H5: prefer an answer_format EXPOSED on the request over the inferred
|
| 908 |
-
# one. The observed live contract does NOT carry this field (the
|
| 909 |
-
# Request schema is qID/videoID/start/end/procedure_type/question),
|
| 910 |
-
# so on real inputs this is byte-identical to inference — a defensive
|
| 911 |
-
# guard that honors a true format if a future contract exposes it,
|
| 912 |
-
# avoiding the misroute the H5 validator policy otherwise absorbs.
|
| 913 |
-
exposed_fmt = row.get("answer_format")
|
| 914 |
-
fmt = exposed_fmt if isinstance(exposed_fmt, str) and exposed_fmt \
|
| 915 |
-
else scratch.get("answer_format", "open_ended")
|
| 916 |
-
req = Request(
|
| 917 |
-
qID=qid,
|
| 918 |
-
videoID=str(row.get("videoID", "")),
|
| 919 |
-
start_time=start,
|
| 920 |
-
end_time=end,
|
| 921 |
-
procedure_type=str(row.get("procedure_type", "")),
|
| 922 |
-
question=question,
|
| 923 |
-
)
|
| 924 |
-
# PROPOSED trusted refinement binding: the original t0 precedes infer_all.
|
| 925 |
-
# No helper import or media-map I/O when the new flag is disabled.
|
| 926 |
if os.environ.get("SURGFIELD_PROC_SINGLE_REFINE") == "1":
|
| 927 |
-
_q38_temporal_scratch =
|
| 928 |
-
|
| 929 |
-
|
| 930 |
-
|
| 931 |
-
|
| 932 |
-
|
| 933 |
-
|
| 934 |
-
|
| 935 |
-
|
| 936 |
-
|
| 937 |
-
|
| 938 |
-
|
| 939 |
-
|
| 940 |
-
|
| 941 |
-
|
| 942 |
-
|
| 943 |
-
|
| 944 |
-
|
| 945 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 946 |
resp = container.answer(req, scratch_init=scratch)
|
| 947 |
-
|
| 948 |
-
|
| 949 |
-
|
| 950 |
-
|
| 951 |
-
|
| 952 |
-
|
| 953 |
-
|
| 954 |
-
|
| 955 |
-
|
| 956 |
-
|
| 957 |
-
|
| 958 |
-
|
| 959 |
-
|
| 960 |
-
|
| 961 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 962 |
except Exception as e:
|
| 963 |
-
_log(f"PROBESHELL:
|
| 964 |
-
|
| 965 |
-
|
| 966 |
-
|
| 967 |
-
|
| 968 |
-
|
| 969 |
-
|
| 970 |
-
|
| 971 |
-
|
| 972 |
-
|
| 973 |
-
|
| 974 |
-
|
| 975 |
-
|
| 976 |
-
|
| 977 |
-
|
| 978 |
-
|
| 979 |
-
|
| 980 |
-
|
| 981 |
-
|
| 982 |
-
|
| 983 |
-
|
| 984 |
-
|
| 985 |
-
# accumulated every question but never reported — the only instrument for
|
| 986 |
-
# diagnosing which layer won and where budget was burned). Never fatal.
|
| 987 |
-
try:
|
| 988 |
-
container.metrics.report()
|
| 989 |
-
except Exception as e:
|
| 990 |
-
_log(f"PROBESHELL: metrics report skipped (non-fatal {type(e).__name__}: {e})")
|
| 991 |
-
# R3 (F86): per-layer attribution as ONE machine-parseable stderr line, so a
|
| 992 |
-
# platform log capture reconstructs wins/fires/exceptions. Never fatal.
|
| 993 |
-
try:
|
| 994 |
-
m = container.metrics
|
| 995 |
-
_log("METRICS-JSON " + json.dumps({
|
| 996 |
-
"n_questions": getattr(m, "n_questions", None),
|
| 997 |
-
"total_latency_s": round(getattr(m, "total_latency", 0.0), 2),
|
| 998 |
-
"per_layer": {name: vars(st) for name, st in
|
| 999 |
-
getattr(m, "per_layer", {}).items()},
|
| 1000 |
-
}, default=str))
|
| 1001 |
-
except Exception as e:
|
| 1002 |
-
_log(f"METRICS-JSON skipped (non-fatal {type(e).__name__}: {e})")
|
| 1003 |
-
return answers
|
| 1004 |
|
| 1005 |
|
| 1006 |
# ── entry ────────────────────────────────────────────────────────────────
|
|
@@ -1084,6 +1126,8 @@ def main(argv: list[str] | None = None) -> int:
|
|
| 1084 |
# file-path invocation — may leave /output without a full-coverage
|
| 1085 |
# answer.json. Everything between here and the final write is contained;
|
| 1086 |
# degradation is loud, never silent.
|
|
|
|
|
|
|
| 1087 |
try:
|
| 1088 |
# P9: video-staging workdir, created HERE (inside the coverage net, AFTER the
|
| 1089 |
# format-aware pre-seed). A read-only/absent /tmp now degrades to the pre-seeded
|
|
@@ -1152,15 +1196,19 @@ def main(argv: list[str] | None = None) -> int:
|
|
| 1152 |
_log("RUNTIME_ZOOM_INIT " + json.dumps(_runtime_zoom_initialize(rows=rows, input_root=input_dir.resolve(strict=True), workdir=workdir), sort_keys=True))
|
| 1153 |
except Exception as _runtime_init_error:
|
| 1154 |
_log("RUNTIME_ZOOM_INIT_REFUSED " + type(_runtime_init_error).__name__)
|
| 1155 |
-
|
| 1156 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1157 |
# Both env writes (SURGFIELD_FO_DEFINITIONS_FILE above, CLIP_INPUT here)
|
| 1158 |
# are RUN-SCOPED: reset at the top of this block, set for this run's
|
| 1159 |
# duration, read per-call by the engine. In the container nothing
|
| 1160 |
# survives the exit; in-process reuse is isolated by the reset.
|
| 1161 |
os.environ["SURGFIELD_CLIP_INPUT"] = "1" # per-qID clip semantics engine-side
|
| 1162 |
to_fence, n_probed = emit_decode_records(
|
| 1163 |
-
rows, norm_root, probe_budget_sec=PROBE_PHASE_BUDGET_SEC)
|
| 1164 |
# H6 fence: a clip whose killable prober hit a WEDGE/CRASH is removed from
|
| 1165 |
# the normalized tree so the in-process sampler never touches it; that qID
|
| 1166 |
# defers to text/rule like an absent clip. (The in-process decode is ALSO
|
|
@@ -1184,6 +1232,8 @@ def main(argv: list[str] | None = None) -> int:
|
|
| 1184 |
link.unlink()
|
| 1185 |
except Exception:
|
| 1186 |
pass
|
|
|
|
|
|
|
| 1187 |
_setup_wall = time.perf_counter() - _proc_t0
|
| 1188 |
_log(f"PROBESHELL: SETUP-WALL {_setup_wall:.1f}s (arm→staging→decode-proof, "
|
| 1189 |
f"before model load); platform setup window ~120s")
|
|
@@ -1191,12 +1241,29 @@ def main(argv: list[str] | None = None) -> int:
|
|
| 1191 |
_log(f"PROBESHELL: WARN setup wall {_setup_wall:.0f}s is within 30s of "
|
| 1192 |
f"the ~120s platform setup window — cold-start overrun risk")
|
| 1193 |
answers = answer_all(rows, norm_root, args.device, answers, output_dir,
|
| 1194 |
-
proc_t0=_proc_t0)
|
| 1195 |
except Exception as e:
|
| 1196 |
_log(f"PROBESHELL DEGRADED: shell/engine failure after arming "
|
| 1197 |
f"({type(e).__name__}: {e}); the pre-seeded full-coverage "
|
| 1198 |
f"answers stand for {len(rows)} rows")
|
| 1199 |
_RUN_COUNTERS["degraded"] = f"{type(e).__name__}: {e}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1200 |
|
| 1201 |
_c1_hits = 0
|
| 1202 |
try:
|
|
|
|
| 77 |
import subprocess
|
| 78 |
import sys
|
| 79 |
import tempfile
|
| 80 |
+
import shutil
|
| 81 |
import time
|
| 82 |
import zipfile
|
| 83 |
from pathlib import Path
|
|
|
|
| 377 |
return None, _RUNG_UNRESOLVED
|
| 378 |
|
| 379 |
|
| 380 |
+
def normalize_clips(rows: list[dict], root: Path | None, workdir: Path,
|
| 381 |
+
*, resolutions=None, write_marker: bool = True) -> Path:
|
| 382 |
"""Build `<work>/norm/plain/<qID>.mp4` links so the engine's clip-mode
|
| 383 |
lookup is deterministic regardless of the delivered tree, resolving each
|
| 384 |
qID through the labeled ladder in `_resolve_qid`.
|
|
|
|
| 409 |
qid = str(row.get("qID", ""))
|
| 410 |
if not qid:
|
| 411 |
continue
|
| 412 |
+
src, rung = (resolutions[qid] if resolutions is not None else
|
| 413 |
+
_resolve_qid(root, qid, row.get("videoID"), resolve_video))
|
| 414 |
rung_counts[rung] = rung_counts.get(rung, 0) + 1
|
| 415 |
if src is None:
|
| 416 |
unresolved.append(qid)
|
|
|
|
| 441 |
# clip-mode engine can pick SEEK-with-window for exactly these qIDs.
|
| 442 |
marker = norm.parent / "videoid_rung.json"
|
| 443 |
try:
|
| 444 |
+
if write_marker:
|
| 445 |
+
marker.write_text(json.dumps(sorted(videoid_qids)))
|
| 446 |
except OSError as e:
|
| 447 |
_log(f"PROBESHELL: could not write videoid_rung marker ({e})")
|
| 448 |
if videoid_qids:
|
|
|
|
| 597 |
|
| 598 |
|
| 599 |
def emit_decode_records(rows: list[dict], norm_root: Path,
|
| 600 |
+
probe_budget_sec: float | None = None,
|
| 601 |
+
staging=None) -> tuple[dict[str, str], int]:
|
| 602 |
"""One G1DECODE stderr line per UNIQUE qID — the decode-proof channel.
|
| 603 |
|
| 604 |
Hash convention (a parse contract with the external rehearsal harness —
|
|
|
|
| 645 |
if not qid or qid in seen_q:
|
| 646 |
continue
|
| 647 |
seen_q.add(qid)
|
| 648 |
+
if staging is not None:
|
| 649 |
+
from solution.entrypoint.lazy_video_staging import _safe_qid
|
| 650 |
+
if not _safe_qid(qid):
|
| 651 |
+
_log(f"G1DECODE qID={qid!r} frames=0 first_frame_sha256=none res=0x0")
|
| 652 |
+
continue
|
| 653 |
clip = norm_root / "plain" / f"{qid}.mp4"
|
| 654 |
sha, frames, res, danger = ("none", 0, "0x0", None)
|
| 655 |
+
staged_key = staging.target_key(qid) if staging is not None else None
|
| 656 |
+
if staged_key is not None or clip.is_file():
|
| 657 |
+
key = staged_key if staging is not None else os.path.realpath(clip)
|
| 658 |
if key in by_target: # shared clip: decode once
|
| 659 |
sha, frames, res, danger = by_target[key]
|
| 660 |
elif (probe_budget_sec is not None
|
|
|
|
| 665 |
f"exhausted; skipping probe for remaining clips (the "
|
| 666 |
f"in-process decode is SIGALRM-bounded, so still safe)")
|
| 667 |
else:
|
| 668 |
+
if staging is not None:
|
| 669 |
+
deadline = None if probe_budget_sec is None else t0 + probe_budget_sec
|
| 670 |
+
staging.prepare_probe(row, deadline)
|
| 671 |
+
try:
|
| 672 |
+
if clip.is_file():
|
| 673 |
+
sha, frames, res, danger = _probe_first_frame(clip)
|
| 674 |
+
by_target[key] = (sha, frames, res, danger)
|
| 675 |
+
n_probed += 1
|
| 676 |
+
finally:
|
| 677 |
+
if staging is not None:
|
| 678 |
+
staging.release()
|
| 679 |
else:
|
| 680 |
# R1-47: FRAME image ladder (mirrors the resolver rung order; file-
|
| 681 |
# bytes hash, decode-free — see docstring). Budget-charged like the
|
|
|
|
| 814 |
|
| 815 |
def answer_all(rows: list[dict], videos_root: Path, device: str,
|
| 816 |
answers: list[dict], output_dir: Path,
|
| 817 |
+
proc_t0: float | None = None, staging=None) -> list[dict]:
|
| 818 |
"""Upgrade the pre-seeded `answers` in place — one engine answer per unique
|
| 819 |
qID — flushing atomically after every question.
|
| 820 |
|
|
|
|
| 838 |
# cold-start init overrun is visible and attributable, not silent.
|
| 839 |
_init_t0 = time.perf_counter()
|
| 840 |
container = SubmissionContainer(videos_dir=videos_root, device=device)
|
| 841 |
+
try:
|
| 842 |
+
_init_wall = time.perf_counter() - _init_t0
|
| 843 |
+
_log(f"PROBESHELL: CONTAINER-INIT {_init_wall:.1f}s (eager model/detector load)"
|
| 844 |
+
+ (f"; total setup {time.perf_counter() - proc_t0:.1f}s from process start"
|
| 845 |
+
if proc_t0 is not None else ""))
|
| 846 |
+
# ── F1 WARM-UP (round-3, checklist C2; SURGFIELD_SHELL_WARMUP=1, default
|
| 847 |
+
# OFF == this block is dead == byte-identical shipped path). One dummy
|
| 848 |
+
# generate BEFORE the row loop so the first case's clock never carries the
|
| 849 |
+
# first-generate lazy costs (R1: row-0 = 49.1s incl. warm-up > the 30s
|
| 850 |
+
# per-case budget by itself). FAIL-LOUD, NEVER FAIL-CLOSED: a warm-up
|
| 851 |
+
# error is visible (stderr marker + status file) but must not kill the
|
| 852 |
+
# serve — exiting would fail ALL cases when only the warm-up broke;
|
| 853 |
+
# degraded (row-0 re-charged) beats dead. ──
|
| 854 |
+
if os.environ.get("SURGFIELD_SHELL_WARMUP") == "1":
|
| 855 |
+
_wu_t0 = time.perf_counter()
|
| 856 |
+
_wu = {"ok": False}
|
| 857 |
+
try:
|
| 858 |
+
_wu_ok = False
|
| 859 |
+
for _l in container.layers:
|
| 860 |
+
if _l.name == "L17_cholec_vlm" and hasattr(_l, "warmup_generate"):
|
| 861 |
+
_wu_ok = bool(_l.warmup_generate())
|
| 862 |
+
break
|
| 863 |
+
_wu = {"ok": _wu_ok, "s": round(time.perf_counter() - _wu_t0, 1)}
|
| 864 |
+
_wu_lbl = ("OK" if _wu_ok else
|
| 865 |
+
"FAILED (serve continues, row-0 will carry the charge)")
|
| 866 |
+
print(f"F1-WARMUP {_wu_lbl} {_wu['s']}s", file=sys.stderr, flush=True)
|
| 867 |
+
except Exception as _wu_e:
|
| 868 |
+
_wu = {"ok": False, "error": repr(_wu_e)[:300]}
|
| 869 |
+
print(f"F1-WARMUP FAILED (serve continues, row-0 will carry the "
|
| 870 |
+
f"charge): {_wu_e!r}", file=sys.stderr, flush=True)
|
| 871 |
+
try:
|
| 872 |
+
(output_dir / "warmup_status.json").write_text(json.dumps(_wu))
|
| 873 |
+
except Exception:
|
| 874 |
+
pass # stderr already carries it; /output quirks never kill serve
|
| 875 |
+
slot = {a["qID"]: i for i, a in enumerate(answers)}
|
| 876 |
+
|
| 877 |
+
# R4/X-2 CURE (2026-08-18 W1): the pooled monitor derives from the BAKED
|
| 878 |
+
# track's budget (helpers.TRACK_BUDGET_SEC), not a flat 30 s/q — the X-2
|
| 879 |
+
# caveat ("PROBESHELL pooled lines are 30s/q-basis, never quotable as
|
| 880 |
+
# track-budget evidence") is RETIRED by this change. Still monitoring-only:
|
| 881 |
+
# the shell NEVER self-kills (guarantee 4 unchanged).
|
| 882 |
+
# V7 CURE (W2), inline form: unknown SURGFIELD_TRACK degrades LOUDLY to
|
| 883 |
+
# 'procedure' — select_track()'s no-silent-misroute contract, delivered
|
| 884 |
+
# WITHOUT importing track_inputs (guard check (8): the FRAME/SEG module is
|
| 885 |
+
# imported ONLY under the frame/segment gate; a PROC run must never import it).
|
| 886 |
+
_track = os.environ.get("SURGFIELD_TRACK", "procedure").strip().lower()
|
| 887 |
+
if _track not in ("frame", "segment", "procedure"):
|
| 888 |
+
print(f"TRACK: unknown SURGFIELD_TRACK={_track!r}; defaulting to 'procedure' "
|
| 889 |
+
f"(no-silent-misroute)", file=sys.stderr, flush=True)
|
| 890 |
+
_track = "procedure"
|
| 891 |
+
per_q_budget = float(TRACK_BUDGET_SEC.get(_track, POOLED_SEC_PER_QUESTION))
|
| 892 |
+
budget = per_q_budget * len(answers)
|
| 893 |
+
_RUN_COUNTERS.clear()
|
| 894 |
+
_RUN_COUNTERS.update({"track": _track, "per_q_budget_s": per_q_budget,
|
| 895 |
+
"n_rows": len(answers), "n_engine_answered": 0,
|
| 896 |
+
"n_fallback_kept": 0, "n_validate_demoted": 0,
|
| 897 |
+
"n_latency_cliff": 0})
|
| 898 |
+
job_t0 = time.perf_counter()
|
| 899 |
+
budget_breached = False
|
| 900 |
+
done: set[str] = set()
|
| 901 |
+
for row in rows:
|
| 902 |
+
qid = str(row.get("qID", ""))
|
| 903 |
+
if not qid or qid in done or qid not in slot:
|
| 904 |
+
if qid and qid in done:
|
| 905 |
+
_log(f"PROBESHELL: skipping duplicate qID row ({qid!r})")
|
| 906 |
+
continue
|
| 907 |
+
done.add(qid)
|
| 908 |
+
elapsed = time.perf_counter() - job_t0
|
| 909 |
+
if elapsed > budget and not budget_breached:
|
| 910 |
+
budget_breached = True
|
| 911 |
+
_log(f"PROBESHELL: POOLED BUDGET EXCEEDED ({elapsed:.0f}s > "
|
| 912 |
+
f"{budget:.0f}s for {len(answers)} questions) — continuing; "
|
| 913 |
+
f"the platform owns enforcement and the answer file is "
|
| 914 |
+
f"already complete at every instant")
|
| 915 |
+
# Extraction belongs to the original process/job clock, before the
|
| 916 |
+
# unchanged per-question infer/answer timer and its runtime binding.
|
| 917 |
+
stage_ok = staging.prepare_request(row, normalize_clips) if staging is not None else True
|
| 918 |
+
t0 = time.perf_counter()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 919 |
if os.environ.get("SURGFIELD_PROC_SINGLE_REFINE") == "1":
|
| 920 |
+
_q38_temporal_scratch = None
|
| 921 |
+
question = str(row.get("question", ""))
|
| 922 |
+
# Same B2-19-1 class, sibling site: these run OUTSIDE the per-question
|
| 923 |
+
# try — a raising coercion here would degrade the WHOLE run via the
|
| 924 |
+
# outer net instead of costing one row. Never-raise by construction.
|
| 925 |
+
start = _safe_float(row.get("start_time", 0.0) or 0.0)
|
| 926 |
+
end = _safe_float(row.get("end_time", 0.0) or 0.0)
|
| 927 |
+
try:
|
| 928 |
+
if not stage_ok:
|
| 929 |
+
raise RuntimeError('request staging refused; retained fallback')
|
| 930 |
+
scratch = infer_all(question, start_time=start, end_time=end)
|
| 931 |
+
# H5: prefer an answer_format EXPOSED on the request over the inferred
|
| 932 |
+
# one. The observed live contract does NOT carry this field (the
|
| 933 |
+
# Request schema is qID/videoID/start/end/procedure_type/question),
|
| 934 |
+
# so on real inputs this is byte-identical to inference — a defensive
|
| 935 |
+
# guard that honors a true format if a future contract exposes it,
|
| 936 |
+
# avoiding the misroute the H5 validator policy otherwise absorbs.
|
| 937 |
+
exposed_fmt = row.get("answer_format")
|
| 938 |
+
fmt = exposed_fmt if isinstance(exposed_fmt, str) and exposed_fmt \
|
| 939 |
+
else scratch.get("answer_format", "open_ended")
|
| 940 |
+
req = Request(
|
| 941 |
+
qID=qid,
|
| 942 |
+
videoID=str(row.get("videoID", "")),
|
| 943 |
+
start_time=start,
|
| 944 |
+
end_time=end,
|
| 945 |
+
procedure_type=str(row.get("procedure_type", "")),
|
| 946 |
+
question=question,
|
| 947 |
+
)
|
| 948 |
+
# PROPOSED trusted refinement binding: the original t0 precedes infer_all.
|
| 949 |
+
# No helper import or media-map I/O when the new flag is disabled.
|
| 950 |
+
if os.environ.get("SURGFIELD_PROC_SINGLE_REFINE") == "1":
|
| 951 |
+
_q38_temporal_scratch = scratch
|
| 952 |
+
try:
|
| 953 |
+
from solution.temporal_refinement_observation import begin_request
|
| 954 |
+
_q38_sink = begin_request(req=req, scratch=scratch, output_dir=output_dir,
|
| 955 |
+
request_started_perf_counter=t0, per_q_budget_s=per_q_budget)
|
| 956 |
+
from solution.temporal_refinement_hook import install_request_context
|
| 957 |
+
install_request_context(
|
| 958 |
+
req=req, scratch=scratch, videos_root=videos_root, track=_track,
|
| 959 |
+
answer_format=fmt, request_started_perf_counter=t0,
|
| 960 |
+
per_q_budget_s=per_q_budget)
|
| 961 |
+
_q38_sink.update(hook_observation=scratch.get("q38_refinement_hook_observation"))
|
| 962 |
+
except Exception as _q38_hook_error:
|
| 963 |
+
scratch.pop("q38_refinement_context", None)
|
| 964 |
+
scratch["q38_refinement_hook_observation"] = {
|
| 965 |
+
"status": "refused", "reason": "request_hook_import_or_execution_failed",
|
| 966 |
+
"exception_type": type(_q38_hook_error).__name__}
|
| 967 |
+
if os.environ.get("ORENA_SMOKE_OBSERVE") == "1":
|
| 968 |
+
from solution.smoke_observation import request_scope
|
| 969 |
+
with request_scope(req.qID):
|
| 970 |
+
resp = container.answer(req, scratch_init=scratch)
|
| 971 |
+
else:
|
| 972 |
resp = container.answer(req, scratch_init=scratch)
|
| 973 |
+
content = validate(resp.content, fmt)
|
| 974 |
+
# R1 (F76): a demotion-to-fallback was silent — one line per event
|
| 975 |
+
# + a run counter. Detection: the validated content IS the format's
|
| 976 |
+
# SAFE_FALLBACK while the raw engine answer was something else
|
| 977 |
+
# non-empty. Zero answer-path change (log-only).
|
| 978 |
+
_raw = "" if resp.content is None else str(resp.content).strip()
|
| 979 |
+
_fb = SAFE_FALLBACK.get(normalize_answer_format(fmt))
|
| 980 |
+
if _raw and content == _fb and _raw != _fb:
|
| 981 |
+
_RUN_COUNTERS["n_validate_demoted"] += 1
|
| 982 |
+
_log(f"VALIDATE-DEMOTE qID={qid} fmt={fmt} raw_len={len(_raw)}")
|
| 983 |
+
answers[slot[qid]] = {"qID": qid, "content": content,
|
| 984 |
+
"latency": time.perf_counter() - t0}
|
| 985 |
+
_RUN_COUNTERS["n_engine_answered"] += 1
|
| 986 |
+
except Exception as e:
|
| 987 |
+
_log(f"PROBESHELL: qID={qid} failed ({type(e).__name__}: {e}); "
|
| 988 |
+
f"keeping the pre-seeded fallback")
|
| 989 |
+
answers[slot[qid]]["latency"] = time.perf_counter() - t0
|
| 990 |
+
_RUN_COUNTERS["n_fallback_kept"] += 1
|
| 991 |
+
if os.environ.get("SURGFIELD_PROC_SINGLE_REFINE") == "1":
|
| 992 |
+
try:
|
| 993 |
+
from solution.temporal_refinement_observation import finish_request
|
| 994 |
+
finish_request(_q38_temporal_scratch, answers[slot[qid]])
|
| 995 |
+
except Exception as _q38_export_error:
|
| 996 |
+
_log("Q38-TEMPORAL-EXPORT-INCOMPLETE qID="+qid+" "+type(_q38_export_error).__name__)
|
| 997 |
+
# Include observation publication in the reported request latency.
|
| 998 |
+
answers[slot[qid]]["latency"] = time.perf_counter() - t0
|
| 999 |
+
if staging is not None:
|
| 1000 |
+
# Finish all temporal/raw-BGR consumers before closing decoder
|
| 1001 |
+
# handles, unlinking the norm link and reclaiming the only clip.
|
| 1002 |
+
try:
|
| 1003 |
+
container.video_loader.close_all()
|
| 1004 |
+
except Exception as close_error:
|
| 1005 |
+
staging.blocked = True
|
| 1006 |
+
_log('PROBESHELL: VIDEO-HANDLE-CLOSE-FAILED ' + type(close_error).__name__ +
|
| 1007 |
+
'; further extraction disabled')
|
| 1008 |
+
staging.release()
|
| 1009 |
+
# R4 (F16): per-row latency-cliff line vs the TRACK budget (log-only).
|
| 1010 |
+
_row_lat = answers[slot[qid]].get("latency", 0.0)
|
| 1011 |
+
if _row_lat > per_q_budget:
|
| 1012 |
+
_RUN_COUNTERS["n_latency_cliff"] += 1
|
| 1013 |
+
_log(f"PROBESHELL: LATENCY-CLIFF qID={qid} latency={_row_lat:.2f}s "
|
| 1014 |
+
f"> {per_q_budget:.0f}s ({_track} budget)")
|
| 1015 |
+
write_answers(output_dir, answers)
|
| 1016 |
+
_log(f"PROBESHELL: job wall={time.perf_counter() - job_t0:.1f}s "
|
| 1017 |
+
f"pooled-budget={budget:.0f}s n={len(answers)}")
|
| 1018 |
+
# P2-06: emit the per-layer latency/attribution summary at end of run (it was
|
| 1019 |
+
# accumulated every question but never reported — the only instrument for
|
| 1020 |
+
# diagnosing which layer won and where budget was burned). Never fatal.
|
| 1021 |
+
try:
|
| 1022 |
+
container.metrics.report()
|
| 1023 |
except Exception as e:
|
| 1024 |
+
_log(f"PROBESHELL: metrics report skipped (non-fatal {type(e).__name__}: {e})")
|
| 1025 |
+
# R3 (F86): per-layer attribution as ONE machine-parseable stderr line, so a
|
| 1026 |
+
# platform log capture reconstructs wins/fires/exceptions. Never fatal.
|
| 1027 |
+
try:
|
| 1028 |
+
m = container.metrics
|
| 1029 |
+
_log("METRICS-JSON " + json.dumps({
|
| 1030 |
+
"n_questions": getattr(m, "n_questions", None),
|
| 1031 |
+
"total_latency_s": round(getattr(m, "total_latency", 0.0), 2),
|
| 1032 |
+
"per_layer": {name: vars(st) for name, st in
|
| 1033 |
+
getattr(m, "per_layer", {}).items()},
|
| 1034 |
+
}, default=str))
|
| 1035 |
+
except Exception as e:
|
| 1036 |
+
_log(f"METRICS-JSON skipped (non-fatal {type(e).__name__}: {e})")
|
| 1037 |
+
return answers
|
| 1038 |
+
|
| 1039 |
+
finally:
|
| 1040 |
+
try:
|
| 1041 |
+
container.video_loader.close_all()
|
| 1042 |
+
except Exception as close_error:
|
| 1043 |
+
if staging is not None:
|
| 1044 |
+
staging.blocked = True
|
| 1045 |
+
_log('PROBESHELL: VIDEO-HANDLE-FINAL-CLOSE-FAILED ' + type(close_error).__name__)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1046 |
|
| 1047 |
|
| 1048 |
# ── entry ────────────────────────────────────────────────────────────────
|
|
|
|
| 1126 |
# file-path invocation — may leave /output without a full-coverage
|
| 1127 |
# answer.json. Everything between here and the final write is contained;
|
| 1128 |
# degradation is loud, never silent.
|
| 1129 |
+
workdir = None
|
| 1130 |
+
staging = None
|
| 1131 |
try:
|
| 1132 |
# P9: video-staging workdir, created HERE (inside the coverage net, AFTER the
|
| 1133 |
# format-aware pre-seed). A read-only/absent /tmp now degrades to the pre-seeded
|
|
|
|
| 1196 |
_log("RUNTIME_ZOOM_INIT " + json.dumps(_runtime_zoom_initialize(rows=rows, input_root=input_dir.resolve(strict=True), workdir=workdir), sort_keys=True))
|
| 1197 |
except Exception as _runtime_init_error:
|
| 1198 |
_log("RUNTIME_ZOOM_INIT_REFUSED " + type(_runtime_init_error).__name__)
|
| 1199 |
+
from solution.entrypoint.lazy_video_staging import LazyVideos
|
| 1200 |
+
from solution.frame_sampler import resolve_video
|
| 1201 |
+
staging = LazyVideos(input_dir, workdir, rows,
|
| 1202 |
+
resolver=_resolve_qid, resolve_video=resolve_video, is_zip=_is_zip,
|
| 1203 |
+
video_exts=_VIDEO_EXTS, log=_log)
|
| 1204 |
+
root, norm_root = staging.root, staging.norm_root
|
| 1205 |
# Both env writes (SURGFIELD_FO_DEFINITIONS_FILE above, CLIP_INPUT here)
|
| 1206 |
# are RUN-SCOPED: reset at the top of this block, set for this run's
|
| 1207 |
# duration, read per-call by the engine. In the container nothing
|
| 1208 |
# survives the exit; in-process reuse is isolated by the reset.
|
| 1209 |
os.environ["SURGFIELD_CLIP_INPUT"] = "1" # per-qID clip semantics engine-side
|
| 1210 |
to_fence, n_probed = emit_decode_records(
|
| 1211 |
+
rows, norm_root, probe_budget_sec=PROBE_PHASE_BUDGET_SEC, staging=staging)
|
| 1212 |
# H6 fence: a clip whose killable prober hit a WEDGE/CRASH is removed from
|
| 1213 |
# the normalized tree so the in-process sampler never touches it; that qID
|
| 1214 |
# defers to text/rule like an absent clip. (The in-process decode is ALSO
|
|
|
|
| 1232 |
link.unlink()
|
| 1233 |
except Exception:
|
| 1234 |
pass
|
| 1235 |
+
if staging is not None:
|
| 1236 |
+
staging.fenced = set() if systemic else set(dangers)
|
| 1237 |
_setup_wall = time.perf_counter() - _proc_t0
|
| 1238 |
_log(f"PROBESHELL: SETUP-WALL {_setup_wall:.1f}s (arm→staging→decode-proof, "
|
| 1239 |
f"before model load); platform setup window ~120s")
|
|
|
|
| 1241 |
_log(f"PROBESHELL: WARN setup wall {_setup_wall:.0f}s is within 30s of "
|
| 1242 |
f"the ~120s platform setup window — cold-start overrun risk")
|
| 1243 |
answers = answer_all(rows, norm_root, args.device, answers, output_dir,
|
| 1244 |
+
proc_t0=_proc_t0, staging=staging)
|
| 1245 |
except Exception as e:
|
| 1246 |
_log(f"PROBESHELL DEGRADED: shell/engine failure after arming "
|
| 1247 |
f"({type(e).__name__}: {e}); the pre-seeded full-coverage "
|
| 1248 |
f"answers stand for {len(rows)} rows")
|
| 1249 |
_RUN_COUNTERS["degraded"] = f"{type(e).__name__}: {e}"
|
| 1250 |
+
finally:
|
| 1251 |
+
# Only this invocation's freshly created tree is owned here. This never
|
| 1252 |
+
# follows input symlinks or removes the separately retained runtime
|
| 1253 |
+
# observation/kernel-cache tree. Also runs on BaseException unwinding.
|
| 1254 |
+
try:
|
| 1255 |
+
if staging is not None:
|
| 1256 |
+
staging.close()
|
| 1257 |
+
except Exception as cleanup_error:
|
| 1258 |
+
_RUN_COUNTERS['staging_cleanup_failed'] = type(cleanup_error).__name__
|
| 1259 |
+
_log('PROBESHELL: STAGING-CLEANUP-FAILED ' + type(cleanup_error).__name__)
|
| 1260 |
+
try:
|
| 1261 |
+
if workdir is not None:
|
| 1262 |
+
shutil.rmtree(workdir)
|
| 1263 |
+
except Exception as cleanup_error:
|
| 1264 |
+
_RUN_COUNTERS['workdir_cleanup_failed'] = type(cleanup_error).__name__
|
| 1265 |
+
_log('PROBESHELL: WORKDIR-CLEANUP-FAILED ' + type(cleanup_error).__name__)
|
| 1266 |
+
|
| 1267 |
|
| 1268 |
_c1_hits = 0
|
| 1269 |
try:
|
image_root/app/solution/shape_mode_diagnostic.py
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
No request/answer is used to construct warmup inputs. Forward clocks are host
|
| 4 |
intervals, not CUDA-synchronized kernels, visual encoding or isolated prefill.
|
| 5 |
"""
|
| 6 |
-
import functools, hashlib, json, os, stat, time
|
| 7 |
from pathlib import Path
|
| 8 |
|
| 9 |
SCHEMA='shape-mode-diagnostic/1'
|
|
@@ -13,11 +13,13 @@ FIXED={'schema':SCHEMA,'frames':48,'image_size':[576,324],'patch_shape':[34560,1
|
|
| 13 |
'max_new_tokens':9,'do_sample':False,'seed':0,'request_budget_s':30,
|
| 14 |
'original_pooled_s':540,'finish_margin_s':1,'generation_reserve_s':10,
|
| 15 |
'decode_reserve_s':5,'max_forward_calls_per_generate':128,
|
| 16 |
-
'max_events_per_process':
|
| 17 |
_LABELS={'coarse_legacy_decode','coarse_interleave_decode','coarse_chat_template',
|
| 18 |
'coarse_processor','coarse_device_transfer','refine_chat_template',
|
| 19 |
'refine_processor','refine_device_transfer'}
|
| 20 |
_POLICY=None;_POLICY_RAW=None;_SEQ=0;_BYTES=0;_SPAN=0;_WRAPPED={}
|
|
|
|
|
|
|
| 21 |
|
| 22 |
def need(ok,message):
|
| 23 |
if not ok:raise RuntimeError(message)
|
|
@@ -48,23 +50,114 @@ def _qid():
|
|
| 48 |
from solution.smoke_observation import CURRENT
|
| 49 |
return CURRENT.get()
|
| 50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
def emit(event):
|
| 52 |
-
global _SEQ,_BYTES
|
|
|
|
| 53 |
p=policy();_SEQ+=1
|
| 54 |
-
need(_SEQ<=p['max_events_per_process'],'diagnostic event cap')
|
| 55 |
from solution.volume_binding import bound_path
|
| 56 |
parent=Path(os.environ['ORENA_SMOKE_OBSERVATIONS']).parent
|
| 57 |
with bound_path(parent,directory=True) as (physical,_):
|
| 58 |
root=physical/'shape_mode_diagnostic'
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
row={'schema':SCHEMA,'seq':_SEQ,'pid':os.getpid(),'qid':_qid(),
|
| 63 |
'recorded_perf_counter':time.perf_counter(),'policy_pin':pin(_POLICY_RAW),**event}
|
| 64 |
raw=(json.dumps(row,sort_keys=True,allow_nan=False,separators=(',',':'))+'\n').encode()
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
|
| 69 |
def shapes(value):
|
| 70 |
return {str(k):list(v.shape) for k,v in value.items() if hasattr(v,'shape')}
|
|
|
|
| 3 |
No request/answer is used to construct warmup inputs. Forward clocks are host
|
| 4 |
intervals, not CUDA-synchronized kernels, visual encoding or isolated prefill.
|
| 5 |
"""
|
| 6 |
+
import errno, functools, hashlib, json, os, stat, time
|
| 7 |
from pathlib import Path
|
| 8 |
|
| 9 |
SCHEMA='shape-mode-diagnostic/1'
|
|
|
|
| 13 |
'max_new_tokens':9,'do_sample':False,'seed':0,'request_budget_s':30,
|
| 14 |
'original_pooled_s':540,'finish_margin_s':1,'generation_reserve_s':10,
|
| 15 |
'decode_reserve_s':5,'max_forward_calls_per_generate':128,
|
| 16 |
+
'max_events_per_process':16384,'max_metadata_bytes_per_process':16*1024*1024}
|
| 17 |
_LABELS={'coarse_legacy_decode','coarse_interleave_decode','coarse_chat_template',
|
| 18 |
'coarse_processor','coarse_device_transfer','refine_chat_template',
|
| 19 |
'refine_processor','refine_device_transfer'}
|
| 20 |
_POLICY=None;_POLICY_RAW=None;_SEQ=0;_BYTES=0;_SPAN=0;_WRAPPED={}
|
| 21 |
+
_WRITTEN=0;_DROPPED=0;_SATURATION=None;_SATURATION_REPORTED=False
|
| 22 |
+
_WRITE_EXHAUSTION=frozenset((errno.ENOSPC,errno.EDQUOT))
|
| 23 |
|
| 24 |
def need(ok,message):
|
| 25 |
if not ok:raise RuntimeError(message)
|
|
|
|
| 50 |
from solution.smoke_observation import CURRENT
|
| 51 |
return CURRENT.get()
|
| 52 |
|
| 53 |
+
def _saturation_report():
|
| 54 |
+
"""One bounded best-effort terminal receipt; no claim of a successful write."""
|
| 55 |
+
global _SATURATION_REPORTED
|
| 56 |
+
if _SATURATION is None or _SATURATION_REPORTED:
|
| 57 |
+
return
|
| 58 |
+
_SATURATION_REPORTED=True
|
| 59 |
+
row = {'schema':'shape-mode-diagnostic-saturation/1',
|
| 60 |
+
'pid':os.getpid(), 'first_saturation':dict(_SATURATION),
|
| 61 |
+
'attempted_events':_SEQ, 'written_events':_WRITTEN,
|
| 62 |
+
'written_metadata_bytes':_BYTES, 'dropped_events':_DROPPED,
|
| 63 |
+
'event_limit':FIXED['max_events_per_process'],
|
| 64 |
+
'metadata_byte_limit':FIXED['max_metadata_bytes_per_process'],
|
| 65 |
+
'event_byte_limit':128*1024,
|
| 66 |
+
'scope':'Diagnostic recording stopped; model/controller and policy checks remain active.',
|
| 67 |
+
'normal_exit_hook':True, 'publication_best_effort':True}
|
| 68 |
+
try:
|
| 69 |
+
raw = ('SHAPE-DIAGNOSTIC-SATURATED '+json.dumps(
|
| 70 |
+
row,sort_keys=True,allow_nan=False,separators=(',',':'))+'\n').encode()
|
| 71 |
+
if len(raw) <= 4096:
|
| 72 |
+
# One write attempt only. Do not retry a full/closed stderr stream.
|
| 73 |
+
import sys
|
| 74 |
+
sys.stderr.write(raw.decode());sys.stderr.flush()
|
| 75 |
+
except Exception:
|
| 76 |
+
pass
|
| 77 |
+
|
| 78 |
+
|
| 79 |
+
def _saturate(reason, *, error_number=None, partial_cleanup=None):
|
| 80 |
+
global _SATURATION, _DROPPED
|
| 81 |
+
_DROPPED += 1
|
| 82 |
+
if _SATURATION is None:
|
| 83 |
+
_SATURATION = {'reason':reason, 'attempted_event':_SEQ,
|
| 84 |
+
'error_number':error_number,
|
| 85 |
+
'partial_cleanup':partial_cleanup}
|
| 86 |
+
# Register in the model process after exec; report complete drop counters
|
| 87 |
+
# at ordinary interpreter exit. Forced termination may omit the receipt.
|
| 88 |
+
import atexit
|
| 89 |
+
atexit.register(_saturation_report)
|
| 90 |
+
|
| 91 |
+
|
| 92 |
+
def _discard_partial(path, created):
|
| 93 |
+
if created is None:
|
| 94 |
+
return {'created':False, 'removed':False, 'error':None}
|
| 95 |
+
try:
|
| 96 |
+
current = path.lstat()
|
| 97 |
+
need(stat.S_ISREG(current.st_mode) and not path.is_symlink()
|
| 98 |
+
and (current.st_dev,current.st_ino)==created,
|
| 99 |
+
'diagnostic partial output identity changed')
|
| 100 |
+
path.unlink()
|
| 101 |
+
return {'created':True, 'removed':True, 'error':None}
|
| 102 |
+
except FileNotFoundError:
|
| 103 |
+
return {'created':True, 'removed':True, 'error':None}
|
| 104 |
+
except OSError as exc:
|
| 105 |
+
return {'created':True, 'removed':False, 'error':exc.errno}
|
| 106 |
+
|
| 107 |
+
|
| 108 |
def emit(event):
|
| 109 |
+
global _SEQ,_BYTES,_WRITTEN,_DROPPED
|
| 110 |
+
# Policy/source and path checks still run on every attempt after saturation.
|
| 111 |
p=policy();_SEQ+=1
|
|
|
|
| 112 |
from solution.volume_binding import bound_path
|
| 113 |
parent=Path(os.environ['ORENA_SMOKE_OBSERVATIONS']).parent
|
| 114 |
with bound_path(parent,directory=True) as (physical,_):
|
| 115 |
root=physical/'shape_mode_diagnostic'
|
| 116 |
+
if root.exists() or root.is_symlink():
|
| 117 |
+
need(root.resolve(strict=True)==root and root.is_dir() and not root.is_symlink(),
|
| 118 |
+
'diagnostic output directory')
|
| 119 |
+
if _SATURATION is not None:
|
| 120 |
+
_DROPPED+=1
|
| 121 |
+
return
|
| 122 |
+
if _SEQ>p['max_events_per_process']:
|
| 123 |
+
_saturate('event_count')
|
| 124 |
+
return
|
| 125 |
+
try:
|
| 126 |
+
try:root.mkdir(mode=0o700)
|
| 127 |
+
except FileExistsError:pass
|
| 128 |
+
except OSError as exc:
|
| 129 |
+
if exc.errno not in _WRITE_EXHAUSTION:raise
|
| 130 |
+
_saturate('directory_write_exhaustion',error_number=exc.errno)
|
| 131 |
+
return
|
| 132 |
+
need(root.resolve(strict=True)==root and root.is_dir() and not root.is_symlink(),
|
| 133 |
+
'diagnostic output directory')
|
| 134 |
row={'schema':SCHEMA,'seq':_SEQ,'pid':os.getpid(),'qid':_qid(),
|
| 135 |
'recorded_perf_counter':time.perf_counter(),'policy_pin':pin(_POLICY_RAW),**event}
|
| 136 |
raw=(json.dumps(row,sort_keys=True,allow_nan=False,separators=(',',':'))+'\n').encode()
|
| 137 |
+
if len(raw)>128*1024:
|
| 138 |
+
_saturate('event_bytes')
|
| 139 |
+
return
|
| 140 |
+
if _BYTES+len(raw)>p['max_metadata_bytes_per_process']:
|
| 141 |
+
_saturate('process_bytes')
|
| 142 |
+
return
|
| 143 |
+
path=root/(str(_SEQ).zfill(6)+'.json');created=None
|
| 144 |
+
try:
|
| 145 |
+
fd=os.open(path,os.O_WRONLY|os.O_CREAT|os.O_EXCL|os.O_NOFOLLOW,0o600)
|
| 146 |
+
with os.fdopen(fd,'wb') as f:
|
| 147 |
+
st=os.fstat(f.fileno());created=(st.st_dev,st.st_ino)
|
| 148 |
+
wrote=f.write(raw)
|
| 149 |
+
f.flush();os.fsync(f.fileno())
|
| 150 |
+
if wrote!=len(raw):
|
| 151 |
+
cleanup=_discard_partial(path,created)
|
| 152 |
+
_saturate('short_write',partial_cleanup=cleanup)
|
| 153 |
+
return
|
| 154 |
+
except OSError as exc:
|
| 155 |
+
if exc.errno not in _WRITE_EXHAUSTION:raise
|
| 156 |
+
cleanup=_discard_partial(path,created)
|
| 157 |
+
_saturate('file_write_exhaustion',error_number=exc.errno,partial_cleanup=cleanup)
|
| 158 |
+
return
|
| 159 |
+
_BYTES+=len(raw);_WRITTEN+=1
|
| 160 |
+
|
| 161 |
|
| 162 |
def shapes(value):
|
| 163 |
return {str(k):list(v.shape) for k,v in value.items() if hasattr(v,'shape')}
|
image_root/app/solution/shape_mode_diagnostic_policy.json
CHANGED
|
@@ -9,9 +9,9 @@
|
|
| 9 |
576,
|
| 10 |
324
|
| 11 |
],
|
| 12 |
-
"max_events_per_process":
|
| 13 |
"max_forward_calls_per_generate": 128,
|
| 14 |
-
"max_metadata_bytes_per_process":
|
| 15 |
"max_new_tokens": 9,
|
| 16 |
"original_pooled_s": 540,
|
| 17 |
"patch_shape": [
|
|
|
|
| 9 |
576,
|
| 10 |
324
|
| 11 |
],
|
| 12 |
+
"max_events_per_process": 16384,
|
| 13 |
"max_forward_calls_per_generate": 128,
|
| 14 |
+
"max_metadata_bytes_per_process": 16777216,
|
| 15 |
"max_new_tokens": 9,
|
| 16 |
"original_pooled_s": 540,
|
| 17 |
"patch_shape": [
|
verify_files.py
CHANGED
|
@@ -11,7 +11,7 @@ import stat
|
|
| 11 |
|
| 12 |
MANIFEST_SHA256 = {
|
| 13 |
'ASSET_MANIFEST.json': 'bf9706c9c565dae44f5c3285c565490c89c84c44194d48130d39cfcbd238824d',
|
| 14 |
-
'SOURCE_MANIFEST.json': '
|
| 15 |
}
|
| 16 |
|
| 17 |
|
|
|
|
| 11 |
|
| 12 |
MANIFEST_SHA256 = {
|
| 13 |
'ASSET_MANIFEST.json': 'bf9706c9c565dae44f5c3285c565490c89c84c44194d48130d39cfcbd238824d',
|
| 14 |
+
'SOURCE_MANIFEST.json': 'f0324e066f21fe9d5c9377a8ff60526503eebd05d90219397563a47e02cc6775',
|
| 15 |
}
|
| 16 |
|
| 17 |
|