← Corpus / augment-it / issue
The Org Workbench can't create an organization — and creation must sit behind a 'be sure there is no match' gate
The workbench can only find orgs that exist. Creation must sit behind the same show-every-match gate that already governs adding a person.
- Path
- issues/Org-Workbench-Needs-Create-Organization-Behind-A-No-Match-Gate.md
- Authors
- Michael Staton
- Augmented with
- Claude Code on Claude Fable 5
- Tags
- Issue · Usability · Augment-It · Org-Workbench · Organizations · Candidate-Gate
Create an organization from the Org Workbench — behind the gate
The gap
The Org Workbench opens with OrgSearch — find an existing org, load its
card. If the org isn’t in the canonical layer yet, the operator’s only paths
are indirect: the CSV/record-resolution flows, or (since today) creating one
as a side effect of promoting a bio link
([[Person-Bio-Pages-Are-Affiliation-Signals-Not-Just-Identity-Links]]).
There is no first-class “create an organization” in the workbench itself.
The rule: try to be sure there is no match
Creation is the dangerous half of match-or-create — a casually-minted org is
tomorrow’s duplicate. The gate discipline that already governs persons
(AddPersonInline: candidates ALWAYS shown, create is an explicit choice
past them) applies verbatim:
- Operator types a name (+ optional domain/URL).
- Candidates surface from every signal the resolver already scores — slug
(100), domain via D4
domains[*].domain(90), fuzzy name (60), aliases — not just the autocomplete’s name-contains. - Zero candidates still gates: an explicit “No match — create ‹name›” action, never a silent create on submit.
- Create seeds the thin row the existing paths seed (name → slug,
client_access, and — per today’s promotion work — a domain when one was given, so the new org is domain-matchable from birth).
Existing machinery (nothing new server-side, probably)
resolveOrgRow(action:'create')— the create verb half, already defends against slug races and (since today) seedsdomains[].findCandidates— the scored candidate path (resolver.candidates);searchOrgsis the lighter autocomplete. The gate wants the scored one.AddAffiliationInline— shipped today; its gate → create shape is the closest UI precedent. AnOrgCreateInline(or a mode ofOrgSearch’s empty-result state) is the org-first sibling.
Open questions
- Where does it live —
OrgSearch’s “no results” state growing a gated create, or a standing ➕ beside the search box, or both? - Does workbench-create take a domain up front (recommended — it powers the strongest match signal AND seeds the new row)?
- Minimum viable row: name + domain + client — or also kind/notes?