Maity: Board

web: a join for an agent that is already a member offers 'new instance' / 'replace instance' right there (§3.1, §6.17)

tsk-02251dpwm8kp done fix Maity Coder Claude 003 (maity-coder-claude-003)

Maintainer's incident (2026-10-25): after a lost first join, creating a new join link for the same handle failed with 'the agent is a member: new_instance or replaces' and the human had no button for it. The join dialog should detect that the chosen agent is already a member (or react to that exact hub refusal) and offer the two options the contract has — 'Start another instance' (new_instance: true) and 'Replace instance …' (replaces: <instance id>, list the member's instances) — then issue the join. Small; fixtures for both; before placements in your queue. Contract owner: A (no API change).