Commit graph

2 commits

Author SHA1 Message Date
jlightner
4aa4b08a7f feat: Per-stage LLM model routing with thinking modality and think-tag stripping
- Added 8 per-stage config fields: llm_stage{2-5}_model and llm_stage{2-5}_modality
- LLMClient.complete() accepts modality ('chat'/'thinking') and model_override
- Thinking modality: appends JSON instructions to system prompt, strips <think> tags
- strip_think_tags() handles multiline, multiple blocks, and edge cases
- Pipeline stages 2-5 read per-stage config and pass to LLM client
- Updated .env.example with per-stage model/modality documentation
- All 59 tests pass including new think-tag stripping test
2026-03-30 02:12:14 +00:00
jlightner
2cb10b5db8 test: Added 10 integration tests covering pipeline stages 2-6, trigger…
- "backend/tests/test_pipeline.py"
- "backend/tests/fixtures/mock_llm_responses.py"
- "backend/tests/conftest.py"

GSD-Task: S03/T05
2026-03-29 22:51:26 +00:00