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
+28 -2
View File
@@ -5145,6 +5145,18 @@
"providerOptions": {
"type": "object",
"additionalProperties": {}
},
"ultrawork": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"variant": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
@@ -5210,6 +5222,18 @@
"type": "object",
"additionalProperties": {}
},
"ultrawork": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"variant": {
"type": "string"
}
},
"additionalProperties": false
},
"council": {
"type": "object",
"properties": {
@@ -5227,7 +5251,8 @@
"type": "string"
},
"name": {
"type": "string"
"type": "string",
"minLength": 1
},
"temperature": {
"type": "number",
@@ -5236,7 +5261,8 @@
}
},
"required": [
"model"
"model",
"name"
],
"additionalProperties": false
}