librechat.yaml: modelSpecs.enforce false — unblock pre-spec conversations
With enforce: true (in place since at least Oct 23), every send whose body carries no `spec` is rejected by api/server/middleware/buildEndpointOption.js with "No model spec selected", surfaced to members as "Inference Co-op could not complete this request." 400 of 547 conversations across 37 users had no `spec` — all created before the spec system (newest Oct 20). They fail on the members' first send; new chats were fine because the softDefault spec pre-selects. enforce: false lets those conversations send with their own stored model exactly as before Oct 20. prioritize stays true, so the spec picker is still the primary chooser — it is just no longer mandatory. Verified: the change is read at boot (no watcher in the image), so the app was restarted; the served stylesheet md5 is unchanged by the restart; the mirror is byte-identical to the deployed file (sha256 219dbdf2ca0b64f8…). Backup of the previous config stays on the volume as /app/data/librechat.yaml.bak-20261027T221149Z. If enforcement is ever restored, backfill `spec` on those conversations first, mapping by each conversation's own `model` (only exact matches — a mismatch triggers "Model spec mismatch" instead).
This commit is contained in:
1 parent
1b9b971c6e
commit
ac8c10c1f0
1 file changed
+1
-1
+1
-1
@@ -28,7 +28,7 @@ endpoints:
|
|||||||
# Emoji-ified model picker (same convention as models.md / OWUI):
|
# Emoji-ified model picker (same convention as models.md / OWUI):
|
||||||
# 🌱 = renewable (GreenPT + Regolo), 🔒 = TEE-private (Tinfoil).
|
# 🌱 = renewable (GreenPT + Regolo), 🔒 = TEE-private (Tinfoil).
|
||||||
modelSpecs:
|
modelSpecs:
|
||||||
enforce: true
|
enforce: false
|
||||||
prioritize: true
|
prioritize: true
|
||||||
list:
|
list:
|
||||||
- name: tinfoil-deepseek-v4-1-flash
|
- name: tinfoil-deepseek-v4-1-flash
|
||||||
|
|||||||
Reference in new issue
Block a user