Skip to content

Confirm the org sweeps actually fire on schedule #42

Description

@ExtraToast

What to build

org-project-sweep.yml is now the only thing boarding issues and pull requests from the private repos — their per-repo shims were removed in #33 once the sweep was proven working. The sweep itself is verified: dispatched manually it boarded 174 items across 30 repos with zero failures.

Its schedule has not been observed to fire. The workflow landed on main at roughly 18:47Z on 2026-08-29 and is registered active with cron: '*/15 * * * *', but 40 minutes later every run in its history is still the manual dispatch. The 19:00 and 19:15 slots both passed with nothing.

This may well be nothing — GitHub takes an unspecified amount of time to begin running a newly added schedule, and */15 is the tier most aggressively delayed or dropped under load. But it is currently an assumption, and the thing it is an assumption about is whether issues reach the board at all.

Confirm the schedule actually fires, and decide what to do if it turns out */15 is unreliable here.

The failure mode is delay, not loss. The sweep is idempotent and boards everything open each time it runs, so a missed tick is caught by the next one. Nothing is dropped permanently — items simply arrive late, and if the cron never fires they never arrive at all until someone dispatches it by hand.

If */15 proves unreliable, a slower cadence is likely to be more reliable rather than less; GitHub deprioritises the high-frequency tiers first. Boarding does not actually need 15-minute latency.

Worth watching alongside this: org-hygiene-sweep.yml runs 25 */6 * * * and has the same open question, though its first slot is further out.

Acceptance criteria

  • At least one schedule-triggered run of the project sweep is observed to have completed successfully
  • The typical delay between the cron slot and the run actually starting is noted, so future expectations are calibrated
  • If the schedule proves unreliable at */15, a cadence that does fire dependably is chosen and the reasoning recorded
  • The same confirmation is made for the hygiene sweep
  • If neither schedule fires within a day, treat boarding as broken and restore an interim path rather than leaving private repos unboarded

Blocked by

  • None — can start immediately, but it is mostly waiting and observing.

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

    Labels

    area: toolingReusable workflows, Gradle, templates, Renovate, and API tooling.component: ciContinuous integration workflow or check behavior.governanceRepo protection, permissions, visibilitypriority: P1High; important and should be handled in the current iteration.type: choreMaintenance work without intended behavior change.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions