Safe re-enable plan for Copilot-powered AI summaries
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- typescript, vscode
- Domínio
- ai, devtools, testing-qa
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- TypeScript
- Estrelas
- 3
- Forks
- 2
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Nimblesite/CommandTree
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 38/100
Nimblesite/CommandTree#18 ·
Todas as issues de Nimblesite/CommandTree
Issues semelhantes
-
[bug] diagnostics.dumpBody:Buffer 形态请求(透传 lane)跳过 dumps/ 落盘,仅留 raw/-unknown-Talvez já em andamento @ranxianglei assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
ranxianglei/billion-context#2421 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
platformatic/mcp#216 ·
Mantenedores costumam responder em até 1 dia
-
pending triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
nuxt/test-utils#1842 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
MoonshotAI/kimi-code#4146 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
farbenmeer/tapi#531 ·