ajbarea
velocity-fl
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
chore(deps)(deps-dev): bump hypothesis in the uv group Bumps the uv group with 1 update: [hypothesis](https://github.com/HypothesisWorks/hypothesis). Updates `hypothesis` from 6.152.9 to 6.152.11 - [Release notes](https://github.com/HypothesisWorks/hypothesis/releases) - [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.152.9...v6.152.11) --- updated-dependencies: - dependency-name: hypothesis dependency-version: 6.152.11 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot/uv/uv-331d9ce2a9
1 hour ago
fix(leaderboard): record strategy hyperparameters in the run fingerprint (#82) The DB producers stored only the strategy name (strategy_name), so a strategy's hyperparameters (Krum f, FedProx mu, TrimmedMean k, ...) never reached the run config. config_fingerprint — despite its docstring — couldn't distinguish them, so Krum f=2 and f=3 shared a fingerprint and every per-fingerprint leaderboard silently averaged different experiments into one row. Add strategy.strategy_params() (dataclass fields -> dict; {} for paramless strategies, so their fingerprints are unchanged) and extract mcp_app._real_run_config, which records both the name (for the runs.strategy column) and strategy_params so the existing canonical-JSON fingerprint resolves them. Only run_real_training carries parameterised strategies (run_demo's string input is paramless-only, so it has no bug and is unchanged). No MCP/CLI surface change. Unblocks the roadmapped hyperparameter_sage.
main
12 hours ago
fix(leaderboard): record strategy hyperparameters in the run fingerprint The DB producers stored only the strategy name (strategy_name), so a strategy's hyperparameters (Krum f, FedProx mu, TrimmedMean k, ...) never reached the run config. config_fingerprint — despite its docstring — couldn't distinguish them, so Krum f=2 and f=3 shared a fingerprint and every per-fingerprint leaderboard silently averaged different experiments into one row. Add strategy.strategy_params() (dataclass fields -> dict; {} for paramless strategies, so their fingerprints are unchanged) and extract mcp_app._real_run_config, which records both the name (for the runs.strategy column) and strategy_params so the existing canonical-JSON fingerprint resolves them. Only run_real_training carries parameterised strategies (run_demo's string input is paramless-only, so it has no bug and is unchanged). No MCP/CLI surface change. Unblocks the roadmapped hyperparameter_sage.
feat/strategy-params-fingerprint
13 hours ago
fix: restore Bulyan spelling (typo introduced in prior commit)
chore/sisters-audit-2026-06-01
14 hours ago
feat(reproduce): velocity reproduce — re-run an archived sweep (#80) * feat(reproduce): velocity reproduce — re-run an archived sweep The inverse of `velocity archive`, closing the reproducibility loop. read_archive recovers the per-run RunSpecs (and original comparison.json) straight from the crate zip; reproduce_archive re-runs them via the existing run_sweep (DRY). `velocity reproduce <archive.zip> [--out] [--check] [--tolerance]`. --check compares each run's reproduced final loss against the archived value within a relative tolerance and exits non-zero on a real mismatch. Tolerance-based, not bit-exact (ML/float aggregation isn't bitwise reproducible across runs/hardware) and nan-safe (pydantic serializes an in-memory nan loss to JSON null, so a present run with null loss is read as nan and doesn't false-mismatch a reproduced nan). Documented in docs/cli.md (roster guard). TDD throughout; full suite 379 passed. research(2026-06): ACM/NISO "reproduced" = same config+code re-executed; numerical non-determinism in ML -> tolerance not equality. * docs(readme): list archive + reproduce in CLI reference + quickstart
main
15 hours ago
docs(readme): list archive + reproduce in CLI reference + quickstart
feat/reproduce
15 hours ago
feat(archive): velocity archive — RO-Crate reproducibility bundle (#79) * feat(archive): velocity archive — RO-Crate reproducibility bundle Package a `velocity sweep` output directory into a single-file RO-Crate (Process Run Crate profile, .zip): the sweep artifacts + a uv.lock snapshot (fallback installed-packages.txt) + a how-to-reproduce README + a hand-rolled, spec-conformant ro-crate-metadata.json. Zero new dependency — the RO-Crate spec permits emitting the JSON-LD with stdlib json. New importable velocity.archive module (mirrors sweep) + `velocity archive <out-dir> [-o] [--lockfile]` CLI, reusing the sweep-time capture_manifest() provenance (DRY). Corrects the ROADMAP reproducibility-archive item: the original `velocity run --save-reproducible-archive` host was wrong (run is stateless/seedless and produces no artifacts), so the archive operates on sweep output via a standalone, composable command. `velocity reproduce` is the next slice. research(2026-06): RO-Crate Process Run Crate is the 2026 standard for packaging a run with machine-readable provenance; Croissant 1.1 rejected (dataset layer). * docs(cli): document velocity archive command (roster guard)
main
15 hours ago
docs(cli): document velocity archive command (roster guard)
feat/repro-archive
15 hours ago
Latest Branches
CodSpeed Performance Gauge
+7%
chore(deps)(deps-dev): bump hypothesis from 6.152.9 to 6.152.11 in the uv group
#83
2 hours ago
fe8bc97
dependabot/uv/uv-331d9ce2a9
CodSpeed Performance Gauge
0%
fix(leaderboard): record strategy hyperparameters in the run fingerprint
#82
13 hours ago
ac0c279
feat/strategy-params-fingerprint
CodSpeed Performance Gauge
0%
chore(deps): bump pytest-asyncio >=0.23->>=0.24, pytest-cov >=5.0->>=6.0.0 for sister-repo parity
#81
14 hours ago
278d205
chore/sisters-audit-2026-06-01
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs