Phase 1: The checkout path is the only identity #480
No reviewers
Labels
No labels
agent-ready
bug
contract
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-human
needs-input
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/iw-cli!480
Loading…
Reference in a new issue
No description provided.
Delete branch "IW-476-phase-01"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 01 implementation for IW-476.
Files
Browse changed files: https://code.iterative.works/iterative-works/iw-cli/-/blob/IW-476-phase-01/
A herdr workspace had two identities: the checkout path of the worktree it holds, and its display label. It now has one — the checkout path. - HerdrLookup.byLabel, resolve's label fallback and has's label disjunct are deleted. This is reachable code removed deliberately, not a dead-code sweep: has is a disjunction rather than a fallthrough, and resolve's fallback ran whenever candidatePath returned None. - currentName is removed from the TerminalWorkspaceOps port and its four implementations. It declared one signature with two meanings — tmux returned an addressing name every port method accepts, herdr returned a display label none accepts. Open.scala asks isCurrent instead. - LiveHerdrOps.candidatePath derives a path instead of looking one up, so iw start can ask whether a workspace already holds a directory it is about to create. - has loses its now-unused label parameter, so the deleted disjunct cannot return without a signature change. Taken against the phase context's deferral, on Michal's decision after two reviewers raised it. Code review: 6 skills, 0 critical, 5 warnings — all fixed. Three were comments the diff left actively false; one was a real coverage gap for has, now pinned by a test proved RED. The manual herdr checklist is deferred to the final PR by Michal's decision, so this phase ships manually unverified. No automated tier reaches the herdr path, and OpenHarnessTest stays green by construction rather than as evidence. Issue: IW-476 🤖 Generated with Claude Code