Informe del Sistema — Fase 21.5 (Histórico)
Snapshot histórico de Arc OS tras la integración de Inteligencia Evolutiva. Nota: Este documento refleja el estado del sistema en la Fase 21.5. El sistema actual está en la Fase 40.18 con más de 62 endpoints de API, dashboard CRM, OAuth, Sage Worker y más. Consulta la Guía de usuario y la Descripción general del producto para la documentación actual.
Resumen del sistema
| Métrica | Valor |
|---|---|
| TypeScript principal (shared + bots + scripts) | 3.298 líneas |
| Módulos compartidos | 7 |
| Skills registradas (registro) | 18 |
| Skills de biblioteca | 7 |
| Total de skills | 25 |
| Tipos de reglas de eval | 6 |
| Conjuntos de reglas de eval piloto | 3 (9 reglas en total) |
| Agentes | 6 |
| Child bots (producción) | 2 |
| Commits de Git | 36 |
| Fases entregadas | 15 → 21.5 |
| Código de backend personalizado | 0 líneas |
Arquitectura
┌──────────────────────────────────┐
│ Master Bot (Port 19210) │
│ @citadel_master_bot │
│ │
│ /status /health /deploy /watchdog │
│ /new_project /remove_project │
│ Approve/Reject improvements │
└──────────┬───────────┬─────────────┘
│ │
┌────────────┘ └────────────┐
▼ ▼
┌───────────────────┐ ┌───────────────────┐
│ Child: citadel-v2 │ │ Child: pt │
│ Port 19211 │ │ Port 19212 │
│ │ │ │
│ Intelligence: │ │ Intelligence: │
│ ├ Context Router │ │ ├ Context Router │
│ ├ Learnings │ │ ├ Learnings │
│ ├ Binary Evals │ │ ├ Binary Evals │
│ └ Quality Track │ │ └ Quality Track │
└───────────────────┘ └───────────────────┘
│ │
▼ ▼
┌───────────────────┐ ┌───────────────────┐
│ MCP Bridge │ │ │
│ Port 19200 │ │ (no bridge yet) │
│ SSE + HTTP API │ │ │
└────────┬──────────┘ └───────────────────┘
│
▼
┌───────────────────┐
│ Phaser.js Frontend│
│ Port 5173 (dev) │
│ Visual AI Office │
└───────────────────┘
Mapa de módulos
shared/ (7 módulos, 1.124 líneas)
| Módulo | Líneas | Fase | Propósito |
|---|---|---|---|
logger.ts |
189 | 20.5 | Logging estructurado JSONL: canales system/dialog/error, rotación diaria |
vault.ts |
216 | 20.5 | Almacenamiento de secretos cifrado con AES-256-GCM: initVault, getSecret, setSecret |
quality.ts |
192 | 21.1+21.5 | Seguimiento de ejecución/feedback, agregación, detección de bajo rendimiento |
ui_templates.ts |
158 | 21.0+21.5 | Teclados de Telegram: menú master, tarjetas de proyecto, botones de child, propuestas de mejora |
evals.ts |
142 | 21.5 | Motor de evals binario: 6 tipos de reglas, checkOutput, formatWarnings |
context-router.ts |
117 | 21.5 | Puntuación de skills: coincidencia de triggers/keywords, generación de SKILLS_HINT |
learnings.ts |
110 | 21.5 | Correcciones persistentes: cargar/agregar/formatear learnings desde Markdown |
Runtimes de bots (1.937 líneas)
| Archivo | Líneas | Propósito |
|---|---|---|
child-bot/bot.ts |
944 | Proxy Telegram-Claude CLI con integración de capa de inteligencia |
master-bot/bot.ts |
993 | Orquestador: comandos, tarjetas de proyecto, watchdog, aprobación de mejoras |
Scripts (237 líneas)
| Archivo | Líneas | Propósito |
|---|---|---|
scripts/nightly-improve.ts |
237 | Karpathy Loop: análisis de métricas → propuestas de mejora → Telegram CEO |
Inventario de skills
Skills del registro (18)
| Skill | Categoría | Fase | Evals |
|---|---|---|---|
| handoff-protocol | complex, skill_injection | 15.2 | - |
| code-review | complex | 15.3 | 3 reglas |
| system-audit | complex | 15.3 | 3 reglas |
| git-manager | complex, skill_injection | 16 | 3 reglas |
| project-onboarding | complex, skill_injection | 16 | - |
| web-scaffolding | complex | 15 | - |
| code-review-protocol | complex | 15 | - |
| automated-testing | complex | 15 | - |
| deployment-flow | complex | 15 | - |
| knowledge-index | complex | 15 | - |
| document-analysis | complex | 15 | - |
| citadel-wrapup | cli_command | 19.4 | - |
| citadel-recall | cli_command | 19.4 | - |
| citadel-status | cli_command | 19.5 | - |
| citadel-task | cli_command | 19.5 | - |
| citadel-deploy | cli_command | 19.5 | - |
| figma-audit | complex, skill_injection | 21 | - |
| figma-apply-system | complex, skill_injection | 21 | - |
| figma-implement | complex, skill_injection | 21 | - |
Skills de biblioteca (7)
| Skill | Dominio |
|---|---|
| docker-ops | Orquestación de contenedores |
| figma-design | Pipeline de diseño a código |
| github-actions | Flujos de trabajo CI/CD |
| odoo-expert | Desarrollo Odoo ERP |
| odoo-owl-expert | Framework Odoo Owl |
| plasthetica-style-guide | Guía de estilo específica del proyecto |
| postgres-pro | Optimización de PostgreSQL |
Capa de inteligencia (Fase 21.5)
Pipeline de procesamiento de mensajes
Message In
│
├─ Context Router scores 18 registry skills → top-5 SKILLS_HINT
├─ Learnings Loader reads learnings.md → LEARNINGS block
├─ BTW Queue prepends extra context from BTW mode
│
▼
buildGsdPrompt() assembles: LEARNINGS → BTW → CONTEXT → SKILLS_HINT → TASK
│
▼
claude -p <prompt> --max-turns 20
│
▼
├─ Binary Evals checks response against .evals.json rules
├─ Quality Tracker logs execution event (skills, success, duration)
│
▼
Telegram response + inline buttons + eval footnotes
Bucle de feedback
Fix It button → addLearning(source: "fixit") → learnings.md → next prompt
Thumbs-down → addLearning(source: "negative") + logFeedback → metrics
Thumbs-up → logFeedback(positive: true) → metrics
Ciclo nocturno
03:00 UTC → nightly-improve.ts
→ Read quality-metrics.json per child
→ findUnderperformingSkills(threshold: 80%)
→ Generate proposals
→ Send to CEO via Master Bot Telegram
→ CEO: [Approve] → backup skill.md → mark approved
→ CEO: [Reject] → mark rejected
Infraestructura
VPS (Contabo)
| Servicio | Puerto | Endpoint de salud |
|---|---|---|
| Master Bot | 19210 | /api/master/health |
| Child: citadel-v2 | 19211 | /api/child/health |
| Child: pt | 19212 | /api/child/health |
| MCP Bridge | 19200 | /api/health |
| Frontend | 5173 (dev) / Docker | N/A |
Trabajos cron
| Horario | Tarea |
|---|---|
| Cada 15 min | Sincronización Git (memory bridge) |
| Cada 30 min | Verificación de salud Morty SRE |
| Cada 2 h | Agregación de métricas CFO |
| Diario | Informe de estado CMO |
| Diario | Backup de DB |
| Diario 03:00 | Bucle de mejora nocturno |
Logging
- Formato: JSONL estructurado
- Canales: system, dialog, error
- Ubicación:
/var/log/citadel/<bot-name>/ - Rotación: diaria (logrotate)
- Acceso:
jq . /var/log/citadel/citadel-v2/dialog-$(date +%F).log
Seguridad
- Tokens de bots: Vault AES-256-GCM (
config/vault.json, en gitignore) - Clave de cifrado:
config/vault-key(generada automáticamente, chmod 600) - Acceso exclusivo del CEO: todos los bots verifican
CEO_CHAT_IDen cada mensaje - Sin credenciales en git (
.gitignore+.claudeignore)
Historial de fases
| Fase | Qué se construyó |
|---|---|
| 15 | Sistema de skills, agentes, blueprints |
| 16 | Git manager, onboarding de proyectos |
| 18 | Issue paraguas principal |
| 19 | Comandos CLI, biblioteca, wrapup/recall |
| 20 | Bots federados, arquitectura Master + Child |
| 20.5 | Logging estructurado, watchdog, vault, onboarding |
| 21.0 | Plantillas de UI, control de subprocesos, seguimiento de calidad |
| 21.1 | Agregación de métricas de calidad, botones de feedback |
| 21.5 | Inteligencia Evolutiva: evals, Context Router, learnings, bucle nocturno |
| 22-26 | API Backend CRM, Workspace, Workers, Specs |
| 28-30 | Auto-ingesta de conocimiento, asistente de onboarding |
| 32-34 | Wiki, CRUD de skills, issues, ARC CLI |
| 36 | Cloud PM, Generador Neural de skills, NotebookLM Bridge |
| 37-38 | OAuth (Google/GitHub), autenticación email/contraseña, binario ARC CLI |
| 39 | CRM responsive para móvil |
| 40.10-40.18 | Historial de chat, Sage Worker, benchmarks, marketplace, iconos Lucide, vault de Telegram, worker bots |
Para ver los detalles del sistema actual, consulta la Descripción general del producto.