PLAN PREVIO.md

Plan previo: ubicación de rechazos compuestos

RETP-160. Cortes: Lenguaje 76722442d2899300c69d89ab932890a4d7d74c2f; laboratorio afcbd5046b2eec24cb058ce0fedcf580ca4790e8, rama lab/playground-sv-permanente. Base: cápsula RETP-159 íntegra, 77 archivos. Se cotejan las rectoras ya leídas y el expediente anterior contra los árboles publicados.

Objeto acotado del paso 6: doce puntos de rechazo. Ocho ramas de campos opcionales de SemanticRelation y Pattern (repetición, orden, repetición de restricciones y campo desconocido); variantes de supervisión y contexto de consulta; palabra protegida en despacho let; etiqueta individual de admisibilidad. Cada emisor conservará el índice antes de consumir el elemento responsable. Se mantiene el orden de evaluación actual: los errores intermedios de separador, referencia o fin de fuente siguen precediendo al rechazo que todavía no se haya emitido. No se adelantan validaciones.

Se fijan fuentes, causas e intervalos UTF-8 antes de modificar la candidata. Cada rango procede del fragmento original seleccionado expresamente. Se incluyen ambos perfiles, CRLF, tabulación, texto acentuado, separadores posteriores y precedencia. Los 40 esperados de RETP-159 se conservan íntegros. Cada inválida se ensambla con una fuente sana del otro perfil en ambas posiciones y con igual nombre de archivo. Se compara la API heredada entre base y candidata, además del corpus canónico 14/106, 239 unitarios por modo y anteriores pruebas focales y relacionales.

Contrato: extensión de cobertura de COMPILER-DIAGNOSTICS/2, sin nuevas variantes ni plantillas. Los emisores incluidos pasan de rango ausente a rango original; las grafías constitutivas extranjeras se clasifican mediante estado léxico y contexto, nunca por mensaje ni centinela. La decisión, el error heredado, su precedencia, IR y códigos SV se preservan. La cardinalidad del conjunto de admisibilidad no se atribuye artificialmente a una etiqueta: permanece sin rango hasta constituir y comprobar una localización del conjunto. Otros validadores y subcausas siguen pendientes.

Controles de sensibilidad previstos: la base RETP-159 debe fallar por intervalo ausente en rel_REPEAT_en; un mutante que guarde el índice de campo después de consumirlo debe fallar por intervalo en el mismo caso. Fallos esperados separados de fallos inesperados, conservados con salidas completas. Catálogo de trece causas y veintiséis mensajes ES/EN idéntico. Cuatro clientes negativos mantienen los seis rechazos de acceso.

Ejecución Rust nativa debug y release, tres repeticiones focales; Python únicamente recupera y observa. Límites instrumentales: 120 segundos por proceso y 2 MiB por flujo. Se conservan identidad, comandos, salidas, códigos, tiempo, CPU y máximo acumulado de memoria de hijos, incluida compilación. No se constituye comparación de rendimiento, dinero ni inferencia. Reproducción sin red en directorio nuevo antes de publicar.

Rectoras consultadas en la continuidad: AGENTS, Pilares completos, perfiles y ensamblaje, transición y relevos, contrato diagnóstico RETP-109/110, workflow V2 y plan RETP-147. Referencia conceptual: LEAME_PRIMERO del frame, documento de significado humano/trazabilidad/fidelidad, adenda visual y documento de trazabilidad/auditoría/reproducción. Un diagnóstico más preciso ayuda a conservar procedencia; no demuestra la fidelidad de la presentación final ni la suficiencia del conocimiento consultado.

Estado global y secuencia conservados: fila 9 abierta bajo las prioridades vigentes, paso 6 incremental sin cierre P6; reserva P3 cerrada, P4/P5 pendientes; DFL-001/011 y restantes deudas abiertas. No se promueve al núcleo productivo, no se ejecutan proveedores externos ni se acredita WASI/navegador o recepción profesional. El encargo externo común sigue pendiente.