Skip to content

Commit e231b1e

Browse files
theboycoderclaude
andauthored
fix(lanes): the deployment-basis propagation had no schedule (#1606)
backfill-deployment writes `deployment.basis` inside curate-projects.yml every Tuesday 07:30 UTC. The pass that turns that into a STATUS basis had workflow_dispatch and nothing else, so a newly stamped row waited on somebody remembering to press a button. Its last run before today was 2026-09-07 — eight days and one full producer cycle earlier. Now it runs an hour behind the producer, same day, so each week's deployment writes are consumed the moment they land. A scheduled run carries no `inputs`, so the step needed curate-projects.yml's `github.event_name == 'schedule'` shape or the cron would have dry-run forever. Verified first rather than assumed: dispatched a dry run today and it would have written 0 — 86 rows unchanged, 1 could-not-propagate (bondhive, no sourceUrl, no receipt, no asset payments). Nothing is waiting right now. The point is that nothing would have noticed when something was. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
1 parent 437597e commit e231b1e

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

.github/workflows/basis-from-deployment.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@ name: Propagate deployment basis to status (manual)
2020
# basis. Every write is read back; a mismatch fails the run. Dry-run by default.
2121

2222
on:
23+
# Its PRODUCER runs weekly. backfill-deployment writes deployment.basis
24+
# inside curate-projects.yml every Tuesday 07:30 UTC; this pass, which turns
25+
# that into a status basis, had workflow_dispatch and nothing else, so a
26+
# newly stamped row waited on somebody remembering to press a button — its
27+
# last run before 2026-09-15 was 2026-09-07, eight days and one producer
28+
# cycle earlier. An hour behind the producer, same day, so each week's
29+
# deployment writes are consumed the moment they land.
30+
#
31+
# (The 2026-09-15 dry run would have written 0: 86 rows unchanged and one
32+
# could-not-propagate. Nothing is waiting TODAY — the point is that nothing
33+
# would notice when something is.)
34+
schedule:
35+
- cron: "30 8 * * 2"
2336
workflow_dispatch:
2437
inputs:
2538
execute:
@@ -47,4 +60,6 @@ jobs:
4760
with: { node-version: "24", cache: "pnpm" }
4861
- run: pnpm install --frozen-lockfile
4962
- name: Propagate (dry-run unless execute=true)
50-
run: pnpm exec tsx scripts/basis-from-deployment.ts ${{ inputs.execute && '--execute' || '' }}
63+
# A scheduled run carries no `inputs`, so `inputs.execute` is empty and
64+
# the cron would dry-run forever. Same shape curate-projects.yml uses.
65+
run: pnpm exec tsx scripts/basis-from-deployment.ts ${{ (github.event_name == 'schedule' || inputs.execute) && '--execute' || '' }}

0 commit comments

Comments
 (0)