ADR-054: Cuadro de clasificación público completo — procedimiento, tipos convalidados, histórico, TVD y certificado RUSD¶
Estado: Aceptado Fecha: 2026-10-29 Autores: Giampiero (mantenedor principal); épica «deuda del lote D», puntos 1 y 7 Relacionados: ADR-025 (la TRD como instrumento convalidado), ADR-026 (TVD), ADR-050 (cuadro público)
Contexto¶
El cuadro público (/api/v1/public/archive/cuadro-clasificacion/{tenant}) publicaba solo la TRD convalidada vigente, sin
TVD, sin histórico y sin tres columnas que el Acuerdo AGN 001/2024 (que compila y deroga el 004/2019) pone en la TRD (arts. 5.1.3.1 y 5.1.3.2, Anexo 6): los tipos
documentales, el procedimiento de la disposición final y la inscripción en el RUSD. Verificado contra el código:
- No existía
procedimiento(descriptiones el alcance, no el procedimiento). - Los tipos documentales apuntan a la fila de la versión y se re-apuntan de N a N+1 al convalidar (aviso #3 de ADR-025): la versión derogada perdía los suyos, así que un histórico con tipos era imposible desde la tabla viva.
rusd_radicadoes el número de la solicitud ante el AGN; el certificado de inscripción (número y fecha) no se modelaba.valid_fromes la fecha de creación de la fila, no la de entrada en vigencia;valid_toes el día en que se ejecutó la derogación, no el del acto.
Decisión¶
trd_series.procedimiento(TRD y TVD): contenido de la versión, congelado fuera deborradorpor el trigger, y obligatorio para aprobar (409procedimiento_requerido; CHECKtrd_series_procedimiento_check). Una versiónmigradalo captura una sola vez al ratificarla (mismo patrón quedependencias_productoras). Se clona al abrir la versión N+1.- Instantánea de tipos al convalidar —
trd_serie_tipos_convalidados, append-only (UPDATE/DELETE/TRUNCATE rechazados por trigger). Se escribe en la misma transacción deconvalidar, después del re-apuntado. Una hoja (serie sin subseries, o subserie) sin tipos no se convalida: 409serie_sin_tipos_documentalesy rollback. La TVD no exige tipos. Alternativas descartadas: leer los tipos vivos (muestra lo de hoy, no lo convalidado) y dejar de re-apuntar (rompe a los consumidores detrd_serie_id). - Histórico:
?vigente_en=AAAA-MM-DDsobre el mismo cuadro (un solo armado) yGET …/{tenant}/historial(lista plana). La vigencia de una versión esfecha_convalidacion <= d < hasta, conhasta = LEAST(valid_to, fecha_convalidacion de la versión siguiente): dos versiones no pueden regir a la vez aunquevalid_tose haya escrito el día de la derogación (precisado por ADR-059:valid_topasa a ser el acto de la N+1 y el cuadro lo lee directo;_HASTAse retiró). Fecha futura: 422. Se publican solo versionesconvalidada/derogadaconfecha_convalidacion. - TVD: bloque aparte
fondos_acumulados(porfondo_nombre), sin secciones: un fondo acumulado no cuelga del organigrama vivo. - Certificado RUSD — columnas
rusd_certificado_numero/fechaentrd_series, fill-once en cualquier estado (el trigger también lo blinda en la versión derogada), solo deconvalidada/derogada, fecha no anterior a la convalidación. Se captura por acto administrativo (POST /api/v1/trd/certificado-rusdy gemelo TVD): un certificado cubre el instrumento entero; registrar serie por serie sería una escritura por serie. 404 si ningún acto coincide, 409certificado_rusd_distinto(sin escribir nada), idempotente si coincide. Se publica el certificado, norusd_radicado.
Fuga y lista blanca¶
El cuadro público sigue siendo una lista blanca: no salen acta_comite, created_by, rusd_radicado ni ids. El acto
administrativo y la fecha de convalidación son actos públicos.
Consecuencias¶
- Migración
archive-service080 (tenant). Los datos de prueba que no cumplen el CHECK nuevo se recrean (scripts/reset-entorno.sh); no hay backfill. convalidarpuede responder dos 409 nuevos; la UI los muestra.- Las versiones convalidadas antes de esta épica no tienen instantánea: su histórico sale sin tipos hasta que se recreen (entorno de pruebas).
Residuos¶
La tabla de tipos publicada no distingue tipos retirados después de convalidar (la instantánea es la verdad histórica).
Ver docs/es/api.md para el contrato.
Ronda de corrección (2026-10-29)¶
- Citas. El Acuerdo AGN 001/2024 compila y deroga el 004/2019 y el 060/2001. Rige para el circuito del instrumento: RUSD
(art. 5.1.3.1, Certificado de Inscripción), publicación de CCD/TRD/TVD (5.1.3.2), registro de cambios (5.1.4.1, par.),
implementación tras el certificado (5.1.5.1) y el Anexo 6. Ya no queda ninguna marca
[confirmar]en esta decisión: el certificado es público y se publica (no elrusd_radicadode la solicitud). - El certificado es una compuerta (5.1.5.1). Preparar una transferencia, la transferencia corta, proponer y ejecutar un lote
de eliminación dan
409 trd_sin_certificado_rusdsi el instrumento que gobierna al expediente no lo tiene (fail-closed; un instrumentomigradaoaprobadano puede tenerlo, de modo que antes debe convalidarse y registrarse). vigente_desdedel historial es «convalidada el»: la fecha de convalidación, no la de entrada en aplicación (que exige el certificado y se publica aparte). El nombre se conserva por contrato con el portal.- Deuda B9: tipos documentales sin soporte ni formato (Anexo 6). No implementada; declarada en el cierre del lote D.