This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summaryFixed telemetry bugs: _loss_ok_from_bench reading a non-existent key and _gather_outcomes never setting runtime_seconds, both causing NULL columns.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
_loss_ok_from_bench incorrectly read non-existent key correctness.verdict. _loss_ok_from_bench incorrectly read non-existent key correctness.verdict. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
_gather_outcomes now sets runtime_seconds field in outcome dicts. _gather_outcomes now sets runtime_seconds field in outcome dicts. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Regression test added for loss_ok reading correctness.passed instead of verdict. Regression test added for loss_ok reading correctness.passed instead of verdict. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
Full changelog
Telemetry bugfix release. Two NULL columns the priors flywheel needed were never being emitted; the materialized view's success_rate column has been NULL for every user since telemetry shipped, silently breaking the suggester's failure-avoidance filter.
pip install -U profine
Fixed
_loss_ok_from_benchwas reading a non-existent key. The function readcorrectness.verdictfrombenchmark_comparison.json, but the correctness sub-dict has apassed(bool) key, not averdict. (verdictis a top-levelBenchmarkComparisonfield.) The bug emittedloss_ok=Nonefor every run sent to the telemetry backend. The test fixture was buggy in the same way as the production code (it also used theverdictkey), explaining the silent regression. Adds a focused regression test (test_loss_ok_reads_correctness_passed_not_verdict) that pins both the real and old-buggy shapes._gather_outcomesnever setruntime_seconds. The field is inALLOWED_OUTCOME_FIELDSbut was missing from every emit-row dict literal, sorun_optimizations.runtime_secondswas NULL across the entire dataset. The primary outcome now carries the profile's wall-clock runtime; stacked/skipped rows still omit it (no per-entry attribution available — same convention asspeedup_factor).
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Profine
All releases →Beta — feedback welcome: [email protected]