Repository navigation
fix(lychee): drop the redundant example-domain exclude and add check-links - #772
Conversation
…links lychee excludes example.com/.org/.net by default, so the shared exclude is dead weight; the test now proves the default holds and the config carries no entry. The README's online command tells standards to skip its own fixtures, which are test data. The naming vocabulary gains the maintenance function check-links for the online link-check workflow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Claude finished @kyle-sexton's task in 1m 6s —— View job Security review —
|
|
Claude finished @kyle-sexton's task in 7m 11s —— View job Code review complete
No findings meet this lane's high-signal bar (nothing a careful senior reviewer would block on). What I checked:
Not independently verified: the underlying factual claim that lychee 0.24.2 excludes A second independent pass (separate agent, same diff) corroborated these conclusions and found nothing additional. |
|
claude-security-review has reviewed this pull request through a344685; a later push is reviewed from there. |
|
claude-review has reviewed this pull request through a344685; a later push is reviewed from there. |
…hosts (#775) No related issue: follow-up to #772 from the lychee online sweep, approved by the repository owner. ## Summary A GitHub-runner retest of the shared URL excludes (temporary probe step in claude-code-plugins run [38163276512](https://github.com/melodic-software/claude-code-plugins/actions/runs/38163276512), removed before merge) passed six of them, so they go. Two hosts that answer a runner's burst with 429 get per-host pacing instead of an accepted 429. ## Fix - Dropped (passed lychee 0.24.2 on the runner): the NTIA SBOM report (the old TLS-trust-store exclude), help.miro.com 31624028247058, isdown.app/status/anthropic, w3.org WorkingWithTimeZones, host-wide linkedin.com (its one cited post passed), host-wide x.com (status posts passed; a made-up status answered 404). - x.com narrowed: profiles answer 403 to the runner (`x.com/KentBeck`), so profiles stay excluded with the untested article and terms pages; status posts are checked again. - Kept with reasons restated: bsky.app (200 for a made-up post on the runner too, so a pass proves nothing), the two Medium articles, npmjs, dev.mysql.com, ACM, ISO, docs.genius.com, cursor.com, lib.rs (all 403 on the runner). - `[hosts."testing.googleblog.com"]` and `[hosts."jackrighteous.com"]`: `concurrency = 1`, `request_interval = "2s"`, the per-host keys in lychee v0.24.2's `lychee.example.toml` (`[hosts."blog.example.com"]`, `concurrency`, `request_interval`). The no-`accept` rule stands. - `lychee.test.sh` and `fixtures/good/Exclusions.md`: the dropped URLs are now asserted to be checked; x.com profile and article URLs asserted excluded, a status URL asserted checked. ## Verification - `bash components/lychee/lychee.test.sh`: 102 PASS, 0 FAIL (the config with `[hosts]` tables loads in every lychee call there). - Runner probe results: 11 passes (the 7 URLs behind the six dropped excludes, 3 bsky.app URLs including a made-up post, and a made-up claude.ai path), 14 x 403, 1 x 404 (a made-up x.com status). ## Related - #772, melodic-software/claude-code-plugins#7199 and #7222. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…acing (#776) No related issue: follow-up to #775 from the lychee online sweep, approved by the repository owner. ## Summary Restore the exact help.miro.com exclude that #775 dropped, and delete the two `[hosts]` pacing tables #775 added, since they did not stop the 429s they were meant to. ## Fix - `lychee.toml`: `^https?://help\.miro\.com/hc/en-us/articles/31624028247058/?([?#].*)?$` is back, with its reason. It passed one GitHub-runner retest, then answered 403 to lychee on a runner in claude-code-plugins online run [38171979835](https://github.com/melodic-software/claude-code-plugins/actions/runs/38171979835), so one pass was not enough evidence to drop it. A workstation gets 200 with lychee's User-Agent. - `lychee.toml`: deleted `[hosts."testing.googleblog.com"]` and `[hosts."jackrighteous.com"]`. With them synced, claude-code-plugins run [38170376310](https://github.com/melodic-software/claude-code-plugins/actions/runs/38170376310) still got 429 from both hosts. claude-code-plugins#7222 now carries exact-URL `.lycheeignore` entries for the four cited pages, so the tables are unused config. - `components/lychee/lychee.test.sh` and `fixtures/good/Exclusions.md`: the miro article is asserted excluded, and a sibling article (`/articles/example`) is asserted still checked; it leaves the runner-passing list. ## Verification - `bash components/lychee/lychee.test.sh`: 105 PASS, 0 FAIL. - `bash components/lychee/private-repo-inventory.test.sh`: 34 PASS. ## Related - #775, #772, melodic-software/claude-code-plugins#7222. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
No related issue: follow-up from the lychee online sweep requested by the repository owner.
Summary
Retest of the shared
lychee.tomlURL excludes after the GitHub-runner online run in claude-code-plugins. One exclude is dropped as redundant; every other exclude stays, because no runner evidence that it passes was obtainable. The README's manual online command now tells standards to skip its own fixtures, and the naming vocabulary gainscheck-linksfor the online link-check workflow.Fix
lychee.toml: remove'^https?://example\.(com|org)'. lychee 0.24.2 excludes example.com/.org/.net by default: a config-freelychee --dump --verboseoverexample.com,www.example.com,example.organdexample.netURLs marks all four[excluded], whileexample.communitystays checked (the removed regex would also have hidden that host).components/lychee/lychee.test.shandfixtures/good/Exclusions.md: two placeholder URLs and three assertions prove the default still excludes them and the config carries no example-domain entry, so a lychee upgrade that changes the default fails the test.components/lychee/README.md: the manual online command notes--exclude-path '(^|/)components/lychee/fixtures/'for standards itself. The fixtures hold placeholder URLs and intentionally broken links that the offline harness reads; a sharedexclude_pathwould reach every consumer, so the exclusion stays on the standards-only command.components/github-actions-conventions/vocabulary.json: add maintenance functioncheck-links(claude-code-pluginsmaintenance-check-links-online.yml, #7124 there). No existing maintenance function fits:audit-link-check-excludesaudits only the private-repo exclude list, while this workflow checks every Markdown link with the network on.Excludes kept, with why:
No shared exclude added: the row G logs propose none, and every new exception in claude-code-plugins is cited only there.
Verification
bash components/lychee/lychee.test.sh: 101 PASS, 0 FAIL.bash components/lychee/private-repo-inventory.test.sh: 34 PASS.npm run test:github-actions-conventions: pass;npm run lint:github-actions-conventions: 0 findings.Related
🤖 Generated with Claude Code