Skip to content

feat: remove semantic indexing experimental gate#10668

Merged
marius-kilocode merged 2 commits into
mainfrom
melodious-forest
May 29, 2026
Merged

feat: remove semantic indexing experimental gate#10668
marius-kilocode merged 2 commits into
mainfrom
melodious-forest

Conversation

@marius-kilocode

Copy link
Copy Markdown
Collaborator

Semantic indexing is hidden behind experimental.semantic_indexing even though indexing already has explicit global and project opt-in controls. This adds a redundant configuration step and prevents users from accessing indexing settings until a separate flag is enabled.

Expose semantic indexing settings and CLI controls whenever the indexing plugin is available, and retire the experimental configuration key. Indexing still remains disabled until it is explicitly enabled globally or for a project, and existing configurations containing the retired flag continue to load without changing indexing enablement. semantic_search remains gated by an enabled and initialized index.

@marius-kilocode marius-kilocode enabled auto-merge May 28, 2026 14:00
@kilo-code-bot

kilo-code-bot Bot commented May 28, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

The change is coherent and correctly implemented end-to-end. Key observations:

  • Backward compatibility is properly handled: KilocodeConfig.retireIndexingFlag() strips the retired experimental.semantic_indexing key at config-load time and emits a warning, so existing configs continue to load without error or changed behaviour.
  • Gate removal in indexing.ts boot() and indexing-feature.ts indexingEnabled() is correct — the plugin-presence check is the right remaining gate, and the actual enablement is still governed by indexing.enabled further down the boot path.
  • configFeatures() in both packages/kilo-vscode/src/features.ts and webview-ui/src/stories/StoryProviders.tsx are kept in sync.
  • Tests cover the retirement path (config.test.ts), the new enabled/disabled scenarios (indexing-startup.test.ts, indexing-feature.test.ts), and the VSCode feature-detection helper (indexing-utils.test.ts).
  • Changeset is present and user-facing.
  • i18n keys for the removed toggle are cleaned up across all 17 locale files.

New commit (9653833697): Fixed a race condition in indexing-startup.test.ts — the "stays disabled" test now correctly uses the wait() polling helper to await the Disabled state instead of reading it immediately, matching the pattern used throughout the rest of the test file.

Files Reviewed (31 files)
  • .changeset/visible-semantic-indexing.md
  • packages/kilo-docs/pages/customize/context/codebase-indexing.md
  • packages/kilo-vscode/src/features.ts
  • packages/kilo-vscode/tests/unit/indexing-utils.test.ts
  • packages/kilo-vscode/webview-ui/src/components/settings/ExperimentalTab.tsx
  • packages/kilo-vscode/webview-ui/src/i18n/ar.ts (and 15 other locale files)
  • packages/kilo-vscode/webview-ui/src/stories/StoryProviders.tsx
  • packages/kilo-vscode/webview-ui/src/stories/settings.stories.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/config.ts
  • packages/opencode/src/config/config.ts
  • packages/opencode/src/kilocode/config/config.ts
  • packages/opencode/src/kilocode/indexing-feature.ts
  • packages/opencode/src/kilocode/indexing.ts
  • packages/opencode/test/kilocode/config/config.test.ts
  • packages/opencode/test/kilocode/indexing-feature.test.ts
  • packages/opencode/test/kilocode/indexing-startup.test.ts (updated: race condition fix)
  • packages/opencode/test/kilocode/indexing-worktree.test.ts
  • packages/sdk/js/src/v2/gen/types.gen.ts
  • packages/sdk/openapi.json

Reviewed by claude-4.6-sonnet-20260217 · 226,580 tokens

Review guidance: REVIEW.md from base branch main

@marius-kilocode marius-kilocode merged commit c18cd6f into main May 29, 2026
21 checks passed
@marius-kilocode marius-kilocode deleted the melodious-forest branch May 29, 2026 09:58
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