Correction first: 1.0.3 called every write endpoint and SSE-under-a-real-producer untested. True of its probes, not of the project β the suite already covers both (test_runs_sse.py and a dozen test_coach_*_api.py), and it passed on the refreshed lock. A new module written for those endpoints was deleted once that was checked, rather than shipped as duplicate coverage.
Real gaps closed: the Gradio surface is tested (Blocks tree built, rooms and version parity checked, launched for real under gradio 6.27) and had no coverage at all; the Hub tests no longer trust the environment for the missing-dependency path (they inverted silently once the ui extra brought huggingface-hub in); httpx2 joins the dev group so starlette 1.6 stops deprecating TestClient.
Training path verified under the refreshed lock: dream corpus tokenized, SFT run on CPU (loss 3.938, 512 tokens), a real 22 MB LoRA checkpoint written. 767 pass with the ml extra. ROCm/MI300X, multi-GPU, vLLM serving, full-length runs andβ¦
v1.0.3 β refresh uv.lock, and say exactly what that was tested againstβ
The lock had drifted from pyproject, so every `uv run` re-resolved first (~2.5 min a call). Refreshed: 296 -> 306 packages, 23 changed β starlette 0.52.1 -> 1.6.0 (major), huggingface-hub 1.14.0 -> 1.31.0, gradio 6.27.0 new via all->ui, and three moving BACKWARDS (pydantic 2.13.3 -> 2.12.5, pydantic-core, inspect-ai) by resolver choice rather than any declared constraint.
Tested in a separate environment against both stacks: 765 pass on each; the coach booted under real uvicorn and 37 read-only probes returned identical status codes and identical response sizes β pages, JSON API, static mount, OpenAPI (64 paths), diagnostics, the traversal guard at 400, and SSE. Zero server errors either side.
Not tested, and written into the changelog rather than implied: every write endpoint, SSE under a real producer, the training path (no ml extra on that box), the Gradio UI. `uv run` syncs the environment, so moving a node to this commit rewrites its venv on the next call β the production node iβ¦
v1.0.2 β the Hub is reachable from the command line, and is not a chainβ
The hf/ extension existed and was complete, but nothing outside a Python import could reach it. New `mindxtrain hf` group: whoami / pull / warm / publish / lineage / dataset / space, each exiting nonzero when the result says ok:false so the ascent loop can warm a base and check $?.
huggingface-hub moves out of the `chain` extra into its own `hf` extra β reaching the Hub no longer means installing web3 and the Algorand SDK. `chain` pulls `mindxtrain[hf]` so existing installs keep working.
push_space dropped its commit receipt; it reports it now. First tests for the module.
765 tests pass (was 750).
v1.0.1 β a failed attempt no longer strands HEAD on a loserβ
An attempt that raised after its edit was committed left the branch on a commit the loop never scored, so the next baseline read the loser. The champion is restored on the way out β and the restore declines when the tree is dirty outside the editable allowlist, because a `reset --hard` that discards somebody else's work to tidy up after ourselves is worse than the mess.
Also: ui/metrics.py brought in line with the house lint, version bumped in all three places it is declared, NAV points at the new entry, and the accumulated [Unreleased] changelog block is released as part of 1.0.1.
750 tests pass (was 748).
30 days ago
fork mindXtrain from GitHub (Professor-Codephreak/mindXtrain@661bd41) as the mindX-specific line