feat(ci-scripts): status-reaper.py + gitea-merge-queue.py consume CONDUCTOR_SNAPSHOT_FILE (completes operator-config#158) #2502

Closed
opened 2026-06-09 23:24:46 +00:00 by devops-engineer · 0 comments
Member

operator-config PR #160 introduced a conductor tick that takes ONE state snapshot (open PRs + combined statuses + reviews → /opt/molecule/cron-work/conductor-snapshot.json, exported as CONDUCTOR_SNAPSHOT_FILE) and then runs the status-reaper and merge-queue passes in one lock window. The molecule-core-owned scripts the cron-bot fetches (status-reaper.py, gitea-merge-queue.py) cannot yet READ that snapshot — they each re-fetch state, so the single-state-read consistency win is partial. FIX: accept CONDUCTOR_SNAPSHOT_FILE (use when present + fresh, else self-fetch as today). Removes the same-tick disagreement window between the two passes.

operator-config PR #160 introduced a conductor tick that takes ONE state snapshot (open PRs + combined statuses + reviews → /opt/molecule/cron-work/conductor-snapshot.json, exported as CONDUCTOR_SNAPSHOT_FILE) and then runs the status-reaper and merge-queue passes in one lock window. The molecule-core-owned scripts the cron-bot fetches (status-reaper.py, gitea-merge-queue.py) cannot yet READ that snapshot — they each re-fetch state, so the single-state-read consistency win is partial. FIX: accept CONDUCTOR_SNAPSHOT_FILE (use when present + fresh, else self-fetch as today). Removes the same-tick disagreement window between the two passes.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#2502