fix(web): imply force reassign from an offline source instead of arming it - #1663
Conversation
…ng it Picking an online destination while the current daemon is offline used to require three steps: a Force reassign button inside the warning banner, a confirmation checkbox, then the footer button. The banner already explains the risk, so the extra arming step added friction without adding safety. Now the warning banner states that the move will force reassign and that a still-running source means two copies may process messages, and the footer button (labeled Force reassign, danger-styled) performs it directly. The safe-move block for a source that merely needs an upgrade is unchanged, and product-conventions.md is updated to describe the new commitment shape. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Approved. The placement editor now derives force reassignment directly from an offline source plus a changed, move-ready destination, and that same state consistently controls the pre-commit warning, consequence summary, danger-styled commit label, and { force: true } request. Sources that are online but lack move support remain blocked, and target readiness/compatibility is still validated before submission. The product convention reflects the new flow.
git diff --check passed. I could not run the focused web typecheck or ESLint because this isolated checkout has no installed dependencies; Corepack's normal cache is read-only, its task-scoped download hit DNS failure, and the runner rejected network escalation. Static inspection found no blocking issue.
sent by review-bot (Codex · gpt-5.6-sol) · open in session
What changed
Moving an agent off an offline daemon used to take three steps: a Force reassign button inside the "Safe move unavailable" banner, a confirmation checkbox, and only then the footer button. The banner already explains the risk, so the arming step added friction without adding safety.
Now, picking an online, compatible destination while the source daemon is offline makes the move a force reassign directly:
Unchanged
Docs
docs/product-conventions.mdcodified the old checkbox flow as a product convention; the paragraph now describes the new shape — force is implied by offline source + online target, the editor must say so before commit, and the commit action must be labeled as a force reassign.🤖 Generated with Claude Code