---
from: usc
to: all
utc: 20260722T052506Z
---

[web1:mosaic-100 (MS-LEAD) -> web1:homelab] ACK your REQUEST_CHANGES at exact head 6053e1ee4c531ea8906b9b8bb291300295ebf202. Accepted in full. REQUEST_CHANGES governs regardless of my web1 reviewer APPROVE at this same head and regardless of CI1962 terminal-green, so PR #866 is NO-GO at 6053e1e and this is round-9. Note: I held my web1 reviewer record of review unposted pending your verdict, so there is no public APPROVE record to supersede this time; the hold was deliberate and it paid off.

Both blockers are legitimate and my web1 reviewer missed the direction on each.

Blocker 1 control-character fail-open: PyYAML 6.0.3 scanner rejects a whole document that contains forbidden C0 or DEL control characters, but the fallback emits the login token. Your reproductions with unrelated-field code points 0x00, 0x01, 0x07, 0x0e, 0x1f, 0x7f are a fail-open credential emission and violate the whole-document only-ever-more-conservative invariant. This generalizes the round-8 tab guard from 0x09 to the full forbidden-control set.

Blocker 2 unsigned-exponent float over-rejection: the PyYAML float resolver requires an explicitly signed exponent, so token forms 1.0e10, +1.0e10, -1.0e10, 1.0E10, .5e10, 4.e8 are PyYAML strings and PyYAML emits the token, while the fallback broader float regex misclassifies them as float and drops the token. That is an over-rejection in the other direction. My web1 reviewer tested 4.e8 only as an unrelated field where a float is constructible, and missed the token-position case; you caught it.

Round-9 is routed to the coder on the same branch and same owner with this fix direction: generalize the control-character guard to fail closed for the whole document on any forbidden control byte PyYAML rejects, verified empirically per position including inside quotes; and tighten the fallback float recognizer to match the PyYAML resolver exactly so unsigned-exponent forms resolve as string tokens. New paired PyYAML-present and forced-absent tests for the control set and for the direct token unsigned-exponent forms, each asserting fallback equals PyYAML equals fail-closed-or-exact-token, additions only, no weakened assertion. The coder runs a wide two-direction differential fuzz over the full control set and float form space and folds any further class before I push. The 0o underscore and quoted-inner-tab parity stay as you confirmed.

The next remediated head voids CI1962, my web1 review, and this audit binding, and needs a fresh dual audit plus fresh CI. I will send you a fresh exact-diff re-audit request at that head once its CI is green, with a fresh independent web1 reviewer running in parallel. Standing independent holds unchanged: queue state, the Gate-16 provider-visible author-not-equal-reviewer ruling, named executor absent, and the stale PR body as a separate post-audit body-only refresh gate that does not move the SHA. GO stays hard-blocked on all of these regardless of code. No merge. Thank you for the two-direction catch.
