auroq-os 2.4.7 → 2.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,98 +1,35 @@
1
1
  # Agent Authority — Auroq OS
2
2
 
3
- ## Delegation Matrix
3
+ ## Exclusivo do Ops
4
4
 
5
- ### Ops — Operacoes Exclusivas
5
+ `git push --force` · Pull Request (`gh pr create` / `gh pr merge`) · MCP add/remove/configure ·
6
+ environment bootstrap · `*update`. Nenhum outro agente executa isso — delegar pro Ops.
6
7
 
7
- | Operacao | Exclusivo? | Outros Agentes |
8
- |----------|-----------|--------------|
9
- | `git push --force` | SIM | BLOQUEADO |
10
- | `git commit` / `git push` / `git pull` (salvar, entregar, puxar) | NAO — Ops e o DONO do ritual | QUALQUER agente executa o ritual do Ops (`rules/puxar-e-entregar.md`), sem pedir troca de agente |
11
- | `gh pr create` / `gh pr merge` | SIM | BLOQUEADO |
12
- | MCP add/remove/configure | SIM | BLOQUEADO |
13
- | Environment bootstrap | SIM | BLOQUEADO |
14
- | Commit inteligente (definicao do ritual) | SIM (dono) | Outros agentes EXECUTAM o ritual quando o expert pede |
8
+ **Salvar, entregar e puxar NAO sao exclusivos.** O Ops e o dono do ritual, mas qualquer
9
+ agente ativo o executa quando o expert pede, sem troca de agente (`rules/puxar-e-entregar.md`).
15
10
 
16
- ### Companion — Cerebro do Sistema
11
+ ## Quem faz o que
17
12
 
18
- | Operacao | Exclusivo? |
19
- |----------|-----------|
20
- | Situacao diaria (boot + briefing) | SIM |
21
- | Sistema de memoria (contexto, decisoes, padroes) | SIM |
22
- | Sistema de projetos (cockpit, trackers, escalacao) | SIM |
23
- | Weekly review | SIM |
24
- | Roteamento para agente adequado | SIM |
25
- | Criacao de projetos | SIM |
13
+ | Agente | Escopo proprio |
14
+ |--------|----------------|
15
+ | **Companion** | Situacao diaria, memoria (contexto, decisoes, padroes), projetos e trackers, weekly review, roteamento, criacao de projetos |
16
+ | **Organizer** | Diagnostico de organizacao, mover/renomear pra organizar, limpeza de duplicados e temporarios, backup espelhado, nomenclatura (mudanca em disco sempre com aprovacao do expert) |
17
+ | **Workers** | Executar tasks operacionais e atualizar documentos de trabalho |
18
+ | **Squads** | Rodar pipeline completo com quality gates, produzir outputs, atualizar KBs e skills |
26
19
 
27
- ### Organizer — Organizacao e Higiene do Sistema
20
+ Workers e squads nao criam agentes (isso e dos Meta Squads) nem tomam decisao
21
+ estrategica (isso e do expert).
28
22
 
29
- | Operacao | Exclusivo? |
30
- |----------|-----------|
31
- | Diagnostico de organizacao | SIM |
32
- | Mover/renomear arquivos pra organizar | SIM (com aprovacao do expert) |
33
- | Limpeza de temporarios e duplicados | SIM (com aprovacao do expert) |
34
- | Backup espelhado pro Google Drive | SIM |
35
- | Consultoria de nomenclatura e estrutura | SIM |
23
+ ## Meta Squads — criacao de agentes
36
24
 
37
- ### Meta Squads — Criacao de Agentes
25
+ `/squad-forge` squads multi-agente · `/mind-forge` mentes sinteticas e consultores ·
26
+ `/worker-forge` workers · `/clone-forge` clones de mentes reais · `/etlmaker` KBs.
38
27
 
39
- | Squad | Operacao Exclusiva |
40
- |-------|--------------------|
41
- | Squad Forge (`/squad-forge`) | Criar squads multi-agente a partir de processos |
42
- | Mind Forge (`/mind-forge`) | Criar mentes sinteticas e consultores |
43
- | Worker Forge (`/worker-forge`) | Criar workers especializados |
44
- | Clone Forge (`/clone-forge`) | Clonar mentes reais em agentes digitais |
45
- | ETLmaker (`/etlmaker`) | Extrair e estruturar conhecimento em KBs |
28
+ Fluxo: expert pede → Meta Squad adequado cria → expert valida.
46
29
 
47
- ### Workers — Execucao
30
+ ## Escalation
48
31
 
49
- | Permitido | Bloqueado |
50
- |---------|---------|
51
- | `git add`, `git commit`, `git status`, `git push`/`pull` (pelo ritual do Ops, com pre-push) | `git push --force` (so Ops) |
52
- | `git branch`, `git checkout` (local) | `gh pr create/merge` (delegar pra Ops) |
53
- | Execucao de tasks operacionais | Criar novos agentes (delegar pro Meta Squad adequado) |
54
- | Atualizacao de documentos de trabalho | Decisoes estrategicas (delegar pro Expert) |
55
-
56
- ### Squads — Processos Complexos
57
-
58
- | Permitido | Bloqueado |
59
- |---------|---------|
60
- | Executar pipeline completo com quality gates | `git push --force` / PR (so Ops) |
61
- | Criar documentos de output | Criar novos agentes (delegar pro Meta Squad adequado) |
62
- | Atualizar KBs e skills | Decisoes fora do escopo do squad |
63
-
64
- ## Cross-Agent Delegation
65
-
66
- ### Salvar / Entregar / Puxar Flow
67
- ```
68
- Expert pede ("salva", "entrega", "puxa") → o agente ATIVO executa o ritual do Ops (rules/puxar-e-entregar.md)
69
- Abertura de sessao → hook auroq-sync puxa sozinho se for seguro (nunca entrega sozinho)
70
- ```
71
-
72
- ### Novo Agente Flow
73
- ```
74
- Expert pede → Meta Squad adequado cria → Expert valida
75
- Squads → /squad-forge
76
- Minds → /mind-forge
77
- Workers → /worker-forge
78
- Clones → /clone-forge
79
- KBs → /etlmaker
80
- ```
81
-
82
- ### Projeto Novo Flow
83
- ```
84
- Expert pede → Companion cria (*novo-projeto) → Expert valida
85
- ```
86
-
87
- ### Memoria Flow
88
- ```
89
- QUALQUER agente detecta trigger → salva (ou pergunta) conforme rule memoria-inteligente
90
- Companion consolida no weekly review
91
- ```
92
-
93
- ## Escalation Rules
94
-
95
- 1. Agente nao consegue completar task → Informar expert com contexto
96
- 2. Quality gate falha → Retornar pro executor com feedback especifico
97
- 3. Violacao constitucional detectada → BLOCK, corrigir antes de prosseguir
98
- 4. Conflito de boundary → Constitution Art. II resolve (cada um faz o seu)
32
+ 1. Agente nao consegue completar a task → informar o expert com contexto
33
+ 2. Quality gate falha → volta pro executor com feedback especifico
34
+ 3. Violacao constitucional → BLOCK, corrigir antes de prosseguir
35
+ 4. Conflito de fronteira → Constitution Art. II resolve (cada um faz o seu)
@@ -28,12 +28,10 @@ SEMPRE que for executar:
28
28
 
29
29
  ## Handoff entre Agentes
30
30
 
31
- SEMPRE que trocar de agente:
32
-
33
- 1. Documento de trabalho deve estar atualizado com estado atual
34
- 2. Gerar handoff artifact compacto (~379 tokens): de quem, pra quem, decisoes, proxima acao
35
- 3. Armazenar em `.auroq/handoffs/`
36
- 4. Novo agente le documento + handoff antes de comecar
31
+ Ao trocar de agente, o que entra e o novo agente carrega e **so o resumo**, nunca a
32
+ persona inteira do anterior: documento de trabalho atualizado + de quem pra quem, o que
33
+ foi decidido, arquivos mexidos, blockers e proxima acao. O agente que sai nao leva junto
34
+ comandos, dependencias nem greeting do anterior.
37
35
 
38
36
  ## Anti-Entropia
39
37
 
@@ -47,7 +45,10 @@ SEMPRE:
47
45
 
48
46
  ## Session Management
49
47
 
50
- 1. Antes de autocompact iminente: salvar estado no documento de trabalho
51
- 2. Apos autocompact: reativar agente (rele arquivos + resumo da sessao)
52
- 3. Antes de trocar de sessao: commit (commit = botao salvar)
48
+ O contexto de uma conversa longa e compactado sem aviso — o que nao estiver em arquivo
49
+ se perde. Por isso:
50
+
51
+ 1. Sessao longa ou operacao demorada pela frente: salvar estado no documento de trabalho ANTES, nao depois
52
+ 2. Apos compactacao: reativar agente (rele arquivos + resumo da sessao)
53
+ 3. Antes de trocar de sessao: salvar (commit = botao salvar, ver `puxar-e-entregar.md`)
53
54
  4. Em novo chat: ativar agente → apontar pro documento de trabalho → continuar
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Todo agente no Auroq OS segue este protocolo de memoria. Nao e opcional.
4
4
 
5
- ## 6 Triggers — Quando Salvar
5
+ ## 5 Triggers — Quando Salvar
6
6
 
7
7
  ### 1. Decisao Tomada
8
8
  SE o expert decidiu algo significativo (estrategia, preco, foco, prioridade, cancelamento):
@@ -35,10 +35,8 @@ SE expert indica que vai fechar ou pede commit final:
35
35
  → Ops verifica no ritual de commit: contexto e trackers atualizados?
36
36
  → Atualizar `agents/companion/data/contexto-dinamico.md` com onde paramos
37
37
 
38
- ### 6. Autocompact Iminente
39
- SE sessao longa e contexto pode ser compactado:
40
- → SALVAR ESTADO IMEDIATAMENTE no documento de trabalho
41
- → Atualizar contexto-dinamico se nao fez ainda
38
+ > Salvar estado antes de compactacao de contexto e responsabilidade do
39
+ > `dna-operacional.md` (Session Management) — nao repetir aqui.
42
40
 
43
41
  ## Onde Cada Coisa Vai
44
42
 
@@ -4,73 +4,31 @@
4
4
 
5
5
  Todo agente no Auroq OS opera por linguagem natural. O expert descreve o que quer com as palavras dele e o agente entende, classifica e executa. O expert NUNCA precisa saber nomes de comandos, sintaxe ou atalhos.
6
6
 
7
- ## Como funciona
7
+ Ele fala ("guarda esse documento", "instala esses squads que recebi", "ta uma bagunca aqui"), o agente mapeia pro modo certo internamente e executa — sem pedir pra reformular.
8
8
 
9
- 1. **Expert fala naturalmente** — "guarda esse documento de proposito", "instala esses squads que recebi", "ta uma bagunca aqui"
10
- 2. **Agente detecta intent** — mapeia a frase pro modo/acao correto internamente
11
- 3. **Agente executa** — sem pedir pro expert reformular ou usar comando especifico
9
+ ## Greetings
12
10
 
13
- ## Regras
11
+ O greeting diz quem o agente e e o que ele PODE FAZER, nunca como o expert deve DIGITAR.
12
+ Estrutura obrigatoria:
14
13
 
15
- ### Greetings
16
- - O greeting descreve quem o agente e, o que ele faz, e lista capacidades em linguagem natural com opcoes numeradas.
17
- - NUNCA listar sintaxe de comandos (`*comando`) no greeting. Listar o que o agente PODE FAZER, nao como o expert deve DIGITAR.
18
- - Comandos (`*comando`) so aparecem quando o expert pede `*help` explicitamente.
19
- - Padrao obrigatorio do greeting:
20
- 1. Banner com nome do agente
21
- 2. `Agente Auroq | Criado por Euriler Jube`
22
- 3. `Usado por ele e pela Mentoria Arcane`
23
- 4. Descricao criativa do que faz (2-3 linhas com personalidade)
24
- 5. "O que posso fazer:" + opcoes numeradas em linguagem natural
25
- 6. Convite aberto pra comecar
14
+ 1. Banner com nome do agente
15
+ 2. `Agente Auroq | Criado por Euriler Jube`
16
+ 3. `Usado por ele e pela Mentoria Arcane`
17
+ 4. Descricao criativa do que faz (2-3 linhas com personalidade)
18
+ 5. "O que posso fazer:" + opcoes numeradas em linguagem natural ("Diagnosticar — analisar sistema e bagunca existente"), nunca sintaxe (`*diagnose — Diagnosticar sistema`)
19
+ 6. Convite aberto pra comecar
26
20
 
27
- ### Deteccao de Intent
28
- - Todo agente mantem internamente um mapa de intent (frase natural → modo/acao).
29
- - SE a frase do expert nao encaixa em nenhum intent: perguntar pra clarificar, nao pedir pra usar comando.
30
- - SE ambiguo entre 2 intents: perguntar "Voce quer X ou Y?" com linguagem natural, nao com nomes de comandos.
31
-
32
- ### Comandos (`*comando`)
33
- - Existem como atalho pra power users que ja conhecem o sistema.
34
- - NUNCA sao mencionados proativamente (exceto no `*help`).
35
- - NUNCA sao exigidos. Tudo que um comando faz, a linguagem natural tambem faz.
36
- - Documentados no `*help` de cada agente pra quem quiser.
37
-
38
- ### Exemplos
39
-
40
- **ERRADO (greeting):**
41
- ```
42
- 1. *diagnose — Diagnosticar sistema
43
- 2. *store — Guardar documento
44
- 3. *clean — Limpar lixo
45
- ```
46
-
47
- **CERTO (greeting):**
48
- ```
49
- === NOME DO AGENTE ===
50
- Agente Auroq | Criado por Euriler Jube
51
- Usado por ele e pela Mentoria Arcane
21
+ ## Deteccao de Intent
52
22
 
53
- Descricao criativa do que o agente faz.
54
- Duas ou tres linhas com personalidade e contexto.
55
-
56
- O que posso fazer:
57
-
58
- 1. Diagnosticar — analisar sistema e bagunca existente
59
- 2. Guardar — salvar documento no lugar certo
60
- 3. Limpar — remover lixo e duplicados
61
-
62
- O que ta precisando?
63
- ```
23
+ - Todo agente mantem internamente um mapa de intent (frase natural → modo/acao).
24
+ - Frase que nao encaixa em nenhum intent: perguntar pra clarificar, nao pedir comando.
25
+ - Ambiguo entre dois intents: perguntar "Voce quer X ou Y?" em linguagem natural — nunca "use `*store` ou `*diagnose`".
64
26
 
65
- **ERRADO (durante conversa):**
66
- ```
67
- "Use *store pra guardar documentos ou *diagnose pra avaliar seu sistema."
68
- ```
27
+ ## Comandos (`*comando`)
69
28
 
70
- **CERTO (durante conversa):**
71
- ```
72
- "Quer que eu guarde esse documento ou prefere que eu avalie como ta o sistema primeiro?"
73
- ```
29
+ - Existem como atalho pra quem ja conhece o sistema.
30
+ - NUNCA sao mencionados proativamente (excecao: `*help`, quando o expert pede).
31
+ - NUNCA sao exigidos. Tudo que um comando faz, a linguagem natural tambem faz.
74
32
 
75
33
  ## Applies To
76
34
 
@@ -1,4 +1,4 @@
1
- # Puxar e Entregar — Qualquer Agente Executa o Ritual do Ops
1
+ # Salvar, Entregar e Puxar — Qualquer Agente Executa o Ritual do Ops
2
2
 
3
3
  > O expert NUNCA precisa trocar de agente pra salvar, entregar ou puxar trabalho.
4
4
  > Quem estiver ativo (Companion, Organizer, squad, worker ou Claude sem agente) executa o ritual do Ops por baixo.
@@ -8,16 +8,32 @@
8
8
 
9
9
  | O expert diz (exemplos) | Acao |
10
10
  |-------------------------|------|
11
- | "salva", "guarda isso", "faz checkpoint", "commita" | SALVAR (commit inteligente) |
11
+ | "salva", "guarda isso", "faz checkpoint", "commita" | SALVAR (commit) |
12
12
  | "entrega", "manda pro GitHub", "sobe", "faz push" | ENTREGAR (push com pre-push) |
13
13
  | "salva e entrega", "fecha o dia", "acabei por hoje" | SALVAR + ENTREGAR |
14
14
  | "puxa", "atualiza do GitHub", "traz o que mudou", "sync" | PUXAR (sync) |
15
15
 
16
+ ## O que o commit e aqui
17
+
18
+ Commit nao e deploy de codigo: e o **botao salvar do negocio**. Cada commit e um ponto
19
+ de restauracao — se a maquina quebrar, se o contexto for compactado, se trocar de
20
+ computador, o ultimo commit e de onde se retoma. Por isso a mensagem conta o que
21
+ aconteceu no negocio, nao o que mudou nos arquivos:
22
+
23
+ `progresso:` avancou · `decisao:` decidiu · `processo:` documentou · `agente:` criou ou
24
+ melhorou agente · `conhecimento:` tratou a biblioteca · `campanha:` acao de campanha ·
25
+ `fix:` corrigiu · `setup:` configuracao.
26
+
27
+ Exemplo: `progresso: NDF Workshop fase 1 concluida — LP, flows e criativos prontos`
28
+
29
+ Momentos naturais de salvar: fim de sessao, troca de assunto, etapa de projeto
30
+ concluida, decisao importante tomada, antes de fechar o computador.
31
+
16
32
  ## O ritual — fonte da verdade: `.claude/commands/AuroqOS/agents/ops.md`
17
33
 
18
34
  Leia as secoes `*commit`, `*pre-push` e `*sync` do ops.md e execute os passos como estao. O minimo inegociavel:
19
35
 
20
- - **SALVAR:** revisar o que mudou → conferir tracker/contexto → mensagem em linguagem de negocio (`progresso:`, `decisao:`, `campanha:`...) → `git add` dos arquivos relevantes (NUNCA `business/vault/`, `.env`, chaves) → commit → confirmar ao expert em 1 linha.
36
+ - **SALVAR:** revisar o que mudou → conferir tracker/contexto → mensagem em linguagem de negocio → **mostrar a lista do que vai entrar e ter o OK do expert** (regra 7) → `git add` SO desses arquivos, um a um (NUNCA `git add -A`/`git add .`, NUNCA `business/vault/`, `.env`, chaves) → commit → confirmar ao expert em 1 linha.
21
37
  - **ENTREGAR:** pre-push OBRIGATORIO (vault/.env fora do staging, `.gitignore` protege, nenhum arquivo gigante, branch certa) → `git push` → confirmar.
22
38
  - **PUXAR:** se ha trabalho local, SALVAR primeiro (commit antes de pull, sempre) → `git fetch` → `git pull` (merge — nunca rebase com o expert) → relatar em portugues o que chegou (autor + o que fez) → conflito: conduzir com o expert, mostrando as duas versoes; em `agents/companion/data/` a resposta quase sempre e juntar as duas.
23
39
 
@@ -29,3 +45,15 @@ Leia as secoes `*commit`, `*pre-push` e `*sync` do ops.md e execute os passos co
29
45
  4. Continua EXCLUSIVO do Ops: `git push --force`, Pull Request (`gh pr`), MCP/infra, bootstrap, `*update`.
30
46
  5. O hook de abertura (`.claude/hooks/auroq-sync.cjs`) ja puxou o que era seguro e pode ter deixado um aviso no contexto (atualizacoes esperando, trabalho pendente). Repasse ao expert em 1-2 linhas, sem drama, e siga.
31
47
  6. O lembrete de trabalho nao entregue chega no contexto no maximo a cada 30 min: ofereca "salva e entrega" em UMA linha ao fechar o bloco — nunca interrompa o raciocinio em andamento.
48
+ 7. **A pasta e compartilhada; a conversa nao.** Outras janelas, agentes e squads escrevem
49
+ na mesma pasta, entao `git status` mostra trabalho que NAO e desta conversa — e um `git
50
+ add -A` publica isso pela metade, dentro de um commit com nome de outro assunto. Antes
51
+ de salvar, SEMPRE:
52
+ - rodar `git status --short` e separar o que ESTA conversa tocou do resto;
53
+ - mostrar ao expert a lista agrupada por assunto, em linguagem comum (nome do arquivo
54
+ nao basta: diga o que e). Ex: *"Vai entrar: a pagina de vendas que a gente fez agora.
55
+ Encontrei tambem 12 arquivos de financas, que nao sao deste assunto — parecem de outra
56
+ conversa sua."*;
57
+ - perguntar em UMA linha: *"salvo so o nosso, ou tudo junto?"* — e obedecer a resposta;
58
+ - na duvida, ou se ele nao responder, salvar SO o que esta conversa tocou. Deixar o resto
59
+ parado nunca perde nada: fica no lugar, esperando a conversa dona dele.
package/CHANGELOG.md ADDED
@@ -0,0 +1,419 @@
1
+ # Changelog
2
+
3
+ ## [2.4.9] — 2026-09-01
4
+
5
+ ### Salvar nunca mais leva junto o trabalho de outra conversa
6
+ A pasta do negocio e compartilhada entre janelas, agentes e squads, mas o ritual de
7
+ commit so pedia "adicionar os arquivos relevantes" — sem definir relevante e sem nada
8
+ preso ao escopo da conversa. Na pratica virava um `git add -A`: o expert aprovava a
9
+ MENSAGEM do commit e nunca via a LISTA de arquivos, entao trabalho pela metade de outra
10
+ sessao subia dentro de um commit com nome de outro assunto. Reportado por uma aluna e
11
+ reproduzido aqui (60 arquivos de outra frente quase entraram num commit de documentacao).
12
+
13
+ - **Antes de salvar, o agente mostra o que vai entrar.** Ele separa o que a conversa
14
+ atual tocou do resto, apresenta a lista em linguagem comum ("vai entrar a pagina de
15
+ vendas; achei tambem 12 arquivos de financas, que parecem de outra conversa sua") e
16
+ pergunta: "salvo so o nosso, ou tudo junto?". Sem nada de fora, nao pergunta nada.
17
+ - **Na duvida, salva so o da conversa.** Deixar o resto parado nunca perde trabalho —
18
+ fica no lugar, esperando a conversa dona dele. O erro caro e o contrario.
19
+ - **`git add -A` e `git add .` proibidos** no ritual; adicao caminho por caminho,
20
+ conferencia do que ficou preparado antes de fechar e commit por pathspec quando o
21
+ resto e de terceiros (o que outra sessao preparou fica intocado).
22
+ - Vale pra TODOS os agentes, nao so o Ops: a mesma protecao entrou na rule
23
+ `puxar-e-entregar.md`, porque hoje o Companion e os squads tambem atendem
24
+ "salva e entrega".
25
+
26
+
27
+ ## [2.4.8] — 2026-09-01
28
+
29
+ ### Enxugamento das rules — menos instrucao repetida em toda sessao
30
+ Contexto: a Anthropic cortou 80% do system prompt do Claude Code (02/07/2026) e
31
+ publicou o motivo — regra repetida e exemplo pronto estreitam a decisao dos modelos
32
+ novos em vez de melhora-la. As rules do Auroq carregam em TODA sessao, no Claude e no
33
+ Grok (que le `.claude/rules/` do mesmo jeito), entao duplicacao ali custa em toda
34
+ conversa do aluno.
35
+
36
+ - **`commit-inteligente.md` absorvido por `puxar-e-entregar.md`:** os dois ensinavam o
37
+ mesmo ritual de salvar/entregar, e o passo a passo completo ja vive no `ops.md`, que
38
+ e a fonte da verdade. As travas do pre-push (vault, `.env`, chaves) continuam
39
+ intactas — isso e seguranca, nao repeticao.
40
+ - **`agent-handoff.md` removido:** protocolo de compactacao que nada executava; o que
41
+ importa (levar so o resumo, nunca a persona do agente anterior) esta no
42
+ `dna-operacional.md`.
43
+ - **"Salve antes da compactacao de contexto" estava em tres arquivos.** Agora mora so
44
+ no `dna-operacional.md` (Session Management).
45
+ - **`natural-language-first.md` sem os blocos longos de exemplo ERRADO/CERTO:** a regra
46
+ continua inteira, o exemplo que so ocupava espaco saiu.
47
+ - **`agent-authority.md` enxuto:** as exclusividades reais do Ops em duas linhas, no
48
+ lugar de sete tabelas.
49
+ - **O `init` agora apaga rules aposentadas.** Ele sempre sobrescreveu o que estava na
50
+ lista, mas nunca apagava o que saia dela — quem ja tinha instalado ficaria com a
51
+ regra velha convivendo com a nova. Coberto por `tests/rules-aposentadas.test.mjs`.
52
+
53
+ Resultado, medido na maquina (upgrade real 2.4.7 -> 2.4.8): o que carrega em toda
54
+ sessao caiu de 26.982 para 18.792 caracteres (-30%).
55
+ Nenhuma regra de seguranca, de licenciamento (carve-out Arcane) ou do aluno
56
+ (`custom-do-aluno.md`) foi tocada.
57
+
58
+ ## [2.4.7] — 2026-09-01
59
+
60
+ ### Fix
61
+ - Dica da senha corrigida: a tela mostra asteriscos (ou nada, dependendo da janela) — a versao 2.4.6 dizia que nada aparecia.
62
+
63
+ ## [2.4.6] — 2026-09-01
64
+
65
+ ### Fix — semana de campo: /euriler existia na aula, nao no disco
66
+ - **Atalhos do Pack Arcane no disco:** `/euriler`, `/trafegoArcane` e os demais 16 atalhos do Pack agora viajam no pacote e o `init` os instala. O conteudo continua chegando ao vivo pelo MCP — mas sem o arquivo do atalho, o Claude Code respondia "Unknown command" mesmo com MCP conectado e licenca ativa. Copiados SO SE NAO EXISTEM: aluno antigo com a versao completa local (vitalicia) nunca e sobrescrito (EMB-019).
67
+ - **Ops destrava sem atalho:** quando `/euriler` nao existe, o Ops ativa o Clone direto pela tool `squad_ativar` (tabela atalho ↔ recurso_id na secao PACK ARCANE) e so entao oferece o update. Diagnostico do Pack passa SEMPRE por `auroq-os doctor` / MCP `arcane` — nunca por Vercel/Cloudflare/Playwright.
68
+ - **A janela do Windows parava de fechar sozinha:** rodando por `irm | iex`, qualquer `exit` do instalador fechava a janela inteira do PowerShell antes de o aluno ler a mensagem (seis relatos em uma semana — inclusive quem so estava reinstalando e via a janela "cair" ao digitar o nome). Toda parada agora mantem a janela aberta; o `exit` com codigo continua valendo quando o script roda de arquivo (CI e testes).
69
+ - **Nome de pasta com espaco, acento ou maiuscula e ajustado, nao recusado:** "Fevo Ecossistema" vira `fevo-ecossistema`, com aviso na tela. Nos dois instaladores (Mac e Windows).
70
+ - **Reinstalacao virou confirmacao:** quem roda o instalador de novo com o Auroq ja montado recebe "voce ja tinha instalado" + os proximos passos prontos pra colar, em vez de um aviso seco que sumia com a janela.
71
+ - **Senha do login avisada:** a tela do login agora diz que a senha nao aparece enquanto digita — metade dos chamados de "nao estou conseguindo digitar" era so isso.
72
+ - **`*update-auroq` com consentimento pro aluno antigo (EMB-019):** projeto sem conteudo ao vivo so migra depois de um SIM explicito, com a troca explicada em linguagem comum. Nada de empurrar a migracao.
73
+
74
+ ## [2.4.5] — 2026-09-01
75
+
76
+ ### Fix — a travessia do aluno antigo virou caminho único
77
+ - O `*update-auroq` das versões antigas manda ler a lista ATUALIZA no ops.md do pacote novo — que hoje é um ponteiro pro MCP. Um Ops antigo podia tentar a tool (que o projeto dele ainda não tem) e parar no meio. O ponteiro agora traz a instrução de migração explícita: fallback determinístico via `init` do pacote baixado, que preserva os dados e registra o conteúdo ao vivo.
78
+
79
+ ## [2.4.4] — 2026-09-01
80
+
81
+ ### Feat — quem esta em versao antiga descobre e migra sem quebrar nada
82
+ - **Aviso automatico de versao nova:** ao abrir o Claude Code no projeto, o sistema compara a versao instalada com a do npm (1x por dia, silencioso quando esta em dia) e oferece o update. Ninguem mais descobre versao nova por acaso.
83
+ - **`auroq-os register-mcp`:** comando novo que reescreve o registro do conteudo ao vivo (`.mcp.json` + `.codex/config.toml`). E o que faltava pra projeto antigo migrar pelo `*update` sem ficar com Companion mudo: o `*update-auroq` agora registra o MCP como passo obrigatorio e fecha com `auroq-os doctor` — so encerra com o diagnostico limpo.
84
+ - **`*update-auroq` mostra o que mudou:** antes de aplicar, o Ops resume o CHANGELOG da versao nova em linguagem comum.
85
+ - **README ganhou as secoes "Conteudo ao vivo" e "Atualizar o sistema":** o que mora no computador vs o que chega ao vivo pelo MCP `arcane`, como atualizar com uma frase e a garantia de que os dados do expert nunca sao tocados.
86
+
87
+ ## [2.4.3] — 2026-08-27
88
+
89
+ ### Fix — Ops pedia zip do Pack Arcane
90
+ - O Pack da mentoria chega ao vivo. `*install-pack` e `*update-packarcane` nao pedem mais zip, path nem `npx arcane-pack`. A prova e `/euriler` (Codex: `$euriler`) + oi.
91
+ - A casca ganhou a mesma regra, e ela vence se o MCP ainda estiver velho.
92
+ - Catalogo vivo `auroq-core@2.3.3` republicado em 28/08 (EMB-018): o 2.3.2 ainda servia o `*install-pack` antigo.
93
+
94
+ ## [2.4.2] — 2026-08-27
95
+
96
+ ### Fix — piloto Windows real (Marcos)
97
+ - **`npx.ps1` barrado pela politica do Windows.** O PowerShell resolve `.ps1` antes de `.cmd`. Chamado pelado, `npx` vira `npx.ps1` e a politica padrao recusa abrir arquivo de script. A instalacao morria logo depois de baixar o motor. Conserto: chamar `npx.cmd` (funcao `Get-AuroqNpx`). **Nao** se mexe na execution policy (ADR-3).
98
+ - **`claude` nao respondia depois da parada 1.** O Claude Code se instala em `%USERPROFILE%\.local\bin` (e `~/.local/bin` no Mac) e nao publica a pasta. O instalador agora coloca essa pasta no PATH do usuario quando o binario existe.
99
+ - **O fecho pedia "abra a pasta".** Numa janela de texto isso nao quer dizer nada. Agora imprime o `cd` pronto pra colar, depois `claude`/`codex`, depois o Ops.
100
+ - **`core-config.yaml` mentia a versao.** Toda instalacao nova jurava ser 2.2.4, a versao do arquivo modelo. O `init` carimba a versao do pacote e a data de hoje.
101
+
102
+ ## [2.4.0] — 2026-08-27
103
+
104
+ ### Feat — Embarque em 2 passos: instalador proprio
105
+ - **`installer/install.sh` e `installer/install.ps1`:** um endereco (`arka.education/install.sh` / `.ps1`) instala Git, motor do sistema, login da mentoria, pasta do negocio e `init`. Sem `sudo`, sem Administrador, sem `Set-ExecutionPolicy`, sem `mkdir`/`cd` na mao. Bash 3.2 e PowerShell 5.1 — o que vem de fabrica na maquina do aluno.
106
+ - **Catalogo de falhas completo:** maquina velha, disco cheio, sem internet, PowerShell x86, janela da Apple fechada no meio, winget ausente, permissao negada, download corrompido (SHA256 conferido), antivirus, pasta ja ocupada, terminal que nao aceita resposta. Toda falha diz o que aconteceu, o que fazer agora e o contato do suporte.
107
+ - **Motor visivel pra quem abre pelo icone:** o bloco de ambiente vai pros dois perfis (`~/.zshrc` e `~/.zprofile`) no Mac e pro ambiente do usuario no Windows. Era a falha silenciosa do projeto — no terminal funcionava, no app nao, e ninguem via erro.
108
+ - **`auroq-os doctor` mais fundo:** informa a origem do motor (Auroq, Homebrew, nvm, sistema) e responde se o programa aberto pelo icone vai enxergar ele. Nao acusa quem ja tinha Homebrew ou nvm declarado no perfil.
109
+ - **`auroq-os init --pasta <nome>`:** cria a pasta e instala dentro dela, pra quem nao pode depender de um `cd`.
110
+ - **`~/.auroq/install.log`:** registro pro suporte, uma linha por evento. Sem e-mail, sem senha, sem token.
111
+ - **`lib/diagnostico.js`:** as decisoes do doctor viraram funcoes puras e testadas.
112
+
113
+ ### Feat — Bootstrap 1 para de refazer o que o instalador ja fez
114
+ - **FASE 0 nova ("de onde voce veio"):** o Ops le `~/.auroq/install.log` e pula Git e motor quando o instalador ja resolveu. Sem o arquivo (aluno antigo), segue como sempre foi.
115
+ - **FASE 1 emendada:** Homebrew deixa de ser o passo 1 obrigatorio (so entra quando alguma ferramenta pedir); motor minimo sobe de 18 pra 20 e o Ops **nao instala um segundo** quando ja existe um que serve; Python deixa de bloquear quem nao vai rodar transcricao local.
116
+
117
+ ### Fix — o portao de acesso e a conversa com o aluno (auditoria de 27/08)
118
+ - **O passo do login nao gateava nada.** Ele perguntava `auroq-os whoami` e lia o codigo de saida como "ja esta logado" — mas o `whoami` imprimia "Nao autenticado" e saia com **sucesso**. Numa maquina nova de verdade (o unico caso que importa), o instalador dizia "voce ja estava logado" pra quem nunca logou, pulava o portao, criava a pasta do negocio no disco e so entao morria dentro do `init`. O portao virou `check-access`, que confere o contrato online antes de qualquer coisa ser criada.
119
+ - **`whoami` passa a dizer a verdade no codigo de saida:** 0 so com sessao salva e ultimo status `ativo`.
120
+ - **As perguntas voltaram a ser do aluno.** Por `curl | bash`, a entrada padrao do script — e de todo programa que ele chama — e o proprio texto do install.sh. O pedido de e-mail e senha lia uma linha do script como resposta, e a pergunta da segunda maquina era respondida sozinha. `login` e `init` agora rodam ligados no terminal de verdade.
121
+ - **Conta suspensa, cancelada ou finalizada nao deixa mais pasta pra tras** (§10.1 nº 9).
122
+
123
+ ### Testes
124
+ - 4 suites novas (`installer-sh`, `installer-ps1`, `diagnostico`, `cli-embarque`): 88 testes no total. Os do PowerShell rodam de verdade quando ha um `pwsh` na maquina.
125
+ - +11 testes de regressao do portao e da conversa: provados nos dois sentidos (falham com o defeito, passam com a correcao).
126
+
127
+ ## [2.3.0] — 2026-08-25
128
+
129
+ ### Feat — tarball MOTOR+CASCA (ainda NÃO é `latest`)
130
+ - **K9:** esta versão só pode ir pro npm com dist-tag `next`. Não vira `latest` até o T1 do MCP `auroq-core` passar em produção.
131
+ - **Corte do miolo:** `files` deixa de levar `agents/` de conteúdo (Clone Forge, Companion, Consultor, forjas). Organizer (síntese pública) e `seeds/` (memória/docs em branco) ficam.
132
+ - **Casca no pack:** `prepack` sobrepõe CLAUDE.md, AGENTS.md, constitution, DNA, ops.md, shims e rules de MCP. `postpack` restaura o working tree. Tarball medido: 158.7 kB / 121 arquivos (antes ~2.14 MB / 279).
133
+ - **Installer:** não copia forjas; semeia dados do aluno sem sobrescrever; `doctor` falha alto se autoload faltar; patch idempotente de `enableAllProjectMcpServers`.
134
+ - **Login:** fingerprint de device em `~/.arcane/credentials.json`; contrato `finalizado` pode reinstalar (K6). Pack download continua exigindo `ativo`.
135
+
136
+ ## [2.2.4] — 2026-08-21
137
+
138
+ ### Feat — browser nativo, Computer Use e comunicacao direta
139
+ - **Bootstrap 1 atualizado por runtime:** Claude Code configura Claude in Chrome via `/chrome` e Computer Use via `/mcp` no macOS elegivel; o app ChatGPT/Codex instala Browser, Chrome e Computer Use por Plugins; Codex CLI/IDE e Grok sem integracao exposta caem explicitamente no Playwright, sem sucesso falso.
140
+ - **Playwright continua obrigatorio:** Chromium e Firefox permanecem registrados; Chromium ganha smoke test bloqueante e vira fallback/automacao tecnica, nao porta universal pra qualquer tarefa web.
141
+ - **Output style `Direto`:** projeto entrega e ativa um estilo de brevidade inteligente — resultado primeiro, contexto minimo, risco material preservado.
142
+ - **Regra de operacao autonoma:** escopo, persistencia, credenciais, honestidade e ordem de ferramentas passam a valer no Claude (`.claude/rules`) e no Codex (`AGENTS.md`).
143
+ - **Material didatico corrigido:** Consultor passa a ensinar API/CLI/MCP → browser conectado → Playwright → Computer Use.
144
+ - **Gates reais:** recurso nativo so e marcado como pronto depois de status + smoke test; indisponibilidade por plano, OS, politica ou rollout e registrada e coberta pelo fallback.
145
+
146
+ ## [2.2.3] — 2026-08-21
147
+
148
+ ### Feat — O ritual vira invisível: puxar automático + qualquer agente salva e entrega
149
+ - **Hook `auroq-sync.cjs` (SessionStart):** ao abrir o `claude` na pasta do negócio, checa o GitHub e **puxa sozinho quando é seguro** (working tree limpo, nada por enviar), deixando no contexto o que chegou pro agente relatar em português ("Marcos subiu 9 criativos"). Se há trabalho local não entregue, NÃO puxa — avisa e sugere "salva e entrega" primeiro. Sem conexão ou sem GitHub: silêncio. **Nunca entrega sozinho.**
150
+ - **Lembrete (UserPromptSubmit):** quando há trabalho não entregue há 30+ min, injeta um lembrete discreto (no máximo 1 a cada 30 min) pra o agente oferecer "salva e entrega" ao fechar o bloco. Estado fora do repositório (tmpdir) — nunca suja o git do aluno.
151
+ - **Rule `puxar-e-entregar.md` (universal):** "salva", "entrega", "puxa" em linguagem natural são executados pelo agente ATIVO seguindo o ritual do Ops (`*commit`, `*pre-push`, `*sync`) — o expert nunca mais troca de agente pra isso. As travas do pre-push (vault/.env) valem pra todo agente.
152
+ - **Autoridade ajustada** (ops.md, agent-authority, AGENTS.md, Companion): o Ops segue DONO do ritual e exclusivo em `push --force`, PR, MCP/infra, bootstrap e `*update`; commit/push/pull viram ritual compartilhado.
153
+ - Hooks registrados em `.claude/settings.json` (arquivo de framework, versionado — viaja no clone e chega no update); `*update-auroq` passa a atualizar esse arquivo.
154
+
155
+
156
+ ## [2.2.2] — 2026-08-07
157
+
158
+ ### Improve — Grok Build como terceiro runtime
159
+ - `AGENTS.md` e `README` passam a tratar **Claude Code**, **Codex CLI** e **Grok Build** como harnesses oficiais.
160
+ - Grok usa a camada Claude nativa (`.claude/commands`, rules, `AGENTS.md`) — **sem** precisar de `sync:codex`.
161
+ - Ativacao por harness documentada: Codex via `$nome` + skills; Claude/Grok via slash commands / pedido de ativacao.
162
+ - Constitution e higiene de sessao atualizadas pra incluir Grok (um runtime por sessao).
163
+
164
+ ## [2.2.1] — 2026-08-05
165
+
166
+ ### Change — Colaborador não precisa ser aluno (política oficial)
167
+ - `clone` **não pede mais login de aluno** — colaborador do negócio de um aluno clona sem conta na mentoria. O gate real do clone é o convite do GitHub (repo privado); um `git clone` puro já entregaria o mesmo conteúdo. Os gates de aluno seguem onde há valor do framework: `init` (criar negócio do zero) e `*update-auroq` (atualizar o sistema — só o dono atualiza; o colaborador recebe a atualização via `*sync`, porque o update vira commit no repo).
168
+ - Ops (seção MULTI-MAQUINA) e README documentam a política.
169
+
170
+ ## [2.2.0] — 2026-08-05
171
+
172
+ ### Feat — Multi-máquina e colaborador
173
+ - **Novo comando `npx auroq-os clone`** — o caminho oficial da segunda máquina (e do colaborador). Clonar JÁ é a instalação: baixa o negócio inteiro do GitHub (sistema, agentes, memória do Companion, documentos), com o mesmo gate de aluno do init, e completa só o que não viaja — npm install, skills do Codex, proteções de segredo e health check. Aceita `owner/repo`, URL ou caminho; sem argumento, lista os repositórios da conta via GitHub CLI pra escolher.
174
+ - **Guardrail no `init`** — em instalação nova, pergunta se o aluno já usa o Auroq em outra máquina; se sim, aborta e aponta pro `clone`. Mata o erro clássico de criar um segundo Auroq desconectado (históricos que não se cruzam + versões divergentes do framework). Update/reinstall em pasta existente não pergunta. Escape: `AUROQ_INIT_MODE=novo`.
175
+ - **Ops ganha `*sync`** — puxar as atualizações do GitHub no início da sessão, com commit-antes-de-pull automático, condução de conflito pra leigo (memória do Companion = juntar as duas versões) e relatório em português do que chegou. Ritual oficial: sentou → `*sync` · levantou → `*commit` + `*push`.
176
+ - **Ops ganha a seção MULTI-MAQUINA E COLABORADOR** — sabe orientar: clone (nunca init), convite-não-senha (GitHub Collaborators, assinatura Claude própria, cofre "Equipe" no 1Password com escopo), régua do diário (colaborador lê e escreve a memória do Companion), arquivo pesado no Drive.
177
+
178
+ ### Security — Fix do .gitignore (vazamento de Service Key)
179
+ - O `.gitignore` do aluno passa a ser **gerado por código** (`applySecretProtections`), não copiado de arquivo — o tarball do npm não preservava o arquivo de forma confiável e instalações reais ficavam com um .gitignore de 4 linhas **sem `business/vault/`**, onde o Bootstrap salva a Service Key do Supabase em texto plano: o primeiro push do aluno subia segredo pro GitHub.
180
+ - Novo comando `npx auroq-os fix-gitignore` — merge idempotente (adiciona o que falta, preserva linhas do expert) + **destraqueia segredos já versionados** (`git rm --cached` em vault/.env/chaves; os arquivos continuam no disco) e avisa quando podem já ter subido pro remote (conduzir rotação das chaves).
181
+ - Roda automaticamente no `init`, no `clone` e no `*update-auroq` (Passo 5) — aluno existente é migrado no próximo update sem fazer nada.
182
+ - Proteções também para mídia pesada (png/jpg/mp4/mov/mp3/wav) — repo é texto; mídia vai pro Drive.
183
+
184
+ ### Improve
185
+ - Versão dinâmica no banner e rodapé (lida do package.json; acabou o "v2.1.0" hardcoded).
186
+ - Health check extraído (`runHealthChecks`) e compartilhado por init e clone.
187
+
188
+ ## [2.1.6] — 2026-06-26
189
+
190
+ ### Improve
191
+ - Bootstrap 2 (Ops) — seção do Cloudflare reescrita pra leigo. Dois caminhos explícitos: **Caminho A** (já tem domínio → apontar nameservers, guiado por print da tela porque cada registrador é diferente) e **Caminho B** (comprar novo direto no Cloudflare, recomendado — já nasce conectado).
192
+ - Deixa claro que o aluno pode ter **quantos domínios quiser** na conta e adicionar mais a qualquer momento.
193
+ - Documenta o limite real: o Cloudflare Registrar **não vende `.com.br`** (nem ccTLD br) — quem quer `.com.br` compra no Registro.br e cai no Caminho A.
194
+ - Gate de verificação reforçado: confirma que o(s) domínio(s) esperado(s) aparecem nas zonas, não só que o MCP conectou.
195
+
196
+ ## [2.1.5] — 2026-06-24
197
+
198
+ ### Fix
199
+ - O `init` (rodado direto ou via `arcane-pack update`) deixa de sobrescrever customizacoes do aluno. Antes, todo update restaurava os arquivos de framework (`CLAUDE.md`, rules, companion) com `overwrite: true` — quem editava esses arquivos perdia o trabalho no proximo update (so o git checkpoint salvava).
200
+ - Novo lugar oficial pra customizacao: `.claude/rules/custom-do-aluno.md` — semente criada na 1a vez e NUNCA mais sobrescrita. E onde regras de comportamento e overrides do aluno devem morar (o Auroq ja carrega tudo de `.claude/rules/` automaticamente).
201
+ - `.claude/settings.local.json` passa a ser preservado (config local do aluno, nao do framework).
202
+ - `CLAUDE.md` documenta os 2 lugares que sobrevivem a updates; o output do `init` avisa onde eles ficam.
203
+
204
+ ## [2.1.3] — 2026-06-10
205
+
206
+ ### Fix
207
+ - `init` cria o `package.json` ANTES de gerar as skills do Codex — o marcador de ownership nascia com o nome da pasta e todo sync seguinte recusava com "foreign" (quebrava o `arcane-pack update` em instalacoes novas).
208
+ - Ownership das skills do Codex passa a aceitar marcador da MESMA pasta de projeto mesmo que o name do package tenha mudado (repara projetos ja afetados sem intervencao manual).
209
+ - `*update-auroq` (Ops) passa a seguir a lista ATUALIZA do ops.md NOVO do pacote baixado — a lista da versao instalada nao conhecia arquivos novos (ex.: `scripts/sync-codex-skills.mjs` nunca chegava em quem atualizava a partir de <= 2.0.4).
210
+ ## [2.1.2] — 2026-06-10
211
+
212
+ ### Fix
213
+ - Bootstrap 2 deixa de configurar o 1Password, que passa a ser pre-requisito tratado no Step anterior da plataforma.
214
+ - Ops valida o cofre antes das conexoes e oferece duas rotas explicitas: voltar para configurar o 1Password ou continuar com vault local menos seguro.
215
+ - Todas as conexoes do Bootstrap 2 passam a obedecer uma politica unica de armazenamento de credenciais.
216
+
217
+ ## [2.1.1] — 2026-06-09
218
+
219
+ ### Fix
220
+ - Remove command orfao do Squad Edicao do core; squads Arcane pertencem ao `arcane-pack` e so ganham skill quando os arquivos completos sao instalados.
221
+ - Fluxo do Ops passa a exigir confirmacao do sync Codex executado pelo `arcane-pack@1.2.0+`.
222
+
223
+ ## [2.1.0] — 2026-06-09
224
+
225
+ ### Feat — Runtime hibrido oficial
226
+ - Claude Code e Codex CLI passam a ser runtimes oficiais equivalentes do Auroq OS.
227
+ - Installer gera e verifica skills Codex no local oficial `.agents/skills`, isoladas por projeto e sem colisao global entre negocios.
228
+ - Sync Codex com ownership, collision guard, deteccao real de drift, execucao fora da raiz e descoberta automatica de comandos customizados.
229
+ - Ops atualiza `AGENTS.md` e a ponte Codex, regenerando as skills no pos-update.
230
+ - Constitution 2.0.0 torna o projeto Auroq no terminal o centro de comando, sem dependencia conceitual de um fornecedor.
231
+
232
+ ### Quality
233
+ - Quality gates raiz: lint, typecheck estrutural, testes Node e pack dry-run.
234
+ - Testes cobrem determinismo, portabilidade, preservacao de skills externas, drift e colisoes.
235
+
236
+ Histórico de versões do Auroq OS. Formato: data + o que mudou.
237
+
238
+ ## [1.6.1] — 2026-05-08
239
+
240
+ ### Fix — Ops install/update-squad/install-pack
241
+
242
+ - **Slash command file usa agora `slash_prefix:` do `squad.yaml`, não nome da pasta.** Antes: Ops criava `.claude/commands/{nome-da-pasta}.md` cegamente — funciona se `slash_prefix == nome-da-pasta`, mas QUEBRA se o squad declara um slash diferente.
243
+
244
+ Exemplo concreto que motivou o fix: Slide Forge v2 tem pasta `slide-forge` mas `slash_prefix: "slideForgeV2"`. Do jeito antigo, Ops criaria `.claude/commands/slide-forge.md` → aluno ativaria com `/slide-forge` (errado). Agora cria `.claude/commands/slideForgeV2.md` → ativa com `/slideForgeV2` (correto).
245
+
246
+ - **Suporte a `slash_prefix_legacy:`** pra alias backward-compat. Squad pode declarar nome novo + nome antigo no mesmo `squad.yaml`. Ops cria os 2 command files. Útil pra updates que mudam ativação (v1 → v2): aluno que tinha hábito do nome antigo continua funcionando, e o novo está disponível.
247
+
248
+ - **Conteúdo do command file melhorado:** descrição lida de `description:` ou `title:` do squad.yaml. Chief agent detectado de `tiers.orchestrator[0]` automaticamente.
249
+
250
+ - **Aplicado em 3 lugares:** `*install` Passo 4, `*update-squad` Passo 7, `*install-pack` Passo 3.
251
+
252
+ ### Por que isso importa
253
+
254
+ Sem esse fix, qualquer squad da Mentoria Arcane que declara `slash_prefix` diferente do nome da pasta era instalado errado. Aluno ativava `/{nome-pasta}` em vez do nome correto `/slug-real`. Agora é determinístico.
255
+
256
+ ---
257
+
258
+ ## [1.6.0] — 2026-05-08
259
+
260
+ ### Feat — Ops
261
+
262
+ - **`*update-squad`: protocolo dedicado de atualização de squad existente.** Aluno baixa zip da versão nova de um squad (ex: `slide-forge-v2.0.0.zip`) e roda `*update-squad` — Ops faz a operação completa preservando dados:
263
+ - Detecta versão atual instalada vs versão do zip (lendo campo `version:` do `squad.yaml`)
264
+ - Mostra diff de versão pro aluno confirmar
265
+ - Detecta modificações locais do aluno em arquivos do framework (a princípio aluno não deveria modificar) → cria backup em `_backup-tuas-mods/{slug}-v{old}-{timestamp}/` antes de sobrescrever
266
+ - Backup completo do squad antigo em `agents/_archive/{slug}-v{old}-{timestamp}/` (retenção 30 dias)
267
+ - **Preserva sempre runtime do aluno:** `agents/{slug}/minds/` (outputs do expert), `.state.json` (pipeline em andamento), `*-state.json`
268
+ - Substitui só arquivos framework (agents/, tasks/, data/, workflows/, checklists/, templates/, squad.yaml, README)
269
+ - Atualiza slash command em `.claude/commands/{slug}.md` se mudou
270
+ - Validação pós-update + rollback automático se algum check falhar
271
+ - Reporta o que mudou + caminhos dos backups
272
+
273
+ - **`*install` ganhou smart detection.** Antes: se squad já existia, perguntava só "quer sobrescrever?" — apagava `minds/` e tudo. Agora: se squad existe, oferece 3 opções:
274
+ 1. **Atualizar** (recomendado) — reroteia pra `*update-squad` (preserva dados)
275
+ 2. **Reinstalar do zero** — apaga tudo e instala como novo (raro, requer dupla confirmação)
276
+ 3. **Cancelar**
277
+ - Ainda: se aluno usa `*update-squad` num squad que NÃO existe, reroteia automaticamente pro `*install`.
278
+
279
+ - **Greeting do Ops atualizado:** novo item "4. Atualizar squad — substituir squad existente por versao nova (preserva teus dados)".
280
+
281
+ ### Cenários de uso
282
+
283
+ - **Aluno recebe slide-forge v2:** zip nomeado com versão (`slide-forge-v2.0.0.zip`). Roda `*update-squad`, drag-and-drop do zip. Ops detecta v1 instalada, confirma update, faz backup, preserva minds/, instala v2 limpo.
284
+ - **Aluno tenta `*install` num squad já instalado:** Ops oferece atualizar via `*update-squad` antes de apagar dados.
285
+ - **Aluno modificou framework localmente:** Ops detecta divergências, oferece backup-tuas-mods antes de sobrescrever.
286
+
287
+ ### Detalhes técnicos
288
+
289
+ - Backup retenção: 30 dias (squad antigo em `agents/_archive/`)
290
+ - Backup das mods locais: separado em `_backup-tuas-mods/` pra clareza
291
+ - Whitelist de runtime preservado: `minds/`, `.state.json`, `*-state.json`, `.local/`
292
+ - Rollback automático se validação pós-update falhar (`squad.yaml` parseável, `start.md` existe, slash command aponta pra arquivos existentes, runtime preservado intacto)
293
+
294
+ ---
295
+
296
+ ## [1.5.0] — 2026-05-08
297
+
298
+ ### Refactor
299
+ - **Squad Forge reescrito do zero.** Plano de correção em 7 fases aplicado após diagnóstico que revelou squads gerados superficiais (agentes 90-130 linhas, sem Output Examples, sem Immune System, com refs externas a paths privados que quebravam na máquina do aluno). Versão antiga: 1.0.0. Nova: 2.0.0.
300
+
301
+ ### Feat — Squad Forge
302
+
303
+ - **6 tasks novas:** `fix-squad`, `update-squad`, `rebuild-squad` (modos completos do greeting), `generate-prd`, `generate-stories` (Story-Driven — Article III Constitution), `self-test` (auto-validação contínua). Total: 12 tasks (era 6).
304
+ - **Profundidade obrigatória nos squads gerados:** hard gates bloqueiam QG-SF-004 se agente sair com <250 linhas, sem 3+ OUTPUT EXAMPLES concretos, sem 3+ IMMUNE SYSTEM triggers rastreáveis, ou com <5 frases-chave. Self-audit quantitativo via bash + self-healing loop (max 3 tentativas).
305
+ - **REGRA AUTOCONTIDO (NON-NEGOTIABLE):** squads gerados nunca mais saem com refs a `docs/knowledge/...`, `squads/etlmaker/kbs/...`, `business/...`, `~/euriler-brain/`, ou absolute paths. Fontes externas viram build-time inputs — Smith lê, processa, sintetiza, e ESCREVE conteúdo novo dentro de `squads/{name}/data/`. Aluno consegue zipar e rodar em qualquer máquina.
306
+ - **Story-Driven Development:** todo squad gerado vem com PRD em `docs/prd/squad-{slug}.md` (FRs/NFRs/CONs/SCs rastreáveis aos PUs via Trace Matrix), stories em `docs/stories/squad-forge/{slug}/` (1 epic com 5 ACs = 5 QGs + 1 story por fase), e tracker em `business/campanhas/squad-{slug}/tracker.md` (Project Tracker Protocol).
307
+ - **Modos completos no greeting:** `*start` (criar), `*update {squad}` (modificação cirúrgica preservando profundidade), `*fix {squad}` (audit + auto-fix + lista manual), `*rebuild {squad}` (reverse-extract + reconstruir com profundidade nova), `*self-test` (audita o próprio squad-forge).
308
+ - **Instalação automática (Fase 5):** após QG-SF-005 PASS, squad é copiado pra `squads/{name}/`, skill registrada em `.claude/commands/{slashPrefix}.md`, MEMORY.md atualizado, tracker atualizado, validação pós-instalação. Rollback completo se qualquer sub-step falha. Backup automático em `squads/_archive/` se squad já existia.
309
+ - **Template de agente condicional (target_audience):** start.md Step 3 pergunta se squad é `internal` (uso interno do dono — pode ter refs `business/cockpit.md`) ou `distributed` (alunos/clientes — REGRA AUTOCONTIDO ativa). Default seguro: distributed.
310
+ - **State management real:** `.state.json` atualizado por todos os 3 agentes em cada round/fase. `*resume` agora retoma de verdade da última fase incompleta (antes era fingido).
311
+ - **Quality thresholds centralizados:** `data/quality-thresholds.yaml` é single source of truth — extraction, agent_depth, kb_depth (por tipo: operacional 800 / analítico-criativo 600 / dev 400), task_structure, workflow, autocontido, story_driven, installation. Mudar 1 valor propaga pra todos os checks.
312
+
313
+ ### Fix — Squad Forge
314
+
315
+ - Path do schema corrigido em `forge-smith.md` (`.aios-core/schemas/squad-schema.json`)
316
+ - `data/` padronizado em README e templates (era inconsistente com `knowledge/`)
317
+ - Comandos do chief alinhados ao greeting (antes greeting prometia 4 modos, chief tinha só `*start`)
318
+ - Numeração inconsistente em `architect-squad.md` corrigida
319
+ - Smoke tests em `validate-squad.md` sem hardcode de exemplo (era "oferta R$997")
320
+ - `current_phase` documentado como 0..5 (6 fases totais)
321
+
322
+ ### Migration
323
+
324
+ - **Squads existentes contaminados:** quem tinha squads gerados antes desta versão (com refs `business/cockpit.md` ou `business/campanhas/*/tracker.md` em runtime) deve rodar `*fix {squad-name}` pra detectar violações + `*update` ou `*rebuild` pra corrigir. Squads internos do dono (não distribuídos) podem ficar como estão.
325
+ - **Aluno via `*update` do Ops:** pasta `agents/squad-forge/` é sobrescrita (L1/L2/L3 — framework, igual ao fix de 1.4.1). Outputs em `agents/squad-forge/minds/` continuam preservados.
326
+
327
+ ### Detalhes técnicos
328
+
329
+ - Plano completo: `docs/plans/squad-forge-correcao-v2.md` (no AIOS — não distribuído)
330
+ - Backup local pré-sync: `_backup-pre-sync/squad-forge-pre-1.5.0-20260508-125651/`
331
+ - Validator: VALID, 0 errors, 1 warning não-bloqueante (`handoff_prompts` opcional)
332
+
333
+ ---
334
+
335
+ ## [1.4.1] — 2026-04-29
336
+
337
+ ### Fix
338
+ - **`*update` do Ops agora atualiza os meta squads em `agents/`.** Antes só
339
+ atualizava os arquivos `.claude/commands/{meta-squad}.md` (commands), mas
340
+ deixava o conteúdo da pasta `agents/{meta-squad}/` intocado — bug que
341
+ fazia atualizações do Clone Forge (e outros meta squads) não chegarem nos
342
+ alunos via `*update`. Agora `agents/squad-forge/`, `agents/mind-forge/`,
343
+ `agents/worker-forge/`, `agents/clone-forge/`, `agents/etlmaker/` e
344
+ `agents/organizer/` são tratados como L1/L2/L3 (framework) e sobrescritos.
345
+ Outputs em `agents/{meta-squad}/minds/` continuam preservados (L4 — dados
346
+ do expert).
347
+
348
+ ## [1.4.0] — 2026-04-29
349
+
350
+ ### Refactor
351
+ - **Clone Forge agora é self-contained.** Removida dependência do Squad Creator
352
+ Premium e dos agentes externos `@oalanicolas` e `@pedro-valerio` que travavam
353
+ o setup com "Squad Creator Premium nao instalado". Aluno baixa e roda do zero.
354
+
355
+ ### Feat
356
+ - 5 tasks novas no Clone Forge: `extract-voice-dna`, `extract-thinking-dna`,
357
+ `fidelity-score`, `validate-clone`, `clone-review`. Total: 17 tasks.
358
+ - 4 data files novos: `clone-anti-patterns`, `clone-validation`,
359
+ `output-examples`, `source-tiers`. Total: 11 data.
360
+ - Checklist `smoke-test-clone.md` (3 cenários padronizados).
361
+ - `@innerlens` absorve Voice DNA extraction, `@cognitive-motor` absorve
362
+ Thinking DNA, `@clone-forge-chief` absorve coleta + validação completa.
363
+
364
+ ### Fix
365
+ - Quick workflow não valida mais "MIUs >= 80%" no QG-005 quando Fase 2
366
+ (MIU extraction) é skipped — bug que dava comportamento indefinido.
367
+ - Removidas referências personalizadas em exemplos de tasks (paths e nomes
368
+ trocados por genéricos).
369
+
370
+ ## [1.3.2] — 2026-04-29
371
+
372
+ ### Chore
373
+ - Declara `engines.node >=18` no package.json (alinha com o check de runtime
374
+ que o installer já fazia, mas agora o npm avisa antes de instalar).
375
+ - LICENSE proprietário e CHANGELOG adicionados ao repo.
376
+ - `.gitignore` reorganizado: `.npmrc` movido pra seção de Secrets.
377
+
378
+ ## [1.3.1] — 2026-04-25
379
+
380
+ ### Fix
381
+ - CLI agora aponta pra `arcane.arka.education` na tela de login.
382
+ Antes mostrava `mentoria-arcane.vercel.app` (domínio antigo).
383
+
384
+ ## [1.3.0] — 2026-04-14
385
+
386
+ ### Feat
387
+ - Auth gate no CLI: comandos `init`, `login`, `logout`, `whoami`.
388
+ Aluno autentica com email + senha da Mentoria Arcane antes de instalar.
389
+ - Validação de acesso ativo via RPC `check_access_status` no Supabase.
390
+ - Modo offline: usa credencial local quando sem internet.
391
+
392
+ ## [1.2.0] — 2026-04-09
393
+
394
+ ### Fix
395
+ - Installer copia meta squads e scripts como diretórios inteiros
396
+ (antes copiava só arquivos individuais e perdia conteúdo).
397
+ - Installer bloqueia instalação na pasta home do usuário.
398
+ - Preserva companion personalizado (não sobrescreve com o genérico).
399
+ - Limpa commands antigos em camelCase ao atualizar.
400
+ - Migra meta squads de `squads/` pra `agents/` em projetos antigos.
401
+
402
+ ## [1.1.0] — 2026-04-08
403
+
404
+ ### Feat
405
+ - Meta squads incluídos: Squad Forge, Mind Forge, Worker Forge, Clone Forge, ETLmaker.
406
+ - Organizer com comando `*store`.
407
+ - Companion com knowledge completo (foundation, system-guide, modus-operandi,
408
+ arcane-method, expert-essencial).
409
+
410
+ ### Fix
411
+ - Installer sobrescreve framework mas preserva dados do aluno (resolve loop circular de update).
412
+ - Companion varre `agents/` pra descobrir especialistas instalados.
413
+
414
+ ## [1.0.2] — 2026-03-17
415
+
416
+ ### Setup
417
+ - Versão inicial pública: framework completo (constitution, synapse engine,
418
+ hooks, rules, companion, organizer).
419
+ - Bootstrap detecta OS (mac/windows) com mapa de comandos por plataforma.
package/bin/auroq-os.js CHANGED
@@ -571,8 +571,6 @@ async function init({ pasta = null } = {}) {
571
571
 
572
572
  // Rules
573
573
  '.claude/rules/agent-authority.md',
574
- '.claude/rules/agent-handoff.md',
575
- '.claude/rules/commit-inteligente.md',
576
574
  '.claude/rules/dna-operacional.md',
577
575
  '.claude/rules/evolucao-incremental.md',
578
576
  '.claude/rules/mcp-usage.md',
@@ -754,6 +752,23 @@ async function init({ pasta = null } = {}) {
754
752
  '.claude/commands/instalacaoBia.md',
755
753
  ];
756
754
 
755
+ // Arquivos de framework aposentados. O init sobrescreve o que esta na lista acima,
756
+ // mas nunca apaga o que saiu dela — sem isso a maquina de quem ja instalou fica com
757
+ // a regra velha convivendo com a nova. So arquivos NOSSOS entram aqui, nunca do aluno.
758
+ const arquivosAposentados = [
759
+ '.claude/rules/agent-handoff.md', // 2.4.8 — absorvido por dna-operacional.md
760
+ '.claude/rules/commit-inteligente.md', // 2.4.8 — absorvido por puxar-e-entregar.md
761
+ ];
762
+
763
+ let removidos = 0;
764
+ for (const file of arquivosAposentados) {
765
+ const alvo = path.join(targetDir, file);
766
+ if (await fs.pathExists(alvo)) {
767
+ await fs.remove(alvo);
768
+ removidos++;
769
+ }
770
+ }
771
+
757
772
  let copied = 0;
758
773
  for (const file of frameworkFiles) {
759
774
  // Pular companion.md generico se ja tem personalizado
@@ -776,6 +791,9 @@ async function init({ pasta = null } = {}) {
776
791
  }
777
792
  }
778
793
  success(`${copied} arquivos instalados`);
794
+ if (removidos > 0) {
795
+ success(`${removidos} regra(s) antiga(s) aposentada(s)`);
796
+ }
779
797
 
780
798
  let shimsCriados = 0;
781
799
  for (const file of packShimFiles) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auroq-os",
3
- "version": "2.4.7",
3
+ "version": "2.4.9",
4
4
  "description": "Auroq OS — Sistema Operacional de IA para Experts",
5
5
  "bin": {
6
6
  "auroq-os": "bin/auroq-os.js"
@@ -47,6 +47,7 @@
47
47
  "agents/organizer/",
48
48
  "AGENTS.md",
49
49
  "README.md",
50
+ "CHANGELOG.md",
50
51
  ".gitignore",
51
52
  ".env.example"
52
53
  ],
@@ -1,97 +0,0 @@
1
- # Agent Handoff Protocol — Context Compaction
2
-
3
- ## Purpose
4
-
5
- Prevent context window accumulation when switching between Auroq OS agents (`@agent` commands). Each agent switch compacts the previous agent's full persona into a structured handoff artifact (~379 tokens) instead of retaining the full definition (~3-5K tokens).
6
-
7
- ## When This Applies
8
-
9
- This protocol activates whenever:
10
- 1. A user invokes a new agent via `@agent-name` or `/AuroqOS:agents:agent-name`
11
- 2. The current session already has a different agent active
12
-
13
- ## Handoff Protocol
14
-
15
- ### On Agent Switch (outgoing agent)
16
-
17
- Before loading the new agent, mentally generate a handoff artifact with:
18
-
19
- ```yaml
20
- handoff:
21
- from_agent: "{current_agent_id}"
22
- to_agent: "{new_agent_id}"
23
- story_context:
24
- story_id: "{active story ID}"
25
- story_path: "{active story path}"
26
- story_status: "{current status}"
27
- current_task: "{last task being worked on}"
28
- branch: "{current git branch}"
29
- decisions:
30
- - "{key decision 1}"
31
- - "{key decision 2}"
32
- files_modified:
33
- - "{file 1}"
34
- - "{file 2}"
35
- blockers:
36
- - "{any active blockers}"
37
- next_action: "{what the incoming agent should do}"
38
- ```
39
-
40
- ### On Agent Switch (incoming agent)
41
-
42
- The incoming agent receives:
43
- 1. Its own **full agent profile** (persona, commands, dependencies)
44
- 2. The **handoff artifact** from the previous agent (compact summary)
45
- 3. **NOT** the previous agent's full persona/instructions/tool definitions
46
-
47
- ### Compaction Limits
48
-
49
- | Limit | Value |
50
- |-------|-------|
51
- | Max handoff artifact size | 500 tokens |
52
- | Max retained agent summaries | 3 (oldest discarded on 4th switch) |
53
- | Max decisions in artifact | 5 |
54
- | Max files_modified entries | 10 |
55
- | Max blockers | 3 |
56
-
57
- ### What to Preserve (ALWAYS include)
58
-
59
- - Active story ID and path
60
- - Current task being worked on
61
- - Git branch name
62
- - Key architectural decisions made
63
- - Files created or modified
64
- - Active blockers
65
-
66
- ### What to Discard (NEVER carry forward)
67
-
68
- - Previous agent's full persona definition
69
- - Previous agent's command list
70
- - Previous agent's dependency list
71
- - Previous agent's tool configurations
72
- - Previous agent's CodeRabbit integration details
73
- - Previous agent's greeting templates
74
-
75
- ## Storage
76
-
77
- Handoff artifacts are stored at `.auroq/handoffs/` (runtime, gitignored). Format: `handoff-{from}-to-{to}-{timestamp}.yaml`.
78
-
79
- ## Template Reference
80
-
81
- Full template: `.auroq-core/development/templates/agent-handoff-tmpl.yaml`
82
-
83
- ## Example
84
-
85
- Session flow: `@sm` creates story → `@dev` implements → `@qa` reviews
86
-
87
- After `@sm` → `@dev` switch:
88
- - `@sm` full persona (~3K tokens) is **discarded**
89
- - Handoff artifact (~379 tokens) is **retained**: story ID, decisions, files, next action
90
- - `@dev` full persona (~5K tokens) is **loaded**
91
- - **Total context: ~5.4K** instead of ~8K (33% reduction per switch)
92
-
93
- After `@dev` → `@qa` switch:
94
- - `@dev` full persona is **discarded**
95
- - `@dev` handoff artifact is **retained** alongside `@sm` handoff
96
- - `@qa` full persona is **loaded**
97
- - **Total context: ~5.2K** instead of ~12K (57% reduction after 2 switches)
@@ -1,86 +0,0 @@
1
- # Commit Inteligente — Ritual de Incrementacao
2
-
3
- > No Auroq OS, commit nao e sobre deployar codigo. E sobre **salvar o checkpoint do negocio**.
4
- > Cada commit e um ponto de evolucao incremental do sistema.
5
-
6
- ## Quando Commitar
7
-
8
- - Final de sessao de trabalho significativa
9
- - Antes de trocar de assunto/projeto
10
- - Antes de fechar o computador
11
- - Quando completou uma etapa de projeto
12
- - Quando tomou decisoes importantes
13
-
14
- ## Ritual do Commit (Ops executa)
15
-
16
- ### 1. Revisar o que mudou
17
- ```
18
- git status + git diff
19
- ```
20
- Entender: o que progrediu desde o ultimo commit?
21
-
22
- ### 2. Verificar projetos ativos
23
- - SE trabalhou num projeto do cockpit → tracker esta atualizado?
24
- - SE tracker nao foi atualizado → atualizar ANTES do commit (log, status, blockers)
25
-
26
- ### 3. Verificar contexto
27
- - SE houve decisoes importantes → estao no `agents/companion/data/log-decisoes.md`?
28
- - SE o estado do negocio mudou → `agents/companion/data/contexto-dinamico.md` reflete?
29
- - SE algo foi aprendido → esta documentado em algum lugar?
30
-
31
- ### 4. Commitar com mensagem significativa
32
- A mensagem conta O QUE ACONTECEU no negocio, nao o que mudou nos arquivos:
33
-
34
- **Formato:**
35
- ```
36
- {tipo}: {o que aconteceu}
37
-
38
- {detalhes se necessario}
39
- ```
40
-
41
- **Tipos:**
42
- - `progresso:` — avancou em projeto/tarefa
43
- - `decisao:` — tomou decisao estrategica
44
- - `processo:` — documentou/criou/melhorou processo
45
- - `agente:` — criou/melhorou agente/squad/worker
46
- - `conhecimento:` — adicionou/tratou conhecimento na biblioteca
47
- - `campanha:` — acao de campanha (criativo, disparo, ajuste)
48
- - `fix:` — corrigiu problema
49
- - `setup:` — configuracao/infra
50
-
51
- **Exemplos:**
52
- ```
53
- progresso: NDF Workshop fase 1 concluida — LP, flows e criativos prontos
54
- decisao: definiu preco do ingresso em R$47 (teste contra R$97 no proximo ciclo)
55
- processo: documentou SOP de shift entre ciclos de lancamento
56
- agente: criou worker TechOps com vault e SOPs operacionais
57
- conhecimento: ETL completo de criativos de anuncio (9 vols, 6450 linhas)
58
- campanha: lancou lote 2 de criativos — 9 pecas, 3 hooks novos
59
- ```
60
-
61
- ### 5. Push
62
- - Backup na nuvem (GitHub)
63
- - Historico incremental do negocio
64
- - Qualquer maquina, qualquer momento: `git clone` e o negocio ta la
65
-
66
- ## O que o Commit NAO e
67
-
68
- - NAO e sobre codigo limpo ou testes passando
69
- - NAO precisa de conventional commits estilo dev (feat/fix/chore)
70
- - NAO e obrigatorio ter tudo perfeito — e checkpoint, nao release
71
- - NAO e so pra deploy — e pra PERSISTIR evolucao
72
-
73
- ## Commit como Seguro
74
-
75
- > "Commit e o botao salvar do sistema."
76
-
77
- Se o computador quebrar, se o autocompact apagar tudo, se trocar de maquina — o ultimo commit e o ponto de restauracao. Quanto mais frequente, menos se perde.
78
-
79
- ## Protocolo do Ops
80
-
81
- Quando o expert pede `*commit` ou `*push`, o Ops executa o ritual completo:
82
- 1. Revisa mudancas
83
- 2. Pergunta se trackers e contexto estao atualizados
84
- 3. Sugere mensagem de commit baseada no que aconteceu
85
- 4. Expert aprova
86
- 5. Commit + push