🐙 Copilot Delegate

🐙 Delegação inteligente de tarefas para sessões CLI isoladas — com worktree isolation, pipelines, auto-merge, discovery autônomo e octopus branding temático.
📖 Documentação completa com exemplos visuais: allansantos-dv.github.io/copilot-delegate
📋 Índice
🚀 Features
| Feature |
Descrição |
| 🧠 Brain |
Brain Cascade (E1+E2): gate semântico determinístico em sub-segundo. E1 = rule (regex match em lessons forçadas). E2 = KB retrieval (FTS4 + embedding 384-dim MiniLM, top-K com MMR). Acima de injectThreshold → kb-inject. Abaixo → kb-hint:no-chunks que emite hint discreto [BRAIN] para o LLM chamar brain_research. brain_research LM tool: vscode.lm.registerTool com {query, depth: 'quick' / 'thorough' / 'auto'}. UI nativa do chat mostra "🧠 Pesquisando…". Cache TTL 1h, dedup coalescing, SSRF deny-list, friendly errors PT-BR, fetchedAt ISO timestamp. KB feedback loop: findings debrain_research são indexadas (FTS + embedding) → próxima query semelhante reusa local sem nova pesquisa. Heurística freshness volatile/stable — voláteis >7d sugerem re-pesquisa. Failure log com decay 30d aprende correções do user (boost ×1.5 cap 10). Brain Panel: aba dedicada do editor via Brain: Open Panel. Tabs: Status, Embeddings, Modelo do Juiz, Gate Config, Failure Log, Atividade do Gate (telemetria cascade + brain_research tool com P50/P95), Sobre. Settings:copilot-delegate.brain.gate.* (cascade), copilot-delegate.brain.research.* (tool: cacheTtlMs, domainDenyList). |
| 68 Tools |
LanguageModelTools registradas — incluindo acknowledge_lesson para scoring explícito de lições |
| Multi-Dev Orchestration |
Time hierárquico de 3 camadas (boss → leads → devs CLI) com batch spawn, register polling, model pin, sender refocus e lifecycle management (retire/revive) |
| Agent Octopus |
Agente orchestrator bundled que delega tarefas, nunca implementa diretamente |
| Skill Octopus |
Skill bundled que ensina 9 patterns de delegação e anti-patterns |
| Discovery Pipeline |
6 steps paralelos para onboarding em projetos — gera docs/discovery/project-context.md |
| Pipeline Management |
Encadeie 2–10 sessões sequenciais com output propagado entre steps |
| Worktree Isolation |
Cada sessão roda em git worktree isolado — execução paralela sem conflitos |
| Auto-Merge |
Merge automático em modo autônomo com validação de testes obrigatória. Callbacks expõem status de merge explicitamente |
| Auto-Cleanup |
Sessões auto-limpas após merge — verifica pendências, commit, remove worktree/branch (configurável) |
| Advisory File Lock |
Locks por arquivo impedem que sessões concorrentes editem os mesmos arquivos |
| Session Control |
Pause, resume, stop (graceful/force), switch model, set mode — tudo mid-flight |
| Chat WebviewPanel |
Painel interativo por sessão com histórico e envio de follow-ups em tempo real |
| Octopus Branding |
Sidebar com nomes 🐙 (Tentacles, Nerve Center, Ink Jets, Camouflage, Sonar), notificações temáticas e fun facts |
| Status Bar |
🐙 N tentacle(s) quando ativo, 🐙 Resting quando idle, tooltip com fun fact aleatório |
| Session History |
Persistência das últimas 50 sessões concluídas via globalState — sobrevive a restarts do VS Code |
| Session Duration |
completedAt + elapsed time tracking — sidebar mostra duração real (running • 2m30s) |
| totalEvents |
Contador preciso de eventos por sessão — incrementa além do buffer circular |
| Quick Actions em massa |
🛑 Stop All, 🧹 Cleanup All, 📋 List Summary — operações em lote na sidebar |
| Export Session Log |
Exporta log completo da sessão como timeline em nova aba do editor |
| Copy Result |
Copia lastAssistantMessage para clipboard com inline action na sidebar |
| Tooltip Preview |
Hover na sidebar mostra Markdown rico: alias, status, modelo, eventos e última mensagem |
| Welcome View |
Arte 🐙 quando sem sessões ativas — "No tentacles active" com botão de nova delegação |
| Themed Notifications |
Metáforas octopus: "Tentacle spawned", "Tentacle retracted", "Ink absorbed", "Ink spill!" |
| Zero Telemetria |
@vscode/extension-telemetry removido completamente — nenhum dado de uso é coletado. Bundle ~35% menor |
| Prompts English-First |
Agents e 11 pipeline templates em inglês para máxima precisão com LLMs — interação com usuário permanece em pt-BR |
| Safety Hardening |
Try/catch em callbacks, lock release on failure, settle timer race fix, worktree cleanup on error |
| Orphan Worktree Cleanup |
Limpeza automática de worktrees órfãos no startup (scan de tmpdir, timeout 5s) |
| Callback Automático |
Resultado injetado no chat (modo Autônomo) ou pre-fill (modo Copilot) |
| Fun Aliases |
Aliases satíricos gerados automaticamente para pipelines e discovery |
| 🦑 Auto-Retry |
Regeneração automática de sessões falhadas com backoff exponencial — até 2 tentativas configuráveis |
| 💓 Health Monitor |
Monitoramento ativo de saúde com heartbeat a cada 30s — detecta sessões travadas (2min inativas) |
| 🖤 Ink Cloud |
Parada de emergência: para TODAS as sessões ativas + snapshot automático em ~/.copilot/session-state/emergency-snapshots/ |
| 🔮 Conflict Radar |
Detecção proativa de conflitos quando múltiplas sessões editam o mesmo arquivo simultaneamente |
| 🦎 Camouflage Profiles |
4 profiles pré-configurados (Stealth, Observe, Alert, Strike) que mudam comportamento do sistema inteiro com um comando |
| 🏠 Session Templates |
5 templates pré-configurados (Bug Fix, Feature, Refactor, Test Coverage, Documentation) para delegações rápidas |
| 🎨 Live Progress |
Indicadores coloridos de fase na sidebar (blue → starting, green → active, yellow → unresponsive, purple → completing) |
| Merge Hardening |
Verificação post-merge de commit criado, validação de git root, sanitização de branch names, logging completo de merge |
| 🧠 Session Learning |
Aprendizado de padrões entre sessões, extrai lições para futuras delegações |
| 🦑 Tentacle Coordination |
Comunicação inter-sessões via SignalBus (clone, broadcast, receive) |
| 📦 Artifact Catalog |
Catálogo de artefatos gerados, persistido via globalState com sidebar provider |
| 🔍 Active Probe |
Health monitor faz RPC probe em sessions unresponsive — detecta CLI morto sem matar tarefas longas |
| 🎉 DSTP (Don't Stop The Party) |
Modo contínuo de trabalho com intake → execution cycle, gates anti-vagueness/zero-ambiguity/reality-check e delegation plan pré-aprovado. Invoque no chat com /party <tarefa> (slash command global via chatPromptFiles). Também: Command Palette, 10 MCP tools party_*, pipeline template party, hooks globais |
| 🐙 Session Cloning |
Duplicação de sessões ativas com contexto preservado |
| Chat Session Purge |
Comando para purgar sessões delegate do painel de Chat (SQLite WASM). Auto-purge após merge |
| Reactive Conflict Escalation |
Resolução automática de conflitos: lockfiles, generated files, whitespace. Fallback para user |
| @remote Chat Participant |
Agente completo com tool-calling loop para controle remoto via Android. Acesso a TODAS as tools do VS Code (ler arquivos, buscar código, terminal). Workspace context com cache TTL 30s. Max 10 rounds de tool calls |
| Android Bridge |
Servidor HTTP/WebSocket integrado para conectividade Android. Registro automático com daemon. Named Pipe para detecção instantânea |
| Reef Panel |
Painel de gerenciamento do daemon na sidebar. Detecta daemon via registry, reconhece instâncias externas |
| Daemon Standalone |
Download e execução do daemon como executável standalone |
| Security Audit Template |
Template de pipeline para auditoria de segurança |
| Step Timeout |
Timeout configurável por step em pipelines |
| Cooperation Mode |
Callbacks para extensões externas via commands registrados |
| Report Enforcement |
onSessionEnd hook garante que toda sessão emite REPORT estruturado |
| Lesson Deduplication |
Deduplicação semântica de lições via vscode.lm API — auto-trigger a cada 10 lições + comando manual |
| Skill Promotion |
Promoção automática de lições recorrentes para Skills (off/notify/auto). Sidebar toggle + cycle command |
| Model Policy Engine |
Seleção de modelo por tier com priority chain: input override → step type → profile → task weight → fallback |
| Meridian Tunnel |
Relay TCP transparente (yamux over WSS) para Android Bridge acessar VS Code via relay público |
| 4660 Testes |
Cobertura ampla em 218 arquivos de teste via Vitest |
⚡ Quick Start
Pré-requisitos
- VS Code 1.110+
- Node.js 24+ (auto-installed if missing)
- Git (para worktree isolation)
- Copilot CLI SDK:
npm install -g @github/copilot
Instalação
- Baixe o
.vsix mais recente da página de releases
Ctrl+Shift+P → "Extensions: Install from VSIX..."
- Selecione o
.vsix e recarregue a janela
Primeira delegação
@workspace #delegate_task
Crie testes unitários para o módulo de autenticação em src/auth.ts
🐙 Agent & Skill Bundled
Agent Octopus
Agente de orquestração incluído na extensão (via chatAgents no package.json). "Orchestrador de Orchestradores" — ele nunca implementa diretamente, coordena trabalho exclusivamente via delegação usando tools copilot-delegate_*.
Princípios:
- Delegar, não fazer — investiga com
researcher, implementa com implementor
- Worktrees isolados — sempre
isolateWorktree: true para mudanças de código
- Pipeline para multi-step — research → implement → test via
delegate_pipeline
- Fire-and-forget — delega e segue; callback automático traz resultado
- Cleanup obrigatório — sempre limpa sessões concluídas
Skill Octopus
Skill de delegação incluída na extensão (via chatSkills no package.json). Ensina o Copilot a usar os 68 tools com 9 patterns recomendados:
| # |
Pattern |
Quando usar |
| 1 |
Fire-and-Forget |
Tarefas independentes — delega e segue |
| 2 |
Pipeline Sequencial |
Research → implement → test em cadeia |
| 3 |
Discovery → Implementation |
Projeto desconhecido — discover primeiro, implemente depois |
| 4 |
Delegação Paralela |
Múltiplas tarefas independentes em worktrees isolados |
| 5 |
Mid-Flight Control |
Revisar plano antes de executar, ajustar durante execução |
| 6 |
Context Compaction |
Sessões longas chegando no limite de contexto |
| 7 |
Research-First Pipeline |
Pesquisa obrigatória antes de implementação — garante contexto |
| 8 |
Signal Bus Coordination |
Coordenação entre tentáculos paralelos via pub/sub |
| 9 |
Clone & Retry |
Clone sessão falha com contexto preservado para nova tentativa |
Inclui também anti-patterns documentados (pipelines para código simples, polling excessivo, delegação de tarefas triviais, etc.).
🧑🤝🧑 Multi-Dev Orchestration
Visão geral
Time de desenvolvimento hierárquico em 3 camadas (boss → leads → devs CLI), spawnado a partir do agent multidev-octopus-lead no dropdown do chat. O boss orquestra leads (chat tabs), e leads orquestram devs (CLI sessions via delegate_task).
Hierarquia de 3 camadas
| Camada |
Papel |
Visibilidade |
Quem invoca |
| L1 |
multidev-octopus-lead (boss) |
Visível no dropdown |
User |
| L2 |
multidev-tech-lead |
Oculto (invocável por tool) |
Boss |
| L2 |
multidev-product-lead |
Oculto (invocável por tool) |
Boss |
| L2 |
multidev-qa-lead |
Oculto (invocável por tool) |
Boss |
| L2 |
multidev-facilitator (cross-cutting) |
Oculto (invocável por tool) |
Boss / Leads |
| L3 |
Devs CLI (sessions) |
N/A |
Leads via delegate_task |
Como invocar
- Abrir painel de Chat (
Ctrl+Shift+I)
- No seletor de modo/agent, escolher
multidev-octopus-lead
- Digitar a tarefa desejada
O boss decide quais leads spawnar com base no tipo de tarefa (feature → product-lead, bug → tech-lead, release → qa-lead).
Fluxo exemplo
user → octopus-lead → spawn(tech-lead, product-lead)
→ leads delegam devs CLI via delegate_task
→ devs reportam aos leads (callback)
→ leads reportam ao boss (multi_dev_send)
→ boss responde ao user
| Tool |
Quem usa |
Função |
multi_dev_spawn |
Boss / Leads |
Abre nova aba de chat editor e injeta bootstrap pro dev se auto-registrar |
multi_dev_register |
Devs (auto) |
Primeira ação do dev recém-spawnado; captura URI do chat sob um label |
multi_dev_unregister |
Boss / Devs |
Remove um label do registry (não fecha a aba) |
multi_dev_list |
Qualquer dev |
Lista devs registrados no workspace com alive/viewColumn |
multi_dev_send |
Qualquer dev |
Envia mensagem de texto para outro dev (label ou URI); retorna messageId |
multi_dev_respond |
Leads / Devs |
Superfície unificada para ack + reply ao boss + status (substitui o antigo trio ack/reply_to_boss/set_status) |
multi_dev_status |
Boss / Leads |
Retorna status de todos os devs (ou um específico via label) |
multi_dev_broadcast |
Boss / Leads |
Envia mensagem para todos os devs registrados (scope: leads / all). |
multi_dev_evict |
Boss |
Remove dev do registry por falha; opcionalmente spawna substituto. |
multi_dev_retire |
Boss / Leads |
Marca dev como aposentado (feature concluída) — sem fechar a aba. |
multi_dev_revive |
Boss |
Reativa dev aposentado. |
Protocolo ACK
O boss anexa um trailer HTML <!-- multidev-ack-id: <uuid> --> ao final da mensagem; o destinatário deve chamar multi_dev_respond com esse messageId IMEDIATAMENTE ao ler, antes de qualquer outra acção. A entrega é fire-and-forget — o boss não bloqueia esperando o ack; o relatório final do lead chega via callback assíncrono.
[boss] Run smoke test now.
<!-- multidev-ack-id: 5013739c-4b77-4bf7-b7d2-f5896d807bb2 -->
→ destinatário chama multi_dev_respond({ messageId: "5013739c-..." }) (ack-only, status auto-derivado para busy).
Protocolo de Status
Status é derivado automaticamente do ciclo ack/reply via multi_dev_respond. Para overrides manuais (raros), passe apenas status:
multi_dev_respond({ status: "busy", note: "phase-a docs + l10n", activeSessionIds: ["b9e94172"] })
multi_dev_status({ label: "product-lead" })
→ { entries: [{ label: "product-lead", status: "busy", note: "...", statusUpdatedAt: ... }] }
Estados: standby (esperando tarefa), busy (executando), blocked (esperando dependência externa, requer blockingReason), error (falha auto-reportada). Boss inspeciona via multi_dev_status().
Agentes bundled (5 novos)
| Agente |
Camada |
Tier |
Foco |
multidev-octopus-lead |
L1 |
premium |
Orquestra time, classifica tarefas, roteia leads |
multidev-tech-lead |
L2 |
premium |
Arquitetura, code review, delega devs de implementação |
multidev-product-lead |
L2 |
standard |
Specs, escopo, prioridade |
multidev-qa-lead |
L2 |
standard |
Gates de qualidade, release, validação |
multidev-facilitator |
L2 |
premium |
Desempaca devs travados, cross-cutting |
Regras de comunicação (resumo)
- User só fala com o boss (
multidev-octopus-lead).
- Boss → lead via
multi_dev_send com prefixo [boss].
- Lead → boss via
multi_dev_respond com message (formato [from:<label>] DONE/ERROR/BLOCKED: ...).
- Cross-L2 direto é proibido (passa pelo boss), exceto facilitator que é livre.
Limites conhecidos
- CLI sessions morrem quando VS Code fecha (chat tabs sobrevivem via resume nativo do VS Code).
- Devs auto-gerados pela factory ainda não estão disponíveis nesta fase (vêm em fase posterior).
Todas registradas como LanguageModelTools, visíveis e referenciáveis no modo agent do Copilot.
Core — Ciclo de Vida (7)
| Tool |
Descrição |
delegate_task |
Cria sessão CLI isolada e delega tarefa. Suporta worktree, modelo, modo, agent custom e lock de arquivos. |
classify_delegation |
Classifica o pedido e sugere qual pattern de delegação usar (baseado em heurísticas). |
check_session |
Estado enriquecido: status, lastMessage, summary, usage, plan, changedFiles. |
send_message |
Follow-up para sessão ativa (timeout configurável). |
list_sessions |
Lista sessões gerenciadas (filtro por repositório). |
cleanup_session |
Encerra sessão e limpa recursos (disconnect + worktree + registry). Suporta force e skipTests. |
Callback + Visibilidade (2)
| Tool |
Descrição |
wait_for_session |
Bloqueia até sessão finalizar (fire-and-wait). Resultado + métricas. |
get_session_history |
Histórico filtrado de eventos (messages, tools, errors). |
Controle Mid-Flight (3)
| Tool |
Descrição |
switch_model |
Troca modelo de IA mid-flight (com reasoningEffort opcional). |
set_session_mode |
Alterna modo: plan / autopilot / interactive. |
update_plan |
Injeta ou atualiza plano markdown da sessão. |
Pipeline Management (4)
| Tool |
Descrição |
delegate_pipeline |
2–10 steps sequenciais. Output de step N → contexto de step N+1. Retorna pipelineId + alias satírico. |
delegate_pipeline_template |
11 templates pré-configurados (research-first, quick-fix, refactor, tech-doc, etc). Seleciona template + topic → pipeline expandido automaticamente. |
check_pipeline |
Status do pipeline: step atual, resultados por step. |
wait_for_pipeline |
Bloqueia até pipeline finalizar (completed/failed/partial). |
Session Control (4)
| Tool |
Descrição |
pause_session |
Pausa sem perder estado. Sessão aguarda próxima instrução. |
stop_session |
Graceful (commit WIP + 5s) ou force=true (disconnect imediato). |
merge_session |
Merge do worktree → repo principal. Commit pendências, valida testes (validateFirst), limpa branch. |
resolve_conflicts |
Resolve conflitos de merge automaticamente com estratégias: auto, ours, theirs, manual. |
Complementares (6)
| Tool |
Descrição |
read_session_file |
Lê arquivo ou lista arquivos do workspace da sessão. |
resume_session |
Reconecta sessão desconectada, restaurando estado. |
compact_session |
Compacta contexto de sessões longas. |
select_agent |
Seleciona/desseleciona agent custom na sessão. |
discover_project |
Discovery autônomo em 6 steps paralelos → docs/discovery/project-context.md. |
clone_session |
Clona sessão ativa com contexto, opcionalmente com prompt/alias/modelo modificados. |
Diagnóstico (1)
| Tool |
Descrição |
extract_transcript_window |
Extrai janela de rounds alinhados por user-turn de um transcript JSONL — evita carregar o arquivo completo em contexto. |
Brain / Aprendizado (2)
| Tool |
Descrição |
capture_correction |
Captura lição de uma correção do usuário — delega pattern-analyzer para registrar e deduplicar. |
record_correction |
Registra correção no Brain Failure Log — boost semântico (×1.5, cap 10) nos chunks mais similares. |
Retry (3)
| Tool |
Descrição |
retry_session |
Recria sessão falhada com ajustes opcionais de modelo, modo e prompt. Preserva lições da tentativa anterior. |
retry_pipeline_step |
Recria um step específico de pipeline falhado com ajustes de modelo ou prompt. |
retry_pipeline_from_step |
Reexecuta pipeline a partir de um step específico (inclusive) com ajustes opcionais. |
Conflito & Testes (2)
| Tool |
Descrição |
resolve_integration_conflict |
Inspeciona ou commita resolução de conflitos em branches de integração (3-way diff). |
delegate_gates |
Delega execução de gates (lint/compile/unit/e2e) em sessão isolada: pre-package / pre-push / pre-release / on-demand. |
🔍 Discovery Pipeline
A tool discover_project executa 6 steps paralelos para onboarding em projetos existentes:
| Step |
Agent |
Output |
Fontes |
| 1. Structure Scan |
researcher |
01-structure.md |
Diretórios, manifests, configs, Docker |
| 2. Codebase Analysis |
researcher |
02-codebase.md |
Entry points, APIs, padrões, dependencies |
| 3. Git History |
researcher |
03-history.md |
Commits, branches, contributors, hotspots |
| 4. External Sources |
researcher |
04-external.md |
Confluence, Jira, GitHub PRs (opt-in) |
| 5. Assessment |
researcher |
05-assessment.md |
Best practices, desvios, recomendações |
| 6. Consolidation |
implementor |
project-context.md |
Documento final consolidado |
Source Modes: guided (default — pergunta ao usuário) ou auto (escaneia automaticamente).
📋 Pipeline Templates
A tool delegate_pipeline_template oferece 11 templates pré-configurados — basta informar o template e o topic:
| Template |
Quando usar |
Agentes |
research-first |
Padrão — features/refactors não-triviais |
R→I→V |
quick-fix |
Bug fix pequeno, escopo claro |
I→V |
test-coverage |
Escrita/aumento de cobertura de testes |
I→V |
refactor |
Refatoração multi-arquivo com análise prévia |
R→I→V |
discovery-then-implement |
Projeto desconhecido: mapear e implementar |
R→I→V |
security-audit |
Auditoria OWASP, secrets, dependências |
R→V |
validation-only |
Rodar compile/lint/test sem alterar código |
V |
implement-only |
Implementação direta sem análise pesada |
I→V |
tech-doc |
Documentação técnica (README, arquitetura) |
R→R→I→V |
tool-discovery |
Explorar ou catalogar tools/APIs |
R→I→V |
boilerplate-analysis |
Detectar padrões repetitivos |
R→V |
Legenda: R = researcher, I = implementor, V = validator
Testes opt-in: apenas test-coverage e validation-only executam testes. Todos os demais incluem "Do NOT run tests" nos prompts.
📖 Documentação completa: Pipeline Templates · Agent Octopus — Tabela de Seleção
A extensão adiciona sidebar dedicada no Activity Bar com 5 seções — todas com branding octopus 🐙:
| Seção |
ID |
Descrição |
| 🐙 Camouflage |
mode |
Toggle entre Manual, Autônomo (auto-inject) e Copilot (pre-fill). Persiste via globalState |
| 🐙 Ink Jets |
quick-actions |
Nova Delegação, 🛑 Stop All, 🧹 Cleanup All, 📋 List Summary, Refresh, Settings, Docs |
| 🐙 Tentacles |
sessions |
Lista com ícones de status + inline actions (check, inject, cleanup, copy result, export log). Tooltip rico com Markdown. Welcome view 🐙 quando vazia. Clique abre Chat WebviewPanel |
| 🐙 Nerve Center |
stats |
Total de sessões, ativas, erros, último modelo, tempo total acumulado |
| 🐙 Sonar |
discovery |
Status dos 6 steps de discovery com auto-refresh via filesystem watcher |
🎨 Modos de Operação
| Modo |
Comportamento |
| 🔧 Manual |
Notificação no VS Code ao completar — usuário decide a ação |
| 🐙 Autônomo |
Resultado automaticamente injetado no chat + auto-merge com validação de testes |
| 👤 Copilot |
Resultado preparado como pre-fill, usuário confirma antes de enviar |
Toggle via: botão na sidebar ou Copilot Delegate: Alternar Modo na Command Palette.
🦎 Camouflage Profiles
Conceito: Profiles de configuração que mudam o comportamento do sistema inteiro com um comando. Inspirado na camuflagem do polvo que muda de aparência instantaneamente.
Profiles Disponíveis
| Profile |
Emoji |
Descrição |
Settings |
| Stealth |
🟢 |
Dev mode: auto-retry, aggressive model, isolated worktrees |
Model: Sonnet 4.5, Mode: autopilot, autoRetry: true (2x), autoCleanup: true, isolateWorktree: true |
| Observe |
🔵 |
Review mode: plan-first approach, no auto-retry, isolated worktrees |
Model: Sonnet 4.5, Mode: plan, autoRetry: false, autoCleanup: false, isolateWorktree: true |
| Alert |
🔴 |
Debug mode: premium model, plan-first, aggressive retries |
Model: Opus 4.6, Mode: plan, autoRetry: true (3x), autoCleanup: false, isolateWorktree: true |
| Strike |
⚡ |
Speed mode: fast model, autopilot, no isolation overhead |
Model: Haiku 4.5, Mode: autopilot, autoRetry: false, autoCleanup: true, isolateWorktree: false |
Como Usar
Ativar Profile:
- Click no status bar (
🐙 N tentacles | 🟢 Stealth)
- Ou comando:
Copilot Delegate: Switch Camouflage Profile
- Escolha um dos 4 profiles ou "None (default settings)"
Ver Profile Ativo:
- Status bar mostra:
🐙 N tentacles | 🦎 Profile Name
- Sidebar ModeProvider exibe profile como primeiro item
- Comando:
Copilot Delegate: Show Current Profile
Comportamento:
- Settings do profile são aplicados como defaults em todas as novas sessões
- Override manual ainda funciona: input explícito sobrepõe profile
- Profile persiste entre sessões do VS Code (via globalState)
Exemplo de Uso
// Sem profile ativo - usa defaults globais
@workspace #delegate_task prompt="Fix bug X" model="claude-haiku-4.5"
// Com Stealth profile ativo - usa Sonnet 4.5, autopilot, autoRetry
@workspace #delegate_task prompt="Fix bug X" // herdará: sonnet, autopilot, autoRetry
// Override manual - Haiku sobrepõe profile
@workspace #delegate_task prompt="Fix bug X" model="claude-haiku-4.5" // usa Haiku
⌨️ Comandos
| Comando |
Descrição |
Copilot Delegate: Alternar Modo |
Toggle Manual → Autônomo → Copilot |
Copilot Delegate: Selecionar Modo |
Escolhe modo via QuickPick |
Copilot Delegate: Switch Camouflage Profile |
Quick Pick para mudar profile ativo (Stealth/Observe/Alert/Strike/None) |
Copilot Delegate: Show Current Profile |
Mostra informações do profile ativo |
Copilot Delegate: Limpar Sessões Idle |
Limpa sessões idle/completed automaticamente |
Atualizar |
Refresh da lista de sessões |
Limpar Todas as Sessões |
Cleanup de todas as sessões |
Nova Delegação |
Input box para criar sessão rápida |
Abrir Configurações |
Navega para settings da extensão |
Abrir Documentação |
Abre o README |
Verificar Sessão |
Consulta estado de sessão selecionada |
Injetar Resultado no Chat |
Injeta resultado da sessão no chat ativo |
Limpar Sessão |
Cleanup de sessão individual |
Detalhes da Sessão |
Abre Chat WebviewPanel da sessão |
Discover Project |
Lança discovery pipeline no projeto |
Focar Sessões |
Foca a view de sessões na sidebar |
Copiar Resultado |
Copia lastAssistantMessage para clipboard |
🛑 Stop All Tentacles |
Para todas as sessões ativas de uma vez |
🧹 Cleanup All Idle |
Limpa todas as sessões idle/completed |
📋 List Summary |
Copia resumo de todas as sessões para clipboard |
📋 Export Log |
Exporta log completo da sessão em nova aba do editor |
🖤 Ink Cloud (Emergency Stop All) |
Para TODAS as sessões ativas de uma vez + snapshot em emergency-snapshots/ |
Clear Session History |
Limpa histórico de sessões persistidas no globalState |
Copilot Delegate: Purge Delegate Chat Sessions |
Remove todas as sessões delegate do painel de Chat. Requer reload |
⚙️ Configuração
| Setting |
Tipo |
Default |
Descrição |
copilot-delegate.sdkPath |
string |
"" |
Caminho absoluto para o copilot-sdk/index.js. Quando definido, ignora a discovery automática do SDK. |
copilot-delegate.autoCleanupSessions |
boolean |
true |
Limpa sessões automaticamente após merge, conclusão de pipeline ou idle sem worktree |
copilot-delegate.settleTimeoutMs |
number |
3000 |
Timeout em ms para considerar uma sessão idle como completada (1000–30000) |
copilot-delegate.maxEventLogSize |
number |
500 |
Tamanho máximo do buffer de eventos por sessão (100–5000) |
copilot-delegate.defaultModel |
string |
"claude-sonnet-4.5" |
Modelo padrão para novas sessões delegadas |
copilot-delegate.autoRetry |
boolean |
false |
Habilita retry automático de sessões falhadas com backoff exponencial |
copilot-delegate.maxRetries |
number |
2 |
Máximo de tentativas automáticas para sessões falhadas (1–5) |
Uso — Exemplos
Delegação Simples
@workspace #delegate_task
Crie testes unitários para o módulo de autenticação em src/auth.ts
Fire-and-Wait
@workspace #delegate_task
Refatore o componente Header para usar Tailwind CSS
#wait_for_session sessionId="<id-retornado>"
Worktree Isolado
@workspace #delegate_task
Migre o banco de dados de PostgreSQL para MongoDB
isolateWorktree: true
Controle Mid-Flight
#switch_model sessionId="abc123" model="claude-opus-4.6"
#set_session_mode sessionId="abc123" mode="plan"
#update_plan sessionId="abc123" content="## Nova Prioridade\n- Cache Redis"
#send_message sessionId="abc123" prompt="Adicione validação de schema"
#pause_session sessionId="abc123"
#resume_session sessionId="abc123"
#stop_session sessionId="abc123" force=false
Pipeline Sequencial
@workspace #delegate_pipeline
steps: [
{ prompt: "Analise o módulo de auth e liste melhorias", agent: "researcher" },
{ prompt: "Implemente as melhorias listadas", agent: "implementor", mode: "autopilot" },
{ prompt: "Crie testes para as mudanças", agent: "implementor" }
]
isolateWorktree: auto
Acompanhe com alias satírico: #check_pipeline pipelineId="operation-broccoli" ✨
Project Discovery
@workspace #discover_project
workingDirectory: "./legacy-app"
sourceMode: "guided"
sources: {
confluence: { spaceKey: "LEGACY" },
github: { includePRs: true, includeBranches: true },
localDocs: ["docs/architecture"]
}
🏆 Diferenciais
🐙 Octopus Branding
Tema visual coeso com referências biológicas reais do polvo. Sidebar views renomeadas (Tentacles, Nerve Center, Ink Jets, Camouflage, Sonar), notificações temáticas ("Tentacle spawned", "Ink absorbed"), status bar com 🐙 N tentacle(s), welcome view com arte 🐙, e fun facts extraídos de pesquisa real sobre octopuses (docs/octopus-research.md). O ícone da extensão (media/icon.svg) é um polvo SVG responsivo a temas do VS Code.
Session History
Persistência das últimas 50 sessões no globalState — sobrevive a restarts do VS Code. SessionHistoryManager com serialização, deduplicação e limite configurável. Comando Clear Session History para reset manual.
Auto-Cleanup
Zero manutenção de sessões concluídas: performAutoCleanup() verifica arquivos não-commitados, faz commit automático ou preserva sessão, desconecta, remove worktree/branch e libera locks. Pipelines também são limpos ao finalizar. Opt-out via setting autoCleanupSessions.
Guard mergedToMain: Auto-cleanup NÃO remove worktree se branch não foi mergeada — protege branches isoladas contra destruição acidental. Campo mergedToMain: boolean na DelegateSession garante segurança.
Force cleanup: cleanup_session aceita force: true para forçar limpeza sem merge/testes — essencial para sessões paradas/travadas. Também aceita skipTests: true para pular validação antes do merge.
Research-First Pipeline
O pattern principal do Octopus: pesquisa obrigatória antes de implementação. O agent researcher investiga o contexto, e só então o implementor age — com o output da pesquisa como contexto. Evita implementações cegas e reduz retrabalho.
Em modo autônomo, quando uma sessão com worktree completa com sucesso, o sistema tenta merge automático — sempre com validação de testes. Se os testes falham, o worktree é preservado intacto para revisão manual. Nunca faz merge sem testes.
Merge Hardening (b1cf859): Verificação post-merge confirma que um novo commit foi efetivamente criado (compara HEAD antes/depois), validação que repoDir é a raiz do repositório git (não subdiretório), sanitização de branch names para prevenir injeção de comandos, captura completa de stdout/stderr do git merge, e logging estruturado em cada step do fluxo. Notificação "Tentacle merged" só aparece quando o merge commit é verificado existir.
Auto-merge detection: isBranchMerged() detecta automaticamente branches já mergeadas via git branch --merged — pula testes automaticamente quando branch já está na main.
Advisory File Lock
delegate_task aceita lockFiles — lista de arquivos que ficam bloqueados para outras sessões. Impede edições concorrentes em arquivos críticos durante execução paralela.
Safety Hardening
Event callback isolation (try/catch em onSessionComplete, onSessionEvent, onSessionRemoved), lock release on merge failure, settle timer race condition fix, worktree cleanup on session creation failure, e notificações de erro contextualizadas.
Fun Aliases 🎭
Pipelines e discovery recebem aliases satíricos gerados automaticamente:
- Pipelines:
operation-broccoli, pipeline-tofu, sequence-kale
- Discovery:
radar-spinach, scanner-quinoa, probe-chia
Use no lugar do UUID: #check_pipeline pipelineId="operation-broccoli"
🦑 Auto-Retry (Regeneração de Braços)
Quando uma sessão falha (status error), o sistema pode automaticamente tentar novamente com backoff exponencial. Habilite via copilot-delegate.autoRetry = true e configure copilot-delegate.maxRetries (default: 2). A sessão mantém o originalPrompt e incrementa retryCount a cada tentativa. Notificações: "🦑 Tentacle regenerating... (attempt X/Y)" em retry, "🦑 Tentacle couldn't regenerate — manual intervention needed" após esgotamento. Previne falhas transitórias sem intervenção manual.
💓 Health Monitor (3 Corações)
Heartbeat check a cada 30 segundos monitora sessões ativas. Se uma sessão não emite eventos por 2 minutos, é marcada como unresponsive (campo phase). Notificação "💓 Tentacle heartbeat lost — session may be stuck" alerta o usuário. TreeItems na sidebar ganham decoração ⚠️ para sessões unresponsive. O campo lastEventAt (timestamp) é atualizado a cada evento recebido. Fases: starting → active → unresponsive | completing.
🖤 Ink Cloud (Emergency Stop All)
Comando copilot-delegate.emergencyStopAll para TODAS as sessões ativas de uma vez. Executa disconnect() em todas simultaneamente e salva snapshot JSON automático em ~/.copilot/session-state/emergency-snapshots/emergency-{timestamp}.json com estado completo (sessionId, alias, status, eventLog, etc.). Notificação: "🖤 Ink cloud deployed — X sessions stopped". Ideal para limpar estado quando algo dá muito errado.
🦑 Signal Bus Coordination
SignalBus singleton para coordenação inter-sessões via pub/sub pattern. broadcast_signal publica sinais estruturados em channels/topics, receive_signals lê com filtros por sessionId/channel/topic/timestamp. Estrutura: { sessionId, channel, topic, payload, timestamp }. Limite de 100 sinais por channel, cleanup automático de sinais antigos (>1h). Use para pipelines complexos, handoffs, sincronização de estado entre tentáculos paralelos.
🔮 Conflict Radar (Ventosas)
Detecção proativa de conflitos entre sessões paralelas. O ClientManager mantém conflictMap: Map<filePath, sessionId[]> que rastreia quais sessões modificam quais arquivos (campo modifiedFiles: string[] por sessão). Quando detecta múltiplas sessões editando o mesmo arquivo, emite notificação: "🔮 Conflict detected: sessions X and Y both editing file.ts". Métodos: registerFileModifications(), getConflictingSessions(), clearConflicts(). Previne sobrescrita acidental em delegações paralelas.
🏠 Session Templates (Construção de Toca)
5 templates pré-configurados acessíveis via comando copilot-delegate.useTemplate com Quick Pick UI:
| Template |
Agent |
Model |
Prompt Prefix |
Worktree |
| Bug Fix |
implementor |
claude-sonnet-4.5 |
"Fix the following bug:" |
auto |
| New Feature |
implementor |
claude-opus-4.6 |
"Implement the following feature:" |
true |
| Refactor |
implementor |
claude-sonnet-4.5 |
"Refactor the code:" |
auto |
| Test Coverage |
implementor |
claude-sonnet-4.5 |
"Add tests for:" |
false |
| Documentation |
implementor |
claude-haiku-4.5 |
"Document:" |
false |
Exportados como BUILTIN_TEMPLATES em client-manager.ts para extensibilidade futura (templates customizados por usuário).
🎨 Live Progress (Cromatóforos)
TreeItems na sidebar de sessões exibem cores contextuais por fase via ThemeColor:
- starting → azul (
charts.blue)
- active → verde (
charts.green)
- unresponsive → amarelo (
editorWarning.foreground)
- completing → roxo (
charts.purple)
- completed/stopped → cinza (
descriptionForeground)
- error → vermelho (
errorForeground)
Sessões unresponsive ganham indicador ⚠️ na description. Feedback visual imediato do estado de cada tentáculo.
🛠️ Tech Stack
| Tecnologia |
Uso |
| TypeScript |
Linguagem principal |
| VS Code Extension API |
LanguageModelTools, TreeDataProvider, WebviewPanel |
| Copilot CLI SDK |
Integração com @github/copilot |
| Zod |
Validação de schemas |
| esbuild |
Build e bundling |
| Vitest |
Framework de testes |
| sql.js |
SQLite WASM para manipulação do chat storage |
📂 Estrutura do Projeto
copilot-delegate/
├── src/
│ ├── extension.ts # Entry point — registra 42 tools + sidebar + commands + status bar
│ ├── client-manager.ts # Sessões, CopilotClient, event system, advisory locks, auto-cleanup, session history
│ ├── auto-merge.ts # Auto-merge com validação de testes
│ ├── utils/
│ │ ├── chat-session-purge.ts # Purge de sessões delegate do chat storage (SQLite WASM)
│ │ └── octopus-facts.ts # 20 fun facts sobre polvos (biologia real)
│ ├── tools/ # 42 tools (+ _shared.ts)
│ │ ├── delegate-task.ts # Core: delega tarefa
│ │ ├── delegate-task-with-learning.ts # Core: delega com muscle memory
│ │ ├── check-session.ts # Core: consulta estado
│ │ ├── send-message.ts # Core: follow-up
│ │ ├── list-sessions.ts # Core: lista sessões
│ │ ├── cleanup-session.ts # Core: limpa recursos (force, skipTests)
│ │ ├── wait-for-session.ts # Callback: fire-and-wait
│ │ ├── get-session-history.ts # Callback: histórico
│ │ ├── switch-model.ts # Mid-flight: troca modelo
│ │ ├── set-session-mode.ts # Mid-flight: troca modo
│ │ ├── update-plan.ts # Mid-flight: atualiza plano
│ │ ├── delegate-pipeline.ts # Pipeline: cria pipeline
│ │ ├── check-pipeline.ts # Pipeline: consulta pipeline
│ │ ├── wait-for-pipeline.ts # Pipeline: aguarda pipeline
│ │ ├── pause-session.ts # Control: pausa
│ │ ├── stop-session.ts # Control: para
│ │ ├── merge-session.ts # Control: merge worktree
│ │ ├── read-session-file.ts # Complementar: lê arquivo
│ │ ├── resume-session.ts # Complementar: reconecta
│ │ ├── compact-session.ts # Complementar: compacta contexto
│ │ ├── select-agent.ts # Complementar: seleciona agent
│ │ ├── session-log.ts # Complementar: injeta log
│ │ ├── discover-project.ts # Complementar: discovery
│ │ ├── clone-session.ts # Complementar: clona sessão
│ │ ├── broadcast-signal.ts # Coordination: publica sinal
│ │ ├── receive-signals.ts # Coordination: recebe sinais
│ │ └── _shared.ts # Utilitários compartilhados
│ └── sidebar/ # 5 providers + chat panel
│ ├── mode-provider.ts # 🐙 Camouflage (Manual/Autônomo/Copilot)
│ ├── quick-actions-provider.ts # 🐙 Ink Jets (Stop All, Cleanup All, List Summary...)
│ ├── sessions-provider.ts # 🐙 Tentacles (tooltip, welcome view, export log, copy result)
│ ├── stats-provider.ts # 🐙 Nerve Center (total, ativas, erros, tempo)
│ ├── discovery-provider.ts # 🐙 Sonar (auto-refresh via watcher)
│ └── session-chat-panel.ts # WebviewPanel de chat interativo
├── agents/
│ └── octopus.agent.md # Agent Octopus — orchestrator de delegação
├── skills/
│ └── octopus/
│ └── SKILL.md # Skill Octopus — 9 patterns de delegação
├── tests/ # 5485 testes em 278 arquivos (Vitest)
│ ├── auto-cleanup.test.ts # Auto-cleanup de sessões e pipelines (mergedToMain guard)
│ ├── auto-merge.test.ts # Auto-merge com validação
│ ├── bug-fixes.test.ts # 6 bug fixes críticos (clone, path traversal, timeout, etc.)
│ ├── client-manager.test.ts # Sessões, events, locks, history
│ ├── discover-project.test.ts # Discovery pipeline completo
│ ├── discovery-provider.test.ts # Sidebar discovery
│ ├── event-handling.test.ts # Event system, settle timer
│ ├── lockfiles.test.ts # Advisory file locks
│ ├── merge-hardening.test.ts # Merge hardening (post-merge verification, git root validation, sanitization)
│ ├── octopus-biology.test.ts # Biology features (auto-retry, health monitor, ink cloud, conflict radar, templates, live progress)
│ ├── octopus-branding.test.ts # Branding, fun facts, themed notifications
│ ├── pipeline.test.ts # Pipeline management
│ ├── safety-fixes.test.ts # Try/catch, race conditions, cleanup
│ ├── session-control.test.ts # Pause, stop, resume
│ ├── sidebar-providers.test.ts # Mode, actions, sessions, stats
│ ├── tools-validation.test.ts # Schema e validação das tools
│ ├── ux-improvements.test.ts # Tooltip, welcome view, export, copy result
│ ├── worktree-merge.test.ts # Worktree isolation e merge
│ ├── session-learning.test.ts # Session learning e extração de lições
│ ├── tentacle-coordination.test.ts # SignalBus e coordenação inter-sessões
│ ├── artifact-catalog.test.ts # Catálogo de artefatos persistido
│ ├── session-cloning.test.ts # Clonagem de sessões com contexto
│ ├── camouflage-profiles.test.ts # Profiles pré-configurados
│ └── offline-mode.test.ts # Modo offline e resiliência
├── docs/ # Documentação técnica
│ ├── architecture/ # Design docs (01-vision → 07-project-discovery)
│ ├── plans/ # Propostas e planos de implementação
│ ├── features/ # Docs de features user-facing
│ ├── internal/ # Notas de implementação e pesquisa
│ ├── discovery/ # Output do discovery pipeline
│ ├── maps/ # Task analysis maps (ADRs)
│ └── index.html, styles.css # GitHub Pages landing page
├── media/
│ └── icon.svg # 🐙 Ícone SVG de polvo (responsivo a temas VS Code)
├── package.json
├── tsconfig.json
├── esbuild.mjs
├── vitest.config.ts
├── CHANGELOG.md
└── LICENSE
🧪 Testes
2782 testes em 94 arquivos via Vitest:
| Arquivo |
Testes |
Cobertura |
auto-cleanup.test.ts |
42 |
Auto-cleanup de sessões, pending files, pipeline cleanup, mergedToMain guard |
auto-merge.test.ts |
15 |
Auto-merge com validação |
bug-fixes.test.ts |
21 |
6 bug fixes críticos (clone dedup, path traversal, timeout, schema, error isolation, switch_model) |
client-manager.test.ts |
38 |
Sessões, events, locks, session history, totalEvents |
discover-project.test.ts |
65 |
Discovery pipeline completo |
discovery-provider.test.ts |
23 |
Sidebar discovery, auto-refresh |
event-handling.test.ts |
23 |
Event system, settle timer |
lockfiles.test.ts |
24 |
Advisory file locks |
merge-hardening.test.ts |
20 |
Post-merge verification, git root validation, branch sanitization, output capture |
octopus-biology.test.ts |
40 |
Auto-retry, health monitor, ink cloud, conflict radar, session templates, live progress |
octopus-branding.test.ts |
31 |
Fun facts, themed notifications, status bar, welcome view |
pipeline.test.ts |
51 |
Pipeline management |
safety-fixes.test.ts |
16 |
Try/catch callbacks, lock release, settle race fix |
session-control.test.ts |
23 |
Pause, stop, resume |
sidebar-providers.test.ts |
35 |
Mode, actions, sessions, stats providers |
tools-validation.test.ts |
41 |
Schema e validação das tools |
ux-improvements.test.ts |
40 |
Tooltip preview, export log, copy result, session duration |
worktree-merge.test.ts |
43 |
Worktree isolation e merge |
session-learning.test.ts |
52 |
Session learning, extração de lições, padrões entre sessões |
tentacle-coordination.test.ts |
48 |
SignalBus, broadcast, receive, inter-session communication |
artifact-catalog.test.ts |
35 |
Catálogo de artefatos, persistência via globalState, sidebar |
session-cloning.test.ts |
28 |
Clonagem de sessões, preservação de contexto, prompt modificado |
camouflage-profiles.test.ts |
0 |
(já coberto em octopus-biology.test.ts) |
chat-cleanup.test.ts |
20 |
filterDelegateSessions, purge de sessões delegate |
child-delegation.test.ts |
16 |
Child delegation — criação e gestão de sessões filho |
daemon-manager.test.ts |
16 |
DaemonManager — start/stop/status do daemon remote-vscode |
hook-bridge.test.ts |
14 |
Hook bridge — createPermissionHandler, comunicação parent/child |
mid-flight-reactive.test.ts |
13 |
Mid-flight reactive control — error tracker, auto-escalation |
offline-mode.test.ts |
0 |
(já coberto em safety-fixes.test.ts) |
offline-profiles-integration.test.ts |
27 |
Offline mode + camouflage profiles integration |
reactive-conflict-escalation.test.ts |
9 |
Reactive conflict escalation — auto-resolve, queue, singleton |
resolve-conflicts.test.ts |
11 |
resolve_conflicts tool — estratégias auto/ours/theirs/manual |
default-mode-autopilot.test.ts |
4 |
Default mode fallback para autopilot |
auto-fix-merge.test.ts |
22 |
Auto-fix on merge failure — test failures, conflict escalation, retry |
pipeline-cleanup.test.ts |
15 |
Pipeline cleanup — isSessionInActivePipeline, worktree preservation |
worktree-persistence.test.ts |
12 |
Worktree persistence across pipeline steps |
session-tools.test.ts |
39 |
Unit tests para 5 session control tools (resume, compact, select_agent, set_mode, update_plan) |
worktree-links.test.ts |
12 |
Worktree isolation com hardlinks e junctions para dirs gitignored |
client-manager-auth.test.ts |
11 |
VS Code auth token propagation para CopilotClient |
npm test # Roda todos os testes
🗺️ Roadmap
✅ v0.2.0
- [x] Chat Session Purge — Purge de sessões delegate via SQLite WASM
- [x] Reactive Conflict Escalation — Resolução automática de conflitos pós-merge
- [x] Auto-close chat tabs after merge
- [x] 1098 testes em 40 arquivos
- [x] 26 LanguageModelTools registradas
- [x] Sidebar com 5 seções (🐙 Camouflage, Ink Jets, Tentacles, Nerve Center, Sonar)
- [x] Chat WebviewPanel interativo
- [x] Event system com settle timer
- [x] Callback automático (Autônomo/Copilot)
- [x] Worktree isolation
- [x] Pipeline Management (delegate, check, wait)
- [x] Discovery Pipeline (6 steps, guided/auto, fontes externas)
- [x] Session Control (pause, resume, stop, merge com validação)
- [x] Auto-merge com validação de testes obrigatória
- [x] Auto-cleanup de sessões (post-merge, pipeline, idle)
- [x] Advisory file locks para sessões concorrentes
- [x] Agent Octopus bundled (orchestrator de delegação)
- [x] Skill Octopus bundled (9 patterns + anti-patterns)
- [x] Octopus Branding (sidebar, notifications, status bar, fun facts)
- [x] Session History persistence (globalState, últimas 50)
- [x] Session Duration (completedAt + elapsed time)
- [x] totalEvents counter (além do buffer circular)
- [x] Quick Actions em massa (Stop All, Cleanup All, List Summary)
- [x] Export Session Log + Copy Result
- [x] Tooltip Preview com Markdown rico
- [x] Welcome View 🐙 quando sem sessões
- [x] Themed Notifications (metáforas octopus)
- [x] Safety Hardening (try/catch, locks, race fixes)
- [x] Orphan Worktree Cleanup no startup
- [x] Fun aliases satíricos para pipelines e discovery
- [x] 5 settings configuráveis
- [x] 20 comandos registrados
- [x] 🦑 Auto-Retry com backoff exponencial (setting + maxRetries configurável)
- [x] 💓 Health Monitor com heartbeat a cada 30s + detection de sessões unresponsive
- [x] 🖤 Ink Cloud (Emergency Stop All com snapshot automático)
- [x] 🔮 Conflict Radar para detecção de edições concorrentes no mesmo arquivo
- [x] 🏠 Session Templates (5 templates built-in via Quick Pick)
- [x] 🎨 Live Progress com cores temáticas por fase (ThemeColor na sidebar)
- [x] Merge Hardening (post-merge verification, git root validation, branch sanitization)
- [x] 🧠 Session Learning — Aprendizado de padrões entre sessões
- [x] 🦑 Tentacle Coordination — SignalBus para comunicação inter-sessões
- [x] 📦 Artifact Catalog — Catálogo de artefatos persistido via globalState
- [x] 🐙 Session Cloning — Duplicação de sessões com contexto preservado
- [x] 🦑 Muscle Memory —
delegate_task_with_learning injeta lições automaticamente
- [x] 🛡️ Cleanup Guards —
force para sessões travadas, mergedToMain protege worktrees não-mergeados
- [x] 🔍 Auto-merge Detection —
isBranchMerged() detecta branches já mergeadas, pula testes
- [x] 🐛 6 Bug Fixes Críticos — clone dedup, path traversal, timeout, schema, error isolation, switch_model
- [x] Hooks de feedback-guard (PS1 + Shell)
- [x] Build + Package VSIX
✅ v0.3.0
- [x] 🔍 Copilot CLI Auto-Detection — Verifica presença do CLI no activate(), instala automaticamente se ausente
- [x] 📊 Status Bar CLI Indicator — Status bar mostra
🐙 ❌ CLI missing quando CLI ausente, clicável para retry
- [x] 🔄 Retry CLI Command — Comando
copilot-delegate.retryCli para re-tentar instalação sem recarregar
- [x] 🦑 Rescue Tentacle — Auto-retry de merge failures com contexto completo (branch, worktree, erro, test output)
- [x] 📦 Artifact Collection via Git Diff —
modifiedFiles populado via git diff real no worktree
- [x] 🔗 Link para documentação GitHub Pages
✅ v0.4.0
- [x] 🔍 Active Probe — Detecção de sessions mortas via RPC probe em sessions unresponsive
- [x] ♻️ GC Periódico e TTL de Sessions — GC de worktrees órfãos (5 min), session TTL de 24h, health monitor auto-stop
- [x] 🔗 Worktree Isolation com Hardlinks e Junctions — Compartilhamento de dirs gitignored entre worktrees
- [x] 🔑 VS Code Auth Token para SDK — Token OAuth do VS Code direto no SDK, eliminando
copilot login manual
- [x] 💾 Pipeline tracking persiste entre restarts — PipelineState serializado em globalState
- [x] ⚡ Pipeline waitForSession event-driven — Substituição de polling por event-driven via completionWaiters
- [x] 1083 testes
✅ v0.5.0
- [x] 📱 @remote Chat Participant — Agente com tool-calling loop para controle remoto via Android
- [x] 🌉 Android Bridge — Servidor HTTP/WebSocket para conectividade Android
- [x] 🪸 Reef Panel — Gerenciamento do daemon na sidebar
- [x] 🐙 Daemon Standalone — Download e execução do daemon como executável
- [x] 🔒 Security Audit Template — Template de pipeline para auditoria de segurança
- [x] ⏱️ Step Timeout — Timeout configurável por step em pipelines
- [x] 📝 Named Pipe Connection — Detecção instantânea do daemon via named pipe
- [x] 1392 testes em 46 arquivos
✅ v0.6.0
[x] 🏗️ Refatoração do extension.ts — Split em merge-orchestrator, command-registry, session-callback, activation
[x] 📖 CONTRIBUTING.md completo
[x] 📊 Test coverage report com @vitest/coverage-v8
[x] ⚙️ Settings granulares para merge, health, cleanup e history
[x] 🌐 Internacionalização (i18n) com bundles PT-BR
[x] 🔄 Session Replay para debugging
[x] 📈 Dashboard de métricas
[x] 💾 Persistência de sessões em disco
[x] 🔍 Diff viewer para changedFiles
[x] 📦 Export/import de sessões cross-machine
[x] 🔬 Discovery incremental com delta detection
[x] 📡 Signal Bus Subscriptions com push delivery (Kafka-like)
[x] 🔧 Worktree: npm install em vez de junction/hardlink (fix Windows/vitest)
[x] 1527 testes em 53 arquivos
✅ v0.7.0
- [x] 🏗️ client-manager.ts split — God object (3858 LOC) extraído em 5 módulos: types, sdk-loader, worktree-manager, signal-bus, health-monitor
- [x] 🧹 Memory leak fixes — 4 leaks reais em removeSession() corrigidos + SignalBus cleanup
- [x] ⚡ Build de produção — minificação, sem sourcemap, VSIX de 2.73 MB → 682 KB
- [x] 🔧 CI Node.js 24 — Fix deprecation warnings + action-gh-release v2
- [x] 📝 Prompt files fix — Frontmatter corrigido para spec VS Code
- [x] 1689 testes em 58 arquivos
✅ v0.8.0
- [x] 🧠 Session Learning v2 — Lições per-project, tool
query_lessons, hook enforcement, captura estruturada, skill Octopus atualizada
- [x] 📋 Task Ledger — Registro automático de delegações, prompt
#ledger, comando readLedger
- [x] ⏱️ Activity-based timeout — Inatividade 10min configurável substitui timeout fixo de 30min
- [x] 🏗️ command-registry split — 1040 LOC → 7 módulos focados em
src/commands/
- [x] 2018 testes em 67 arquivos
✅ v0.9.0
- [x] 🧠 Session Learning v2 rewrite — Captura incondicional de LESSON + REPORT, injeção por config/heurística, callback enriquecido
- [x] 🚀 Daemon sem auto-start — User controla lifecycle via sidebar
- [x] 🔧 Real subscription models + reasoningEffort support
- [x] 📊 Daily nerve center metrics + session checkpoint + mode badge
- [x] 🐛 Fixes: acumulação de assistant messages, project name em lessons, status bar
- [x] 2439 testes em 81 arquivos
✅ v0.10.0
- [x] ⚖️ TaskWeight classification — Classificação heurística de complexidade (ultralight/light/standard/heavy/gate-only)
- [x] 🧪 runTests opt-in — Testes só rodam quando explicitamente pedido, eliminando overhead de 60-120s por delegação
- [x] 🔄 Pipeline templates redesenhados — 11 templates com separação clara de responsabilidades (researcher/implementor/validator)
- [x] 🐛 Fixes: callback sanitization, hint suppression, test stability
- [x] 2615 testes em 84 arquivos
✅ v0.25.0
- [x] 🧠 Learning phases 1–4 — dedup lexical, cluster promotion com LLM, global lessons, sidebar com plan handoff
- [x] ⚖️ Tier-aware LLM picker —
ModelTierRegistry centralizado, elimina family: 'gpt-4o' hardcoded
- [x] 🐚 Shell Workbench — auto-discovery de shells,
ShellToolManager, playbooks com SHELL:RESULT
- [x] 3269 testes
✅ v0.27.0
- [x] 🎉 DSTP (Don't Stop The Party) — slash command global
/party <tarefa> (via chatPromptFiles). Gates anti-vagueness/zero-ambiguity/reality-check, delegation plan pré-aprovado, 10 MCP tools party_*, hooks globais, Command Palette, pipeline template party
- [x] 📋 tech-doc schema-driven —
techDocOptions tipado com guard PreToolUse para opções obrigatórias
- [x] 👻 Ghost-command lint —
scripts/lint-commands.mjs detecta copilot-delegate.* referenciados sem registerCmd
- [x] 🐛 Fix
skill-promotion — comando inexistente substituído por chamada direta a handleDelegateTask
- [x] 🐛 Fix
toggleRemoteMode — registrado no utility-commands.ts
- [x] 3394 testes
✅ v0.26.0
- [x] 🔇 Telemetria removida —
@vscode/extension-telemetry eliminado completamente; bundle ~35% menor
- [x] 🔔 Merge status explícito — callbacks de pipeline e sessão expõem resultado de merge (antes silencioso)
- [x] 🗂️ Classificação dirty_working_tree — separada de conflitos, com mensagem própria
- [x] 🌐 Agents e templates em inglês — 11 pipeline templates + agents reescritos em English para precisão com LLMs
- [x] 🐙 octopus.agent.md enxuto — 290 → 147 linhas, tabela de seleção de templates com coluna "use when"
- [x] 3109 testes
🔲 v0.13.0 (Próximas versões)
- [ ] Integração com GitHub Actions
- [ ] MCP integration para fontes externas (Confluence, Jira)
🤝 Contribuindo
Veja CONTRIBUTING.md para guia completo de setup, arquitetura e convenções.
📄 Licença
MIT — veja LICENSE.
⬆ Voltar ao topo
| |