Safe re-enable plan for Copilot-powered AI summaries
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- typescript, vscode
- Domaine
- ai, devtools, testing-qa
Piste de recherche
Start by reviewing PR #23 and the removed paths runBackgroundStartup, initAiSummaries, and runSummarisation, alongside incident #20. Map the explicit command, model picker, watcher, disable command, and consent flows before implementing the regression tests. Done means every listed close criterion passes and no implicit path contacts vscode.lm.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Tracking issue for re-enabling the Copilot-powered AI summary feature that was temporarily removed in 0.11.0 (PR #23, in response to #20). All mitigations below MUST be in place before any Copilot call is reintroduced.
Mitigation requirements (all must ship before re-enable)
- User MUST explicitly select a model. No auto-pick. No silent default. With no saved model, the extension does not contact
vscode.lmat all. The picker that selects the model is the only entry point for arming the feature. - Premium / metered models require a separate explicit confirmation step. The picker labels each model with its tier; selecting an Opus-class or other premium model requires confirming a second prompt that names the model and warns about per-request cost.
- Cheaper models recommended at the top of the picker. A
*-mini-class (or equivalent low-cost) model is presented as the recommended default. Premium models are visually flagged. - Up-front usage warning before any bulk run. Before processing more than a small threshold of commands, a modal names the chosen model and the exact request count and requires explicit confirmation. Cancellation closes the run with zero requests sent.
- Batched consent during the run. Process summaries in a small initial batch (~5–10), pause, and ask whether to continue. Each continuation prompt re-shows the running total of requests sent so far. Cancellation is one click and propagates to in-flight requests.
- No silent re-runs from file watchers. Watcher-triggered re-summarisation must respect the same consent gates as the initial run — never silently fan out a fresh batch on save.
- No activation-time Copilot call. Activation never contacts
vscode.lm, regardless of any setting. The user must invoke an explicit command (e.g. "Generate AI Summaries") to start a run. - One-click disable. A status-bar item or palette command disables AI summary behaviour immediately and persists across sessions.
Follow-up candidates (post-re-enable)
- Per-run and per-day request caps as user settings
- Estimated-cost line in the consent modal
- Local audit log of request counts visible to the user
- CHANGELOG / README disclosure of the previous default and the fix on the version that re-enables the feature
Investigation — what went wrong (from #20)
Activation issued a bulk Copilot run with no consent gate, and fell through to a premium model when none was configured.
Code paths that produced the regression (all removed in PR #23):
runBackgroundStartup→initAiSummaries→runSummarisationinautomaticmode.- One Copilot request per discovered command whose content hash was new or changed. Real repos easily hit hundreds.
resolveModelAutomaticallywith no saved model selected the first concrete model returned byvscode.lm.selectChatModels. Reported case landed on Claude Opus 4.7 (premium, metered).- File watchers re-triggered the same pipeline on edits. A single save fanned out another bulk run.
Compounding defaults:
commandtree.enableAiSummariesdefaulted totrue.commandtree.aiModeldefaulted to\"\", triggering the auto-pick above.- No per-run cap, no consent modal, no estimated-usage preview, no rate limit, no progress UI with cancel.
Net effect: a single "Allow Copilot access" click authorised hundreds of premium-model requests with no further confirmation.
Close criteria — regression tests required before this issue is closed
- With no saved model, the extension does not call
vscode.lmon activation, on file change, or on any other implicit trigger — only an explicit user command may initiate model selection. - A run above the small-batch threshold cannot proceed without an explicit user confirmation that names the chosen model and the exact request count.
- Selecting a premium / Opus-class model requires a second explicit confirmation distinct from the model picker itself.
- Watcher-triggered runs respect the same consent gates as the initial run — no silent re-summarisation.
- The disable command takes effect immediately and is honoured by every code path that could otherwise call
vscode.lm.
References
- Original incident report: #20
- Removal PR: #23
- Langage dominant
- TypeScript
- Étoiles
- 3
- Forks
- 2
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Nimblesite/CommandTree
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 38/100
Nimblesite/CommandTree#18 ·
Toutes les issues de Nimblesite/CommandTree
Issues similaires
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
lingdojo/kana-dojo#32663 · 1 commentaire · 5 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
Admin: Title Separator field can't be cleared (input falls back to "|")Peut-être pris @emdashbot l’a pris aujourd’hui. Ouvertebot:bug bot:in-review
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
emdash-cms/emdash#4236 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
PHP workflow streaming requests buffer the full SSE responsePeut-être pris @Winoren l’a pris aujourd’hui. Ouvertereview: medium
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
langgenius/dify#44270 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
area:holodeck review-finding
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
hyperdrive-technology/holodeck#142 ·
Les mainteneurs répondent en général sous 1 jour
-
session-worker-compile.yml uses a floating oven-sh/setup-bun@v2 tag instead of the pinned SHAOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
code-yeongyu/senpi#3573 ·
Les mainteneurs répondent en général sous 1 jour