Skip to content

ADFA-6303 | Add Semantic Search settings screen to Vector Search - #120

Open
jatezzz wants to merge 2 commits into
mainfrom
feat/ADFA-6303-vector-search-settings-screen
Open

jatezzz wants to merge 2 commits into
mainfrom
feat/ADFA-6303-vector-search-settings-screen

Conversation

@jatezzz

@jatezzz jatezzz commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Description

Until now the embedding model could only be set in each AI provider's own settings, and when a provider couldn't do search, Vector Search showed an error with no fix. Users also couldn't see which provider and model search used, what had been indexed, or that indexing sends their code to the provider. This adds a Vector Search settings screen that shows all of that, lets users pick the embedding model, and lets them clear the index.

Technical implementation:

  • New SemanticSearchSettingsFragment/ViewModel shows whether the selected backend works with search, the embedding-model picker, a privacy line, index status, build history, and Clear index with a confirmation dialog. BackendWatch refreshes the screen whenever the backend or model changes.
  • Gemini and OpenAI now implement EmbeddingModelSelectable (listEmbeddingModels/setEmbeddingModelId), and their settings panes no longer show the embedding model. A value saved there before the upgrade is the one the new screen preselects.
  • IndexCoordinator runs index builds and clears one at a time, so a clear during a build can't leave a partial or mixed-model index. The SQL was split out into EmbeddingsSql.
  • Tooltips and the Tier 3 docs cover the new screen. min_ide_version is 26.41 for Vector-Search, AI-Agent-Gemini and AI-Agent-OpenAI.

Details

Demo:

https://drive.google.com/file/d/1At3aZZe65Xrfg8Pz3e1AZjp_mCbx89By/view?usp=sharing

Ticket

ADFA-6303
Relates to: ADFA-6277

Observation

Dependency: Stacked on feat/ADFA-6279-agent-capability-tags (ADFA-6279); needs CoGo 26.41's plugin-api (EmbeddingModelSelectable).

@jatezzz
jatezzz requested review from a team, Daniel-ADFA and itsaky-adfa October 5, 2026 21:24

@Daniel-ADFA Daniel-ADFA left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review of ADFA-6303 at 8ef6f88 (top of its stack; base is feat/ADFA-6279-agent-capability-tags, no PR stacked above).

IMPORTANT

  • IndexCoordinator.kt:133 - a superseding build can run concurrently with a pending clear and end up with a partial index
  • SemanticSearchSettingsViewModel.kt:209 - Clear index is disabled in the Build failed state, the one state whose message tells the user to clear
  • SemanticSearchSettingsFragment.kt:187 - a pick-only picker removes the free-text escape hatch the OpenAI embedding filter depends on

MINOR

  • GeminiSettingsFragment.kt:764 (removed) - retired saved Gemini embedding models are no longer migrated

This repo has no written approve/request-changes rule, so the default severity table applied.

Base automatically changed from feat/ADFA-6279-agent-capability-tags to main October 6, 2026 13:13
Shows backend support, picks the embedding model and reports index state, progress and build history. SemanticSearchSourceImpl is rebuilt with the IndexCoordinator on each activate.

Refs: ADFA-6303
@jatezzz
jatezzz force-pushed the feat/ADFA-6303-vector-search-settings-screen branch from 8ef6f88 to dd6596a Compare October 6, 2026 13:21
Builds wait for a pending clear, Clear index works after a failed build, the embedding model can be typed, and Gemini moves off a retired saved embedding model.

Refs: ADFA-6303
@jatezzz
jatezzz requested a review from Daniel-ADFA October 6, 2026 13:31

@Daniel-ADFA Daniel-ADFA left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed at f915fd9; no correctness issues found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants