Harden offload safety and coverage-complete controls#3
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c5a1218754
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if [[ "$EXPECTED_UNIQUE_INPUT_FILES" -gt 0 ]]; then | ||
| unique_inputs="$(manifest_unique_input_count)" | ||
| if [[ "$unique_inputs" =~ ^[0-9]+$ ]] && [[ "$unique_inputs" -ge "$EXPECTED_UNIQUE_INPUT_FILES" ]]; then | ||
| last_progress_epoch="$now_epoch" | ||
| log "worker_hold reason=coverage_complete unique_inputs=$unique_inputs expected=$EXPECTED_UNIQUE_INPUT_FILES" |
There was a problem hiding this comment.
Avoid suppressing stall restarts when coverage mode is off
This new stall branch suppresses restarts solely based on manifest coverage, independent of how the worker was launched. If --worker-args disables coverage-complete mode (or uses a different threshold) but watchdog --expected-unique-input-files remains at the default 510, any real stall after that coverage point will be held forever because last_progress_epoch is reset and the restart path is skipped. This can leave a genuinely stuck stage loop unmanaged in production watchdog deployments that customize worker args.
Useful? React with 👍 / 👎.
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@v5...v6) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Summary\n- add coverage-complete mode to stage/shard loop and coverage-aware watchdog hold\n- harden shard offload gating (trained-registry fallback list, missing-registry skip mode, min coverage gate, min active token floor)\n- include offloaded manifests in coverage reporting metrics\n- update systemd/user unit defaults and docs\n- keep CI/tests aligned with new options\n\n## Validation\n- make lint\n- make test\n- bash -n scripts/.sh\n- python3 -m py_compile scripts/.py\n- manual: offload timer/service run now exits cleanly with coverage gate\n