Repository navigation
Conversation
|
Updated the final patch to Could a repository admin approve the final CI, Docker, and Docs runs? All report The description also links the separately reviewed current-main integration, including current objective/scheduling contracts and a passing real Metal lifecycle pilot. That integration has not been merged upstream. |
|
Hi @erniesg thanks for the PR. Could we use a default no-op startup recovery hook on WeightRuntime instead of adding another capability subclass? Also, check whether recovery is needed before materializing the checkpoint; currently, opted-out runtimes still incur the download and can fail startup. |
Restore process-local weights through the optional startup hook without downloading checkpoints for resident runtimes. Bind recovery metadata to the repaired head, project component artifacts lazily, and reject checkpoints missing the weights component or manifest. Synchronize resident and published MLX versions before admitting requests. Preserve shipped-content updates while avoiding no-op checkpoint downloads. Add recovery, composition, publication, and installed-wheel contracts.
Separate MLX runtime registration from imports as required by Black. Scope documented method-assign exceptions to the existing checkpoint class wrapper and its restoration; runtime behavior is unchanged.
|
Thanks Bobby, both changes are implemented in Regression tests cover default/no-download behavior, lazy component recovery, and failed adapter loads keeping admission closed. I also reconciled the branch with current main and preserved the updated MLX interfaces. The combined local suite passed: 6,553 tests, 118 skipped, with 90.94% coverage. Formatting and type checks passed, and a fresh independent review found no actionable code defects. Hosted CI still needs approval. |
Problem and changes
Follow-up to #325 and #134. MLX could recover a scenario step after restart while serving base weights, or expose a runtime ID inconsistent with resident weights.
This PR keeps the default no-op recovery hook on
WeightRuntime, checks whether recovery needs bytes before downloading, restores MLX adapters before admission, and refuses metadata read from a changed durable head. Failed adapter loads keep admission closed. Composed artifacts remain lazy.Refreshed against #325 at
44ca5bf9494388c7e009a63894fbd600ea685400, which includes main atb9d3ffb481e6f3a6be98da07f682d459d48e4727. The merge retains upstream experiment reporting and the no-download guard. Three new upstream fixtures now use class hook overrides recognized by that guard; all original concurrency and failure assertions remain intact. #827 remains superseded.Compatibility and integration
Final head:
4fe6fc5644f6bf65490fa9df47871dbcbaa2e676. The recovery change adds no configuration, persisted-format, wire-contract, or dependency changes relative to the current MLX base. Existing runtimes inherit a no-op hook; interface docstrings describe the contract. The base requires Python 3.12.Keep this stacked on
worktree-issue-134. Per the base workflow, #325 should land first; then rebase this dependent PR onto resulting main and retarget it. A maintainer may explicitly choose to incorporate this head into #325 instead. This refresh does not modify #325 or change this PR's target. Thebase-is-mainfailure is expected while stacked.Verification
PATH="$PWD/.venv/bin:$PATH" GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null HF_HUB_OFFLINE=1 .venv/bin/python -m pytest tests -n4 --dist loadfile --cov=reef --cov-report=term -ra.Python 3.10.18 and 3.11.13 package-install dry runs both reject
Python>=3.12. UpstreamCONTRIBUTING.mdstill requests these versions, whilepyproject.toml,AGENTS.md, and CI require/select only 3.12. The current workflow does not expand its matrix on rerun. Maintainers need to reconcile that policy; no requirements were bypassed.The 118 source skips include PostgreSQL, opt-in Ray, external harness binaries, and host-specific sandbox checks. Optimizer-state restart equivalence and a full post-refactor GSM8K stream remain unqualified. Adapter restoration does not restore process-local AdamW state or prove identical subsequent updates.
Latest-head CI, Docs, Docker, and harness smoke report
action_requiredand need an authorized repository maintainer/admin to approve and run them. Prior checks ona3c2563do not qualify this new head.AI assistance
Codex assisted with integration, test-fixture adaptation, source/package checks, and real MLX qualification. The human contributor remains responsible for review and claims.
Checklist