Aggiornamento 2.195
31/07/2026
v2.195.0.0BETAMINOR
Seymour31 lug 2026
P2-B L2 (LLM contract HTTP adapter) + P2 L1 (ATEL semantic IR + three-layer diff)
- LLM contract L2 (
Core/LLM/LlmHttpAdapter.cs+ 8 tests): model call with timeout (CancelAfter), cancellation,MaxResponseBytesbounded stream read, strict JSON parse (JsonUnmappedMemberHandling.Disallow— unknown field = MalformedPayload), key ONLY inAuthorization: Bearerheader (never body/log/exception; pattern redaction + exact session-key redaction), non-loopback host refuses without confirmation BEFORE touching the network, base64 validated, failures always become typedLlmResultwith redacted message (no raw stack).LlmCredentialgained a controlled internal accessor (ReadApiKeyCopy— copy, never serialized; reflection removed). Zero real network in tests (fake DelegatingHandler). - P2 L1 — ATEL semantic IR (
FfxLib/Ai/AiSemanticScript.cs+AiDiffThreeLayer.cs+ 10 tests): 100% additive overlay over the codec (AiScript_File fully untouched, RT0 361/361 preserved):AiEvidenceState(Decoded/Hypothesis/Confirmed — L1 produces only Decoded),AiInstructionNodeper (worker, offset) withMeaningenriched via the realAiCommandId.Decode(e.g.PUSHII -> Firaga);ThreeLayerDiff= bytes layer + disassembly (AiScript_Diff.Comparereused) + semantics (command names/evidence). Validated against real fixturesm000.bin/m001.bin(real AiFile from corpus) + byte-identical synthetic RT0 fixture. Subagent expectation fix: m000's3C D8 5F 00 3C 3Cscript has 4 instructions (RET | CALLPOPA 3B | RET | RET), not 3 — Build was right. - Baseline: 185/185 PASS (164 → 185). ### MINOR
v2.194.0.0