fix: remove gender inference — user always decides

Dropped inferGender() heuristic. The installer now shows the current
.env value (or 'n') as default and requires explicit user selection.
No guessing from name endings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---
Build: pass | Tests: pass — Tests  431 passed (431)
This commit is contained in:
Clawdie AI 2026-03-27 17:52:16 +00:00
parent cf6fc72d91
commit 200b6b62a1

View file

@ -492,12 +492,6 @@ function normalizeGender(input: string): AgentGender {
return 'n';
}
function inferGender(name: string): AgentGender {
// Slovenian heuristic: names ending in 'a' are typically female.
// This is a suggestion only — user always confirms.
return name.trim().toLowerCase().endsWith('a') ? 'f' : 'm';
}
function genderPreview(
name: string,
gender: AgentGender,
@ -622,7 +616,7 @@ export async function run(args: string[]): Promise<void> {
).trim() || assistantName;
derivedAgentName = deriveAgentName(assistantName);
agentGender = showGenderMenu(
opts.agentGender || agentGender || inferGender(assistantName),
opts.agentGender || agentGender,
assistantName,
displayLocale,
);
@ -833,8 +827,7 @@ export async function run(args: string[]): Promise<void> {
(await promptWithDefault(rl, 'Assistant name', assistantName)).trim() ||
assistantName;
derivedAgentName = deriveAgentName(assistantName);
const suggestedGender = opts.agentGender || agentGender || inferGender(assistantName);
const genderRaw = await promptWithDefault(rl, 'Gender [m/f/n] (ž=f)', suggestedGender);
const genderRaw = await promptWithDefault(rl, 'Gender [m/f/n] (ž=f)', opts.agentGender || agentGender);
agentGender = normalizeGender(genderRaw);
console.log(`${genderPreview(assistantName, agentGender, displayLocale)}`);