=============================================================== 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.