Cambios aplicados desde epsylon/oasis 3d46340 (0.7.6):
NUEVO MÓDULO Graphos (mapa interactivo de la red):
- src/views/graphos_view.js (nuevo)
LÓGICA:
- src/backend/nameCache.js (nuevo) — NameAuthor resolver
- src/models/chats_model.js — encriptación E2E
- src/models/calendars_model.js — E2E + calendar invites con códigos
- src/models/maps_model.js — E2E + CLOSED enforcement
- src/models/tribes_model.js — sub-tribe access control (PRESERVA nuestro inviteLog)
- src/models/tribe_crypto.js — soporte E2E
- src/models/main_models.js — refactor (PRESERVA nuestro pub-invite SSB msg)
- src/models/{activity,banking,pads,search,stats,tags,tribes_content}_model.js
- src/backend/backend.js — searchModel constructor + new helpers (errorView, safeRefererRedirect)
- src/backend/blobHandler.js, renderTextWithStyles.js
- src/views/main_views.js — añadido userLink/userLinkLabel + nameCache import (mantiene nuestro hamburger menu)
VISUAL:
- 31 views actualizadas con refactor a userLink helper
- src/views/peers_view.js — tabla con keys clicables
- src/views/stats_view.js — dashboard avanzado
- src/client/assets/styles/style.css — merge (preserva nuestras adiciones QR/mobile)
- Temas desktop: Clear, Dark, Matrix, Purple
- Translations 11 idiomas (ar, de, en, es, eu, fr, hi, it, pt, ru, zh)
- src/configs/{config-manager,oasis-config}, server/SSB_server.js, oasis_client.js
SKIPS (intencionalmente):
- OasisMobile.css del upstream (mantenemos NUESTRO mobile.css y theme)
- main_views.js menu reorganization (mantenemos hamburger nav)
- @xenova/transformers (LLM, no viable mobile)
- node-llama-cpp (build nativo no soportado en arm64 mobile)
- pdfjs-dist (pendiente probar luego)
- AI/embedder.js + AI/routes_index.js (dependen de las libs LLM)
server/package.json: version 0.7.5 → 0.7.6
AUTOMATIZACIÓN:
- Nueva carpeta AUTOMATIZACION/ con 10 archivos:
- 4 opciones (cron simple, multi-agente, GitHub Actions, webhook)
- Setup Debian completo paso a paso
- Scripts bash listos: scout, merger, builder, notify-telegram
- Prompts listos para los agentes
- Sección /testing-app para 0asis.net
- Human-in-the-loop: archivos prohibidos para auto-merge
PENDIENTE: build APK (el bash tool tuvo timeouts; usar comandos
de CONTEXT/cambio_apk_repack.txt manualmente).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
145 lines
5.1 KiB
Text
145 lines
5.1 KiB
Text
===============================================================
|
|
OPCIÓN B — MULTI-AGENTE (RECOMENDADA)
|
|
===============================================================
|
|
|
|
ARQUITECTURA
|
|
------------
|
|
|
|
Lunes 03:00 — SCOUT
|
|
Detecta cambios upstream, genera reporte JSON con:
|
|
- Lista de archivos cambiados
|
|
- Categorización (safe / review / skip)
|
|
- Resumen de cada cambio
|
|
Output: /var/oasis-auto/reports/YYYY-MM-DD-scout.json
|
|
/var/oasis-auto/reports/YYYY-MM-DD-scout.md (humano)
|
|
Notifica Telegram: "Reporte semanal listo, revisa /scout"
|
|
|
|
Lunes 04:00 — MERGER
|
|
Lee scout.json. Si está marcado como "approved" (manual
|
|
o automático según safety level), aplica los cambios
|
|
safe + abre branch con merge para los review.
|
|
Output: /var/oasis-auto/reports/YYYY-MM-DD-merger.md
|
|
Notifica Telegram: "Branch auto-merge-X creada, lista build"
|
|
|
|
Lunes 05:00 — BUILDER
|
|
Verifica que no haya conflictos en working tree.
|
|
Hace build APK + firma + sube a /testing-app.
|
|
Output: /var/oasis-auto/apks/oasis-YYYY-MM-DD.apk
|
|
Notifica Telegram: con link a la APK
|
|
|
|
|
|
FLUJO DETALLADO
|
|
---------------
|
|
|
|
1. scout corre cron
|
|
├─ git fetch upstream
|
|
├─ git log HEAD..upstream/main --stat → lista de cambios
|
|
├─ Para cada archivo cambiado:
|
|
│ - Aplica reglas de clasificación (safe / review / skip)
|
|
│ - Genera resumen breve del cambio
|
|
├─ Escribe scout.json + scout.md
|
|
└─ Telegram bot: "Reporte listo en {URL}"
|
|
|
|
2. (HUMANO, opcional) revisa scout.md y aprueba con:
|
|
curl -X POST https://your-vps.com/api/approve/YYYY-MM-DD
|
|
o solo deja que el cron continúe (auto-aprobar si "safety_score" > 0.8)
|
|
|
|
3. merger corre cron
|
|
├─ Lee scout.json
|
|
├─ Si !approved AND auto_approve=false: salir y notificar
|
|
├─ git checkout -b auto-merge-YYYY-MM-DD
|
|
├─ Para cada archivo "safe": git checkout upstream/main -- $file
|
|
├─ Para cada archivo "review": deja conflict marker
|
|
├─ Para cada archivo "skip": ignora
|
|
├─ git commit -m "feat: auto-merge upstream v$VERSION"
|
|
└─ Telegram bot: "Branch lista, building..."
|
|
|
|
4. builder corre cron
|
|
├─ Verifica working tree limpio
|
|
├─ bash build-apk.sh
|
|
├─ Sube APK a /testing-app endpoint
|
|
└─ Telegram bot: "APK lista: {URL}"
|
|
|
|
|
|
CRON ENTRIES
|
|
------------
|
|
0 3 * * 1 /opt/scripts/oasis-scout.sh
|
|
0 4 * * 1 /opt/scripts/oasis-merger.sh
|
|
0 5 * * 1 /opt/scripts/oasis-builder.sh
|
|
|
|
|
|
SISTEMA DE CLASIFICACIÓN AUTO
|
|
-----------------------------
|
|
El scout aplica estas reglas:
|
|
|
|
SAFE (auto-aplicar):
|
|
✓ src/views/*_view.js si es nuevo file (no existía antes)
|
|
✓ src/views/markdown.js (helper nuevo)
|
|
✓ src/client/assets/translations/*.js (todos)
|
|
✓ src/client/assets/themes/Clear-SNH.css
|
|
✓ src/client/assets/themes/Dark-SNH.css
|
|
✓ src/client/assets/themes/Matrix-SNH.css
|
|
✓ src/client/assets/themes/Purple-SNH.css
|
|
|
|
REVIEW (necesita mirada humana):
|
|
⚠ src/models/* (puede conflictuar con nuestro inviteLog)
|
|
⚠ src/backend/backend.js (rutas + constructors)
|
|
⚠ src/views/main_views.js (NUESTRO menú hamburger)
|
|
⚠ src/views/blockchain_view.js (puede tener inviteLog refs)
|
|
⚠ src/views/tribes_view.js
|
|
⚠ src/client/assets/styles/style.css
|
|
⚠ src/server/package.json (puede traer deps no compatibles)
|
|
|
|
SKIP (NUNCA aplicar):
|
|
✗ src/client/assets/themes/OasisMobile.css
|
|
✗ src/client/assets/styles/mobile.css
|
|
✗ src/client/public/js/mobile-ui.js
|
|
✗ src/views/mobile_pager.js (es nuestro)
|
|
✗ dependencies: @xenova/transformers, node-llama-cpp
|
|
|
|
|
|
REPORTES (formato scout.md)
|
|
---------------------------
|
|
# Oasis upstream sync — 2026-05-09
|
|
|
|
Upstream: v0.7.5 → v0.7.6 (3 commits, +4349/-1266)
|
|
|
|
## Safe (aplicar auto): 12 archivos
|
|
- [+] src/views/graphos_view.js (nuevo, 245 líneas)
|
|
- [+] src/views/markdown.js (nuevo, 80 líneas)
|
|
- [M] src/client/assets/translations/oasis_es.js (+24 strings)
|
|
- ...
|
|
|
|
## Review (revisar manual): 6 archivos
|
|
- [M] src/models/tribes_model.js — afecta a inviteLog, revisar
|
|
- [M] src/views/main_views.js — añade ítem menu en Tools, NO aplicar
|
|
- ...
|
|
|
|
## Skip: 3 archivos
|
|
- [M] src/client/assets/themes/OasisMobile.css
|
|
- [M] src/client/assets/styles/mobile.css
|
|
- server/package.json (deps prohibidos)
|
|
|
|
## Acciones recomendadas
|
|
- Auto-merge: yes
|
|
- Conflict score: 0.2 (bajo)
|
|
- Build APK: yes
|
|
|
|
|
|
VENTAJAS CRÍTICAS
|
|
-----------------
|
|
1. Cada agente tiene su prompt corto → menos tokens → más fiable
|
|
2. Logs separados → fácil debuggear
|
|
3. Recuperable: si builder falla, re-ejecutas solo builder
|
|
4. Auditable: histórico de scouts.json en /var/oasis-auto/reports
|
|
5. Reversible: cada merge en su branch, fácil de revertir
|
|
|
|
|
|
NIVEL DE AUTOMATIZACIÓN AJUSTABLE
|
|
---------------------------------
|
|
Variable AUTO_APPROVE_THRESHOLD en /opt/scripts/config:
|
|
1.0 = nunca auto, siempre humano aprueba
|
|
0.7 = auto si scout reporta "conflict_score < 0.3"
|
|
0.0 = todo auto (no recomendado)
|
|
|
|
Empezar en 1.0, después de 4 semanas exitosas bajar a 0.7.
|