auroq-os 2.4.12 → 2.4.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  project:
2
2
  name: "Auroq OS"
3
3
  type: greenfield
4
- version: 2.4.12
4
+ version: 2.4.15
5
5
  installedAt: '2026-03-16'
6
6
 
7
7
  ide:
@@ -2,14 +2,14 @@
2
2
 
3
3
  Bootstrap e operação do Auroq OS.
4
4
 
5
- O corpo deste guia (FASES 0–N) vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `ops` e a fase atual. Nunca procurar o texto longo em disco; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ O corpo deste guia (FASES 0–N) vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `ops` e a fase atual. Enquanto o servidor responder, nunca procurar o texto longo em disco.
6
6
 
7
- **Pack Arcane — vence o MCP se ele estiver velho:** o Pack da mentoria chega ao vivo. NUNCA peça zip, `pack-arcane.zip`, caminho de arquivo nem `npx arcane-pack`. Se o aluno pedir o Pack: pasta do negócio, `/euriler` (Codex: `$euriler`), fale `oi`. Se não responder, é o cadeado da jornada (contrato ativo e assinado), não instalação faltando. Zip só vale pra agente que ELE criou.
7
+ **Pack Arcane — vence o MCP se ele estiver velho:** o Pack da mentoria chega ao vivo. NUNCA peça zip, `pack-arcane.zip`, caminho de arquivo nem `npx arcane-pack`. Se o aluno pedir o Pack: pasta do negócio, `/euriler` (Codex: `$euriler`), fale `oi`. Se não responder, é o cadeado da jornada (contrato ativo e assinado), não instalação faltando. Zip só vale pra agente que ELE criou. Única exceção ao `npx arcane-pack`: a parte executável dos squads híbridos (Edição, Carrossel, Anúncios, Tráfego, Low Ticket, Bia) chega por `npx arcane-pack update` na pasta do negócio — é o que se roda quando um desses squads reclama que `agents/<squad>/` não existe (ex.: `doctor.py` não encontrado); o método continua vindo ao vivo.
8
8
 
9
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.
10
10
 
11
- Se a tool recusar (acesso vencido, cancelado ou suspenso), mostre a mensagem exatamente como veio, com o contato do suporte da Arcane, e pare. Não improvisar, não tentar de novo, não usar memória.
11
+ Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se existe `agents/ops/OPS-LOCAL.md` no disco (é o Bootstrap completo que morava no computador do aluno antes da migração; o instalador guarda ele ali). Se existir, avise em UMA linha — "O servidor não liberou o conteúdo ao vivo; seguindo com o Bootstrap que já está no seu computador." — e siga por esse arquivo como fonte da verdade, 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. Nunca improvisar de memória, nunca tentar de novo sozinho. O que já estava no computador do aluno antes da migração continua dele.
12
12
 
13
- **Migração (se você chegou aqui pelo `*update-auroq` de uma versão instalada antiga, procurando a lista ATUALIZA):** este arquivo não carrega mais a lista. NÃO chame a tool do MCP (o projeto antigo ainda não tem esse registro). ANTES de qualquer coisa, consentimento explícito — no sistema antigo os agentes moram no disco do expert; depois da migração o conteúdo deles chega ao vivo do servidor e só responde com acesso ativo. Explicar isso em linguagem comum ("seus dados, memórias e squads criados ficam intactos; os agentes da mentoria passam a exigir acesso ativo") e SÓ seguir com um SIM explícito — sem o SIM, parar aqui e nada é alterado. Com o SIM: rodar `node /tmp/auroq-update/package/bin/auroq-os.js init` na raiz do projeto — ele sobrescreve só o framework, preserva os dados do expert e registra o conteúdo ao vivo (`.mcp.json` + `.codex/config.toml`). Depois: `npx auroq-os doctor`, e avise o expert pra FECHAR e abrir o Claude Code/Codex uma vez.
13
+ **Migração (se você chegou aqui pelo `*update-auroq` de uma versão instalada antiga, procurando a lista ATUALIZA):** este arquivo não carrega mais a lista. NÃO chame a tool do MCP (o projeto antigo ainda não tem esse registro). ANTES de qualquer coisa, consentimento explícito — no sistema antigo os agentes moram no disco do expert; depois da migração o conteúdo deles chega ao vivo do servidor e só responde com acesso ativo. Explicar isso em linguagem comum ("seus dados, memórias e squads criados ficam intactos; os agentes da mentoria passam a chegar ao vivo enquanto o acesso estiver ativo e, se o acesso acabar, voltam a rodar do que já está no seu computador") e SÓ seguir com um SIM explícito — sem o SIM, parar aqui e nada é alterado. Com o SIM: rodar `node /tmp/auroq-update/package/bin/auroq-os.js init` na raiz do projeto — ele sobrescreve só o framework, preserva os dados do expert e registra o conteúdo ao vivo (`.mcp.json` + `.codex/config.toml`). Depois: `npx auroq-os doctor`, e avise o expert pra FECHAR e abrir o Claude Code/Codex uma vez.
14
14
 
15
- CRITICAL: Do not treat this file as the Bootstrap. Use the MCP `arcane` tools.
15
+ 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.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Clona mentes reais em agentes digitais.
4
4
 
5
- Todo conteúdo desta forja vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `clone-forge` e a fase atual. Nunca procurar arquivo local desta forja; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo desta forja vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `clone-forge` e a fase atual. Enquanto o servidor responder, nunca procurar arquivo local desta forja.
6
6
 
7
7
  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.
8
8
 
9
- Se a tool recusar (acesso vencido, cancelado ou suspenso), mostre a mensagem exatamente como veio, com o contato do suporte da Arcane, e pare. Não improvisar, não tentar de novo, não usar memória.
9
+ Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se a pasta `agents/clone-forge/` existe no disco com arquivos. Se existir, avise em UMA linha — "O servidor não liberou o conteúdo ao vivo; seguindo com a versão que já está no seu computador." — e siga com o conteúdo dessa pasta como fonte da verdade, 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. Nunca improvisar de memória, nunca tentar de novo sozinho. O que já estava no computador do aluno antes da migração continua dele.
10
10
 
11
- CRITICAL: Do not read `agents/clone-forge/**`. Use the MCP `arcane` tools.
11
+ CRITICAL: While the MCP `arcane` answers, do not read `agents/clone-forge/**`. Read that folder only after the MCP refused or failed and it exists on disk.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Parceiro cognitivo pessoal. Situa, lembra, pensa junto, roteia.
4
4
 
5
- Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `squad_ativar` com recurso_id `companion`. Nunca procurar arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `squad_ativar` com recurso_id `companion`. Enquanto o servidor responder, nunca procurar arquivo local deste agente.
6
6
 
7
7
  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.
8
8
 
9
- Se a tool recusar (acesso vencido, cancelado ou suspenso), mostre a mensagem exatamente como veio, com o contato do suporte da Arcane, e pare. Não improvisar, não tentar de novo, não usar memória.
9
+ Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se a pasta `agents/companion/` existe no disco com arquivos. Se existir, avise em UMA linha — "O servidor não liberou o conteúdo ao vivo; seguindo com a versão que já está no seu computador." — e siga com o conteúdo dessa pasta como fonte da verdade, 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. Nunca improvisar de memória, nunca tentar de novo sozinho. O que já estava no computador do aluno antes da migração continua dele.
10
10
 
11
- CRITICAL: Do not read `agents/companion/**`. Use the MCP `arcane` tools.
11
+ CRITICAL: While the MCP `arcane` answers, do not read `agents/companion/**`. Read that folder only after the MCP refused or failed and it exists on disk.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Guia vivo do Auroq OS. Tira dúvidas, ensina e destrava o aluno.
4
4
 
5
- Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `squad_ativar` com recurso_id `consultor`. Nunca procurar arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `squad_ativar` com recurso_id `consultor`. Enquanto o servidor responder, nunca procurar arquivo local deste agente.
6
6
 
7
7
  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.
8
8
 
9
- Se a tool recusar (acesso vencido, cancelado ou suspenso), mostre a mensagem exatamente como veio, com o contato do suporte da Arcane, e pare. Não improvisar, não tentar de novo, não usar memória.
9
+ Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se a pasta `agents/consultor/` existe no disco com arquivos. Se existir, avise em UMA linha — "O servidor não liberou o conteúdo ao vivo; seguindo com a versão que já está no seu computador." — e siga com o conteúdo dessa pasta como fonte da verdade, 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. Nunca improvisar de memória, nunca tentar de novo sozinho. O que já estava no computador do aluno antes da migração continua dele.
10
10
 
11
- CRITICAL: Do not read `agents/consultor/**`. Use the MCP `arcane` tools.
11
+ CRITICAL: While the MCP `arcane` answers, do not read `agents/consultor/**`. Read that folder only after the MCP refused or failed and it exists on disk.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Extrai conhecimento de fontes brutas e estrutura em knowledge bases.
4
4
 
5
- Todo conteúdo desta forja vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `etlmaker` e a fase atual. Nunca procurar arquivo local desta forja; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo desta forja vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `etlmaker` e a fase atual. Enquanto o servidor responder, nunca procurar arquivo local desta forja.
6
6
 
7
7
  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.
8
8
 
9
- Se a tool recusar (acesso vencido, cancelado ou suspenso), mostre a mensagem exatamente como veio, com o contato do suporte da Arcane, e pare. Não improvisar, não tentar de novo, não usar memória.
9
+ Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se a pasta `agents/etlmaker/` existe no disco com arquivos. Se existir, avise em UMA linha — "O servidor não liberou o conteúdo ao vivo; seguindo com a versão que já está no seu computador." — e siga com o conteúdo dessa pasta como fonte da verdade, 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. Nunca improvisar de memória, nunca tentar de novo sozinho. O que já estava no computador do aluno antes da migração continua dele.
10
10
 
11
- CRITICAL: Do not read `agents/etlmaker/**`. Use the MCP `arcane` tools.
11
+ CRITICAL: While the MCP `arcane` answers, do not read `agents/etlmaker/**`. Read that folder only after the MCP refused or failed and it exists on disk.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Fábrica de mentes sintéticas e consultores.
4
4
 
5
- Todo conteúdo desta forja vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `mind-forge` e a fase atual. Nunca procurar arquivo local desta forja; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo desta forja vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `mind-forge` e a fase atual. Enquanto o servidor responder, nunca procurar arquivo local desta forja.
6
6
 
7
7
  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.
8
8
 
9
- Se a tool recusar (acesso vencido, cancelado ou suspenso), mostre a mensagem exatamente como veio, com o contato do suporte da Arcane, e pare. Não improvisar, não tentar de novo, não usar memória.
9
+ Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se a pasta `agents/mind-forge/` existe no disco com arquivos. Se existir, avise em UMA linha — "O servidor não liberou o conteúdo ao vivo; seguindo com a versão que já está no seu computador." — e siga com o conteúdo dessa pasta como fonte da verdade, 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. Nunca improvisar de memória, nunca tentar de novo sozinho. O que já estava no computador do aluno antes da migração continua dele.
10
10
 
11
- CRITICAL: Do not read `agents/mind-forge/**`. Use the MCP `arcane` tools.
11
+ CRITICAL: While the MCP `arcane` answers, do not read `agents/mind-forge/**`. Read that folder only after the MCP refused or failed and it exists on disk.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Cria squads multi-agente a partir dos seus processos.
4
4
 
5
- Todo conteúdo desta forja vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `squad-forge` e a fase atual. Nunca procurar arquivo local desta forja; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo desta forja vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `squad-forge` e a fase atual. Enquanto o servidor responder, nunca procurar arquivo local desta forja.
6
6
 
7
7
  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.
8
8
 
9
- Se a tool recusar (acesso vencido, cancelado ou suspenso), mostre a mensagem exatamente como veio, com o contato do suporte da Arcane, e pare. Não improvisar, não tentar de novo, não usar memória.
9
+ Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se a pasta `agents/squad-forge/` existe no disco com arquivos. Se existir, avise em UMA linha — "O servidor não liberou o conteúdo ao vivo; seguindo com a versão que já está no seu computador." — e siga com o conteúdo dessa pasta como fonte da verdade, 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. Nunca improvisar de memória, nunca tentar de novo sozinho. O que já estava no computador do aluno antes da migração continua dele.
10
10
 
11
- CRITICAL: Do not read `agents/squad-forge/**`. Use the MCP `arcane` tools.
11
+ CRITICAL: While the MCP `arcane` answers, do not read `agents/squad-forge/**`. Read that folder only after the MCP refused or failed and it exists on disk.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Cria workers especializados para automação e operações.
4
4
 
5
- Todo conteúdo desta forja vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `worker-forge` e a fase atual. Nunca procurar arquivo local desta forja; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo desta forja vem pelo MCP `arcane` (catálogo `auroq-core`). Chame a tool `forja_bundle` com forge_id `worker-forge` e a fase atual. Enquanto o servidor responder, nunca procurar arquivo local desta forja.
6
6
 
7
7
  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.
8
8
 
9
- Se a tool recusar (acesso vencido, cancelado ou suspenso), mostre a mensagem exatamente como veio, com o contato do suporte da Arcane, e pare. Não improvisar, não tentar de novo, não usar memória.
9
+ Se a tool recusar (acesso vencido, cancelado, suspenso ou encerrado) ou falhar: confira se a pasta `agents/worker-forge/` existe no disco com arquivos. Se existir, avise em UMA linha — "O servidor não liberou o conteúdo ao vivo; seguindo com a versão que já está no seu computador." — e siga com o conteúdo dessa pasta como fonte da verdade, 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. Nunca improvisar de memória, nunca tentar de novo sozinho. O que já estava no computador do aluno antes da migração continua dele.
10
10
 
11
- CRITICAL: Do not read `agents/worker-forge/**`. Use the MCP `arcane` tools.
11
+ CRITICAL: While the MCP `arcane` answers, do not read `agents/worker-forge/**`. Read that folder only after the MCP refused or failed and it exists on disk.
@@ -2,10 +2,12 @@
2
2
 
3
3
  Instalação da agente de WhatsApp Bia, ao vivo.
4
4
 
5
- Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `instalacao-bia`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `instalacao-bia`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar o método em arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
6
6
 
7
7
  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.
8
8
 
9
9
  Se a tool recusar porque o Pack ainda não abriu (cadeado da jornada: contrato ativo e assinado), mostre a mensagem exatamente como veio — não é defeito, é o contrato. Se recusar por acesso vencido, cancelado ou suspenso, mostre a mensagem com o contato do suporte da Arcane e pare. Não improvisar, não tentar de novo, não usar memória.
10
10
 
11
- CRITICAL: Do not read local files for this agent. Use the MCP `arcane` tools.
11
+ **Parte que roda na máquina:** este squad tem arquivos executáveis (workflows n8n e scripts). Eles não vêm pelo MCP: ficam em `agents/instalacao-bia/` na pasta do negócio e chegam por `npx arcane-pack update`, rodado na pasta do negócio (exige acesso ativo; baixa só a parte executável, o método continua vindo ao vivo). A ativação avisa isso. Se um passo citar essa pasta e ela não existir, rode o comando e continue — nunca improvise script de memória.
12
+
13
+ CRITICAL: Do not read `agents/instalacao-bia/**` looking for instructions — use the MCP `arcane` tools. Use those files only to EXECUTE what a step asks.
@@ -2,10 +2,12 @@
2
2
 
3
3
  Squad de anúncios da Arcane, ao vivo.
4
4
 
5
- Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `squad-anuncios-arcane`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `squad-anuncios-arcane`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar o método em arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
6
6
 
7
7
  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.
8
8
 
9
9
  Se a tool recusar porque o Pack ainda não abriu (cadeado da jornada: contrato ativo e assinado), mostre a mensagem exatamente como veio — não é defeito, é o contrato. Se recusar por acesso vencido, cancelado ou suspenso, mostre a mensagem com o contato do suporte da Arcane e pare. Não improvisar, não tentar de novo, não usar memória.
10
10
 
11
- CRITICAL: Do not read local files for this agent. Use the MCP `arcane` tools.
11
+ **Parte que roda na máquina:** este squad tem arquivos executáveis (scripts). Eles não vêm pelo MCP: ficam em `agents/squad-anuncios-arcane/` na pasta do negócio e chegam por `npx arcane-pack update`, rodado na pasta do negócio (exige acesso ativo; baixa só a parte executável, o método continua vindo ao vivo). A ativação avisa isso. Se um passo citar essa pasta e ela não existir, rode o comando e continue — nunca improvise script de memória.
12
+
13
+ CRITICAL: Do not read `agents/squad-anuncios-arcane/**` looking for instructions — use the MCP `arcane` tools. Use those files only to EXECUTE what a step asks.
@@ -2,10 +2,12 @@
2
2
 
3
3
  Squad de carrosséis da Arcane, ao vivo.
4
4
 
5
- Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `squad-carrossel-arcane`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `squad-carrossel-arcane`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar o método em arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
6
6
 
7
7
  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.
8
8
 
9
9
  Se a tool recusar porque o Pack ainda não abriu (cadeado da jornada: contrato ativo e assinado), mostre a mensagem exatamente como veio — não é defeito, é o contrato. Se recusar por acesso vencido, cancelado ou suspenso, mostre a mensagem com o contato do suporte da Arcane e pare. Não improvisar, não tentar de novo, não usar memória.
10
10
 
11
- CRITICAL: Do not read local files for this agent. Use the MCP `arcane` tools.
11
+ **Parte que roda na máquina:** este squad tem arquivos executáveis (ferramentas de render e template). Eles não vêm pelo MCP: ficam em `agents/squad-carrossel-arcane/` na pasta do negócio e chegam por `npx arcane-pack update`, rodado na pasta do negócio (exige acesso ativo; baixa só a parte executável, o método continua vindo ao vivo). A ativação avisa isso. Se um passo citar essa pasta e ela não existir, rode o comando e continue — nunca improvise script de memória.
12
+
13
+ CRITICAL: Do not read `agents/squad-carrossel-arcane/**` looking for instructions — use the MCP `arcane` tools. Use those files only to EXECUTE what a step asks.
@@ -2,10 +2,12 @@
2
2
 
3
3
  Squad de edição de vídeo da Arcane, ao vivo.
4
4
 
5
- Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `squad-edicao-arcane`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `squad-edicao-arcane`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar o método em arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
6
6
 
7
7
  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.
8
8
 
9
9
  Se a tool recusar porque o Pack ainda não abriu (cadeado da jornada: contrato ativo e assinado), mostre a mensagem exatamente como veio — não é defeito, é o contrato. Se recusar por acesso vencido, cancelado ou suspenso, mostre a mensagem com o contato do suporte da Arcane e pare. Não improvisar, não tentar de novo, não usar memória.
10
10
 
11
- CRITICAL: Do not read local files for this agent. Use the MCP `arcane` tools.
11
+ **Parte que roda na máquina:** este squad tem arquivos executáveis (scripts de vídeo, instalador, fontes, trilha e configs de estilo). Eles não vêm pelo MCP: ficam em `agents/squad-edicao-arcane/` na pasta do negócio e chegam por `npx arcane-pack update`, rodado na pasta do negócio (exige acesso ativo; baixa só a parte executável, o método continua vindo ao vivo). A ativação avisa isso. Se um passo citar essa pasta e ela não existir, rode o comando e continue — nunca improvise script de memória.
12
+
13
+ CRITICAL: Do not read `agents/squad-edicao-arcane/**` looking for instructions — use the MCP `arcane` tools. Use those files only to EXECUTE what a step asks.
@@ -2,10 +2,12 @@
2
2
 
3
3
  Squad de produto low ticket da Arcane, ao vivo.
4
4
 
5
- Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `squad-low-ticket-arcane`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `squad-low-ticket-arcane`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar o método em arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
6
6
 
7
7
  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.
8
8
 
9
9
  Se a tool recusar porque o Pack ainda não abriu (cadeado da jornada: contrato ativo e assinado), mostre a mensagem exatamente como veio — não é defeito, é o contrato. Se recusar por acesso vencido, cancelado ou suspenso, mostre a mensagem com o contato do suporte da Arcane e pare. Não improvisar, não tentar de novo, não usar memória.
10
10
 
11
- CRITICAL: Do not read local files for this agent. Use the MCP `arcane` tools.
11
+ **Parte que roda na máquina:** este squad tem arquivos executáveis (templates de página). Eles não vêm pelo MCP: ficam em `agents/squad-low-ticket-arcane/` na pasta do negócio e chegam por `npx arcane-pack update`, rodado na pasta do negócio (exige acesso ativo; baixa só a parte executável, o método continua vindo ao vivo). A ativação avisa isso. Se um passo citar essa pasta e ela não existir, rode o comando e continue — nunca improvise script de memória.
12
+
13
+ CRITICAL: Do not read `agents/squad-low-ticket-arcane/**` looking for instructions — use the MCP `arcane` tools. Use those files only to EXECUTE what a step asks.
@@ -2,10 +2,12 @@
2
2
 
3
3
  Tráfego pago via Meta Marketing API (Método Andromeda), ao vivo.
4
4
 
5
- Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `trafego-arcane`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
5
+ Todo conteúdo deste agente vem pelo MCP `arcane` (catálogo `arcane-pack`). Chame a tool `squad_ativar` com recurso_id `trafego-arcane`; o índice devolvido mostra os tópicos, e as tools `squad_passo` e `squad_conhecimento` trazem cada parte. Nunca procurar o método em arquivo local deste agente; se a tool falhar, mostrar a mensagem e parar — não improvisar de memória.
6
6
 
7
7
  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.
8
8
 
9
9
  Se a tool recusar porque o Pack ainda não abriu (cadeado da jornada: contrato ativo e assinado), mostre a mensagem exatamente como veio — não é defeito, é o contrato. Se recusar por acesso vencido, cancelado ou suspenso, mostre a mensagem com o contato do suporte da Arcane e pare. Não improvisar, não tentar de novo, não usar memória.
10
10
 
11
- CRITICAL: Do not read local files for this agent. Use the MCP `arcane` tools.
11
+ **Parte que roda na máquina:** este squad tem arquivos executáveis (helpers, template de política e formulário de contas). Eles não vêm pelo MCP: ficam em `agents/trafego-arcane/` na pasta do negócio e chegam por `npx arcane-pack update`, rodado na pasta do negócio (exige acesso ativo; baixa só a parte executável, o método continua vindo ao vivo). A ativação avisa isso. Se um passo citar essa pasta e ela não existir, rode o comando e continue — nunca improvise script de memória.
12
+
13
+ CRITICAL: Do not read `agents/trafego-arcane/**` looking for instructions — use the MCP `arcane` tools. Use those files only to EXECUTE what a step asks.
@@ -1,6 +1,6 @@
1
1
  # MCP Usage — Auroq OS
2
2
 
3
- > Carve-out Arcane: conteúdo licenciado (Companion interno, Consultor, forjas, Pack) vem **sempre** pelo MCP `arcane`, nunca do disco. Esta regra vence a preferência genérica por ferramentas nativas **só nesse conteúdo**.
3
+ > Carve-out Arcane: conteúdo licenciado (Companion interno, Consultor, forjas, Pack) vem pelo MCP `arcane` **enquanto o servidor responder**. Esta regra vence a preferência genérica por ferramentas nativas **só nesse conteúdo**. Única exceção: o servidor recusou (acesso vencido, cancelado, suspenso, encerrado) ou falhou **e** a pasta do agente existe em `agents/` — aí o conteúdo local vale, com aviso de uma linha ao aluno. O que já estava no computador dele antes da migração continua dele.
4
4
 
5
5
  ## Prioridade de Ferramentas
6
6
 
@@ -8,7 +8,7 @@ SEMPRE preferir ferramentas nativas do Claude Code sobre MCP, **exceto** conteú
8
8
 
9
9
  | Task | USAR | NAO USAR |
10
10
  |------|------|----------|
11
- | Conteúdo Arcane (persona, KB, forja, Pack) | MCP `arcane` | Read/Grep em `agents/` |
11
+ | Conteúdo Arcane (persona, KB, forja, Pack) | MCP `arcane` (servidor negou/falhou e `agents/<x>/` existe → disco, avisando) | Read/Grep em `agents/` enquanto o MCP responde |
12
12
  | Ler arquivos do ALUNO (memória, docs, cockpit) | `Read` tool | MCP servers |
13
13
  | Escrever arquivos | `Write` / `Edit` tools | MCP servers |
14
14
  | Rodar comandos | `Bash` tool | MCP servers |
@@ -27,4 +27,4 @@ Outros agentes sao **consumidores** de MCP, nao administradores. Se precisar de
27
27
  3. Playwright nos cenarios tecnicos
28
28
  4. Ferramentas externas sem equivalente nativo
29
29
 
30
- Se a tool `arcane` falhar: mostrar a mensagem e parar. Nao improvisar de memoria.
30
+ Se a tool `arcane` recusar ou falhar: a pasta do agente existe em `agents/`? Sim → avisar em uma linha e seguir pelo disco. Não → mostrar a mensagem e parar. Nunca improvisar de memoria.
package/AGENTS.md CHANGED
@@ -9,9 +9,11 @@ Sistema operacional de IA. Runtimes oficiais desta versão: Claude Code e Codex.
9
9
 
10
10
  Todo conteúdo Arcane vem pelo MCP `arcane` (catálogos `auroq-core` e `arcane-pack`). Nunca procurar esse conteúdo em `agents/`. Se a tool falhar, mostre a mensagem e pare.
11
11
 
12
+ Exceção: seis squads do Pack têm **parte executável** (Edição, Carrossel, Anúncios, Tráfego, Low Ticket, Bia) — scripts, instalador, fontes e configs que os scripts leem ficam em `agents/<squad>/` e chegam por `npx arcane-pack update` na pasta do negócio. Servem pra EXECUTAR o que um passo mandar, nunca pra ler método.
13
+
12
14
  ## O que fica no disco
13
15
 
14
- Motor (CLI, hooks, scripts), pastas, git, casca (estes ponteiros) e o que VOCÊ criar (memória, docs, cockpit).
16
+ Motor (CLI, hooks, scripts), pastas, git, casca (estes ponteiros), a parte executável dos squads híbridos do Pack (chega por `npx arcane-pack update`) e o que VOCÊ criar (memória, docs, cockpit).
15
17
 
16
18
  ## O que vem ao vivo
17
19
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,61 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.4.15] — 2026-09-03
4
+
5
+ ### Aluno antigo migrado cai pro disco quando o servidor recusa (EMB-019, conserto)
6
+ Aluno antigo com contrato ativo leu no proprio Claude que "uma vez que nao esteja ativo, nao
7
+ vai mais usar os squads que ja tinha" — porque as cascas mandavam parar em qualquer recusa e
8
+ proibiam ler `agents/`. Contradizia a regra do Euriler (29/08): o que ja estava no computador
9
+ do aluno continua dele.
10
+
11
+ - **Cascas** (Companion, Consultor, 5 forjas, Ops) e a rule `mcp-usage.md`: enquanto o
12
+ servidor responder, nada muda. Se recusar ou falhar **e** a pasta do agente existir em
13
+ `agents/`, o atalho avisa em uma linha e segue pelo disco. Sem pasta, mostra a mensagem e para.
14
+ - **Migracao guarda o Bootstrap antigo:** antes de trocar o `ops.md` completo pela casca, o
15
+ `init` copia o original pra `agents/ops/OPS-LOCAL.md` (nunca sobrescreve um que ja exista). E
16
+ esse arquivo que o `/ops` usa quando o servidor recusa.
17
+ - **Consentimento da migracao** (casca e Ops servido) passa a dizer que, se o acesso acabar, os
18
+ agentes voltam a rodar do computador — nada e apagado.
19
+ - Do lado do Pack: `arcane-pack@1.4.2` gera os atalhos dos squads com a mesma queda pro disco;
20
+ a mensagem de recusa do servidor avisa que a versao local continua valendo.
21
+
22
+ ## [2.4.14] — 2026-09-03
23
+
24
+ ### Conteudo ao vivo dava "timeout" toda vez que o Codex abria (Windows)
25
+ Aluna com acesso ativo, `doctor` limpo, MCP registrado e servidor respondendo — e mesmo assim o
26
+ Codex desistia do MCP arcane em toda abertura. Medido num Windows limpo: a PRIMEIRA abertura do
27
+ `npx -y arcane-mcp@0.4.0` leva 48-59s (download + antivirus), as seguintes ~2s. O Codex espera 10s
28
+ (o Claude Code, 30s) e mata o processo antes de terminar. O `doctor` nao via nada porque so
29
+ conferia o registro, e o `npx arcane-mcp whoami` que a aluna rodava aquecia OUTRO cache (sem a
30
+ versao fixa). Com a correcao, medido no mesmo Windows: 1,4-2,2s.
31
+
32
+ - **Registro do Codex** ganha `startup_timeout_sec = 120`; `register-mcp` e `update` reescrevem o
33
+ bloco antigo (o resto do `config.toml` fica como estava).
34
+ - **`init`, `update` e `register-mcp`** baixam o pacote uma vez, com o mesmo nome do registro, antes
35
+ do aluno abrir o Codex ou o Claude Code.
36
+ - **`doctor`** abre o conteudo ao vivo de verdade e mede: acima de 9s, aponta o `register-mcp`;
37
+ registro do Codex sem o tempo de espera vira problema listado.
38
+ - Quem ja instalou: "atualiza o sistema" pelo Ops resolve; ou `npx auroq-os register-mcp` na pasta.
39
+
40
+ ## [2.4.13] — 2026-09-03
41
+
42
+ ### Squad Edicao ativava, mas nao tinha script nenhum no computador
43
+ Aluno com Pack liberado ativou o Squad Edicao pelo MCP e, ao diagnosticar, o squad procurou
44
+ `agents/squad-edicao-arcane/scripts/doctor.py` — arquivo que nunca chegou. Seis squads do Pack
45
+ sao hibridos: o metodo vem ao vivo, mas scripts, instalador, fontes e configs lidas por script
46
+ ficam no disco e so chegam por `npx arcane-pack update`. Ninguem mandava rodar isso — o Ops e
47
+ os atalhos ate proibiam citar o comando.
48
+
49
+ - **Os atalhos dos seis squads hibridos** (Edicao, Carrossel, Anuncios, Trafego, Low Ticket,
50
+ Bia) dizem onde fica a parte executavel e qual comando a traz. Se um passo citar a pasta e
51
+ ela nao existir, o agente roda o comando e continua.
52
+ - **O Ops** ganha a excecao unica: `npx arcane-pack update` quando um squad hibrido reclama que
53
+ `agents/<squad>/` nao existe. Pra receber o Pack, a regra segue: nada de zip, nada de comando.
54
+ - **Do lado do servidor** (independe desta versao): a ativacao desses squads ja avisa a pasta e
55
+ o comando, e o pacote do Squad Edicao voltou a trazer as configs de estilo que o script le.
56
+ - Quem ja instalou nao precisa atualizar pra ser atendido — o aviso vem do servidor. Atualizar
57
+ ("atualiza o sistema") traz os atalhos novos.
58
+
3
59
  ## [2.4.12] — 2026-09-03
4
60
 
5
61
  ### "Status: ativo" e logo em seguida "Sem acesso ativo" no Windows
package/bin/auroq-os.js CHANGED
@@ -332,10 +332,16 @@ async function runDoctor(targetDir) {
332
332
  problemas.push('Rode: npx auroq-os register-mcp (reescreve o registro). Depois feche e abra o Claude Code.');
333
333
  }
334
334
  const tomlPath = path.join(targetDir, '.codex', 'config.toml');
335
- const temToml = (await fs.pathExists(tomlPath)) &&
336
- (await fs.readFile(tomlPath, 'utf8')).includes('[mcp_servers.arcane]');
337
- if (temToml) success('MCP arcane registrado no Codex');
338
- else log(` ${DIM}MCP arcane ainda nao registrado no Codex (so importa se voce usa o Codex)${RESET}`);
335
+ const tomlTexto = (await fs.pathExists(tomlPath)) ? await fs.readFile(tomlPath, 'utf8') : '';
336
+ const temToml = tomlTexto.includes('[mcp_servers.arcane]');
337
+ if (temToml && tomlTexto.includes('startup_timeout_sec')) {
338
+ success('MCP arcane registrado no Codex');
339
+ } else if (temToml) {
340
+ error('O registro do Codex esta sem o tempo de espera — a primeira abertura pode cair');
341
+ problemas.push('Rode: npx auroq-os register-mcp (reescreve o registro com o tempo certo). Depois feche e abra o Codex.');
342
+ } else {
343
+ log(` ${DIM}MCP arcane ainda nao registrado no Codex (so importa se voce usa o Codex)${RESET}`);
344
+ }
339
345
 
340
346
  // 4. login e licenca — o unico jeito de saber se o conteudo vai chegar
341
347
  const credPath = path.join(require('os').homedir(), '.arcane', 'credentials.json');
@@ -366,6 +372,24 @@ async function runDoctor(targetDir) {
366
372
  problemas.push('Confira sua internet. Sem servidor, o conteudo ao vivo nao chega — o resto do Auroq continua.');
367
373
  }
368
374
 
375
+ // 6. o conteudo ao vivo SOBE a tempo? (EMB-027: registro certo, servidor no ar, e mesmo
376
+ // assim o Codex/Claude Code desistiam antes do pacote terminar de baixar)
377
+ const semArranque = process.env.NODE_ENV === 'test' && process.env.AUROQ_SKIP_AUTH === '1';
378
+ if (pin && !semArranque) {
379
+ log(` ${DIM}Abrindo o conteudo ao vivo pra medir (na primeira vez pode levar 1-2 min)...${RESET}`);
380
+ aquecerArcaneMcp();
381
+ const ms = await medirArranqueArcaneMcp(pin);
382
+ if (ms === null) {
383
+ error('O conteudo ao vivo nao abriu nesta janela');
384
+ problemas.push(`Rode: npx -y ${pin} whoami — se der erro, mande o print pro suporte.`);
385
+ } else if (ms > MCP_ARRANQUE_LIMITE_MS) {
386
+ error(`O conteudo ao vivo levou ${(ms / 1000).toFixed(0)}s pra abrir; o Codex espera 10s`);
387
+ problemas.push('Rode: npx auroq-os register-mcp (da mais tempo ao Codex). Depois feche e abra o Codex.');
388
+ } else {
389
+ success(`Conteudo ao vivo abre em ${(ms / 1000).toFixed(1)}s`);
390
+ }
391
+ }
392
+
369
393
  log('');
370
394
  if (problemas.length === 0) {
371
395
  success('Tudo certo. Pode chamar o Companion.');
@@ -378,8 +402,105 @@ async function runDoctor(targetDir) {
378
402
  return 1;
379
403
  }
380
404
 
405
+ // Conteudo ao vivo (MCP arcane). O pacote e baixado pelo npx na PRIMEIRA abertura:
406
+ // medido num Windows limpo em 03/09/2026, 52s a frio e 2s a quente. O Codex espera
407
+ // 10s e o Claude Code 30s antes de matar o processo (EMB-027). Num Windows limpo com
408
+ // internet rapida, tentativas mortas aos 10s ainda somam progresso; na maquina do aluno
409
+ // (rede domestica + antivirus) a aluna viu timeout em todas as que fez. Por isso:
410
+ // (1) o registro do Codex pede mais tempo, (2) instalacao/atualizacao ja baixam o
411
+ // pacote, (3) o doctor mede o arranque de verdade em vez de so olhar o registro.
412
+ const ARCANE_MCP_PIN = 'arcane-mcp@0.4.0';
413
+ const CODEX_MCP_STARTUP_SEC = 120;
414
+ const MCP_ARRANQUE_LIMITE_MS = 9000; // abaixo do que o Codex tolera (10s)
415
+
416
+ function blocoCodexArcane(pin) {
417
+ return [
418
+ '[mcp_servers.arcane]',
419
+ 'command = "npx"',
420
+ `args = ["-y", "${pin}"]`,
421
+ '# Primeira abertura baixa o pacote (ate 1-2 min no Windows); o padrao do Codex sao 10s.',
422
+ `startup_timeout_sec = ${CODEX_MCP_STARTUP_SEC}`,
423
+ '',
424
+ ].join('\n');
425
+ }
426
+
427
+ // Baixa o pacote do conteudo ao vivo com o MESMO nome que o registro usa (o cache do
428
+ // npx e por nome+versao: `arcane-mcp` e `arcane-mcp@0.4.0` sao caches diferentes).
429
+ function aquecerArcaneMcp() {
430
+ if (process.env.NODE_ENV === 'test' && process.env.AUROQ_SKIP_AUTH === '1') return true;
431
+ try {
432
+ execFileSync('npx', ['-y', ARCANE_MCP_PIN, 'whoami'], {
433
+ stdio: 'pipe', timeout: 240000, shell: process.platform === 'win32',
434
+ });
435
+ return true;
436
+ } catch {
437
+ return false;
438
+ }
439
+ }
440
+
441
+ // Abre o conteudo ao vivo do jeito que o Codex/Claude Code abrem e mede quanto tempo
442
+ // ele leva pra responder ao aperto de mao. Devolve ms, ou null se nao respondeu.
443
+ function medirArranqueArcaneMcp(pin, limiteMs = 180000) {
444
+ return new Promise((resolve) => {
445
+ const { spawn } = require('child_process');
446
+ const t0 = Date.now();
447
+ let saida = '';
448
+ let fim = false;
449
+ let processo;
450
+ const fecha = (ms) => {
451
+ if (fim) return;
452
+ fim = true;
453
+ clearTimeout(timer);
454
+ try { processo.kill(); } catch { /* ja morreu */ }
455
+ resolve(ms);
456
+ };
457
+ const timer = setTimeout(() => fecha(null), limiteMs);
458
+ try {
459
+ processo = spawn('npx', ['-y', pin], {
460
+ stdio: ['pipe', 'pipe', 'pipe'], shell: process.platform === 'win32',
461
+ });
462
+ } catch {
463
+ clearTimeout(timer);
464
+ resolve(null);
465
+ return;
466
+ }
467
+ processo.stdout.on('data', (d) => {
468
+ saida += d.toString();
469
+ if (saida.includes('"serverInfo"')) fecha(Date.now() - t0);
470
+ });
471
+ processo.stderr.on('data', () => {});
472
+ processo.on('exit', () => fecha(null));
473
+ processo.on('error', () => fecha(null));
474
+ const pedido = {
475
+ jsonrpc: '2.0', id: 1, method: 'initialize',
476
+ params: { protocolVersion: '2024-11-05', capabilities: {}, clientInfo: { name: 'auroq-doctor', version: '0' } },
477
+ };
478
+ try { processo.stdin.write(`${JSON.stringify(pedido)}\n`); } catch { fecha(null); }
479
+ });
480
+ }
481
+
482
+ // Aluno antigo tem o Bootstrap completo em `.claude/commands/AuroqOS/agents/ops.md`.
483
+ // A migracao troca esse arquivo pela casca (ponteiro pro MCP). Sem guardar o original,
484
+ // o Ops dele morre junto com o acesso — e a regra do Euriler (29/08) e que o que ja
485
+ // estava no computador continua dele. A casca do Ops cai pra este arquivo quando o
486
+ // servidor recusa (EMB-019). Nunca sobrescreve um OPS-LOCAL.md que ja exista.
487
+ async function guardarBootstrapLocal(targetDir, file, dst, dstExists) {
488
+ if (file !== '.claude/commands/AuroqOS/agents/ops.md' || !dstExists) return false;
489
+ let atual = '';
490
+ try { atual = await fs.readFile(dst, 'utf8'); } catch { return false; }
491
+ const eCasca = atual.includes('vem pelo MCP') || atual.length < 8000;
492
+ if (eCasca) return false;
493
+ const alvo = path.join(targetDir, 'agents', 'ops', 'OPS-LOCAL.md');
494
+ if (await fs.pathExists(alvo)) return false;
495
+ await fs.ensureDir(path.dirname(alvo));
496
+ const cabecalho = '<!-- Bootstrap completo que morava neste computador antes da migracao pro conteudo ao vivo. O atalho /ops usa este arquivo quando o servidor recusa o acesso. -->\n\n';
497
+ await fs.writeFile(alvo, cabecalho + atual);
498
+ success('Bootstrap antigo guardado em agents/ops/OPS-LOCAL.md (usado se o acesso acabar)');
499
+ return true;
500
+ }
501
+
381
502
  async function writeArcaneMcpConfig(targetDir) {
382
- const pin = 'arcane-mcp@0.4.0';
503
+ const pin = ARCANE_MCP_PIN;
383
504
  const mcpPath = path.join(targetDir, '.mcp.json');
384
505
  let json = { mcpServers: {} };
385
506
  if (await fs.pathExists(mcpPath)) {
@@ -391,10 +512,14 @@ async function writeArcaneMcpConfig(targetDir) {
391
512
 
392
513
  const tomlPath = path.join(targetDir, '.codex', 'config.toml');
393
514
  await fs.ensureDir(path.dirname(tomlPath));
394
- const block = `[mcp_servers.arcane]\ncommand = "npx"\nargs = ["-y", "${pin}"]\n`;
515
+ const block = blocoCodexArcane(pin);
395
516
  let toml = '';
396
517
  if (await fs.pathExists(tomlPath)) toml = await fs.readFile(tomlPath, 'utf8');
397
- if (!toml.includes('[mcp_servers.arcane]')) {
518
+ if (toml.includes('[mcp_servers.arcane]')) {
519
+ // Reescreve o bloco (registro antigo nao tinha o tempo de espera); o resto do arquivo fica.
520
+ const semBloco = toml.replace(/\[mcp_servers\.arcane\][\s\S]*?(?=\n\[|$(?![\s\S]))/, block.trimEnd());
521
+ if (semBloco !== toml) await fs.writeFile(tomlPath, semBloco.endsWith('\n') ? semBloco : `${semBloco}\n`);
522
+ } else {
398
523
  const next = (toml.trimEnd() ? `${toml.trimEnd()}\n\n` : '') + block;
399
524
  await fs.writeFile(tomlPath, next);
400
525
  }
@@ -785,6 +910,7 @@ async function init({ pasta = null } = {}) {
785
910
  if (isStudentFile && dstExists) {
786
911
  // Nao sobrescrever dados do aluno
787
912
  } else {
913
+ await guardarBootstrapLocal(targetDir, file, dst, dstExists);
788
914
  await fs.copy(src, dst, { overwrite: true });
789
915
  }
790
916
  copied++;
@@ -822,6 +948,9 @@ async function init({ pasta = null } = {}) {
822
948
  }
823
949
  await patchEnableAllProjectMcpServers(targetDir);
824
950
  await writeArcaneMcpConfig(targetDir);
951
+ step('Preparando o conteudo ao vivo (baixa uma vez; pode levar 1-2 min)...');
952
+ if (aquecerArcaneMcp()) success('Conteudo ao vivo pronto pra abrir rapido');
953
+ else warn('Nao consegui baixar o conteudo ao vivo agora — a primeira abertura vai demorar mais');
825
954
 
826
955
  // ─── Fase 4: Copiar Synapse Engine
827
956
  step('Instalando Synapse Engine...');
@@ -1097,6 +1226,9 @@ async function clone(repoArg) {
1097
1226
  }
1098
1227
 
1099
1228
  await writeArcaneMcpConfig(destDir);
1229
+ step('Preparando o conteudo ao vivo (baixa uma vez; pode levar 1-2 min)...');
1230
+ if (aquecerArcaneMcp()) success('Conteudo ao vivo pronto pra abrir rapido');
1231
+ else warn('Nao consegui baixar o conteudo ao vivo agora — a primeira abertura vai demorar mais');
1100
1232
 
1101
1233
  // ─── Fase 8: Health check
1102
1234
  step('Verificando integridade...');
@@ -1216,6 +1348,9 @@ if (command === 'init' || command === 'install') {
1216
1348
  await patchEnableAllProjectMcpServers(targetDir);
1217
1349
  await writeArcaneMcpConfig(targetDir);
1218
1350
  success('Conteudo ao vivo registrado (.mcp.json e .codex/config.toml).');
1351
+ log(`${DIM}Baixando o conteudo ao vivo uma vez (pode levar 1-2 min)...${RESET}`);
1352
+ if (aquecerArcaneMcp()) success('Conteudo ao vivo pronto pra abrir rapido');
1353
+ else warn('Nao consegui baixar o conteudo ao vivo agora — a primeira abertura vai demorar mais');
1219
1354
  log(`${DIM}Feche e abra o Claude Code ou o Codex pra ele enxergar o registro.${RESET}`);
1220
1355
  process.exit(0);
1221
1356
  })().catch(err => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auroq-os",
3
- "version": "2.4.12",
3
+ "version": "2.4.15",
4
4
  "description": "Auroq OS — Sistema Operacional de IA para Experts",
5
5
  "bin": {
6
6
  "auroq-os": "bin/auroq-os.js"