tegwick
fecc2fd4fa
feat(llm): add LLM integration module with OpenRouter and Claude Code adapters
...
Implements markitect/llm/ package with concrete LLMAdapter implementations:
- OpenRouterAdapter: HTTP via urllib with retry/backoff on 429/5xx
- ClaudeCodeAdapter: subprocess-based Claude CLI with stdin piping
- Factory pattern: create_adapter("openrouter") or create_adapter("claude-code")
- API key resolution chain: constructor > env var > project-root key file
- 42 unit tests, 2 integration tests (gated on API key / CLI availability)
Also adds the infospace-with-history example with Wealth of Nations VSM
analysis pipeline, templates, schemas, source chapters, and processed
output for chapters 1-2. process_chapters.py now supports --provider
and --model flags for automatic LLM-driven processing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 01:17:58 +01:00
..
2025-10-02 00:45:06 +02:00
2025-09-29 12:18:25 +02:00
2025-10-02 09:32:16 +02:00
2026-02-11 01:17:58 +01:00
2026-02-11 01:17:58 +01:00
2025-10-06 02:11:28 +02:00
2025-11-09 09:22:26 +01:00
2025-09-26 22:36:35 +02:00
2025-10-02 15:33:32 +02:00
2025-10-02 09:14:24 +02:00
2025-11-09 09:22:26 +01:00
2025-10-01 21:05:36 +02:00
2025-09-22 02:04:19 +02:00
2025-10-02 09:14:24 +02:00
2025-10-01 21:05:36 +02:00
2025-09-30 03:31:48 +02:00
2025-09-30 03:31:48 +02:00
2025-10-01 21:05:36 +02:00
2025-10-01 21:05:36 +02:00
2025-09-22 02:04:19 +02:00
2025-10-03 10:45:43 +02:00
2025-10-03 10:53:44 +02:00
2025-10-06 18:04:05 +02:00
2025-10-06 17:46:54 +02:00
2025-10-06 17:46:54 +02:00
2025-10-01 21:05:36 +02:00
2025-09-30 23:33:43 +02:00
2025-09-30 13:09:37 +02:00
2025-10-01 12:48:48 +02:00
2025-10-01 02:59:40 +02:00
2025-10-01 08:03:11 +02:00
2025-10-02 15:33:32 +02:00
2025-10-02 15:33:32 +02:00
2025-10-02 15:33:32 +02:00
2025-10-27 21:31:08 +01:00
2025-10-07 01:22:09 +02:00
2025-10-07 01:32:47 +02:00
2025-10-07 12:47:59 +02:00
2025-10-28 03:50:21 +01:00
2025-10-07 15:44:30 +02:00
2025-10-07 15:44:30 +02:00
2025-10-07 15:44:30 +02:00
2025-10-12 19:57:31 +02:00
2025-10-07 22:47:05 +02:00
2025-10-12 19:57:31 +02:00
2025-10-07 22:47:05 +02:00
2025-10-12 19:57:31 +02:00
2025-10-07 22:47:05 +02:00
2025-10-07 23:11:33 +02:00
2025-10-12 19:57:31 +02:00
2025-11-09 09:22:26 +01:00
2025-10-12 19:57:31 +02:00
2025-10-12 19:57:31 +02:00
2025-10-14 19:29:08 +02:00
2025-11-09 09:22:26 +01:00
2025-11-09 10:41:28 +01:00
2025-11-09 10:41:28 +01:00
2025-10-14 23:42:42 +02:00
2025-10-15 00:19:52 +02:00
2025-10-15 20:00:25 +02:00
2025-10-15 20:00:25 +02:00
2025-10-15 20:00:25 +02:00
2025-10-15 20:00:25 +02:00
2025-12-17 12:10:25 +01:00
2025-11-04 21:59:22 +01:00
2025-10-12 20:17:41 +02:00
2025-10-12 22:30:06 +02:00
2025-10-13 20:26:08 +02:00
2025-10-13 23:09:18 +02:00
2025-10-13 23:09:18 +02:00
2025-10-13 23:09:18 +02:00
2025-10-14 07:53:38 +02:00
2025-11-10 11:04:51 +01:00
2025-11-10 10:53:37 +01:00
2025-09-29 12:18:25 +02:00
2025-11-09 10:41:28 +01:00
2025-09-29 12:18:25 +02:00
2025-09-30 23:33:43 +02:00
2025-10-06 16:46:26 +02:00
2025-10-13 20:26:08 +02:00
2025-09-30 23:33:43 +02:00
2025-10-01 21:05:36 +02:00
2025-09-29 12:18:25 +02:00
2025-10-03 05:37:17 +02:00
2025-09-30 22:13:07 +02:00
2025-09-30 23:33:43 +02:00
2025-11-09 10:41:28 +01:00
2025-09-29 12:18:25 +02:00
2025-09-29 12:18:25 +02:00
2025-10-29 23:12:44 +01:00
2025-11-10 11:43:25 +01:00
2025-10-04 01:53:31 +02:00
2025-10-04 01:53:31 +02:00
2025-10-13 20:26:08 +02:00
2026-01-04 21:33:37 +01:00
2026-01-05 00:02:15 +01:00
2026-01-05 03:10:49 +01:00
2026-01-04 23:51:29 +01:00
2026-01-04 21:33:37 +01:00
2025-10-03 05:37:17 +02:00
2026-01-06 03:41:03 +01:00
2025-12-17 12:10:25 +01:00