Reconcile the integrity scrub from an object inventory when the store has one

Contribution Date
Contribution Project
Contribution Details
Reconcile the integrity scrub from an object inventory when the store has one AWS-native item 4. At scale the scrub heads one object per placement — four hundred thousand round trips a cycle. A backend that publishes an inventory (S3 does; SeaweedFS does not) can be asked once and the window checked against the manifest instead. - dam-store: a Capabilities.object_inventory flag, an InventoryEntry, and a BlobStore::inventory() method whose default refuses (so a driver that does not publish one is never read as holding nothing). FakeS3Store serves one opt-in, matching the size and blake3 head reports. - dam-pipeline: integrity::scrub dispatches on the capability — manifest when present, per-object head otherwise. The verdicts are identical (verify now takes the found size and checksum from either source) and the first-byte probe runs either way, since no manifest can tell a truncated object from a whole one. Regression test drives the manifest path to verified/corrupt(x2)/missing. The S3 driver keeps object_inventory=false until its manifest reader and the Terraform that configures Inventory land (the follow-up); today every backend still takes the head path, so behaviour is unchanged.
Contribution Author
Bassam Ismail
Files count
0
Patches count
1