auroq-os 2.8.2 → 2.8.4
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/.auroq-core/como-funciona.md +12 -2
- package/.auroq-core/core-config.yaml +1 -1
- package/.claude/commands/AuroqOS/agents/ops.md +4 -8
- package/.claude/hooks/auroq-ate-o-fim.cjs +102 -0
- package/.claude/rules/project-tracker.md +2 -2
- package/.claude/settings.json +15 -3
- package/AGENTS.md +2 -0
- package/CHANGELOG.md +25 -0
- package/README.md +53 -52
- package/bin/auroq-os.js +13 -13
- package/installer/install.ps1 +2 -2
- package/installer/install.sh +2 -2
- package/lib/runtime-integrity.json +11 -7
- package/package.json +2 -2
- package/scripts/runtime-integrity.mjs +1 -1
- package/seeds/business/cockpit.md +9 -0
|
@@ -92,12 +92,21 @@ agora; a certeza vem do uso; nada volta para o zero.
|
|
|
92
92
|
refinar (melhorar agentes e processos). Cada volta deixa o sistema mais forte.
|
|
93
93
|
|
|
94
94
|
**Conversa:** o Companion carrega onde paramos, mostra o que importa, o aluno escolhe o foco, a
|
|
95
|
-
equipe trabalha, no fim de cada tarefa a memória é salva
|
|
96
|
-
|
|
95
|
+
equipe trabalha e, no fim de cada tarefa, a memória é salva. Com o app Auroq OS aberto, o trabalho é salvo e
|
|
96
|
+
entregue no GitHub sozinho (a cada 15 minutos, ao abrir e ao fechar); sem o app, quando o aluno pede. O aluno
|
|
97
|
+
abre quantas conversas quiser dentro do projeto, uma por assunto, todas com o Companion.
|
|
97
98
|
|
|
98
99
|
**Semana:** sem revisão há 7 dias ou mais, o Companion propõe uma revisão de 20 minutos (cockpit,
|
|
99
100
|
trackers, pendências, padrões).
|
|
100
101
|
|
|
102
|
+
**Mês:** uma vez por mês, o Companion propõe a revisão do mês, também de uns 20 minutos: os números do
|
|
103
|
+
mês, o que funcionou, se os projetos levam à meta dos 90 dias e o foco do mês que vem
|
|
104
|
+
(`business/revisoes-do-mes.md`).
|
|
105
|
+
|
|
106
|
+
**Ano:** o plano da empresa (`business/plano-da-empresa.md`) diz aonde o negócio quer chegar em 12 meses,
|
|
107
|
+
em 4 trimestres. Cada trimestre é uma meta de 90 dias. O Companion propõe montar o plano na primeira
|
|
108
|
+
revisão do mês e o refaz no fim do ano.
|
|
109
|
+
|
|
101
110
|
**Projeto:** nasce no cockpit com tracker e fases → os agentes trabalham e atualizam o tracker →
|
|
102
111
|
termina com uma retrospectiva de 3 perguntas e vai para o arquivo, abrindo vaga para o próximo.
|
|
103
112
|
|
|
@@ -154,6 +163,7 @@ concluída e conversa encerrando. Regra completa: `.claude/rules/memoria-intelig
|
|
|
154
163
|
Commit aqui não é coisa de programador: é o ponto de restauração do negócio. A mensagem conta o que
|
|
155
164
|
aconteceu (`progresso:`, `decisao:`, `processo:`, `agente:`, `conhecimento:`, `campanha:`, `fix:`,
|
|
156
165
|
`setup:`), não o que mudou nos arquivos. Entregar (push) manda a cópia para o GitHub privado do aluno.
|
|
166
|
+
Com o app aberto isso acontece sozinho a cada 15 minutos; o pedido "salva" continua valendo para salvar na hora.
|
|
157
167
|
Ritual em `.claude/rules/puxar-e-entregar.md`.
|
|
158
168
|
|
|
159
169
|
## Volante
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
# ops
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
O Ops foi aposentado para o aluno (23/10/2026). Quem cuida de tudo, inclusive do técnico, é o Companion.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Ao ser ativado por este atalho (`/AuroqOS:agents:ops` ou `$ops`): diga em UMA linha "Agora quem cuida disso é o Companion." e ative o Companion pelo mesmo caminho do atalho `/auroq-companion` (tool `squad_ativar` do MCP `arcane` com recurso_id `companion`), passando o pedido do aluno inteiro. O Companion resolve pelas skills técnicas dele (`conserto-tecnico`, `salvar-e-sincronizar`, `publicar-site`, `atualizar-sistema`, `configurar-computador`, `conectar-cofre`, `companion-externo`), que chegam ao vivo pelo MCP `arcane` (catálogo `auroq-core`). Nunca mande o aluno trocar de conversa nem digitar comando.
|
|
6
6
|
|
|
7
7
|
O Pack chega ao vivo pelo MCP. NUNCA peça zip nem instalacao do Pack.
|
|
8
8
|
|
|
9
|
-
**Execucao preparada pelo MCP:** Edicao, Carrossel, Trafego, Low Ticket e Bia recebem seus arquivos por `squad_passo` com o recurso_id do squad e passo `preparar-execucao`. O agente executa o script retornado na pasta do negocio e continua o trabalho. Anuncios funciona sem arquivos locais. Nao instalar nem atualizar Pack; nao pedir ZIP. Os arquivos locais servem apenas para executar o passo, nunca como fonte do metodo.
|
|
10
|
-
|
|
11
9
|
Ao ativar, mostre o selo de acesso que a tool devolver (as duas primeiras linhas) antes de qualquer outra coisa — é como o aluno vê que a licença dele foi conferida agora.
|
|
12
10
|
|
|
13
|
-
Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se existe `agents/ops/OPS-LOCAL.md` no disco (
|
|
11
|
+
Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se existe `agents/ops/OPS-LOCAL.md` no disco (o guia que já está no seu computador desde antes da migração). Se existir, avise em UMA linha — "O servidor não liberou o conteúdo ao vivo; seguindo com o guia que já está no seu computador." — e siga por esse arquivo, mostrando a mensagem do servidor junto. Se não existir, mostre a mensagem exatamente como veio, com o contato do suporte da Arcane, e pare (única exceção abaixo). Nunca improvisar de memória, nunca tentar de novo sozinho. O que já estava no computador do aluno antes da migração continua dele.
|
|
14
12
|
|
|
15
13
|
**Exceção — atualizar ou consertar a conexão sem o MCP:** se a tool falhou ou recusou e o aluno pediu para atualizar o sistema ou consertar a conexão, rode você mesmo na raiz do negócio (Windows: `npx.cmd` no lugar de `npx`), sem mandar o aluno ao terminal:
|
|
16
14
|
- atualizar: `npx -y auroq-os@latest manutencao --agente` (Claude Code: timeout 600000; Codex: espere a linha `AUROQ_RESULTADO`). `status=ok` → "Pronto, atualizei."; `motivo=login` → oriente o login na janela "Login Arcane" que abriu, nunca peça senha no chat, e peça que ele repita o pedido; `motivo=migracao` → peça o SIM e rode de novo com `--migrar-mcp`; outro erro → mostre a `mensagem` e sugira o Arcano;
|
|
17
15
|
- consertar a conexão: `npx -y auroq-os@latest register-mcp`.
|
|
18
16
|
Depois: "Feche e abra o Claude Code (ou o Codex) para terminar." Não rode `doctor` em seguida.
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
CRITICAL: Do not treat this file as the Bootstrap. Use the MCP `arcane` tools; fall back to `agents/ops/OPS-LOCAL.md` only after the MCP refused or failed and that file exists. Without the MCP, the only other local action is the update/connection exception above.
|
|
18
|
+
CRITICAL: Do not treat this file as a guide. Hand the request to the Companion through the MCP `arcane` tools; fall back to `agents/ops/OPS-LOCAL.md` only after the MCP refused or failed and that file exists. Without the MCP, the only other local action is the update/connection exception above.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Freio "trabalhar até o fim" (Stop do Claude Code, 2.8.4).
|
|
4
|
+
*
|
|
5
|
+
* Confere a última resposta da IA antes de ela chegar ao aluno. Se a resposta termina pedindo licença
|
|
6
|
+
* para um passo de rotina ("quer que eu...?", "posso seguir?") ou manda o aluno rodar um comando que
|
|
7
|
+
* ele não pediu para rodar sozinho, devolve a vez à IA uma única vez, para ela fazer e responder de novo.
|
|
8
|
+
*
|
|
9
|
+
* Até a 2.8.3 era um gancho de IA (`type: "prompt"`). Quando ele segurava uma resposta, o Claude Code
|
|
10
|
+
* mostrava ao aluno o texto inteiro das instruções ("Stop hook feedback: [Você confere a última
|
|
11
|
+
* resposta...]"), e não há como esconder. Gancho de comando mostra só o comando e o motivo curto abaixo.
|
|
12
|
+
*
|
|
13
|
+
* Libera: o que é do aluno (senha, código, pagamento, apagar, mensagem a outra pessoa, publicar,
|
|
14
|
+
* GitHub), "Decide: A ou B?", passo a passo que o aluno pediu e relatório de IA da equipe.
|
|
15
|
+
* Qualquer falha sai em silêncio com código 0: o freio nunca trava a conversa.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
'use strict';
|
|
19
|
+
|
|
20
|
+
const fs = require('node:fs');
|
|
21
|
+
|
|
22
|
+
const MOTIVO = 'Auroq: faça você mesmo o que a resposta deixava para o aluno e responda de novo, curto. Não comente esta conferência.';
|
|
23
|
+
const LER_DO_FIM = 512 * 1024;
|
|
24
|
+
|
|
25
|
+
const PEDE_LICENCA = [
|
|
26
|
+
/\b(?:quer|queres|deseja|gostaria)\s+que\s+eu\b[^?\n]{0,160}\?/i,
|
|
27
|
+
/\bposso\s+(?:seguir|continuar|prosseguir|come[cç]ar|fazer|rodar|executar|criar|ajustar|aplicar|corrigir|instalar|configurar|montar|gerar|atualizar|salvar)\b[^?\n]{0,160}\?/i,
|
|
28
|
+
/\b(?:sigo|continuo|prossigo|fa[cç]o|aplico|rodo)\s*\?/i,
|
|
29
|
+
/\bse\s+(?:voc[eê]\s+)?quiser,?\s+(?:eu\s+)?(?:posso|fa[cç]o|j[aá]\s+fa[cç]o)\b/i,
|
|
30
|
+
/\bme\s+(?:avise|avisa|diga|diz|fala)\s+(?:se|quando)\s+(?:quiser|puder|posso)\b/i,
|
|
31
|
+
];
|
|
32
|
+
const MANDA_RODAR = /\b(?:rode|roda|execute|executa|cole|cola|digite|digita)\b[^.\n]{0,80}\b(?:comando|terminal|powershell|prompt de comando)\b/i;
|
|
33
|
+
const DO_ALUNO = /\b(?:senha|c[oó]digo|captcha|biometria|2fa|pagamento|pagar|cart[aã]o|compra|comprar|apagar|excluir|deletar|remover|mensagem|enviar\s+para|mandar\s+para|publicar|publica[cç][aã]o|no\s+ar|github|push|entregar|entregue|decide:)/i;
|
|
34
|
+
const ALUNO_PEDIU_PASSO = /\b(?:eu\s+mesm[oa]|sozinh[oa]|me\s+ensin|passo\s+a\s+passo|como\s+(?:eu\s+)?fa[cç]o|me\s+explic|quero\s+aprender)/i;
|
|
35
|
+
|
|
36
|
+
function lerEntrada() {
|
|
37
|
+
try { return JSON.parse(fs.readFileSync(0, 'utf8') || '{}'); } catch { return {}; }
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function textoDe(conteudo) {
|
|
41
|
+
if (typeof conteudo === 'string') return conteudo;
|
|
42
|
+
if (!Array.isArray(conteudo)) return '';
|
|
43
|
+
return conteudo.filter(p => p && p.type === 'text').map(p => p.text || '').join('\n');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Lê do transcript a última resposta da IA, o último pedido do aluno e se a conversa é de equipe.
|
|
47
|
+
function lerConversa(caminho) {
|
|
48
|
+
const r = { resposta: '', pedido: '', equipe: false };
|
|
49
|
+
if (!caminho) return r;
|
|
50
|
+
let bruto;
|
|
51
|
+
try {
|
|
52
|
+
const fd = fs.openSync(caminho, 'r');
|
|
53
|
+
try {
|
|
54
|
+
const tam = fs.fstatSync(fd).size;
|
|
55
|
+
const inicio = Math.max(0, tam - LER_DO_FIM);
|
|
56
|
+
const buf = Buffer.alloc(tam - inicio);
|
|
57
|
+
fs.readSync(fd, buf, 0, buf.length, inicio);
|
|
58
|
+
bruto = buf.toString('utf8');
|
|
59
|
+
const cabeca = Buffer.alloc(Math.min(tam, 64 * 1024));
|
|
60
|
+
fs.readSync(fd, cabeca, 0, cabeca.length, 0);
|
|
61
|
+
r.equipe = cabeca.toString('utf8').includes('BRIEFING DA EQUIPE');
|
|
62
|
+
} finally { fs.closeSync(fd); }
|
|
63
|
+
} catch { return r; }
|
|
64
|
+
for (const linha of bruto.split('\n')) {
|
|
65
|
+
let ev;
|
|
66
|
+
try { ev = JSON.parse(linha); } catch { continue; }
|
|
67
|
+
const msg = ev && ev.message;
|
|
68
|
+
if (!msg || ev.isMeta) continue;
|
|
69
|
+
const texto = textoDe(msg.content).trim();
|
|
70
|
+
if (!texto) continue;
|
|
71
|
+
if (ev.type === 'assistant') r.resposta = texto;
|
|
72
|
+
else if (ev.type === 'user' && !texto.startsWith('<')) r.pedido = texto;
|
|
73
|
+
}
|
|
74
|
+
return r;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function deveSegurar(resposta, pedido) {
|
|
78
|
+
if (!resposta) return false;
|
|
79
|
+
// Só o fim da resposta importa: a pergunta de licença costuma fechar a mensagem.
|
|
80
|
+
const fim = resposta.split(/\n\s*\n/).slice(-2).join('\n');
|
|
81
|
+
if (DO_ALUNO.test(fim)) return false;
|
|
82
|
+
if (PEDE_LICENCA.some(re => re.test(fim))) return true;
|
|
83
|
+
if (MANDA_RODAR.test(resposta) && /```/.test(resposta) && !ALUNO_PEDIU_PASSO.test(pedido)) return true;
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function main() {
|
|
88
|
+
const entrada = lerEntrada();
|
|
89
|
+
if (entrada.stop_hook_active) return;
|
|
90
|
+
const conversa = lerConversa(entrada.transcript_path);
|
|
91
|
+
if (conversa.equipe) return;
|
|
92
|
+
const resposta = String(entrada.last_assistant_message || conversa.resposta || '');
|
|
93
|
+
if (!deveSegurar(resposta, conversa.pedido)) return;
|
|
94
|
+
process.stdout.write(JSON.stringify({ decision: 'block', reason: MOTIVO }));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (require.main === module) {
|
|
98
|
+
try { main(); } catch { /* nunca trava a conversa */ }
|
|
99
|
+
process.exit(0);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
module.exports = { deveSegurar };
|
|
@@ -26,7 +26,7 @@ Esta regra se aplica sempre que um agente trabalha em algo relacionado a um proj
|
|
|
26
26
|
|
|
27
27
|
### SE nao existe tracker
|
|
28
28
|
|
|
29
|
-
- Se o projeto esta no cockpit mas nao tem tracker:
|
|
29
|
+
- Se o projeto esta no cockpit mas nao tem tracker: criar o tracker pelo modelo (`business/templates/tracker-template.md`) e avisar o aluno em uma linha ("Criei o acompanhamento do projeto X.")
|
|
30
30
|
- Se o trabalho nao esta relacionado a nenhum projeto do cockpit: trabalhar normalmente sem tracker
|
|
31
31
|
|
|
32
32
|
## O que NAO fazer
|
|
@@ -34,7 +34,7 @@ Esta regra se aplica sempre que um agente trabalha em algo relacionado a um proj
|
|
|
34
34
|
- NAO criar tracker sem o projeto estar no cockpit
|
|
35
35
|
- NAO alterar tarefas de outros agentes (so atualizar as suas)
|
|
36
36
|
- NAO remover entradas do log (log e append-only)
|
|
37
|
-
- NAO mudar o objetivo ou fases do projeto (
|
|
37
|
+
- NAO mudar o objetivo ou as fases do projeto sozinho (quem decide e o aluno; o Companion propoe)
|
|
38
38
|
|
|
39
39
|
## Formato do LOG
|
|
40
40
|
|
package/.claude/settings.json
CHANGED
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
{
|
|
7
7
|
"matcher": "startup|resume|clear",
|
|
8
8
|
"hooks": [
|
|
9
|
-
{
|
|
9
|
+
{
|
|
10
|
+
"type": "command",
|
|
11
|
+
"command": "node .claude/hooks/auroq-sync.cjs --session-start",
|
|
12
|
+
"timeout": 25000
|
|
13
|
+
}
|
|
10
14
|
]
|
|
11
15
|
}
|
|
12
16
|
],
|
|
@@ -14,14 +18,22 @@
|
|
|
14
18
|
{
|
|
15
19
|
"matcher": "",
|
|
16
20
|
"hooks": [
|
|
17
|
-
{
|
|
21
|
+
{
|
|
22
|
+
"type": "command",
|
|
23
|
+
"command": "node .claude/hooks/auroq-sync.cjs --remind",
|
|
24
|
+
"timeout": 5000
|
|
25
|
+
}
|
|
18
26
|
]
|
|
19
27
|
}
|
|
20
28
|
],
|
|
21
29
|
"Stop": [
|
|
22
30
|
{
|
|
23
31
|
"hooks": [
|
|
24
|
-
{
|
|
32
|
+
{
|
|
33
|
+
"type": "command",
|
|
34
|
+
"command": "node .claude/hooks/auroq-ate-o-fim.cjs",
|
|
35
|
+
"timeout": 10
|
|
36
|
+
}
|
|
25
37
|
]
|
|
26
38
|
}
|
|
27
39
|
]
|
package/AGENTS.md
CHANGED
|
@@ -128,6 +128,8 @@ mesma resposta que essa parte não foi feita e por quê; nunca pule em silêncio
|
|
|
128
128
|
|
|
129
129
|
## Salvar e entregar
|
|
130
130
|
|
|
131
|
+
- Com o app Auroq OS aberto, o próprio app salva e entrega no GitHub privado sozinho, a cada 15 minutos, ao
|
|
132
|
+
abrir e ao fechar. As regras abaixo valem quando o aluno pede para salvar na hora e sem o app.
|
|
131
133
|
- Qualquer agente salva, entrega e puxa quando o aluno pede ("salva", "entrega", "puxa"), sem mandar
|
|
132
134
|
trocar de agente. O ritual completo está em `.claude/rules/puxar-e-entregar.md`.
|
|
133
135
|
- Antes de salvar: `git status --short`, separe o que esta conversa mexeu, mostre a lista em linguagem
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
## Unreleased
|
|
2
2
|
|
|
3
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.52, 27/10): **documentação revisada para o jeito de hoje.** O guia do sistema que o Companion usa com o aluno, a fundação do Companion e as fichas do Consultor não apresentam mais o Ops como técnico nem o nome personalizado do Companion; ensinam a abrir uma conversa nova dentro do projeto e chamar o Companion (quantas quiser, uma por assunto, nunca um chat por squad) e dizem que, com o app aberto, o salvamento na internet é automático a cada 15 minutos e ao abrir e fechar. A skill `configurar-computador` e o guia longo do Ops dizem que as contas são conectadas pelo Companion na primeira conversa, não na instalação.
|
|
4
|
+
- Motor: README com o app Auroq OS como caminho novo e o terminal como o caminho que a plataforma ensina hoje; segunda máquina pelo app ("Trazer projeto que já existe"); atualizar, primeiro uso e agentes core sem o Ops; endereço da plataforma `arcane.arka.education`. `AGENTS.md` e `.auroq-core/como-funciona.md` dizem que, com o app aberto, salvar e entregar são automáticos a cada 15 minutos.
|
|
5
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.51, 27/10): a renovação diz o salvamento certo: o app guarda a cópia na internet sozinho a cada 15 minutos e ao abrir e fechar (antes dizia 3 vezes por dia).
|
|
6
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.50, 27/10): na renovação, o jeito padrão de trabalhar é abrir uma conversa nova dentro do projeto e chamar o Companion ali (não a tela Início), e dá para abrir quantas conversas quiser, uma por assunto (correção do Euriler).
|
|
7
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.49, 27/10): o "como era, como é agora" da renovação virou uma fala pronta em linguagem de leigo (pedido do Euriler: "não na sua linguagem de IA"): o gerente que ia de mesa em mesa × o braço direito que chama a equipe; uma conversa por assunto, não por ajudante; as janelinhas da equipe trabalhando; sem palavras técnicas nesta etapa.
|
|
8
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.48, 27/10): na renovação do aluno antigo, o Companion explica com destaque o jeito de trabalhar agora: tudo começa no Companion (não existe mais um chat por squad); ele chama os squads da equipe Arcane e abre os especialistas em abas próprias do app, acompanha e entrega; conversa nova é para frente nova de trabalho, não para squad.
|
|
9
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.47, 27/10): ajustes da renovação depois do teste com uma aluna antiga simulada (pasta da versão 2.6.10 com Companion "Atlas"): o Companion não para mais para pedir licença em passo de rotina (abertura segue direto para a atualização; "ficou alguma dúvida?" saiu), e na etapa de ligar o que falta, uma conexão recusada ou que não conectou em 10 minutos vai para o backlog e ele oferece a próxima, sem pular para o pente-fino com itens ainda não oferecidos. A etapa em `.auroq/renovacao.json` é gravada antes da mensagem que fecha cada etapa.
|
|
10
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.46, 27/10): **revisão do mês e plano da empresa no Companion.** Decisão do Euriler: além da revisão semanal (projetos) e da meta de 90 dias, o Companion olha o negócio uma vez por mês e mantém um plano de 12 meses. Skill nova `revisao-mensal` (`*mensal`, "como foi o mês?"): o Companion puxa sozinho no briefing quando chega a data `Proxima revisao do mes` do cockpit (vale pela revisão semanal daquela semana; nesse dia não tem pergunta do dia); uns 20 minutos e no máximo 4 perguntas: números do mês (pode pular), o que funcionou, se os projetos levam à meta (meta vencida é revista ali), o plano e o foco do mês que vem; grava o bloco do mês em `business/revisoes-do-mes.md` e o foco no cockpit. Skill nova `plano-da-empresa` (`*plano`): aonde o negócio quer chegar em 12 meses, produtos, canais, os 4 trimestres (cada um é uma meta de 90 dias), o que fica de fora, tempo e dinheiro, em `business/plano-da-empresa.md`; proposto na primeira revisão do mês, nunca na primeira conversa; a cada 90 dias a próxima meta vem do trimestre seguinte; no fim do ano, plano novo. O `*primeiro-uso` grava as datas da próxima revisão semanal e do mês. Pelo npm (próxima versão): a semente do cockpit ganha `Proxima revisao do mes` e a seção `FOCO DO MES`, e o `como-funciona.md` explica o mês e o ano.
|
|
11
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.45, 27/10): **renovação do aluno que já usava o Auroq.** Decisão do Euriler: quem chega no app com uma pasta de antes não refaz a primeira conversa do zero. Skill nova `renovacao` no Companion (também por `*renovacao` ou "o que mudou?"): atualiza e confere o sistema; mostra o que mudou comparando com o que o aluno fazia (terminal, squads, Ops, Pack, Bootstrap, salvar), o que ele não precisa mais fazer e os superpoderes novos; explica que o Companion não tem mais nome personalizado e aposenta o atalho com o nome antigo; oferece todas as conexões e liberações que faltam, uma de cada vez (exceção à skill `liberacoes`); e passa um pente-fino no negócio (Mapa, projetos, nuvem, presença, equipe que ele não usa), pede o material que falta e fecha com um plano de 3 a 5 ações. Retomável em `.auroq/renovacao.json`; o fim grava também o `.auroq/primeiro-uso.json` que o app vigia.
|
|
12
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.44, 27/10): o aluno também pode pedir uma liberação por conta própria (por exemplo, numa etapa do Embarque da plataforma); o Companion faz na hora, uma por pedido, sem emendar as outras.
|
|
13
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.43, 27/10): a skill `liberacoes` aponta só para o guia do app (que mostra as telas de Logins dos sites e Controle do computador); a plataforma ainda não tem aula sobre elas.
|
|
14
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.42, 27/10): **as liberações do app entram uma de cada vez, na hora em que a tarefa precisa.** Decisão do Euriler: o aluno não libera tudo de uma vez. Skill nova `liberacoes` no Companion: logins dos sites (quando uma tarefa precisa entrar num site com a conta do aluno), controle do computador (quando precisa usar um programa do computador; no Windows nada a fazer), cofre (skill `conectar-cofre`) e as conexões do nível 2 (quando a tarefa usa o serviço). O Companion explica em uma linha por que precisa agora, mostra onde clicar e confere fazendo a tarefa; "agora não" vai para o backlog sem insistir. A IA sem pedir permissão já vem ligada pelo app.
|
|
15
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.41, 26/10): na conexão do GitHub, o Companion diz o que o app faz de verdade: o app copia o código e abre a página; o aluno cola o código no GitHub (Cmd+V / Ctrl+V), clica em Continue e em Authorize. Antes a skill mandava "conferir" o código.
|
|
16
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.40, 26/10): **as contas do nível 1 (GitHub, Vercel e Supabase) passam a ser conectadas pelo Companion na primeira conversa.** Decisão do Euriler: conectar na instalação do app não funciona bem para o aluno iniciante. Skill nova `conexoes-essenciais`: o Companion explica cada conta em uma linha, abre as páginas (GitHub primeiro, com a conta criada junto se o aluno não tiver; a Vercel e o Supabase entram com o GitHub), confere e segue; o aluno só cria a conta, entra e autoriza, sem senha nem código na conversa, sempre no plano grátis. Usa o comando `auroq conexoes` do app quando existir; antes disso, a tela Configurações → Conexões. O `*primeiro-uso` ficou: conferência e instalação do que faltar (o aluno nunca baixa nem instala programa), material, perguntas, Mapa, conexões (P6), organizar (P7) e fecho (P8).
|
|
17
|
+
- Conteúdo ao vivo (catálogo `auroq-core` 2.3.39, 26/10): **o cofre de senhas saiu da primeira conversa.** Decisão do Euriler: é técnico demais para o aluno iniciante e é conexão do nível 2 (com domínio próprio e Google, que o app chama de "conecte quando precisar"). No `*primeiro-uso` o Companion confere só o sistema e as contas do nível 1 (GitHub, Vercel e Supabase, que o app conecta na tela "Conectar suas contas") e vai para a entrevista; o cofre entra quando a primeira tarefa precisar de uma senha, chave ou token (skill `conectar-cofre`).
|
|
18
|
+
- **Regra de projetos do aluno sem o nome do Euriler.** `project-tracker.md` mandava "avisar o Euriler" quando faltava o acompanhamento de um projeto e dizia que só "o Euriler/Jarvis" mudam objetivo e fases (cópia da regra pessoal dele). Agora o Companion cria o acompanhamento pelo modelo e avisa o aluno em uma linha; quem decide objetivo e fases é o aluno (o Companion propõe). Chega pelo npm.
|
|
19
|
+
## 2.8.4 — 2026-10-27
|
|
20
|
+
|
|
21
|
+
- **O freio "trabalhar até o fim" parou de mostrar as instruções dele na tela do aluno.** Ele era um gancho de IA (`type: "prompt"`), e quando segurava uma resposta o Claude Code mostrava ao aluno o texto inteiro da conferência ("Você confere a última resposta de uma IA para um aluno leigo..."), sem como esconder (alunos relataram em 27/10). Agora é um gancho de comando (`.claude/hooks/auroq-ate-o-fim.cjs`): segura só quando a resposta termina pedindo licença para passo de rotina ("quer que eu...?", "posso seguir?") ou manda o aluno rodar comando que ele não pediu para rodar sozinho, e o aluno vê só uma linha curta ("Auroq: faça você mesmo..."). Libera o que é do aluno (senha, código, pagamento, apagar, mensagem, publicar, GitHub e entregar), "Decide: A ou B?" e IA da equipe. Saiu a conferência de "disse que está pronto sem conferir", que precisava de IA; essa regra segue no `AGENTS.md`. A manutenção troca o freio antigo pelo novo sozinha. Provado num Claude Code de verdade e em `tests/ate-o-fim.test.mjs`.
|
|
22
|
+
- Leva junto o que estava pronto na 2.8.3 (que não chegou ao npm). Instaladores fixam `auroq-os@2.8.4`.
|
|
23
|
+
|
|
24
|
+
## 2.8.3 — 2026-10-27
|
|
25
|
+
|
|
26
|
+
Motor com a documentação e os avisos do jeito de hoje: README com o app Auroq OS como caminho novo; o Companion no lugar do Ops nos avisos do terminal (doctor, manutenção, proteção de segredos) e na segunda máquina; `AGENTS.md` e `.auroq-core/como-funciona.md` dizem que, com o app aberto, salvar e entregar são automáticos a cada 15 minutos; regra de projetos do aluno sem o nome do Euriler; cockpit novo com a revisão do mês. Instaladores fixam `auroq-os@2.8.3`. O conteúdo ao vivo (catálogo `auroq-core`) segue publicado à parte, versão a versão, na lista acima.
|
|
27
|
+
|
|
3
28
|
## 2.8.2 — 2026-10-23
|
|
4
29
|
|
|
5
30
|
- Publicação final de 23/10 (ordem do Euriler: ele testa num Windows como aluno novo, do zero): o núcleo sai com o Companion orquestrador e sem o Ops para o aluno, e o catálogo ao vivo `auroq-core` vai para 2.3.38. O cliente do MCP passa a ser o `arcane-mcp` 0.7.1 (o exemplo da descrição do `squad_conhecimento` não mistura mais tópicos de squads diferentes, EMB-093). Os instaladores fixam `auroq-os@2.8.2`.
|
package/README.md
CHANGED
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
# Auroq OS — Sistema Operacional de IA para o negócio do aluno
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
O app **Auroq OS** (Mac e Windows) vira o centro de comando do seu negocio, com o Claude ou o ChatGPT (Codex)
|
|
4
|
+
por dentro. Este pacote (`auroq-os`) e o motor que o app instala e atualiza na pasta do seu negocio.
|
|
4
5
|
|
|
5
6
|
**Pensar. Fazer. Lembrar.** Tudo com IA.
|
|
6
7
|
|
|
7
8
|
## Instalacao
|
|
8
9
|
|
|
9
|
-
###
|
|
10
|
-
- Mac com Apple Silicon (recomendado)
|
|
11
|
-
- Node.js 22+
|
|
12
|
-
- Git
|
|
13
|
-
- Claude Code, Codex CLI ou Grok Build (um deles basta)
|
|
10
|
+
### O app Auroq OS (o caminho novo, chegando aos alunos)
|
|
14
11
|
|
|
15
|
-
|
|
12
|
+
Baixe o app pelo link que a mentoria passa, abra e entre com o mesmo e-mail e senha da plataforma
|
|
13
|
+
([arcane.arka.education](https://arcane.arka.education)). O app instala sozinho tudo o que precisa (Git, Node,
|
|
14
|
+
Python, os programas do GitHub, da Vercel e do Supabase e este motor), cria a pasta do seu negocio e abre a
|
|
15
|
+
primeira conversa com o Companion, que conhece voce e o seu negocio e conecta as suas contas. Voce nao abre
|
|
16
|
+
terminal nem baixa programa nenhum.
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
Ja usava o Auroq pelo terminal? Abra o app: ele acha a pasta do seu negocio sozinho, e o Companion faz a
|
|
19
|
+
renovacao (atualiza, mostra o que mudou e liga o que falta). Nada do que voce construiu se perde.
|
|
20
|
+
|
|
21
|
+
### Pelo terminal (o caminho que a plataforma ensina hoje, e o do Linux)
|
|
22
|
+
|
|
23
|
+
Cole **um endereco** no terminal (o de dentro do Claude Code ou do Codex serve). Ele instala o Git, o motor,
|
|
24
|
+
faz o login da mentoria, cria a pasta do seu negocio e monta tudo:
|
|
20
25
|
|
|
21
26
|
```bash
|
|
22
27
|
# Mac
|
|
@@ -26,25 +31,24 @@ curl -fsSL https://arka.education/install.sh | bash
|
|
|
26
31
|
irm https://arka.education/install.ps1 | iex
|
|
27
32
|
```
|
|
28
33
|
|
|
29
|
-
Depois, **feche e abra** o Claude Code ou o Codex
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
Depois, **feche e abra** o Claude Code ou o Codex e chame o Companion (`/auroq-companion` ou `$companion`). Em
|
|
35
|
+
negocio existente, peca ao Companion "atualiza o sistema" (em pasta de antes de 23/10/2026, o atalho do Ops
|
|
36
|
+
ainda atende esse pedido). Os agentes e squads chegam ao vivo, sem instalar
|
|
37
|
+
nem atualizar Pack.
|
|
34
38
|
|
|
35
39
|
> **Grok:** nao precisa de `sync:codex`. Ele descobre `.claude/commands/`,
|
|
36
40
|
> `.claude/rules/` e `AGENTS.md` sozinho. Use Claude/Grok com slash commands;
|
|
37
41
|
> use Codex com `$nome` apos o sync de skills.
|
|
38
42
|
|
|
39
43
|
> **Acesso exclusivo para alunos da Mentoria Arcane.** O instalador pede o mesmo email + senha
|
|
40
|
-
> que voce usa em [
|
|
44
|
+
> que voce usa em [arcane.arka.education](https://arcane.arka.education).
|
|
41
45
|
> A sessao fica salva em `~/.arcane/credentials.json` e renova automaticamente.
|
|
42
46
|
|
|
43
47
|
### Comandos de sessao
|
|
44
48
|
|
|
45
49
|
| Comando | O que faz |
|
|
46
50
|
|---------|-----------|
|
|
47
|
-
| `auroq-os manutencao` | Manutencao do motor no negocio existente; conteudo vem pelo MCP. **Caminho normal: pedir ao
|
|
51
|
+
| `auroq-os manutencao` | Manutencao do motor no negocio existente; conteudo vem pelo MCP. **Caminho normal: pedir ao Companion "atualiza o sistema"** — ele roda `manutencao --agente` (sem perguntas; ultima linha `AUROQ_RESULTADO ...`). Rodar no terminal e so reserva |
|
|
48
52
|
| `auroq-os clone` | Continua o SEU negocio em outra maquina (ou na maquina de um colaborador) — baixa tudo do GitHub, ja instalado |
|
|
49
53
|
| `auroq-os fix-gitignore` | Garante as protecoes de segredo no .gitignore (vault, .env, midia) e destraqueia segredos versionados |
|
|
50
54
|
| `auroq-os login` | Forca novo login (substitui credencial atual) |
|
|
@@ -53,21 +57,21 @@ O caminho manual antigo foi aposentado. Use a instalacao guiada acima. Em negoci
|
|
|
53
57
|
| `auroq-os doctor` | Diagnostico do suporte: arquivos, motor do sistema (e se o programa aberto pelo icone enxerga ele), registro do conteudo ao vivo, login e servidor |
|
|
54
58
|
| `auroq-os register-mcp` | Reescreve o registro do conteudo ao vivo no projeto (use se o `doctor` apontar que ele falta) |
|
|
55
59
|
| `auroq-os sync-codex` | Regenera e verifica as skills locais do Codex |
|
|
56
|
-
| `auroq-os conectar-1password` | Liga o 1Password ao Auroq sozinho (Mac/Windows): instala o `op` se faltar, cria o cofre `Claude` e uma conta de servico que so enxerga esse cofre (sem data de validade), guarda a chave no computador e testa. Voce so aprova no app do 1Password. O
|
|
57
|
-
| `auroq-os conectar-cofre` | Escolhe e liga o cofre de senhas: **1Password** (pago, uns US$ 3 por mes, confira o preco na tela, recomendado; preenche senha no navegador) ou **Infisical** (gratis, so guarda as chaves que o agente usa). Opcoes: `--cofre 1password\|infisical` (sem ela, pergunta qual), `--regiao us\|eu` (Infisical), `--estado` (em que etapa voce parou, sem falar com o cofre; com `--agente` imprime a linha `AUROQ_ESTADO ...`), `--rotacionar` (chave nova) e `--migrar` (passa as chaves do Infisical para o 1Password, sem apagar nada; so depois que todas passaram o 1Password vira o cofre ativo, e `--ignorar-fora-do-formato` deixa no Infisical as chaves com nome que o Auroq nao usa). Ligar o 1Password sozinho nao troca o cofre de quem ja usa o Infisical; ligar o Infisical com o 1Password ativo troca, e as chaves do 1Password nao sao levadas (continuam la, `segredo ler NOME --cofre 1password`). O
|
|
60
|
+
| `auroq-os conectar-1password` | Liga o 1Password ao Auroq sozinho (Mac/Windows): instala o `op` se faltar, cria o cofre `Claude` e uma conta de servico que so enxerga esse cofre (sem data de validade), guarda a chave no computador e testa. Voce so aprova no app do 1Password. O Companion roda isto por voce (`--agente`). Opcoes: `--conta "<e-mail>"` (escolhe a conta quando o app tem mais de uma), `--rotacionar` (cria uma chave nova), `--estado` (mostra em que etapa voce parou, sem falar com o 1Password; com `--agente` imprime a linha `AUROQ_ESTADO ...`). Pode ser retomado a qualquer hora: ele reconfere cada etapa e continua de onde parou. O Companion roda isto sozinho quando falta o cofre (skill `conectar-cofre`, que pergunta qual cofre) |
|
|
61
|
+
| `auroq-os conectar-cofre` | Escolhe e liga o cofre de senhas: **1Password** (pago, uns US$ 3 por mes, confira o preco na tela, recomendado; preenche senha no navegador) ou **Infisical** (gratis, so guarda as chaves que o agente usa). Opcoes: `--cofre 1password\|infisical` (sem ela, pergunta qual), `--regiao us\|eu` (Infisical), `--estado` (em que etapa voce parou, sem falar com o cofre; com `--agente` imprime a linha `AUROQ_ESTADO ...`), `--rotacionar` (chave nova) e `--migrar` (passa as chaves do Infisical para o 1Password, sem apagar nada; so depois que todas passaram o 1Password vira o cofre ativo, e `--ignorar-fora-do-formato` deixa no Infisical as chaves com nome que o Auroq nao usa). Ligar o 1Password sozinho nao troca o cofre de quem ja usa o Infisical; ligar o Infisical com o 1Password ativo troca, e as chaves do 1Password nao sao levadas (continuam la, `segredo ler NOME --cofre 1password`). O Companion roda isto por voce (`--agente`) |
|
|
58
62
|
| `auroq-os segredo` | Le e guarda credenciais no cofre que voce escolheu, igual nos dois: `segredo ler\|gravar\|listar\|apagar\|qual <referencia>`. O valor de `gravar` entra por stdin, nunca como argumento; `ler` imprime o valor, entao use sempre dentro do comando que o usa (`X="$(auroq-os segredo ler Item/campo)" && comando "$X"`), nunca sozinho; a referencia e `op://Claude/<Item>/<campo>` ou `cofre://<Item>/<campo>`. Com 1Password, `op read` direto continua valendo. Squads, skills e agentes usam este comando |
|
|
59
63
|
|
|
60
64
|
> **Um cofre de senhas e obrigatorio** para guardar credenciais: senha, token e chave nunca ficam em arquivo do
|
|
61
65
|
> projeto. Em `business/vault/` fica so o status e a referencia `op://...`, nunca o valor. Voce escolhe:
|
|
62
66
|
>
|
|
63
|
-
> - **1Password (recomendado, pago).** Quem nao tem e guiado pelo
|
|
67
|
+
> - **1Password (recomendado, pago).** Quem nao tem e guiado pelo Companion a criar a conta (teste
|
|
64
68
|
> gratis de 14 dias, sem cartao; o plano Individual custa ~US$ 2,99 a 3,99/mes, confira o preco na tela). Voce so
|
|
65
69
|
> (1) cria a conta, (2) instala o app, (3) liga "Integrar com a CLI do 1Password" em Configuracoes >
|
|
66
|
-
> Desenvolvedor e (4) aprova com a digital (Mac) ou o Windows Hello. O resto o
|
|
70
|
+
> Desenvolvedor e (4) aprova com a digital (Mac) ou o Windows Hello. O resto o Companion faz. Preenche senha no
|
|
67
71
|
> navegador.
|
|
68
72
|
> - **Infisical (gratis).** Para quem nao quer gastar nem 1 real. Voce so (1) cria a conta em
|
|
69
73
|
> https://app.infisical.com/signup (plano gratis; **nao** clique em "Start a free trial", que e o teste dos
|
|
70
|
-
> planos pagos e pede cartao) e (2) aprova o login que abre no navegador. O resto o
|
|
74
|
+
> planos pagos e pede cartao) e (2) aprova o login que abre no navegador. O resto o Companion faz. Nao e tao bom: **nao
|
|
71
75
|
> preenche senha no navegador**, so guarda as chaves que o agente usa. Plano gratis (confira os limites na tela):
|
|
72
76
|
> 5 vagas (voce e o agente Auroq; um segundo computador ganha chave nova mas nao gasta vaga), sem historico de versoes e sem registro de auditoria. Os termos do
|
|
73
77
|
> Infisical falam em uso profissional e o gratis pode mudar. Se um dia assinar o 1Password, `conectar-cofre
|
|
@@ -100,24 +104,19 @@ os comandos existentes do seu negocio.
|
|
|
100
104
|
|
|
101
105
|
### Segunda maquina (ou colaborador)
|
|
102
106
|
|
|
103
|
-
O Auroq nao mora no computador
|
|
104
|
-
**nao instale
|
|
107
|
+
O Auroq nao mora so no computador: o app guarda uma copia do negocio no seu GitHub privado. Pra trabalhar em
|
|
108
|
+
outra maquina, **nao instale um negocio novo**: instale o app nela, entre com a sua conta e use "Trazer projeto
|
|
109
|
+
que ja existe" (do GitHub). Depois peca ao Companion "conecta meu cofre" se precisar das senhas nessa maquina.
|
|
105
110
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
npx auroq-os clone # lista seus repos do GitHub e baixa o negocio inteiro
|
|
109
|
-
cd meu-negocio
|
|
110
|
-
claude
|
|
111
|
-
/AuroqOS:agents:ops
|
|
112
|
-
*conectar-cofre # 1Password: reaproveita a chave que ja existe no seu cofre (uma vez so nesta maquina; so aprovar no app). Infisical gratis: cria uma chave nova so para esta maquina (voce aprova o login no navegador). Antes, ele pergunta qual cofre voce usa
|
|
113
|
-
*conectar-1password # atalho antigo, so para o 1Password
|
|
114
|
-
```
|
|
111
|
+
Sem o app: `npx auroq-os clone` lista seus repositorios do GitHub e baixa o negocio inteiro; depois abra o
|
|
112
|
+
`claude` (ou `codex`) na pasta e chame o Companion.
|
|
115
113
|
|
|
116
|
-
|
|
114
|
+
Com o app aberto, o trabalho e salvo e mandado para o GitHub sozinho (a cada 15 minutos, ao abrir e ao fechar).
|
|
115
|
+
Sem o app, diga "salva e entrega" no fim do trabalho.
|
|
117
116
|
Colaborador usa conta propria de tudo (GitHub via convite, assinatura Claude propria,
|
|
118
117
|
cofre 1Password ou Infisical com escopo) — nunca a senha do dono. **Colaborador nao precisa ser
|
|
119
118
|
aluno**: o acesso dele e o convite do GitHub (o `clone` nao pede login); quem atualiza
|
|
120
|
-
o sistema e o dono, e o colaborador recebe as atualizacoes automaticamente
|
|
119
|
+
o sistema e o dono, e o colaborador recebe as atualizacoes automaticamente.
|
|
121
120
|
|
|
122
121
|
## Conteudo ao vivo
|
|
123
122
|
|
|
@@ -142,14 +141,13 @@ correcoes). Voce nao precisa vigiar nada: quando existe versao nova, o proprio s
|
|
|
142
141
|
avisa — ao usar um squad ou agente do conteudo ao vivo e ao abrir o Claude Code no seu
|
|
143
142
|
projeto — e pergunta se voce quer atualizar.
|
|
144
143
|
|
|
145
|
-
Pra atualizar, e uma frase
|
|
146
|
-
(`/AuroqOS:agents:ops` ou `$ops`), ou respondendo "sim" ao aviso:
|
|
144
|
+
Pra atualizar, e uma frase para o Companion (no app ou no terminal), ou responder "sim" ao aviso:
|
|
147
145
|
|
|
148
146
|
```
|
|
149
147
|
atualiza o sistema
|
|
150
148
|
```
|
|
151
149
|
|
|
152
|
-
Voce nao abre terminal nem digita comando: o
|
|
150
|
+
Voce nao abre terminal nem digita comando: o Companion salva um ponto de restauracao (commit)
|
|
153
151
|
se houver trabalho seu pendente, roda a manutencao e diz se precisa fechar e abrir o
|
|
154
152
|
aplicativo. Se o login da plataforma tiver expirado, abre uma janela "Login Arcane" pra
|
|
155
153
|
voce digitar o e-mail e a senha (nunca no chat). **Seus dados nunca sao tocados**:
|
|
@@ -157,7 +155,7 @@ memoria do Companion, documentos, cockpit, campanhas, squads que voce criou,
|
|
|
157
155
|
personalizacoes e as suas permissoes do Claude Code ficam exatamente como estavam.
|
|
158
156
|
O que se atualiza e so o framework.
|
|
159
157
|
|
|
160
|
-
Reserva, so se o
|
|
158
|
+
Reserva, so se o Companion nao conseguir: na pasta do negocio, `npx -y auroq-os@latest manutencao`
|
|
161
159
|
(Windows: `npx.cmd`).
|
|
162
160
|
|
|
163
161
|
O historico do que mudou em cada versao fica no arquivo `CHANGELOG.md`, dentro do
|
|
@@ -232,7 +230,7 @@ exigido e `excluir --account --confirm-delete`. Apagar o historico da conta inte
|
|
|
232
230
|
permanente); para voltar a gravar, escreva para euriler@arka.education. Excluir uma
|
|
233
231
|
sessao nao encerra a gravacao.
|
|
234
232
|
|
|
235
|
-
A atualizacao do coletor exige a manutencao no projeto (peca ao
|
|
233
|
+
A atualizacao do coletor exige a manutencao no projeto (peca ao Companion "atualiza o sistema")
|
|
236
234
|
e reabrir o host. O aviso de nova versao ao iniciar o Claude Code nao instala essa correcao.
|
|
237
235
|
A publicacao do pacote tambem nao comprova que cada aluno ja atualizou.
|
|
238
236
|
|
|
@@ -249,10 +247,9 @@ agents/ → Seu exercito (companion, workers, minds, squads)
|
|
|
249
247
|
|
|
250
248
|
## Agentes Core
|
|
251
249
|
|
|
252
|
-
| Agente |
|
|
250
|
+
| Agente | Como chamar | O que faz |
|
|
253
251
|
|--------|---------|-----------|
|
|
254
|
-
| Companion | `/auroq-companion` ou `$companion` |
|
|
255
|
-
| Ops | `/AuroqOS:agents:ops` ou `$ops` | Git, deploy, ambiente, install |
|
|
252
|
+
| Companion | no app: conversa nova dentro do projeto; terminal: `/auroq-companion` ou `$companion` | Braco direito e chefe da equipe: pensa junto, lembra, chama os squads da Arcane e entrega; tambem instala, atualiza, conserta, conecta, salva e publica |
|
|
256
253
|
| Organizer | `/auroq-organizer` ou `$organizer` | Organizacao, guarda documentos, limpeza, backup |
|
|
257
254
|
|
|
258
255
|
### Meta Squads (criadores de agentes)
|
|
@@ -267,12 +264,16 @@ agents/ → Seu exercito (companion, workers, minds, squads)
|
|
|
267
264
|
|
|
268
265
|
## Primeiro uso
|
|
269
266
|
|
|
270
|
-
1.
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
267
|
+
1. **No app:** a primeira conversa com o Companion abre sozinha no fim da instalacao. Ele le o material que voce
|
|
268
|
+
tiver, pergunta so o que faltou, monta o seu Mapa do Negocio (`docs/knowledge/mapa-do-negocio.md`, que todo
|
|
269
|
+
squad le primeiro), conecta GitHub, Vercel e Supabase e organiza os seus projetos.
|
|
270
|
+
2. **Sem o app:** chame o Companion (`/auroq-companion` no Claude/Grok ou `$companion` no Codex). Ele confere o
|
|
271
|
+
computador (skill `configurar-computador`) e segue o mesmo caminho.
|
|
272
|
+
3. Daqui pra frente: uma conversa com o Companion por assunto, quantas quiser. Ele chama a equipe; voce nao
|
|
273
|
+
precisa chamar squad nenhum.
|
|
274
|
+
|
|
275
|
+
O Companion e Companion para todo mundo (nao tem nome personalizado). O antigo Ops foi aposentado para o aluno:
|
|
276
|
+
a parte tecnica e com o Companion.
|
|
276
277
|
|
|
277
278
|
## Filosofia
|
|
278
279
|
|
|
@@ -289,13 +290,13 @@ agents/ → Seu exercito (companion, workers, minds, squads)
|
|
|
289
290
|
|
|
290
291
|
## Observabilidade e integridade do motor
|
|
291
292
|
|
|
292
|
-
Apos publicacao, `npx -y auroq-os@2.8.
|
|
293
|
-
manutencao/diagnostico. `npx -y auroq-os@2.8.
|
|
293
|
+
Apos publicacao, `npx -y auroq-os@2.8.4 doctor` mostra a fila local segura e os comandos pinados de
|
|
294
|
+
manutencao/diagnostico. `npx -y auroq-os@2.8.4 manutencao` preserva o caminho existente
|
|
294
295
|
de consentimento legado, studentFiles, customizacoes e dados do negocio. Nao ha
|
|
295
296
|
migracao forcada. O registro MCP aponta para `arcane-mcp@0.7.1` — o pin mora no campo
|
|
296
297
|
`arcaneMcpPin` do package.json (fonte unica; o servidor le o mesmo campo no npm).
|
|
297
298
|
`npm run release:verify` recusa publicar com um pin que o npm nao resolva.
|
|
298
|
-
Os instaladores do repositorio ficam preparados para 2.8.
|
|
299
|
+
Os instaladores do repositorio ficam preparados para 2.8.4; as copias publicas so recebem
|
|
299
300
|
a versao apos os gates nativos e a verificacao do tarball publicado.
|
|
300
301
|
O pacote inclui `lib/runtime-integrity.json`: inventario SHA-256 gerado depois da montagem da casca, verificavel com `npm run integrity:verify` dentro do pacote extraido. Ele comprova consistencia do conteudo; nao e uma assinatura de autoria.
|
|
301
302
|
|
package/bin/auroq-os.js
CHANGED
|
@@ -236,7 +236,7 @@ function mudouAlgoDeAbertura(antes, depois) {
|
|
|
236
236
|
// permissions (modo sem pedir permissao), statusLine, env e hooks proprios. Agora: o que o modelo
|
|
237
237
|
// controla vem do modelo; permissions/statusLine/env do aluno ficam; chave que o modelo nao tem
|
|
238
238
|
// fica; hooks do aluno ficam e os do framework sao trocados pelos do modelo, sem duplicar.
|
|
239
|
-
const HOOK_DO_FRAMEWORK = /(?:^|[\s"'\\/])(?:auroq-sync|synapse-engine|ahi-capture|precompact-session-digest)\.cjs\b/;
|
|
239
|
+
const HOOK_DO_FRAMEWORK = /(?:^|[\s"'\\/])(?:auroq-sync|auroq-ate-o-fim|synapse-engine|ahi-capture|precompact-session-digest)\.cjs\b/;
|
|
240
240
|
// Gancho de IA do sistema (type "prompt", sem `command`): o texto comeca com uma marca `[auroq-...]`.
|
|
241
241
|
// Sem ela, a manutencao o tomava por gancho do aluno e o duplicava a cada versao.
|
|
242
242
|
const MARCA_DO_FRAMEWORK = /^\s*\[auroq-[a-z-]+\]/;
|
|
@@ -405,7 +405,7 @@ async function applySecretProtections(targetDir) {
|
|
|
405
405
|
try { hasRemote = execFileSync('git', ['remote'], { cwd: targetDir, encoding: 'utf8' }).trim().length > 0; } catch { /* sem git */ }
|
|
406
406
|
if (hasRemote) {
|
|
407
407
|
warn(`${GOLD}IMPORTANTE: esses arquivos podem ja ter subido pro GitHub em commits antigos.${RESET}`);
|
|
408
|
-
warn(`${GOLD}Troque as chaves que estavam neles — peca ajuda ao
|
|
408
|
+
warn(`${GOLD}Troque as chaves que estavam neles — peca ajuda ao Companion: "minhas chaves do vault${RESET}`);
|
|
409
409
|
warn(`${GOLD}podem ter vazado no git, me ajuda a trocar e limpar".${RESET}`);
|
|
410
410
|
}
|
|
411
411
|
}
|
|
@@ -565,7 +565,7 @@ async function runHealthChecks(targetDir) {
|
|
|
565
565
|
if (await synapseDesatualizado(targetDir)) {
|
|
566
566
|
// Aviso, nao trava: um clone de negocio antigo traz o arquivo velho pelo git e so a
|
|
567
567
|
// manutencao nesta maquina (ou na outra, depois entregue) troca.
|
|
568
|
-
warn('Synapse antigo nesta pasta (erro "hookEventName" a cada mensagem). Peca ao
|
|
568
|
+
warn('Synapse antigo nesta pasta (erro "hookEventName" a cada mensagem). Peca ao Companion: "atualiza o sistema".');
|
|
569
569
|
}
|
|
570
570
|
if (passed === HEALTH_CHECKS.length) {
|
|
571
571
|
success(`${passed}/${HEALTH_CHECKS.length} verificacoes OK`);
|
|
@@ -603,7 +603,7 @@ async function runDoctor(targetDir, { leve = false } = {}) {
|
|
|
603
603
|
success(`Arquivos do sistema: ${HEALTH_CHECKS.length}/${HEALTH_CHECKS.length} no lugar`);
|
|
604
604
|
} else {
|
|
605
605
|
error(`Arquivos do sistema: faltam ${faltando}`);
|
|
606
|
-
problemas.push('Peca ao
|
|
606
|
+
problemas.push('Peca ao Companion, no Claude Code ou no Codex: "atualiza o sistema" (a manutencao vai repor o que falta).');
|
|
607
607
|
}
|
|
608
608
|
if (!(await synapseRegistrado(targetDir))) {
|
|
609
609
|
error('O hook do Synapse nao esta registrado: as regras do sistema nao chegam ao modelo');
|
|
@@ -611,7 +611,7 @@ async function runDoctor(targetDir, { leve = false } = {}) {
|
|
|
611
611
|
}
|
|
612
612
|
if (await synapseDesatualizado(targetDir)) {
|
|
613
613
|
error('Synapse antigo: o Claude Code recusa as regras a cada mensagem ("hookEventName")');
|
|
614
|
-
problemas.push('Peca ao
|
|
614
|
+
problemas.push('Peca ao Companion, no Claude Code ou no Codex: "atualiza o sistema" (a manutencao troca o Synapse antigo). Reserva, so se o Companion nao abrir: npx -y auroq-os@latest manutencao na pasta.');
|
|
615
615
|
}
|
|
616
616
|
|
|
617
617
|
// 2. O motor — e, principalmente, se quem abre pelo icone vai enxergar ele.
|
|
@@ -1694,7 +1694,7 @@ async function init({ pasta = null, maintenance = false, modoAgente = false, mig
|
|
|
1694
1694
|
log('');
|
|
1695
1695
|
log(`${BOLD}Entao o caminho certo NAO e instalar do zero — e clonar o que ja existe.${RESET}`);
|
|
1696
1696
|
log('');
|
|
1697
|
-
log('O seu negocio ja vive no GitHub
|
|
1697
|
+
log('O seu negocio ja vive no GitHub.');
|
|
1698
1698
|
log('Instalar do zero aqui criaria um segundo Auroq desconectado do primeiro.');
|
|
1699
1699
|
log('');
|
|
1700
1700
|
log(`Rode: ${CYAN}npx auroq-os clone${RESET}`);
|
|
@@ -1846,6 +1846,7 @@ async function init({ pasta = null, maintenance = false, modoAgente = false, mig
|
|
|
1846
1846
|
'.claude/hooks/ahi/auth-config.cjs',
|
|
1847
1847
|
'.claude/hooks/precompact-session-digest.cjs',
|
|
1848
1848
|
'.claude/hooks/auroq-sync.cjs',
|
|
1849
|
+
'.claude/hooks/auroq-ate-o-fim.cjs', // 2.8.4 — freio de comando no lugar do gancho de IA
|
|
1849
1850
|
|
|
1850
1851
|
// Synapse domain files
|
|
1851
1852
|
'.synapse/manifest',
|
|
@@ -2118,7 +2119,7 @@ async function init({ pasta = null, maintenance = false, modoAgente = false, mig
|
|
|
2118
2119
|
try {
|
|
2119
2120
|
execSync('node scripts/sync-codex-skills.mjs --clean', { cwd: targetDir, stdio: 'pipe' });
|
|
2120
2121
|
execSync('node scripts/sync-codex-skills.mjs --check', { cwd: targetDir, stdio: 'pipe' });
|
|
2121
|
-
success('Codex CLI pronto — skills locais verificadas ($companion, $
|
|
2122
|
+
success('Codex CLI pronto — skills locais verificadas ($companion, $consultor, etc.)');
|
|
2122
2123
|
} catch (e) {
|
|
2123
2124
|
warn('Sync de skills do Codex falhou — rode "npx auroq-os sync-codex" para diagnosticar');
|
|
2124
2125
|
// Sem o motivo, o suporte so via o efeito ("Codex Companion faltando") e nunca a causa.
|
|
@@ -2219,8 +2220,7 @@ ${DIM} Suas customizacoes (sobrevivem a todo update):${RESET}
|
|
|
2219
2220
|
${CYAN}.claude/settings.local.json${RESET} ${DIM}— suas configuracoes locais${RESET}
|
|
2220
2221
|
|
|
2221
2222
|
${DIM} Agentes core disponiveis:${RESET}
|
|
2222
|
-
${PURPLE}/auroq-companion${RESET} ${DIM}— Chefe da sua equipe: fale com ele, ele aciona o resto${RESET}
|
|
2223
|
-
${PURPLE}/AuroqOS:agents:ops${RESET} ${DIM}— O tecnico: instala, atualiza, conserta e conecta${RESET}
|
|
2223
|
+
${PURPLE}/auroq-companion${RESET} ${DIM}— Chefe da sua equipe: fale com ele, ele aciona o resto e cuida do tecnico${RESET}
|
|
2224
2224
|
${PURPLE}/auroq-organizer${RESET} ${DIM}— Organizacao e backup${RESET}
|
|
2225
2225
|
|
|
2226
2226
|
${DIM} Meta Squads (criadores de agentes; o Companion chama quando precisa):${RESET}
|
|
@@ -2391,7 +2391,7 @@ ${DIM} Uma vez so, nesta maquina:${RESET}
|
|
|
2391
2391
|
|
|
2392
2392
|
${CYAN}cd ${destName}${RESET}
|
|
2393
2393
|
${CYAN}claude${RESET} ${DIM}ou${RESET} ${CYAN}codex${RESET}
|
|
2394
|
-
${CYAN}/
|
|
2394
|
+
${CYAN}/auroq-companion${RESET}
|
|
2395
2395
|
${CYAN}*conectar-cofre${RESET} ${DIM}— reconectar o cofre de senhas (1Password ou Infisical gratis; ele pergunta qual)${RESET}
|
|
2396
2396
|
${DIM}(dono do negocio: se o sistema pedir login em algum momento, ${RESET}${CYAN}npx auroq-os login${RESET}${DIM})${RESET}
|
|
2397
2397
|
|
|
@@ -2417,7 +2417,7 @@ const command = process.argv[2];
|
|
|
2417
2417
|
if (['init', 'install', 'update'].includes(command)) {
|
|
2418
2418
|
error('Comando aposentado. Nada foi instalado ou alterado.');
|
|
2419
2419
|
error('Primeira instalacao: https://arcane.arka.education/auroq');
|
|
2420
|
-
error('No negocio existente, peca ao
|
|
2420
|
+
error('No negocio existente, peca ao Companion, no Claude Code ou no Codex: "atualiza o sistema". Conteudo chega pelo MCP.');
|
|
2421
2421
|
error(`Diagnostico: npx -y auroq-os@${PKG_VERSION} doctor. Reserva no terminal: npx -y auroq-os@${PKG_VERSION} manutencao.`);
|
|
2422
2422
|
process.exitCode = 1;
|
|
2423
2423
|
} else if (command === 'instalar' || command === 'manutencao') {
|
|
@@ -2552,7 +2552,7 @@ if (['init', 'install', 'update'].includes(command)) {
|
|
|
2552
2552
|
try {
|
|
2553
2553
|
execSync('node scripts/sync-codex-skills.mjs --clean', { cwd: process.cwd(), stdio: 'inherit' });
|
|
2554
2554
|
execSync('node scripts/sync-codex-skills.mjs --check', { cwd: process.cwd(), stdio: 'inherit' });
|
|
2555
|
-
success('Skills locais do Codex atualizadas e verificadas. Use $companion, $
|
|
2555
|
+
success('Skills locais do Codex atualizadas e verificadas. Use $companion, $consultor, ...');
|
|
2556
2556
|
} catch (err) {
|
|
2557
2557
|
error(`Falha ao sincronizar skills do Codex: ${err.message}`);
|
|
2558
2558
|
process.exit(1);
|
|
@@ -2567,7 +2567,7 @@ if (['init', 'install', 'update'].includes(command)) {
|
|
|
2567
2567
|
log(` ${CYAN}logout${RESET} Encerrar sessao local`);
|
|
2568
2568
|
log(` ${CYAN}whoami${RESET} Mostrar usuario autenticado`);
|
|
2569
2569
|
log(` ${CYAN}check-access${RESET} Validar acesso ativo (online; exit 0=ativo, 1=bloqueado)`);
|
|
2570
|
-
log(` ${CYAN}manutencao${RESET} Atualizar o motor e a conexao MCP (caminho normal: peca ao
|
|
2570
|
+
log(` ${CYAN}manutencao${RESET} Atualizar o motor e a conexao MCP (caminho normal: peca ao Companion "atualiza o sistema")`);
|
|
2571
2571
|
log(` ${CYAN}doctor${RESET} Diagnostico: arquivos, Node, MCP arcane, login e servidor`);
|
|
2572
2572
|
log(` ${CYAN}register-mcp${RESET} Reescrever o registro do conteudo ao vivo (MCP arcane) no projeto`);
|
|
2573
2573
|
log(` ${CYAN}sync-codex${RESET} Gerar e verificar as skills locais do Codex CLI ($nome)`);
|
package/installer/install.ps1
CHANGED
|
@@ -589,7 +589,7 @@ function Invoke-AuroqLogin {
|
|
|
589
589
|
# sucesso. Usado como pergunta de sim/nao, ele dizia "voce ja estava logado"
|
|
590
590
|
# pra quem nunca logou, pulava o portao e deixava a conta sem acesso chegar ate
|
|
591
591
|
# a criacao da pasta.
|
|
592
|
-
& (Get-AuroqNpx) -y auroq-os@2.8.
|
|
592
|
+
& (Get-AuroqNpx) -y auroq-os@2.8.4 check-access
|
|
593
593
|
if ($LASTEXITCODE -ne 0) {
|
|
594
594
|
Write-AuroqLog 'login' 'recusado'
|
|
595
595
|
Write-Host ''
|
|
@@ -677,7 +677,7 @@ function Invoke-AuroqInit {
|
|
|
677
677
|
if ($env:AUROQ_INSTALL_DRY_RUN) { Write-AuroqOk 'Sistema - seria montado aqui'; return }
|
|
678
678
|
|
|
679
679
|
Set-Location $script:AuroqPastaAlvo
|
|
680
|
-
& (Get-AuroqNpx) -y auroq-os@2.8.
|
|
680
|
+
& (Get-AuroqNpx) -y auroq-os@2.8.4 instalar
|
|
681
681
|
if ($LASTEXITCODE -ne 0) {
|
|
682
682
|
Write-AuroqLog 'init' 'falhou'
|
|
683
683
|
Write-AuroqErro 'A montagem do sistema parou no meio.' 'Rode o mesmo comando de novo. Se repetir, mande pro suporte o arquivo install.log da pasta .auroq.'
|
package/installer/install.sh
CHANGED
|
@@ -219,9 +219,9 @@ auroq_tem_terminal() {
|
|
|
219
219
|
# recebem pedaco do script no lugar da resposta dele.
|
|
220
220
|
auroq_npx_aluno() {
|
|
221
221
|
if [ -t 0 ]; then
|
|
222
|
-
npx -y auroq-os@2.8.
|
|
222
|
+
npx -y auroq-os@2.8.4 "$@"
|
|
223
223
|
else
|
|
224
|
-
npx -y auroq-os@2.8.
|
|
224
|
+
npx -y auroq-os@2.8.4 "$@" < /dev/tty
|
|
225
225
|
fi
|
|
226
226
|
}
|
|
227
227
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schema": 1,
|
|
3
3
|
"algorithm": "sha256",
|
|
4
4
|
"scope": "packaged-runtime-and-cascas",
|
|
5
|
-
"version": "2.8.
|
|
5
|
+
"version": "2.8.4",
|
|
6
6
|
"files": [
|
|
7
7
|
{
|
|
8
8
|
"path": ".auroq-core/constitution.md",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"path": ".auroq-core/core-config.yaml",
|
|
13
|
-
"sha256": "
|
|
13
|
+
"sha256": "ac1028498a2ac2756bafd2736cba9380f3734f8977b85bdb1afd14cd112e7685"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
"path": ".auroq-core/core/synapse/context/context-builder.js",
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
"path": ".claude/commands/AuroqOS/agents/ops.md",
|
|
161
|
-
"sha256": "
|
|
161
|
+
"sha256": "6c615d5d99781865b0256be9166837d851fdd5eafdf02a48b9c7c0ce5764c793"
|
|
162
162
|
},
|
|
163
163
|
{
|
|
164
164
|
"path": ".claude/commands/auroq-companion.md",
|
|
@@ -188,6 +188,10 @@
|
|
|
188
188
|
"path": ".claude/hooks/ahi/worker.cjs",
|
|
189
189
|
"sha256": "3eabd293f3c9c6887f6850ca4be9ad7021d6659967f2f5eecadefb2bb78e9b85"
|
|
190
190
|
},
|
|
191
|
+
{
|
|
192
|
+
"path": ".claude/hooks/auroq-ate-o-fim.cjs",
|
|
193
|
+
"sha256": "eafc89d69d18a7ff821f586715e703e3b8fd4c4c4a941000e0fca9cbe2bf98c7"
|
|
194
|
+
},
|
|
191
195
|
{
|
|
192
196
|
"path": ".claude/hooks/auroq-sync.cjs",
|
|
193
197
|
"sha256": "f916fbac4b1236dded1f5253807a5147674081e416ebe215bebd6d6f97b1469b"
|
|
@@ -202,7 +206,7 @@
|
|
|
202
206
|
},
|
|
203
207
|
{
|
|
204
208
|
"path": ".claude/settings.json",
|
|
205
|
-
"sha256": "
|
|
209
|
+
"sha256": "a059b6e15cfe6822f00d1a39c563d6335839c8ac63a5763f6a4cf1af204df284"
|
|
206
210
|
},
|
|
207
211
|
{
|
|
208
212
|
"path": ".claude/settings.local.json",
|
|
@@ -210,7 +214,7 @@
|
|
|
210
214
|
},
|
|
211
215
|
{
|
|
212
216
|
"path": "bin/auroq-os.js",
|
|
213
|
-
"sha256": "
|
|
217
|
+
"sha256": "aceefa70ea90f3bc2d379493919a6141a636a2e55dfeb1c75c5f90f5e57141b7"
|
|
214
218
|
},
|
|
215
219
|
{
|
|
216
220
|
"path": "lib/ahi/client.mjs",
|
|
@@ -294,7 +298,7 @@
|
|
|
294
298
|
},
|
|
295
299
|
{
|
|
296
300
|
"path": "package.json",
|
|
297
|
-
"sha256": "
|
|
301
|
+
"sha256": "1977563cbd4da43a7d87ffe8c1faa3e7ff3359cd8847776b511aaea05fee1fb3"
|
|
298
302
|
},
|
|
299
303
|
{
|
|
300
304
|
"path": "scripts/build-pack.mjs",
|
|
@@ -314,7 +318,7 @@
|
|
|
314
318
|
},
|
|
315
319
|
{
|
|
316
320
|
"path": "scripts/runtime-integrity.mjs",
|
|
317
|
-
"sha256": "
|
|
321
|
+
"sha256": "e185ab4937628ac1be733f087638a4121b3c16e0c2a3ea76fd5c68cae571f802"
|
|
318
322
|
},
|
|
319
323
|
{
|
|
320
324
|
"path": "scripts/sync-codex-skills.mjs",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "auroq-os",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.4",
|
|
4
4
|
"arcaneMcpPin": "0.7.1",
|
|
5
5
|
"description": "Auroq OS — Sistema Operacional de IA para o negócio do aluno da Arcane",
|
|
6
6
|
"bin": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"auroq:sync:codex:check": "npm run sync:codex:check",
|
|
20
20
|
"auroq:validate": "npm run validate:hybrid",
|
|
21
21
|
"validate:hybrid": "node scripts/validate-hybrid.mjs",
|
|
22
|
-
"lint": "node --check bin/auroq-os.js && node --check lib/barra/index.js && node --check lib/barra/barra.cjs && node --check lib/auth.js && node --check lib/diagnostico.js && node --check lib/credentials.js && node --check lib/onepassword.js && node --check lib/infisical.js && node --check lib/infisical-api.js && node --check lib/infisical-cli.js && node --check lib/cofre.js && node --check lib/supabase.js && node --check scripts/sync-codex-skills.mjs && node --check scripts/validate-hybrid.mjs && node --check scripts/prepack-casca.mjs && node --check scripts/postpack-casca.mjs && node --check scripts/assert-mcp-pin.mjs && node --check lib/telemetry.mjs && node --check scripts/synapse-hashes.mjs && node --check lib/ahi/historico.mjs && node --check .claude/hooks/ahi-capture.cjs && node --check .claude/hooks/precompact-session-digest.cjs && node --check .claude/hooks/ahi/security.cjs && node --check .claude/hooks/ahi/runtime.cjs && node --check .claude/hooks/ahi/worker.cjs && node --check lib/ahi/install.cjs && node --check lib/codex-windows.cjs && node --check .claude/hooks/ahi/auth-config.cjs && node --check lib/ahi/client.mjs && node --check scripts/build-pack.mjs && node --check scripts/assert-native-release.mjs && node --check scripts/runtime-integrity.mjs && node --check scripts/pack-state.mjs && node --check tests/rodar.mjs",
|
|
22
|
+
"lint": "node --check bin/auroq-os.js && node --check lib/barra/index.js && node --check lib/barra/barra.cjs && node --check lib/auth.js && node --check lib/diagnostico.js && node --check lib/credentials.js && node --check lib/onepassword.js && node --check lib/infisical.js && node --check lib/infisical-api.js && node --check lib/infisical-cli.js && node --check lib/cofre.js && node --check lib/supabase.js && node --check scripts/sync-codex-skills.mjs && node --check scripts/validate-hybrid.mjs && node --check scripts/prepack-casca.mjs && node --check scripts/postpack-casca.mjs && node --check scripts/assert-mcp-pin.mjs && node --check lib/telemetry.mjs && node --check scripts/synapse-hashes.mjs && node --check lib/ahi/historico.mjs && node --check .claude/hooks/ahi-capture.cjs && node --check .claude/hooks/precompact-session-digest.cjs && node --check .claude/hooks/auroq-ate-o-fim.cjs && node --check .claude/hooks/ahi/security.cjs && node --check .claude/hooks/ahi/runtime.cjs && node --check .claude/hooks/ahi/worker.cjs && node --check lib/ahi/install.cjs && node --check lib/codex-windows.cjs && node --check .claude/hooks/ahi/auth-config.cjs && node --check lib/ahi/client.mjs && node --check scripts/build-pack.mjs && node --check scripts/assert-native-release.mjs && node --check scripts/runtime-integrity.mjs && node --check scripts/pack-state.mjs && node --check tests/rodar.mjs",
|
|
23
23
|
"typecheck": "npm run validate:hybrid",
|
|
24
24
|
"test": "node tests/rodar.mjs",
|
|
25
25
|
"release:verify": "node scripts/assert-mcp-pin.mjs && node scripts/assert-native-release.mjs",
|
|
@@ -25,7 +25,7 @@ export const REQUIRED_FILES = [
|
|
|
25
25
|
...SYNAPSE_LAYERS.map(layer => `${SYNAPSE_ROOT}layers/${layer}.js`),
|
|
26
26
|
'.claude/settings.json', '.claude/settings.local.json',
|
|
27
27
|
'.claude/commands/AuroqOS/agents/ops.md', '.claude/commands/auroq-companion.md',
|
|
28
|
-
'.claude/hooks/synapse-engine.cjs', '.claude/hooks/auroq-sync.cjs', '.claude/hooks/precompact-session-digest.cjs',
|
|
28
|
+
'.claude/hooks/synapse-engine.cjs', '.claude/hooks/auroq-sync.cjs', '.claude/hooks/precompact-session-digest.cjs', '.claude/hooks/auroq-ate-o-fim.cjs',
|
|
29
29
|
'.claude/hooks/ahi-capture.cjs', '.claude/hooks/ahi/runtime.cjs',
|
|
30
30
|
'.claude/hooks/ahi/security.cjs', '.claude/hooks/ahi/win-vault.ps1', '.claude/hooks/ahi/worker.cjs', '.claude/hooks/ahi/auth-config.cjs',
|
|
31
31
|
];
|
|
@@ -6,6 +6,15 @@
|
|
|
6
6
|
|
|
7
7
|
**Ultima atualizacao:** {data}
|
|
8
8
|
**Proximo review:** {data}
|
|
9
|
+
**Proxima revisao do mes:** {data}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## FOCO DO MES
|
|
14
|
+
|
|
15
|
+
> Definido na revisao do mes (1 a 3 focos). As revisoes da semana conferem se o trabalho serve a ele.
|
|
16
|
+
|
|
17
|
+
-
|
|
9
18
|
|
|
10
19
|
---
|
|
11
20
|
|