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 14, 2026, 10:30 AM ET / 14:30 UTC. Summary Reproducibility: not applicable. This PR proposes new endpoint-selection capability rather than fixing a defined current-main bug. Review metrics: 1 noteworthy metric.
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: Ship an embedding-specific endpoint override with nonzero live routing proof, and add summary-specific endpoint configuration only when a summary command consumes it or maintainers explicitly sponsor the future contract. Do we have a high-confidence way to reproduce the issue? Not applicable: this PR proposes new endpoint-selection capability rather than fixing a defined current-main bug. Is this the best way to solve the issue? Unclear: separate endpoint resolution is a maintainable embedding solution, but adding an unused summary endpoint contract before its consumer exists is not clearly the narrowest product path. AGENTS.md: unclear because the file could not be read completely. Codex review notes: model internal, reasoning high; reviewed against 51f279896340. Label changesLabel 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
|
|
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>
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: feat(config): add separate base URLs for summary and embedding models This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
|
Thanks @larroy for the original implementation and configuration work. Peter asked us to narrow the permanent surface to the embedding-only endpoint and supply nonzero live routing proof. That repaired version landed in #117, with your contribution credited in the changelog and commit. Closing this pull request as superseded by the landed replacement. |
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.