Quickstart: reproduce & verify
Both defects reproduce with the actual CLI in an isolated HOME/XDG + disposable repo on coord topology.
#4889 — silent empty re-cut
1. init → agent mission create --topology coord → planning (WP01, WP02 dep WP01) → finalize-tasks. 2. spec-kitty implement WP01 → lane-a worktree + branch. Commit real work (feature.txt) in the lane; record the lane tip. 3. Trigger: git worktree remove --force <lane-a> and git branch -D kitty/mission-<slug>-lane-a. 4. spec-kitty implement WP01 again.
- Pre-fix (BUG): exit 0,
✓ Lane worktree ready, new empty lane cut from coord tip,feature.txtabsent, WP01 commit not an ancestor. - Post-fix: exit non-zero, diagnostic names the missing branch + recovery ref, no
Lane worktree ready,.kittify/workspaces/*.jsonunchanged. Same viaagent action implement WP01/start-implementation. - Control (unchanged): nothing deleted → exit 0 no-op resume,
feature.txtpresent.
#4905 — WP file on coord branch → WP02 conflict
1. coord mission with WP01, WP02 (dep WP01). 2. spec-kitty agent action implement WP01 --agent claude. 3. spec-kitty agent action implement WP02 --agent claude.
- Pre-fix (BUG): WP02 fails with
PlanningCommitMergeConflictError, exit 1; coord tree carriestasks/WP01-*.md. - Post-fix: coord tree has no
tasks/WP*.md(after claim AND after WP01 review-claim); WP02 starts, exit 0. - Control:
--topology lanesstarts both WPs unchanged.
Test entry points
PWHEADLESS=1 .venv/bin/python -m pytest tests/lanes/ -q(allocator routes, #4889).venv/bin/python -m pytest tests/orchestrator_api/ -q(caller-independence, #4889).venv/bin/python -m pytest tests/specify_cli/ -k "coord and (claim or staging)" -q(#4905)