• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FlexMeasures / flexmeasures / 36885988224
86%

Build:
DEFAULT BRANCH: main
Ran 01 Oct 2026 03:51PM UTC
Jobs 1
Files 188
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 Oct 2026 03:39PM UTC coverage: 86.241% (+0.004%) from 86.237%
36885988224

push

github

web-flow
Check each commitment for a convex cost curve, rather than their pooled prices (#2631)

* Check each commitment for a convex cost curve, rather than their pooled prices

A commitment carries its own pair of deviation variables, priced by its own pair of prices, so a convex cost curve is a property of one commitment at a time.
Summing every commitment's prices per time step let one commitment's prices mask another's non-convexity, which left out the commitment-sign variables that keep such a commitment bounded.
The solver then returned the problem as infeasible or unbounded, with nothing to point at.

The check now reads a commitment's price through the same helper that the Pyomo and the HiGHS path use to price their deviation variables, so that the check and the model cannot disagree about a commitment's price.

Fixes #2534

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015He1XE7G7HN1svS7Nxgth4
Signed-off-by: F.N. Claessen <claessen@seita.nl>

* Changelog: convexity is checked per commitment

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015He1XE7G7HN1svS7Nxgth4
Signed-off-by: F.N. Claessen <claessen@seita.nl>

* Cover the split halves of an any-type commitment

Copilot asked for the interaction with split multi-slot commitments to be verified, so this holds it.
An "any"-type commitment groups every time slot together, and such a group is split into an upwards and a downwards half, each keeping one price column.
The test passes both before and after the per-commitment check, which is the point: this change leaves the split path alone.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015He1XE7G7HN1svS7Nxgth4
Signed-off-by: F.N. Claessen <claessen@seita.nl>

---------

Signed-off-by: F.N. Claessen <claessen@seita.nl>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

12 of 12 new or added lines in 3 files covered. (100.0%)

20772 of 24086 relevant lines covered (86.24%)

0.86 hits per line

Jobs
ID Job ID Ran Files Coverage
1 36885988224.1 01 Oct 2026 03:51PM UTC 188
86.24
GitHub Action Run
Source Files on build 36885988224
  • Tree
  • List 188
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36885988224
  • e4389ebd on github
  • Prev Build on main (#36852810680)
  • Next Build on main (#36887177870)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc