# Windows codec gate evidence — 2026-09-11 Codex-956atf `/root/analysis_core_resume`. Root ran the five Windows gates against isolated commit `847b1caa7e75bb82f6ce5193c45bcfc45973ad1a` on `codex/analysis-core-20260911`; all completed successfully. This report preserves those closed results. **`DEPTH_128_VALIDATED` remains `false`** at `crates/oa-core/src/persistence/json_codec.rs:22`. The depth-128 candidate is exercised through the private test entry point; these passes do not activate production decoding or complete schema8 transport. Current root AGENTS/PROJECT_GOAL, relevant Gitea coordination and the [independent source review](release-analysis-codec-source-review-20260911.md) were read before preservation. The earlier [decoder review](release-analysis-decoder-review-20260911.md) remains the design and integration context. No source, compiler flags, goals, ledgers, Wiki, Git/index or existing evidence were changed; no executable, Cargo, test or oracle was rerun. Linux/WSL/VPN work remains paused by the user. ## Closed Windows results The logs identify the isolated `oa-core` source and `oa_core-73987e0d7089bf1e.exe`. They report the test/dev **unoptimized** profiles; the tracked workspace sets `[profile.dev] debug = 0`. Root reports terminal exit `0` for each command. Raw logs contain the test/Clippy completion text and child exit statuses, but no outer shell exit-code trailer. Exact commands and this provenance distinction are retained in [closed-logs.json](experiments/analysis-codec-windows-20260911/closed-logs.json). | Gate | Observed result | Test or check duration | Closed log | | --- | --- | --- | --- | | Exact `persistence::json_codec::tests::codec_lifecycle_subprocess` | Driver 1/1; accepted, refused, malformed, ownership and atomic child phases all exit 0 | 6.08s, after 19m16s compilation | [first subprocess](experiments/analysis-codec-windows-20260911/logs/analysis-codec-subprocess-first-20260911.log) | | `persistence::json_codec::tests` | 6/6; all five child phases pass again | 36.65s | [codec six](experiments/analysis-codec-windows-20260911/logs/analysis-codec-six-20260911.log) | | `analysis::` | 28/28 | 4.34s | [analysis 28](experiments/analysis-codec-windows-20260911/logs/analysis-codec-analysis28-20260911.log) | | `analysis_numeric::tests` | 26/26 | 0.14s | [numeric 26](experiments/analysis-codec-windows-20260911/logs/analysis-codec-numeric26-20260911.log) | | Core Clippy, `--locked --all-targets -- -D warnings` | Clean completion | 3m13s | [strict Clippy](experiments/analysis-codec-windows-20260911/logs/analysis-codec-clippy-20260911.log) | The analysis filter contains **25 schema8 tests plus 3 existing topology analysis tests**, explaining the earlier 25-versus-28 distinction. Filter results are not an all-99-tests suite claim; the subprocess driver is repeated within the codec filter. Each child configured a **131072-byte base thread stack**, using the candidate's guarded stack growth. Both unary and Call chains of logical depth128 passed their prepared decode/ownership/encode/save/reopen lifecycle; depth129 and the prepared width/work refusals, late malformed input, ownership and atomic-output cases passed. The first accepted unary case recorded 5027 input/5028 output bytes and 261 JSON containers; the Call case recorded 16838/16839 bytes and 388 containers. The ownership phase also completed the manual 100000-node case. The production-save test currently verifies that a deep save is refused while preserving the destination, because the production switch is false. ## Preserved identities and readback Local payloads are under `.local/analysis-codec-windows-gate-20260911`; the [durable manifest](experiments/analysis-codec-windows-20260911/manifest.json), five original logs and supporting metadata are under `harness/experiments/analysis-codec-windows-20260911`. Manifest SHA256 is **`B9C8D1DDE3047E2208243536F16357ED8D60DA1BE8F69512190EAA8E8E241A10`**. | Local payload | Bytes | SHA256 | | --- | ---: | --- | | `binary/oa_core-73987e0d7089bf1e.exe` | 34962432 | `1B7E020F35312FB8ACB163ED1A9C29890CDD4379C03E238D47BA46575E35CC6F` | | `binary/libunwind.dll` — LLVM-MinGW environment-path candidate | 190464 | `AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A` | | `runtime-alternates/rust-stable/libunwind.dll` | 90624 | `13BF4E99B0193634EBDEB0BBDEFF9753B39F1D04799183F664111014AABF4C2C` | Root reports that each gate dot-sourced `.local/toolchain/env.ps1`, which prepended Cargo's bin directory and then LLVM-MinGW's bin directory. Static PE inspection confirms a `libunwind.dll` import. **No loaded-module capture was taken:** Cargo can add runtime search paths, so the archived LLVM-MinGW DLL is an environment-path candidate, not proven module binding. Current Rust stable host and target-runtime DLLs both match the separately archived `13BF…` bytes. Earlier GUI runtime evidence does not identify the codec's loaded module. All [nine frozen inputs](experiments/analysis-codec-windows-20260911/frozen-inputs.json) match their reviewed SHA256 values, their exact committed Git blobs and archived source copies. The isolated checkout was clean before and after capture. A supplementary [122-file inventory](experiments/analysis-codec-windows-20260911/tracked-core-inputs.json) covers tracked core files and workspace manifests; it is a post-gate source snapshot, not a compiler input trace. The implementation handoff still matches SHA256 `38F80E88A3945720336ED65D008CC5F260ECE2830957ADE54DF7561324726169`. Source-before/source-after and copy readbacks compare byte lengths and SHA256. The final [readback record](experiments/analysis-codec-windows-20260911/readback.json) records the independently reread payloads, sources, logs, metadata and report. Original log CRLF bytes are preserved; root must retain a narrow `-text` attributes rule for this experiment directory when publishing it so Git does not normalize those measured bytes. ## Remaining closure - The wider frozen legacy/migration and checked-save integration regressions remain to be executed. These six codec tests include selected checked-save paths, not that entire regression set. - Windows release execution, measured peak process memory and broader accepted/refused width/depth timing remain open. Requested 512KiB Expr growth segments and the 2MiB outer segment are stack capacities, not an allocation/RSS ceiling. The 100000-record and 500000-reference compatibility counts do not prove acceptable memory use, UI speed or every combined model shape. - Deep partial legacy `Value` teardown, mixed Expr variants/width lifecycle closure, and broad ordinary/historical Project shapes still need evidence. - Source8 grammar/parity, server/CLI/command/response transport and output/error caps, evaluator and final product acceptance remain open. Linux runtime acceptance is explicitly deferred; it must not restart automatically. Root retains activation, integration, coordination and compiler ownership. This is a passing Windows debug checkpoint with preserved evidence, not authorization to change `DEPTH_128_VALIDATED`.