You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
LLM provider seam + claude-cli subscription backend (#330). A new athenaeum.provider module centralizes LLM client construction behind build_llm_client(config) and resolve_provider(config) (env ATHENAEUM_LLM_PROVIDER > yaml llm.provider > api). Two first-party
backends:
api (default): wraps anthropic.Anthropic(...) verbatim — params pass
through unchanged, so prompt caching (#230), the Messages Batch API
(#236), retries, and cost accounting are byte-for-byte identical to before.
claude-cli: drives the operator's ambient Claude Code subscription
login via claude -p --system-prompt <sys> --model <id> --output-format json. No credential handling (same ambient-auth stance as the git-push
path, #284). The adapter mirrors client.messages.create(**params) so the
compile-path call sites (tiers, contradictions, resolutions) are
unchanged; the recall-time query_topics preprocessor stays on the api
path by design (a per-recall subprocess would add seconds to every query).
Constraints: cache_control is stripped on the CLI path (preserved on api); CLI rate-limit / timeout / transient exits map to _retry.TransientAPIError — caught downstream as a give-up so the affected
file is deferred to the next run (not retried in-run); a missing claude
binary fails loudly at startup; batch mode is API-only and claude-cli + ATHENAEUM_BATCH_MODE is a loud startup error (no silent fallback); and claude-cli token COUNTS are still recorded in TokenUsage while estimated_cost_usd reports $0 (subscription-covered). See docs/configuration.md → "LLM provider selection (#330)".