Packages checked against the publisher, and no stray runners left behind
Your lockfile already checks what you install. Avrea now checks the same bytes on the way in, so a cached copy can never differ from what the publisher published — and a job that fails to start no longer leaves anything behind on your repository.
Packages are verified before they're served
- Checked against the publisher. npm tarballs are validated against the hash npm itself publishes, and crates against the checksum in the registry index. Anything that doesn't match never becomes a cache hit.
- Verified before publishing, not after. Packages that Avrea fetches ahead of your first request are now validated in a holding area and only made available once they match. Previously the most popular packages — the ones most likely to be fetched ahead of time — were the ones most likely to skip this check.
- Damaged entries repair themselves. An entry that fails a check while being read is discarded precisely, so a healthy copy written at the same moment survives instead of being thrown away with it.
- Cache entries stay put. Once an entry is committed it can't be overwritten, so a second job writing the same key can't change what earlier jobs already read.
- A cache problem can't fail your checkout. Git LFS downloads fall back to the origin across more failure modes, including slow and stalled responses, not just outright errors.
Runners clean up after themselves
When a job failed to start, the runner Avrea had already registered on your repository could be left behind with nothing to remove it — visible in your repository settings and never picking up work. Runners are now claimed before they're registered, and any that end up unclaimed are removed automatically. Nothing accumulates.
All of this applies to existing setups. No workflow changes are needed.