On 2026-10-14 the shared Mac ran out of disk twice (248 MB, then 1.1 GB free), killing simulator runs. One cause was 1,983 stale craft-* directories older than an hour in $(getconf DARWIN_USER_TEMP_DIR), which another session deleted by hand to free ~13 GB (with ~/.bun/install/cache).
Something in Craft (the build pipeline, native screen compilation, template/fixture tests, or the E2E harness) creates a craft-* temp dir per run and never removes it, including on success.
Wanted:
- Find every place that creates a
craft-*temp dir (mkdtemp or similar) and remove it when the run ends, on success, failure and interrupt (try/finally plus a signal handler where a process can be killed mid-run). - Long-lived dirs that are meant as caches should live under a single, bounded, named cache dir with pruning, not in temp.
- A test that runs a representative build/test and asserts no
craft-*dir is left behind. - Note it in the release notes so apps' builds stop leaking after upgrading.