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.

  1. logica-archivo-stats — 100% agregado, de second-brain-twitter/reports/logica-2026-09-08.md: actividad_por_ano, dominios, hashtags, temas_por_era.
  2. like-clusters-tecnicos — de second-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.