Skip to content

Mark models a library no longer has as removed - #329

Merged
sjoelund merged 1 commit into
masterfrom
mark-removed-models
Aug 25, 2026
Merged

Mark models a library no longer has as removed#329
sjoelund merged 1 commit into
masterfrom
mark-removed-models

Conversation

@sjoelund

Copy link
Copy Markdown
Member

A library that still loads but has no model with an experiment annotation writes no rows into its branch table, so the newest date there stays at the last run that did have models and the reports go on listing them. Physiomodel lost its annotations in 2021 and master has reported its 12 models ever since; OpenHydraulics, IdealizedContact, Dynawo_1.6.1 and ModelicaTestOverdetermined_3.2.2 are in the same state, and Pharmacolibrary, ExtendedPetriNets, ExternalMemoryLib and Spot never had a model at all.

A run now writes a finalphase -1 row for every model the previous run of that library had and it no longer finds. The previous run is the newest one with rows for the library rather than the previous run of the branch, which makes it self-limiting: once written, the removals are themselves that library's newest rows, so a library that stays empty is marked once instead of at every run. Nothing has to be backfilled - each stale library still gets a libversion row every run, so the next run of a branch marks it.

The reports that counted rows without asking for a phase now exclude the marker, and the two regression queries no longer report a model going Verify -> Removed as a regression.

A library that fails to load has no models either, and marking every model of it removed on the strength of a failed download would drop it out of the reports for a day. Collect the libraries whose loadModel failed and refuse to run, so the reason is fixed rather than recorded.

Assisted-by: Claude Opus 5

A library that still loads but has no model with an experiment
annotation writes no rows into its branch table, so the newest date
there stays at the last run that did have models and the reports go on
listing them. Physiomodel lost its annotations in 2021 and master has
reported its 12 models ever since; OpenHydraulics, IdealizedContact,
Dynawo_1.6.1 and ModelicaTestOverdetermined_3.2.2 are in the same
state, and Pharmacolibrary, ExtendedPetriNets, ExternalMemoryLib and
Spot never had a model at all.

A run now writes a finalphase -1 row for every model the previous run
of that library had and it no longer finds. The previous run is the
newest one with rows for the library rather than the previous run of
the branch, which makes it self-limiting: once written, the removals
are themselves that library's newest rows, so a library that stays
empty is marked once instead of at every run. Nothing has to be
backfilled - each stale library still gets a libversion row every run,
so the next run of a branch marks it.

The reports that counted rows without asking for a phase now exclude
the marker, and the two regression queries no longer report a model
going Verify -> Removed as a regression.

A library that fails to load has no models either, and marking every
model of it removed on the strength of a failed download would drop it
out of the reports for a day. Collect the libraries whose loadModel
failed and refuse to run, so the reason is fixed rather than recorded.

Assisted-by: Claude Opus 5
@sjoelund
sjoelund enabled auto-merge (squash) August 25, 2026 04:26
@sjoelund
sjoelund merged commit 5916589 into master Aug 25, 2026
7 checks passed
@casella

casella commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

@sjoelund so what is the final outcome of 9c76d65 for

  • libraries that fail to load
  • libraries that load but have no experiment annotation

I guess we should get some explicit notification of those facts in the report. Is that what we do now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants