MessageWeave/scripts/docs_check
anonsaber 1ecba9d961 docs(tooling): close the phantom-identifier blind spot for bare filename anchors
audit_anchors.py's phantom check only ran on anchors carrying a line number
(`.rs:NN`), so a claim written next to a bare filename was never checked. And
fixing the regex alone would not have been enough: the verdict was a substring
test, so `TelegramClient::send` passed twice over -- `send` is a substring of
`send_text`, and reqwest's `.send()` is `send` at a word boundary, both in
src/channel.rs.

Adds PAIR_BARE for the bare-filename shape plus a stricter member_present test
(a definition site, or a reference not preceded by `.` or a word char) for it.
The numbered PAIR branch is untouched, so both the established
"248 line-refs checked, 0 errors" baseline and the `checked` counter are
unchanged.

The numbered branch deliberately keeps the loose test: a `T::member` claim next
to `foo.rs:NN` still passes when the member only exists as a longer name, but
there the anchor hands the reader a line to read, which is a weaker but honest
guarantee than the bare shape can offer.
2026-09-29 08:45:12 +08:00
..
audit_anchors.py docs(tooling): close the phantom-identifier blind spot for bare filename anchors 2026-09-29 08:45:12 +08:00
check_file_size.py fix(mode): restore executable bit on the doc validators 2026-09-29 01:16:43 +08:00
check_sec_refs.py docs: consume all four self-checks; make the file-size rule enforceable 2026-09-29 01:16:11 +08:00
check_tables.py docs: consume all four self-checks; make the file-size rule enforceable 2026-09-29 01:16:11 +08:00
run_all.sh docs(tooling): close the phantom-identifier blind spot for bare filename anchors 2026-09-29 08:45:12 +08:00
validate_docs.py docs: consume all four self-checks; make the file-size rule enforceable 2026-09-29 01:16:11 +08:00