Skip to content

News and Activity: announcements on News and a self-updating Activity feed #271

Description

@mmcky

Goal: News carries only announcements people write, and Activity (library releases and lecture updates) refreshes itself every day and is shown beside News, on the home page, and in a log at /activity/ with type filters and day links.

Where we stand (verified 2026-10-01)

Next: switch ACTIVITY_FEED_MODE back to merge after a few days of reviewed PRs. The first PR that merges itself, with build green and no approval, completes #275 and Phase 3. Then #289 checks the live site. #280, the Activity RSS feed, is unblocked now that the replayed days are published. Later comes the June to September backfill, as replay PRs the maintainer reviews (QuantEcon/reports-activity#91).

Background

Findings

Finding Severity
After #265 merges, Activity gets no new entries until the reporter writes Activity data High
The old reporter keeps opening News drafts until it is paused High
The reporter passes noise (version bumps, config changes) and misses reader-facing lecture changes, e.g. QuantEcon/lecture-python.myst#760 and the eight lectures in QuantEcon/lecture-python.myst#1001 High
Daily PRs need a person to merge them, and nothing makes a merge wait for the data check: main has no required checks, and auto-merge is off Medium
Activity isn't visible from /news/ or the home page, and /activity/ has interim styling with no filters or day links Medium

Plan

Work items and their order.

  • The work items are the sub-issue list. The top open item is next, and completed items keep their place.
  • Constraints between items are native dependencies.
  • The phases are below. The table carries each phase's intent and exit criterion only.
Phase Intent Exit criterion
Phase 1 — Split News from Activity Take the reporter's output off News and give it its own page and data, under agreed definitions #265 is merged, the old reporter is paused, and its drafts are closed
Phase 2 — Design the Activity pages Design the /news/ rail, the home strip and the restyled /activity/ A build-ready handoff, with every design decision recorded
Phase 3 — Automatic daily updates The reporter writes Activity data once a day, and its PR merges itself once the data check passes The first daily run lands on main without a person merging it, after its data check passes, and the paused days are replayed
Phase 4 — Build the Activity pages Implement the round-2 handoff as amended in #266 The rail, the strip and the restyled /activity/ are live. Their data-dependent acceptance checks pass on #276's frozen copy of the data, and their layout checks pass on the previews

Gates.

Sequencing rationale.

  • Phase 3 comes before Phase 4. Activity is frozen from the day Split updates into News and an Activity feed #265 merges until the reporter writes new entries, and a stale feed undercuts the point of the split. The build items only need the data format, so they can proceed alongside it.
  • In Phase 3, the merge permission comes first. It's a small admin setting that the reporter's first automatic merge needs.
  • If the freeze runs long, QuantEcon/reports-activity#91 can ship release entries first, since they need no AI, and lecture entries after.

Out of scope / what does not change

Sources

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions