A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
I2787
A build never lets the shared build directory's crate artifacts fill the disk
Where it stands
devtask.issue- Readiness
- blocked 1 of its dependencies is not DONE
- Status
- BLOCKED
- Can start
- not now
- Milestone
- Milestone status
- ACTIVE
- Wave
1- Waiting on
- Holds back
- none
- Behind it in all
0- Evidence
0of1
| In the way | Subject | Detail |
|---|---|---|
| issue | I2713 | I2713 is not DONE |
Moves
plan.transitionWhat it is
- Objective
- Bound the shared build directory's debug/deps the way I2713 bounds debug/incremental: before a bounded build starts, remove the crate's own test binaries and libraries (majordomus_cli-*, libmajordomus_cli-*, and each tests/*.rs binary) of generations no live tree is building and older than a declared age, never a file a running process holds open, never another crate's dependency artifacts, and say on stderr what was reclaimed.
- Why
- 2026-10-16 ~22:50Z the shared Mac reached 238 MiB free and every session's build failed with ENOSPC. Idle incremental sessions (48 GiB, I2713's subject) were removed by hand; the landing seat then deleted 43 GiB of majordomus_cli-* test artifacts older than 3 h from build-shared/majordomus/debug/deps, which still held 41 GiB and 11026 majordomus_cli-* files afterwards: every worktree generation leaves one crate test binary and library behind, and nothing ever removes them short of a cargo clean that would wipe every live tree's build.
- Now
- lib/rust_bin.sh refuses a build below a free-space floor; I2713 (#1279) prunes idle incremental sessions; nothing prunes debug/deps.
- Wanted
- mj_cargo_bounded prunes the crate's stale artifacts in debug/deps beside the incremental sweep, with the same age and liveness predicates asked again of each path before it is removed, and a case holds that a live or recent artifact survives and a stale one does not.
- Done when
- unknown: the record declares no `completion`
- Risk
- unknown: the record declares no `risk`
Acceptance
- A stale crate artifact in debug/deps older than the declared age, held open by no process, is removed before a bounded build and named on stderr
- An artifact a running process holds open, a recent one, and a dependency crate's artifact all survive
- Free space stays above the declared floor through a day of concurrent sessions on the shared machine
- Validation
majordomus plan validate- Evidence required
case_deps_pruned- Evidence present
- unknown: the record carries no `evidence` entries
Scope
- Touches
lib/rust_bin.shtest/casesdocs/WORKTREES.md- Not
- unknown: the record declares no `non_scope`
- Depends on
- Priority
- p0
- Profile
- implementation
- Parallel safe
- false
- Owner
- unknown: the record declares no `owner`
The work so far
- Branches
- none
- Merged
- none
- Commits
0- Trunk
- master
- Sessions
- none
- Created
- 2026-10-17
- Updated
- 2026-10-17
- Started
- unknown: the record declares no `started_at`
- Verified
- unknown: the record declares no `verified_at`
- Completed
- unknown: the record declares no `completed_at`
Synchronisation
- Adapter
scripts/github-sync- Repository
- unknown: the derived plan's header carries no repository
- External issue
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
- State there
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
Findings
Nothing is wrong with these records.