auroq-os 2.4.8 → 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.
@@ -33,7 +33,7 @@ concluida, decisao importante tomada, antes de fechar o computador.
33
33
 
34
34
  Leia as secoes `*commit`, `*pre-push` e `*sync` do ops.md e execute os passos como estao. O minimo inegociavel:
35
35
 
36
- - **SALVAR:** revisar o que mudou → conferir tracker/contexto → mensagem em linguagem de negocio → `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.
37
37
  - **ENTREGAR:** pre-push OBRIGATORIO (vault/.env fora do staging, `.gitignore` protege, nenhum arquivo gigante, branch certa) → `git push` → confirmar.
38
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.
39
39
 
@@ -45,3 +45,15 @@ Leia as secoes `*commit`, `*pre-push` e `*sync` do ops.md e execute os passos co
45
45
  4. Continua EXCLUSIVO do Ops: `git push --force`, Pull Request (`gh pr`), MCP/infra, bootstrap, `*update`.
46
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.
47
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auroq-os",
3
- "version": "2.4.8",
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
  ],