Warm-Set haerten: brains-Mitglieder bekommen automatisch ttl:0
set_group() setzte persistent:true (Verdraengungsschutz), aber NICHT ttl:0. persistent schuetzt nur gegen Verdraengung durch andere Modelle, nicht gegen ttl-Selbstentladen → ein Mitglied mit ttl>0 faellt trotz brains-Mitgliedschaft nach Leerlauf aus dem Warm-Set (live: VL-30B mit ttl 300 entlud sich alle 5 Min). Jetzt erzwingt set_group bei persist=True ttl:0 fuer jedes Mitglied → der Fehler kann beim Warm-Set-Umbau nie wieder passieren. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -409,6 +409,17 @@ def set_group(group: str, members: list[str], swap: bool = False, persist: bool
|
|||||||
groups = cfg.setdefault("groups", {})
|
groups = cfg.setdefault("groups", {})
|
||||||
groups[group] = {"swap": swap, "persist": persist, "persistent": persist,
|
groups[group] = {"swap": swap, "persist": persist, "persistent": persist,
|
||||||
"members": list(members)}
|
"members": list(members)}
|
||||||
|
# Härtung: eine persistente (immer-warme) Gruppe verlangt ttl:0 je Mitglied.
|
||||||
|
# `persistent` schützt NUR gegen Verdrängung durch andere Modelle, NICHT gegen
|
||||||
|
# ttl-Selbstentladen — ein Mitglied mit ttl>0 fällt trotz Gruppen-Mitgliedschaft
|
||||||
|
# nach Leerlauf aus dem Warm-Set (live gefunden 03.07.2026: VL-30B mit ttl 300
|
||||||
|
# entlud sich alle 5 Min). So kann dieser Fehler beim Warm-Set-Umbau nie wieder passieren.
|
||||||
|
if persist:
|
||||||
|
models = cfg.get("models") or {}
|
||||||
|
for mid in members:
|
||||||
|
spec = models.get(mid)
|
||||||
|
if isinstance(spec, dict):
|
||||||
|
spec["ttl"] = 0
|
||||||
write_config(cfg)
|
write_config(cfg)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user