Rewrite Settings as native Periscope config.
DeepSeek remains the only live provider; leftover Anthropic env names are coerced or ignored. Skills manifest is resolved across the split tree.
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
"""Native Settings lives under periscope/src and keeps DeepSeek routing."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import backend.config as config
|
||||
from backend.config import Settings, settings
|
||||
|
||||
|
||||
def test_config_module_is_src():
|
||||
path = Path(config.__file__).resolve()
|
||||
assert path.name == "config.py"
|
||||
assert "src" in path.parts
|
||||
assert "Native Periscope overlay" not in path.read_text(encoding="utf-8")[:400]
|
||||
|
||||
|
||||
def test_deepseek_defaults_and_anthropic_coercion():
|
||||
assert Settings.model_fields["provider_default"].default == "deepseek"
|
||||
assert Settings.model_fields["deepseek_model"].default == "deepseek-flash"
|
||||
assert Settings.model_fields["model_pintable_deepseek"].default == "deepseek-flash"
|
||||
assert settings.provider_for_stage("pintable") == "deepseek"
|
||||
|
||||
snap = settings.provider_validation
|
||||
try:
|
||||
settings.provider_validation = "anthropic"
|
||||
assert settings.provider_for_stage("validation") == "deepseek"
|
||||
assert "deepseek" in settings.model_for_stage("validation")
|
||||
finally:
|
||||
settings.provider_validation = snap
|
||||
|
||||
|
||||
def test_anthropic_fallback_is_none():
|
||||
snap_p = settings.fallback_provider_validation
|
||||
snap_m = settings.fallback_model_validation
|
||||
try:
|
||||
settings.fallback_provider_validation = "anthropic"
|
||||
settings.fallback_model_validation = "claude-sonnet-4-6"
|
||||
assert settings.fallback_for_stage("validation") is None
|
||||
finally:
|
||||
settings.fallback_provider_validation = snap_p
|
||||
settings.fallback_model_validation = snap_m
|
||||
|
||||
|
||||
def test_skills_manifest_is_readable():
|
||||
version = settings.get_default_model_version()
|
||||
assert version
|
||||
skill_id, latest = settings.get_skill("extract-pintable")
|
||||
assert skill_id.startswith("skill_")
|
||||
assert latest
|
||||
Reference in New Issue
Block a user