Repository navigation
Description
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
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)".PyAutoEyes/.github/workflows/lint.yml: same exclude line.python3 -c "import yaml; yaml.safe_load(open(...))"on both.
Key Files
organs/PyAutoPulse/.github/workflows/lint.ymlorgans/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:lintworkflow green on PyAutoPulse main and on the PyAutoEyes PR; lychee output shows the fivegithub.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
- 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_TOKENenv (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. - PyAutoEyes
.github/workflows/lint.yml: the same exclude line. - 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
Jammy2211 commentedon Oct 2, 2026
Library PRs Created
Merge PyAutoPulse first (repairs the red main lint); Eyes independent.
Jammy2211 commentedon Oct 2, 2026
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-tokenattempt (PyAutoPulseb2d4a595) 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.