Tier: Hard
Description: Unlike every other per-shipment index (notes, evidence, recovery records, status hashes) which live in persistent storage and are purged on archival, ShipmentDependents(dependent_id) (storage.rs:2190-2208) lives in instance storage and is entirely absent from archive_shipment's cleanup block. Instance storage is a single shared ledger entry across the whole contract, making unbounded growth here a scalability risk larger in impact than a comparable persistent-key leak.
Files: contracts/shipment/src/storage.rs:2190-2208
Tasks:
Tier: Hard
Description: Unlike every other per-shipment index (notes, evidence, recovery records, status hashes) which live in persistent storage and are purged on archival,
ShipmentDependents(dependent_id)(storage.rs:2190-2208) lives in instance storage and is entirely absent fromarchive_shipment's cleanup block. Instance storage is a single shared ledger entry across the whole contract, making unbounded growth here a scalability risk larger in impact than a comparable persistent-key leak.Files:
contracts/shipment/src/storage.rs:2190-2208Tasks:
ShipmentDependentsto persistent storage and add it toarchive_shipment's purge listAcceptance Criteria:
ShipmentDependentsentries are purged on archival and no longer inflate instance storage indefinitely