Releases: LautaroMoya25/citador-ar-mcp
Release list
v0.1.2 — Corpus CSJN, tomos 330-349
Primer corpus publicado del citador: el grafo de citas de la Corte Suprema
argentina, con la clasificación de cómo cada fallo trató a los anteriores.
Qué es este archivo
corpus.db es un SQLite de 41 MB con el grafo ya construido. El servidor MCP
sólo lo lee: la ingesta es un proceso batch aparte, así que las respuestas no
cambian entre llamadas.
gh release download v0.1.2 --repo LautaroMoya25/citador-ar-mcp --pattern corpus.db --dir data
export CITADOR_DB="$PWD/data/corpus.db"Procedencia
Crawleado el 2 de septiembre de 2026 de la Secretaría de Jurisprudencia de
la CSJN (sjconsulta.csjn.gov.ar), tomos 330 a 349 (2007-2026). Las aristas
no salen de adivinar citas en el texto: las publica la propia Corte, en el campo
linksCitantes de cada sumario.
| Nodos | 7.953 — 5.325 fallos crawleados y 2.628 stubs |
| Aristas de cita | 73.611 |
Con postura distinta de mentioned |
1.507 (2,0 %) |
| Atribuidas a un voto | 10.444 (14,2 %), de ellas 7.157 a la mayoría |
| Con texto propio | 391 (387 del PDF, 4 por OCR) |
La misma información está grabada en la tabla corpus_meta del archivo, la
calcula el pipeline y la devuelve la resource citador://corpus.
La letra chica, que importa más que los totales
- El 98,0 % de las aristas quedó en
mentioned, que significa no
clasificada — no "citada sin tomar postura". Una señal gris dice que no se
sabe, nunca que el precedente esté confirmado, y las tools lo escriben así en
cada respuesta. - Sólo la mayoría enciende la señal. El dictamen del Procurador, los votos
propios y las disidencias se segmentan aparte. De 73.611 aristas, 7.157 son de
la mayoría; el resto no mueve el semáforo. - Un stub no es un fallo. Es una posición citada desde adentro del rango pero
ubicada afuera: se conoce la cita y nada más. - El abandono implícito no se detecta. Si la Corte se aparta de un precedente
sin citarlo, no hay cita que clasificar. Pasa en la propia cadena de demo. abandonedes deliberadamente conservador. El clasificador prefiere no
detectar un abandono antes que inventar uno: en el set anotado a mano da cero
rojos falsos y un abandono no detectado, y ese es el intercambio buscado. Un
rojo falso le hace perder al abogado una autoridad que tenía.
Verificación
243 tests, ruff, mypy --strict sobre domain/, y las 10 evals corren contra
este mismo archivo. La cadena de la tenencia para consumo personal —
Colavini → Bazterrica → Montalvo → Arriola — se reconstruye completa, con
Montalvo en rojo y Bazterrica en amarillo por haber sido abandonado y retomado.
Atribución y alcance
Corpus derivado de fallos públicos de la CSJN, que es la fuente y a quien se
atribuye. El software va con licencia MIT.
No es asesoramiento legal. Es una herramienta de investigación. Toda
afirmación es auditable contra el pasaje que la generó y toda respuesta lleva su
confianza. Verificá el texto antes de usarla en un escrito.
Cambios sobre 0.1.0
0.1.0 fue retirada. Su sdist incluía dos documentos de trabajo internos, y un
sdist publicado no se puede reemplazar.
Esta versión además corrige tres defectos que aparecieron al publicar:
- Los errores accionables no llegaban al cliente. El SDK conserva el texto de
unToolErrory reemplaza cualquier otra excepción porError executing tool.
Toda la mensajería útil se perdía antes de llegar al modelo, incluida la que
explica cómo generar el grafo — lo primero que ve quien instala el paquete. - Las URLs del paquete apuntaban a un usuario de GitHub inexistente.
- El CI nunca había corrido: disparaba en
mainy la rama esmaster. Ahora
corre en 3.11, 3.12 y 3.13, y el release exige pasarlo antes de subir nada.
Cambios sobre 0.1.1
Los siete tratamientos criticized del corpus eran falsos, sin excepción. La
regla enganchaba "es objetable" en la cláusula y le atribuía la crítica al
precedente citado, cuando lo objetado era la conclusión del tribunal a quo, una
ley, o la aplicación ilegal de una norma válida — y el precedente estaba invocado
a favor, dos veces con un "conf. doctrina de" delante.
Producían seis señales amarillas falsas: seis precedentes marcados "vigente
con reservas" que la Corte estaba aplicando en ese mismo pasaje. Un amarillo
indebido le hace perder al abogado autoridad que tenía.
Dos aristas se recuperaron como applied, que es lo que el pasaje sostiene. El
amarillo baja de 24 a 18 y no se movió nada más: medido sobre las 73.606 aristas
clasificadas por reglas, cambian siete.
Queda una guarda nueva de cita de apoyo, acotada a la cláusula de la cita
—un fallo puede citar un precedente a favor y distinguirlo en el considerando
siguiente, y eso se sigue registrando— y reclassify_stored ahora puede
retirar un veredicto cuando la regla que lo produjo resultó equivocada.
v0.1.1 — Corpus CSJN, tomos 330-349
Primer corpus publicado del citador: el grafo de citas de la Corte Suprema
argentina, con la clasificación de cómo cada fallo trató a los anteriores.
Qué es este archivo
corpus.db es un SQLite de 41 MB con el grafo ya construido. El servidor MCP
sólo lo lee: la ingesta es un proceso batch aparte, así que las respuestas no
cambian entre llamadas.
gh release download v0.1.1 --repo LautaroMoya25/citador-ar-mcp --pattern corpus.db --dir data
export CITADOR_DB="$PWD/data/corpus.db"Procedencia
Crawleado el 2 de septiembre de 2026 de la Secretaría de Jurisprudencia de
la CSJN (sjconsulta.csjn.gov.ar), tomos 330 a 349 (2007-2026). Las aristas
no salen de adivinar citas en el texto: las publica la propia Corte, en el campo
linksCitantes de cada sumario.
| Nodos | 7.953 — 5.325 fallos crawleados y 2.628 stubs |
| Aristas de cita | 73.611 |
Con postura distinta de mentioned |
1.513 (2,1 %) |
| Atribuidas a un voto | 10.444 (14,2 %), de ellas 7.157 a la mayoría |
| Con texto propio | 391 (387 del PDF, 4 por OCR) |
La misma información está grabada en la tabla corpus_meta del archivo, la
calcula el pipeline y la devuelve la resource citador://corpus.
La letra chica, que importa más que los totales
- El 97,9 % de las aristas quedó en
mentioned, que significa no
clasificada — no "citada sin tomar postura". Una señal gris dice que no se
sabe, nunca que el precedente esté confirmado, y las tools lo escriben así en
cada respuesta. - Sólo la mayoría enciende la señal. El dictamen del Procurador, los votos
propios y las disidencias se segmentan aparte. De 73.611 aristas, 7.157 son de
la mayoría; el resto no mueve el semáforo. - Un stub no es un fallo. Es una posición citada desde adentro del rango pero
ubicada afuera: se conoce la cita y nada más. - El abandono implícito no se detecta. Si la Corte se aparta de un precedente
sin citarlo, no hay cita que clasificar. Pasa en la propia cadena de demo. abandonedes deliberadamente conservador. El clasificador prefiere no
detectar un abandono antes que inventar uno: en el set anotado a mano da cero
rojos falsos y un abandono no detectado, y ese es el intercambio buscado. Un
rojo falso le hace perder al abogado una autoridad que tenía.
Verificación
243 tests, ruff, mypy --strict sobre domain/, y las 10 evals corren contra
este mismo archivo. La cadena de la tenencia para consumo personal —
Colavini → Bazterrica → Montalvo → Arriola — se reconstruye completa, con
Montalvo en rojo y Bazterrica en amarillo por haber sido abandonado y retomado.
Atribución y alcance
Corpus derivado de fallos públicos de la CSJN, que es la fuente y a quien se
atribuye. El software va con licencia MIT.
No es asesoramiento legal. Es una herramienta de investigación. Toda
afirmación es auditable contra el pasaje que la generó y toda respuesta lleva su
confianza. Verificá el texto antes de usarla en un escrito.
Cambios sobre 0.1.0
0.1.0 fue retirada. Su sdist incluía dos documentos de trabajo internos, y un
sdist publicado no se puede reemplazar.
Esta versión además corrige tres defectos que aparecieron al publicar:
- Los errores accionables no llegaban al cliente. El SDK conserva el texto de
unToolErrory reemplaza cualquier otra excepción porError executing tool.
Toda la mensajería útil se perdía antes de llegar al modelo, incluida la que
explica cómo generar el grafo — lo primero que ve quien instala el paquete. - Las URLs del paquete apuntaban a un usuario de GitHub inexistente.
- El CI nunca había corrido: disparaba en
mainy la rama esmaster. Ahora
corre en 3.11, 3.12 y 3.13, y el release exige pasarlo antes de subir nada.