Why: F2 token extraction predates the two-section (HOME/IMC) layout of ~/.secrets/gitea so it concatenated both tokens and always failed; F6 registered a grep BRE alternation that facts-verify unescapes into a literal pipe, failing re-verification and misaligning precheck's naive pipe split into a spurious F6 date-format expiry warning, while both underlying facts still hold. Evidence: make facts-verify now 6/6 PASS with last_verified refreshed to 2026-10-14; new regression test for escaped pipes in facts rows; full governance suite 342 tests OK (18 skipped); precheck [facts] line reports all facts fresh on the fixed parser. Impact: policy/facts.md F2 (HOME-section awk extraction) and F6 (negated pipe-free grep); scripts/task.sh precheck neutralizes escaped pipes the same way facts-verify does; tests/test_task.py covers it. Refs: precheck WARN 过期事实 F6(日期格式); AGENTS.md 证据与验证门禁.