Skip to content

chore(main): release 0.0.1-alpha.88 - #569

Merged
fluxopt-release-bot[bot] merged 1 commit into
mainfrom
release-please--branches--main--components--lpspec
Aug 11, 2026
Merged

fluxopt-release-bot[bot] merged 1 commit into
mainfrom
release-please--branches--main--components--lpspec

Conversation

@fluxopt-release-bot

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

0.0.1-alpha.88 (2026-08-11)

Performance

  • engine: the bound attach reads the ordinal off the Enum, not a dictionary (#568) (6847419)

This PR was generated with Release Please. See documentation.

@fluxopt-release-bot fluxopt-release-bot Bot added the autorelease: pending Release-please owns this one — a release PR awaiting merge label Aug 11, 2026
@fluxopt-release-bot
fluxopt-release-bot Bot enabled auto-merge (squash) August 11, 2026 07:50
@codspeed

codspeed Bot commented Aug 11, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 2.07%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 1 improved benchmark
❌ 1 regressed benchmark
✅ 12 untouched benchmarks
⏩ 38 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

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)

Open in CodSpeed

Footnotes

  1. 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. ↩

@fluxopt-release-bot
fluxopt-release-bot Bot merged commit 839a50c into main Aug 11, 2026
7 of 8 checks passed
@fluxopt-release-bot

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

@fluxopt-release-bot fluxopt-release-bot Bot added autorelease: tagged Release-please owns this one — released, tag pushed and removed autorelease: pending Release-please owns this one — a release PR awaiting merge labels Aug 11, 2026
FBumann added a commit that referenced this pull request Aug 11, 2026
`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.
FBumann added a commit that referenced this pull request Aug 11, 2026
`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.
FBumann added a commit that referenced this pull request Aug 11, 2026
`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.
FBumann pushed a commit that referenced this pull request Sep 19, 2026
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autorelease: tagged Release-please owns this one — released, tag pushed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants