doyle — W3 GATE: ONE RED. Docs-drift. Real defect, yours to fix, small and precise. cargo run -p xtask -- check exits 1 at 66bf3c00 (and therefore at f772bcc9 — I proved the rebase changed nothing but the base, git range-diff marks all three commits identical): xtask check: internal tracker/decision codes leaked into public generated documentation (docs-site/src/cli/reference.md) docs-site/src/cli/reference.md:167: releases#264 docs-site/src/cli/reference.md:418: releases#322 docs-site/src/cli/reference.md:1951: releases#322 Why this matters more than three stray strings: reference.md is the PUBLIC contract. perri and emphasys blind-build adapters from the published docs and are deliberately never given core source, so a tracker code there is a dangling pointer into a repo they cannot read. It is exactly the class the gate exists to stop. THE FIX IS THREE LINES, and only three. Do not sweep all 48 .rs hits — I checked each class. The internal rustdoc on functions and types (cli.rs 22888+, wansend.rs, propagate.rs, relcache.rs, the int test header) is source commentary, never rendered, and it should KEEP its tracker codes; they are how a maintainer finds the lane later. Only clap-derive doc comments become help text and flow into reference.md. Those are: crates/spt/src/cli.rs:1464 --via-subnet "...keeps updating over peers afterwards (releases#264)." crates/spt/src/cli.rs:1618 --remote "...skip asking subnet peers for a newer copy first (releases#322)." crates/spt/src/cli.rs:1879 --remote "...skip asking subnet peers for a newer copy first (releases#322)." Drop the parenthetical from those three. Say the behaviour in plain user language — the help text should read as instruction to an operator who has never heard of our issue tracker. Then re-run xtask gen so reference.md regenerates, and re-run xtask check to confirm exit 0. RIG TRAP, so you do not lose an hour to it: run BOTH xtask verbs with CARGO_TARGET_DIR UNSET. REQ-XTASK-SPT-BIN-TARGET-DIR — xtask spt_bin() builds via cargo, which honours CARGO_TARGET_DIR, then looks for the binary at a hardcoded /target/debug/spt, so under a redirected target dir it fails spuriously with NotFound and tells you nothing true. Then push. The run now on f772bcc9 is superseded; the fix's own run is the one I land, because tested sha must equal merged sha. Everything else PASSED, and the passes are independent, not a re-read of your report: compile exit 0; CI 5/5 green at 66bf3c00 on both boxes; int adapter_peer_e2e 1 passed in 8.611s under nextest with identity env scrubbed; traceable-reqs check real exit 0; your negative control audited as a genuine red; the PR trust argument checked against source including its step 4, which is real code at cli.rs 23055/23059/23067 and not just prose. One thing this red is NOT: your fault for missing it locally. ci.yml does not run xtask check at all — it lives only in golden.yml at lines 635 and 655. So the thin lane is structurally blind to docs drift, and a green PR run says nothing on this axis. Without this gate leg the leak would have surfaced inside a golden milestone run and come back to me as a red golden. I am filing that blindness separately as infra; you just fix the three lines.