ozali 0.4.0 → 0.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.
- package/README.md +21 -3
- package/cli/bin/ozali.mjs +16 -4
- package/cli/lib/commands.mjs +598 -28
- package/cli/lib/detect.mjs +9 -1
- package/cli/lib/util.mjs +23 -0
- package/cli/test/smoke.test.mjs +64 -0
- package/docs/deploy-cloud-gcloud.md +149 -0
- package/docs/deploy-cloud-vps.md +174 -0
- package/docs/guia-de-uso.md +6 -1
- package/docs/ideas/postgres-vs-mysql-engram-cloud.md +137 -0
- package/docs/team-history.md +52 -0
- package/package.json +1 -1
- package/skill/references/engram-convention.md +78 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ozali",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Bootstrap interactivo de IA por equipo: calibra el proyecto, genera la skill de ejecución (cdk) con TDD/SDD, y mantiene memoria de equipo (Engram) con histórico aislado.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -269,3 +269,81 @@ artefacto, menos cuesta recuperarlo después.
|
|
|
269
269
|
agresivo con recall-first (resume antes, evita relecturas grandes).
|
|
270
270
|
|
|
271
271
|
> `savedByRecall` = estimación de relectura evitada por reusar memoria (ver plantilla `06-uso-tokens`).
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 8. Cloud: réplica de equipo en tiempo real
|
|
276
|
+
|
|
277
|
+
Engram Cloud es una **capa opt-in** que replica la memoria del equipo a un servidor central,
|
|
278
|
+
**adicional al git-sync**. Con autosync activo, la réplica es **automática e invisible**: los devs
|
|
279
|
+
no necesitan correr `ozali sync` manualmente para compartir memoria.
|
|
280
|
+
|
|
281
|
+
### 8.1 Modelo: cloud-first, git-sync como backup
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
dev A guarda memoria → autosync → cloud → dev B (autosync recibe)
|
|
285
|
+
↕
|
|
286
|
+
git-sync (backup/secondary)
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
- **Cloud-first**: la réplica es en tiempo real (autosync). El repo de conocimiento sigue siendo
|
|
290
|
+
el backup offline (ver [team-history](../../docs/team-history.md)).
|
|
291
|
+
- **Sin cloud**: todo funciona igual, solo que el sync es manual (`ozali sync` + `--push`/`--import`).
|
|
292
|
+
|
|
293
|
+
### 8.2 Cómo se comparten las memorias vía cloud
|
|
294
|
+
|
|
295
|
+
1. Un dev guarda una observación con `mem_save` (scope: project, español — ver §1.5).
|
|
296
|
+
2. El autosync la replica al servidor cloud automáticamente.
|
|
297
|
+
3. El autosync del otro dev la recibe y la importa a su store local.
|
|
298
|
+
4. Ambos devs pueden buscarla con `mem_search`.
|
|
299
|
+
|
|
300
|
+
> **Scope + idioma siguen siendo obligatorios** (§1.5): `scope: project` siempre en español,
|
|
301
|
+
> `scope: personal` cualquier idioma. Cloud no cambia esta regla — solo acelera el transporte.
|
|
302
|
+
|
|
303
|
+
### 8.3 Archivos de configuración
|
|
304
|
+
|
|
305
|
+
| Archivo | Commiteable | Contiene | Propósito |
|
|
306
|
+
|---|---|---|---|
|
|
307
|
+
| `.ozali/cloud.json` | **Sí** (no lleva secretos) | server, project, enrolled, dashboard URL | Que un dev nuevo detecte la cloud del equipo al hacer `ozali init` |
|
|
308
|
+
| `~/.engram/cloud_token` | No (local) | El token de auth | Persistencia del token entre sesiones |
|
|
309
|
+
| `.claude/settings.json` (env) | Sí | `ENGRAM_CLOUD_AUTOSYNC=1`, `ENGRAM_CLOUD_TOKEN` | Autosync en el MCP del agente |
|
|
310
|
+
|
|
311
|
+
> El token **nunca** se commitea. `.ozali/cloud.json` solo tiene metadatos sin secretos.
|
|
312
|
+
|
|
313
|
+
### 8.4 Comandos cloud del CLI
|
|
314
|
+
|
|
315
|
+
| Comando | Qué hace |
|
|
316
|
+
|---|---|
|
|
317
|
+
| `ozali init` → detecta `.ozali/cloud.json` | Onboarding: conecta al dev nuevo en 1 paso (Fase 1) |
|
|
318
|
+
| `ozali sync --cloud` | Push manual a cloud (además del git-sync) |
|
|
319
|
+
| `ozali sync --cloud --import` | Pull desde cloud (onboarding inverso) |
|
|
320
|
+
| `ozali cloud status` | Estado de enrollment + último sync + upgrade pipeline |
|
|
321
|
+
| `ozali cloud upgrade` | Flujo completo: doctor → repair --apply → bootstrap |
|
|
322
|
+
| `ozali cloud repair` | `engram cloud upgrade repair --apply` |
|
|
323
|
+
| `ozali cloud dashboard` | Abre el dashboard web en el navegador |
|
|
324
|
+
| `ozali cloud config` | Re-configura servidor/token |
|
|
325
|
+
| `ozali audit --conflicts` | Lista conflictos de memoria pendientes |
|
|
326
|
+
| `ozali audit --conflicts --stats` | Estadísticas de conflictos |
|
|
327
|
+
|
|
328
|
+
### 8.5 Conflictos: qué son y cómo resolverlos
|
|
329
|
+
|
|
330
|
+
Cuando dos devs guardan memorias que el sistema detecta como **potencialmente conflictivas**
|
|
331
|
+
(misma `topic_key`, contenido divergente), Engram Cloud las marca como conflictos pendientes.
|
|
332
|
+
|
|
333
|
+
- `ozali doctor` avisa si hay conflictos pendientes (`pending > 0`).
|
|
334
|
+
- `ozali audit --conflicts` los lista.
|
|
335
|
+
- El agente los resuelve con `mem_judge` (ver protocolo de conflict surfacing en las
|
|
336
|
+
instrucciones del MCP de Engram): `related`, `compatible`, `scoped`, `conflicts_with`,
|
|
337
|
+
`supersedes`, `not_conflict`.
|
|
338
|
+
- `ozali audit --conflicts --judged` muestra los ya resueltos.
|
|
339
|
+
|
|
340
|
+
### 8.6 Troubleshooting cloud
|
|
341
|
+
|
|
342
|
+
| `reason_code` | Significado | Acción |
|
|
343
|
+
|---|---|---|
|
|
344
|
+
| `blocked_unenrolled` | El proyecto no está enrolado en el servidor | `ozali init` o `ozali cloud config` |
|
|
345
|
+
| `transport_failed` | No se pudo conectar al servidor | Verifica URL, red, firewall |
|
|
346
|
+
| `bootstrap_verified` (upgrade) | Todo OK, no necesita upgrade | — |
|
|
347
|
+
| otro (upgrade) | El proyecto requiere upgrade de esquema | `ozali cloud upgrade` |
|
|
348
|
+
|
|
349
|
+
> `ozali doctor` parsea estos códigos y muestra warnings específicos.
|