You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Harden the Activity data contract before automatic merges #284
Why. From QuantEcon/reports-activity#91's first live run, the reporter's daily PRs merge without review, so the website's data check becomes the only gate on what reaches quantecon.org. On 2026-09-29 the maintainer settled the contract those PRs must meet (recorded on #271). Today the check misses two failures: an overwritten data file (in a test, the entry count fell from 40 to 37 and the check still passed), and the same release or PR appearing in two files. The README also still says files are named by run date.
Work.
File naming. In README's "Activity data" section and the comment in _layouts/activity.html: files are _data/activity/<day>-<stream>.yml for the UTC day covered, and a re-run only appends new entries after the existing ones.
The book type. Add book to the README's data format, and add "updates to existing books" to Activity's definition. Accept the type in .github/scripts/check-activity-data.rb. The definition change is for John to see, since the definitions were approved in Approve the News and Activity stream definitions #272.
A stricter data check in check-activity-data.rb: fail when a release URL or a PR URL appears twice across files, and, on pull requests, when an existing entry is changed or removed.
A safeguard for the reporter's PRs in .github/workflows/build.yml: a first step, before ruby/setup-ruby, that fails any PR authored by the reporter's bot (user ID 294005175) if it changes anything other than new or appended _data/activity/*.yml files. Add permissions: contents: read to the workflow. Keep the job named build: that is the required status check.
This must merge before QuantEcon/reports-activity#91 goes live.
Acceptance criteria
README and the layout comment describe day-named, append-only files, and the book type.
The data check passes on main's data, and fails, naming the file, on: a changed or removed existing entry; a release URL or PR URL repeated across files; a type other than release, lectures, translation or book.
A PR from the reporter's bot that changes any other file fails build; PRs from anyone else are unaffected.
The required check is still named build, and a normalised build diff shows no visible change to the site.
Part of #271 (Phase 3).
Why. From QuantEcon/reports-activity#91's first live run, the reporter's daily PRs merge without review, so the website's data check becomes the only gate on what reaches quantecon.org. On 2026-09-29 the maintainer settled the contract those PRs must meet (recorded on #271). Today the check misses two failures: an overwritten data file (in a test, the entry count fell from 40 to 37 and the check still passed), and the same release or PR appearing in two files. The README also still says files are named by run date.
Work.
_layouts/activity.html: files are_data/activity/<day>-<stream>.ymlfor the UTC day covered, and a re-run only appends new entries after the existing ones.booktype. Addbookto the README's data format, and add "updates to existing books" to Activity's definition. Accept the type in.github/scripts/check-activity-data.rb. The definition change is for John to see, since the definitions were approved in Approve the News and Activity stream definitions #272.check-activity-data.rb: fail when a release URL or a PR URL appears twice across files, and, on pull requests, when an existing entry is changed or removed..github/workflows/build.yml: a first step, beforeruby/setup-ruby, that fails any PR authored by the reporter's bot (user ID 294005175) if it changes anything other than new or appended_data/activity/*.ymlfiles. Addpermissions: contents: readto the workflow. Keep the job namedbuild: that is the required status check.This must merge before QuantEcon/reports-activity#91 goes live.
Acceptance criteria
booktype.main's data, and fails, naming the file, on: a changed or removed existing entry; a release URL or PR URL repeated across files; a type other than release, lectures, translation or book.build; PRs from anyone else are unaffected.build, and a normalised build diff shows no visible change to the site.