The calendar's deadline table rendered every recorded submission cycle, so
elapsed rounds sorted to the top and read as the next thing due — 13 of its 17
rows were already in the past. Underneath that, the fetcher preserves
`source: manual` entries forever without ever checking whether they still
describe a future deadline, and 11 of 13 cloud-edge venues are manual.
Preserving them is correct: WikiCFP cannot express multi-cycle venues and does
not carry most systems conferences at all, so re-fetching would replace
researched rounds with worse data or nothing. What was missing is a signal.
- Extract the cycle helpers into cycles.py so the fetcher and the generator
share one definition of which round a reader should act on. cycles_of()
reads an entry without folding flat fields into a cycles list, which would
otherwise rewrite every single-round entry the fetcher writes back.
- The calendar table lists open cycles only; a venue whose every round has
elapsed moves to an "Awaiting the next call" table instead of vanishing.
- pa-fetch-deadlines records those venues under a new stale: key and probes
the year-bumped CFP URL to say which ones already have a next edition
online. A candidate must return 200, mention the target year, and be newer
than any year the entry records — venues.yaml still points SC at sc24.
- README: Task 7 and a matching agent prompt for keeping deadlines current,
since nothing in this repo refreshes them on its own.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The two special_issues entries were proof-of-concept data and could not be
corroborated: no TPDS "Edge AI Systems" or open FGCS "Serverless Computing
at the Edge" call is findable, and both named real researchers as guest
editors. Removed rather than corrected — nothing verifiable exists to
replace them with. No open special issue was found at any tracked journal,
so the field stays absent until a real CFP appears.
Audited the rest of the data while there. All 39 candidate pools come from
DBLP and all 471 digested papers reconcile against them, so the paper set
is sound. Three defects surfaced:
- DBLP returns HTML-escaped text and fetch_papers never decoded it, so 136
entities sat in the cached pools and "Theodore Y. Ts'o" reached the
published ATC-2024 digest. Decoded at the fetch boundary and cleaned the
existing files through the YAML parser.
- SC event_dates recorded the exhibition window (Nov 17-19) instead of the
conference (Nov 15-20); EuroSys ran a day long (Apr 19-24 vs 19-23).
Both verified against the official sites, which also confirm every
SC, EuroSys and OSDI submission deadline is exact.
- TC-2025 digest carried a paraphrased title, now matching DBLP.
EuroSys only records its spring cycle; the fall cycle has no home in the
one-deadline-per-venue schema.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>