Infraestructura Cloud-Native & Ingeniería de Software
DARKDEN
Construyendo sistemas de producción en Kubernetes. De la forja de los dioses al borde de la nube.
01—
Proyectos
Hefesto
Ἥφαιστος — God of the Forge
Plataforma que orquesta equipos de agentes de IA persistentes sobre un tablero Kanban, con un pod Python por rol (LangGraph y protocolo A2A), RAG en Qdrant, modelos Ollama y sandbox Kubernetes.
.NET 10PythonLangGraphNext.js 16KubernetesQdrant
Nekopitsu
猫 — Neko, the Cat
Bot público de Discord multi-tenant para comunidades anime con moderación por IA en niveles, personalidad configurable por servidor, cuotas freemium y alta disponibilidad activo/pasivo.
.NETDiscord APIOllamaNext.js 16PostgreSQLKubernetes
Hermes
Ἑρμῆς — Messenger of the Gods
Clasificador de tickets de helpdesk sobre 8 microservicios .NET 10 y Kafka: lee buzones, filtra el ruido, clasifica con RAG contra la documentación del cliente y escala por SLA antes de incumplirlo.
.NET 10KafkaQdrantBlazor ServerPostgreSQLAzure APIM
Aletheia
Ἀλήθεια — Spirit of Truth
Plataforma dirigida por eventos sobre 13 microservicios .NET 10 y Kafka que ingiere, enriquece y clasifica alertas con LLMs, con grafo de inventario propio y centro de mando Next.js con vista inmersiva WebXR.
.NET 10KafkaQdrantNext.jsWebXRSignalR
02—
Blog
Notas de campo desde producción. Inmersiones profundas en Kubernetes, depuración de service mesh, infraestructura cloud-native, y la búsqueda de flujos de desarrollo completamente autónomos.
Último Post
Audita tu Propio Código Como Si Fueras el Atacante
Revisar tu código buscando confirmación de que está bien encuentra erratas, no fallos de diseño. La revisión adversarial invierte el objetivo: asume que el código está roto y trata de demostrarlo. Lentes múltiples, verificación independiente y por qué 'cero críticos' no es seguridad.
browser --httpOnly cookie--> BFF proxy
BFF --Bearer (server-side)--> API
refresh.onError(401).singleFlight()
oidc.callback: code -> cookies (no token in URL)
El JWT No Debería Tocar el Navegador: el Patrón BFF
Guardar el token de acceso en localStorage es regalárselo al primer XSS. El patrón Backend-for-Frontend mantiene el JWT en el servidor y solo deja en el navegador una cookie httpOnly que el JavaScript no puede leer. Cómo funciona, paso a paso.
loop.detect(identical | alternating | target-repeat)
monitor.heartbeat(turn) => stale ? kill : continue
gate.require(toolCalls > 0) else FAILED
retry.classify(error) => retry | escalate | abort
Los 4 Modos de Fallo de los Agentes de IA en Producción (y Cómo Mitigarlos)
Dejas un loop de agentes corriendo sin supervisión y la factura de tokens y el estado corrupto llegan solos. Los cuatro fallos que se repiten en todo sistema agéntico —loops, turnos colgados, turnos sin acción y errores mal clasificados— y los patrones de ingeniería para contenerlos.
task.state: ToDo -> InProgress -> InReview -> Done
review.gate(QA) && review.gate(Security)
transition.allow(Done) iff gates.passed && merged
else escalate(lead) -> escalate(human)
Gobernar Agentes de IA: Por Qué 'Hecho' Tiene que Ganárselo
Un agente autónomo que aprueba su propio trabajo no es autonomía, es una bomba de relojería. Cómo gobernar equipos de agentes con separación de funciones, puertas de revisión independientes y un invariante de 'hecho' que nadie se puede saltar.