Ausweich auch für Schwelle-Aliasse und bei 429/5xx
auto/mass:fast war als Endstation ohne Rückfall: ling-3.0-flash fiel am 2026-09-07 nachts aus (5x 502 nach ~270 s hängendem Upstream, 117x 429), und der bisherige Ausweich griff nur bei fetch-Fehlern und nur für fest-Ziele. Jetzt darf auch ein Schwelle-Alias ausweichen, und der Ausweich löst bei 429/5xx aus — bevor das erste Byte an den Client geht, also gefahrlos wiederholbar, weiterhin nur einmal. auto/mass:fast weicht auf auto/coding:junior aus (ling erfüllt deren Schwellen strukturell nie, der Rückfall landet also garantiert auf einem tauglichen Modell). Die Container-Personas bekommen die Kettenziele in die ACL — ohne sie schlägt der Fallback in zielBestimmen still fehl und der ursprüngliche Fehler geht durch. Verifiziert im lokalen End-to-End-Test gegen Schein-Upstreams: Ausweich bei 429 (200 vom Ersatzmodell, Log-Zeile alias->ausweich), Durchreichung von 429 ohne ACL-Freigabe, fetch-catch-Pfad unverändert funktionierend. Refs 42i/intern#1252
This commit is contained in:
+124
-118
@@ -1,120 +1,126 @@
|
||||
{
|
||||
"_note": "Rechte je Client-Key: Name -> erlaubte Aliasse (neue Namen; Altnamen werden vor der Pruefung uebersetzt). [] = alles. Die Token selbst liegen NICHT hier, sondern in KEYS_FILE auf dem Host (token -> name). Abgeleitet aus llmlite/key-acls.json am 2026-09-05: role/* und -auto gestrichen (Andreas), -auto -> :medium. Stand 2026-09-05 abends: Stufen low/medium/high/max; none->low, extra->high, ultra->max, mass->low. Namen ab 2026-09-05: 42i/marvin-2609:*; die Rechte gelten nur fuer Router-Aliasse, unbekannte Namen (2608) reicht der Router an LiteLLM durch, dort gelten dessen ACLs. Muster mit * erlaubt (openrouter/*, alt/*, role/*). Rollen aus der LiteLLM-Zeit je Key wieder eingetragen; Elton und Andreas duerfen openrouter/* und alt/*. 2026-09-07: core:none fuer alle Container-Personas, weil opencodes small_model (Titel, Zusammenfassungen) dorthin zeigt -- nach 42i/intern#1252 wird daraus auto/mass. 2026-09-07 aufgeraeumt: 'nightjob' (kein Token, kein Konsument, keine Nutzung) und 'persona-inka-mx' entfernt -- beide Inka-Tokens (Shim und Telefon-Front-End) laufen im Router unter 'persona-inka', der mx-Name existierte nur noch als LiteLLM-key_alias.",
|
||||
"keys": {
|
||||
"persona-spark": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-tts",
|
||||
"role/engineer",
|
||||
"role/worker"
|
||||
],
|
||||
"persona-buzz": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-tts",
|
||||
"role/ops",
|
||||
"role/worker"
|
||||
],
|
||||
"persona-jessie": [
|
||||
"42i/marvin-2609-core:medium",
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-tts",
|
||||
"role/assistant",
|
||||
"role/marketing"
|
||||
],
|
||||
"persona-klara": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-tts",
|
||||
"role/service"
|
||||
],
|
||||
"persona-elton": [
|
||||
"42i/marvin-2609:low",
|
||||
"42i/marvin-2609:medium",
|
||||
"42i/marvin-2609:high",
|
||||
"42i/marvin-2609:max",
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609-core:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-stt-turbo",
|
||||
"42i/marvin-tts",
|
||||
"42i/marvin-tts-turbo",
|
||||
"role/*",
|
||||
"openrouter/*",
|
||||
"alt/*",
|
||||
"auto/*"
|
||||
],
|
||||
"persona-festus": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609-core:medium",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"role/privacy"
|
||||
],
|
||||
"persona-aria": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609-core:medium",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"role/architect"
|
||||
],
|
||||
"persona-inka": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609-core:medium",
|
||||
"42i/marvin-2609:low",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-stt-turbo",
|
||||
"42i/marvin-tts",
|
||||
"42i/marvin-tts-turbo",
|
||||
"openrouter/openai/gpt-5.6-luna",
|
||||
"role/inka"
|
||||
],
|
||||
"persona-andreas": [],
|
||||
"lab-xo": [
|
||||
"42i/marvin-2609:low",
|
||||
"42i/marvin-2609:high",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"role/xo",
|
||||
"role/*",
|
||||
"auto/*"
|
||||
],
|
||||
"team-copilot": [
|
||||
"42i/marvin-2609:low",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts"
|
||||
]
|
||||
}
|
||||
"_note": "Rechte je Client-Key: Name -> erlaubte Aliasse (neue Namen; Altnamen werden vor der Pruefung uebersetzt). [] = alles. Die Token selbst liegen NICHT hier, sondern in KEYS_FILE auf dem Host (token -> name). Abgeleitet aus llmlite/key-acls.json am 2026-09-05: role/* und -auto gestrichen (Andreas), -auto -> :medium. Stand 2026-09-05 abends: Stufen low/medium/high/max; none->low, extra->high, ultra->max, mass->low. Namen ab 2026-09-05: 42i/marvin-2609:*; die Rechte gelten nur fuer Router-Aliasse, unbekannte Namen (2608) reicht der Router an LiteLLM durch, dort gelten dessen ACLs. Muster mit * erlaubt (openrouter/*, alt/*, role/*). Rollen aus der LiteLLM-Zeit je Key wieder eingetragen; Elton und Andreas duerfen openrouter/* und alt/*. 2026-09-07: core:none fuer alle Container-Personas, weil opencodes small_model (Titel, Zusammenfassungen) dorthin zeigt -- nach 42i/intern#1252 wird daraus auto/mass. 2026-09-07 aufgeraeumt: 'nightjob' (kein Token, kein Konsument, keine Nutzung) und 'persona-inka-mx' entfernt -- beide Inka-Tokens (Shim und Telefon-Front-End) laufen im Router unter 'persona-inka', der mx-Name existierte nur noch als LiteLLM-key_alias. 2026-09-08: auto/mass:fast und auto/coding:junior fuer die Container-Personas -- die Ausweich-Kette auto/mass -> auto/mass:fast -> auto/coding:junior laeuft durch die ACL-Pruefung des aufrufenden Keys; ohne die Ziele dort schlaegt der Fallback still fehl (403 in zielBestimmen) und der urspruengliche Fehler geht durch.",
|
||||
"keys": {
|
||||
"persona-spark": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609:medium",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-tts",
|
||||
"auto/coding:junior",
|
||||
"auto/mass:fast",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"role/engineer",
|
||||
"role/worker"
|
||||
],
|
||||
"persona-buzz": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609:medium",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-tts",
|
||||
"auto/coding:junior",
|
||||
"auto/mass:fast",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"role/ops",
|
||||
"role/worker"
|
||||
],
|
||||
"persona-jessie": [
|
||||
"42i/marvin-2609-core:medium",
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609:medium",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-tts",
|
||||
"auto/mass:fast",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"role/assistant",
|
||||
"role/marketing"
|
||||
],
|
||||
"persona-klara": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609:medium",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-tts",
|
||||
"auto/mass:fast",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"role/service"
|
||||
],
|
||||
"persona-elton": [
|
||||
"42i/marvin-2609:low",
|
||||
"42i/marvin-2609:medium",
|
||||
"42i/marvin-2609:high",
|
||||
"42i/marvin-2609:max",
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609-core:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-stt-turbo",
|
||||
"42i/marvin-tts",
|
||||
"42i/marvin-tts-turbo",
|
||||
"role/*",
|
||||
"openrouter/*",
|
||||
"alt/*",
|
||||
"auto/*"
|
||||
],
|
||||
"persona-festus": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609-core:medium",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"role/privacy"
|
||||
],
|
||||
"persona-aria": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609-core:medium",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"role/architect"
|
||||
],
|
||||
"persona-inka": [
|
||||
"42i/marvin-2609-core:none",
|
||||
"42i/marvin-2609-core:medium",
|
||||
"42i/marvin-2609:low",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"42i/marvin-stt",
|
||||
"42i/marvin-stt-turbo",
|
||||
"42i/marvin-tts",
|
||||
"42i/marvin-tts-turbo",
|
||||
"openrouter/openai/gpt-5.6-luna",
|
||||
"role/inka"
|
||||
],
|
||||
"persona-andreas": [],
|
||||
"lab-xo": [
|
||||
"42i/marvin-2609:low",
|
||||
"42i/marvin-2609:high",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts",
|
||||
"role/xo",
|
||||
"role/*",
|
||||
"auto/*"
|
||||
],
|
||||
"team-copilot": [
|
||||
"42i/marvin-2609:low",
|
||||
"42i/marvin-2609:medium",
|
||||
"deizo/kira-reasoning",
|
||||
"deizo/kira-stt",
|
||||
"deizo/kira-tts"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user