# 34-subject Hybrid MotorSSL Bridge

This package keeps the ten final normal subjects completely outside SSL and
cross-subject supervised training. It reuses the validated 1-40 Hz, 200 Hz,
8-channel continuous cache from `SSL_8ch_ConvMAE_MI_CUDA_package`.

Pipeline:

1. All `sub16-sub49` continuous windows train EMA-teacher masked latent SSL.
2. The same 34 subjects are event-sliced (`41=left`, `61=right`) for a
   subject-grouped supervised bridge.
3. The ten final subjects use exactly 20 left and 20 right calibration trials.
4. Pretrained modes update adapters, LayerNorm, spectral fusion, and the head;
   ShallowConvNet is trained from scratch on the identical subset.

```bash
python run_hybrid.py prepare
python run_hybrid.py smoke-test --device cuda
python run_hybrid.py pretrain --device cuda --ssl-steps 20000
python run_hybrid.py bridge --device cuda
python run_hybrid.py evaluate --device cuda
python run_hybrid.py adapt --device cuda
python run_hybrid.py report
```

All CSV stages are append-safe. Final evaluation contains 4 modes x 10
subjects x 5 folds x 3 seeds = 600 rows.
