Skip to content

Commit 791d01e

Browse files
committed
fix(case6): bind sidecar audit to exact parquet bytes
1 parent 4b6596f commit 791d01e

6 files changed

Lines changed: 653 additions & 36 deletions

scripts/download_verified_sidecar_from_nebius_s3.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
resolve_s3_env,
3838
validate_audit_receipt,
3939
validate_manifest,
40+
validate_semantic_audit_receipt_binding,
4041
verify_inventory,
4142
write_json_atomic,
4243
)
@@ -227,13 +228,14 @@ def _verify_downloaded_set(
227228
receipt_path = _receipt_path_for(dest, validated)
228229
if receipt_path.is_symlink() or not receipt_path.is_file():
229230
raise SystemExit(f"audit receipt missing after download: {receipt_path}")
231+
selected_keys = [
232+
str(item["remote"])[len(PARQUET_REMOTE_PREFIX):]
233+
for item in validated["selections"]
234+
if str(item["remote"]).startswith(PARQUET_REMOTE_PREFIX)
235+
]
230236
report = validate_audit_receipt(
231237
json.loads(receipt_path.read_text(encoding="utf-8")),
232-
selected_keys=[
233-
str(item["remote"])[len(PARQUET_REMOTE_PREFIX):]
234-
for item in validated["selections"]
235-
if str(item["remote"]).startswith(PARQUET_REMOTE_PREFIX)
236-
],
238+
selected_keys=selected_keys,
237239
)
238240
audit_binding = validated["audit_receipt"]
239241
if (
@@ -242,11 +244,11 @@ def _verify_downloaded_set(
242244
!= audit_binding["sha256"]
243245
):
244246
raise SystemExit("downloaded audit receipt SHA-256 does not match manifest")
245-
selected_keys = [
246-
str(item["remote"])[len(PARQUET_REMOTE_PREFIX):]
247-
for item in validated["selections"]
248-
if str(item["remote"]).startswith(PARQUET_REMOTE_PREFIX)
249-
]
247+
validate_semantic_audit_receipt_binding(
248+
validated["semantic_audit"],
249+
report,
250+
selected_keys=selected_keys,
251+
)
250252
receipt_valid_tokens = sum(
251253
int(report["by_kind_bucket"][key]["valid_tokens"]) for key in selected_keys
252254
)

0 commit comments

Comments
 (0)