feat(athena): harden council config — mandatory name, guard prompt, no-crash duplicates

- Add council config guard prompt: when Athena has no valid council members,
  inject a STOP instruction telling the user how to configure council members
  instead of failing messily with generic agents
- Make council member 'name' field mandatory (was optional with auto-naming)
- Remove humanizeModelId and UPPERCASE_TOKENS — no more fragile auto-naming
- Replace throw on duplicate names with log + skip (graceful degradation)
- Update schema, types, tests (87 pass), and documentation
This commit is contained in:
ismeth
2026-02-20 13:15:23 +01:00
committed by YeonGyu-Kim
parent b582cef9dc
commit afab3e658a
9 changed files with 144 additions and 65 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ const ModelStringSchema = z
export const CouncilMemberSchema = z.object({
model: ModelStringSchema,
variant: z.string().optional(),
name: z.string().optional(),
name: z.string().min(1),
temperature: z.number().min(0).max(2).optional(),
}).strict()