auroq-os 1.4.0 → 1.5.0

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.
@@ -188,15 +188,24 @@ O expert so precisa pedir "atualiza o sistema" — Ops faz o resto.
188
188
  - `.synapse/` — manifest, constitution, global, context
189
189
  - `bin/` — installer
190
190
  - `package.json` — dependencias
191
+ - `agents/squad-forge/` — meta squad oficial
192
+ - `agents/mind-forge/` — meta squad oficial
193
+ - `agents/worker-forge/` — meta squad oficial
194
+ - `agents/clone-forge/` — meta squad oficial
195
+ - `agents/etlmaker/` — meta squad oficial
196
+ - `agents/organizer/` — meta squad oficial
191
197
 
192
198
  **NAO ATUALIZA (L4 — dados do expert):**
193
199
  - `business/` — campanhas, processos, cockpit, vault, templates preenchidos
194
200
  - `docs/knowledge/` — expert-mind, expert-business, biblioteca-pmi (conteudo do expert)
195
201
  - `agents/companion/data/` — contexto-dinamico, log-decisoes, padroes, backlog
196
202
  - `agents/companion/knowledge/expert-essencial.md` — perfil do expert
203
+ - `agents/companion/` — companion e personalizado pelo expert (nome, persona)
197
204
  - `.claude/commands/companion.md` (ou `{nome}-companion.md`) — personalizado pelo expert
198
205
  - `agents/companion/agents/companion.md` — personalizado com nome do expert
199
- - Qualquer squad/worker/mind que o expert instalou em `agents/`
206
+ - `agents/{squad-customizado-pelo-expert}/` — squads que o expert criou via Squad Forge ficam intactos (qualquer pasta em agents/ que NAO seja meta squad oficial nem companion)
207
+ - `agents/clone-forge/minds/` — clones em andamento ou prontos do expert (state, sources, outputs)
208
+ - `agents/{meta-squad}/minds/` — outputs de qualquer meta squad (mind-forge/minds/, etlmaker/minds/, etc)
200
209
  - `.claude/CLAUDE.md` — SE o expert personalizou (verificar antes de sobrescrever)
201
210
 
202
211
  **Logica de copia:**
@@ -205,6 +214,7 @@ Para cada arquivo da versao nova:
205
214
  2. SE e L4 e o arquivo local NAO existe → copiar (novo template)
206
215
  3. SE e L4 e o arquivo local EXISTE → NAO tocar (dados do expert)
207
216
  4. SE e CLAUDE.md → verificar se expert customizou. SE sim: nao sobrescrever, avisar. SE nao: atualizar
217
+ 5. SE e meta squad em agents/ (squad-forge, mind-forge, worker-forge, clone-forge, etlmaker, organizer) → sobrescrever framework MAS preservar subpasta `minds/` se existir (e onde o expert tem outputs)
208
218
 
209
219
  **Passo 5 — Pos-atualizacao**
210
220
  1. `npm install` — atualizar dependencias
package/.gitignore CHANGED
@@ -23,3 +23,6 @@ Thumbs.db
23
23
  # Temp files
24
24
  *.tmp
25
25
  *-snapshot.md
26
+
27
+ # Backups locais pré-sync (não vão pro npm/git)
28
+ _backup-pre-sync/
@@ -1,6 +1,6 @@
1
1
  # Squad Forge
2
2
 
3
- Extrai processos complexos da sua cabeca e transforma em squads AIOS funcionais. Extracao profunda com 8 lentes iterativas.
3
+ Extrai processos complexos da sua cabeca e transforma em squads AIOS funcionais com profundidade real. Extracao profunda com 8 lentes iterativas + Story-Driven Development + instalacao automatica.
4
4
 
5
5
  ## Ativacao
6
6
 
@@ -8,50 +8,103 @@ Extrai processos complexos da sua cabeca e transforma em squads AIOS funcionais.
8
8
  /squadForge
9
9
  ```
10
10
 
11
+ ## Modos
12
+
13
+ | Modo | Comando | O que faz |
14
+ |------|---------|-----------|
15
+ | Criar | `*start` | Pipeline completo: extracao → playback → arquitetura → montagem → instalacao |
16
+ | Atualizar | `*update {squad}` | Modificacao cirurgica preservando profundidade |
17
+ | Consertar | `*fix {squad}` | Audit + auto-fix + lista de fixes manuais |
18
+ | Refazer | `*rebuild {squad}` | Reverse-extract + reconstrucao com profundidade nova |
19
+ | Auto-test | `*self-test` | Audita o proprio squad-forge |
20
+
11
21
  ## Agentes
12
22
 
13
23
  | Agente | Funcao |
14
24
  |--------|--------|
15
- | @forge-chief | Orquestrador do pipeline, playback validation |
16
- | @process-archaeologist | Especialista em extracao profunda de processos |
17
- | @forge-smith | Construtor AIOS, transforma processo em squad |
25
+ | @forge-chief | Orquestrador do pipeline, playback validation, modo selector |
26
+ | @process-archaeologist | Especialista em extracao profunda de processos (8 lentes) |
27
+ | @forge-smith | Construtor AIOS, PRD/Stories, hard gates de profundidade |
18
28
 
19
- ## Pipeline
29
+ ## Pipeline (modo Criar)
20
30
 
21
31
  ```
22
32
  Fase 0: Setup → Fase 1: Extracao → Fase 2: Playback
23
- → Fase 3: Arquitetura Fase 4: Montagem → Fase 5: Validacao + Install
33
+ → Fase 3: Arquitetura + PRD + Stories + Tracker
34
+ → Fase 4: Montagem com profundidade obrigatoria
35
+ → Fase 5: Validacao + Instalacao Automatica
24
36
  ```
25
37
 
26
38
  ## Quality Gates
27
39
 
28
- - QG-SF-001: Extraction Completeness (processo extraido com profundidade)
29
- - QG-SF-002: User Validation (playback aprovado pelo dono do processo)
30
- - QG-SF-003: Architecture Coherence (squad bem estruturado)
31
- - QG-SF-004: Nuclear Structure (agents, tasks, workflows validos)
32
- - QG-SF-005: Squad Operational (smoke tests passam)
40
+ - **QG-SF-001:** Extraction Completeness >=15 PUs, 6/8 lentes, confianca >=0.7
41
+ - **QG-SF-002:** User Validation playback aprovado pelo dono
42
+ - **QG-SF-003:** Architecture Coherence agentes coerentes + PRD + Stories + Tracker
43
+ - **QG-SF-004:** Nuclear Structure + Profundidade — squad-validator PASS + self-audit (agentes >=250 linhas, 3+ Output Examples, 3+ Immune triggers, KB rica)
44
+ - **QG-SF-005:** Squad Operational smoke tests + aprovacao + instalacao automatica
45
+
46
+ ## Squad Autocontido (NON-NEGOTIABLE)
47
+
48
+ Squad gerado e SELF-CONTAINED. Funciona zipado e enviado pra qualquer maquina.
49
+
50
+ - **PROIBIDO:** ref a `docs/knowledge/...`, `squads/etlmaker/kbs/...`, `business/...`, `~/euriler-brain/`, absolute paths `/Users/...` em runtime
51
+ - **PERMITIDO:** refs internas (`squads/{this-squad}/`), framework AIOS (`.aios-core/`), URLs/APIs externas
52
+ - **Build-time:** fontes externas sao LIDAS, ADAPTADAS e ESCRITAS como conteudo proprio em `squads/{name}/data/`
53
+ - **Hard gate:** QG-SF-004 falha se grep encontra ref externa proibida
54
+
55
+ Razao: squads sao distribuidos pra alunos da Mentoria Arcane. Refs externas quebram fora do ambiente original.
56
+
57
+ ## Profundidade obrigatoria (hard gates)
58
+
59
+ Cada agente gerado deve ter:
60
+ - >=250 linhas
61
+ - >=3 OUTPUT EXAMPLES concretos do processo
62
+ - >=3 IMMUNE SYSTEM triggers rastreaveis a PUs
63
+ - >=5 Frases-Chave (Voice DNA)
64
+ - >=5 regras NUNCA + >=5 regras SEMPRE
65
+
66
+ KB minimum por tipo:
67
+ - Operacional: >=800 linhas
68
+ - Analitico/Criativo: >=600 linhas
69
+ - Dev/Tecnico: >=400 linhas
70
+
71
+ Thresholds em `data/quality-thresholds.yaml`.
72
+
73
+ ## Story-Driven Development (Article III Constitution)
74
+
75
+ Cada squad gerado vem com:
76
+ - `docs/prd/squad-{slug}.md` — PRD com FRs/NFRs/CONs/SCs rastreaveis aos PUs
77
+ - `docs/stories/squad-forge/{slug}/` — 1 epic story (5 ACs = 5 QGs) + 1 story por fase
78
+ - `business/campanhas/squad-{slug}/tracker.md` — Project Tracker Protocol
79
+
80
+ ## Instalacao automatica (Fase 5)
81
+
82
+ Apos QG-SF-005 PASS:
83
+ 1. Backup automatico do squad anterior em `squads/_archive/`
84
+ 2. Cópia `minds/{slug}/04-squad/` → `squads/{name}/`
85
+ 3. Skill registrada em `.claude/commands/{slashPrefix}.md`
86
+ 4. MEMORY.md atualizado em "Squads Instalados"
87
+ 5. Tracker do squad atualizado com LOG
88
+ 6. Validacao pos-instalacao + rollback se falhar
89
+
90
+ Squad fica imediatamente disponivel via `/{slashPrefix}`.
33
91
 
34
92
  ## Output
35
93
 
36
- Squad completo em `minds/{slug}/04-squad/`:
94
+ Squad completo em `squads/{name}/`:
37
95
 
38
96
  ```
39
- 04-squad/
40
- ├── agents/ — Agentes do squad
41
- ├── tasks/ — Tasks executaveis
97
+ {name}/
98
+ ├── agents/ — Agentes do squad (>=250 linhas cada, com Output Examples + Immune System)
99
+ ├── tasks/ — Tasks executaveis (8 campos TASK-FORMAT-SPEC-V1)
42
100
  ├── workflows/ — Pipeline do squad
43
- ├── knowledge/ — KB extraida do processo
101
+ ├── data/ — KB rica (Regras Cardinais, Decision Trees, Tabelas de Referencia)
102
+ ├── checklists/ — Validacoes
44
103
  ├── squad.yaml — Configuracao
45
104
  └── README.md — Documentacao
46
105
  ```
47
106
 
48
- ## Instalacao
49
-
50
- Automatica no final do pipeline (Fase 5):
51
- 1. Output copiado para `agents/{slug}/`
52
- 2. Skill registrada em `.claude/commands/{slashPrefix}.md`
53
- 3. Ativacao imediata via `/{slashPrefix}`
54
-
55
107
  ## Dependencias
56
108
 
57
- Nenhuma obrigatoria.
109
+ - Opcional: ETLmaker (para incorporar conhecimento existente em squads operacionais)
110
+ - Opcional: `squad-validator.js` em `.aios-core/development/scripts/squad/` (fallback pra checklist nuclear)
@@ -68,26 +68,56 @@ FASE 5: Validacao → Chief + @forge-smith
68
68
 
69
69
  **State Management:**
70
70
 
71
- Pipeline e pausavel/resumivel. O Chief mantem estado em `.state.json`:
71
+ Pipeline e pausavel/resumivel. Estado vive em `minds/{slug}/.state.json`. Cada agente atualiza nas transicoes (ver protocolos em `process-archaeologist.md` e `forge-smith.md`).
72
+
73
+ **Schema do `.state.json`:**
72
74
 
73
75
  ```yaml
74
76
  state:
75
77
  process_slug: "{slug}"
76
- current_phase: 0-5
78
+ process_name: "{nome}"
79
+ scope: "{descricao}"
80
+ target_audience: "internal" # "internal" (so Euriler) | "distributed" (alunos/clientes — REGRA AUTOCONTIDO ativa)
81
+ current_phase: 0 # 0..5 (6 fases totais)
77
82
  phase_status:
78
- phase_0: "pending|in_progress|completed"
79
- phase_1: "pending|in_progress|completed"
80
- phase_2: "pending|in_progress|completed"
81
- phase_3: "pending|in_progress|completed"
82
- phase_4: "pending|in_progress|completed"
83
- phase_5: "pending|in_progress|completed"
83
+ phase_0: "completed" # setup
84
+ phase_1: "in_progress" # extracao
85
+ phase_2: "pending" # playback
86
+ phase_3: "pending" # arquitetura
87
+ phase_4: "pending" # montagem
88
+ phase_5: "pending" # validacao
84
89
  extraction_rounds: 0
85
90
  total_pus: 0
86
- quality_gates_passed: []
91
+ quality_gates_passed: [] # ["QG-SF-001", ...]
92
+ rounds_log: [] # 1 entrada por round (archaeologist grava)
93
+ blueprint_path: "" # smith preenche apos QG-SF-003
94
+ squad_artifacts: # smith preenche apos QG-SF-004
95
+ agents: 0
96
+ tasks: 0
97
+ workflows: 0
98
+ kb_files: 0
99
+ total_lines_generated: 0
100
+ installed_to: "" # path em squads/ apos Fase 5 (instalacao auto)
101
+ started_at: "{ISO}"
87
102
  paused_at: ""
88
103
  resumed_at: ""
104
+ completed_at: ""
89
105
  ```
90
106
 
107
+ **Protocolo `*resume`:**
108
+
109
+ 1. Ler `.state.json` da pasta `minds/{slug}/`
110
+ 2. Identificar primeira fase com status != "completed"
111
+ 3. Anunciar: "Retomando pipeline em Fase {N} — {nome da fase}. Ultimo state em {paused_at}"
112
+ 4. Roteiar pra agente correto da fase:
113
+ - phase_1: handoff @process-archaeologist
114
+ - phase_2: chief executa playback-validate
115
+ - phase_3, 4: handoff @forge-smith
116
+ - phase_5: chief + smith
117
+ 5. Atualizar `resumed_at` no state
118
+
119
+ **Se state corrompido ou ausente:** avisar usuario e oferecer recriar a partir do que existe em `01-extraction/`, `02-process-map/`, etc.
120
+
91
121
  ### 2. PLAYBACK VALIDATION (Fase 2)
92
122
 
93
123
  **Nivel de Autoridade:** Total
@@ -170,7 +200,11 @@ Gaps geram perguntas cirurgicas pro proximo round.
170
200
 
171
201
  | Comando | Descricao |
172
202
  |---------|-----------|
173
- | `*start` | Iniciar pipeline (setup + primeiro round de extracao) |
203
+ | `*start` | Criar squad novo pipeline completo de extracao |
204
+ | `*update {squad-name}` | Atualizar squad existente (modificacao cirurgica) |
205
+ | `*fix {squad-name}` | Diagnosticar e consertar squad existente |
206
+ | `*rebuild {squad-name}` | Refazer squad do zero mantendo o que funciona |
207
+ | `*self-test` | Rodar audit no proprio squad-forge (`*fix` em si mesmo) |
174
208
  | `*status` | Mostrar estado atual do pipeline |
175
209
  | `*resume` | Retomar pipeline pausado |
176
210
  | `*playback` | Executar playback validation manualmente |
@@ -178,12 +212,17 @@ Gaps geram perguntas cirurgicas pro proximo round.
178
212
  | `*help` | Listar comandos |
179
213
  | `*exit` | Sair do modo agente |
180
214
 
215
+ > Notas:
216
+ > - `*update`, `*fix`, `*rebuild`: implementados em tasks dedicadas (ver `tasks/update-squad.md`, `fix-squad.md`, `rebuild-squad.md`)
217
+ > - `*self-test`: implementado em `tasks/self-test.md` (Fase 6 do plano de correcao)
218
+
181
219
  ---
182
220
 
183
221
  ## STRICT RULES
184
222
 
185
223
  ### O Chief NUNCA:
186
224
 
225
+ - **Aprova squad com referencia a paths externos do repo Euriler.** Squads sao distribuidos pra alunos da Mentoria Arcane. Se squad referencia `docs/knowledge/...`, `squads/etlmaker/kbs/...`, `business/...` ou similar em runtime, quebra fora do ambiente original. Bloqueia QG-SF-004 sem excecao. (Ver REGRA AUTOCONTIDO no forge-smith.md)
187
226
  - Inventa passos ou decisoes que o usuario nao mencionou
188
227
  - Passa pro Fase 3 sem confirmacao explicita do usuario no Playback
189
228
  - Ignora quality gates — se nao passa, nao avanca
@@ -30,9 +30,9 @@ O Smith usa a mesma infraestrutura de validacao do Craft para garantir que squad
30
30
 
31
31
  | Script | Path | Funcao |
32
32
  |--------|------|--------|
33
- | **squad-validator.js** | `.auroq-core/development/scripts/squad/squad-validator.js` | Validacao estrutural contra JSON Schema + AIOS standards |
34
- | **squad-analyzer.js** | `.auroq-core/development/scripts/squad/squad-analyzer.js` | Metricas de cobertura e sugestoes de melhoria |
35
- | **squad-schema.json** | `.auroq-core/development/schemas/squad-schema.json` | JSON Schema do manifest |
33
+ | **squad-validator.js** | `.aios-core/development/scripts/squad/squad-validator.js` | Validacao estrutural contra JSON Schema + AIOS standards |
34
+ | **squad-analyzer.js** | `.aios-core/development/scripts/squad/squad-analyzer.js` | Metricas de cobertura e sugestoes de melhoria |
35
+ | **squad-schema.json** | `.aios-core/schemas/squad-schema.json` | JSON Schema do manifest |
36
36
 
37
37
  **Regra:** squad-validator.js e OBRIGATORIO na Fase 4 (Montagem). NAO e opcional. Se o validator nao existir no path, usar checklist nuclear como fallback.
38
38
 
@@ -275,7 +275,7 @@ Validar o squad gerado contra padroes AIOS usando a mesma infraestrutura do Squa
275
275
  **OBRIGATORIO — squad-validator.js:**
276
276
 
277
277
  ```bash
278
- node .auroq-core/development/scripts/squad/squad-validator.js minds/{slug}/04-squad/
278
+ node .aios-core/development/scripts/squad/squad-validator.js minds/{slug}/04-squad/
279
279
  ```
280
280
 
281
281
  O validator checa automaticamente:
@@ -302,7 +302,7 @@ O validator checa automaticamente:
302
302
  **OPCIONAL — squad-analyzer.js (metricas de cobertura):**
303
303
 
304
304
  ```bash
305
- node .auroq-core/development/scripts/squad/squad-analyzer.js minds/{slug}/04-squad/
305
+ node .aios-core/development/scripts/squad/squad-analyzer.js minds/{slug}/04-squad/
306
306
  ```
307
307
 
308
308
  Gera relatorio de cobertura: componentes, metricas, sugestoes de melhoria.
@@ -358,6 +358,7 @@ Para cada PU-STEP, classificar o tipo de executor:
358
358
 
359
359
  ### O Smith NUNCA:
360
360
 
361
+ - **Gera squad com referencia a paths externos** — KB do squad vive DENTRO de `squads/{name}/data/`, nunca aponta pra `docs/knowledge/...`, `squads/etlmaker/kbs/...`, `business/...`, `~/euriler-brain/`, ou qualquer path fora de `squads/{name}/`. Squad precisa rodar como pacote zipado entregue pra aluno. (Ver REGRA AUTOCONTIDO abaixo)
361
362
  - Gera squad sem process map validado pelo usuario (Fase 2 obrigatoria)
362
363
  - Cria task sem os 8 campos obrigatorios
363
364
  - Ignora a classificacao de executor — cada passo tem seu tipo
@@ -367,6 +368,57 @@ Para cada PU-STEP, classificar o tipo de executor:
367
368
  - Automatiza passos que o usuario disse que PRECISA fazer pessoalmente
368
369
  - Inventa quality gates que o usuario nao mencionou como criterio
369
370
 
371
+ ---
372
+
373
+ ## REGRA AUTOCONTIDO (NON-NEGOTIABLE)
374
+
375
+ **Squad autocontido > squad limpo-mas-dependente.** Se zipar `squads/{name}/` e mandar pro aluno, ele tem que conseguir usar tudo. Se quebrar, e burrice.
376
+
377
+ ### Por que essa regra existe
378
+
379
+ Squads ficavam fracos no passado: usuario despejava ETL/KBs como fonte bruta, smith fazia squad simples com referencia externa. Aluno recebia squad que dependia de paths que ele nao tinha. Confronto explicito do Euriler em 05/05/2026: "Isso é a maior burrice que ja vi."
380
+
381
+ ### Fontes (build-time inputs) vs Squad (runtime artefato)
382
+
383
+ - **Fontes externas** (ETL, KBs do repo Euriler, transcricoes, docs): so existem em **build-time**. Smith le, **processa, sintetiza, ADAPTA ao contexto dos agentes do squad**, e ESCREVE arquivos novos em `squads/{name}/data/`.
384
+ - **Squad runtime**: so referencia caminhos dentro de `squads/{name}/`.
385
+
386
+ ### O que e PROIBIDO em arquivo gerado de squad
387
+
388
+ | Proibido | Razao |
389
+ |----------|-------|
390
+ | `docs/knowledge/euriler-business/...` em runtime ref | Path do repo Euriler, nao existe no aluno |
391
+ | `squads/etlmaker/kbs/...` em runtime ref | Outro squad — quebra portabilidade |
392
+ | `business/...`, `business/campanhas/...` em runtime ref | Privado do Euriler |
393
+ | `~/aios/...`, `/Users/euriler/...` (absolute) | Absolute paths do dono |
394
+ | `~/euriler-brain/...` | Vault privado |
395
+ | "Ver KB completa em {path externo}" | Equivale a entregar bruto |
396
+ | Imports/links/symlinks pra fora do squad | Quebra portabilidade |
397
+
398
+ ### O que e PERMITIDO em runtime
399
+
400
+ - Refs internas: `squads/{this-squad}/data/*.md`, `squads/{this-squad}/agents/*.md`, etc
401
+ - Refs ao framework AIOS (`.aios-core/`) — infra compartilhada, todo aluno tem
402
+ - Refs a tools/CLIs padrao do sistema (git, node, npm, etc)
403
+ - Refs a APIs/URLs externas com autenticacao do proprio aluno
404
+
405
+ ### Build-time: incorporar, nao linkar
406
+
407
+ Ao processar fonte externa (Step 6b do `assemble-squad.md`):
408
+
409
+ 1. **Ler** arquivo completo da fonte
410
+ 2. **Extrair** conteudo relevante pro escopo do squad
411
+ 3. **Adaptar** ao contexto dos agentes do squad (nao copiar literal — ressintese)
412
+ 4. **Escrever** em `squads/{name}/data/{nome-tematico}.md` como conteudo novo
413
+ 5. **Citar proveniencia opcional** em comentario de cabecalho (`<!-- Adaptado de X em build-time -->`), mas NAO como path runtime
414
+ 6. **NUNCA** deixar refs `[ver X em path-externo]` no output
415
+
416
+ ### Heuristica final
417
+
418
+ Antes de fechar o squad, perguntar: "Se o Euriler zipasse `squads/{name}/`, mandasse num email pra um aluno em outra maquina, e o aluno descompactasse — o squad funciona 100%?"
419
+
420
+ Se a resposta nao e "sim, integralmente": squad **nao esta pronto**. Voltar e internalizar o que falta.
421
+
370
422
  ### O Smith SEMPRE:
371
423
 
372
424
  - Usa TASK-FORMAT-SPECIFICATION-V1 (8 campos) em cada task
@@ -403,6 +455,43 @@ Para cada PU-STEP, classificar o tipo de executor:
403
455
 
404
456
  - **@forge-chief:** Squad completo pronto pra validacao final
405
457
 
458
+ ### State Updates (OBRIGATORIO em cada transicao de fase)
459
+
460
+ O Smith atualiza `.state.json` ao entrar e ao sair de cada fase:
461
+
462
+ **Ao entrar Fase 3 (Arquitetura):**
463
+ ```yaml
464
+ current_phase: 3
465
+ phase_status.phase_3: "in_progress"
466
+ phase_3_started_at: "{ISO}"
467
+ ```
468
+
469
+ **Ao concluir Fase 3 (apos QG-SF-003 PASS):**
470
+ ```yaml
471
+ phase_status.phase_3: "completed"
472
+ quality_gates_passed: [..., "QG-SF-003"]
473
+ blueprint_path: "minds/{slug}/03-blueprint/squad-blueprint.yaml"
474
+ phase_3_completed_at: "{ISO}"
475
+ ```
476
+
477
+ **Ao entrar Fase 4 (Montagem):**
478
+ ```yaml
479
+ current_phase: 4
480
+ phase_status.phase_4: "in_progress"
481
+ phase_4_started_at: "{ISO}"
482
+ ```
483
+
484
+ **Ao concluir Fase 4 (apos QG-SF-004 PASS):**
485
+ ```yaml
486
+ phase_status.phase_4: "completed"
487
+ quality_gates_passed: [..., "QG-SF-004"]
488
+ squad_artifacts: {agents: N, tasks: N, workflows: N, kb_files: N}
489
+ total_lines_generated: N
490
+ phase_4_completed_at: "{ISO}"
491
+ ```
492
+
493
+ Sem essas atualizacoes, `*resume` do chief nao funciona — pipeline retoma do lugar errado.
494
+
406
495
  ### Arquivos que Gera
407
496
 
408
497
  ```
@@ -232,6 +232,27 @@ Vamos la:
232
232
 
233
233
  ### Fim de Round
234
234
 
235
+ **1. Atualizar `.state.json` (OBRIGATORIO antes de qualquer mensagem ao usuario):**
236
+
237
+ ```yaml
238
+ state_update:
239
+ current_phase: 1
240
+ phase_status.phase_1: "in_progress" # "completed" so apos QG-SF-001 PASS
241
+ extraction_rounds: {N} # incrementar
242
+ total_pus: {total}
243
+ rounds_log:
244
+ - round: {N}
245
+ timestamp: "{ISO}"
246
+ pus_added: {N}
247
+ lens_covered: [{lentes deste round}]
248
+ avg_confidence: 0.XX
249
+ gaps_detected: [...]
250
+ ```
251
+
252
+ Implementacao: ler `.state.json`, atualizar campos, gravar de volta. Se nao gravar, `*resume` do chief nao funciona.
253
+
254
+ **2. Mensagem ao usuario:**
255
+
235
256
  ```
236
257
  === FIM DO ROUND {N} ===
237
258
 
@@ -252,6 +273,16 @@ Gaps detectados:
252
273
  {Se completude >= 0.95: "Extracao completa. Proximo passo: Playback Validation."}
253
274
  ```
254
275
 
276
+ ### Apos QG-SF-001 PASS
277
+
278
+ Atualizar `.state.json`:
279
+
280
+ ```yaml
281
+ phase_status.phase_1: "completed"
282
+ quality_gates_passed: [..., "QG-SF-001"]
283
+ phase_1_completed_at: "{ISO}"
284
+ ```
285
+
255
286
  ---
256
287
 
257
288
  ## TECNICAS ESPECIAIS DE EXTRACAO
@@ -2,7 +2,7 @@
2
2
 
3
3
  Validacao da Fase 4 — Montagem do Squad AIOS.
4
4
 
5
- **Metodo primario:** Rodar `node .auroq-core/development/scripts/squad/squad-validator.js {squad_path}`
5
+ **Metodo primario:** Rodar `node .aios-core/development/scripts/squad/squad-validator.js {squad_path}`
6
6
  **Este checklist manual:** Usado como FALLBACK se o script nao estiver disponivel.
7
7
 
8
8
  ## Manifest (squad.yaml)
@@ -116,17 +116,28 @@ Cada PU alimenta DOIS destinos no squad. O erro historico era mandar tudo so pra
116
116
 
117
117
  **Regra:** STEP operacional = step que contem COMO fazer algo (protocolo, tecnica, estrategia). Vai pra task E pra KB. STEP estrutural = step mecanico (abrir tela, clicar botao). So vai pra task.
118
118
 
119
- ## Integracao com ETL Existente
119
+ ## Integracao com ETL Existente (build-time only — REGRA AUTOCONTIDO)
120
120
 
121
- Quando o dominio ja tem output do ETLmaker (volumes em `docs/knowledge/expert-business/` ou `agents/etlmaker/kbs/`), o Squad Forge DEVE incorporar esse conhecimento na KB do squad.
121
+ > **REGRA AUTOCONTIDO ativa.** ETL e fonte externa em build-time. Squad gerado runtime NAO referencia caminhos `docs/knowledge/...` ou `squads/etlmaker/kbs/...`. Conteudo e LIDO em build-time, ADAPTADO ao contexto dos agentes do squad, e ESCRITO como conteudo proprio em `squads/{name}/data/`.
122
122
 
123
- **Fluxo:**
124
- 1. Na Fase 3 (architect-squad), checar se ETL existe pro dominio
125
- 2. Mapear quais volumes/secoes sao relevantes pro escopo do squad
126
- 3. Na Fase 4 (assemble-squad, Step 6b), ler os volumes e extrair conteudo operacional
127
- 4. A KB do squad e subconjunto RICO do ETL — nao resumo raso
123
+ Quando o dominio ja tem output do ETLmaker (volumes em paths externos do repo Euriler), o Squad Forge DEVE **internalizar** esse conhecimento na KB do squad — NAO referenciar.
128
124
 
129
- **Anti-padrao detectado:** ETL produz 3.000+ linhas de conhecimento rico. Squad building comprime pra 150 linhas de skeleton. Resultado: squad nao sabe operar. A KB do squad deve preservar profundidade, exemplos, tabelas e decision trees do ETL.
125
+ **Fluxo (build-time):**
126
+ 1. Na Fase 3 (architect-squad Step 5a), checar se ETL existe pro dominio (`ls docs/knowledge/...`, `ls squads/etlmaker/kbs/...` — comandos rodam na maquina do Euriler em build-time)
127
+ 2. Mapear quais volumes/secoes sao relevantes pro escopo do squad em `kb_plan.internalize_from`
128
+ 3. Na Fase 4 (assemble-squad Step 6b), LER os volumes em build-time e EXTRAIR conteudo operacional
129
+ 4. ADAPTAR ao contexto dos agentes do squad — nao copiar literal, ressintetizar
130
+ 5. ESCREVER em `squads/{name}/data/{nome-tematico}.md` como conteudo proprio
131
+ 6. Citar proveniencia opcional em comentario HTML (build-time only): `<!-- Adaptado de X em build-time -->`
132
+ 7. **NUNCA** deixar refs runtime apontando pra fonte externa
133
+
134
+ **Anti-padrao detectado (Andromeda, Audience):**
135
+ - ETL produz 3.000+ linhas de conhecimento rico
136
+ - Squad building cria skeleton de 150 linhas que **referencia** o ETL externo
137
+ - Aluno recebe squad — nao tem o ETL — squad nao sabe operar
138
+ - Confronto Euriler 06/05/2026: "É a maior burrice que ja vi."
139
+
140
+ A KB do squad deve PRESERVAR profundidade, exemplos, tabelas e decision trees do ETL — internalizando, nao linkando.
130
141
 
131
142
  ## Classificacao de Squads por Tipo de KB
132
143
 
@@ -172,8 +183,8 @@ O Squad Forge usa a mesma infraestrutura de validacao automatizada do Squad Crea
172
183
 
173
184
  | Script | Path | Quando Usar | Obrigatorio |
174
185
  |--------|------|-------------|-------------|
175
- | **squad-validator.js** | `.auroq-core/development/scripts/squad/squad-validator.js` | Fase 4 (Step 7) + Fase 5 (Step 1) | SIM |
176
- | **squad-analyzer.js** | `.auroq-core/development/scripts/squad/squad-analyzer.js` | Fase 4 (Step 8) | Recomendado |
186
+ | **squad-validator.js** | `.aios-core/development/scripts/squad/squad-validator.js` | Fase 4 (Step 7) + Fase 5 (Step 1) | SIM |
187
+ | **squad-analyzer.js** | `.aios-core/development/scripts/squad/squad-analyzer.js` | Fase 4 (Step 8) | Recomendado |
177
188
 
178
189
  ### squad-validator.js — O que valida
179
190
 
@@ -188,10 +199,10 @@ O Squad Forge usa a mesma infraestrutura de validacao automatizada do Squad Crea
188
199
 
189
200
  ```bash
190
201
  # Validar squad gerado na Fase 4
191
- node .auroq-core/development/scripts/squad/squad-validator.js minds/{slug}/04-squad/
202
+ node .aios-core/development/scripts/squad/squad-validator.js minds/{slug}/04-squad/
192
203
 
193
204
  # Analisar cobertura (opcional)
194
- node .auroq-core/development/scripts/squad/squad-analyzer.js minds/{slug}/04-squad/
205
+ node .aios-core/development/scripts/squad/squad-analyzer.js minds/{slug}/04-squad/
195
206
  ```
196
207
 
197
208
  ### Self-Healing Loop