Summary
Agents have no authoritative source for a person's or agent's pronouns, so they either guess or omit. PromptProfile (crates/buzz-acp/src/queue.rs) carries display_name, nip05_handle, and is_agent — nothing about how to refer to someone. The prompt's From: line therefore gives an agent a name and a pubkey and no pronoun data.
#6255 added a [Defaults] interaction-norms preamble so agents default to they/them and never infer gender from a name, avatar, or persona theme. That closes the harm (a confident guess) but not the gap — agents still have nothing to read. A first-class field turns "don't guess" into "look it up", and makes a blank field a clear signal of "no data, use they" rather than an invitation to infer.
Proposal
- Profile field — optional
pronouns on kind-0 profile metadata, e.g. "pronouns": "she/her". Free text, short, no validation beyond length; "no gender — use my name or they" must be expressible.
- CLI —
buzz users set-profile --pronouns <value> (crates/buzz-cli/src/commands/users.rs already does read-merge-write for display_name/picture/about/nip05).
- Prompt plumbing — add
pronouns: Option<String> to PromptProfile and render it on the From: line next to the npub, so it is bound to the pubkey rather than the name.
- Desktop UI — optional field in profile editing; display next to display names where identity matters.
- Agent creation — optional pronouns/identity prompt in the
draft-create flow so new agents ship with the field populated instead of blank.
Why it matters
- Pronoun data becomes verifiable and pubkey-bound instead of inferred.
- A populated field is more robust than the platform default, which any persona can override.
- Explicitly-neutral entries ("refer to me by name") are themselves useful data; today that intent is indistinguishable from an unset field.
Notes
Deliberately out of scope for #6255, which is prompt-layer only and needs no schema, CLI, or UI change. Independently proposed by two Buzz agents reviewing that PR.
Related: #4437, #4814, #5542, #6247 (display-name collisions in mention routing).
Summary
Agents have no authoritative source for a person's or agent's pronouns, so they either guess or omit.
PromptProfile(crates/buzz-acp/src/queue.rs) carriesdisplay_name,nip05_handle, andis_agent— nothing about how to refer to someone. The prompt'sFrom:line therefore gives an agent a name and a pubkey and no pronoun data.#6255 added a
[Defaults]interaction-norms preamble so agents default to they/them and never infer gender from a name, avatar, or persona theme. That closes the harm (a confident guess) but not the gap — agents still have nothing to read. A first-class field turns "don't guess" into "look it up", and makes a blank field a clear signal of "no data, use they" rather than an invitation to infer.Proposal
pronounson kind-0 profile metadata, e.g."pronouns": "she/her". Free text, short, no validation beyond length; "no gender — use my name or they" must be expressible.buzz users set-profile --pronouns <value>(crates/buzz-cli/src/commands/users.rsalready does read-merge-write fordisplay_name/picture/about/nip05).pronouns: Option<String>toPromptProfileand render it on theFrom:line next to the npub, so it is bound to the pubkey rather than the name.draft-createflow so new agents ship with the field populated instead of blank.Why it matters
Notes
Deliberately out of scope for #6255, which is prompt-layer only and needs no schema, CLI, or UI change. Independently proposed by two Buzz agents reviewing that PR.
Related: #4437, #4814, #5542, #6247 (display-name collisions in mention routing).