Executive summary
Phase 3F-CE used the exact 20-source immutable corpus from the failed Phase 3F campaign. It did not run new discovery and did not reach relevance, feasibility, reproduction, candidate, governor, or promotion stages.
The original request path was established precisely: sequential non-streaming HTTPX calls to Qwen 3.8 27B, one server slot, strict JSON Schema output, temperature zero, reasoning disabled, a 3,072-token extraction ceiling, and a 300-second HTTP inactivity timeout with no separate wall-clock deadline.
The retained prompts were small: 685 to 1,011 input tokens. A clean control completed in 7.59 seconds, and a longer preserved extraction completed in 61.025 seconds. Ordinary latency and input size therefore do not explain the original uniform 20 timeouts.
The real failure is an intermittent hard generation hang. A preserved extraction stopped at 116 decoded tokens while continuing to consume CPU and GPU. The model health endpoint could remain healthy while the execution slot and later requests stopped completing. Client disconnect did not clear the hard-hung slot.
The old non-streaming transport allowed every later source request to accumulate behind the unavailable single slot. This explains how individually viable prompts produced 20 identical ReadTimeout outcomes.
A bounded streamed request contract, normalized terminal reasons, request/token/timing hashes, queue observation, cancellation verification, a frozen-corpus runner, and focused tests were implemented on an isolated qualification branch. The branch commit is 37ccb85380b5259a24c3ed7368ad810619261d6e.
The qualification stopped at the first unresolved runtime divergence after two source attempts: one success, one timeout/hard hang, and 18 intentionally not attempted. The instrumentation branch was not merged or activated. Production Hiro remained on revision 19ff77a5b09cf3b76712a4b5eef3d6617089fdd9.
The final disposition is PHASE 3F-CE NOT DEMONSTRATED — MODEL LATENCY/REQUEST CONTRACT FAILURE. A new fresh Phase 3F campaign is not justified until a stable runtime implementation passes the same two-source reproducer and then all 20 frozen sources.