Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Repo-wide reliability and housekeeping updates, focusing on hardening parsers/simulations, improving RMG execution robustness, and consolidating test/CI configuration.
Changes:
- Hardened multiple parsers/simulators with additional validation, safer parsing, and improved error handling/logging.
- Added walltime-based timeout handling for incore RMG runs and improved CI concurrency settings.
- Moved pytest warning filters into
pyproject.toml, adjusted Makefile test targets, and cleaned up docs/editor configs.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_main.py | Removes leftover debug prints from tests. |
| t3/utils/writer.py | Adds safer string/line parsing when generating RMG/PDep files. |
| t3/utils/rmg_shim.py | Improves cleanup reliability in atomic file writes with logging. |
| t3/utils/rmg_sa_parser.py | Makes SA CSV parsing more robust to unexpected kinetics parameter names. |
| t3/utils/libraries.py | Reduces lock acquisition/stale-lock timeouts. |
| t3/simulate/rmg_constant_tp.py | Fails fast on SA subprocess failure; warns on concentration sums. |
| t3/simulate/cantera_pfr_t_profile.py | Adds constant validation and runtime checks for density/velocity. |
| t3/simulate/cantera_pfr.py | Adds guards for invalid MW and mass flow rate. |
| t3/simulate/cantera_jsr.py | Adds guard for invalid residence time. |
| t3/simulate/cantera_base.py | Adds NaN/inf warning; makes IDT calculation more numerically robust. |
| t3/schema.py | Simplifies units validation condition. |
| t3/runners/rmg_runner.py | Adds walltime parsing + subprocess timeout for incore RMG execution. |
| t3/main.py | Plumbs max walltime into RMG runner; narrows exception handling. |
| pytest.ini | Removes pytest ini in favor of pyproject.toml. |
| pyproject.toml | Adds pytest warning filters under [tool.pytest.ini_options]. |
| README.md | Reworks header placement (logo removed, title moved below badges). |
| Makefile | Adds --cov to targeted test commands. |
| CODE_OF_CONDUCT.md | Changes headings/title structure. |
| .vscode/settings.json | Removed editor-specific settings. |
| .vscode/launch.json | Removed editor-specific launch config. |
| .github/workflows/ci.yml | Adds push trigger and workflow concurrency cancellation. |
Comments suppressed due to low confidence (1)
t3/runners/rmg_runner.py:1
- New walltime parsing and timeout behavior should be covered by unit tests (e.g., valid/invalid walltime strings, defaulting behavior, and a mocked
subprocess.runtimeout/returncode). Adding tests here would prevent regressions in RMG execution handling.
"""
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if label == t3_reaction.get_reaction_smiles_label(): | ||
| return key | ||
| except Exception: | ||
| except (AttributeError, ValueError): |
| if label == t3_reaction.to_chemkin(): | ||
| return key | ||
| except Exception: | ||
| except (AttributeError, ValueError): |
SA failure in RMG is a recoverable condition — T3 continues without SA data and get_sa_coefficients() returns None, which downstream code already handles. The RuntimeError was too aggressive; the error is still logged so it's visible.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #167 +/- ##
==========================================
- Coverage 72.77% 72.37% -0.41%
==========================================
Files 35 35
Lines 4668 4727 +59
Branches 985 998 +13
==========================================
+ Hits 3397 3421 +24
- Misses 944 968 +24
- Partials 327 338 +11
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
No description provided.