From a4cf0bda372c091fc4e7a185be11eea9b432e528 Mon Sep 17 00:00:00 2001 From: Tim Morgan Date: Sun, 1 Nov 2026 22:38:23 -0800 Subject: [PATCH 1/2] Poll for new CIFP cycles weekly AIRAC cycles take effect every 28 days and the FAA posts each CIFP about three weeks ahead, so a daily poll found nothing new on most runs. A Monday poll still finds a new cycle within a week of posting, and the overdue alert (missing within 14 days of the effective date) still has at least one poll in its window. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/cifp-cycle-watch.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cifp-cycle-watch.yml b/.github/workflows/cifp-cycle-watch.yml index e0b9d5d..0ace7c1 100644 --- a/.github/workflows/cifp-cycle-watch.yml +++ b/.github/workflows/cifp-cycle-watch.yml @@ -6,7 +6,9 @@ name: CIFP Cycle Watch on: schedule: - - cron: "0 16 * * *" + # Mondays. The FAA posts a cycle about three weeks ahead, so a weekly poll finds it within a week + # and still has two weeks of margin before the overdue alert. + - cron: "0 16 * * 1" workflow_dispatch: inputs: cycle: From 0e4509645c8e884fea124eebb2184a2c4f50a16d Mon Sep 17 00:00:00 2001 From: Tim Morgan Date: Sun, 1 Nov 2026 22:40:32 -0800 Subject: [PATCH 2/2] Describe the polling cadence in remaining comments Comments still described the old daily polling ("every day", "daily", "quiet day"). They now say "poll", which holds for the new schedule. Report artifacts keep 90 days, longer than any gap between runs, so retention is unchanged. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/cifp-cycle-watch.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cifp-cycle-watch.yml b/.github/workflows/cifp-cycle-watch.yml index 0ace7c1..536f309 100644 --- a/.github/workflows/cifp-cycle-watch.yml +++ b/.github/workflows/cifp-cycle-watch.yml @@ -126,7 +126,7 @@ jobs: # Publication runs about three weeks ahead, so a cycle still missing two weeks out means # the FAA slipped or the URL shape changed - either of which otherwise looks like an - # ordinary quiet day. A hand-requested cycle is exempt: asking for an expired one is fair. + # ordinary quiet poll. A hand-requested cycle is exempt: asking for an expired one is fair. if [ "$available" != "true" ] && [ "$days_out" -le 14 ] && [ -z "$REQUESTED" ]; then overdue=true else @@ -331,7 +331,7 @@ jobs: - name: Upload the report # Uploaded before anything reads it, and on failure too: this artifact is also the record - # that the cycle was checked, so a broken cycle is reported once rather than every day. + # that the cycle was checked, so a broken cycle is reported once rather than on every poll. if: always() && steps.parse.outcome != 'skipped' uses: actions/upload-artifact@v7.0.2 with: