ckan-datos MVP lite — muestra mínima, base mínima
Fecha: 2026-09-09. Repo: ~/nef/ckan-datos/ (vacío, sin git). Modo: lite solamente, sin Docker.
Decisión
MVP = 2 datasets agregados estilo-CKAN en archivos (datapackage.json + data/*.csv), sin CKAN real.
logica-archivo-stats— 100% agregado, desecond-brain-twitter/reports/logica-2026-09-08.md: actividad_por_ano, dominios, hashtags, temas_por_era.like-clusters-tecnicos— desecond-brain-twitter/data/like-clusters.json:clusters.csv [cluster,n,term_1..term_9](64 filas) +muestras.csv [cluster,tweet_id,text_corto](máx 3 por cluster, solo top-10 = máx 30 filas).
Fuera del MVP: likes-desgranado-stats, grafo-inventario, units.json, docker-compose.
Regla muestra mínima
Máx 3 por cluster, trunc 280 chars, sin autor/fecha (el export no la trae).
Filtro: sin email/IP/teléfono/DMs/full_tweet/account_id, @handle fuera salvo agregado, t.co como [link].
muestras.csv es resource separado para poder borrarlo sin romper el dataset.
Estructura MVP
README.md / .gitignore / organizaciones.md
datasets/logica-archivo-stats/datapackage.json + data/*.csv
datasets/like-clusters-tecnicos/datapackage.json + data/clusters.csv + data/muestras.csv
scripts/export_logica.py / export_clusters.py / validar.py (read-only, nunca escriben a second-brain)
tests/test_no_pii.py
datapackage mínimo: name, title, notes+limitaciones, license CC0-1.0, tags, extras {script, built_at, working_records}.
Done
validar.py + unittest verdes, grep PII en datasets/ = 0, cero escrituras a second-brain/second-brain-twitter.
Estado (2026-09-09, implementado)
2 datapackages, 6 CSVs: logica (18+25+8+7 filas), clusters (64 + 30 muestras top-10x3). Repo con git init, sin commitear aún.
Siguiente
git init → piloto 1 → piloto 2 + redacción → validación.