Testing session (debug.json, session.py --debug): with Frametop's hand
tracking installed, the board's first row records up to 3 minutes of
normal use at 30 sets/s plus the live tracker's hands and gestures
files (livelog.py, live.bin), the HANDS_/POINTER_ settings and model
hashes. The headset button marks a failure; holding it finishes.
Test phase (takes.TEST_PHASE): bounty rounds and testing sessions are
recorded under a short testing-only consent (TESTING.md, draft) and go
to the gated DeeJanuz/frametop-hands-test, encrypted on the headset to
the maintainer keys (test-recipients.txt, age). validate.py checks the
encryption, the consent kind and the live files. The window switches
consent text, upload gate and dataset per round and per session.
Also: the export's manifest profile keeps only the consent record of
its kind (bounty counts made validate reject it), and age.shape moves
from gaze/rec/validate.py to recorder/age.py.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>