Repository navigation
chore(main): release 0.0.1-alpha.88 - #569
fluxopt-release-bot[bot] merged 1 commit into
Conversation
Merging this PR will degrade performance by 2.07%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Memory | test_emit[sector-s-lpspec-highs] |
3.9 MB | 4.4 MB | -9.95% |
| ⚡ | Memory | test_emit[profiled-s-lpspec-highs] |
27 MB | 25.4 MB | +6.49% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing release-please--branches--main--components--lpspec (0037a3d) with main (6847419)
Footnotes
-
38 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
|
🤖 Created releases: 🌻 |
`cancel-in-progress` was unconditional, and on `main` that quietly punches holes in the series the metered job exists to produce. Four consecutive commits lost their walltime on 2026-08-11 — #511, #567, #568, #569, merged four minutes apart, each cancelling the one before. Only #565's own run survived, which is two engine changes older than the tip. That is not a cosmetic gap. CodSpeed stores one number per commit and compares a pull request against its own merge base, so a cancelled run is a base the next PR cannot be read against: the first one opened after that burst had nothing to compare to but a commit predating the bound attach, which would have flattered it on exactly the case the attach speeds up. On a branch the behaviour is right and stays: the newest push is the only one anybody wants a number for. The cost is stated in the file rather than hidden. A burst of N merges now takes N metered macro runs where it took one — the price of a complete series, which is the whole reason this job is fenced to merges.
`cancel-in-progress` was unconditional, and on `main` that punches holes in the series the metered job exists to produce. Four consecutive commits lost their walltime on 2026-08-11 — #511, #567, #568, #569, merged four minutes apart, each cancelling the one before. Only #565's own run survived, two engine changes older than the tip. That is not cosmetic. CodSpeed keeps one number per commit and reads a pull request against its own merge base, so a cancelled run is a base the next PR cannot be read against: the first one opened after that burst would have been compared to a commit predating the bound attach, flattering it on exactly the case the attach speeds up. Keyed on the **ref**, not the event. `main` is the only ref whose runs are a series; every other one — a pull request, or a `workflow_dispatch` CodSpeed fires at some branch to backfill — wants its newest push to supersede the run in flight, which is the behaviour that was already right. An event-name test would have caught `push` and let dispatch stop cancelling as a side effect. The cost is that a burst of N merges takes N metered runs where it took one.
`cancel-in-progress` was unconditional, and on `main` that punches holes in the series the metered job exists to produce. Four consecutive commits lost their walltime on 2026-08-11 — #511, #567, #568, #569, merged four minutes apart, each cancelling the one before. Only #565's own run survived, two engine changes older than the tip. That is not cosmetic. CodSpeed keeps one number per commit and reads a pull request against its own merge base, so a cancelled run is a base the next PR cannot be read against: the first one opened after that burst would have been compared to a commit predating the bound attach, flattering it on exactly the case the attach speeds up. Keyed on the **ref**, not the event. `main` is the only ref whose runs are a series; every other one — a pull request, or a `workflow_dispatch` CodSpeed fires at some branch to backfill — wants its newest push to supersede the run in flight, which is the behaviour that was already right. An event-name test would have caught `push` and let dispatch stop cancelling as a side effect. The cost is that a burst of N merges takes N metered runs where it took one.
…hey run along math-spec#569 renames the axis key on `piecewise:` and `sos:` from `over:` to `along:`, and lpspec follows it: every model, example, fixture and documented model takes the new key, and `curves.py`, `assembly.py` and the linopy builder read `along` off the declarations. The language already separated `over=`, which consumes a dimension, from `along=`, which keeps it and keeps it ordered. A breakpoint axis is ordered and survives into the weights, so it was on the wrong side; `sos:` moves with it because `method: sos2` hands one block's axis straight to the other's. `Buildable` widens to `Mapping[str, object]`, which is what `to_spec` now takes, so `test_the_model_argument_is_what_the_language_takes_minus_the_lowered_form` holds again. Two test expectations follow upstream wording rather than behaviour: the sos dim refusal now says `along 'other' is not a dim`, and a stray values dim is judged against its own link's row frame rather than against every link expression. The pin is PROVISIONAL — a math-spec branch, because #569 is unreleased. Repin to the first tag carrying it before merge. Ran `pytest` (3778 passed, 10 failed, 337 skipped, 1 xfailed — the 10 are the gurobi and xpress extras, not installed here, each failing with the package's own message saying so), `ruff check`, `ruff format --check` and `pyrefly check`. pyrefly is 6 errors: the base branch with this same pin installed reports 15, the extra nine being the `.over` reads this commit renames, and the 6 that remain are the identical set the base reports on its own pin. Did not run `pixi run check` as a whole, the differential harness or the benchmarks. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Hh3uK8SqVcXKuLnYHAjrVW
🤖 I have created a release beep boop
0.0.1-alpha.88 (2026-08-11)
Performance
This PR was generated with Release Please. See documentation.