v0.8.1-alpha¶
This alpha patch release packages the fixes landed in PR #37 after
v0.8.0-alpha.
Use it if you run campaign baselines or the circle-packing example campaign.
Highlights¶
- Campaign baseline persistence no longer adds a new
CampaignBaselinerow to the session before all required fields are populated. This avoids autoflush failures when projection queries run during baseline persistence. - The circle-packing example submodule now includes a Loreley campaign program
for the
pack_circles(n=26)benchmark, with explicit metric, scope, budget, and correctness-gate metadata. - CI now checks out submodules recursively, so submodule-backed tests exercise the same files that the example campaign expects.
- The local PostgreSQL 18 Compose setup now uses the versioned data directory expected by the image.
Upgrade Notes¶
No database migration required¶
This release does not change the Loreley database schema or instance metadata version.
PostgreSQL 18 local volumes¶
The Compose file now sets PGDATA=/var/lib/postgresql/18/docker and mounts the
named volume at /var/lib/postgresql. If your local Compose database was
created with the older disposable layout, run:
docker compose down -v
docker compose up -d postgres redis
Do this only for disposable local data; docker compose down -v removes the
local database volume.
Circle-packing submodule¶
When using the circle-packing example from a fresh checkout, initialize submodules before running the example tests or campaign:
git submodule update --init --recursive
Fixes¶
- New baseline rows are now inserted only after projection persistence has finished and the row has complete source-of-truth fields.
- Failed or degraded same-key baseline rows can still be reused or force-rerun without creating duplicate incomplete rows.
- The circle-packing report command now records a missing optional
historical_bestreference asstatus: missinginstead of failing the whole report. Required references, includingcurrent_best, still fail loudly when unavailable. - Missing optional reference errors in generated reports are sanitized so local filesystem paths are not emitted.
- PostgreSQL 18
docker compose upno longer fails because the named volume is mounted at the image's legacy data path.
Validation¶
- Local release validation:
687 passed, 4 skipped in 15.38s. - Documentation build:
uv run --with mkdocs-material mkdocs build --strict. - CI
testsand Cremona checks passed on PR #37 head6f10d3d. - Local PR validation included
uv run pytest, targeted baseline/campaign tests,docker compose config, PostgreSQL/Redis startup health checks, a circle-packing scheduler smoke substitute, and a circle-packing report smoke.
Recommended Release Summary¶
- Fix campaign baseline persistence so new rows are complete before flush or autoflush.
- Add the circle-packing Loreley campaign program and make CI/test coverage submodule-aware.
- Harden circle-packing reports around optional historical references and fix PostgreSQL 18 local Compose startup.