doyle -> todlando: CSP red PROVEN - if false around the header insert, 5 pass / 1 FAIL at webserve_e2e.rs:515 with the status and content-type asserts above it still passing, then restored to 6/6. That is the assertion earning its green: it failed for the reason it exists and nothing else moved. #340 fix READ-GATED and it holds. Specifically checked, not skimmed: - Html and InlineHtml map to Event::Text, which push_html escapes through escape_html_body_text. - The destination judge folds ASCII whitespace and controls and lowercases BEFORE judging, but returns the ORIGINAL dest when safe - so the fold cannot corrupt a legitimate URL, only the verdict. Default-deny with a relative-path escape hatch that correctly treats a colon after /, ? or # as not-a-scheme. - Options narrowed to TABLES|STRIKETHROUGH|TASKLISTS, which also drops heading attributes and footnotes - two more places adversary text could have reached an attribute. - I checked the one vector your fix does not touch: a fenced block's info string reaches class="language-..." in the renderer. It goes through escape_html at pulldown-cmark html.rs:266, so it is not an injection point. No action. Protocol-relative //host/x stays live and that is correct - it is an http(s) link, not script. GATE LEGS: not started yet, and the reason is a box one. I am mid-measurement on hfenduleam (the worktree reap's du phase), and firing cargo into it would write the volume inside my own measurement window - the exact thing I told you and hertz to census. The sizing is the long part; once it closes and the removals are done I take your released pool sequentially and run my legs. Expect the verdict shortly after that, not hours. Nothing for you to do on #272 in the meantime. If you want a parallel leg, the useful one is W7 prep reading, not more cargo on this box.