Research Audit Fixes
A complete record of the performance-analytics corrections released after the independent research audit.
What changed
This release treats the research audit as a safety and acceptance checklist. It corrects the shared analytics logic first so the dashboard, progression, standards, relationships, training tests, projections, and model-review surfaces use the same rules.
Model revision 2026.08.01-5 keeps every valid positive stored mark in analytics unless the user excludes it. Exact duplicate assertions still count once. Metadata concerns now reduce weight or widen uncertainty instead of silently deleting history. Page filters control the visible table; model calculations use the complete selected-event history.
Data integrity and chronology
- Duplicate source assertions are grouped under one canonical performance.
- A single exact-date authoritative assertion is preferred while every source remains traceable.
- Ambiguous possible duplicates remain in modeling until the user excludes one.
- Season-only dates are no longer assigned a synthetic July 1 date.
- Coarse dates remain outside day-based slopes, date windows, PB elapsed days, and relationships, but they contribute to the robust all-history projection anchor.
- Each analysis returns stored-row, unique-performance, included, excluded, exact-date, context, version, and limiting-factor details.
Records and season summaries
- Legal PBs are separated from all-conditions and missing-condition bests.
- PB step charts use exact dates only.
- Season summaries now separate legal and all-conditions bests and report comparable median, top-three median, IQR, unique results, meets, and exact-date count.
- A season with fewer than three results is described as a best single mark and is not ranked as the athlete's best typical season.
Recent comparison and consistency
- “Form” is renamed Recent performance versus established level and explicitly does not measure readiness or fatigue.
- Recent comparison requires at least three recent and five earlier exact-date comparable meet summaries and reports an 80% deterministic meet-bootstrap range.
- All-career coefficient of variation is replaced by recent, context-matched robust log-MAD variation with an 80% deterministic meet-cluster bootstrap range.
- Consistency requires at least five comparable results and is labeled preliminary below eight.
- Valid unusual results are not automatically deleted; robust influence flags begin above a residual of four and require review.
Exposure and training tests
- “Volume” and “competition footprint” are renamed Recorded competition exposure.
- Competition meets, days, and starts are never presented as training load.
- Training tests are grouped by test, unit, timing, protocol version, device, lead-in, rest, start protocol, venue, and surface.
- Fewer than five matching test sessions are history only. Five or more can show robust typical variation with an 80% meet-cluster bootstrap range.
- Race results, training exposure, readiness, fatigue, and health remain separate concepts.
Standards and classification context
- Standards require the latest authority, season, event, class, gender, venue, and age division to match.
- An Open standard shown to a younger athlete is labeled Open reference only.
- The dashboard, analytics, and standards pages use the same exact-match rule.
- ATFUSA data stays a separate authority and is not used as a USA Para matched standard.
- Classification status is stored with athlete and race history; unknown, provisional, mixed, or changed status reduces weight and widens uncertainty rather than blocking the projection.
Confirmation restoration
- Confirming a published history now updates the stored athlete and result classification statuses, rather than only saving a screen-level decision.
- Athlete-confirmed rows with missing published wind or timing remain eligible as confirmed legal rows; a stored assisted wind or hand-timing value still overrides confirmation and remains incompatible.
- Track and field event tabs resolve their class from that event's stored confirmed history, so F-class throws are not lost behind a T-class profile default.
- Previously confirmed rows are restored from their stored confirmation decisions. No mark, wind, timing, source, or date is changed.
Relationships and projections
- Same-season relationship pairing is removed.
- No numerical relationship is calculated below 10 exact pairs, and interpretation is withheld below 20.
- Long-term linear forecast continuation is removed from the athlete dashboard.
- Every positive non-excluded stored mark contributes to the 30- and 90-day estimate. Exact-date marks enter rolling-origin candidate selection and coarse-date marks enter a capped robust anchor without invented dates. One-row and sparse estimates are preliminary.
- Uncalibrated ranges are called model spread, not “80% likely.”
- PR probability, standard probability, and “most likely next PR” are withdrawn.
- The separate model page can show a preliminary stored-value estimate and descriptive model spread. Probability interval labels remain withheld unless held-out coverage passes the release gate.
Accessibility and interface
- Analytics use a persistent context and analyzed-data receipt.
- Chronological charts exclude coarse dates and provide a full accessible data table.
- Chart point names include meet, date, mark, timing, venue, and wind.
- Chart controls meet the minimum target size and analytics reflow to one column on small screens.
- Tables scroll locally without creating document-level horizontal overflow.
Calculation release
Analytics calculation version: 2026.08.01-5. Prediction model review version: 2026.08.01-5. The stored source rows and past audit records were preserved. Valid stored marks now remain in the model unless the user explicitly excludes them; uncertain metadata reduces weight or widens spread.
