ADR-046: La reserva vence sola y el índice de clasificados se adopta mediante un acto¶
Estado: Aceptado Fecha: 2026-10-22 Autores: Giampiero (mantenedor principal); lote D, bloque D-2 y excepción del índice (D-4 §4.2) Relacionados: ADR-039 (tope de 15 años y cita normativa), ADR-038 (ficha provisional), ADR-035 (entidad suspendida), ADR-010 (auditoría inmutable)
Contexto¶
La reserva de un documento (Ley 1712 de 2014, art. 19) es temporal: su vigencia y el tope de 15 años desde la generación los fija el art. 22 de la Ley 1712 de 2014 con el Decreto 103 de 2015 art. 29 (hoy DUR 1081 de 2015); el vencimiento NO es del art. 19. El sistema guardaba el plazo pero nadie lo ejecutaba: un radicado reservado seguía así para siempre salvo que alguien lo desclasificara. El índice público de clasificados tampoco decía quién lo adoptó, ni la excepción en que se funda cada reserva (total o parcial), ni el idioma y soporte del original.
Decisión¶
- Vencimiento automático como una pasada más del barrido de
document-service(vencer_reservas_una_vez, advisory lock0x52534556;RESERVA_VENCIMIENTO_ENABLED,RESERVA_VENCIMIENTO_LOTE).reserva_vence_at(registered, clasificado, plazo)(migración tenant053,IMMUTABLE) = el menor entreclasificado + plazoygeneración + 15 años; sobre un 31 de enero,+1 meses el 28 de febrero. Solo nivel 2: el nivel 3 (secreto) no vence por tiempo. - Una transacción por radicado: el
UPDATErepite la condición de vencimiento (FOR UPDATE SKIP LOCKEDen un CTE) y escribe dos asientos (document.reserva_vencidaydocument.radicado_reclassified, actorNone, canalsystem) y el evento del outbox conorigen='vencimiento_plazo'ydedup_keypor radicado y fecha. El barrido recorre entidades activas y suspendidas: el plazo legal corre aunque la entidad esté suspendida. GET /reports/reservas-por-vencer(PERM_RECLASIFICAR; 30/60/90 días; clearance en elWHERE;X-Total-Countcon la misma condición) para reclasificar antes si aplica el art. 18.- Idioma y medio de conservación: columnas
idioma(ISO 639, 2-3 letras) ymedio_conservacion(electronico|fisico|hibrido). La ventanilla y el correo los fijan en el servidor (es,electronico); el cliente no los dicta ahí.PATCH /documents/{id}/conservacion(PERM_RADIcrud 3) los corrige con motivo ≥10 y asiento antes/después. - Acto de adopción (
transparencia_adopcion, append-only por trigger): la resolución que adopta el índice (número, fecha, firmante, cargo,url_publicacionhttp/https). La corrección es una fila nueva que reemplaza a la vigente; nunca unUPDATE.GET|POST /reports/transparencia/adopciones(POSTUSUA_PERM_ADMINcrud 3) y el públicoGET /public/{tenant}/transparencia/adopciones(tenant inexistente =[], nunca 404: no confirma qué entidades existen). No se sirveregistrado_por. - Excepción total/parcial (migración
055):radicados.clasificacion_excepcion(total|parcial) obligatoria al clasificar con causal real (por_clasificarqueda exenta); entra porPOST /documents, reclasificar, solicitud de desclasificación, borradores heredados, importación y exportación; sale por/internal/documentos/clasificados. El índice de archive agrupa también por excepción; sin dato espor_determinar, nunca untotalinventado. - Índice público: columnas Excepción, Idioma y Soporte, y el bloque "Adoptado mediante Resolución N.º ... del ..., firmada por ... (cargo)" o, honestamente, "La entidad no ha registrado el acto de adopción".
Alternativas descartadas¶
- Desclasificar lazy al leer: dejaría el dato y los derivados (índice, búsqueda) desactualizados hasta que alguien lo lea.
- Que el cliente envíe idioma y soporte en la ventanilla: es un canal sin autenticar; el servidor sabe de qué canal llegó.
Residuos declarados¶
- Citas contrastadas por la auditoría del lote D: el vencimiento es Ley 1712 art. 22 + Decreto 103/2015 art. 29; la adopción del índice y de los demás instrumentos es Decreto 103/2015 art. 36 (Registro de Activos de Información, Índice de Información Clasificada y Reservada, Esquema de Publicación y Programa de Gestión Documental; no «arts. 38-41»); el rango de levantamiento del índice público sigue la Res. MinTIC 1519/2020, Anexo 2, num. 7.1.
- El plazo se mide en meses calendario; un cambio de la norma es una migración de la función.
Consecuencias¶
- Ninguna reserva sobrevive a su plazo sin acto humano que la renueve (reclasificando); el vencimiento deja la misma huella que una reclasificación.
- Los INSERT de pruebas con causal real deben incluir
clasificacion_excepcion(CHECKradicados_excepcion_obligatoria).