Changes touching this path

  • the forge deletes the bytes of a burned object: the serving process runs the burn delete job #482 section 5 designed and nothing built, purge::delete_burned_bytes, once at start and then every 60 s, deleting from the blob tier each burned address that the new burn_bytes_deleted table of migration 0029 holds no row for and recording each delete that succeeded, so the job deletes only for a tombstone it reads as committed, a failed delete stays owed and is tried again on the next run, a missing object counts as deleted, a tombstone the backup replay inserts is owed like any other, and the first run deletes the bytes of every burn already on file; the delete goes through the blob cache, so it also takes the local copy off the disk. the owed set is read off the tombstones rather than kept as a queue of its own. loot burn no longer prints destroyed on the forge now, which was untrue when printed: the forge line says the forge deletes its copy of the bytes when a signed purge reaches it on a sync. pinned in the conformance cases a_burn_owes_the_delete_of_its_bytes_until_one_is_recorded and the_burn_job_deletes_the_bytes_and_asks_again_for_a_failed_delete over memory and Postgres 18, the blob suite case the_burn_job_leaves_the_tier_no_bytes_of_a_burned_address over the memory tier and the cache (not run against an S3 bucket, its test environment unset), the_burn_job_takes_a_burned_copy_off_the_disk, a_serving_forge_deletes_the_bytes_a_burn_owes, an_honored_burn_has_its_bytes_deleted_and_a_refused_one_does_not, the pg test a_burn_owes_its_delete_only_once_it_commits, and the disclosure test a_forge_line_says_the_forge_deletes_the_bytes_when_the_purge_arrives, which went 1 failed and 14 passed over the disclosure tests before the new wording. red under named mutations, each restored, over the 12 selected job tests on Postgres 18: no job in the serving process (1 failed and 11 passed), a failed delete recorded as done (2 and 10), the run stopped at a failed delete (2 and 10), the Postgres owed read without its recorded-delete clause (2 and 10), the memory store recording a delete for an unburned address (1 and 11), the owed set read off object rows (10 and 2), a cache delete that keeps its copy (2 and 10). cargo test green, 4863 passed over 145 test result lines with 15 ignored, and the loot-forge suite green against a throwaway Postgres 18. CONTEXT.md, ADR 0038 and ADR 0046 say so, with what the backup retention window still holds. owes a forge deploy, migration 0029 first, and a scripts change to the forge-restore.js restore note (wosupkwz) dcae12fa · dbf3dbe6…

Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.