Skip to content

Fix/148 resolution sets one commit#2

Open
Oskaril-data wants to merge 13 commits into
mainfrom
fix/148-resolution-sets-one-commit
Open

Fix/148 resolution sets one commit#2
Oskaril-data wants to merge 13 commits into
mainfrom
fix/148-resolution-sets-one-commit

Conversation

@Oskaril-data

Copy link
Copy Markdown
Owner

No description provided.

nikbpetrov and others added 10 commits June 15, 2026 09:10
New single-task Cloud Run job `func-push-resolution-sets` gathers all
resolution sets from the bucket and pushes them in one commit, fixing the race
condition from parallel resolve tasks pushing independently.

Still needs end-to-end testing in a GCP dev project.

Refs forecastingresearch#148
Align with recent updates to the `utils` repo. Remove the `utils`
submodule accordingly.

Keep a log, both in markdown and jsonl of all prompts and responses for
a model run.

Handle changes in leaderboard as well, mapping legacy models to the new
model naming structure and better handling model release dates.

Change the reformat model to gpt-5-mini.

closes forecastingresearch#174
clone_and_push_files now returns whether it pushed, and push_all_resolution_sets only logs the push count when a commit was actually made. Avoids a misleading 'Pushed N resolution sets' log on nights where the empty-commit skip applied.
@Oskaril-data

Copy link
Copy Markdown
Owner Author

src/orchestration/_io.py — upload_resolution_set now only uploads to the bucket (no git push). Added push_all_resolution_sets() that gathers all resolution sets from the bucket and pushes them in one commit.
src/orchestration/func_push_resolution_sets/ — new Cloud Run job (func-push-resolution-sets) that runs push_all_resolution_sets() as a single task.
src/nightly_update_workflow/manager/main.py — runs the push job after resolve finishes, before leaderboards.
src/nightly_update_workflow/worker/main.py — registers the new job.
Makefile — adds the push-resolution-sets target and wires it into resolve.
src/helpers/git.py — clone_and_push_files skips empty commits and returns whether it pushed (so no false "pushed" log when nothing changed).

@Oskaril-data Oskaril-data marked this pull request as ready for review June 30, 2026 10:11
…sets-one-commit

# Conflicts:
#	src/orchestration/_io.py
Upstream moved orchestration jobs to the shared orchestration_upload.mk staging macro and made utils a pip dependency (fri-utils). Update the resolution-set push job's Makefile to match instead of copying the removed utils submodule by hand.
Push origin and mirrors on every run so a mirror that fell behind on an earlier
partial failure catches up, while still skipping empty commits. Check push
results with `raise_if_error()`, which GitPython does not raise on by default,
so a rejected push now fails the job instead of being reported as success.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants