Skip to content

edit connector class#9

Merged
MacdonaldJoshuaCaleb merged 9 commits intomainfrom
enhance_op_system_integration
Feb 10, 2026
Merged

edit connector class#9
MacdonaldJoshuaCaleb merged 9 commits intomainfrom
enhance_op_system_integration

Conversation

@MacdonaldJoshuaCaleb
Copy link
Collaborator

This pull request introduces improvements to the operator wiring and kernel parameter handling in the op_engine, as well as enhancements to the test suite and developer tooling. The main changes include merging precomputed mixing kernels into the right-hand side (RHS) parameters, initial support for passing operator specifications (especially for IMEX methods), and updates to the development workflow to better separate provider and core tasks.

Core engine improvements:

  • The engine now merges any precomputed mixing_kernels exposed by a system into the RHS parameters, allowing systems to inject kernel values directly into the computation.
  • Initial wiring for operator specifications: if operator specs are provided in the config (notably for IMEX methods), the default operator is passed to the solver, enabling identity operator tests and future extensibility.

Testing enhancements:

  • Added _KernelStepper, _KernelSystem, and _ImexSystem test helpers, along with new tests to verify that mixing kernels are passed correctly and that IMEX operator specs are accepted and functional.
    Developer tooling and workflow:

  • Updated the justfile to better separate provider and core tasks, add "nosync" variants for faster CI, and use uvx for tool-only tasks. The CI aggregate step is now more efficient and explicit.

Minor cleanup:

  • Removed stale contract comments from reshape_for_axis_solve in model_core.py.

Closes #8 in prep for adding multiple demos to flepi demo.

Copy link
Member

@pearsonca pearsonca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor items; going to try it out w/ flepimop-demo

@TimothyWillard
Copy link
Collaborator

Updated the justfile to better separate provider and core tasks, add "nosync" variants for faster CI, and use uvx for tool-only tasks. The CI aggregate step is now more efficient and explicit.

Perhaps these changes would be better suited for a separate PR. The failing CI is making it a bit annoying to verify the the actual code changes pass quality checks. Also, I do not think the premise for this change is true. uvx runs tools in an isolated virtual environment so:

  1. You loose the efficiency gains from the pyproject.toml caching mechanism from https://github.com/astral-sh/setup-uv.
  2. No longer able to manage dev dependencies via the pyproject.toml (i.e. restrict or require versions).

Copy link
Collaborator

@TimothyWillard TimothyWillard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor code edits, larger issues about the CI changes. Is there any documentation for these mixing kernels? I do not really understand what they are or how to use them?

@MacdonaldJoshuaCaleb
Copy link
Collaborator Author

Addressed reviewer comments including reverting the just file and opened new issues regarding Operator handling (#11) as well as an issue for handoff and expansion of flepimop2 SystemABC objects (flepimop2 #131)

@MacdonaldJoshuaCaleb MacdonaldJoshuaCaleb merged commit f046d97 into main Feb 10, 2026
5 checks passed
@MacdonaldJoshuaCaleb MacdonaldJoshuaCaleb deleted the enhance_op_system_integration branch February 10, 2026 17:51
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.

Tighten op_engine & op_system integration through their connectors

3 participants