Skip to content

Release SuperAgeCore 0.5.0 with continuous chronological age - #8

Merged
murdercode merged 1 commit into
mainfrom
4.14
Oct 5, 2026
Merged

murdercode merged 1 commit into
mainfrom
4.14

Conversation

@murdercode

Copy link
Copy Markdown
Contributor

Summary

Whole-year chronological age causes Fitness Age to jump at birthdays and reference-band boundaries. SuperAgeCore 0.5.0 accepts fractional chronological age and interpolates complete adjacent integer-age results in every algorithm mode, preserving the 0.4.0 integer outputs, observed values, missing-data rules, weights and adult eligibility.

FitnessAgeProfile.chronologicalAge and FitnessAgeResult.chronologicalAge become Double. Integer initializer overloads and legacy integer JSON remain supported; callers that store the public properties in Int variables must convert explicitly. Methodology, independent golden fixtures, migration notes and the version constant ship together.

RFC issue: #7

Type

  • Algorithm change with approved RFC

Validation

  • swift build and swift test: 57 tests passed in Debug
  • swift build -c release and swift test -c release: 57 tests passed
  • Integer source/test baseline matches both public v0.4.0 and the app-pinned source
  • 13 fractional golden cases, 26 exact integer anchors and 432 birthday boundary cases cover both reference sexes and every mapping mode
  • Legacy/fractional Codable, adult eligibility, invalid ages, exclusions and confidence covered
  • Optimized macOS benchmark: 10,000 calculations; median 0.017500 ms, p95 0.022167 ms
  • Methodology and changelog updated; release date 2026-10-05
  • DCO signoff included on the implementation commit
  • git diff --check passed

Signed-off-by: Stefano Novelli <murdercode@gmail.com>
@murdercode
murdercode merged commit 93df813 into main Oct 5, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant