fix: age-grade band follow-ups from review (v1.18.1) - #93
Merged
Merged
Conversation
- CHANGELOG: move 1.18.0 substance under ### Breaking (mirroring 1.15.0's style), drop softening language, and add a 1.18.1 entry - Correct provenance wording for age-grade categories in README and wma_2023_open_standards.yml: WMA/Alan Jones tables define no categories, the 60%+ bands follow USATF Masters/NMN convention, and the sub-60% bands are calcpace's own extension - Note in README that bands apply to the rounded age_grade percentage - AGE_GRADE_LABELS: sort by min descending at load time and raise unless the lowest min is exactly 0.0 - age_grade_label: raise ArgumentError for non-finite percent (NaN/Infinity) - Add tests for the 60% rounding edge, the non-finite guard, and label ordering - Bump version to 1.18.1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-ups from the adversarial review of the just-published 1.18.0. Ships as 1.18.1.
### Breaking(mirroring the 1.15.0 entry's style), dropped the "label-only change" / "no numeric output changes" softeners, and stated plainly thatage_grade[:category]/age_grade_labelreturn different strings below 60% and callers matching"Developing"must update. Added a## [1.18.1]entry with### Fixedand### Changed, and updated the link references.lib/calcpace/data/wma_2023_open_standards.ymland README: the WMA / Alan Jones (Howard Grubb) tables are numeric age factors and open standards only and define no categories; the bands from Local Class (60%) upward follow the USATF Masters / National Masters News convention; the three bands below 60% are calcpace's own extension. Added a README sentence noting the bands apply to the roundedage_gradepercentage.AGE_GRADE_LABELSnow sorts bymindescending at load time and raisesArgumentErrorunless the lowestminis exactly0.0.age_grade_labelraisesArgumentError: Age-grade percent must be a finite numberfor non-finite input (NaN/Infinity), in addition to the existing negative-value check.age_grade(10.0, 2750, age: 40, sex: :male)[:category] == "Local Class", raw value 59.9886%),age_grade_label(Float::NAN)raising, andAgeGrading::AGE_GRADE_LABELSmins being strictly descending and ending at 0.0.lib/calcpace/version.rband the README install line to 1.18.1.bundle exec rubocopclean (44 files, no offenses),bundle exec rake testgreen (507 runs, 1135 assertions, 0 failures, 0 errors, 0 skips).