Actualización 2.195
31/7/2026
v2.195.0.0BETAMINOR
Seymour31 jul 2026
P2-B L2 (adaptador HTTP de contrato LLM) + P2 L1 (ATEL IR semántico + diferencial de tres capas)
- Contrato LLM L2 (
Core/LLM/LlmHttpAdapter.cs+ 8 pruebas): llamada de modelo con tiempo de espera (CancelAfter), cancelación, lectura de secuencia limitadaMaxResponseBytes, análisis estricto de JSON (JsonUnmappedMemberHandling.Disallow— campo desconocido = MalformedPayload), clave SÓLO en el encabezadoAuthorization: Bearer(nunca cuerpo/registro/excepción; redacción del patrón + redacción exacta de la clave de sesión), el host sin bucle invertido se niega sin confirmación ANTES de tocar la rojo, se valida base64, las fallas siempre se escriben comoLlmResultcon un mensaje redactado (sin pila sin formato).LlmCredentialobtuvo un descriptor de acceso interno controlado (ReadApiKeyCopy: copia, nunca serializada; reflejo eliminado). Rojo REAL cero en pruebas (falso DelegatingHandler). - P2 L1 — IR semántico ATEL (
FfxLib/Ai/AiSemanticScript.cs+AiDiffThreeLayer.cs+ 10 pruebas): Superposición 100 % aditiva sobre el códec (AiScript_File completamente intacto, RT0 361/361 conservado):AiEvidenceState(Decodificado/Hipótesis/Confirmado — L1 producir solo Decodificado),AiInstructionNodepor (trabajador, compensación) conMeaningenriquecido a través delAiCommandId.DecodeREAL (p. ej.PUSHII -> Firaga);ThreeLayerDiff= capa de bytes + desensamblado (AiScript_Diff.Comparereutilizado) + semántica (nombres de comando/evidencia). Validado contra dispositivos realesm000.bin/m001.bin(AiFile REAL del corpus) + dispositivo sintético RT0 de bytes idénticos. Corrección de expectativas del subagente: El script3C D8 5F 00 3C 3Cde m000 tiene 4 instrucciones (RET | CALLPOPA 3B | RET | RET), no 3: la compilación era correcta. - Línea de base: 185/185 PASS (164 → 185). ### MENOR
v2.194.0.0