Skip to content

chore(main): release 0.0.1-alpha.58 - #443

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

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

Conversation

@fluxopt-release

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

0.0.1-alpha.58 (2026-07-31)

Documentation


This PR was generated with Release Please. See documentation.

@fluxopt-release fluxopt-release Bot added the autorelease: pending Release-please owns this one — a release PR awaiting merge label Jul 31, 2026
@fluxopt-release
fluxopt-release Bot enabled auto-merge (squash) July 31, 2026 19:23
@read-the-docs-community

Copy link
Copy Markdown

Documentation build overview

📚 lpspec | 🛠️ Build #33858378 | 📁 Comparing d8c6735 against latest (6d0e195)

  🔍 Preview build  

1 file changed
± changelog/index.html

@fluxopt-release
fluxopt-release Bot merged commit a5825f2 into main Jul 31, 2026
4 checks passed
@fluxopt-release

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

@fluxopt-release fluxopt-release 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 Jul 31, 2026
FBumann added a commit that referenced this pull request Jul 31, 2026
…one (#445)

* chore(main): release 0.0.1-alpha.58 (#443)

Co-authored-by: fluxopt-release[bot] <267260463+fluxopt-release[bot]@users.noreply.github.com>

* docs(bench): the engine comparison at e42b9a0, and a docs clobber undone

Two things, and the second one is a fix for damage I did.

**The numbers.** Measured at `e42b9a0` on a clean tree, all six cases, both
sinks, three repeats; noise floors are in `bench/results/engines.jsonl` beside
them. duckdb is **1.3-3.4x slower on build across all twelve rungs and heavier
on eight of them** — lighter only on `fleet` and on `nodal` through the solver.
Objectives stay bit-identical; the parity gate passes at 0.0 relative.

The three places that claimed otherwise are corrected: the engine's own
docstring (which said it "earns its keep at the top of the ladder", 0.55x on
`dispatch/l`), ROADMAP Track 4, and `bench/duckdb-spike.md`.

**The reason matters more than the ratio, and it is partly ours.** Five
optimisations landed on the polars engine while this one sat on a branch. Then
`cols` went positional (#433), which is *free* there — the order falls out of a
cross join's emission order — and costs an `ORDER BY` here, roughly doubling
`dispatch/l`'s build the day it landed. A shared contract can be cheap for one
engine and not the other, and the gap widens with neither engine regressing.
That is a structural fact about shipping two, and the docs now say it.

**The clobber.** The previous merge ran `git checkout origin/main -- docs/` to
drop a stale results file and took the whole directory with it, including the
ARCHITECTURE module map, the engine diagram and hard rule 2 — all of which this
branch adds and main does not have. `test_every_module_is_documented_somewhere`
caught it: `relational/engine.py` had no entry because the entry had been
deleted. Restored from this branch's own side, with the Track 4 correction
reapplied on top.

780 passed on polars, 779 passed / 5 skipped on duckdb, ruff + pyrefly + mkdocs
--strict clean.

---------

Co-authored-by: fluxopt-release[bot] <267260463+fluxopt-release[bot]@users.noreply.github.com>
FBumann added a commit that referenced this pull request Jul 31, 2026
Brings #399 up to `ce0fb3d` — #443, #446, #447, #444 and #448.

**#448 replaced the custom runner with a pytest suite.** `bench/run.py`,
`_run_case.py` and `compare.py` are gone; this branch's `run.py` carried the
duckdb arm and main's `conftest.py` already has it, so the deletion is taken
and nothing is lost. `report.py` keeps main's `.json` reader and this branch's
`--arms`, without which the engine comparison cannot be tabulated at all.

**#446 needed care.** It stopped `_read_back` sorting, because every labelling
path already yields a label-ascending frame and two of them verify it. True of
polars. Not true of a SQL relation: two of duckdb's three label paths are views
over a cross join and SQL promises no order, so inheriting the unsorted
read-back would attach primal values to the wrong coordinates — silently, on a
solve. duckdb's label registry now asks for the order on the way out, where
only a caller reading a solution pays it.

That is the third time today a change free on polars had to be bought here:
`cols` going positional (#433), the read-back (#446), and the registry. The
asymmetry is the branch's most useful finding and is written up in
`bench/duckdb-spike.md`.

781 passed on polars, 780 passed / 5 skipped on duckdb, ruff + pyrefly (0
errors) + mkdocs --strict clean.
FBumann pushed a commit that referenced this pull request Sep 10, 2026
main landed #1576, the consumer side of math-spec#422, which this branch
carries too by pinning the #443 stack — so every lookup declaration conflicted.
The relational form supersedes the targeted one throughout: `attaching`,
`loader` and `sources` take this branch's, `genx_piecewise_fuel` takes main's
dimension names under this branch's `over:`/`key:` spelling, and the generated
pages, the lockfile and the parity artefacts were regenerated rather than
merged.

`tests/test_label_coords.py` stays deleted, and the five claims main's version
had that `tests/test_lookups.py` lacked are ported into it: the advice a walked
dimension draws, #488's column over a dimension nothing spans, two lookups
between one pair of dimensions, and a positional parameter's index order.

The pin stays at the #443 stack head, which predates math-spec's alpha.85, so
rung 10's projected description reverts to the corpus prose at that commit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SrEY2ZhFD1YXamRn4FzpMa
FBumann pushed a commit that referenced this pull request Sep 10, 2026
…ges keep the math they print

The pin was the stack head as it stood, which forked before math-spec's
alpha.85 — so regenerating every gallery page with that typesetter reverted
#446's GitHub math delimiters across 62 files, and rung 10's description to the
prose #442 had rewritten. Neither was this change's to make.

The stack's own #437 branch had already been rebased onto main; only #443's one
commit was left behind it. Rebased onto that head, and the pin follows it.

The rebase brings #444 with it: a grouped position carries the walk it counts
within rather than naming its pieces, so the predicate reads `partition`
straight and rebuilds no walk of its own — and the linopy lane now holds a
grouped position to the same one-dimension rule as every other walk.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SrEY2ZhFD1YXamRn4FzpMa
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