Skip to content

feat: add model regression check tool (MIC-71)#477

Open
mtiller wants to merge 1 commit into
masterfrom
michaeltiller/mic-71-turn-the-modern-omc-check-sweep-into-a-repeatable-regression
Open

feat: add model regression check tool (MIC-71)#477
mtiller wants to merge 1 commit into
masterfrom
michaeltiller/mic-71-turn-the-modern-omc-check-sweep-into-a-repeatable-regression

Conversation

@mtiller

@mtiller mtiller commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Fixes MIC-71.

Adds tools/check-models/ — a repeatable guard that every class in ModelicaByExample still passes checkModel under a modern OpenModelica:

  • run.sh — runs the sweep in Docker, verdicts against the allowlist, exits non-zero on new failures. Configurable via OMC_IMAGE / MSL_VERSION / OMC_LIBS.
  • check_all.mos.in — OMC script template (enumerate all classes, checkModel each).
  • parse.py — pass/fail verdict; also reports known failures that have started passing.
  • known_failures.txt — allowlist (currently ConventionalOnOffControl/MIC-68 and ABCD/MIC-69, with reasons).
  • README.md — usage + config.

Validated cold and warm: Checked 518 classes: 516 passed, 2 failed (2 known, 0 unexpected). OK — no regressions. (exit 0). Ready to wire into CI under MIC-75. Host deps: docker + python3.

🤖 Generated with Claude Code

Runs checkModel over every class in the ModelicaByExample library under a
modern OpenModelica (in Docker) and fails only on a class that breaks but
is not in known_failures.txt, so it can gate CI against future OMC/MSL
upgrades. Validated against OMC 1.24.0 / MSL 3.2.3: 516 pass, 2 known,
0 unexpected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

1 participant