ADR 0059 — Tres pestañas y adiós al nombre PR
Estado: aceptado · Fecha: 2026-10-25
Contexto
Sección titulada «Contexto»El ADR 0058 dejó cuatro pestañas y prometió el siguiente corte: las lentes dentro de Reglas. Tenía sentido. Las dos hablan de lo mismo desde dos escalas: la lente explica por qué un fichero tiene el riesgo que tiene y qué reglas toca; Reglas cuenta qué rompe el cambio entero. Tenerlas separadas obligaba a saltar de pestaña para responder una sola pregunta: ¿qué le pasa a este fichero y qué rompe?
La cuarta pestaña tenía además un nombre prestado: PR, de pull request. CodArch compara dos snapshots —con git o sin él, en local o en CI— y no sabe si hay una pull request abierta ni si está pendiente de mergear. El nombre prometía un flujo de revisión que la app no tiene.
Decisión
Sección titulada «Decisión»El inspector se queda en tres pestañas: Fichero, Reglas y Cambios.
- Reglas es una sola lectura en dos escalas. Arriba, el fichero seleccionado: riesgo con sus señales y pesos, reglas de dominio que toca, migración con su deuda y cruces FFI, y símbolos. Abajo, el cambio: nuevas, existentes y resueltas, errores y avisos, reglas y capas, origen, hotspots. Cuando no hay celda elegida, la parte del fichero explica qué aparecerá ahí.
- La pestaña Lentes desaparece. Su contenido no se pierde: es la primera
mitad de Reglas. Los enlaces y las vistas guardadas con
tab=lensesse leen comotab=rules. - PR pasa a llamarse Cambios. El reporte enseña qué se ha movido entre
base y head; no afirma nada sobre una revisión pendiente. En la URL el valor
canónico es
tab=changes;tab=prse sigue leyendo y se reescribe al nombre nuevo. Las vistas de addon hacen lo mismo:lenses→rulesypr→changesal cargarlas. - El orden es el de la lectura. Primero el fichero (donde el usuario acaba de hacer clic en el mapa), después el cambio. El botón de abrir reporte vive en la parte del cambio y no secuestra la pestaña: si se carga desde Reglas, se queda en Reglas.
Lo que no cambia: ni cc.json, ni el checksum, ni el report.json. La
pestaña sigue leyendo lo que ya existe.
Consecuencias
Sección titulada «Consecuencias»- Tres pestañas en vez de cuatro; cada una con un trabajo claro.
- Desaparece la palabra PR de la UI y del estado de vista. El código también:
PrPanelesChangesPanely las clasespr-*pasan achange-*. - La API de plugins y las vistas guardadas aceptan los nombres nuevos; los viejos se traducen, así que nada se rompe.
- Reglas es más larga que antes, pero ya no hay que cambiar de pestaña para cruzar el fichero con el cambio. La lista del fichero corta a ocho filas y la del cambio a veinticinco, y las dos lo dicen.
- Tests:
tab=changes, los aliaslensesypr, y las vistas de addon normalizadas.
Alternativas descartadas
Sección titulada «Alternativas descartadas»- Llamar a la pestaña Git. El reporte no es un objeto de git: sale de dos snapshots y funciona sin repositorio. Git habría cambiado una confusión por otra.
- Llamarla Revisión. Sugiere aprobar o pedir cambios, y aquí no hay flujo de revisión: hay un diff.
- Dejar las lentes como pestaña y solo renombrar PR. Mantenía el salto entre escalas que este corte venía a quitar.
- Romper los enlaces viejos.
tab=prytab=lensesestán en tickets y vistas guardadas; traducirlos cuesta una línea y no obliga a nadie a actualizar nada.
Hoja de ruta
Sección titulada «Hoja de ruta»M39 - Tres pestañas
Sección titulada «M39 - Tres pestañas»- Lentes dentro de Reglas, con el fichero seleccionado como contexto.
- Tres pestañas: Fichero, Reglas y Cambios.
- PR se llama Cambios, en la UI, en la URL y en el código.
-
tab=changescanónico y aliaslenses/pral leer. - Vistas de addon y API de plugins con los nombres nuevos.
Lo que es de las reglas —el catálogo de las que no se violan y el filtro por severidad— vive solo en el ADR 0058.
Los ítems abiertos de esta decisión viven en el backlog del roadmap.
El registro de lo hecho vive en el feed de la guía.