Conversation
Adds a standalone C++ subsystem for simulating multi-domain therapeutic constraints (metabolic, systemic, oncology, etc.) without modifying the existing Python codebase. Bumps version from 2.4.1 to 2.5.0 across setup.py, CITATION.cff, README, and __init__.py. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Introduces a standalone C++ “constraint-bundle evaluation universe” alongside CuraFrame’s existing Python package, adding a registry-driven bundle architecture, a unified evaluator/report output, and domain-specific constraint bundles, plus accompanying documentation and a non-destructive version bump to 2.5.0.
Changes:
- Added C++ core types for candidate representation, bundle interface/registry, evaluation orchestration, and reporting (
constraint_core/). - Added 12 domain-specific C++ constraint bundles under
constraints/, each auto-registering into the evaluation registry. - Added C++-focused documentation and bumped project version references to 2.5.0.
Reviewed changes
Copilot reviewed 36 out of 36 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Bumps Python package version to 2.5.0. |
| cura_frame/init.py | Updates __version__ to 2.5.0. |
| README.md | Updates citation snippet version to 2.5.0. |
| CITATION.cff | Updates citation metadata version to 2.5.0. |
| docs/constraint_bundles.md | Documents available C++ constraint bundle domains and intent. |
| docs/evaluation_pipeline.md | Documents the unified C++ evaluation flow and example usage. |
| docs/CHANGELOG.md | Adds a dedicated C++ subsystem changelog entry for 2.5.0. |
| constraint_core/Candidate.hpp | Adds C++ candidate structure used by bundles/evaluator. |
| constraint_core/ConstraintBundle.hpp | Defines the C++ bundle interface contract. |
| constraint_core/ConstraintRegistry.hpp | Adds bundle registry + auto-registration macro. |
| constraint_core/EvaluationReport.hpp | Adds aggregated evaluation output structure. |
| constraint_core/MultiBundleEvaluator.hpp | Implements cross-bundle evaluation and aggregation. |
| constraints/metabolic/MetabolicBundle.hpp | Adds metabolic stability bundle implementation + registration. |
| constraints/metabolic/MetabolicBundle.cpp | Translation unit to compile/link metabolic bundle. |
| constraints/systemic_exposure/SystemicExposureBundle.hpp | Adds systemic exposure bundle implementation + registration. |
| constraints/systemic_exposure/SystemicExposureBundle.cpp | Translation unit to compile/link systemic exposure bundle. |
| constraints/hepatic/HepaticBundle.hpp | Adds hepatic bundle implementation + registration. |
| constraints/hepatic/HepaticBundle.cpp | Translation unit to compile/link hepatic bundle. |
| constraints/renal/RenalBundle.hpp | Adds renal bundle implementation + registration. |
| constraints/renal/RenalBundle.cpp | Translation unit to compile/link renal bundle. |
| constraints/cardiac/CardiacBundle.hpp | Adds cardiac bundle implementation + registration. |
| constraints/cardiac/CardiacBundle.cpp | Translation unit to compile/link cardiac bundle. |
| constraints/cns/CNSBundle.hpp | Adds CNS bundle implementation + registration. |
| constraints/cns/CNSBundle.cpp | Translation unit to compile/link CNS bundle. |
| constraints/anti_infective/AntiInfectiveBundle.hpp | Adds anti-infective bundle implementation + registration. |
| constraints/anti_infective/AntiInfectiveBundle.cpp | Translation unit to compile/link anti-infective bundle. |
| constraints/oncology/OncologyBundle.hpp | Adds oncology bundle implementation + registration. |
| constraints/oncology/OncologyBundle.cpp | Translation unit to compile/link oncology bundle. |
| constraints/immunologic/ImmunologicBundle.hpp | Adds immunologic bundle implementation + registration. |
| constraints/immunologic/ImmunologicBundle.cpp | Translation unit to compile/link immunologic bundle. |
| constraints/formulation/FormulationBundle.hpp | Adds formulation bundle implementation + registration. |
| constraints/formulation/FormulationBundle.cpp | Translation unit to compile/link formulation bundle. |
| constraints/pkpd/PKPDBundle.hpp | Adds PK/PD bundle implementation + registration. |
| constraints/pkpd/PKPDBundle.cpp | Translation unit to compile/link PK/PD bundle. |
| constraints/safety/SafetyBundle.hpp | Adds global safety bundle implementation + registration. |
| constraints/safety/SafetyBundle.cpp | Translation unit to compile/link safety bundle. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // Collect metadata if needed (for later extension) | ||
| auto metadata = bundle->bundle_metadata(); | ||
|
|
There was a problem hiding this comment.
metadata is retrieved but never used. In a header, this can trigger -Wunused-variable warnings (and potentially fail builds with -Werror). Either remove the variable entirely or explicitly mark it unused (e.g., (void)metadata; / [[maybe_unused]]).
| // Additional domain-specific properties can be mapped here | ||
| std::map<std::string, double> properties; | ||
|
|
||
| Candidate(std::string id = "unknown") : id(id), molecular_weight(0.0), logp(0.0) {} |
There was a problem hiding this comment.
The Candidate constructor takes id by value but then copies it into the member (id(id)). Prefer moving (id(std::move(id))) or taking const std::string& to avoid an extra copy when constructing candidates.
This PR introduces a standalone C++ constraint-bundle evaluation universe to the Curaframe repository.
It establishes a core architecture in
constraint_core/featuring dynamic auto-registration, a unifiedMultiBundleEvaluator, and structures forCandidateandEvaluationReport.12 domain-specific physical/physiological bundles have been added to
constraints/(e.g., metabolic, oncology, CNS).Added robust documentation (
constraint_bundles.md,evaluation_pipeline.md) and a dedicated C++CHANGELOG.md.The version has been bumped non-destructively to 2.5.0.
PR created automatically by Jules for task 13576498636255101788 started by @dfeen87