Evidence becomes story
Preserve practice truth once, then derive progression, presentation, creator moments, and production evidence safely.
Evidence hierarchy
raw source event
→ exact observation
→ package transition
→ committed Attempt + Measurements
→ Story Events
→ media anchors and sealed creator evidence
→ Content Studio intakeEach layer adds meaning without rewriting the layer below it.
Measurements
Measurements are typed results attached to an Attempt or another explicit subject. A primary comparable metric might be elapsed milliseconds, accuracy, score, mistakes, or a bounded pass/not-yet result. Supporting Measurements may explain the result without determining progression.
Progression
Progression selects comparable Attempts using immutable package policy, aggregates the relevant evidence, and maps it to thresholds. The resulting rank state is cached for fast product reads but can always be rebuilt from the authoritative history.
Story Events
The package emits semantic facts such as:
{
kind: "story.emit",
eventType: "personal_best",
facts: { previousMs: 45120, currentMs: 42800 }
}Consumers decide how to present or edit that fact. The package does not name a video file, control OBS, call a voice provider, or upload media.
Media anchors
Station owns capture clocks. The host maps committed Story Events to bounded time windows in one capture, preserving clock provenance and gaps. An editor can find “the rank-up throw” without trusting a package-supplied file offset.
Corrections
Correcting committed evidence creates an immutable later revision. The host replays pinned package bytes, rebuilds derived state, retracts invalidated Story Events, and preserves both revisions for audit. See Correction and exact replay.