{ "version": 2, "generated_at": "2026-08-27T07:20:28Z", "source_sha256": "3b845d6aef09eadc3c336ab6c4bb170e461c213ddb59920be6f39ae46b37b0f9", "stats": { "active_admins": 1, "pending_reviews": 7, "open_tasks": 1, "active_projects": 1 }, "review_queue": [ { "entry_id": "MEM-20260825-EED6F1", "title": "Extender el correo saliente de notificaciones a git.mcps-epcm.org (Gitea)", "description": "Continuación de MEM-20260824-254312: se agregó la misma cuenta dedicada notificaciones@mcps-epcm.org como remitente SMTP de Gitea, que no tenía sección [mailer] configurada en absoluto (recuperación de contraseña también era imposible ahí).", "date": "2026-08-25T01:01:15Z", "author_id": "gen", "risk": "medium", "tags": [ "correo", "docker-mailserver", "gitea", "smtp" ], "systems": [ "gitea", "mail-server", "mcps-hpc-01", "mcps-vpn-server" ], "permalink": "/memorias/mem-20260825-eed6f1-extender-el-correo-saliente-de-notificaciones-a-git-mcps-epcm-org-gitea/", "content_sha256": "69f1610c2d9004fd7a0948af970a12c98178d701231461e2d18c2219c9cb13aa", "reviewed_by": [], "missing_reviewers": [ "gen" ], "required_count": 1, "reviewed_count": 0 }, { "entry_id": "MEM-20260824-254312", "title": "Configurar correo saliente para recuperación de contraseña en Zammad y Grafana", "description": "Zammad tenía la credencial SMTP de salida desincronizada del buzón real (los resets de contraseña fallaban silenciosamente); Grafana no tenía SMTP configurado en absoluto. Se creó una cuenta dedicada de solo-salida y se configuró en ambos servicios, sin tocar el buzón soporte@ que Zammad usa para recibir tickets.", "date": "2026-08-24T20:49:04Z", "author_id": "gen", "risk": "medium", "tags": [ "correo", "docker-mailserver", "grafana", "smtp", "zammad" ], "systems": [ "grafana", "mail-server", "mcps-hpc-01", "mcps-vpn-server", "zammad" ], "permalink": "/memorias/mem-20260824-254312-configurar-correo-saliente-para-recuperacion-de-contrasena-en-zammad-y-grafana/", "content_sha256": "afdbe017e912bc7c5926ad5a66b9e79e055099c1eb564f72d6d6258698d5fcc9", "reviewed_by": [], "missing_reviewers": [ "gen" ], "required_count": 1, "reviewed_count": 0 }, { "entry_id": "MEM-20260824-C5E50A", "title": "Reparar mon.mcps-hpc-01 en crash-loop y 2 PGs inconsistentes nuevas en Ceph", "description": "El mon del login node (mcps-hpc-01) llevaba ~16h en crash-loop por corrupción de su store RocksDB local; se sacó del monmap y cephadm lo redesplegó con store fresco. En paralelo aparecieron 2 PGs nuevas inconsistentes (HEALTH_ERR), diagnosticadas y reparadas sin ambigüedad.", "date": "2026-08-24T20:49:00Z", "author_id": "gen", "risk": "high", "tags": [ "almacenamiento", "ceph", "mon", "salud-cluster" ], "systems": [ "ceph", "mcps-hpc-01" ], "permalink": "/memorias/mem-20260824-c5e50a-reparar-mon-mcps-hpc-01-en-crash-loop-y-2-pgs-inconsistentes-nuevas-en-ceph/", "content_sha256": "e3ca2349c7ebbfc769db94409776e82677c818d10de0124881a2b1d1f4f96233", "reviewed_by": [], "missing_reviewers": [ "gen" ], "required_count": 1, "reviewed_count": 0 }, { "entry_id": "MEM-20260820-4D10C2", "title": "Reparar 2 PGs inconsistentes nuevas en Ceph (HEALTH_ERR, mcps-hpc-01)", "description": "Diagnóstico y repair de pg 3.80 y pg 3.17b; confirmado que pg 3.ec (memoria del 2026-08-17) quedó sana. osd.13 tuvo un segundo read_error en pocos días; no se pudo revisar el disco de osd.11 por falta de acceso a MCPS-HPC05. El backlog de deep-scrub atrasado no se tocó.", "date": "2026-08-20T07:05:46Z", "author_id": "gen", "risk": "high", "tags": [ "almacenamiento", "ceph", "salud-cluster" ], "systems": [ "ceph", "mcps-hpc-01" ], "permalink": "/memorias/mem-20260820-4d10c2-reparar-2-pgs-inconsistentes-nuevas-en-ceph-health-err-mcps-hpc-01/", "content_sha256": "6e6e4529c8e0a9cb8447748ba89da1bafe3383f5e192f18f927b3ee546d0efb7", "reviewed_by": [], "missing_reviewers": [ "gen" ], "required_count": 1, "reviewed_count": 0 }, { "entry_id": "MEM-20260819-51DEA9", "title": "Corregir despliegue de clusterlog en Caddy y dar persistencia al runner de Gitea Actions", "description": "Bloque de Caddy faltante para clusterlog.mcps-epcm.org agregado; runner nativo de Gitea Actions pasado de proceso manual a systemd.", "date": "2026-08-19T18:56:10Z", "author_id": "gen", "risk": "medium", "tags": [ "caddy", "clusterlog", "gitea-actions", "systemd" ], "systems": [ "caddy", "gitea-runner", "mcps-hpc-01" ], "permalink": "/memorias/mem-20260819-51dea9-corregir-despliegue-de-clusterlog-en-caddy-y-dar-persistencia-al-runner-de-gitea-actions/", "content_sha256": "21e603dbed0706b5438365fae7ede5f84302a12ac1360edc3a417f2bef51eff6", "reviewed_by": [], "missing_reviewers": [ "gen" ], "required_count": 1, "reviewed_count": 0 }, { "entry_id": "MEM-20260819-6EA868", "title": "Reparar PG dañado (HEALTH_ERR) en el clúster Ceph de mcps-hpc-01", "description": "Diagnóstico y reparación de un PG_DAMAGED real (pg 3.ec) en el clúster cephadm de producción; 407 pgs sin deep-scrub a tiempo se documentan como trade-off, no como bug, y no se tocaron.", "date": "2026-08-19T18:56:05Z", "author_id": "gen", "risk": "high", "tags": [ "almacenamiento", "ceph", "salud-cluster" ], "systems": [ "ceph", "mcps-hpc-01" ], "permalink": "/memorias/mem-20260819-6ea868-reparar-pg-danado-health-err-en-el-cluster-ceph-de-mcps-hpc-01/", "content_sha256": "ec3bf36fe97a386b876ecd332b26ce55dae983e7e0989a8ff154d1e82243b5d5", "reviewed_by": [], "missing_reviewers": [ "gen" ], "required_count": 1, "reviewed_count": 0 }, { "entry_id": "MEM-20260819-727073", "title": "Limpiar backlog de ruido en tickets 'new' de Zammad", "description": "Depuración por SQL directo del backlog new del grupo de soporte MCPS: 329 tickets de rebotes/pruebas cerrados, 12 tickets reales conservados sin tocar.", "date": "2026-08-19T18:56:01Z", "author_id": "gen", "risk": "medium", "tags": [ "limpieza", "soporte", "zammad" ], "systems": [ "zammad" ], "permalink": "/memorias/mem-20260819-727073-limpiar-backlog-de-ruido-en-tickets-new-de-zammad/", "content_sha256": "642a33d4d5af8f99821ee817b4007ad11aec3b29767647cb1f5ec9d3788791ae", "reviewed_by": [], "missing_reviewers": [ "gen" ], "required_count": 1, "reviewed_count": 0 } ], "recent_memories": [ { "entry_id": "MEM-20260825-EED6F1", "title": "Extender el correo saliente de notificaciones a git.mcps-epcm.org (Gitea)", "description": "Continuación de MEM-20260824-254312: se agregó la misma cuenta dedicada notificaciones@mcps-epcm.org como remitente SMTP de Gitea, que no tenía sección [mailer] configurada en absoluto (recuperación de contraseña también era imposible ahí).", "date": "2026-08-25T01:01:15Z", "author_id": "gen", "author_fingerprint": "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg", "risk": "medium", "review_required": true, "review_policy": "all-active", "reviewer_snapshot": true, "reviewers": [ "gen" ], "tags": [ "correo", "docker-mailserver", "gitea", "smtp" ], "systems": [ "gitea", "mail-server", "mcps-hpc-01", "mcps-vpn-server" ], "slug": "mem-20260825-eed6f1-extender-el-correo-saliente-de-notificaciones-a-git-mcps-epcm-org-gitea", "permalink": "/memorias/mem-20260825-eed6f1-extender-el-correo-saliente-de-notificaciones-a-git-mcps-epcm-org-gitea/", "source_path": "content/memorias/2026-08-25-mem-20260825-eed6f1-extender-el-correo-saliente-de-notificaciones-a-git-mcps-epcm-org-gitea.md", "content_sha256": "69f1610c2d9004fd7a0948af970a12c98178d701231461e2d18c2219c9cb13aa" }, { "entry_id": "MEM-20260824-254312", "title": "Configurar correo saliente para recuperación de contraseña en Zammad y Grafana", "description": "Zammad tenía la credencial SMTP de salida desincronizada del buzón real (los resets de contraseña fallaban silenciosamente); Grafana no tenía SMTP configurado en absoluto. Se creó una cuenta dedicada de solo-salida y se configuró en ambos servicios, sin tocar el buzón soporte@ que Zammad usa para recibir tickets.", "date": "2026-08-24T20:49:04Z", "author_id": "gen", "author_fingerprint": "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg", "risk": "medium", "review_required": true, "review_policy": "all-active", "reviewer_snapshot": true, "reviewers": [ "gen" ], "tags": [ "correo", "docker-mailserver", "grafana", "smtp", "zammad" ], "systems": [ "grafana", "mail-server", "mcps-hpc-01", "mcps-vpn-server", "zammad" ], "slug": "mem-20260824-254312-configurar-correo-saliente-para-recuperacion-de-contrasena-en-zammad-y-grafana", "permalink": "/memorias/mem-20260824-254312-configurar-correo-saliente-para-recuperacion-de-contrasena-en-zammad-y-grafana/", "source_path": "content/memorias/2026-08-24-mem-20260824-254312-configurar-correo-saliente-para-recuperacion-de-contrasena-en-zammad-y-grafana.md", "content_sha256": "afdbe017e912bc7c5926ad5a66b9e79e055099c1eb564f72d6d6258698d5fcc9" }, { "entry_id": "MEM-20260824-C5E50A", "title": "Reparar mon.mcps-hpc-01 en crash-loop y 2 PGs inconsistentes nuevas en Ceph", "description": "El mon del login node (mcps-hpc-01) llevaba ~16h en crash-loop por corrupción de su store RocksDB local; se sacó del monmap y cephadm lo redesplegó con store fresco. En paralelo aparecieron 2 PGs nuevas inconsistentes (HEALTH_ERR), diagnosticadas y reparadas sin ambigüedad.", "date": "2026-08-24T20:49:00Z", "author_id": "gen", "author_fingerprint": "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg", "risk": "high", "review_required": true, "review_policy": "all-active", "reviewer_snapshot": true, "reviewers": [ "gen" ], "tags": [ "almacenamiento", "ceph", "mon", "salud-cluster" ], "systems": [ "ceph", "mcps-hpc-01" ], "slug": "mem-20260824-c5e50a-reparar-mon-mcps-hpc-01-en-crash-loop-y-2-pgs-inconsistentes-nuevas-en-ceph", "permalink": "/memorias/mem-20260824-c5e50a-reparar-mon-mcps-hpc-01-en-crash-loop-y-2-pgs-inconsistentes-nuevas-en-ceph/", "source_path": "content/memorias/2026-08-24-mem-20260824-c5e50a-reparar-mon-mcps-hpc-01-en-crash-loop-y-2-pgs-inconsistentes-nuevas-en-ceph.md", "content_sha256": "e3ca2349c7ebbfc769db94409776e82677c818d10de0124881a2b1d1f4f96233" }, { "entry_id": "MEM-20260820-4D10C2", "title": "Reparar 2 PGs inconsistentes nuevas en Ceph (HEALTH_ERR, mcps-hpc-01)", "description": "Diagnóstico y repair de pg 3.80 y pg 3.17b; confirmado que pg 3.ec (memoria del 2026-08-17) quedó sana. osd.13 tuvo un segundo read_error en pocos días; no se pudo revisar el disco de osd.11 por falta de acceso a MCPS-HPC05. El backlog de deep-scrub atrasado no se tocó.", "date": "2026-08-20T07:05:46Z", "author_id": "gen", "author_fingerprint": "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg", "risk": "high", "review_required": true, "review_policy": "all-active", "reviewer_snapshot": true, "reviewers": [ "gen" ], "tags": [ "almacenamiento", "ceph", "salud-cluster" ], "systems": [ "ceph", "mcps-hpc-01" ], "slug": "mem-20260820-4d10c2-reparar-2-pgs-inconsistentes-nuevas-en-ceph-health-err-mcps-hpc-01", "permalink": "/memorias/mem-20260820-4d10c2-reparar-2-pgs-inconsistentes-nuevas-en-ceph-health-err-mcps-hpc-01/", "source_path": "content/memorias/2026-08-20-mem-20260820-4d10c2-reparar-2-pgs-inconsistentes-nuevas-en-ceph-health-err-mcps-hpc-01.md", "content_sha256": "6e6e4529c8e0a9cb8447748ba89da1bafe3383f5e192f18f927b3ee546d0efb7" }, { "entry_id": "MEM-20260819-51DEA9", "title": "Corregir despliegue de clusterlog en Caddy y dar persistencia al runner de Gitea Actions", "description": "Bloque de Caddy faltante para clusterlog.mcps-epcm.org agregado; runner nativo de Gitea Actions pasado de proceso manual a systemd.", "date": "2026-08-19T18:56:10Z", "author_id": "gen", "author_fingerprint": "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg", "risk": "medium", "review_required": true, "review_policy": "all-active", "reviewer_snapshot": true, "reviewers": [ "gen" ], "tags": [ "caddy", "clusterlog", "gitea-actions", "systemd" ], "systems": [ "caddy", "gitea-runner", "mcps-hpc-01" ], "slug": "mem-20260819-51dea9-corregir-despliegue-de-clusterlog-en-caddy-y-dar-persistencia-al-runner-de-gitea-actions", "permalink": "/memorias/mem-20260819-51dea9-corregir-despliegue-de-clusterlog-en-caddy-y-dar-persistencia-al-runner-de-gitea-actions/", "source_path": "content/memorias/2026-08-19-mem-20260819-51dea9-corregir-despliegue-de-clusterlog-en-caddy-y-dar-persistencia-al-runner-de-gitea-actions.md", "content_sha256": "21e603dbed0706b5438365fae7ede5f84302a12ac1360edc3a417f2bef51eff6" }, { "entry_id": "MEM-20260819-6EA868", "title": "Reparar PG dañado (HEALTH_ERR) en el clúster Ceph de mcps-hpc-01", "description": "Diagnóstico y reparación de un PG_DAMAGED real (pg 3.ec) en el clúster cephadm de producción; 407 pgs sin deep-scrub a tiempo se documentan como trade-off, no como bug, y no se tocaron.", "date": "2026-08-19T18:56:05Z", "author_id": "gen", "author_fingerprint": "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg", "risk": "high", "review_required": true, "review_policy": "all-active", "reviewer_snapshot": true, "reviewers": [ "gen" ], "tags": [ "almacenamiento", "ceph", "salud-cluster" ], "systems": [ "ceph", "mcps-hpc-01" ], "slug": "mem-20260819-6ea868-reparar-pg-danado-health-err-en-el-cluster-ceph-de-mcps-hpc-01", "permalink": "/memorias/mem-20260819-6ea868-reparar-pg-danado-health-err-en-el-cluster-ceph-de-mcps-hpc-01/", "source_path": "content/memorias/2026-08-19-mem-20260819-6ea868-reparar-pg-danado-health-err-en-el-cluster-ceph-de-mcps-hpc-01.md", "content_sha256": "ec3bf36fe97a386b876ecd332b26ce55dae983e7e0989a8ff154d1e82243b5d5" }, { "entry_id": "MEM-20260819-727073", "title": "Limpiar backlog de ruido en tickets 'new' de Zammad", "description": "Depuración por SQL directo del backlog new del grupo de soporte MCPS: 329 tickets de rebotes/pruebas cerrados, 12 tickets reales conservados sin tocar.", "date": "2026-08-19T18:56:01Z", "author_id": "gen", "author_fingerprint": "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg", "risk": "medium", "review_required": true, "review_policy": "all-active", "reviewer_snapshot": true, "reviewers": [ "gen" ], "tags": [ "limpieza", "soporte", "zammad" ], "systems": [ "zammad" ], "slug": "mem-20260819-727073-limpiar-backlog-de-ruido-en-tickets-new-de-zammad", "permalink": "/memorias/mem-20260819-727073-limpiar-backlog-de-ruido-en-tickets-new-de-zammad/", "source_path": "content/memorias/2026-08-19-mem-20260819-727073-limpiar-backlog-de-ruido-en-tickets-new-de-zammad.md", "content_sha256": "642a33d4d5af8f99821ee817b4007ad11aec3b29767647cb1f5ec9d3788791ae" }, { "entry_id": "MEM-20260819-C255FF", "title": "Desplegar Uptime Kuma como monitoreo central (health.mcps-epcm.org)", "description": "Contenedor Uptime Kuma en mcps-hpc-01 con 22 monitores en 3 grupos; gotcha de systemd Type=notify que causaba reinicio en loop.", "date": "2026-08-19T18:55:56Z", "author_id": "gen", "author_fingerprint": "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg", "risk": "low", "review_required": true, "review_policy": "all-active", "reviewer_snapshot": true, "reviewers": [ "gen" ], "tags": [ "monitoreo", "systemd", "uptime-kuma" ], "systems": [ "mcps-hpc-01", "uptime-kuma" ], "slug": "mem-20260819-c255ff-desplegar-uptime-kuma-como-monitoreo-central-health-mcps-epcm-org", "permalink": "/memorias/mem-20260819-c255ff-desplegar-uptime-kuma-como-monitoreo-central-health-mcps-epcm-org/", "source_path": "content/memorias/2026-08-19-mem-20260819-c255ff-desplegar-uptime-kuma-como-monitoreo-central-health-mcps-epcm-org.md", "content_sha256": "a74e4f1493843970c55c3197fb2e5266c8b04cf631e7fd187890051a0f076686" }, { "entry_id": "MEM-DEMO-001", "title": "Inicializar la estructura de la bitácora", "description": "Ejemplo de memoria no operativa que explica el formato esperado.", "date": "2026-08-12T00:00:00Z", "author_id": "sistema", "author_fingerprint": "", "risk": "low", "review_required": false, "review_policy": "all-active", "reviewer_snapshot": false, "reviewers": [], "tags": [ "ejemplo", "inicio" ], "systems": [ "bitacora" ], "slug": "ejemplo-inicial", "permalink": "/memorias/ejemplo-inicial/", "source_path": "content/memorias/ejemplo-inicial.md", "content_sha256": "46b9387e70d9d9522bb59e1db42a21b4c523f22d50e0d33917a4f2d72ecc7c42" } ], "tasks": [ { "task_id": "TSK-DEMO-001", "title": "Registrar al equipo inicial", "description": "Tarea demostrativa vinculada al proyecto de adopción.", "status": "todo", "priority": "high", "project_id": "PRJ-DEMO-001", "assignees": [], "estimate_minutes": 30, "actual_minutes": 0, "due": "2026-08-31", "running_by": [], "slug": "registrar-equipo-inicial", "permalink": "/tareas/registrar-equipo-inicial/", "source_path": "content/tareas/tarea-ejemplo.md" } ], "projects": [ { "project_id": "PRJ-DEMO-001", "title": "Adopción de la bitácora operativa", "description": "Proyecto demostrativo para desplegar el flujo de documentación y revisión.", "status": "planned", "owners": [], "target_date": "2026-09-30", "slug": "adopcion-bitacora", "permalink": "/proyectos/adopcion-bitacora/", "source_path": "content/proyectos/proyecto-ejemplo.md" } ] }