--- status: resolved opened: 2026-10-04 located-in: - mesh-host fixed-by: - mesh-host#84 amended-design: --- # 220 — A delivered bundle keeps the files of the one before ## What was observed 2026-10-04. A tools bundle was rebuilt as one self-contained file per entrypoint ([ADR 0193](../../02-DECISIONS/0193-every-bundle-the-runtime-serves-is-launched-and-the-runtime-knows-no-language.md)), so it no longer carries a package directory. On the machine it was delivered to, its directory still held the package directory and a compiled file from the earlier delivery, dated hours before the new files. The new files were written over the old directory, and nothing removed what the new bundle no longer contains. ## Why it matters beyond this instance A bundle on disk should be exactly the artifact that was built. Leftover files can be imported by code that should no longer find them. A fix that removes a file then works on a fresh machine and fails on every machine that ran an earlier version. It also makes "what runs here" impossible to read from the artifact. ## Where to look How the host unpacks a bundle into its directory. **How it is checked:** deliver a bundle, then a version without one of its files, and the file is gone. ## Resolved An archive is unpacked into a fresh directory beside the old one and swapped in by rename; a refused or failed unpack leaves the old tree whole. **How it is checked:** a second delivery without a file removes it, and nothing is left beside the directory; both tests fail without the fix. Proven 2026-10-04: a bundle rebuilt and delivered after the fix holds exactly the new build and nothing beside it. A bundle that has not changed since keeps its old leftovers until its next version, by design: an unchanged archive is not unpacked again.