Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## feature/deprecate-dims #1304 +/- ##
==========================================================
+ Coverage 92.57% 92.59% +0.02%
==========================================================
Files 100 100
Lines 6020 6040 +20
Branches 796 798 +2
==========================================================
+ Hits 5573 5593 +20
Misses 326 326
Partials 121 121
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Pyright Type CompletenessView the full Project (full
Other symbols referenced but not exported by
Symbols without documentation:
Patch (exported symbols added or changed by this PR): 0.0% fully typed (0 / 4)
Patch symbol details
|
7bcf3d0 to
0c87d2e
Compare
a9f5c57 to
c6e0c8d
Compare
7d7efdc to
4253b6e
Compare
…1012, #1013) - Encapsulate internal date dimensions into _odims and _ddims - Provide backward-compatible odims and ddims properties emitting FutureWarning - Migrate legacy pickled instances with odims/ddims in Triangle.__setstate__ - Decouple internal usages across core, estimators, tails, and tests - Address ruff linting and formatting on touched files Closes #1012, closes #1013, refs #1216, refs #601
4253b6e to
8b192f3
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a2ce5cd. Configure here.
| if not obj.is_full: | ||
| obj = obj[obj.valuation < obj.valuation_date] | ||
| if hasattr(obj, "w_"): | ||
| w_ = obj.w_[..., : len(obj.odims), :] |
There was a problem hiding this comment.
latest_diagonal triggers deprecation warning
Medium Severity
latest_diagonal still assigns through the deprecated ddims setter, so a FutureWarning fires on every access even though callers never use odims or ddims. That warning then leaks into other core methods that rely on latest_diagonal.
Reviewed by Cursor Bugbot for commit a2ce5cd. Configure here.
Summary of Changes
Related GitHub Issue(s)
Closes #1012, closes #1013, refs #601, refs #1216
Additional Context for Reviewers
Checklist
uv run pytest) and documentation changes (uv run --directory docs jb build . --builder=custom --custom-builder=doctest)Note
Medium Risk
Wide changes to how origin/development axes are stored and mutated across reserving and triangle arithmetic, though behavior is intended to stay backward compatible via deprecated accessors and pickle migration.
Overview
Deprecates public
Triangle.odimsandTriangle.ddims, moving internal axis storage to private_odimsand_ddimswhile steering callers towardoriginanddevelopment.Read/write access to the old names still works but emits
FutureWarning. Library code across core, development, methods, tails, adjustments, and utilities is updated to use the private fields so internals no longer trigger deprecation noise. Slicing helpers accept both legacy and private axis names for compatibility.Pickle migration in
Triangle.__setstate__maps serializedodims/ddimsinto_odims/_ddims, with expanded tests for warnings, legacy unpickling, and JSON checks usingorigin/development. A few unrelated test fixes (R import guard,TailCurvefit period) ride along.Reviewed by Cursor Bugbot for commit a2ce5cd. Bugbot is set up for automated code reviews on this repo. Configure here.