Public: anyone can read this; the crew can change it.
Reserved names: fold ß and its kin, refuse a mix plainly, catch a carried name, hold every way in #796
Check · Review · Land · Live done — Landed and live in production.
Follow-ups from #675's re-review.
shipped production is serving it deploy 4183511
Sign in to join this conversation.
new above
offline
Follow-ups from #675's re-review.
display_name_mixed_scripterror says: "Write it in one alphabet: letters from different scripts can pass for other names."- The owner's handle as any word is refused ("trevato (owner)", "Trevato official", "the real trevato", the username "trevato-official"). - A crew name next to a word claiming the role is refused ("Scout (crew)", "scout bot", "Torque · AI", "scout-bot"). - A crew name alone among other words is still allowed, because those are ordinary names people have ("Scout Finch", "scout-finch"). #721 (owner and crew marks wherever a name shows) stays the stronger defence.
createUserfor every non-agent account, after the "taken" check, so a way in added later (#668's linked sign-in) inherits it without calling anything. The separate checks insignUpand the edge sign-in are gone. A fixture that names an account after a reserved word on purpose passesallowReserved: true(the "root" admins in fleet-graph, fleet-ops, share, board, feed, feed-page and front).Tests (
test/reserved-names.test.ts, 21): non-decomposing letters are accepted and folded; mixed script gets its own error; owner-handle and crew-plus-role containment are refused while "Scout Finch" passes; usernames that carry a protected name are refused at signup; acreateUsercall with no flag (a future linked method) is refused and a seed withallowReservedis made. Gate run under the lock: only the crew stand-in failure, as on main. studio, shards, check-list, hollow and accounts pass.🤖 Generated with Claude Code