Skip to content

fix: accept loader S3 checksum metadata - #53

Merged
pjy008008 merged 1 commit into
developfrom
fix/s3-content-sha256-metadata-compatibility
Aug 8, 2026
Merged

fix: accept loader S3 checksum metadata#53
pjy008008 merged 1 commit into
developfrom
fix/s3-content-sha256-metadata-compatibility

Conversation

@pjy008008

Copy link
Copy Markdown
Contributor

Summary

  • accept the operating market-loader's content-sha256 S3 metadata key when verifying version-pinned source receipts
  • keep the adapter's sha256 key canonical for new writes
  • reject objects that publish both keys with conflicting hashes

Operational evidence

A four-resolution feature-backfill canary rejected four otherwise matching receipts with sha256 metadata mismatch. Read-only inspection confirmed that, for each exact S3 version, the catalog content_hash, byte size, version ID, SSE-S3 state, and S3 checksum all match; only the metadata key name differs (content-sha256).

TDD / validation

  • red: loader metadata compatibility test failed before the fix
  • 90 passed, 1 deselected, 4 subtests passed across storage adapter and feature-output trust-boundary tests
  • Ruff passed
  • mypy passed

Safety

The compatibility reader refuses contradictory sha256 and content-sha256 values, so the exact-version integrity boundary remains fail-closed.

@pjy008008
pjy008008 merged commit 986d65e into develop Aug 8, 2026
10 checks passed
@pjy008008
pjy008008 deleted the fix/s3-content-sha256-metadata-compatibility branch August 8, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant