### Added - CI now refuses a root `*.md` declared in neither `docs/VENDORED.txt` nor the guard's short exemption list, so a new doctrine file can no longer reach a tag undeclared and stay invisible to every consumer's `docs-sync` (#251). - The same guard reads the manifest the other way: every entry must resolve to a regular, non-empty, tracked file — no symlink, no directory, no `../` escape (#251). ### Changed - Consumer guidance: re-vendor tooling reads the pin's `docs/VENDORED.txt`, never a hardcoded list, so a new doctrine file propagates at the next ordinary pin bump with zero list edits (#251).