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.
- package/.claude/rules/agent-authority.md +23 -86
- package/.claude/rules/dna-operacional.md +10 -9
- package/.claude/rules/memoria-inteligente.md +3 -5
- package/.claude/rules/natural-language-first.md +18 -60
- package/.claude/rules/puxar-e-entregar.md +31 -3
- package/CHANGELOG.md +419 -0
- package/bin/auroq-os.js +20 -2
- package/package.json +2 -1
- package/.claude/rules/agent-handoff.md +0 -97
- package/.claude/rules/commit-inteligente.md +0 -86
|
@@ -1,98 +1,35 @@
|
|
|
1
1
|
# Agent Authority — Auroq OS
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Exclusivo do Ops
|
|
4
4
|
|
|
5
|
-
|
|
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
|
-
|
|
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
|
-
|
|
11
|
+
## Quem faz o que
|
|
17
12
|
|
|
18
|
-
|
|
|
19
|
-
|
|
20
|
-
| Situacao diaria (
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
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
|
-
|
|
20
|
+
Workers e squads nao criam agentes (isso e dos Meta Squads) nem tomam decisao
|
|
21
|
+
estrategica (isso e do expert).
|
|
28
22
|
|
|
29
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
30
|
+
## Escalation
|
|
48
31
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
39
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
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
|
-
|
|
54
|
-
|
|
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
|
-
|
|
66
|
-
```
|
|
67
|
-
"Use *store pra guardar documentos ou *diagnose pra avaliar seu sistema."
|
|
68
|
-
```
|
|
27
|
+
## Comandos (`*comando`)
|
|
69
28
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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
|
-
#
|
|
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
|
|
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 (
|
|
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.
|
|
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
|