Compute Model
Session-first, split-aware computation and the denominator rules behind Power Oracle.
Power Oracle uses a session-first compute model.
Core Semantics
- Top-level
duration_secondsis full session elapsed time. splits[]are required and represent meaningful work segments.- Each split has its own active
duration_seconds. rest_seconds_afteris optional and captures recovery after a split.
This keeps interval workouts from collapsing into one misleading average.
Denominator Rule
Two denominator rules matter:
- Session average power uses full session elapsed time.
- Split average power uses split active duration only.
That distinction is the reason the API can describe both whole-session output and within-session structure without inventing timing that was never supplied.
Unattributed Time
If the top-level elapsed time is larger than the total of split active time plus rest_seconds_after, the remainder is returned as unattributed_duration_seconds.
This makes incomplete timing explicit instead of silently burying it in the denominator.
Why It Matters
Most workout tools track proxies such as scores, rounds, or finish times.
Power Oracle is designed to preserve the measurement object itself: work over time.