You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
📦 Release
Version sync to 0.8.8 (app + frontend + core): root pyproject.toml, frontend/ml-canvas/package.json / package-lock.json, and skyulf-core/setup.py bumped to 0.8.8.
The 1,830-line skyulf/modeling/_tuning/engine.py (largest file in the
library) is now a ~700-line orchestrator plus six leaf modules: params.py (search-space cleaning, param splitting, model instantiation,
seed overlays), splitters.py (CV splitter builder family), metrics.py
(metric validation/aliases, resolve_metric/resolve_scorer with
pos_label pinning), grid_random.py (candidate generation + per-fold
scoring), refit.py (best-model refit + decision-threshold tuning), and a strategies/ package (halving.py, optuna.py with the F-14 lazy
loader, runner.py).
Pure code movement — the public TuningCalculator/TuningApplier surface
is untouched, test-pinned private methods remain as one-line delegates,
and stale test pins were retargeted to the new modules with the same
coverage.
One real import cycle broken (modeling/base → _evaluation → sklearn_wrapper → base): the four _evaluation modules now import SklearnBridge from the leaf engines.sklearn_bridge, so base.py
imports its evaluation/cross-validation dependencies at module level.
Enforcement: PLC0415 is now in the ruff select set for skyulf-core/skyulf/ (backend/tests/entry points exempt), with the ruff
pin bumped to >=0.15,<1.0 to match the pre-commit hook.
Monkeypatch-safe: third-party calls patched by tests keep
module-attribute form (sklearn_metrics.*, scipy_stats.*, stattools.adfuller); degradation gates (SKLEARN_AVAILABLE etc.)
untouched. Failures now surface at import time, and the real module graph
is visible for the upcoming F-09/F-08 structural work.
🧾 Housekeeping
Findings tracker: with F-18 + F-11 closed, 3 findings remain open
(F-30 deferred pending a compat call; structural F-09/F-08).