markitect-main/markitect/prompts/execution
tegwick 36c20f37d0 feat(llm): extract adapter layer for standalone llm-connect package (S1+S2)
Stage 1 — Decouple:
- Move RunConfig + LLMResponse to markitect/llm/models.py (canonical)
- Move LLMAdapter + Mock/ErrorLLMAdapter to markitect/llm/adapter.py
- markitect/prompts/execution/models.py and llm_adapter.py become re-export shims
- All 4 adapters + factory.py updated to import from markitect.llm.*
- Parameterize app_name in toml_config.py (resolve_llm, get_default_layers,
  get_preference_layers): paths and env var now derived from app_name arg
- Add tests/test_llm_isolation.py: 7 isolation + backward-compat tests

Stage 2 — Extract:
- Standalone llm-connect package created at ~/llm-connect/
- All 18 llm files copied; markitect.* imports replaced with llm_connect.*
- LLMError base inlined in llm_connect/exceptions.py (no markitect dep)
- llm-connect installed into markitect-venv; declared in pyproject.toml

Smoke test: markitect llm-check succeeds (live Gemini API call).
Backward compat: markitect.prompts.execution.{models,llm_adapter} still work.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 08:04:50 +01:00
..
__init__.py feat(prompts): implement Phase 4 - Execution Engine (FR-4, FR-5) 2026-02-08 23:15:33 +01:00
batch.py feat(example): add L2 classifications for 823/988 WoN entities (S3.4) 2026-02-23 12:49:11 +01:00
engine.py feat(prompts): implement Phase 4 - Execution Engine (FR-4, FR-5) 2026-02-08 23:15:33 +01:00
llm_adapter.py feat(llm): extract adapter layer for standalone llm-connect package (S1+S2) 2026-02-27 08:04:50 +01:00
manifest.py feat(prompts): implement Phase 4 - Execution Engine (FR-4, FR-5) 2026-02-08 23:15:33 +01:00
models.py feat(llm): extract adapter layer for standalone llm-connect package (S1+S2) 2026-02-27 08:04:50 +01:00