Diagnóstico de puruto-data
このコンテンツはまだ日本語訳がありません。
Qué cubre esta página
- Flujo de diagnóstico de
puruto-data - Checks de estructura (
registry.json,shared/) - Validación de
registry.jsony carpetas registradas - Reparación básica alineada con la skill
/init - Compatibilidad con discovery de
puruto-gateway
Alcance
Fuente de verdad:
- templates
data/*.tpldel generador (especialmenteregistry.json.tpl) - skills scaffold
init,register,statusdepuruto-data
Principio de diagnóstico
En puruto-data, separa estos problemas:
- Estructura base rota (
registry.json,shared/) - Registro inconsistente (entries sin carpeta o carpetas sin entry)
- Integración de ecosistema (
PURUTO_DATA_PATH, discovery del gateway)
Paso 1. Validar estructura del repo
python3 /Users/pepetox/Documents/01-code/puruto/.claude/skills/validate/scripts/validate.py /ruta/a/puruto-data --jsonRevisa:
kind = "puruto-data"errors = 0
Paso 2. Revisar estructura mínima esperada
El scaffold base espera, como mínimo:
registry.jsonshared/.gitkeep- skill
.claude/skills/register/SKILL.md
Comprobación rápida:
ls -lals -la sharedPaso 3. Validar registry.json (JSON y contrato mínimo)
El scaffold genera este root:
{ "version": "1", "purutos": []}Chequeo rápido de parseo:
python3 - <<'PY'import jsonfrom pathlib import Path
p = Path("registry.json")data = json.loads(p.read_text(encoding="utf-8"))print("version:", data.get("version"))print("purutos:", len(data.get("purutos", [])))PYSi falla este paso:
- JSON inválido
- fichero ausente
- root inesperado
Paso 4. Verificar consistencia registro ↔ carpetas
La skill /register crea:
- entry en
registry.json(name,folder,registered_at) - carpeta
<nombre>/con.gitkeep
Check recomendado:
python3 - <<'PY'import jsonfrom pathlib import Path
reg = json.loads(Path("registry.json").read_text(encoding="utf-8"))rows = reg.get("purutos", [])for item in rows: folder = item.get("folder") name = item.get("name") exists = Path(folder).exists() if folder else False print(f"{name}: folder={folder!r} exists={exists}")PYPaso 5. Usar el check de status del scaffold
La skill /status del scaffold:
- cuenta Purutos registrados
- cuenta ficheros por carpeta registrada
- revisa
shared/
Puedes reproducirlo:
python3 -c "import jsonfrom pathlib import Path
reg = json.loads(Path('registry.json').read_text())purutos = reg['purutos']print('── puruto-data status ──')print(f' Purutos registrados: {len(purutos)}')for p in purutos: folder = Path(p['folder']) files = list(folder.rglob('*')) if folder.exists() else [] print(f\" · {p['name']} — {len(files)} ficheros\")shared = list(Path('shared').rglob('*')) if Path('shared').exists() else []print(f' · shared — {len(shared)} ficheros')"Paso 6. Reparación básica (alineada con /init)
Si falta estructura base, la skill /init hace:
mkdir -p shared- crear
registry.jsonsi no existe con{"version":"1","purutos":[]}
Reparación mínima manual:
mkdir -p shared
python3 - <<'PY'import jsonfrom pathlib import Path
reg = Path("registry.json")if not reg.exists(): reg.write_text(json.dumps({"version": "1", "purutos": []}, indent=2, ensure_ascii=False), encoding="utf-8") print("OK: registry.json creado")else: print("OK: registry.json ya existe (no modificado)")PYPaso 7. Repair de entradas (cuando hay desalineación)
Casos típicos:
- entry en
registry.jsonsin carpeta - carpeta de Puruto sin entry
Recomendación:
- Haz copia de seguridad de
registry.json - Corrige primero el registro (JSON válido)
- Reejecuta
/registerpara recrear la carpeta/entry si procede - Revalida con
status+validate.py
Backup rápido:
cp registry.json "registry.json.bak.$(date +%Y%m%d-%H%M%S)"Integración con puruto-gateway
Si puruto-gateway usa PURUTO_DATA_PATH, puede descubrir desde registry.json.
Síntomas comunes:
- gateway descubre
0Purutos - gateway muestra
path: null
Revisa:
PURUTO_DATA_PATHapunta al repo correctoregistry.jsonparseapurutos[]tiene entradas
Referencia:
Checklist de diagnóstico rápido
validate.pydel repopuruto-data✅registry.jsonparsea ✅shared/existe ✅- entries
purutos[]tienenname/foldercoherentes ✅ statusmuestra conteos razonables ✅
Referencias relacionadas
Última verificación
Runbook contrastado con data/init.SKILL.md.tpl, data/register.SKILL.md.tpl, data/status.SKILL.md.tpl y registry.json.tpl del generador el 25 de febrero de 2026.