Open Code Review: alcance, filtros y llamadas al modelo
Del filtro de archivos a los hallazgos en OCR
Sigue la selección determinista, la agrupación asistida por modelo y la ejecución, contrastando una discrepancia documental con la implementación fijada.
Qué aprenderás
- Lee la selección en la implementación actual
- Distingue las decisiones posteriores
- Entiende la aportación de la agrupación
Antes de empezar
- Cambios Git y comparación desde merge-base
- Uso básico de CLI y credenciales de modelos
Elegir el alcance, explicar exclusiones y preparar una prueba controlada distinguiendo inspección y ejecución.
Conclusiones clave
- El código añade un filtro secreto ausente del diagrama de cinco filtros.
- Eliminación y tamaño se comprueban después.
- Seleccionar no garantiza éxito del proveedor.
Lee la selección en la implementación actual
El flujo prepara configuración y diferencias Git, filtra archivos, agrupa cambios relacionados y distribuye la revisión. En selection.go, selectFiles decide para cada diferencia. Sus comentarios describen la función como pura y señalan que la vista previa y la ejecución comparten esas decisiones.
La página de arquitectura todavía describe cinco filtros estáticos. La implementación fijada añade rutas secretas antes de las reglas del usuario. El orden actual es: binario, rutas secretas, exclusión del usuario, inclusión del usuario, extensiones permitidas y reglas de ruta predeterminadas.
Distingue las decisiones posteriores
Después del filtrado estático, selectFiles trata las eliminaciones y el límite de tokens de diferencias por archivo. Un archivo eliminado sigue en la lista de cambios, aunque no se envía a revisión de contenido. Esto conserva contexto sin presentarlo como contenido nuevo que analizar.
Agotar el presupuesto, reutilizar resultados o sufrir un fallo del proveedor depende de la ejecución. La explicación de la función excluye esos casos de la selección estática. Una vista previa puede coincidir con los archivos elegidos y aun así la revisión no terminar todos ellos.
Entiende la aportación de la agrupación
La documentación describe una llamada al modelo sobre metadatos de archivos para formar grupos relacionados. También explica cómo divide grupos grandes y recupera archivos omitidos. Estos mecanismos gestionan las entradas; no demuestran que se hayan entendido todas las interacciones entre archivos.
En un piloto, guarda registros distintos de selección, agrupación, ejecución y hallazgos aceptados. Si falta un resultado, localiza la primera etapa que se apartó de lo esperado. Aquí se inspeccionan la orquestación documentada y el selector, sin afirmar una traza de ejecución completa.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Localiza selectFiles y whyExcluded en la revisión fijada.
- 2
Contrasta las exclusiones con el orden real, incluidas las rutas secretas.
- 3
Registra la ejecución por separado de la selección estática.
Ejemplo para copiar
binario / secreto / exclusión: rechazar
inclusión coincidente: superar filtros estáticos
si no: extensión → ruta predeterminada
después: eliminación y tamaño de diferencias
ejecución: presupuesto, reutilización y proveedorPreguntas frecuentes
¿La inclusión del usuario anula cualquier exclusión?
No. Los binarios y las rutas secretas se comprueban antes; la exclusión del usuario también tiene prioridad.
¿Por qué mantener un archivo eliminado en el contexto?
Ayuda a describir el cambio aunque no tenga contenido nuevo que enviar a revisión.
Fuentes
- Open Code Review / pages/src/content/docs/en/architecture.mdFuente verificada 2026-09-18
- Open Code Review / internal/agent/selection.goFuente verificada 2026-09-18
- Open Code Review / internal/config/allowlist/secret_path.goFuente verificada 2026-09-18