Cargando…
Cargando…
Universo de proyectos de ley leído del web service del Congreso, con la metadata de cada boletín: su origen, su estado, su urgencia, su último trámite y el tema con que Tuwün lo clasifica.
Tuwün (2026). Boletines legislativos en tramitación, v5. Conjunto de datos.
https://twun.cl/archivo/datos/congreso-boletines/v5 — sha256 ecfa050a…
El texto de arriba muestra el sha256 truncado; el botón copia el hash completo de 64 caracteres.
Descripción vigente del dataset, tal como lo declara el catálogo hoy. Lo que publicó v5 lo acredita su propio snapshot: sus archivos, sus filas y su cobertura están más abajo, en «Cobertura y volumen».
| Recurso | Archivo | Cobertura | Filas |
|---|---|---|---|
| boletines | boletines.csv | 2022–2026Medido sobre las filas con fecha: 3 filas quedan fuera del rango por no traer ninguna. | 3.439 |
Cobertura medida sobre las filas publicadas en v5. El total de la versión es 3.439 filas, con cobertura 2022–2026.
Cada versión publicada es inmutable: el bucket de almacenamiento no permite sobrescribir ni borrar un snapshot ya citado. Toda versión queda descargable, con su fecha y su checksum.
Un sha256 por archivo, además del sha256 del ZIP completo que aparece en la cita. Verificarlos reproduce exactamente los bytes citados.
| Archivo | Tamaño | sha256 |
|---|---|---|
| congreso-boletines-v5.zip | 321 KB | ecfa050ac99214f24fccf0bc56b71c13f0d2317abc4d4c756e333e233872b102 |
| boletines.csv | 1,7 MB | fb3bc476b436f17e34238896276459181f78b1a0412fea39241d297f91a5193a |
| datapackage.json | — | f5fe58c2b7a264840af20637a53b36e6987daaaa6a0a4646191ccd07a9ce52a2 |
Fuentes que el catálogo declara hoy. Las que se atribuyeron a v5 al publicarla viajan en el datapackage.json de su ZIP.
v5 se publicó bajo CC-BY-4.0, que es la licencia que registró esa versión y la que rige para sus archivos. El catálogo declara hoy CC BY 4.0, así que el enlace al texto de la licencia del catálogo no corresponde a esta versión.
La semántica de cada columna la escribe el diccionario de datos que valida el catálogo. Es la descripción vigente del dataset: el snapshot de v5 acredita sus archivos y sus cifras, no el esquema con que se publicaron. El esquema exacto de esa versión viaja en el datapackage.json de su ZIP. Despliega cada recurso para ver sus columnas.
Una fila por boletín, identificada por su número. La fila es el estado de la ÚLTIMA CAPTURA de ese boletín y no una versión fechada: una lectura nueva la reescribe en lugar de agregar una fila. Quien necesite series históricas debe comparar snapshots publicados, que es para lo que existe el versionado de este catálogo.
Dos comportamientos del proceso de construcción cambian cómo se leen las filas, y ambos están en backend/app/services/corpus_service.py::build_corpus.
El primero es el modo de reanudación, que es el predeterminado: salta los boletines que ya están en la tabla, de modo que una corrida nueva agrega boletines nuevos sin refrescar los antiguos. estado_actual, urgencia_actual y los dos campos de último trámite corresponden entonces al momento en que se capturó esa fila, que puede ser bastante anterior a la fecha del snapshot. La columna updated_at publica ese momento y es la que permite fechar cada fila.
El segundo es el manejo de fallas: cuando el enriquecimiento de un boletín falla tras sus reintentos, igual se persiste una fila mínima cuyo titulo empieza con [error] , con los demás campos nulos, para que la reanudación no reintente indefinidamente el mismo boletín conflictivo. Esas filas se cuentan como boletines si nadie las excluye.
| Columna | Tipo | Unidad | Qué significa |
|---|---|---|---|
| boletin | string | identificador | Número con que el Congreso identifica al proyecto de ley, con la forma |
Viaja con el guion. El web service de la Cámara que sirve las votaciones nominales espera solo la parte correlativa (14782), así que cruzar este recurso con esa fuente exige recortar el sufijo.
| titulo | string | texto | Título del proyecto de ley tal como lo publica la fuente. Texto libre, sin catálogo ni normalización. TRAMPA DE CONTEO: un título que empieza con |
|---|
| fecha_ingreso | date | fecha | Fecha en que el proyecto ingresó a tramitación, según la fuente. Se normaliza a fecha ISO desde los tres formatos que la fuente mezcla ( |
|---|
| iniciativa | string | texto | Forma en que se originó el proyecto, en el texto que entrega la fuente: típicamente La lista de valores no es un conjunto cerrado. El web service publica un catálogo de tipos de iniciativa en un endpoint aparte, pero este recurso guarda el texto tal como viene en el detalle del proyecto, sin validarlo contra ese catálogo y sin restricción en la base de datos. Un recorte por esta columna debe enumerar los valores presentes en los datos. |
|---|
| autores_jsonb | string | texto | Autores del proyecto, como arreglo JSON de nombres serializado dentro de una sola celda. El tipo declarado es cadena porque un CSV no tiene columnas repetidas; en la base de datos la columna es JSON. Son nombres y ningún identificador. La fuente no acompaña cada nombre con un código de parlamentario en este campo, así que unir este recurso con cualquier registro de personas exige un cruce por nombre, con los errores que eso arrastra: homónimos, orden de los apellidos y grafías distintas de la misma persona. El arreglo queda vacío cuando la fuente no declara autores, y en las filas de error. |
|---|
| origen_descripcion | string | texto | Frase corta que resume el origen del proyecto, con sus partes separadas por TIENE TRES FORMAS DISTINTAS SEGÚN EL TIPO DE INICIATIVA. Un parser escrito contra una sola de ellas falla en silencio sobre las otras dos:
El mes va abreviado en español y el año en dos dígitos. Para cualquier análisis conviene usar |
|---|
| camara_origen | string | texto | Cámara en que se originó el proyecto, en el texto que entrega la fuente, típicamente Es la cámara de origen y no la cámara donde el proyecto se tramita hoy: un proyecto originado en una puede estar radicado en la otra. La etapa vigente la describen los campos de último trámite. |
|---|
| estado_actual | string | texto | Estado de tramitación del proyecto, en el texto que entrega la fuente. Texto libre, sin catálogo ni restricción en la base de datos: la lista de estados posibles se enumera sobre los propios datos. Es el estado al momento en que se capturó la fila, que puede ser bastante anterior a la fecha del snapshot, porque el modo de reanudación del constructor no refresca los boletines que ya están en la tabla. La columna Los estados terminales siguen presentes. Los reportes de Tuwün consideran fuera del «corpus vivo» los valores |
|---|
| urgencia_actual | string | texto | Tipo de la urgencia vigente que registra el detalle del proyecto, por ejemplo UN VALOR PRESENTE NO ACREDITA UNA URGENCIA VIGENTE EN ESTA TABLA. El campo fuente sí resuelve si hay urgencia vigente al momento de la consulta, pero este recurso no verifica si esa urgencia sigue vigente al momento de leer la fila ni si caducó por término de legislatura (Reglamento del Senado, art. 153): la fecha en que se puso la urgencia está en |
|---|
| urgencia_fecha_ingreso | date | fecha | Fecha en que se puso la urgencia que registra Es la columna que permite verificar si VIENE MAYORITARIAMENTE NULA MIENTRAS EL CORPUS NO SE REPUEBLE. La columna se agregó después de que la mayoría de las filas ya estaban capturadas, y el modo de reanudación del constructor no refresca los boletines existentes. Un nulo acá significa dato ausente —no se pudo determinar cuándo se puso la urgencia—, nunca «sin urgencia»: la ausencia de urgencia se representa con |
|---|
| ultimo_tramite_fecha | date | fecha | Fecha del último trámite del proyecto, entendido como el último elemento de la lista de tramitación que entrega la fuente. «Último» es posicional. Se toma el elemento final de la lista tal como la fuente la ordena, sin reordenarla por fecha, así que si la fuente devolviera la tramitación desordenada esta fecha no sería la más reciente. Se normaliza desde los mismos tres formatos que Es la columna con que se identifican los proyectos «durmientes», sin movimiento por un periodo extendido. Un nulo acá no indica ausencia de movimiento. Indica que el último trámite no trae una fecha utilizable. |
|---|
| ultimo_tramite_descripcion | string | texto | Descripción del mismo trámite que fecha El contenido tiene dos procedencias. Cuando la fuente trae una descripción explícita para ese trámite, se publica tal cual; cuando no la trae, el valor se arma uniendo la etapa y la subetapa con |
|---|
| tema | string | texto | Uno de los doce temas de preocupación ciudadana con que Tuwün compara la agenda legislativa con la agenda pública, más el valor residual LA CLASIFICACIÓN LA PRODUCE TUWÜN Y NO EL CONGRESO. Ninguna autoridad legislativa asignó este tema ni lo validó. Lo asigna un clasificador propio que busca expresiones regulares sobre el título y las materias del proyecto, en un orden fijo donde gana el primer patrón que hace match. Un proyecto que toque dos temas recibe solo el que aparece primero en ese orden, así que la distribución por tema depende del orden del clasificador tanto como del contenido de los proyectos.
Los doce temas son las cadenas canónicas que el pipeline de congreso toma del listado de preocupaciones ciudadanas del Centro de Estudios Públicos (CEP). El clasificador falla al cargar si alguna de sus claves se sale de esa lista, pero la columna en sí no tiene restricción en la base de datos. |
|---|
| updated_at | datetime | marca de tiempo con zona | Momento en que se escribieron los valores que la fila contiene, con zona horaria. ES LA ÚNICA FORMA DE FECHAR LO QUE LA FILA REPORTA. En su modo predeterminado, el constructor del caché salta los boletines que ya están en la tabla, así que una fila puede ser bastante anterior al snapshot que la publica: sus valores describen la tramitación tal como estaba en el momento que marca esta columna, y no en la fecha de la descarga. Es una marca del pipeline de Tuwün y no un hecho legislativo. La genera la base de datos al escribir la fila, así que sí es un instante bien definido, a diferencia de las fechas que entrega el web service. |
|---|
Momento en que la fila se insertó por primera vez. Se escribe solo en la inserción y no cambia en las reescrituras posteriores, así que responde cuándo entró el boletín al corpus y no cuándo se leyeron los valores que la fila trae hoy. Para eso está updated_at, que este recurso sí publica.
Las dos marcas coinciden en toda fila que nunca se haya reescrito y difieren en las que alguna corrida volvió a escribir. Publicar ambas obligaría al lector a distinguir dos instantes muy parecidos para quedarse con el que datan los valores, que es el único que este dataset necesita entregar.
Copia íntegra del detalle del proyecto tal como lo entrega el web service, guardada para poder derivar campos nuevos sin volver a consultar la fuente. En las filas de error guarda, en su lugar, el mensaje de la excepción que impidió leer el boletín.
No se publica por tres motivos. Duplica en un solo campo todo lo que las demás columnas ya exponen de forma tabular; su estructura anidada no cabe en una celda de CSV sin volverla ilegible; y su tamaño dominaría el peso del archivo publicado. Quien necesite el detalle completo puede pedirlo al web service con el número de boletín, que este recurso sí publica.