feat(config): add separate base URLs for summary and embedding models#99
feat(config): add separate base URLs for summary and embedding models#99larroy wants to merge 1 commit into
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 10, 2026, 3:09 AM ET / 07:09 UTC. Summary Reproducibility: not applicable. This PR adds a new configuration mode rather than fixing an established current-main failure. Review metrics: 3 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review detailsBest possible solution: Keep the shared endpoint as the compatibility fallback, accept the split endpoint contract only with owner approval, and require a redacted nonzero embedding request trace that visibly reaches embed_base_url before merge. Do we have a high-confidence way to reproduce the issue? Not applicable; this PR adds a new configuration mode rather than fixing an established current-main failure. Is this the best way to solve the issue? Unclear overall: the additive shared-endpoint fallback is the safest implementation for embeddings, but exposing summary_base_url before a summary client exists requires maintainer intent. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 808b4dabeaa4. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (1 earlier review cycle)
|
|
Real behavior proof: |
Introduce per-purpose OpenAI endpoint overrides so summaries and embeddings can target different endpoints instead of sharing one: - summary_base_url (--summary-base-url, GITCRAWL_SUMMARY_BASE_URL) - embed_base_url (--embed-base-url, GITCRAWL_EMBED_BASE_URL) Each resolves to its per-purpose value first, then falls back to the shared GITCRAWL_OPENAI_BASE_URL / OPENAI_BASE_URL, so existing single-endpoint setups are unaffected. The embedding client now uses the resolved embed endpoint at both call sites, and configure/doctor output surfaces both fields. Document the fallback chain and resolution order in docs/configuration.md and docs/reference.md, and add config/CLI tests covering the config value, env override, and shared fallback. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Introduce per-purpose OpenAI endpoint overrides so summaries and embeddings can target different endpoints instead of sharing one:
Each resolves to its per-purpose value first, then falls back to the shared GITCRAWL_OPENAI_BASE_URL / OPENAI_BASE_URL, so existing single-endpoint setups are unaffected. The embedding client now uses the resolved embed endpoint at both call sites, and configure/doctor output surfaces both fields.
Document the fallback chain and resolution order in docs/configuration.md and docs/reference.md, and add config/CLI tests covering the config value, env override, and shared fallback.