Observed in work pivot-scope-expansion from debug-freshness-lifecycle-loop.
Problem:
/sw-ship blocks on branch freshness when validation=branch-head, checkpoint=require, and reconcile=manual.
- Re-running
/sw-verify blocks before gates on the same freshness condition.
/sw-build also blocks on the same freshness condition.
/sw-sync is explicitly advisory-only and never clears freshness blocks.
/sw-verify maps any BLOCK result to Next: /sw-build, which is misleading for freshness-blocked states and creates an operator loop.
Why this needs design:
- The gap crosses multiple lifecycle skills and shared protocols:
sw-build, sw-verify, sw-ship, sw-sync, git-freshness, and handoff semantics.
- Specwright currently has no sanctioned reconcile surface for manual freshness policy once a work is already in
verifying or shipping-adjacent flow.
- Linked worktrees make the problem more likely because another active worktree can advance
origin/main while a unit is waiting in verifying.
Needed outcome:
- Define a valid operator path for manual reconcile that does not strand the work in a blocked lifecycle loop.
- Make freshness-blocked handoffs recommend the correct next action instead of
/sw-build.
- Decide whether the fix is a new reconcile skill, an allowed lifecycle sub-path, queue-mode guidance, or a narrower handoff/state change.
Observed in work
pivot-scope-expansionfromdebug-freshness-lifecycle-loop.Problem:
/sw-shipblocks on branch freshness whenvalidation=branch-head,checkpoint=require, andreconcile=manual./sw-verifyblocks before gates on the same freshness condition./sw-buildalso blocks on the same freshness condition./sw-syncis explicitly advisory-only and never clears freshness blocks./sw-verifymaps any BLOCK result toNext: /sw-build, which is misleading for freshness-blocked states and creates an operator loop.Why this needs design:
sw-build,sw-verify,sw-ship,sw-sync,git-freshness, and handoff semantics.verifyingorshipping-adjacent flow.origin/mainwhile a unit is waiting inverifying.Needed outcome:
/sw-build.