Make KaminoSolverCfgBase public - #7047
Conversation
There was a problem hiding this comment.
Isaac Lab Review Bot
The change consistently promotes KaminoSolverCfgBase to a public API and uses it for Kamino classification in the coupler. The remaining issue is missing changelog metadata for the affected source packages.
- Design and architecture: Using the shared Kamino configuration base in
NewtonCouplerManagerpreserves current behavior for the PADMM and DVI configurations while ensuring future Kamino backends inherit the same contact handling and nested-entry validation. - API:
KaminoSolverCfgBaseis exported throughisaaclab_newton.physics, and supplied consumers no longer reference the private name. Because this is a user-visible API addition, the required changelog fragment forisaaclab_newtonis missing; the modifiedisaaclab_contribpackage also needs an appropriate fragment, which may be.skipif no release note is warranted. - Implementation: The manager annotations, runtime type guard, concrete config inheritance, and coupler checks were updated consistently. Existing PADMM and DVI behavior remains unchanged, but release metadata must be added before merge.
Minor fixes needed. Posted 1 actionable finding inline.
Automated review; human maintainers own approval decisions.
Greptile SummaryThis PR makes the common Kamino solver configuration base class public and updates internal type checks to use it.
Confidence Score: 5/5The PR appears safe to merge with no actionable defects identified. The rename is applied consistently, the new package export follows the existing lazy-export mechanism, and the broadened type checks preserve current behavior while covering future Kamino solver subclasses. Important Files Changed
Reviews (1): Last reviewed commit: "Make KaminoSolverCfgBase public" | Re-trigger Greptile |
Co-authored-by: Cursor <cursoragent@cursor.com>
hujc7
left a comment
There was a problem hiding this comment.
Agent review: the rename and the two coupler.py collapses are exactly right — no comments on those. Three follow-throughs on the newly public surface: one leftover call site, the missing API-reference entry, and an unlabeled failure if the base is used directly.
Document the public base configuration, keep its test coverage extensible, and provide a clear error when it is used without a concrete dynamics solver. Co-authored-by: Cursor <cursoragent@cursor.com>
Description
Short amendment to previous PR #6916, making the CfgBase public is slightly more scalable and turns:
isinstance(solver_cfg, (KaminoPADMMSolverCfg, KaminoDVISolverCfg))intoisinstance(solver_cfg, KaminoSolverCfgBase). The latter would remain valid if we ever add a third backend.