mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-07-15 12:58:04 +00:00
Stabilize local dev merge
Align regression tests with the current Odysseus behavior after merging origin/dev into local main. - keep phone/name-only contacts valid and cover null email without crashes - pin explicit web-search false form submission in chat.js - update Cookbook dependency/download completion tests for combined live + persisted output - expose SGLang OS package repair hints from backend diagnosis - treat MLX and MLX-community repos as servable on Apple Metal while keeping CUDA behavior unchanged - keep desktop new-chat coverage on the shared preferred-model helper - remove a hardcoded crop overlay portal z-index literal - include the local agent-loop cleanup that removes the old manage_notes reminder repair shim Verified with: docker run --rm -v /home/pewds/odysseus-cookbook-fresh:/app -w /app odysseus-cookbook-fresh-odysseus python3 -m pytest -q (4515 passed, 4 skipped).
This commit is contained in:
@@ -67,11 +67,9 @@ def test_manual_ram_mode_wipes_gpu_and_unified_flag():
|
||||
assert "unified_memory" not in s
|
||||
|
||||
|
||||
def test_simulated_metal_box_only_recommends_gguf():
|
||||
def test_simulated_metal_box_only_recommends_gguf_or_mlx():
|
||||
"""End-to-end: a simulated Metal box must rank exactly like a real Mac —
|
||||
only models shipping a servable GGUF (llama.cpp/Ollama) survive. Before
|
||||
'metal' was accepted, this box ranked as CUDA and surfaced safetensors-only
|
||||
repos the Mac can't serve."""
|
||||
only locally servable GGUF or MLX models survive."""
|
||||
system = _apply_manual_hardware(
|
||||
{"backend": "cuda", "available_ram_gb": 32.0, "total_ram_gb": 64.0},
|
||||
manual_mode="gpu", manual_vram_gb="48", manual_backend="metal",
|
||||
@@ -79,7 +77,9 @@ def test_simulated_metal_box_only_recommends_gguf():
|
||||
catalog = {m["name"]: m for m in get_models()}
|
||||
unservable = [
|
||||
r["name"] for r in rank_models(system, limit=900)
|
||||
if not (catalog.get(r["name"], {}).get("is_gguf")
|
||||
if not (str(r.get("quant", "")).startswith("mlx-")
|
||||
or str(r.get("name", "")).startswith(("mlx-community/", "lmstudio-community/"))
|
||||
or catalog.get(r["name"], {}).get("is_gguf")
|
||||
or catalog.get(r["name"], {}).get("gguf_sources"))
|
||||
]
|
||||
assert unservable == [], f"{len(unservable)} non-GGUF models on simulated Metal, e.g. {unservable[:3]}"
|
||||
assert unservable == [], f"{len(unservable)} non-servable models on simulated Metal, e.g. {unservable[:3]}"
|
||||
|
||||
Reference in New Issue
Block a user