Skip to content

fix(ci): docs-lint regex matches IP addresses; dedupe Iterate heading#292

Merged
Destynova2 merged 1 commit intomainfrom
fix/docs-lint-false-positives
Apr 26, 2026
Merged

fix(ci): docs-lint regex matches IP addresses; dedupe Iterate heading#292
Destynova2 merged 1 commit intomainfrom
fix/docs-lint-false-positives

Conversation

@Destynova2
Copy link
Copy Markdown
Contributor

Summary

Two pre-existing false positives in the docs-lint workflow that surface on every release-plz auto-PR (#291 currently blocked by both):

1. no-hardcoded-version regex matches IP addresses

The regex v?0\.[0-9]+\.[0-9]+ was too greedy: with ? on v plus the 0\. anchor, it matched the first three octets of legitimate IP addresses like 0.0.0.0 and 127.0.0.1 in network-deployment docs (oauth-setup.md, troubleshooting.md, deploy.md, security.md).

Tightened to \bv[0-9]+\.[0-9]+\.[0-9]+\b: the literal v prefix is mandatory, word boundaries prevent partial matches inside other identifiers.

Also extended the exclusion list to cover ADR-0012/0015/0016 and reference/benchmarks.md which legitimately quote historical version numbers when documenting when a feature landed.

2. Duplicate ## Iterate heading in auto-tune-routing.md

Removed the duplicate empty heading that triggered MD024 no-duplicate-heading.

Why now

Both were pre-existing on main. They surface specifically on release-plz PRs because:

  • The workflow's paths: ["**.md"] trigger picks up CHANGELOG.md edits.
  • Each release cut runs the full doc-lint suite on the existing tree.

The version-bump PR #291 (v0.36.39) is currently blocked. Merging this fix unblocks every future release.

Test plan

  • Local repro: grep -REn '\bv[0-9]+\.[0-9]+\.[0-9]+\b' docs/ --include='*.md' --exclude-dir=archive | grep -vE '<exclusion>' → empty (guard passes).
  • docs/how-to/auto-tune-routing.md no longer has duplicate H2.
  • CI: docs-lint job goes green; chore: release v0.36.39 #291 release-plz PR can auto-merge.

🤖 Generated with Claude Code

Two unrelated false positives that block release-plz PRs (which touch
**.md and trigger the docs-lint workflow):

1. The `no-hardcoded-version` regex `v?0\.[0-9]+\.[0-9]+` was too
   greedy: the `?` on `v` plus the `0\.` anchor matched the first three
   octets of legitimate IP addresses like `0.0.0.0` and `127.0.0.1` in
   network-deployment docs (oauth-setup.md, troubleshooting.md, deploy.md,
   security.md). Tightened to `\bv[0-9]+\.[0-9]+\.[0-9]+\b` — the literal
   `v` prefix is mandatory, word boundaries prevent partial matches.

   The exclusion list also picked up four ADRs (0012, 0015, 0016) and
   reference/benchmarks.md that legitimately quote historical version
   numbers when explaining when a feature landed.

2. `docs/how-to/auto-tune-routing.md` had two empty `## Iterate`
   headings in a row (MD024 no-duplicate-heading). Removed the duplicate
   that had no content underneath.

Both were pre-existing on main — they only surfaced now because the
release-plz auto-PR (#291) edits CHANGELOG.md, which the workflow's
`paths: ["**.md"]` trigger picks up, running the full doc-lint suite
on every release cut.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Destynova2 Destynova2 enabled auto-merge April 26, 2026 17:32
@Destynova2 Destynova2 merged commit cb00118 into main Apr 26, 2026
43 checks passed
@Destynova2 Destynova2 deleted the fix/docs-lint-false-positives branch April 26, 2026 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant