# Mapa Ocampo Lab — v1 (snapshot 2026-05-19)

> Generado por: Ocampo-Infra Agent System (extracción nativa, sin graphify upstream)
> Owner: Roberto Ocampo <ro@ocampo.ai>
> Schema version: 1.0.0
> Fuentes: `Ocampo-Infra.md`, `memory/agents-map.md`, `sessions/DOMAIN-REGISTRY.md`, `workflows/*.md`, `services/*.md`, `data/research/Mejorando-Ocampo-Infra/*/Evaluacion.md`

## Estadísticas

| Métrica | Valor |
|---------|-------|
| Nodos totales | **110** |
| Edges totales | **86** |
| Servidores | 10 |
| GPUs | 9 |
| Servicios | 15 |
| Dominios | 14 (10 activos, 1 propuesto, 4 pendientes) |
| Agentes | 53 (44 activos, varios deprecated/propuestos) |
| Workflows | 13 (subset principal) |
| Capas persistencia | 4 (L1-L4) |
| Proyectos | 12 (7 activos + 5 research-results) |
| Edges EXTRACTED | 55 (64% — alta certeza) |
| Edges INFERRED | 17 (20%) |
| Edges MANUAL | 14 (16% — añadidas por Ocampo-Infra) |

---

## 1. Servidores (Layer físico/VM)

```
┌─────────────────────────────────────────────────────────────────────────┐
│                  DATACENTER IVANIA PHOTO STUDIO                          │
│                  192.168.91.0/24  (WAN: 64.146.188.3)                    │
│                                                                          │
│  .1   vyos-router (VM 10003 en .139) — Lab Router                        │
│  .92  w3vm — Virtualmin / Apache / PHP-FPM / Web hosting                 │
│  .93  roDev-ai-db (VM 10093) — PostgreSQL + Qdrant + N8N + markitdown    │
│  .94  GitLab CE                                                          │
│  .102 Ivania-R — TrueNAS 64TB                                            │
│  .139 Proxmox host físico (.93/.140/.141/M1000e cluster)                 │
│  .140 deb-A16x2 (VM 10140) — 8x A16 GPUs / Ollama / ComfyUI / Open WebUI │
│  .141 deb-A10G (VM 10141) — Standby AI server                            │
│  .207 roNAS-207 — TrueNAS 48TB                                           │
│  M1000e CPU Pool — 16 blades Proxmox cluster (576c/1152t)                │
└─────────────────────────────────────────────────────────────────────────┘
```

### Tabla maestra de servidores

| ID grafo | IP | Rol | Status | Notas |
|----------|-----|------|--------|-------|
| `srv-1` | .1 | Lab Router VyOS | active | VM 10003, ex-Mikrotik |
| `srv-92` | .92 | Web (este server) | active | Virtualmin + Apache + dominios |
| `srv-93` | .93 | PostgreSQL+Qdrant | active | VM 10093 |
| `srv-94` | .94 | GitLab | active | Repositorios |
| `srv-102` | .102 | TrueNAS 64TB | active | Ivania-R |
| `srv-139` | .139 | Proxmox host | active | Hypervisor primario |
| `srv-140` | .140 | GPU Primary | active | 8 GPUs A16 |
| `srv-141` | .141 | GPU Secondary | standby | A10G |
| `srv-207` | .207 | TrueNAS 48TB | active | roNAS-207 |
| `srv-m1000e` | n/a | CPU Pool | active | 16 blade Proxmox cluster |

---

## 2. Servicios (Layer aplicativo)

| ID | Servicio | Host | Puerto/URL |
|----|----------|------|-----------|
| `svc-apache` | Apache+PHP-FPM | .92 | 443 |
| `svc-virtualmin` | Virtualmin | .92 | 10000 |
| `svc-postgres` | PostgreSQL | .93 | 5432 |
| `svc-qdrant` | Qdrant | .93 | 6333 |
| `svc-n8n` | N8N | .93 | 5678 |
| `svc-gitlab` | GitLab CE | .94 | 443 |
| `svc-ollama` | Ollama | .140 | 11434 |
| `svc-comfyui` | ComfyUI (8 instancias) | .140 | 8188-8195 |
| `svc-openwebui` | Open WebUI | .140 | 8080 → https://llm.ocampo.ai |
| `svc-gpu-control` | GPU Control API | .140 | 8180 |
| `svc-imagina` | Imagina API | .92 | https://ocampo.ai/imagina/ |
| `svc-nexo` | NEXO Scrape API | .92 | https://ocampo.ai/nexo/api/ |
| `svc-cohorte-dashboard` | Cohorte Dashboard | .92 | https://ocampo.ai/cohorte/dashboard/ |
| `svc-mdbrowser` | MD Browser | .92 | https://ocampo.ai/cohorte/dashboard/mdbrowser.php |
| `svc-speedtest` | SpeedTest | .92 | https://speedtest.ocampo.ai |

### Cadenas de dependencia clave

- `svc-imagina` (.92) → **depends-on** → `svc-comfyui` (.140)
- `svc-openwebui` (.140) → **depends-on** → `svc-ollama` (.140)
- `dom-llm` → **routes-to** → `srv-92` → **reverse-proxy** → `.140:8080`

---

## 3. GPUs

| GPU | Host | Puerto ComfyUI | Modelo principal |
|-----|------|----------------|------------------|
| A16 #0 | .140 | 8188 | RealVisXL_V5.0 |
| A16 #1 | .140 | 8189 | RealVisXL_V5.0 |
| A16 #2 | .140 | 8190 | RealVisXL_V5.0 |
| A16 #3 | .140 | 8191 | RealVisXL_V5.0 |
| A16 #4 | .140 | 8192 | RealVisXL_V5.0 |
| A16 #5 | .140 | 8193 | RealVisXL_V5.0 |
| A16 #6 | .140 | 8194 | RealVisXL_V5.0 |
| A16 #7 | .140 | 8195 | RealVisXL_V5.0 |
| A10G | .141 | n/a | Standby |

---

## 4. Dominios (Layer Virtualmin)

Todos los dominios `routes-to` `srv-92` salvo notación contraria.

| Dominio | Unix user | Status |
|---------|-----------|--------|
| `ocampo.ai` | ocampo | active (principal) |
| `ivaniaphoto.com` | ivaniaphoto | active |
| `smartbin.ai` | smartbin | active |
| `gotofix.com` | gotofix | active |
| `robertoocampo.com` | robertoocampo | active |
| `alturadigital.us` | alturadigital | active |
| `webapp.quinceaneraexpos.com` | webapp | active |
| `llm.ocampo.ai` | ocampo | active (reverse-proxy → .140) |
| `speedtest.ocampo.ai` | ocampo | active |
| `mapa.ocampo.ai` | ocampo | **PROPOSED — NOT CREATED** (requiere aprobación Roberto) |
| `centralairsolution.com` | centralairsolution | pending |
| `shampaint.com` | shampaint | pending |
| `techsellerplus.com` | techsellerplus | pending |
| `wildfirepainting.com` | wildfirepainting | pending |

---

## 5. Agentes (44 activos)

### Orquestación (5)

| Agente | Status | Orquesta |
|--------|--------|---------|
| `project-manager` | active | web-development-workflow, nexo-lead-generation |
| `project-planner-agent` | active | Milestones, deadlines |
| `scheduling-agent` | active | Calendario, citas |
| `dashboard-updater` | active | Dashboard automático |
| `wills-sync-agent` | active | Sync entre sesiones |
| `infra-orchestrator` | active | autonomous-infrastructure-agents |
| `session-logger` | active (obligatorio) | session-continuity |

### Diseño (5)

aesthetic-style-consultant (obligatorio), ui-ux-designer, image-prompt-engineer, editorial-designer, expert-graphic-designer, ocampo-design-system.

### Investigación (7)

site-analyzer, market-analyst, competitor-research, security-auditor, financial-advisor, advanced-market-research (RETO), market-research-journalist, knowledge-extractor.

### Implementación (6)

software-architect (obligatorio antes de código), code-generator, imagina-ocampo-ai, demo-site-creator, web-cloner-enhancer, zai-multimedia-agent, web-to-print-converter.

### Infraestructura (15)

postgresql-unified, qdrant-unified, mem0-controller, n8n-controller, gitlab-expert, hardware-monitor, domain-onboarding-agent, file-permissions-agent (obligatorio post web changes), site-migration-agent, mikrotik-controller, backup-controller, bgmonitor-agent, virtualmin-user-manager, virtualmin-file-manager, proxmox-cluster-controller, fabric-rag, markitdown-agent (host .93), **graphify-controller** (PROPUESTO en esta sesión).

### Notificaciones (4)

romio-agent (unificado), sms-notification-agent, email-notification-agent, evolution-whatsapp-agent.

### Comercio/Photo (4)

photo-commerce-agent, print-fulfillment-agent, ai-photo-processing-agent, email-marketing-agent.

### Analytics (2)

matomo-analytics-agent, smartbin-analytics-agent (ambos just-created).

### Documentación + QA + Sales (4)

docs-agent, responsive-qa-agent (deprecated), web-validation-agent, sales-presenter.

---

## 6. Workflows (13 principales)

| Workflow | Owner agent |
|----------|-------------|
| web-development-workflow | project-manager |
| nexo-lead-generation-workflow | project-manager |
| cart-abandonment-workflow | photo-commerce-agent |
| gallery-delivery-workflow | ai-photo-processing-agent |
| gallery-expiration-workflow | ai-photo-processing-agent |
| inhouse-print-workflow | print-fulfillment-agent |
| ai-photo-processing-workflow | ai-photo-processing-agent |
| inpainting-v2 | imagina-ocampo-ai |
| autonomous-infrastructure-agents | infra-orchestrator |
| session-continuity | session-logger |
| imagina-webhooks | imagina-ocampo-ai |
| agridata-ingestion-workflow | knowledge-extractor |
| web-demo-unified | demo-site-creator |

---

## 7. Persistencia (Stack de memoria)

| Capa | Nombre | Host | Status |
|------|--------|------|--------|
| **L1** | `~/.claude/CLAUDE.md` + MEMORY.md (índice manual) | local-claude | active |
| **L2** | `feedback_*.md` (knowledge files) | local-claude | active |
| **L3** | mempalace (verbatim + KG temporal) | .140 | **PROPOSED** (research/mempalace) |
| **L4** | Mem0 + Qdrant (memoria semántica lab-wide) | .93 | active |

---

## 8. Proyectos

### Activos (7)

| Proyecto | Host | Notas |
|----------|------|-------|
| Imagina AI Generator | .92 + .140 | https://ocampo.ai/imagina/ |
| NEXO Lead Generation | .92 | API scrape |
| Cohorte Dashboard | .92 | https://ocampo.ai/cohorte/dashboard/ |
| Quinceañera Expos webapp | .92 | webapp.quinceaneraexpos.com |
| roMVP-Walks | .92 | https://ocampo.ai/roMVP/ |
| RoughCut-OI | M1000e | CV workers en blade pool |
| AGTools_DC | VM 12101 (.96) | MongoDB refactor en curso |

### Research-results (4 evaluaciones hermanas + este)

| Proyecto research | Veredicto | Rationale corta |
|-------------------|-----------|-----------------|
| **everything-claude-code (ECC)** | 🟡 ADOPCIÓN-PARCIAL | Ola 1: 4 commands + 5 skills + 1 hook + 1 MCP. NO instalar install.sh |
| **mempalace** | 🟢 IMPLEMENTAR-SECUNDARIO | Capa L3 verbatim+KG en .140 con Chroma. Convive con Mem0+Qdrant |
| **claude-mem** | ⚫ EQUIVALENTE-DESCARTADO | mempalace gana en arquitectura Python+Ollama; mismo nicho |
| **graphify (este)** | 🟡 PARCIAL | Mapa nativo entregado HOY. Upstream graphify condicional a Python 3.10+ y aprobación subdominio |

---

## 9. Edges destacadas (selección razonada)

```
.139 ─hosts→ .93, .140, .141, .1 (todas son VMs Proxmox)
.92  ─exposes→ apache, virtualmin, imagina, nexo, cohorte, mdbrowser, speedtest
.140 ─hosts→ A16#0..#7
.140 ─exposes→ ollama:11434, comfyui:8188-8195, openwebui:8080, gpu-control:8180

dom-ocampo-ai      ─routes-to→ .92
dom-mapa.ocampo.ai ─routes-to→ .92 (PROPOSED-MANUAL, sin aprobación)
dom-llm.ocampo.ai  ─routes-to→ .92 (reverse-proxy a .140:8080)

agt-mem0-controller       ─controls→     per-mem0
agt-mem0-controller       ─depends-on→   svc-qdrant, svc-ollama
agt-knowledge-extractor   ─generates-data-for→ per-mem0
agt-proxmox-cluster       ─controls→     srv-139, srv-m1000e
agt-virtualmin-*          ─controls→     svc-virtualmin
agt-file-permissions      ─controls→     srv-92 (644/755 enforcement)
agt-imagina               ─controls→     svc-imagina
agt-imagina               ─depends-on→   svc-comfyui

agt-romio ─depends-on→ agt-sms, agt-email, agt-evolution-wa (unificado)

svc-imagina    ─depends-on→  svc-comfyui  (jobs .92 → .140)
svc-openwebui  ─depends-on→  svc-ollama   (mismo host)

prj-mempalace ─planned-improvement-of→ per-mem0 (capa L3 nueva)
prj-graphify  ─implements→ agt-graphify-controller (este)
```

---

## 10. Política de actualización del mapa

| Trigger | Acción |
|---------|--------|
| Commit a `agents-map.md` | Re-generar via `graphify-controller refresh` |
| Commit a `Ocampo-Infra.md` Server Inventory | Re-generar |
| Nuevo dominio en `DOMAIN-REGISTRY.md` | Re-generar |
| Nuevo workflow `.md` | Añadir nodo workflow + edge `orchestrates` |
| Nuevo research project en `data/research/` | Añadir nodo project con veredicto |
| Cron `.92` diario 03:00 | Re-generar y comparar diff vs versión anterior |

---

## 11. Próximas iteraciones (v2 wishlist)

- [ ] Añadir edges `co-located-on` entre servicios que viven en el mismo VM (memory pressure)
- [ ] Añadir nodos `credential` linkeados (mapeo CREDENTIAL-MAP.md → cada servicio)
- [ ] Añadir capa `network` con WireGuard tunnels (S2S Home↔Studio, road-warrior)
- [ ] Añadir capa `external` (GoDaddy, VoIP.ms, Stripe Connect, Meta WhatsApp)
- [ ] Render HTML interactivo (cytoscape.js standalone o graphify upstream)
- [ ] Sub-grafos por proyecto (`mapa-imagina.md`, `mapa-quinceexpo.md`)

---

Roberto Ocampo
ro@ocampo.ai
https://ocampo.ai

*Ocampo-Infra Agent System — Mapa-Ocampo v1.0.0 — 2026-05-19*
