Skip to content

Temporarily remove AI summary feature (issue #20)#23

Merged
MelbourneDeveloper merged 3 commits intomainfrom
removesummaries
May 7, 2026
Merged

Temporarily remove AI summary feature (issue #20)#23
MelbourneDeveloper merged 3 commits intomainfrom
removesummaries

Conversation

@MelbourneDeveloper
Copy link
Copy Markdown
Collaborator

TLDR

Temporarily rips out the Copilot-powered AI summary feature so it cannot silently consume Copilot quota — closes the regression reported in #20. Discovery, registration, tagging, Quick Launch, and execution are unchanged.

Details

Removed entirely:

  • src/semantic/summariser.ts (Copilot model selection, request fan-out, tool-calling) — 297 lines deleted
  • src/semantic/modelSelection.ts (auto-pick logic that landed on the first available model, often Claude Opus) — 106 lines deleted
  • src/test/e2e/aisummaries.e2e.test.ts and src/test/unit/modelSelection.unit.test.ts — tests for the removed code

Trimmed:

  • src/semantic/summaryPipeline.ts — kept only registerAllCommands (DB registration + content hashing); removed summariseAllTasks, processPendingBatch, and all Copilot-touching helpers
  • src/summaryOrchestration.ts — kept only registerDiscoveredCommands and a no-Copilot syncAndSummarise; removed runSummarisation, initAiSummaries, aiSummariesEnabled, and the file-watcher Copilot trigger
  • src/extension.ts — removed the commandtree.generateSummaries and commandtree.selectModel command registrations and the activation-time AI startup
  • package.json — removed the commandtree.enableAiSummaries and commandtree.aiModel settings and the two AI commands; no setting remains for a user to flip back on by accident

Damage prevention (vs #20): grep confirms zero remaining references to vscode.lm, LanguageModelChat, selectChatModels, enableAiSummaries, aiModel, generateSummaries, selectModel, summariseAllTasks, or forceSelectModel anywhere in src/ or package.json. The bomb is fully disarmed: there is no command, no setting, and no code path that can reach Copilot.

Docs (VSIX-bundled only — website intentionally untouched):

Other:

  • coverage-thresholds.json — auto-bumped by tools/check-coverage.mjs to reflect the post-deletion measured coverage
  • summaryTooltip.e2e.test.ts — only a header comment edit; the test still proves the tooltip rendering path works against summaries seeded directly into the DB

Net diff: +36 / −1143 across 14 files.

How Do The Automated Tests Prove It Works?

make ci (fmt + lint + test + build + package) all pass locally:

  • Unit suite — 105 passing. Includes discovery.unit.test.ts, taskRunner.unit.test.ts, taskItem.unit.test.ts, treehierarchy.unit.test.ts, markdownDescription.unit.test.ts, dbLockRecovery.unit.test.ts. The previously-deleted modelSelection.unit.test.ts is gone because the code it tested is gone.
  • E2E suite — 356 passing in 3m. Covers activation (zzActivationNonBlocking.e2e.test.ts), command registration (commands.e2e.test.ts — asserts every contributed command exists and there are no orphans), discovery across all 22 task types (discovery.e2e.test.ts, coverage.e2e.test.ts), execution (execution.e2e.test.ts, runner.e2e.test.ts, dockerExecution.e2e.test.ts), tag/filter/quick-launch flows, and the rendering path that was previously fed by AI (summaryTooltip.e2e.test.ts — seeds a summary directly via upsertSummary and asserts the tooltip + warning glyph render correctly).
  • Configuration test (configuration.e2e.test.ts) reads the live package.json contributions and passes against the trimmed settings, proving the manifest is internally consistent.
  • Coverage gatetools/check-coverage.mjs accepts: lines 92.94%, functions 94.65%, branches 88.04%, statements 92.94%; thresholds in coverage-thresholds.json updated accordingly.
  • Buildtsc -p ./ produces no errors with the dead AI files removed (would fail loudly if any surviving file still imported ./semantic/summariser or ./semantic/modelSelection).
  • Packagemake package produces commandtree-0.11.0.vsix (1.36 MB, 65 files); semantic/ is now 3 files (down from 5), confirming the deleted modules don't ship.

Closes #20.

@MelbourneDeveloper MelbourneDeveloper merged commit 49d18cc into main May 7, 2026
2 checks passed
@MelbourneDeveloper MelbourneDeveloper deleted the removesummaries branch May 7, 2026 11:16
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.

Extension consumed hundreds of Copilot requests in minutes without clear warning or model selection

2 participants