Skip to content

fix(lint): exclude github.com blob pages from lychee (503 to non-browser fetches) #3

Description

@Jammy2211

Overview

Corrective fix: PyAutoPulse main is red on the lint workflow because lychee cannot fetch github.com/.../blob/... pages — GitHub returns 503 to every non-browser page view (status page green), and --github-token (commit b2d4a595) did not change that. PyAutoEyes' lint has the same exposure (failed 2026-10-02 10:57). Root cause reproduced from a laptop with curl on cpython's README blob page.

Plan

  • Exclude ^https://github\.com/.*/blob/ from lychee in both organs' lint.yml, beside the existing issues/pull/commit/releases exclude; update the header comment.
  • No prose changes; links stay for humans.
  • Two PRs: PyAutoPulse (red main) and PyAutoEyes; end at PR-open; merge human.
Detailed implementation plan

Affected Repositories

  • PyAutoPulse (primary)
  • PyAutoEyes

Branch Survey

Repository Current Branch Dirty?
organs/PyAutoPulse main clean
organs/PyAutoEyes main clean

Suggested branch: fix/lint-lychee-exclude-blob (task lint-lychee-exclude-blob)

Implementation Steps

  1. PyAutoPulse/.github/workflows/lint.yml: add --exclude '^https://github\.com/.*/blob/' \ after the raw.githubusercontent exclude; extend the header comment item 4 with "github.com blob pages (GitHub serves 503 to non-browser page views; a token does not help)".
  2. PyAutoEyes/.github/workflows/lint.yml: same exclude line.
  3. python3 -c "import yaml; yaml.safe_load(open(...))" on both.

Key Files

  • organs/PyAutoPulse/.github/workflows/lint.yml
  • organs/PyAutoEyes/.github/workflows/lint.yml

Original Prompt

Click to expand starting prompt

Lint: exclude github.com blob pages from lychee (Pulse main red, Eyes exposed)

Type: bug
Target: PyAutoPulse
Repos:

  • PyAutoPulse
  • PyAutoEyes
    Themes:
  • ci
  • profiling
    Difficulty: small
    Autonomy: supervised
    Priority: high
    Status: draft
    Consequence: notify
    Witness: lint workflow green on PyAutoPulse main and on the PyAutoEyes PR; lychee output shows the five github.com/.../blob/... links as Excluded, not Errors
    Review-minutes: 3
    Unattended: ready
    Filed: 2026-10-02
    Epic: profiling-organ-birth

Request (verbatim)

fix loose end then go to next phase

Context

lint.yml in PyAutoPulse (merged 2026-10-02 in PyAutoPulse#2) and in PyAutoEyes runs lychee over
the prose markdown. On 2026-10-02 every https://github.com/<org>/<repo>/blob/<ref>/<file> URL
returned 503 Service Unavailable to any non-browser client (curl/lychee, any User-Agent,
from Actions and from a laptop; cpython's own README too) while githubstatus.com reported all
systems operational — GitHub's page-view bot protection, not API rate limiting. PyAutoPulse#2
lint failed twice on five such links; PyAutoEyes main lint failed the same way at 10:57 after
passing at 10:56. Passing GITHUB_TOKEN to lychee (--github-token, PyAutoPulse commit
b2d4a595) did not help: the post-merge lint on PyAutoPulse main still 503'd on the identical
set. PyAutoPulse main is therefore red on lint.

Task

  1. PyAutoPulse .github/workflows/lint.yml: add --exclude '^https://github\.com/.*/blob/'
    to the lychee invocation (next to the existing issues/pull/commit/releases exclude). Keep the
    GITHUB_TOKEN env (harmless; still helps API-resolvable links). Update the header comment
    (step 4 of the workflow's numbered list) to say why blob pages are excluded.
  2. PyAutoEyes .github/workflows/lint.yml: the same exclude line.
  3. No prose edits: the links stay in the markdown (they are correct for humans); only the
    link-rot gate stops fetching them.

Out of scope

Replacing the links with raw.githubusercontent.com / Pages URLs; any lychee version pin.

Ship policy

Supervised: corrective PRs, end at PR-open, merge human (/prm). PyAutoPulse first (it is the
red main), Eyes independent.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions