purge: remove ALL hardcoded model/URL defaults across 11 modules
TDD cycle (RED → GREEN):
2 new codebase-wide enforcement tests:
- test_no_getattr_with_hardcoded_model_defaults_outside_config
Catches getattr(args, 'ai_xxx', 'HARDCODED_DEFAULT') anti-pattern
- test_no_bare_localhost_url_string_literals_outside_config
Catches bare 'localhost:11434' string literals in non-SSOT files
Purged 24 getattr-default violations and 14 bare-URL violations across:
- compiler_engine.py: ai_telepathic_model/url defaults
- screen_identity.py: ai_telepathic_model/url defaults
- intent_resolver.py: ai_telepathic_model/url defaults (2 spots)
- semantic_evaluator.py: ai_telepathic_model/url defaults
- brain.py: ai_model/url defaults
- dm_engine.py: ai_condenser_model/url defaults
- resonance_engine.py: ai_condenser_model/url defaults
- qdrant_memory.py: ai_embedding_model/url defaults
- bot_flow.py: ai_condenser_model/url defaults
- interaction.py: ai_writer_model/url defaults
- llm_provider.py: fallback model/url 'last resort' defaults
Architecture: Config() (config.py) is the SSOT for ALL AI model config.
Every other module reads from Config().args WITHOUT default values.
If Config() is uninitialized, the system crashes (Fail Fast).
Tests: 11 new, 121 passing, 0 regressions