Skip to content

Repair lost and wrong conference data; stop the new-year job deleting entries - #494

Merged
JesperDramsch merged 2 commits into
mainfrom
ai-agent/exciting-tesla-g7fn0r
Oct 14, 2026
Merged

JesperDramsch merged 2 commits into
mainfrom
ai-agent/exciting-tesla-g7fn0r

Conversation

@JesperDramsch

@JesperDramsch JesperDramsch commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

First PR in a stack. It fixes conference data the automated pipeline lost or got wrong, and closes the bug that lost it.

Needs your call

  • PyCon Russia 2026 is restored exactly as it was before it was lost. Its cfp (2026-05-15 23:59) and timezone (Europe/Moscow) can't be re-verified: the archived CfP pages never give a closing date.
  • PyCon Namibia 2027. pretalx enforced 01:59 on 21 September, but the official CfP page says "Submissions close at 23:59, Windhoek time". I used 23:59; 01:59 looks like a timezone slip on pretalx. pretalx now also reads "closed on 2026-10-13 14:00". That could be an unannounced extension, but no announcement backs it, so there's no cfp_ext.
  • PyCon Ireland 2026. The official site gives the original deadline as a date only ("31 July 2026"), so it's 23:59. An archived Sessionize page showed 00:00 that day.
  • Python Ho 2026. Sessionize states both deadlines in UTC+01:00, but the entry's timezone is Africa/Accra (UTC+0). I left the timezone unchanged.
  • PyCon Armenia 2026 keeps timezone: Asia/Yerevan from the earlier data. The site states no zone.

Workflow fixes

  • All three data files are now staged. check-conference-update.yml runs pixi run sort, which moves expired entries from conferences.yml to archive.yml. Both commit steps staged only conferences.yml, so the moved entries were deleted instead of archived. Commit e8c60ac lost six 2026 entries this way. The fix uses the same git add line as enrich-tba-conferences.yml and canonical-source-update.yml.
  • new-year-scraper is switched off (if: false && ...). Of its 9 commits since June, one was a genuine new edition. The others re-edited editions that already existed, and two of them caused the losses above.

Data changes

Every value was checked on the conference's own site or CfP platform on 2026-10-13, and a second, independent pass tried to refute each one.

Entry Change Source
PyCon Ireland 2026 17 Oct → 21 Nov 2026; timezone Europe/Dublin; alt_name PyCon IE 2026.pycon.ie: "takes place on 21 November 2026 at Chartered Accountants House". Sessionize: "Call closes in GMT Daylight Time (UTC+01:00)"
PyCon Namibia 2027 19–25 Feb → 26 Feb–4 Mar 2027; cfp 01:59 → 23:59; adds link/2027, cfp_link, sponsor, finaid, twitter, alt_name na.pycon.org/2027 and its CfP page: "21 September 2026 Submissions close at 23:59, Windhoek time"
PyCon Sweden 2026 cfp 2025-08-23 → 2026-08-23; cfp_ext 2026-09-06; Mastodon was an Unsplash URL, now @pyconsweden@fosstodon.org pretalx.com/pycon-sweden-2026 (archived and live)
Wagtail Space 2026 cfp_ext 2026-09-18 23:59 UTC; sponsor; Mastodon pretalx.com/wagtail-space-2026: "Submissions close on 2026-09-18 23:59 (UTC)"
Python Ho 2026 cfp_ext 2026-07-01; sponsor page moved to /pages/sponsors.html sessionize.com/pyho-2026: original close 15 Jun (archived), now 1 Jul
PyCon Russia 2026 Re-added (it was in no data file) the data as it was before e8c60ac
PyCon Colombia 2026 cfp 04-28 with cfp_ext 05-12 (the import had put the extension in cfp); America/Bogota; finaid; sponsor anchor data before e8c60ac; 2026.pycon.co
PyOhio 2026 cfp time 08:00 America/New_York; Mastodon data before e8c60ac; pretalx.com/pyohio-2026
EuroSciPy 2026 cfp_ext 2026-03-01; Europe/Warsaw euroscipy.org: "deadline ... 1st of March 2026 at 23:59:00 CET"; archived pretalx: "2026-02-22 23:59 (Poland)"
PyCon Armenia 2026 end 07-26 → 07-25; alt_name PyData PyCon Yerevan; sub PY,DATA; sponsor pycon.am
PyTennessee 2019 sponsor → Internet Archive copy (pytennessee.org now redirects to a gambling site) web.archive.org/web/20191121093517/https://2019.pytennessee.org/prospectus
PyCon Somalia 2024, 2025 link → Internet Archive copies from before the site gained an injected spam link web.archive.org/web/20240825204436 and /20250812200136
North Bay Python 2026 Bluesky URL moved out of the mastodon field; real Mastodon added northbaypython.org

The sort also moved PyCon Portugal 2026 (ended 5 September) to the archive, as it would on any run.

New conferences go in the next PR in the stack.

Checks

  • python utils/sort_yaml.py --skip_links completed; it validates every entry against the schema.
  • pre-commit passed on the changed files.
  • pytest tests/: 717 passed. The same 10 tests fail on an untouched checkout of this branch because the local environment has pandas 3.0.5 (the project pins <2.3). CI uses the pinned versions.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QzyF2ciB5jhvcTVpj4ErMr

The sort step moves expired entries from conferences.yml to archive.yml,
but both commit steps staged only conferences.yml, so moved entries were
deleted instead of archived (PyCon Russia 2026 was lost this way). Stage
all three data files, matching enrich-tba and canonical-source-update.

Disable new-year-scraper: in practice it re-edited existing editions
instead of adding new ones, and it is what triggered the lost entries.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QzyF2ciB5jhvcTVpj4ErMr
@github-actions github-actions Bot added the CI/CD label Oct 13, 2026
Every changed value was checked against the conference's own site or
CfP platform on 2026-10-13, and a second pass tried to refute it.

Corrections:
- PyCon Ireland 2026 moved to 21 November (new venue).
- PyCon Namibia 2027 runs 26 February to 4 March; CfP closed at 23:59
  Windhoek time per the official CfP page.
- PyCon Sweden 2026: CfP year typo (2025 -> 2026), extension to
  6 September, and the Mastodon field held an Unsplash photo URL.
- Wagtail Space 2026: CfP extension to 18 September.
- Python Ho 2026: CfP extension to 1 July; sponsor page moved.

Restored (lost in e8c60ac when a sort moved them to archive.yml but only
conferences.yml was committed):
- PyCon Russia 2026, re-added from the data as it was before the loss.
- PyCon Colombia, PyOhio, EuroSciPy and PyCon Armenia 2026 fields.

Compromised links replaced with Internet Archive snapshots taken before
the compromise: PyTennessee 2019 sponsor (domain now a gambling
redirect) and PyCon Somalia 2024/2025 (injected spam link). North Bay
Python 2026 had its Bluesky URL in the mastodon field.

The sort also archived PyCon Portugal 2026, which ended in September.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QzyF2ciB5jhvcTVpj4ErMr
@JesperDramsch
JesperDramsch marked this pull request as ready for review October 14, 2026 00:03

Copy link
Copy Markdown
Owner Author

Routine review

1. Request

No linked issue; the PR description is the request. Repair conference data the pipeline lost or got wrong (13 named entries: PyCon Ireland, Namibia, Sweden, Wagtail Space, Python Ho, Russia, Colombia, PyOhio, EuroSciPy, Armenia, PyTennessee 2019, PyCon Somalia 2024 and 2025, North Bay Python 2026), stage all three data files in both commit steps of check-conference-update.yml, and switch off new-year-scraper.

2. Checked against

Date from date: Wed Oct 14 00:03:51 UTC 2026.

  • unverified: every per-conference fact (dates, CfP deadlines, timezones, URLs and the Internet Archive links). I did not fetch the conference sites, cfp_links or archive.org copies in this review; I judged them only for internal consistency and against the PR's own cited sources.

3. Needs your decision

  1. PyCon Russia 2026 is restored from pre-e8c60ac data, not verified. cfp 2026-05-15 23:59 and Europe/Moscow cannot be re-checked per the PR. Recommendation: merge, since it is a restore. The entry carries a Moscow city centre coordinate, 55.7558, 37.6173, which looks generic (judged on 2026-10-14).
  2. PyCon Namibia cfp 23:59 vs pretalx 01:59. The PR sides with the official page. Recommendation: keep 23:59, as the PR proposes. The deadline passed on 2026-09-21, so the displayed result of this call is a historical value.
  3. PyCon Ireland 23:59 vs Sessionize 00:00. Recommendation: keep 23:59.
  4. Python Ho timezone. Sessionize states UTC+01:00 while the entry says Africa/Accra (UTC+0). Recommendation: investigate separately; the one-hour discrepancy sits on an expired deadline, so it does not block this PR.
  5. PyCon Armenia timezone Asia/Yerevan is carried over though the site names no zone. Recommendation: keep.
  6. Work outside the stated purpose. The PR also moves PyCon Portugal 2026 to the archive (the sort does this on any run) and edits the sponsor/mastodon/finaid fields on entries whose dates are untouched (Colombia, PyOhio, Armenia, Wagtail Space). Recommendation: keep; the changes are small and the sort enforces the move.

4. Findings

Important: None.

Nits:

  • .github/workflows/check-conference-update.yml:971 and :1237: git add a b c 2>/dev/null || git add conferences.yml falls back to staging only conferences.yml if any one path is missing, which silently reintroduces the bug. All three files exist today (_data/ lists archive.yml, conferences.yml, legacy.yml), and the line is identical to the one in enrich-tba-conferences.yml:198 and canonical-source-update.yml:204, so it is consistent with the repository, but the fallback is the same risk. Judgement call.
  • .github/workflows/check-conference-update.yml:1241: the git add fix is also applied inside the now-disabled new-year-scraper job. Harmless; it only matters if the job is re-enabled.

5. Tests

Request invariant: "no entry is lost when sort moves expired entries". No test in the PR covers this; the workflow change is YAML only and nothing checks that the commit steps stage all three files, so this is not covered by a test. Per-entry data changes are covered only by the schema validation in the sort run.

Commands run (Python 3.11, pandas<2.3, per REVIEW.md):

  • python utils/sort_yaml.py --skip_links: exit 0. ✅ 1214 conferences passed validation; 📊 Split results: 33 active, 19 TBA, 610 expired, 552 legacy. git status/git diff --stat -- _data after the run: empty, so the post-merge sort will not rewrite these files.
  • pytest tests/ -q -x -p no:cacheprovider: 727 passed, 5 skipped, 3 xfailed, 2 xpassed, 153 warnings in 29.63s.
  • ruff: not run; the PR changes no Python.

6. Bounds

  • Read in full: the PR body, the full 359-line diff, REVIEW.md and CONTRIBUTING.md (first 80 lines) from origin/main. There is no AGENTS.md.
  • Not done: no website fact-checking (section 2), no JavaScript tests (no static/js/ change), no run of the workflow itself, no pre-commit run (quote the pre-commit.ci - pr status instead).
  • The verification subagent pass had no Important candidates to check.
  • The PR states 10 pre-existing pandas 3 failures locally; with the pinned pandas<2.3 I saw none.

Generated by Claude Code

@JesperDramsch
JesperDramsch merged commit 688ddef into main Oct 14, 2026
12 checks passed
@JesperDramsch
JesperDramsch deleted the ai-agent/exciting-tesla-g7fn0r branch October 14, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants