Vault: /root/wiki/
Última actualización: 2026-05-01
Responsable: Jokin (con asistencia Hermes)
1. [Estado actual](#estado-actual)
2. [Procedimientos diarios](#procedimientos-diarios)
3. [Procedimientos semanales](#procedimientos-semanales)
4. [Solución de problemas](#solución-de-problemas)
5. [Recuperación](#recuperación)
| Componente | Estado | Última acción |
|------------|--------|---------------|
| Obsidian LiveSync | ✅ Activo | 2026-05-01 |
| CouchDB | ✅ Corriendo (Docker) | 2026-05-01 |
| Google Drive Sync | ⏳ Pendiente autorización | — |
| Frontmatter YAML | ✅ 100% (100/100) | 2026-05-01 |
| Enlaces wiki | ✅ ≥2 por página (excepto logs) | 2026-05-01 |
| Automatización | ✅ Cronjobs instalados | 2026-05-01 |
0 6 * /usr/local/bin/drive-sync/var/log/drive-sync.log
tail -f /var/log/drive-sync.log
0 8 * /usr/local/bin/vault-lint.sh/var/log/vault-lint.log
vault-lint.sh # ejecutar manualmente
sources/ pendientesLos archivos en raw/ que se descargan de Drive se convierten automáticamente a sources/. Sin embargo, algunos documentos pueden requerir:
tags: en frontmatter con taxonomía adecuada (ver SCHEMA.md).index.md: nuevas fuentes deben aparecer en la sección correcta.Checklist semanal:
sources/ nuevos (últimos 7 días)decreto, reglamento, procedimiento, convenio, planificacion + ámbito (laboral, organizativo, academico, normativo)index.md si falta entradaNOTAS-DESARROLLO.md cualquier ambigüedad detectadaLos backups automáticos no están configurados aún. Recomendado:
#manual weekly
tar -czf /root/backups/wiki-$(date +%Y%m%d).tar.gz /root/wiki
Considerar script de backup remoto (ej. a Drive o S3).
invalid_scopeCausa: El token OAuth actual no incluye el scope de Drive.
Solución:
1. Ejecutar drive-sync manualmente para ver error.
2. Generar nueva URL de autorización:
python3 /usr/local/bin/authorize-drive.py # (script a crear) o pedir a Hermes que la genere
3. Abrir URL en navegador, autorizar, copiar código.
4. Ejecutar:
python3 /usr/local/bin/exchange-code.py
5. Verificar: /root/google_credentials.json ahora tiene "scope": ["...","drive"].
Checks:
docker ps | grep couchdbcurl http://localhost:5984/_utils/wiki existe: curl http://admin:WikiSync2026!@localhost:5984/_all_dbslocalhost)Causa: El script de ingesta no ejecutó fix-frontmatter.py.
Solución:
/root/.hermes/hermes-agent/venv/bin/python3 /usr/local/bin/fix-frontmatter.py
git add -A && git commit -m "fix: frontmatter"
Diagnóstico:
python3 -c "
import re, pathlib
vault = pathlib.Path('/root/wiki')
all_files = set(p.stem for p in vault.rglob('*.md'))
broken = []
for f in vault.rglob('*.md'):
for m in re.findall(r'\[\[([^\]|]+)', f.read_text(errors='ignore')):
if m not in all_files:
broken.append((str(f), m))
for b in broken: print(b)
"
Acción: Corregir manualmente el enlace o crear el archivo destino.
Detener servicios (CouchDB, Obsidian)
systemctl stop ... # o docker compose down en /opt/couchdb
Restaurar
tar -xzf /root/backups/wiki-YYYYMMDD.tar.gz -C /
Restaurar CouchDB si es necesario: copiar shards a /opt/couchdb/data/
Reiniciar CouchDB
docker start couchdb-obsidian
Si el vault local está corrupto:
1. Cerrar Obsidian.
2. Borrar ~/.config/obsidian/plugins/self-hosted-livesync/ (o /.obsidian/plugins/obsidian-livesync/ en el vault).
3. Re-abrir vault y reconfigurar conexión (ver skill obsidian-livesync-couchdb-setup).
/Hermes en Telegram./root/wiki/log.md/var/log/vault-lint.log, /var/log/drive-sync.log