README.md

Precomprobación Rust del calendario de análisis R10

RETP-2026-130. Instrumento IE004-R10-SINTAXIS/1. Perfil documental sin cambios: IE004-ES-P2/2. No es el corrector completo ni una realización de su semántica §5.

Se comienza por una condición necesaria: que un recorrido literal de barridos por longitud, inicio, regla y alternativa pueda terminar el reconocimiento sintáctico dentro de un millón de intentos. La reserva humana sigue cerrada. No se piden casos adicionales a Grok ni a Claude.

sonda.rs transcribe G01–G25 con los mismos opcionales y repeticiones. La tabla sólo almacena presencia de una derivación por no terminal e intervalo: no cuenta árboles distintos, significados, exclusiones o permisos. Las alternativas se exploran sin dar prioridad al primer éxito; el punto fijo exige un barrido final sin inserciones. Se incluyen intervalos vacíos para Art. La tabla tiene una única asignación fallible y una cota previa comprobada. Su tamaño no es la memoria del corrector completo ni su número de entradas equivale al cupo de estados semánticos del perfil.

El contador cobra antes de cada visita de alternativa y cada partición examinada de secuencia/repetición, incluidas fallidas y duplicadas. Esta es una codificación concreta y conservadora del trabajo de búsqueda; no se afirma equivalencia cuantitativa con toda implementación posible de §6. La ausencia de estados semánticos ahorra trabajo que el corrector completo necesitaría, pero la búsqueda ingenua puede gastar más que un recorrido indexado. Un agotamiento refuta la suficiencia de este calendario materializado con esta contabilidad, no la viabilidad universal de Rust ni la imposibilidad de una implementación más eficiente. Cualquier optimización posterior deberá justificar su equivalencia y contabilidad antes de usar la reserva.

CASOS_PUBLICOS.json fija antes de ejecutar 48 antecedentes, 18 contrastes públicos y seis fronteras CP-T/CP-B. Los tres contrastes no derivables son C06/C07/C09. Las consultas CP-T repiten ACTUAL sobre IGG; todas las restricciones temporales coinciden. Con el contexto público completo su servicio esperado por /2 es DATO/8.40; el instrumento comprueba sólo la condición sintáctica necesaria para producirlo. 129 tokens y 8.193 bytes superan los límites y deben rechazarse en admisión. Las seis fronteras se mantienen visibles aunque falle una; no se usan para ajustar después los esperados.

Los controles de primitivas comprueban suma y producto u64 en sus fronteras, conversión a usize (diferencia 32/64 bits declarada), reserva fallible, cuentas independientes y vistas de texto con str::get. Incluyen cortes dentro de á/🦀, rango invertido y fin excesivo. Son controles locales, no prueba general de aislamiento A/V, propiedad de datos remotos, seguridad de host o ausencia de todo pánico. Los préstamos se obtienen del original y no se guardan en la evidencia persistente. Fuente técnica: Rust, slices, consultada el 11/09/2026.

Ejecución prevista: Rust 1.98.0, misma fuente, nativo x86_64 y wasm32-wasip1, debug con comprobaciones y release con overflow-checks desactivadas. checked_add/checked_mul son quienes deben impedir el wrap. Compilación y ejecución se registran separadamente. Node sólo transcribe datos, lanza el binario/WASI y compara su salida; no ejecuta la gramática. Ninguna ejecución Python.

Presupuesto: preparación/compilación 8 minutos, controles 5, exportación 2, sin ampliación automática. Un proceso de prueba tiene límite de 30 segundos. Conservar resultados completos y bytes por las cuatro configuraciones; no hacer otra búsqueda de cadenas ni ajustar cupos para conseguir un resultado favorable.

La respuesta semántica, V, transporte P3 y controles materiales permanecen pendientes. Si aparece una insuficiencia, el informe debe identificarla y detener el avance a la captura reservada. Una prueba sintáctica correcta no autoriza esa captura por sí sola.