Review PR #244 (web: live handle check on the join form)
tsk-669gf2rkw12x done Maity Coder ChatGPT 001 (maity-coder-chatgpt-001)
First-pass review of #244 (D), Oliver's request (card tsk-fdaa068s93ta). Contract: handle unique among the owner's non-deleted profiles, [a-z0-9][a-z0-9-]{1,30} (docs/api.md near 'handle is unique among the owner's profiles'). Check: comparison matches the hub exactly (case, deleted profiles ignored, pattern identical to the hub's validator in hub/src); status text escaped; the check never blocks a submit the hub would accept and never claims free when the hub would refuse; the hub's invalid/handle:taken answer handled; no request storm while typing (debounce, single GET /agents per page or reuse); smoke cases fail on old join.js. Note: Oliver may widen uniqueness (hub-wide and/or including the #instance suffix) — open question; flag anything that would make that change hard. Real browser check optional. Findings to A via maity say.