@pixeleducacao/curso-openclaw 2026.5.8 → 2026.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/assets/skills/_registry.md +41 -13
  2. package/assets/skills/operacional/_registry.md +6 -0
  3. package/assets/skills/operacional/backup-workspace-github/SKILL.md +39 -3
  4. package/assets/skills/operacional/commit-diario-workspace/SKILL.md +233 -0
  5. package/assets/skills/operacional/cron-resume-wizards/SKILL.md +329 -0
  6. package/assets/skills/operacional/seguranca-checklist/SKILL.md +202 -0
  7. package/assets/skills/starter/_registry.md +13 -9
  8. package/assets/skills/starter/continuar-jornada/SKILL.md +358 -0
  9. package/assets/skills/starter/gera-log-jornada/SKILL.md +338 -0
  10. package/assets/skills/starter/onboarding-checklist/SKILL.md +416 -88
  11. package/assets/skills/starter/onboarding-checklist/references/arquivos-raiz.md +44 -16
  12. package/assets/skills/starter/onboarding-checklist/references/aula-menus.md +304 -0
  13. package/assets/skills/starter/onboarding-checklist/references/checklist-template.md +70 -1
  14. package/assets/skills/starter/onboarding-checklist/references/comandos-canonicos.md +337 -9
  15. package/assets/skills/starter/onboarding-checklist/references/mapa-aulas.md +17 -12
  16. package/assets/skills/starter/onboarding-checklist/references/principios-defensivos.md +772 -0
  17. package/assets/skills/starter/onboarding-checklist/references/sistema-de-mapas.md +2 -2
  18. package/assets/skills/starter/onboarding-checklist/references/wizard-header-template.md +51 -0
  19. package/assets/skills/starter/primeira-vitoria/SKILL.md +448 -53
  20. package/assets/skills/starter/primeira-vitoria/evals/evals.json +2 -2
  21. package/assets/skills/starter/wizard-agente/SKILL.md +123 -17
  22. package/assets/skills/starter/wizard-agente/evals/evals.json +3 -3
  23. package/assets/skills/starter/wizard-aluno/SKILL.md +28 -3
  24. package/assets/skills/starter/wizard-aluno/evals/evals.json +1 -1
  25. package/assets/skills/starter/wizard-autonomia/SKILL.md +157 -27
  26. package/assets/skills/starter/wizard-autonomia/evals/evals.json +2 -2
  27. package/assets/skills/starter/wizard-autonomia/screenshots/painel-hostinger-cli.jpg +0 -0
  28. package/assets/skills/starter/wizard-conectar/SKILL.md +382 -74
  29. package/assets/skills/starter/wizard-conectar/screenshots/github-pat/01-avatar-settings.png +0 -0
  30. package/assets/skills/starter/wizard-conectar/screenshots/github-pat/02-developer-settings.png +0 -0
  31. package/assets/skills/starter/wizard-conectar/screenshots/github-pat/03-tokens-classic.png +0 -0
  32. package/assets/skills/starter/wizard-conectar/screenshots/github-pat/04-generate-classic.png +0 -0
  33. package/assets/skills/starter/wizard-whisper-quick/SKILL.md +160 -23
  34. package/assets/skills/starter/wizard-workspace/SKILL.md +23 -4
  35. package/assets/skills/starter/wizard-workspace/evals/evals.json +1 -1
  36. package/assets/templates/HEARTBEAT.template.md +58 -0
  37. package/assets/templates/README.md +65 -13
  38. package/assets/templates/SOUL-stub.template.md +1 -1
  39. package/assets/templates/template-material-didatico.html +457 -0
  40. package/assets/templates/template-report-executivo.html +368 -0
  41. package/assets/templates/template-report.html +370 -0
  42. package/package.json +1 -1
@@ -3,15 +3,42 @@ name: wizard-agente
3
3
  status: ATIVO
4
4
  category: starter
5
5
  owner: aluno
6
- version: 1.0
6
+ version: 1.3
7
7
  mode: guided
8
8
  estimated_time: 4min (ou 1min se já configurado)
9
9
  model_compatible: [gpt-5, gpt-5.5, claude-sonnet-4, claude-opus-4, gemini-pro]
10
- description: Use when student types "configura agente" / "cria identidade do agente", OR when dispatched by onboarding-checklist as passo 1. Creates IDENTITY.md (nome, gênero, modelo, agent_id) + SOUL.md stub (tom geral, 1 anti-pattern) + AGENTS.md (boot sequence, red lines mínimas). Stub-first approach — SOUL completo só na aula B1. Detects existing files first (Princípio 1 + 11). Templates Amora opt-in via comando "exemplo".
10
+ description: Use when student types "configura agente" / "cria identidade do agente", OR when dispatched by onboarding-checklist as passo 1. Creates IDENTITY.md (nome, gênero, modelo, agent_id) + SOUL.md stub (tom geral, 1 anti-pattern) + AGENTS.md (boot sequence, red lines mínimas). Stub-first approach — SOUL completo só na Aula 5. Detects existing files first (Princípio 1 + 11). Templates Amora opt-in via comando "exemplo". **v1.3 (kit v2.5.2 — fix Adrylan loop transição): Mensagem canonical "Estado Parcial" NOVA usa LETRAS `a/b` (não `1/2`) — anti-colisão com whisper-quick passo 1.5. Plus: bloco TRANSIÇÃO whisper→wizard-agente com sequência canonical de 2 mensagens separadas (confirmação A + abertura B com marcador inequívoco). Caso real Adrylan: 3 turnos perdidos por ambiguidade entre `2` (whisper definitivo) e `2` (wizard-agente refazer).** v1.2 (kit v2.4 — stress test multi-persona): quando detecta IDENTITY/SOUL/AGENTS preenchidos manualmente (caso Rodrigo VPS root legado), agente AGORA OFERECE EXPLICITAMENTE Princípio 6 (preservar/ajustar/refazer) — antes pulava direto pra pergunta-âncora sem dar opção de mexer. P6 já estava documentado mas não aplicado nesse caminho.** v1.1 (kit v2.2): header com Princípios 13/14/15 explícitos.
11
11
  ---
12
12
 
13
13
  # Wizard Agente — Passo 1 (Personalidade do agente)
14
14
 
15
+ > 🔴 **PRINCÍPIOS NÃO-NEGOCIÁVEIS PRO AGENTE (kit v2.2):**
16
+ >
17
+ > **NÃO IMPROVISE.** Read este arquivo INTEIRO antes de falar com aluno. Não invente fluxo simplificado.
18
+ >
19
+ > **P13 — Guard Rail (wizard é passo bloqueante).** Toda mensagem do aluno é classificada:
20
+ > - (a) resposta direta → processa, avança
21
+ > - (b) comando canônico (`cancela`, `pula`, `voltar N`, `sobre`, `faq`, `corrige`, `muda modo`) → honra
22
+ > - (c1) pergunta tangencial → responde 1 linha, traz de volta ao passo
23
+ > - (c2) desvio total → anota em `## Perguntas pendentes` (MEMORY.md), traz de volta
24
+ > - 3 desvios consecutivos no mesmo passo → oferecer pause com `wizard_resume_at` agendado
25
+ >
26
+ > **P14 — Smoke tests visíveis.** Comando externo SEMPRE mostra (1) comando exato em bloco de código, (2) output literal em bloco de código, (3) só DEPOIS interpreta/narra. Sem evidência = ABORTA e pede ajuda. NUNCA finge que rodou.
27
+ >
28
+ > **P15 — Mensagens `<canonical>` literais.** Trechos marcados `<canonical>...</canonical>` usam LITERAL. Não reformula, não "melhora", não substitui exemplos. Ajustar TOM (formal/casual via SOUL.md) é OK; estrutura/ordem/keywords técnicas preservadas.
29
+ >
30
+ > **P17 — Formatação Telegram-friendly.** Mensagens canonical pro aluno usam parágrafos contínuos (1 linha por parágrafo). NÃO quebrar manualmente a cada ~70 chars — Telegram faz word-wrap natural. Pergunta-âncora "como você apresenta seu agente pra cliente?" entra como parágrafo único.
31
+ >
32
+ > Detalhes: `../onboarding-checklist/references/principios-defensivos.md` (P1–P17).
33
+
34
+ > ⚠️ **ANTI-PRESUNÇÃO (kit v2.2 — Princípio 16 aplicado a este wizard):**
35
+ >
36
+ > NÃO presumir identidade do agente baseado em conversa anterior. Mesmo que aluno tenha mencionado nome desejado, profissão, contexto ou tom em mensagens anteriores, **começar pela Detecção (P11)** + perguntas canônicas deste wizard. Não pular passos "porque já sei a resposta".
37
+ >
38
+ > Falha real (NC, 03/05): agente ofereceu *"propor identidade inicial pra mim e você só ajusta"* como alternativa ao wizard — improvisação que quebra P1 (modificar arquivo raiz sem backup) + P11 (detectar antes de propor) + P16 (entry point literal).
39
+ >
40
+ > Em vez de propor, **invocar wizard normalmente, deixar o aluno responder cada pergunta canonical**. Aluno valida 1 pergunta de cada vez = sensação de tutor. Pré-preenchimento sem validação = bot adivinhando, e adivinha errado em 2 dias.
41
+
15
42
  ## Promessa
16
43
 
17
44
  Em 4 minutos, aluno transforma "agente genérico que responde tudo igual ChatGPT" em "agente com nome, tom de voz e jeito específico". 3 arquivos criados (IDENTITY, SOUL stub, AGENTS) que o agente lê toda mensagem.
@@ -67,23 +94,102 @@ c) Cancelar"
67
94
  | Estado | Ação |
68
95
  |---|---|
69
96
  | **Tudo preenchido** | "✓ Detectei que IDENTITY, SOUL e AGENTS já estão preenchidos. Validei rapidinho. Não precisa fazer nada nesse passo. Marquei como feito." Vai direto pra pergunta-âncora. |
70
- | **Parcial (1-2 prontos)** | Lista o que tá pronto + o que falta. Pergunta se quer "completar o que falta" ou "refazer tudo (com backup)". |
97
+ | **Parcial (1-2 prontos)** | Lista o que tá pronto + o que falta. Pergunta canonical (kit v2.5.2): usa LETRAS `a/b` (NÃO `1/2`) ver mensagem canonical "Estado Parcial" abaixo. |
71
98
  | **Nada feito** | Fluxo normal (entrevista) |
72
99
  | **Existe mas é template não-preenchido** | Tratar como "nada feito" mas avisar: "Detectei IDENTITY.md mas tá com placeholders ainda — vou completar agora" |
73
100
 
74
- ### Mensagem padrão ao detectar 100% pronto
101
+ ### Mensagem canonical Estado Parcial (kit v2.5.2 — fix Adrylan loop)
102
+
103
+ ⚠️ **ANTI-COLISÃO de numeração:** anterior usava `1. completar / 2. refazer`. Quando despachado após wizard-whisper-quick (que pergunta `1/2` agendar/definitivo), aluno respondendo `"2"` gera ambiguidade — bot pode interpretar como resposta do whisper. Caso real Adrylan: 3 turnos perdidos no loop.
104
+
105
+ **Texto canonical (P15 — literal):**
106
+
107
+ ```
108
+ "Detectei que parte da personalidade do agente já está configurada:
109
+
110
+ - IDENTITY.md → {placeholders/template | preenchido}
111
+ - SOUL.md → {placeholder/template | preenchido}
112
+ - AGENTS.md → {placeholder/template | preenchido}
113
+
114
+ Como você prefere seguir?
115
+
116
+ a) **Completar só o que falta** — preencho IDENTITY (e/ou outro arquivo placeholder), preservo o resto
117
+ b) **Refazer tudo** — backup do atual + recrio IDENTITY/SOUL/AGENTS canonical
118
+
119
+ Manda **a** ou **b** (NÃO use 1/2 — pode causar confusão com whisper anterior)."
120
+ ```
121
+
122
+ **Substituir variáveis** conforme estado real detectado em cada arquivo (placeholder vs preenchido).
123
+
124
+ **Comportamento por resposta:**
125
+
126
+ | Resposta | Ação |
127
+ |---|---|
128
+ | `a` ou "completar" / "só o que falta" | Modo edição parcial — preenche só placeholders, preserva resto |
129
+ | `b` ou "refazer" / "tudo do zero" | Aplica P1 (backup timestamped) + roda fluxo principal (entrevista do passo 1) |
130
+ | Resposta ambígua | Repetir as 2 opções uma vez (P15+P7 — não inferir) |
131
+
132
+ ### ⚠️ TRANSIÇÃO entre wizard-whisper-quick e wizard-agente (kit v2.5.2 — fix Adrylan loop)
133
+
134
+ ⚠️ **CRÍTICO:** wizard-agente é frequentemente despachado IMEDIATAMENTE após wizard-whisper-quick (que pergunta `1/2` em "agendar vs definitivo"). Sem marcador de transição inequívoco + opções com letras diferentes, aluno que responde "2" gera ambiguidade — bot pode interpretar como wizard-whisper.passo1.5 OU wizard-agente.passo1.
135
+
136
+ **Sequência canonical de TRANSIÇÃO (P15 literal):**
137
+
138
+ Quando despachado após whisper:
139
+
140
+ 1. **Mensagem de confirmação curta do whisper (separada):**
141
+ ```
142
+ "✓ Whisper {pulado definitivo | configurado | agendado pra 24h}. {1 frase de fechamento}."
143
+ ```
144
+
145
+ 2. **Mensagem de abertura wizard-agente (separada, marcador inequívoco):**
146
+ ```
147
+ "Agora vamos pra **personalidade do agente** (passo 1 da jornada — IDENTITY/SOUL/AGENTS).
148
+
149
+ {conteúdo da detecção P11 + perguntas com opções em letras `a/b/c` ou palavras, NÃO `1/2`}"
150
+ ```
151
+
152
+ 3. **MEMORY.md ATUALIZADO ANTES da 2ª mensagem:**
153
+ ```yaml
154
+ active_wizard: wizard-agente
155
+ active_step: 1
156
+ awaiting: detection_result_or_choice
157
+ ```
158
+
159
+ **REGRA ANTI-COLISÃO:** todas as opções de wizard-agente que pediriam ao aluno escolher entre `1/2` agora usam **letras** (`a/b/c`) OU **palavras-chave** (`manter`/`ajustar`/`refazer`). Razão: whisper passo 1.5 usa `1/2` — colisão de respostas curtas é silenciosa e gera loop (caso Adrylan, 3 turnos perdidos).
160
+
161
+ ### Mensagem padrão ao detectar 100% pronto (REESCRITA em kit v2.4 — P6 explícito)
162
+
163
+ ⚠️ **Mudança v1.2 (kit v2.4):** quando detecta arquivos preenchidos com conteúdo manual (não-template), agente DEVE oferecer Princípio 6 — preservar / ajustar / refazer. Antes (v1.1) pulava direto pra pergunta-âncora sem dar opção de mexer. Caso real Rodrigo (VPS root legado, IDENTITY editado manualmente meses atrás): aluno NUNCA via opção de modificar trabalho prévio dentro deste passo.
164
+
165
+ ⚠️ **Detecção "conteúdo manual" vs "template canonical":** comparar com template `IDENTITY.template.md`. Se difere significativamente (ex: estrutura customizada, anti-patterns próprios, tom específico) → tratar como **manual** e oferecer P6. Se é template não-preenchido (placeholders ainda lá) → fluxo normal de entrevista.
166
+
167
+ **Texto canonical (P15 — literal):**
75
168
 
76
169
  ```
77
170
  "✓ Detectei seu agente já configurado:
78
- - IDENTITY.md → nome: {nome_extraído}
79
- - SOUL.md → {N} linhas de personalidade
80
- - AGENTS.md → red lines configuradas
171
+ - IDENTITY.md → nome: {nome_extraído} ({tamanho_bytes} bytes)
172
+ - SOUL.md → {N} linhas de personalidade ({tamanho_bytes} bytes)
173
+ - AGENTS.md → red lines configuradas ({tamanho_bytes} bytes)
81
174
 
82
- Não vou mexer. vou rodar a pergunta-âncora desse passo pra fechar.
175
+ Os arquivos têm conteúdo customizado (não-template). Princípio 6 (respeitar customização) você decide o que fazer:
83
176
 
84
- [pergunta-âncora abaixo]"
177
+ a) **Manter como está** — não toco em nada, só rodo a pergunta-âncora pra fechar o passo
178
+ b) **Ajustar trecho específico** — me diz o que quer mudar (ex: 'mudar tom pra mais formal'), eu mexo só nisso
179
+ c) **Refazer do zero** — backup do atual em `~/backups/`, depois entrevista canonical (4min)
180
+
181
+ Manda 'a', 'b' ou 'c'. Default seguro = 'a' (não mexer)."
85
182
  ```
86
183
 
184
+ **Comportamento por resposta:**
185
+
186
+ | Resposta | Ação |
187
+ |---|---|
188
+ | `a` ou "mantém" / "deixa" / "tá bom" | Vai direto pra pergunta-âncora (passo 9). Marca `agente_configured: true` (já estava). |
189
+ | `b` ou "ajustar" / "muda X" | Pergunta o que mudar especificamente. Despacha modo edição parcial — backup + edit cirúrgico no trecho mencionado. |
190
+ | `c` ou "refazer" / "do zero" | Aplica Princípio 1 (backup timestamped) + roda fluxo principal (passo 1 entrevista) com flag `redo_from_existing: true` (mostra valores antigos como sugestão). |
191
+ | Resposta ambígua | Repetir as 3 opções uma vez. Se persistir ambíguo, default seguro: `a` (não mexer). |
192
+
87
193
  ## Fluxo principal (entrevista)
88
194
 
89
195
  ### 1. Narrar o que vai acontecer
@@ -94,7 +200,7 @@ daqui com 3 arquivos no seu workspace:
94
200
 
95
201
  1. IDENTITY.md → bilhete de identidade do agente (nome, modelo, etc)
96
202
  2. SOUL.md → como ele pensa e fala (versão STUB de 5 linhas, vai
97
- crescer na aula B1)
203
+ crescer na Aula 5)
98
204
  3. AGENTS.md → regras de comportamento (boot sequence + red lines)
99
205
 
100
206
  Esses arquivos ficam vivos no workspace. Toda vez que o agente vai
@@ -201,7 +307,7 @@ Antes de escrever qualquer arquivo, mostrar resumo:
201
307
  📄 SOUL.md (stub de 5 linhas)
202
308
  Tom: {tom_agente}
203
309
  Anti-pattern: {anti_pattern}
204
- [SOUL completo na aula B1]
310
+ [SOUL completo na Aula 5]
205
311
 
206
312
  📄 AGENTS.md
207
313
  Boot sequence padrão (lê SOUL → USER → MAPA)
@@ -261,7 +367,7 @@ Confirmar:
261
367
  ```
262
368
  "✓ Criados:
263
369
  - /workspace/IDENTITY.md ({tamanho} bytes)
264
- - /workspace/SOUL.md ({tamanho} bytes — stub, vai crescer na aula B1)
370
+ - /workspace/SOUL.md ({tamanho} bytes — stub, vai crescer na Aula 5)
265
371
  - /workspace/AGENTS.md ({tamanho} bytes)
266
372
 
267
373
  A partir de agora eu vou ler esses 3 arquivos toda vez que for
@@ -288,7 +394,7 @@ Sempre fechar com:
288
394
 
289
395
  ```
290
396
  "Se quer aprofundar identidade do agente, a aula que detalha isso
291
- é a *B1* (Identidade completa) — manda 'aula B1' que eu te passo o link.
397
+ é a *B1* (Identidade completa) — manda 'aula 5' que eu te passo o link.
292
398
 
293
399
  E se ficou alguma dúvida que eu não cobri, dois caminhos no grupo:
294
400
  - resposta rápida 24/7: chama @Openclawzinho (bot IA) no tópico Suporte
@@ -343,13 +449,13 @@ Agora que viu, me manda como você quer pro {nome_agente}."
343
449
  - [ ] `agente_configured=true` em `MEMORY.md`
344
450
  - [ ] `onboarding_current_step=2` (avançou)
345
451
  - [ ] Pergunta-âncora respondida (qualquer resposta — agente valida ou corrige)
346
- - [ ] Aula B1 mencionada no fim
452
+ - [ ] Aula 5 mencionada no fim
347
453
 
348
454
  ## Erros comuns
349
455
 
350
456
  - **Aluno trava no nome:** se pediu "exemplo" 2x e ainda tá indeciso, sugerir "Você pode começar com qualquer nome. Mudar depois é trivial — manda 'muda nome' que refaço. Sem peso. Manda o que veio agora."
351
457
  - **Aluno responde algo vazio (ex: "tipo a Siri"):** pedir mais especificidade. "Siri tem traços específicos — formal, tom neutro, briga com sotaque. É isso que você quer? Ou 'tipo a Siri' é só uma analogia? Me dá 1 frase de como ele falaria com você."
352
- - **Aluno quer SOUL completo já:** explicar tensão B1. "SOUL completo na entrada é cedo demais — você ainda não sabe o que QUER que o agente seja. A versão stub agora (5 linhas) já funciona. Aula B1 expande quando você já tem feeling do uso real."
458
+ - **Aluno quer SOUL completo já:** explicar tensão Aula 5. "SOUL completo na entrada é cedo demais — você ainda não sabe o que QUER que o agente seja. A versão stub agora (5 linhas) já funciona. Aula 5 expande quando você já tem feeling do uso real."
353
459
  - **Aluno pulou Whisper e tá digitando entrevista:** OK, mas mencionar uma vez "se quiser, depois desse passo dá pra ativar áudio com 'configura whisper'".
354
460
 
355
461
  ## Aplicação dos princípios defensivos
@@ -371,7 +477,7 @@ Esta skill herda os princípios universais da `onboarding-checklist`. Ver: [`../
371
477
  **Modo A (aula-por-aula):**
372
478
  ```
373
479
  "Bora pro Módulo 1 — Personalidade do agente.
374
- Aula correspondente: B1 (Identidade completa).
480
+ Aula correspondente: Aula 5 (Identidade, Soul, Agents, User).
375
481
  Recomendo assistir antes pra entender por que o SOUL é stub agora
376
482
  e completa só depois."
377
483
  [entrevista numerada: 'pergunta 1 de 4', 'pergunta 2 de 4'...]
@@ -389,7 +495,7 @@ Mesma lógica, fluxo, princípios. Só apresentação muda.
389
495
  ## Templates usados (em starter-kit/templates/)
390
496
 
391
497
  - `IDENTITY.template.md` — template do IDENTITY com placeholders
392
- - `SOUL-stub.template.md` — template do SOUL stub (5-10 linhas, expansão na B1)
498
+ - `SOUL-stub.template.md` — template do SOUL stub (5-10 linhas, expansão na Aula 5)
393
499
  - `AGENTS.template.md` — template do AGENTS com boot sequence + red lines mínimas
394
500
 
395
501
  Wizard substitui placeholders e salva no workspace do aluno.
@@ -71,7 +71,7 @@
71
71
  "user": "automático",
72
72
  "expected_agent_behavior": [
73
73
  "valida resposta correta",
74
- "menciona aula B1 + grupo",
74
+ "menciona Aula 5 + grupo",
75
75
  "marca agente_configured=true",
76
76
  "atualiza onboarding_current_step=2",
77
77
  "devolve controle pra onboarding-checklist"
@@ -83,13 +83,13 @@
83
83
  "agente_configured=true em MEMORY.md",
84
84
  "decisão (nome, gênero, tom, anti-pattern) registrada",
85
85
  "onboarding_current_step=2",
86
- "aula B1 mencionada"
86
+ "Aula 5 mencionada"
87
87
  ]
88
88
  },
89
89
  {
90
90
  "id": "ja-configurado-detecta-e-pula",
91
91
  "name": "Aluno já tem os 3 arquivos preenchidos",
92
- "description": "Cenário comum quando aluno seguiu aula B1 antes do kit, ou rodou wizard antes em sessão anterior.",
92
+ "description": "Cenário comum quando aluno seguiu Aula 5 antes do kit, ou rodou wizard antes em sessão anterior.",
93
93
  "setup": {
94
94
  "workspace_state": "IDENTITY+SOUL+AGENTS preenchidos",
95
95
  "memory_flags": {}
@@ -3,15 +3,40 @@ name: wizard-aluno
3
3
  status: ATIVO
4
4
  category: starter
5
5
  owner: aluno
6
- version: 1.0
6
+ version: 1.1
7
7
  mode: guided
8
8
  estimated_time: 3min (ou 30s se já configurado)
9
9
  model_compatible: [gpt-5, gpt-5.5, claude-sonnet-4, claude-opus-4, gemini-pro]
10
- description: Use when student types "configura usuário" / "cria meu perfil" / "USER.md", OR when dispatched by onboarding-checklist as passo 2. Creates USER.md with student's basic info (nome, timezone, o que faz, tom preferido). Detects existing USER.md first (Princípio 11). Templates Amora opt-in via "exemplo". Pergunta-âncora: "onde isso ficou salvo? edit direto pega automático?".
10
+ description: Use when student types "configura usuário" / "cria meu perfil" / "USER.md", OR when dispatched by onboarding-checklist as passo 2. Creates USER.md with student's basic info (nome, timezone, o que faz, tom preferido). Detects existing USER.md first (Princípio 11). Templates Amora opt-in via "exemplo". Pergunta-âncora: "onde isso ficou salvo? edit direto pega automático?". v1.1 (kit v2.2): header com Princípios 13/14/15 explícitos no topo (auditoria pós-v2.1).
11
11
  ---
12
12
 
13
13
  # Wizard Aluno — Passo 2 (Personalidade do aluno)
14
14
 
15
+ > 🔴 **PRINCÍPIOS NÃO-NEGOCIÁVEIS PRO AGENTE (kit v2.2):**
16
+ >
17
+ > **NÃO IMPROVISE.** Read este arquivo INTEIRO antes de falar com aluno. Não invente fluxo simplificado.
18
+ >
19
+ > **P13 — Guard Rail (wizard é passo bloqueante).** Toda mensagem do aluno é classificada:
20
+ > - (a) resposta direta → processa, avança
21
+ > - (b) comando canônico (`cancela`, `pula`, `voltar N`, `sobre`, `faq`, `corrige`, `muda modo`) → honra
22
+ > - (c1) pergunta tangencial → responde 1 linha, traz de volta ao passo
23
+ > - (c2) desvio total → anota em `## Perguntas pendentes` (MEMORY.md), traz de volta
24
+ > - 3 desvios consecutivos no mesmo passo → oferecer pause com `wizard_resume_at` agendado
25
+ >
26
+ > **P14 — Smoke tests visíveis.** Comando externo SEMPRE mostra (1) comando exato em bloco de código, (2) output literal em bloco de código, (3) só DEPOIS interpreta/narra. Sem evidência = ABORTA e pede ajuda. NUNCA finge que rodou.
27
+ >
28
+ > **P15 — Mensagens `<canonical>` literais.** Trechos marcados `<canonical>...</canonical>` usam LITERAL. Não reformula, não "melhora", não substitui exemplos. Ajustar TOM (formal/casual via SOUL.md) é OK; estrutura/ordem/keywords técnicas preservadas.
29
+ >
30
+ > **P17 — Formatação Telegram-friendly.** Mensagens canonical pro aluno usam parágrafos contínuos (1 linha por parágrafo). NÃO quebrar manualmente a cada ~70 chars — Telegram faz word-wrap natural.
31
+ >
32
+ > Detalhes: `../onboarding-checklist/references/principios-defensivos.md` (P1–P17).
33
+
34
+ > ⚠️ **ANTI-PRESUNÇÃO (kit v2.2 — Princípio 16 aplicado a este wizard):**
35
+ >
36
+ > NÃO presumir dados do USER baseado em conversa anterior. Mesmo que aluno tenha mencionado nome, timezone, profissão, ou tom em mensagens anteriores, **começar pela Detecção (P11)** + perguntas canônicas deste wizard. Não pular passos "porque já sei a resposta".
37
+ >
38
+ > Em vez de pré-preencher USER.md baseado em "intuição da conversa", invocar wizard normalmente. Cada campo confirmado pelo aluno = USER.md preciso. Pré-preenchido sem validação = USER.md errado em 2 dias.
39
+
15
40
  ## Promessa
16
41
 
17
42
  Em 3 minutos, agente passa a saber quem é o aluno: nome real, timezone, o que faz, jeito de falar preferido. 1 arquivo (`USER.md`) que o agente lê toda mensagem.
@@ -227,7 +252,7 @@ Fechar com:
227
252
  ```
228
253
  "Se quer aprofundar como o agente usa USER.md (e qual a diferença
229
254
  pra MEMORY.md), a aula que detalha isso é a *B1* (Identidade
230
- completa) — manda 'aula B1' que eu te passo o link.
255
+ completa) — manda 'aula 5' que eu te passo o link.
231
256
 
232
257
  E se ficou alguma dúvida que eu não cobri, dois caminhos no grupo:
233
258
  - resposta rápida 24/7: chama @Openclawzinho (bot IA) no tópico Suporte
@@ -66,7 +66,7 @@
66
66
  "user": "USER.md no workspace, sim automático",
67
67
  "expected_agent_behavior": [
68
68
  "valida resposta",
69
- "menciona aula B1 + grupo",
69
+ "menciona Aula 5 + grupo",
70
70
  "marca aluno_configured=true",
71
71
  "salva nome_aluno=Carlos em MEMORY",
72
72
  "atualiza onboarding_current_step=3",
@@ -3,22 +3,88 @@ name: wizard-autonomia
3
3
  status: ATIVO
4
4
  category: starter
5
5
  owner: aluno
6
- version: 1.1
6
+ version: 1.7
7
7
  mode: guided
8
- estimated_time: 5min (manual no terminal Hostinger + validação)
8
+ estimated_time: 5min (manual no terminal Managed CLI ou SSH VPS root)
9
9
  model_compatible: [gpt-5, gpt-5.5, claude-sonnet-4, claude-opus-4, gemini-pro]
10
- description: Use when student types "libera autonomia" / "ativa yolo" / "configura exec-policy", OR when dispatched by onboarding-checklist as passo 3. Guides student to manually run `openclaw exec-policy preset yolo` in the OpenClaw CLI of the Hostinger panel (Princípio 3 — agent NEVER executes privilege elevation silently). Detects current state first via `openclaw exec-policy show`. Validates that student ran the command before marking complete. Includes step-by-step tutorial of HOW to open the CLI in Hostinger Managed.
10
+ description: Use when student types "libera autonomia" / "ativa yolo" / "configura exec-policy", OR when dispatched by onboarding-checklist as passo 3. Guides student to manually run `openclaw exec-policy preset yolo` in the appropriate terminal (Princípio 3 — agent NEVER executes privilege elevation silently). Detects current state first via `openclaw exec-policy show`. **v1.7 (kit v2.5.2 fix Adrylan P14 violado): header ganha bloco "P14 EXTRA-RÍGIDO" obrigando 3 mensagens em ordem (anúncio + comando → output literal → interpretação) na validação `openclaw exec-policy show`. Caso real Adrylan 13:57: bot anunciou validação e depois "exec-policy yolo confirmado" sem mostrar comando nem output. v2.5.2 obriga: passo 2 (output) NUNCA pode ser pulado.** v1.6 (kit v2.5 — stress test Letícia): caminho local-dev (Mac/Linux dev) ganha seção própria (2c) em vez de "tratar igual VPS root". Razão: aluno em Mac dev NÃO é root, aviso "porque você é root" + referência ao Pixel AI Hub (VPS hardening) confunde. v2.5 separa copy adequada ao contexto dev (sem aviso de root, sem Pixel AI Hub, sem SSH).** v1.5 (kit v2.2): header com Princípios 13/14/15 explícitos no topo. v1.3-1.4: BIFURCAÇÃO POR AMBIENTE (Managed vs VPS root). Salva flag `ambiente:` em MEMORY.md.
11
11
  ---
12
12
 
13
13
  # Wizard Autonomia — Passo 3 (Liberar exec-policy yolo)
14
14
 
15
+ > 🔴 **PRINCÍPIOS NÃO-NEGOCIÁVEIS PRO AGENTE (kit v2.2):**
16
+ >
17
+ > **NÃO IMPROVISE.** Read este arquivo INTEIRO antes de falar com aluno. Não invente fluxo simplificado.
18
+ >
19
+ > **P13 — Guard Rail (wizard é passo bloqueante).** Toda mensagem do aluno é classificada:
20
+ > - (a) resposta direta → processa, avança
21
+ > - (b) comando canônico (`cancela`, `pula`, `voltar N`, `sobre`, `faq`, `corrige`, `muda modo`) → honra
22
+ > - (c1) pergunta tangencial → responde 1 linha, traz de volta ao passo
23
+ > - (c2) desvio total → anota em `## Perguntas pendentes` (MEMORY.md), traz de volta
24
+ > - 3 desvios consecutivos no mesmo passo → oferecer pause com `wizard_resume_at` agendado
25
+ >
26
+ > **P14 — Smoke tests visíveis.** `openclaw exec-policy show` SEMPRE mostra (1) comando exato em bloco de código, (2) output literal em bloco de código, (3) só DEPOIS interpreta. Sem evidência = ABORTA e pede ajuda. NUNCA finge que rodou.
27
+ >
28
+ > **P15 — Mensagens `<canonical>` literais.** A copy da pergunta de detecção (Managed vs ROOT) é CANONICAL — usar LITERAL na linguagem do aluno. Não reformula, não substitui pelos termos técnicos antigos.
29
+ >
30
+ > **P17 — Formatação Telegram-friendly.** Mensagens canonical pro aluno usam parágrafos contínuos (1 linha por parágrafo). NÃO quebrar manualmente a cada ~70 chars — Telegram faz word-wrap natural.
31
+ >
32
+ > Detalhes: `../onboarding-checklist/references/principios-defensivos.md` (P1–P17).
33
+ >
34
+ > ⚠️ **P14 EXTRA-RÍGIDO nesta skill (kit v2.5.2 — fix Adrylan):** validação `openclaw exec-policy show` foi violada repetidamente em testes reais (caso Adrylan 13:57 — bot disse "vou checar exec-policy" e depois "exec-policy yolo confirmado" SEM mostrar comando nem output). REGRA: cada validação tem 3 mensagens em ordem:
35
+ >
36
+ > 1. **Anúncio + comando:** "Vou checar exec-policy: `openclaw exec-policy show`"
37
+ > 2. **Output literal:** "Output: ```yolo``` (ou ```ask```)"
38
+ > 3. **Interpretação SÓ DEPOIS:** "✓ exec-policy = yolo, autonomia liberada"
39
+ >
40
+ > **NUNCA pular passo 2.** Se output não disponível, ABORTA + reporta honesto. NÃO finja sucesso.
41
+
42
+ > 🔴 **DETECÇÃO DE AMBIENTE OBRIGATÓRIA — antes de qualquer instrução de terminal (v1.4 / kit v1.9.2):**
43
+ >
44
+ > Este wizard tem 2 caminhos completamente diferentes dependendo de COMO o aluno instalou OpenClaw:
45
+ >
46
+ > - **Managed (instalação de 1 click no painel Hostinger)** → terminal web no painel (`hpanel.hostinger.com → OpenClaw → Abrir linha de comando (CLI)`) + mostra screenshot anexado
47
+ > - **ROOT (configurou no terminal da VPS)** → SSH que aluno já tem aberto (NÃO mencionar painel Hostinger, NÃO mostrar screenshot — vai confundir)
48
+ >
49
+ > **Sinais de ROOT/VPS** (qualquer um basta):
50
+ > - Aluno mencionou DigitalOcean, Hetzner, AWS, Vultr, Linode, Contabo, "minha VPS", "no SSH", "como root", "instalei pelo terminal"
51
+ > - Workspace em `/root/...` ou kit foi descomprimido via SSH em VPS
52
+ > - USER.md ou conversa indica perfil dev/sysadmin
53
+ >
54
+ > **Sinais de Managed:**
55
+ > - Aluno chegou via painel Hostinger, kit veio via Telegram do mini-curso
56
+ > - Workspace em `~/.openclaw/...` ou similar do Managed
57
+ > - Aluno mencionou "Hostinger", "painel", "1 click", "Managed"
58
+ >
59
+ > **Em dúvida: PERGUNTA ANTES, com linguagem que o aluno reconhece** (NÃO usar "Managed vs VPS root" como termos crus — aluno PME não conhece esses termos):
60
+ >
61
+ > ```
62
+ > "Antes de continuar, preciso saber como você instalou o OpenClaw:
63
+ >
64
+ > 1. **Managed OpenClaw** — instalação de 1 click pelo painel da Hostinger
65
+ > 2. **ROOT** — você configurou pelo terminal da sua VPS
66
+ >
67
+ > Manda 1 ou 2."
68
+ > ```
69
+ >
70
+ > **Razão da copy:** "Managed vs VPS root" como termos crus não são reconhecíveis pra aluno PME. "Instalação de 1 click vs configurou pelo terminal" é o que o aluno reconhece da própria experiência de compra/setup.
71
+ >
72
+ > Salvar a detecção em `MEMORY.md`:
73
+ > ```
74
+ > ambiente: managed | vps-root | local-dev
75
+ > ```
76
+ >
77
+ > Esta flag vira fonte de verdade pros wizards seguintes (`wizard-conectar` também tem caminhos diferentes). Onda 12 vai formalizar isso na `onboarding-checklist` mestre — por enquanto, cada wizard que tem caminho ramificado detecta sozinho.
78
+
15
79
  ## Promessa
16
80
 
17
81
  Em ~5min, aluno transforma "agente que pede aprovação a cada coisinha" em "agente que executa direto e te avisa". Sem isso, a partir do passo 4 (workspace), aluno é interrompido a cada criação de pasta/arquivo/comando.
18
82
 
19
83
  Este passo é o ÚNICO em que aluno cola comando no terminal manualmente. O agente NÃO executa esses comandos. Razão: Princípio 3 (comandos de elevação de privilégio jamais via agente).
20
84
 
21
- Boa notícia: o terminal NÃO é SSH local. É terminal **web**, dentro do painel da Hostinger. Tutorial passo-a-passo abaixo.
85
+ ⚠️ **Onde rodar o comando depende do ambiente** (detectado acima):
86
+ - **Managed Hostinger:** terminal web no painel (tutorial passo-a-passo abaixo, seção 2a)
87
+ - **VPS root:** SSH que aluno já tem aberto (instrução curta, seção 2b)
22
88
 
23
89
  ## Quando disparar
24
90
 
@@ -87,34 +153,94 @@ e eu volto a pedir aprovação a cada ação.
87
153
  Bora?"
88
154
  ```
89
155
 
90
- ### 2. Tutorial — abrir o terminal do Managed (passo a passo)
156
+ ### 2. Tutorial — abrir terminal (BIFURCADO POR AMBIENTE v1.3)
157
+
158
+ ⚠️ **Use seção 2a OU 2b conforme `ambiente:` detectado no topo deste wizard. NUNCA mostre as duas pro mesmo aluno.**
159
+
160
+ #### 2a. Caminho Managed Hostinger
161
+
162
+ Aluno PME tipicamente nunca usou terminal. Isso aqui é a parte mais sensível do kit. Caminho EXATO no Hostinger.
91
163
 
92
- Aluno PME PME tipicamente nunca usou terminal. Isso aqui é a parte mais sensível do kit. Caminho EXATO no Hostinger:
164
+ **⚠️ Agente:** ao enviar a mensagem abaixo, ANEXE também o arquivo `screenshots/painel-hostinger-cli.jpg` (relativo a esta skill). Se a bridge do Telegram não suportar `sendPhoto`, mande o link raw permanente como fallback (já incluído no texto).
93
165
 
94
166
  ```
95
167
  "Antes do comando, abre o terminal do seu OpenClaw Managed.
96
168
  Sem SSH, sem Docker — é tudo no painel da Hostinger.
97
169
 
98
- Caminho passo-a-passo:
170
+ Caminho exato (2 cliques):
99
171
 
100
172
  1. Abre https://hpanel.hostinger.com/ (logado)
101
- 2. Menu lateral esquerdo → clica em **OpenClaw**
102
- (ícone de uma garra; fica abaixo de VPS)
103
- 3. Aparece a lista dos seus OpenClaws
104
- 4. No seu OpenClaw (o que você usa pra esse agente), embaixo do
105
- nome tem um link **'Abrir linha de comando (CLI)'**
106
- clica
107
- 5. Abre uma janela com terminal preto
108
- 6. Aguarda 2-3s até aparecer o prompt (algo tipo `$ ` no canto
109
- esquerdo, indicando que tá pronto pra receber comando)
110
-
111
- Pronto. Esse é o terminal do Managed.
112
-
113
- Quando estiver com a janela aberta e o prompt visível, manda
173
+ 2. Sidebar esquerda → clica em **OpenClaw** (ícone de garra,
174
+ fica abaixo de VPS)
175
+ 3. Na lista dos seus OpenClaws → embaixo do nome da sua instância
176
+ tem um link **'Abrir linha de comando (CLI)'** clica
177
+ 4. Abre janela com terminal preto. Aguarda 2-3s até aparecer o
178
+ prompt (algo tipo `$ `, indicando que tá pronto)
179
+
180
+ 📷 [foto do painel mostra as 2 setas dos cliques anexada acima]
181
+
182
+ Se a foto não chegou, é só esse link:
183
+ https://raw.githubusercontent.com/okjpg/repo-amora-cos/main/memory/curso-openclaw-v2/starter-kit/skills/starter/wizard-autonomia/screenshots/painel-hostinger-cli.jpg
184
+
185
+ Quando estiver com a janela aberta e o prompt visível, (quando quiser ir mais fundo em segurança VPS, tá no Pixel AI Hub)
114
186
  'terminal aberto' aqui."
115
187
  ```
116
188
 
117
- **Esperar aluno responder.** Se tentou e travou, ver "Caminho alternativo: aluno não acha o terminal" abaixo.
189
+ **Esperar aluno responder.** Se tentou e travou, ver "Caminho alternativo Managed: aluno não acha o terminal" abaixo.
190
+
191
+ #### 2b. Caminho VPS root
192
+
193
+ Aluno root em VPS já tem terminal/SSH aberto. **NÃO mostrar screenshot do painel Hostinger** (vai confundir, painel não existe). **NÃO mencionar `hpanel.hostinger.com`**. Instrução curta:
194
+
195
+ ```
196
+ "Você já tá num terminal SSH como root na sua VPS, então pula
197
+ a parte de 'abrir terminal' — usa o que você já tem aberto.
198
+
199
+ ⚠️ Aviso de segurança extra (porque você é root):
200
+ o modo 'yolo' libera eu executar direto SEM pedir aprovação. No
201
+ Managed isso fica contido no container do OpenClaw. Aqui na sua
202
+ VPS, eu sou root também — em teoria, posso tocar em qualquer coisa
203
+ do sistema se sair do escopo do workspace.
204
+
205
+ Eu continuo dentro do meu workspace (não saio dele) e narro tudo.
206
+ Mas se quiser blindar (rodar OpenClaw como user não-privilegiado,
207
+ firewall, etc), a Pixel AI Hub (VPS hardening avançado vai pra lá, fora do mini-curso) cobre. Manda
208
+ 'pixel ai hub' depois quando quiser explorar trilha avançada.
209
+
210
+ Pra rodar o comando de yolo, veja a próxima mensagem."
211
+ ```
212
+
213
+ (Pula a parte de "manda 'terminal aberto'" — aluno já tá no terminal.)
214
+
215
+ #### 2c. Caminho local-dev (kit v2.5 — fix Letícia stress test)
216
+
217
+ ⚠️ **NOVO em v2.5:** local-dev (Mac/Linux dev local — não Managed, não VPS root) ganha caminho próprio em vez de "tratar igual VPS root". Razão: aluno em Mac dev NÃO é root e NÃO tem Pixel AI Hub (VPS hardening) como referência relevante. Mensagem de "porque você é root" no caminho 2b confunde aluno dev local.
218
+
219
+ **Quando aplicar:** `ambiente: local-dev` em MEMORY (setado pela Fase Pré-Zero da onboarding-checklist).
220
+
221
+ **Mensagem canonical (P15):**
222
+
223
+ ```
224
+ "Você tá rodando OpenClaw em ambiente dev local (Mac ou Linux desktop). Vou te passar o comando, você cola no terminal que você já tem aberto na sua máquina:
225
+
226
+ ```
227
+ openclaw exec-policy preset yolo
228
+ ```
229
+
230
+ Depois manda 'liberado' aqui que eu valido."
231
+ ```
232
+
233
+ **Diferenças vs caminho VPS root (2b):**
234
+
235
+ - ❌ NÃO inclui aviso "porque você é root" — aluno dev local não é root
236
+ - ❌ NÃO menciona Pixel AI Hub (VPS hardening) — irrelevante pra dev local
237
+ - ❌ NÃO instrui SSH — terminal já está local
238
+ - ✅ Comando idêntico (`openclaw exec-policy preset yolo`)
239
+ - ✅ Validação idêntica (`openclaw exec-policy show` — P14)
240
+
241
+ (Pula a parte de "manda 'terminal aberto'" — aluno já tá no terminal local.)
242
+
243
+ **Falha real (Letícia stress test 03/05 madrugada):** caminho 2b "VPS root" incluía `Aviso de segurança extra (porque você é root)` + referência ao Pixel AI Hub — Letícia em Mac M2 não é root, leu mensagem e ficou confusa. v2.5 separa caminho próprio com copy adequada ao contexto dev.
118
244
 
119
245
  ### 3. Passar comando
120
246
 
@@ -201,7 +327,7 @@ Fechar com:
201
327
  ```
202
328
  "Se quer aprofundar segurança no Managed (níveis de exec-policy,
203
329
  isolamento de containers, audit log), a aula que detalha isso é a
204
- *D1* (Segurança Managed) — manda 'aula D1' que eu te passo o link.
330
+ Aula 10 (Instalando 1password — segurança Managed) — manda 'aula 10' que eu te passo o link.
205
331
 
206
332
  E se ficou alguma dúvida que eu não cobri, dois caminhos no grupo:
207
333
  - resposta rápida 24/7: chama @Openclawzinho (bot IA) no tópico Suporte
@@ -289,7 +415,7 @@ do OpenClaw — vem de 'You Only Live Once' (gíria que ficou). Na prática:
289
415
  A alternativa é manter 'ask' (default) — mas aí cada ação minha vira
290
416
  3 mensagens entre nós. Vira chato em 5 minutos.
291
417
 
292
- Quer prosseguir? Ou prefere ler a aula D1 antes (5min) pra entender
418
+ Quer prosseguir? Ou prefere ler a Aula 10 antes (5min) pra entender
293
419
  melhor a fundo?"
294
420
  ```
295
421
 
@@ -300,7 +426,7 @@ melhor a fundo?"
300
426
  - [ ] `exec_policy=yolo` salvo em `MEMORY.md`
301
427
  - [ ] `onboarding_current_step=4`
302
428
  - [ ] Pergunta-âncora respondida
303
- - [ ] Aula D1 mencionada
429
+ - [ ] Aula 10 mencionada
304
430
 
305
431
  ## Erros comuns
306
432
 
@@ -328,7 +454,7 @@ Esta skill herda os princípios universais da `onboarding-checklist`. Ver: [`../
328
454
  **Modo A:**
329
455
  ```
330
456
  "Bora pro Módulo 3 — Liberar autonomia.
331
- Aula correspondente: D1 (Segurança Managed).
457
+ Aula correspondente: Aula 10 (Instalando 1password — segurança Managed).
332
458
  Recomendo MUITO assistir antes — esse passo mexe em segurança e
333
459
  você precisa entender o tradeoff entre conveniência e controle."
334
460
  [fluxo numerado: tutorial Hostinger + 1 comando + validação]
@@ -383,9 +509,13 @@ Quer prosseguir liberando, ou tá com dúvida ainda?"
383
509
  ## Status
384
510
 
385
511
  ✅ ATIVO desde v1.1 do Starter Kit (02/05/2026 — versão revisada com tutorial Hostinger CLI passo-a-passo após teste E2E identificar como ponto crítico de abandono).
512
+ ✅ v1.2 (02/05/2026 madrugada cont. 5): screenshot anexado (`screenshots/painel-hostinger-cli.jpg`) reforça visualmente o caminho de 2 cliques no painel Hostinger. Reduz fricção do aluno mobile/iniciante.
513
+ ✅ v1.3 (02/05/2026 madrugada cont. 7 / kit v1.9.1): BIFURCAÇÃO POR AMBIENTE. Detecta Managed vs VPS root no topo do wizard. Caminho Managed mantido (tutorial + screenshot). Caminho VPS root: SSH direto, sem painel Hostinger, sem screenshot, com aviso de segurança REFORÇADO (root = blast radius maior). Bruno: "no curso se for root nao pode mostrar cli do openclaw, precisa ser terminal". Quick fix antes da Onda 12 (detecção formal de ambiente na onboarding-checklist mestre).
514
+ ✅ v1.4 (02/05/2026 madrugada cont. 8 / kit v1.9.2): copy da pergunta de detecção reescrita pra linguagem do aluno. Bruno: "fica confuso perguntar pro aluno se é Manage Openclaw ou VPS própria. Podemos deixar numa linguagem mais simples, tipo: Você instalou openclaw via Manage Openclaw (instalação de 1 click) ou configurou via ROOT (pelo terminal da vps)". Aplicado: pergunta agora é "1. Managed OpenClaw — instalação de 1 click no painel Hostinger / 2. ROOT — configurou pelo terminal da VPS" — termos que aluno reconhece da experiência real, não jargão de cloud.
386
515
 
387
516
  ## Roadmap
388
517
 
389
- - v1.2: Detectar versão do `openclaw` CLI e adaptar comandos se sintaxe mudar
390
- - v1.3: Suporte a Hostinger em outros idiomas (espanhol, inglês) com nomes de menu localizados
518
+ - v1.4: Detectar versão do `openclaw` CLI e adaptar comandos se sintaxe mudar
519
+ - v1.5: Suporte a Hostinger em outros idiomas (espanhol, inglês) com nomes de menu localizados + screenshot localizado
520
+ - v1.6: Após Onda 12 formalizar `ambiente:` na onboarding-checklist mestre — remover detecção redundante deste wizard (vira só ler flag de MEMORY.md)
391
521
  - v2: Captura de screenshot do terminal automaticamente (se Hostinger expor API) pra confirmar que aluno tá no terminal certo sem aluno colar output
@@ -51,7 +51,7 @@
51
51
  "user": "vai pedir aprovação",
52
52
  "expected_agent_behavior": [
53
53
  "valida resposta",
54
- "menciona aula D1",
54
+ "menciona Aula 10",
55
55
  "marca autonomia_liberada=true",
56
56
  "salva exec_policy=yolo em MEMORY",
57
57
  "atualiza onboarding_current_step=4"
@@ -170,7 +170,7 @@
170
170
  "explica que NÃO é sudo/root, é só menos prompts",
171
171
  "lembra que é reversível com 'openclaw exec-policy reset'",
172
172
  "menciona backup automático (passo 5)",
173
- "oferece alternativa: ler aula D1 antes (5min) OU manter 'ask' default e chamar agente caso a caso"
173
+ "oferece alternativa: ler Aula 10 antes (5min) OU manter 'ask' default e chamar agente caso a caso"
174
174
  ],
175
175
  "must_not": [
176
176
  "inventar preset 'auto' que não existe",