Legend: π§Ύ Trial β’ π§± Spec β’ π€ Contender β’ π‘οΈ Marshal β’ π·οΈ Badge β’ π₯ Replay β’ βοΈ On-chain β’ π Ladder β’ β PASS β’ β NO PASS
- π€ Contender opens app β selects π§Ύ slack-board-1m v1 β session checklist loads
- π‘οΈ Marshal confirms they are authorized in-app (registry check)
- Tool check: π€ Contender shows slack board specs (70-90cm board, 10-15cm cylinder fulcrum per Trial π§± spec)
- Environment check: camera frames full body + board + fulcrum; stable, non-slip surface shown
- π₯ Recording setup: π€ Contender starts recording (required for β PASS)
- Evidence consent: confirm recording is active (Trial-defined; mutual consent)
- π‘οΈ Marshal starts live observation and confirms "ready"
- π€ Contender begins balance hold with both feet on board (π₯ recording in progress)
- π‘οΈ Marshal may request a camera adjustment if view is compromised
- π‘οΈ Marshal calls "time" at 60 seconds
- π‘οΈ Marshal declares β PASS or β NO PASS based on Trial pass rule (no ground touch, no external support, no stepping off)
- π€ Contender uploads π₯ Replay β receives replayHash + replayRef
- App generates one EIP-712 Record message with: trialId/version, contender, marshal, result, timestamp, nonce, deadline, replayHash, replayRef (required for β PASS)
- π€ Contender signs β π‘οΈ Marshal signs β app submits βοΈ on-chain
- If β PASS: π·οΈ Badge minted to π€ Contender wallet (linked to π₯ Replay); π Ladder updated (if slack-board-1m v1 is eligible)
- If β NO PASS: Run recorded; no Badge; π€ Contender may retry later
- π€ Contender sees credential page (π·οΈ Badge + π₯ Replay link) or Run history
- π‘οΈ Marshal sees session log and earnings summary