Skip to content

fix: archive what else a worktree's local bin/ holds on prune - #1446

Merged
REPPL merged 5 commits into
mainfrom
capture-tier-bin-loss
Nov 7, 2026
Merged

REPPL merged 5 commits into
mainfrom
capture-tier-bin-loss

Conversation

@REPPL

@REPPL REPPL commented Nov 7, 2026

Copy link
Copy Markdown
Collaborator

The notes archive skipped the local tier's whole top-level bin/, so prune reported a merged, clean worktree reclaimed and deleted the only copy of any script a person kept there. It now leaves out only the binary scripts/abcd.sh builds and the . file it builds that binary through, a killed build's leftover. Every other file in bin/ is judged as a note, so one the archive cannot vouch for keeps the worktree instead of being lost.

A file at those two names is left out only when it is not text or is past the archive's per-file cap, as a build always is: text a person kept there is archived, and a file there that cannot be read keeps the worktree. A person's own file over the cap at exactly those names is still left out, as the spec states.

The review also found that a build loop's lane worktree is removed without this archive; that is filed as iss-2611070853292700.

Resolves: iss-2611041759314115
Refs: iss-2611070853292700
Assisted-by: Claude:claude-opus-5-5

REPPL added 5 commits November 4, 2026 18:04
The notes archive skipped the local tier's whole top-level bin/, so prune
reported a merged, clean worktree reclaimed and deleted the only copy of any
script a person kept there. It now leaves out only the binary scripts/abcd.sh
builds and the <binary>.<pid> file it builds that binary through, a killed
build's leftover. Every other file in bin/ is judged as a note, so one the
archive cannot vouch for keeps the worktree instead of being lost.

Resolves: iss-2611041759314115
Assisted-by: Claude:claude-opus-5-5
Assisted-by: Claude:claude-opus-5-5
A regular file named as the binary or its <binary>.<pid> file was left out on
its name alone, so a note a person kept under such a name was still lost. The
archive now leaves one out only when it is not text or is past the per-file
cap, as a build always is. A short build leftover stays out and text is
archived. Also files the lane-removal gap a review found beside this fix.

Refs: iss-2611041759314115
Assisted-by: Claude:claude-opus-5-5
Assisted-by: Claude:claude-opus-5-5
The rule that a file the walk cannot read is no build product had no test, and
loosening it would have lost that file silently. Also corrects the lane-removal
record, which missed the second site that removes a lane's worktree.

Refs: iss-2611041759314115
Refs: iss-2611070853292700
Assisted-by: Claude:claude-opus-5-5
@REPPL
REPPL enabled auto-merge November 7, 2026 13:56
@REPPL
REPPL added this pull request to the merge queue Nov 7, 2026
Merged via the queue into main with commit 83c83a8 Nov 7, 2026
15 checks passed
@REPPL
REPPL deleted the capture-tier-bin-loss branch November 7, 2026 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant