Skip to content

Semantic search, AI summaries & security warnings#4

Merged
MelbourneDeveloper merged 25 commits intomainfrom
semantics
Feb 8, 2026
Merged

Semantic search, AI summaries & security warnings#4
MelbourneDeveloper merged 25 commits intomainfrom
semantics

Conversation

@MelbourneDeveloper
Copy link
Copy Markdown
Collaborator

TLDR;

Adds AI-powered semantic search and summaries to CommandTree using VS Code's Language Model API, with structured security warning detection via the Tool API.

Details

  • Semantic search: Embeds commands using all-MiniLM-L6-v2, stores in SQLite (.commandtree/), ranks by cosine similarity with percentage scores
  • AI summaries: Copilot generates human-readable summaries for discovered commands, displayed in tree tooltips
  • Security warnings: Uses VS Code Language Model Tool API (toolMode: Required) for structured output — dedicated security_warning column in DB, ⚠️ icon on risky commands, warning text in tooltip
  • Tagging rewrite: Tags now stored in SQLite junction table with exact command ID matching (no pattern matching). Managed through UI commands, not JSON config
  • New discoverers: .NET projects (.csproj) and Markdown files (.md)
  • Model selection: Automatic Copilot model selection with preference ordering
  • Test improvements: Split semantic tests into summaries + semantic search files, removed fake tests (assert.ok(true)), added unit tests for similarity, embeddings, model selection
  • Removed legacy: Deleted deprecated editTags command, pattern-matching tag config, tagconfig.provider.test.ts

How do the tests prove the change works

  • E2E tests verify semantic search rankings, summary display in tooltips, security warning ⚠️ icons, tag filtering through the VS Code UI (black-box only)
  • Unit tests isolate cosine similarity math, embedding serialization/deserialization, model selection logic, and DB operations
  • All tests run in actual VS Code window via @vscode/test-electron against a temp fixture workspace

@MelbourneDeveloper MelbourneDeveloper merged commit a2596a6 into main Feb 8, 2026
2 checks passed
@MelbourneDeveloper MelbourneDeveloper deleted the semantics branch February 8, 2026 10:51
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.

1 participant