Skip to content

Fix dead simpetus.com link failing lychee - #789

Merged
joamatab merged 2 commits into
gdsfactory:mainfrom
jackgdsf:fix-dead-simpetus-link
Oct 12, 2026
Merged

joamatab merged 2 commits into
gdsfactory:mainfrom
jackgdsf:fix-dead-simpetus-link

Conversation

@jackgdsf

@jackgdsf jackgdsf commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #788.

simpetus.com no longer responds, so the lychee hook fails pre-commit on main and on every open PR. This PR points the get_farfield docstring at the Wayback Machine snapshot of the same page (2026-06-12, which still has the outcoupler section). pre-commit run lychee --all-files passes locally.

The require_label failures on open PRs are separate: they just need a maintainer to set a label.

A human must review this before merge.

Requested by @nikosavola

🤖 Generated with Claude Code

Summary by Sourcery

Restore reliable documentation link checking by pointing the grating far-field reference to an archived source.

Bug Fixes:

  • Replace the unavailable simpetus.com reference with an archived Wayback Machine URL so link checking succeeds.

Chores:

  • Add a changelog entry for the link correction.

simpetus.com no longer responds, which fails the lychee pre-commit hook.

Fixes gdsfactory#788

Co-authored-by: Niko Savola <niko@gdsfactory.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Niko Savola <niko@gdsfactory.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sourcery-ai

sourcery-ai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

The PR fixes lychee/pre-commit failures caused by the unavailable simpetus.com reference by pointing the get_farfield docstring to an archived snapshot of the same page, with no runtime code changes.

File-Level Changes

Change Details Files
Replace the dead external documentation link with an archived Wayback Machine URL so link checking succeeds while preserving the referenced outcoupler section.
  • Update the get_farfield docstring reference from simpetus.com to the dated HTTPS archive snapshot.
  • Leave simulation behavior unchanged; only documentation metadata is modified.
gplugins/gmeep/get_simulation_grating_farfield.py

Assessment against linked issues

Issue Objective Addressed Explanation
#788 Replace the dead simpetus.com link in the get_farfield docstring with a reachable archived copy so the lychee pre-commit hook passes. ✅

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!

Sourcery assessment

Approved.


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sourcery assessment

Approved.

@jackgdsf

Copy link
Copy Markdown
Contributor Author

Critical review (automated, Fable model)

Scope checked: the diff, .github/.lychee.toml, the failing pre-commit job on main (run 36915207464, job 110547383547) and the passing one on this PR's head 3251b15 (job 114189522823), the Wayback snapshot itself, and the towncrier config.

Claims vs. evidence

  • "simpetus.com no longer responds" — VERIFIED. curl http://www.simpetus.com/projects.html returns Empty reply from server; the main lychee log reports [ERROR] ... Connection failed at gplugins/gmeep/get_simulation_grating_farfield.py:340.
  • "snapshot from 2026-06-12, which still has the outcoupler section" — VERIFIED. web.archive.org/web/20260612150937/... answers 200 directly (no timestamp redirect) and the body contains meep_outcoupler (3 hits).
  • "pre-commit run lychee --all-files passes locally" — UNVERIFIED locally (no lychee in this environment), but the CI pre-commit job on 3251b15 shows lychee ... Passed, and web.archive.org matches none of the exclude regexes in .github/.lychee.toml, so the new URL was actually checked rather than skipped.
  • "fails pre-commit on main" because of simpetus — PARTIALLY VERIFIED. The main log shows two failing inputs, not one: the simpetus error, plus [TIMEOUT] https://www.photonics.intec.ugent.be/contact/people.asp?ID=332 at gplugins/modes/find_neff_ng_dw_dh.py:5. See Low Bump kfactory[git,ipy] from 0.7.5 to 0.8.4 #1.

Findings

  1. Low — gplugins/modes/find_neff_ng_dw_dh.py:5 (not in diff). The second failure in the main run is a 20 s timeout on the ugent.be link. It responded 200 in 1.3 s when probed now and passed on this PR's run, so it is a flake rather than a dead link, but it means "main goes green after merge" is not guaranteed by this diff alone. Not a blocker; if it recurs the existing pattern in .lychee.toml (# Rate-limited or returns 403/5xx transiently) is where it goes.

  2. Low — gplugins/gmeep/get_simulation_grating_farfield.py:340. The fix trades one external dependency in the lint path for another: web.archive.org is known to rate-limit crawlers (429) and to be slow under load, and lychee treats 429 as a failure unless --accept is widened. Six probes with lychee's User-Agent (HEAD and GET) all returned 200 in <0.2 s, and the repo only has this single archive.org URL, so the realistic risk is small. The alternative consistent with how this repo already handles ~40 other hosts would be an exclude entry under # Broken or renamed upstream links in .github/.lychee.toml; the archive link is the better choice for a reader of the docstring, so this is a note, not a request for change.

  3. Changelog fragment .changelog.d/789.fixed — matches the configured fixed type ([[tool.towncrier.type]] directory = "fixed") and the PR-number naming used by 760.fixed … 765.fixed. No issue.

No correctness, security, or performance surface beyond the above; the diff touches a docstring string literal and adds a text fragment.

Verdict: AUDIT PASSED: I cannot break this logic. Two Low notes above, neither blocking. A human still has to approve the merge.

@joamatab joamatab added the documentation Improvements or additions to documentation label Oct 12, 2026
@joamatab
joamatab merged commit fa62abf into gdsfactory:main Oct 12, 2026
17 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pre-commit fails on main: dead simpetus.com link in gmeep

2 participants