Archived
The dev packages are versioned off the quattro tip, so rebuilding the same upstream commit yields the same filename. Promotion treated any pre-existing filename as fatal, which wedged the release loop whenever a run promoted but died before update-repo rebuilt the database: the stale database kept advertising the older hash, so every later run rebuilt the identical package and failed here again, retaining the state file each time. Compare the bytes instead. Identical packages are skipped and the run continues, so the following update-repo step fixes the database and the loop unsticks itself. Differing content under a published filename still aborts. Signatures are judged by the package they sign, since gpg stamps a timestamp into every signature and a re-signed package never matches. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>