mirror of
https://github.com/mims-harvard/ToolUniverse.git
synced 2026-09-19 07:31:47 +08:00
b4d9354b8d
Both branches solved the same problem (a lost CI runner discarding the whole weekly tool sweep) independently: main shipped sharded matrix jobs with per-shard log parsing (scripts/summarize_health_sweep.py, already in production), while this branch restores an unsharded checkpoint/resume system (--json-output/--resume, atomic JSON checkpointing). Resolution: - .github/workflows/weekly-tool-healthcheck.yml and the run_all_patterns() call site: took main's sharded design, since it's already shipped and replacing it would reintroduce the exact failure mode it was built to fix. The checkpoint/resume machinery itself stays -- it's still useful standalone for a developer resuming an interrupted local sweep. - Fixed a real interaction bug this merge would otherwise have introduced: checkpoint_complete compared `results` against the full `expected_patterns` universe, which is never true for a single shard's `selected` subset, so every successful sharded CI run would have incorrectly exited 1. Now compared against `selected` -- identical to `expected_patterns` when --shard isn't used, correctly scoped when it is. Verified with a manual shard simulation. - Removed test_weekly_workflow_consumes_the_checkpoint_contract: it asserted the workflow YAML wires up --json-output and executes an inline job-summary heredoc, both part of the design main's sharding replaced. Its premise no longer holds under the shipped design.