Valida identificadores ECLI y ROJ, y detecta cuándo un texto atribuye doctrina a una sentencia concreta sin que nadie la haya comprobado.
Un ECLI mal formado se detecta con una expresión regular. Lo caro es otra cosa:
«el Tribunal Constitucional, en su sentencia 190/2020, declaró que…»
Esa frase no contiene ningún identificador que validar, suena impecable y es el error más frecuente cuando un modelo de lenguaje redacta en tono divulgativo. Si la sentencia no existe, el texto publica doctrina falsa con toda la apariencia de ser correcta.
Por eso este paquete separa dos trabajos: comprobar la forma de un identificador, y comprobar que cada cita del texto tiene respaldo en un identificador verificable.
import { citasSinRespaldo } from 'ecli-roj'
const texto = `
Como recuerda la STS 1234/2021, el plazo es de tres meses. Sin embargo,
el Tribunal Constitucional, en su sentencia 190/2020, declaró lo contrario.
`
citasSinRespaldo(texto, ['ROJ: STS 1234/2021'])
// → [{ cita: 'Tribunal Constitucional, en su sentencia 190/2020', indice: 80 }]
// La segunda cita no está respaldada: o se comprueba, o no se publica.
| Función | Qué hace |
|---|---|
esEcli · esRoj | ¿Tiene forma válida? |
parseEcli | Descompone en país, tribunal, año y número. |
parseRoj | Descompone en tribunal, número y año. |
detectarCitas | Todas las referencias a resoluciones del texto. |
citasSinRespaldo | Las que no respalda ningún identificador comprobado. |
ECLI y ROJ; abreviaturas con lugar o «núm.» por medio (SAP Barcelona núm. 55/2018);
nombres desarrollados y coloquiales de tribunal; fechas largas en castellano; asuntos del TJUE
y repertorios Aranzadi.
La rama de nombres coloquiales existe por un fallo real: un detector que solo reconocía las abreviaturas dejó pasar diez citas inventadas seguidas, todas escritas en la forma que usa un modelo cuando se dirige a un lector no jurista.
Deliberadamente no marca «mi sentencia de divorcio de 2019»: es el caso del propio usuario, no una cita de doctrina. El criterio es fallar del lado seguro — marcar de más cuesta una revisión; marcar de menos publica una sentencia que no existe.
Solo jurisdicción española. No consulta ninguna base de datos: comprueba forma y respaldo, no que la resolución exista. Ese contraste hay que hacerlo contra fuente oficial — CENDOJ o el buscador ECLI europeo — que es exactamente el paso al que este paquete te obliga.