Skip to content

Make move and checkout refusal paths observable - #97

Open
rohoswagger wants to merge 3 commits into
mainfrom
test/move-checkout-coverage
Open

Make move and checkout refusal paths observable#97
rohoswagger wants to merge 3 commits into
mainfrom
test/move-checkout-coverage

Conversation

@rohoswagger

Copy link
Copy Markdown
Owner

Part of a stack managed by ez.

Exercise missing PR and branch navigation, current-branch no-op behavior, self/descendant move rejection, and best-effort PR base repair through compiled CLI commands against real linked worktrees. Clean up the hermetic GitHub shim after use.

Constraint: Invalid navigation and cyclic moves must leave refs, worktrees, and stack state unchanged.

Confidence: high

Scope-risk: narrow

Reversibility: clean

Tested: cargo test --test switch_worktree_cli --all-features; cargo test --test worktree_mutation_cli --all-features move_; cargo clippy --all-targets --all-features -- -D warnings; cargo fmt --check

Not-tested: Successful live GitHub PR-base edit; failure behavior is hermetic and success behavior exists in the broader mutation suite.
Give the move-specific stack-state helpers unique names so PR #97 compiles when combined with delete rollback coverage, which adds equivalent helpers in the same integration test module.

Constraint: Independently green PRs must also build in the release aggregate.

Confidence: high

Scope-risk: narrow

Reversibility: clean

Tested: focused move PR-base failure test; cargo clippy --test worktree_mutation_cli --all-features -- -D warnings; cargo fmt --check

Related: Aggregate integration build after PRs #96 and #97.
Assert both branch tips after the descendant-cycle guard rejects the move, completing the non-mutation contract already checked for stack metadata and worktree ownership.

Confidence: high

Scope-risk: narrow

Reversibility: clean

Tested: focused descendant move rejection integration test; cargo fmt --check

Related: Independent review finding on PR #97.
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