Skip to content

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

Closed

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

  1. Jammy2211 commented on Oct 2, 2026

    @Jammy2211
    ContributorAuthor

    Library PRs Created

    Merge PyAutoPulse first (repairs the red main lint); Eyes independent.

  2. Jammy2211 commented on Oct 2, 2026

    @Jammy2211
    ContributorAuthor

    Shipped

    Merged 2026-10-02: PyAutoPulse#4 and PyAutoEyes#13 — lychee now excludes ^https://github\.com/.*/blob/ in both organs' lint.yml. GitHub answers non-browser fetches of blob pages with 503 regardless of auth (reproduced on cpython's README from a laptop); the --github-token attempt (PyAutoPulse b2d4a595) did not change the outcome. Links stay in the prose; only the gate skips them. Lint green on both PRs; PyAutoPulse main lint re-runs on the merge.

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