Repository navigation
tri worktrees: no mine label, evidence columns and KEEP_ACTIVE for recent commits - #11098
Merged
Merged
Conversation
…nstead, and a KEEP_ACTIVE verdict before REMOVABLE (Closes #11081) `tri worktrees` printed `mine` for every checkout when the caller's own path and the tree's path were both outside a scratchpad, so another session's lanes (commit subjects "widgets: ...", one committed seconds earlier) were listed as the caller's. Only the REMOVABLE rule kept them from a removal plan. The label is gone, with session_of that fed it and its four tests. specs/tri/worktrees/reap.t27 is extended, not duplicated: - verdict KEEP_ACTIVE (7, VERDICTS 8): the newest commit is younger than ACTIVE_MINUTES = 60, or a file in the tree changed in that time (the glue asks `find -mmin`, only for a tree a merged PR would make removable), or the commit time cannot be read. It is decided after the pull request facts and before the path fact, so no PR stays KEEP_NO_PR and an open one KEEP_OPEN_PR, and a tree whose PR merged but which a session still commits in is no longer one `git commit` from a removal line. - log_time and subject_from read `git log -1 --format=%ct%x09%s`; age_of reuses lanes' age_minutes and AGE_UNKNOWN by `use` (no second copy of either); active, age_count and age_unit decide the verdict and the unit the glue prints. - 5 tests added (18 in all, 13 on master), at the edges 59 and 60 minutes, for an unreadable log and a future commit time, for 11 seconds old (KEEP_ACTIVE, no removal line) and 60 minutes old (REMOVABLE as before). Negative control: 60 -> 6 in ACTIVE_MINUTES fails 2 of them. The exhaustive verdict test now also ranges over the new fact. The listing prints, for every tree it shows, "newest commit <age> ago: <subject>"; the plan prints the same, the number of unpushed commits, and also the KEEP_ACTIVE rows, so a protected tree is visible. Run once on the machine this was written on, the plan listed 4 REMOVABLE trees (newest commits 8 and 9 days old) and 1 KEEP_ACTIVE tree whose PR is merged or closed and whose newest commit was 48 minutes old. Hand-written Rust in cli/tri/src/trees.rs: 25 added, 59 deleted (session_of, `here`, `mine`, session_tests). The tool card's --reap-plan doc and the clap doc it was read from are updated together. gen/rust/tri/worktrees/reap.rs is `t27c gen-rust` output. The seals of reap.t27 and of the tool card are not re-saved here: t27c's test run needs the Zig cache, which the sandbox this was written in cannot write, and a seal that says `tests: blocked` would be a false one. Closes #11081 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…cent commits (Closes #11081) Merge of master plus sealing, gates run on the merged tree with t27c from master: tests clean with vacuous passes 0, seal --verify MATCH, tri types ratchet CLEAN, dupe_scan failure set a subset of master's. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 19, 2026 16:53
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #11081
tri worktrees: no mine label, evidence columns and KEEP_ACTIVE for recent commits
Gates run on the merged tree (t27c from master): 2 spec(s) with tests clean and vacuous passes 0, seal --verify MATCH, tri types ratchet CLEAN, dupe_scan failure set a subset of master's (inherited red).
TEST specs/tri/worktrees/reap.t27 tests=[18] fail=[0] vacuous=[0]
TEST specs/tools/tri/worktrees.t27 tests=[4] fail=[0] vacuous=[0]
SEAL specs/tri/worktrees/reap.t27 :: all hashes MATCH
SEAL specs/tools/tri/worktrees.t27 :: all hashes MATCH
TYPES RATCHET: CLEAN
DUPE failing=15 extra-vs-master=[]
🤖 Generated with Claude Code