auroq-os 1.5.0 → 1.6.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.
|
@@ -35,11 +35,12 @@ persona:
|
|
|
35
35
|
|
|
36
36
|
1. Salvar progresso — commit inteligente com mensagem de negocio
|
|
37
37
|
2. Enviar pro remote — push com checagem pre-push
|
|
38
|
-
3. Instalar agente — squad, mind ou worker a partir de zip
|
|
39
|
-
4.
|
|
40
|
-
5.
|
|
41
|
-
6.
|
|
42
|
-
7.
|
|
38
|
+
3. Instalar agente — squad, mind ou worker NOVO a partir de zip
|
|
39
|
+
4. Atualizar squad — substituir squad existente por versao nova (preserva teus dados)
|
|
40
|
+
5. Instalar pack — multiplos agentes de uma vez (pack da mentoria)
|
|
41
|
+
6. Atualizar sistema — baixar e aplicar nova versao do Auroq OS
|
|
42
|
+
7. Checar saude — diagnostico completo do ambiente
|
|
43
|
+
8. Setup completo — bootstrap do zero (ambiente, MCPs, GitHub, Supabase)
|
|
43
44
|
|
|
44
45
|
O que precisa?
|
|
45
46
|
|
|
@@ -59,7 +60,9 @@ commands:
|
|
|
59
60
|
- name: yolo
|
|
60
61
|
description: "Trocar modo de permissao do Claude Code (auto/acceptEdits/default)"
|
|
61
62
|
- name: install
|
|
62
|
-
description: "Instalar squad/worker/mind a partir de zip ou pasta"
|
|
63
|
+
description: "Instalar squad/worker/mind NOVO a partir de zip ou pasta (se ja existe, reroteira pra *update-squad)"
|
|
64
|
+
- name: update-squad
|
|
65
|
+
description: "Atualizar squad existente com versao nova (preserva minds/, .state.json, e backup do squad antigo)"
|
|
63
66
|
- name: install-pack
|
|
64
67
|
description: "Instalar pack com multiplos squads/agents de uma vez"
|
|
65
68
|
- name: cleanup
|
|
@@ -928,10 +931,12 @@ Trocar modo de permissao do Claude Code.
|
|
|
928
931
|
4. Sempre informar: "Reinicia o Claude Code pra aplicar o novo modo."
|
|
929
932
|
|
|
930
933
|
### *install
|
|
931
|
-
Instalar squad, worker, mind ou agente a partir de arquivo zip ou pasta.
|
|
934
|
+
Instalar squad, worker, mind ou agente NOVO a partir de arquivo zip ou pasta.
|
|
932
935
|
|
|
933
936
|
O expert arrasta o zip pro chat ou informa o path. Ops faz o resto.
|
|
934
937
|
|
|
938
|
+
> **Importante:** se o squad/agente JA existe instalado, este comando NAO atualiza — reroteia pro `*update-squad` (que preserva dados do expert). `*install` e exclusivo pra instalacao limpa de algo novo.
|
|
939
|
+
|
|
935
940
|
**Passo 1 — Receber e identificar**
|
|
936
941
|
1. Expert arrasta zip pro chat OU informa path do arquivo/pasta
|
|
937
942
|
2. SE zip: extrair pra pasta temporaria
|
|
@@ -940,17 +945,61 @@ O expert arrasta o zip pro chat ou informa o path. Ops faz o resto.
|
|
|
940
945
|
- Tem `agents/{nome}.md` + `tasks/`? → Worker ou Mind
|
|
941
946
|
- Tem `agents/` com multiplos .md + `workflows/`? → Squad multi-agente
|
|
942
947
|
4. Detectar nome (slug) do squad/agent
|
|
943
|
-
5.
|
|
948
|
+
5. Detectar versao (do `squad.yaml`/`config.yaml` campo `version:`)
|
|
949
|
+
6. Mostrar: "Detectei: {tipo} chamado {nome} v{versao}. {N} arquivos. Instalo?"
|
|
950
|
+
|
|
951
|
+
**Passo 2 — Detectar conflito com squad existente (NOVO — Smart Detection)**
|
|
952
|
+
|
|
953
|
+
Antes de tentar instalar, checar se ja existe:
|
|
954
|
+
|
|
955
|
+
```bash
|
|
956
|
+
# Squad ja instalado?
|
|
957
|
+
ls agents/{slug}/squad.yaml 2>/dev/null || ls agents/{slug}/config.yaml 2>/dev/null
|
|
958
|
+
```
|
|
959
|
+
|
|
960
|
+
**SE squad ja existe (conflito):**
|
|
961
|
+
|
|
962
|
+
Ler versao atual do squad instalado e comparar com a versao do zip:
|
|
963
|
+
|
|
964
|
+
```
|
|
965
|
+
=== CONFLITO DETECTADO ===
|
|
966
|
+
|
|
967
|
+
Voce ja tem {nome} instalado:
|
|
968
|
+
Versao atual: v{old_version}
|
|
969
|
+
Versao do zip: v{new_version}
|
|
970
|
+
|
|
971
|
+
Tres opcoes:
|
|
944
972
|
|
|
945
|
-
**
|
|
973
|
+
1. **Atualizar** (recomendado) — usa `*update-squad`
|
|
974
|
+
- Substitui arquivos framework pela versao nova
|
|
975
|
+
- PRESERVA teus dados: minds/, .state.json, outputs do expert
|
|
976
|
+
- Cria backup do squad antigo em agents/_archive/
|
|
977
|
+
- Se voce modificou arquivos do framework, faz backup das tuas
|
|
978
|
+
modificacoes em _backup-tuas-mods/ antes de sobrescrever
|
|
979
|
+
|
|
980
|
+
2. **Reinstalar do zero** — apaga TUDO e instala do zip
|
|
981
|
+
- Apaga agents/{slug}/ inteiro (incluindo minds/, .state.json)
|
|
982
|
+
- Instala como se fosse novo
|
|
983
|
+
- Use SO se quiser comecar do zero (raro)
|
|
984
|
+
|
|
985
|
+
3. **Cancelar**
|
|
986
|
+
|
|
987
|
+
Qual? (1 / 2 / 3)
|
|
988
|
+
```
|
|
989
|
+
|
|
990
|
+
- **Resposta 1:** "Beleza, vou rerotear pra `*update-squad`." → executar `*update-squad` com mesmo zip
|
|
991
|
+
- **Resposta 2:** continuar com `*install` original (Passo 3 em diante), mas confirmar AGAIN: "Tem certeza que quer apagar minds/ e tudo mais? (sim/nao)"
|
|
992
|
+
- **Resposta 3:** abortar, limpar temp
|
|
993
|
+
|
|
994
|
+
**SE squad NAO existe (sem conflito):** continuar normalmente com Passo 3.
|
|
995
|
+
|
|
996
|
+
**Passo 3 — Verificar integridade**
|
|
946
997
|
1. Arquivo principal do agente existe? (agents/{nome}.md)
|
|
947
998
|
2. Task start.md existe?
|
|
948
999
|
3. SE squad: workflow existe? Quality gates existem?
|
|
949
1000
|
4. Nao tem arquivos suspeitos? (executaveis, scripts desconhecidos)
|
|
950
|
-
5. Nao conflita com agente existente? (mesmo nome ja instalado)
|
|
951
|
-
→ SE conflita: "Ja existe {nome} instalado. Quer sobrescrever?"
|
|
952
1001
|
|
|
953
|
-
**Passo
|
|
1002
|
+
**Passo 4 — Instalar**
|
|
954
1003
|
1. Copiar pra `agents/{slug}/`
|
|
955
1004
|
2. Criar slash command em `.claude/commands/{slug}.md`:
|
|
956
1005
|
```markdown
|
|
@@ -965,7 +1014,7 @@ O expert arrasta o zip pro chat ou informa o path. Ops faz o resto.
|
|
|
965
1014
|
3. SE tem skill.md: registrar skill tambem
|
|
966
1015
|
4. SE tem dependencias (package.json dentro do squad): `npm install`
|
|
967
1016
|
|
|
968
|
-
**Passo
|
|
1017
|
+
**Passo 5 — Testar**
|
|
969
1018
|
1. Verificar que slash command aparece: "/{slug} esta disponivel"
|
|
970
1019
|
2. Verificar que agente carrega (ler persona, confirmar greeting)
|
|
971
1020
|
3. SE squad com workflow: verificar que fases referenciam tasks existentes
|
|
@@ -975,7 +1024,7 @@ O expert arrasta o zip pro chat ou informa o path. Ops faz o resto.
|
|
|
975
1024
|
=== INSTALACAO COMPLETA ===
|
|
976
1025
|
|
|
977
1026
|
Tipo: {Worker/Mind/Squad}
|
|
978
|
-
Nome: {nome}
|
|
1027
|
+
Nome: {nome} v{versao}
|
|
979
1028
|
Ativacao: /{slug}
|
|
980
1029
|
Arquivos: {N} instalados em agents/{slug}/
|
|
981
1030
|
Command: .claude/commands/{slug}.md criado
|
|
@@ -986,16 +1035,244 @@ Command: .claude/commands/{slug}.md criado
|
|
|
986
1035
|
Pronto pra usar. Ative com /{slug}
|
|
987
1036
|
```
|
|
988
1037
|
|
|
989
|
-
**Passo
|
|
1038
|
+
**Passo 6 — Limpar**
|
|
990
1039
|
1. Remover arquivos temporarios (zip extraido)
|
|
991
1040
|
2. SE expert quer: commitar instalacao
|
|
992
1041
|
→ `setup: instalou {tipo} {nome}`
|
|
993
1042
|
|
|
994
1043
|
**Protecoes:**
|
|
995
1044
|
- NUNCA instalar sem mostrar o que vai ser instalado primeiro
|
|
996
|
-
- NUNCA sobrescrever agente existente sem
|
|
1045
|
+
- NUNCA sobrescrever agente existente sem oferecer roteamento pro `*update-squad`
|
|
997
1046
|
- NUNCA executar scripts do zip automaticamente (verificar antes)
|
|
998
1047
|
- SE arquivo parecer suspeito: ALERTAR e pedir confirmacao
|
|
1048
|
+
- SE squad ja existe: ALWAYS oferecer `*update-squad` antes de sobrescrever (Passo 2)
|
|
1049
|
+
|
|
1050
|
+
---
|
|
1051
|
+
|
|
1052
|
+
### *update-squad
|
|
1053
|
+
Atualizar squad existente com versao nova a partir de zip ou pasta. **Preserva dados do expert** (minds/, .state.json) e cria backup do squad antigo.
|
|
1054
|
+
|
|
1055
|
+
**Quando usar:** voce ja tem um squad instalado e baixou da plataforma a versao nova (zip nomeado tipo `slide-forge-v2.0.0.zip`). Use `*update-squad` pra atualizar sem perder seu trabalho.
|
|
1056
|
+
|
|
1057
|
+
**Diferenca pra `*install`:**
|
|
1058
|
+
|
|
1059
|
+
| Operacao | `*install` | `*update-squad` |
|
|
1060
|
+
|----------|-----------|-----------------|
|
|
1061
|
+
| Squad ja existe? | Reroteia pra `*update-squad` (ou apaga tudo se confirmar) | Espera que ja exista |
|
|
1062
|
+
| Squad nao existe? | Instala normal | Reroteia pra `*install` |
|
|
1063
|
+
| `agents/{slug}/minds/` (outputs do expert) | Apaga (instalacao limpa) | **Preserva sempre** |
|
|
1064
|
+
| `agents/{slug}/.state.json` (estado) | Apaga | **Preserva sempre** |
|
|
1065
|
+
| Arquivos framework | Cria do zip | Substitui pelos do zip |
|
|
1066
|
+
| Modificacoes locais do expert no framework | N/A | **Backup em `_backup-tuas-mods/`** + sobrescreve |
|
|
1067
|
+
| Backup do squad antigo | N/A | **Sempre** em `agents/_archive/{slug}-v{old}-{timestamp}/` |
|
|
1068
|
+
|
|
1069
|
+
**Passo 1 — Receber zip e identificar**
|
|
1070
|
+
|
|
1071
|
+
1. Expert arrasta zip pro chat OU informa path do arquivo/pasta
|
|
1072
|
+
2. SE zip: extrair pra pasta temporaria (`/tmp/squad-update-{slug}-{timestamp}/`)
|
|
1073
|
+
3. Identificar tipo (squad/worker/mind) — mesma logica do `*install`
|
|
1074
|
+
4. Detectar nome (slug) e versao (campo `version:` do `squad.yaml`/`config.yaml`)
|
|
1075
|
+
5. Confirmar: "Detectei: {tipo} {nome} v{new_version} no zip. {N} arquivos."
|
|
1076
|
+
|
|
1077
|
+
**Passo 2 — Verificar squad atual**
|
|
1078
|
+
|
|
1079
|
+
1. Squad existe em `agents/{slug}/`?
|
|
1080
|
+
- **NAO existe:** "Voce ainda nao tem `{slug}` instalado. Vou pra `*install` instalar como novo. OK?" → reroteia
|
|
1081
|
+
- **EXISTE:** continuar
|
|
1082
|
+
2. Ler `version:` do squad atual (`agents/{slug}/squad.yaml` ou `config.yaml`)
|
|
1083
|
+
3. Comparar:
|
|
1084
|
+
|
|
1085
|
+
```
|
|
1086
|
+
=== UPDATE DETECTADO ===
|
|
1087
|
+
|
|
1088
|
+
Squad: {slug}
|
|
1089
|
+
Versao instalada: v{old_version}
|
|
1090
|
+
Versao do zip: v{new_version}
|
|
1091
|
+
|
|
1092
|
+
{Se old < new:} Update normal: v{old} -> v{new}
|
|
1093
|
+
{Se old == new:} Mesma versao. Reinstalacao limpa do framework (preserva teus dados).
|
|
1094
|
+
{Se old > new:} ATENCAO: voce tem versao mais nova ({old}) que o zip ({new}). Downgrade?
|
|
1095
|
+
|
|
1096
|
+
Continuar?
|
|
1097
|
+
```
|
|
1098
|
+
|
|
1099
|
+
**Passo 3 — Detectar modificacoes locais do expert (NOVO)**
|
|
1100
|
+
|
|
1101
|
+
A principio o expert NAO deve modificar arquivos do framework. Mas se modificou, precisa backupar antes de sobrescrever.
|
|
1102
|
+
|
|
1103
|
+
Comparar conteudo de cada arquivo do squad atual com o do zip:
|
|
1104
|
+
|
|
1105
|
+
```bash
|
|
1106
|
+
# Para cada arquivo do framework no squad atual (excluindo runtime preservado)
|
|
1107
|
+
for file in agents/{slug}/agents/* agents/{slug}/tasks/* agents/{slug}/data/* agents/{slug}/workflows/* agents/{slug}/checklists/* agents/{slug}/templates/* agents/{slug}/squad.yaml agents/{slug}/config.yaml agents/{slug}/README.md; do
|
|
1108
|
+
# Comparar com correspondente no zip
|
|
1109
|
+
zip_file="/tmp/squad-update-{slug}-{timestamp}/{equivalente}"
|
|
1110
|
+
if [ -f "$file" ] && [ -f "$zip_file" ]; then
|
|
1111
|
+
if ! diff -q "$file" "$zip_file" >/dev/null; then
|
|
1112
|
+
# Arquivo modificado localmente — pode ser:
|
|
1113
|
+
# a) Nova versao traz arquivo diferente (esperado)
|
|
1114
|
+
# b) Expert modificou localmente (NAO esperado)
|
|
1115
|
+
|
|
1116
|
+
# Heuristica: se versao do squad mudou, assume que e (a)
|
|
1117
|
+
# Senao, e (b) — modificacao local
|
|
1118
|
+
echo "POSSIVEL MOD LOCAL: $file"
|
|
1119
|
+
fi
|
|
1120
|
+
fi
|
|
1121
|
+
done
|
|
1122
|
+
```
|
|
1123
|
+
|
|
1124
|
+
**Heuristica refinada (precisa de signal):**
|
|
1125
|
+
Se o squad guardar um manifesto com hashes dos arquivos originais (`.manifest.json` por exemplo), comparar com isso. Senao, qualquer arquivo modificado E que tambem mudou na versao nova fica ambiguo.
|
|
1126
|
+
|
|
1127
|
+
**Comportamento conservador (sem manifesto):** mostrar TODOS os arquivos cujo conteudo difere entre squad atual e zip, classificar:
|
|
1128
|
+
|
|
1129
|
+
```
|
|
1130
|
+
=== ANALISE DE MODIFICACOES ===
|
|
1131
|
+
|
|
1132
|
+
Comparei o squad atual com o zip. Os arquivos abaixo divergem:
|
|
1133
|
+
|
|
1134
|
+
Arquivos do framework (esperado mudarem com update v{old} -> v{new}):
|
|
1135
|
+
- agents/{slug}/agents/chief.md
|
|
1136
|
+
- agents/{slug}/tasks/start.md
|
|
1137
|
+
- agents/{slug}/data/cardinal-rules.md
|
|
1138
|
+
- ... ({N} arquivos)
|
|
1139
|
+
|
|
1140
|
+
Arquivos suspeitos (parecem modificacao local — mtime > {data do install antigo}):
|
|
1141
|
+
- agents/{slug}/agents/foo.md (modificado em DD/MM HH:MM)
|
|
1142
|
+
- agents/{slug}/data/custom-bar.md (NAO existe no zip — adicionado pelo expert?)
|
|
1143
|
+
|
|
1144
|
+
A principio voce nao deveria ter modificado arquivos do framework.
|
|
1145
|
+
Mas se modificou, vou criar backup das tuas modificacoes em:
|
|
1146
|
+
_backup-tuas-mods/{slug}-v{old}-{timestamp}/
|
|
1147
|
+
|
|
1148
|
+
Confirma o backup das modificacoes locais antes de eu sobrescrever?
|
|
1149
|
+
(sim / nao / mostrar diff de cada arquivo)
|
|
1150
|
+
```
|
|
1151
|
+
|
|
1152
|
+
Se expert confirmar: criar `_backup-tuas-mods/{slug}-v{old}-{timestamp}/` copiando arquivos suspeitos.
|
|
1153
|
+
Se expert pedir diff: mostrar `diff` arquivo por arquivo, expert decide caso a caso.
|
|
1154
|
+
Se expert disser que nao modificou nada (e mtimes dao falso positivo): proceder sem backup-tuas-mods.
|
|
1155
|
+
|
|
1156
|
+
**Passo 4 — Backup completo do squad atual (sempre)**
|
|
1157
|
+
|
|
1158
|
+
```bash
|
|
1159
|
+
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
|
|
1160
|
+
mkdir -p agents/_archive
|
|
1161
|
+
cp -r agents/{slug} agents/_archive/{slug}-v{old_version}-$TIMESTAMP
|
|
1162
|
+
echo "Backup do squad antigo em: agents/_archive/{slug}-v{old_version}-$TIMESTAMP/"
|
|
1163
|
+
```
|
|
1164
|
+
|
|
1165
|
+
**Retencao:** 30 dias. Apos isso, expert pode deletar manualmente.
|
|
1166
|
+
|
|
1167
|
+
**Passo 5 — Identificar runtime a preservar (whitelist)**
|
|
1168
|
+
|
|
1169
|
+
Antes de sobrescrever, listar tudo que deve ser preservado do squad atual:
|
|
1170
|
+
|
|
1171
|
+
```bash
|
|
1172
|
+
PRESERVE=(
|
|
1173
|
+
"agents/{slug}/minds/" # outputs do expert (clones, mind-forge runs, etc)
|
|
1174
|
+
"agents/{slug}/.state.json" # estado de pipeline em andamento
|
|
1175
|
+
"agents/{slug}/*-state.json" # outros state files
|
|
1176
|
+
"agents/{slug}/.local/" # configs locais (se padrao se estabelecer)
|
|
1177
|
+
)
|
|
1178
|
+
|
|
1179
|
+
# Criar staging area pro runtime
|
|
1180
|
+
mkdir -p /tmp/squad-update-staging-{slug}/
|
|
1181
|
+
for path in "${PRESERVE[@]}"; do
|
|
1182
|
+
if [ -e "$path" ]; then
|
|
1183
|
+
cp -r "$path" /tmp/squad-update-staging-{slug}/
|
|
1184
|
+
fi
|
|
1185
|
+
done
|
|
1186
|
+
```
|
|
1187
|
+
|
|
1188
|
+
**Passo 6 — Aplicar update**
|
|
1189
|
+
|
|
1190
|
+
1. Apagar conteudo atual de `agents/{slug}/` (exceto runtime que ja foi preservado em staging):
|
|
1191
|
+
```bash
|
|
1192
|
+
rm -rf agents/{slug}/*
|
|
1193
|
+
rm -rf agents/{slug}/.[!.]* # arquivos hidden tambem
|
|
1194
|
+
```
|
|
1195
|
+
2. Copiar conteudo do zip pra `agents/{slug}/`:
|
|
1196
|
+
```bash
|
|
1197
|
+
cp -r /tmp/squad-update-{slug}-{timestamp}/* agents/{slug}/
|
|
1198
|
+
```
|
|
1199
|
+
3. Restaurar runtime preservado:
|
|
1200
|
+
```bash
|
|
1201
|
+
for item in /tmp/squad-update-staging-{slug}/*; do
|
|
1202
|
+
cp -r "$item" agents/{slug}/
|
|
1203
|
+
done
|
|
1204
|
+
```
|
|
1205
|
+
|
|
1206
|
+
**Passo 7 — Atualizar slash command**
|
|
1207
|
+
|
|
1208
|
+
Comparar `.claude/commands/{slug}.md` atual com o que o zip espera (geralmente derivado de `name`/`title`/`description` do squad.yaml).
|
|
1209
|
+
|
|
1210
|
+
Se mudou (mudou descricao do squad, mudou nome do agente principal, etc): atualizar.
|
|
1211
|
+
|
|
1212
|
+
**Passo 8 — Validar pos-update**
|
|
1213
|
+
|
|
1214
|
+
1. `agents/{slug}/squad.yaml` (ou `config.yaml`) parsea sem erro?
|
|
1215
|
+
2. `agents/{slug}/tasks/start.md` existe?
|
|
1216
|
+
3. `.claude/commands/{slug}.md` aponta pra arquivos existentes?
|
|
1217
|
+
4. Versao no `squad.yaml` agora bate com a do zip?
|
|
1218
|
+
5. Runtime preservado intacto? (`agents/{slug}/minds/` se existia, `.state.json` se existia)
|
|
1219
|
+
|
|
1220
|
+
**SE algum check falhar:** rollback completo:
|
|
1221
|
+
```bash
|
|
1222
|
+
rm -rf agents/{slug}/
|
|
1223
|
+
cp -r agents/_archive/{slug}-v{old_version}-{timestamp}/ agents/{slug}/
|
|
1224
|
+
```
|
|
1225
|
+
Reportar erro ao expert.
|
|
1226
|
+
|
|
1227
|
+
**Passo 9 — Reportar**
|
|
1228
|
+
|
|
1229
|
+
```
|
|
1230
|
+
=== UPDATE COMPLETO ===
|
|
1231
|
+
|
|
1232
|
+
Squad: {slug}
|
|
1233
|
+
Versao: v{old} -> v{new}
|
|
1234
|
+
|
|
1235
|
+
Arquivos:
|
|
1236
|
+
- {N} arquivos framework substituidos
|
|
1237
|
+
- {M} arquivos preservados (minds/, .state.json, runtime do expert)
|
|
1238
|
+
|
|
1239
|
+
Backups criados:
|
|
1240
|
+
- agents/_archive/{slug}-v{old}-{timestamp}/ (squad antigo completo, 30 dias retencao)
|
|
1241
|
+
{SE houve modificacoes locais do expert:}
|
|
1242
|
+
- _backup-tuas-mods/{slug}-v{old}-{timestamp}/ (tuas modificacoes preservadas)
|
|
1243
|
+
|
|
1244
|
+
{SE squad-forge ou similar com greeting versionado:}
|
|
1245
|
+
Pra confirmar que ta v{new}: ative com /{slug} e olhe o greeting.
|
|
1246
|
+
|
|
1247
|
+
Tudo certo. Pode usar normalmente.
|
|
1248
|
+
```
|
|
1249
|
+
|
|
1250
|
+
**Passo 10 — Limpar**
|
|
1251
|
+
1. Remover `/tmp/squad-update-{slug}-{timestamp}/`
|
|
1252
|
+
2. Remover `/tmp/squad-update-staging-{slug}/`
|
|
1253
|
+
3. SE expert quer: commitar update
|
|
1254
|
+
→ `setup: atualizou {slug} v{old} -> v{new}`
|
|
1255
|
+
|
|
1256
|
+
**Protecoes:**
|
|
1257
|
+
- NUNCA aplicar update sem mostrar diff de versao primeiro
|
|
1258
|
+
- NUNCA sobrescrever `minds/` (outputs do expert)
|
|
1259
|
+
- NUNCA sobrescrever `.state.json` (estado em andamento)
|
|
1260
|
+
- NUNCA aplicar update sem backup completo do squad atual
|
|
1261
|
+
- SE detectar modificacoes locais do expert: ALWAYS oferecer backup-tuas-mods antes de sobrescrever
|
|
1262
|
+
- SE qualquer validacao pos-update falhar: ROLLBACK automatico do backup
|
|
1263
|
+
|
|
1264
|
+
**Cenarios de erro:**
|
|
1265
|
+
|
|
1266
|
+
| Cenario | Acao |
|
|
1267
|
+
|---------|------|
|
|
1268
|
+
| Zip corrompido / nao parseavel | Abortar antes de tocar squad atual. Reportar erro. |
|
|
1269
|
+
| Squad atual sem `version:` no squad.yaml | Tratar como v0.0.0. Continuar update. |
|
|
1270
|
+
| Expert tem versao MAIS NOVA que o zip | Confirmar duas vezes ("downgrade?"). Permitir se ele insistir. |
|
|
1271
|
+
| Mesma versao (v{old} == v{new}) | Tratar como reinstalacao limpa do framework, preservando dados. Util pra recuperar de modificacao acidental. |
|
|
1272
|
+
| Diff de modificacoes locais com 50+ arquivos | Provavelmente nao e modificacao real — e normal apos updates intermediarios. Sugerir "skip backup-tuas-mods". |
|
|
1273
|
+
| Rollback automatico ativado por validacao falha | Reportar exatamente qual check falhou. Squad volta intacto pro estado anterior. |
|
|
1274
|
+
|
|
1275
|
+
---
|
|
999
1276
|
|
|
1000
1277
|
### *install-pack
|
|
1001
1278
|
Instalar um pack contendo multiplos squads, minds, workers e/ou agents de uma vez.
|