{
  "schema_version": "bci-report-core-matrix-v1",
  "release_id": "core-matrix-update-20261106",
  "generated_at": "2026-11-06",
  "status": "released",
  "title": "Core matrix: rows run under its exact protocols",
  "placement": {
    "core_matrix": true,
    "pages": [
      "/",
      "/protocols/",
      "/protocols/mi-rest/",
      "/protocols/idle/",
      "/protocols/beta-8ch/",
      "/protocols/beta-4ch/",
      "/protocols/arithmetic-rest/",
      "/protocols/p300-target/",
      "/protocols/semantic-target/",
      "/protocols/sleep-scalp/",
      "/methods/",
      "/methods/fbcca/",
      "/methods/riemannian/",
      "/methods/xdawn/",
      "/methods/shallowfbcspnet/",
      "/methods/deep4net/",
      "/methods/csp-lda/"
    ],
    "released_files_unchanged": {
      "arithmetic-rest-protocol.json": "a2d8a9f182916b1ae611b163d65b3b7184bdbf79e4fa39ee47e778c02c301c6b",
      "arithmetic-rest-results.csv": "bed02323936f2980eac7bf3a8e8b2595630fa1609c1466600d33acc2f83928dc",
      "beta-4ch-protocol.json": "749d13951729e00935724fce9b790e8f23978e3290a9dd9df6e5a276736e69a1",
      "beta-4ch-results.csv": "9ffe23197b77eda5f08dca476f66197c2da77f198ce8dd35dfd0df972a24082d",
      "beta-8ch-protocol.json": "ac384c95a33d068d38c37cafae7788331f37f5be5a296bfa01d056daf5590426",
      "beta-8ch-results.csv": "01a11e0ba22ea726158c936ff66a7e60f8704641a6e8f11d5c83f25d87fd3125",
      "experiments.json": "113de335c17043bd9f720cf6e46663ff8bb2a11ddedaa49282765ed732807cd0",
      "idle-protocol.json": "f648b56dfb1d030170440884ac66106ef369c7df8d27040c3bd8d985fc1f0ee8",
      "idle-results.csv": "d511d329755caf81109305a78e416a2650e84ee03f0fa965c34d3e8220796d81",
      "mi-rest-protocol.json": "1c8af89bad4fe60b5afa21635802651395311b5dbca02d1f33717d6cef4fbc65",
      "mi-rest-results.csv": "50f0eef66b1d36314c5ec4a01028a30c58e2ff88ebac08325ee0b6c4158a19cf",
      "p300-target-protocol.json": "ba94ddcd7e8fb925d97ebfd7c0418b69e02d75a1b6135a9be0e058b0a7dfaee9",
      "p300-target-results.csv": "6cd242313b592d37be2c1e6af2fd8524f612010547a143c84948a6f03a7a852d",
      "semantic-target-protocol.json": "b6c5a380596148ecfdd5bc98b2799c12dd5ceec0623c9ebdb8a711ee01fb7653",
      "semantic-target-results.csv": "b4baad3795b5512a033609512c90055894caf915b62c9c303fd77310d98caaaa",
      "sleep-scalp-protocol.json": "6cf58be78f646b20f2ff9a7a9c0beadee4bfd24b9046ac68dc5f68afb2282036",
      "sleep-scalp-results.csv": "55be9dc880b0c620f9dfba3f97c885e50645db0984de2b7d3c10a380fc9db32d"
    }
  },
  "decisions": {
    "D45": "Counts of people print only for cohorts of 10 or more, never with identifiers, and are recomputed by an independent audit.",
    "D46": "New exports carry seed-averaged values only: no per-seed value and no seed range.",
    "D51": "Rows run under the exact core protocol and recipe (E1 FBCCA on beta-8ch and beta-4ch; E2 ShallowFBCSPNet, Deep4Net and CSP+LDA; E5 TS+LR, MDM, xDAWN+LDA and XDAWNCov+TS+LR) join the core matrix through a new dated core-matrix file, with mvp.json and experiments.json unchanged byte for byte and \"not applicable\" marked apart from \"not run\"; every other new result (the log band-power ridge, Signal-JEPA and EEGSimpleConv, the foundation-model and random-initialization rows) stays beside the matrix.",
    "D57": "Paired contrasts against the matrix’s single-seed EEGNet cells print (E1 C2 and C4, the E2 primary family, the Signal-JEPA difference, E5 S1–S8 and the idle EEGNet difference), each labelled beside its numbers \"against the matrix's one-seed EEGNet cell; training variance not included\".",
    "D58": "New idle rows print the cohort size n = 4 as a protocol fact; no count of people meeting a criterion prints for that cohort.",
    "D61": "New core-matrix cells leave the seconds field empty.",
    "D64": "On beta-8ch and beta-4ch, Temporal ridge, xDAWN+LDA and XDAWNCov+TS+LR are marked not run."
  },
  "metric_units": {
    "balanced_accuracy": "percent",
    "macro_f1": "proportion",
    "contrast": "percentage points",
    "idle": "percent of summed test trials, with the trial counts",
    "idle_count_differences": "summed test trials",
    "parameters": "count"
  },
  "comparator_labels": {
    "one_seed_eegnet": "against the matrix's one-seed EEGNet cell; training variance not included",
    "csp_lda_idle": "against the published CSP+LDA idle row (deterministic)"
  },
  "methods": [
    {
      "id": "fbcca",
      "name": "FBCCA",
      "page": "/methods/fbcca/",
      "family": "classical",
      "mode": "Known-frequency reference · no fitting",
      "implementation": "this project's own SciPy realisation",
      "code_licence": null,
      "code_credit": "Sub-band edges, orders and ripple follow Masaki Nakanishi's TRCA-SSVEP src/filterbank.m (MIT, revision 35c1b8a7ebfa3774dd7266931784d04ae09f3461); the MIT notice is kept beside the code.",
      "references": [
        {
          "text": "Chen, Wang, Gao, Jung and Gao. Filter bank canonical correlation analysis for implementing a high-speed SSVEP-based brain–computer interface. Journal of Neural Engineering 12(4):046008, 2015.",
          "doi": "10.1088/1741-2560/12/4/046008"
        }
      ],
      "recipe_codes": [
        "FBCCA-M3-N7-H5"
      ]
    },
    {
      "id": "ts-lr",
      "name": "TS+LR",
      "page": "/methods/riemannian/",
      "family": "classical",
      "mode": "Supervised fit",
      "implementation": "pyRiemann 0.12 (wheel SHA-256 74a90b2ef0938c94fe9bf90b6506991fc19da55850aae5fdf992026b3845d43a) and scikit-learn",
      "code_licence": "BSD-3-Clause",
      "reference_pipeline": "MOABB TSLR.yml, with max_iter raised to 5000",
      "references": [
        {
          "text": "Barachant, Bonnet, Congedo and Jutten. Multiclass brain–computer interface classification by Riemannian geometry. IEEE Transactions on Biomedical Engineering 59(4), 2012.",
          "doi": "10.1109/TBME.2011.2172210"
        },
        {
          "text": "Barachant, Bonnet, Congedo and Jutten. Classification of covariance matrices using a Riemannian-based kernel for BCI applications. Neurocomputing 112, 2013.",
          "doi": "10.1016/j.neucom.2012.12.039"
        },
        {
          "text": "Chen, Wiesel, Eldar and Hero. Shrinkage algorithms for MMSE covariance estimation. IEEE Transactions on Signal Processing 58(10), 2010.",
          "doi": "10.1109/TSP.2010.2053029"
        },
        {
          "text": "Jayaram and Barachant. MOABB: trustworthy algorithm benchmarking for BCIs. Journal of Neural Engineering 15(6), 2018.",
          "doi": "10.1088/1741-2552/aadea0"
        }
      ],
      "recipe_codes": [
        "OAS · 4–40 Hz",
        "OAS · idle-native windows"
      ]
    },
    {
      "id": "mdm",
      "name": "MDM",
      "page": "/methods/riemannian/",
      "family": "classical",
      "mode": "Supervised fit",
      "implementation": "pyRiemann 0.12 (wheel SHA-256 74a90b2ef0938c94fe9bf90b6506991fc19da55850aae5fdf992026b3845d43a) and scikit-learn",
      "code_licence": "BSD-3-Clause",
      "reference_pipeline": "MOABB MDM.yml, unchanged",
      "references": [
        {
          "text": "Barachant, Bonnet, Congedo and Jutten. Multiclass brain–computer interface classification by Riemannian geometry. IEEE Transactions on Biomedical Engineering 59(4), 2012.",
          "doi": "10.1109/TBME.2011.2172210"
        },
        {
          "text": "Barachant, Bonnet, Congedo and Jutten. Classification of covariance matrices using a Riemannian-based kernel for BCI applications. Neurocomputing 112, 2013.",
          "doi": "10.1016/j.neucom.2012.12.039"
        },
        {
          "text": "Chen, Wiesel, Eldar and Hero. Shrinkage algorithms for MMSE covariance estimation. IEEE Transactions on Signal Processing 58(10), 2010.",
          "doi": "10.1109/TSP.2010.2053029"
        },
        {
          "text": "Jayaram and Barachant. MOABB: trustworthy algorithm benchmarking for BCIs. Journal of Neural Engineering 15(6), 2018.",
          "doi": "10.1088/1741-2552/aadea0"
        }
      ],
      "recipe_codes": [
        "OAS · 4–40 Hz",
        "OAS · idle-native windows"
      ]
    },
    {
      "id": "xdawncov-ts-lr",
      "name": "XDAWNCov+TS+LR",
      "page": "/methods/xdawn/",
      "family": "classical",
      "mode": "Supervised fit",
      "implementation": "pyRiemann 0.12 (wheel SHA-256 74a90b2ef0938c94fe9bf90b6506991fc19da55850aae5fdf992026b3845d43a) and scikit-learn",
      "code_licence": "BSD-3-Clause",
      "reference_pipeline": "MOABB XdawnCov_TS_SVM.yml, with the SVM and its grid replaced by the TS+LR head",
      "references": [
        {
          "text": "Rivet, Souloumiac, Attina and Gibert. xDAWN algorithm to enhance evoked potentials: application to brain–computer interface. IEEE Transactions on Biomedical Engineering 56(8), 2009.",
          "doi": "10.1109/TBME.2009.2012869"
        },
        {
          "text": "Barachant and Congedo. A Plug&Play P300 BCI using information geometry. arXiv:1409.0107, 2014.",
          "doi": null
        },
        {
          "text": "Barachant, Bonnet, Congedo and Jutten. Multiclass brain–computer interface classification by Riemannian geometry. IEEE Transactions on Biomedical Engineering 59(4), 2012.",
          "doi": "10.1109/TBME.2011.2172210"
        },
        {
          "text": "Chen, Wiesel, Eldar and Hero. Shrinkage algorithms for MMSE covariance estimation. IEEE Transactions on Signal Processing 58(10), 2010.",
          "doi": "10.1109/TSP.2010.2053029"
        },
        {
          "text": "Jayaram and Barachant. MOABB: trustworthy algorithm benchmarking for BCIs. Journal of Neural Engineering 15(6), 2018.",
          "doi": "10.1088/1741-2552/aadea0"
        }
      ],
      "recipe_codes": [
        "4 filters · 50 Hz"
      ]
    },
    {
      "id": "xdawn-lda",
      "name": "xDAWN+LDA",
      "page": "/methods/xdawn/",
      "family": "classical",
      "mode": "Supervised fit",
      "implementation": "pyRiemann 0.12 (wheel SHA-256 74a90b2ef0938c94fe9bf90b6506991fc19da55850aae5fdf992026b3845d43a) and scikit-learn",
      "code_licence": "BSD-3-Clause",
      "reference_pipeline": "MOABB xDAWN_LDA.yml, with shrinkage LDA (lsqr, Ledoit–Wolf)",
      "references": [
        {
          "text": "Rivet, Souloumiac, Attina and Gibert. xDAWN algorithm to enhance evoked potentials: application to brain–computer interface. IEEE Transactions on Biomedical Engineering 56(8), 2009.",
          "doi": "10.1109/TBME.2009.2012869"
        },
        {
          "text": "Chen, Wiesel, Eldar and Hero. Shrinkage algorithms for MMSE covariance estimation. IEEE Transactions on Signal Processing 58(10), 2010.",
          "doi": "10.1109/TSP.2010.2053029"
        },
        {
          "text": "Ledoit and Wolf. A well-conditioned estimator for large-dimensional covariance matrices. Journal of Multivariate Analysis 88(2), 2004.",
          "doi": "10.1016/S0047-259X(03)00096-4"
        },
        {
          "text": "Jayaram and Barachant. MOABB: trustworthy algorithm benchmarking for BCIs. Journal of Neural Engineering 15(6), 2018.",
          "doi": "10.1088/1741-2552/aadea0"
        }
      ],
      "recipe_codes": [
        "4 filters · 50 Hz"
      ]
    },
    {
      "id": "shallowfbcspnet",
      "name": "ShallowFBCSPNet",
      "page": "/methods/shallowfbcspnet/",
      "family": "small",
      "mode": "Scratch · 20 epochs (sleep 10)",
      "implementation": "braindecode 1.5.1 (MPS protocols) and 1.2.0 (CUDA protocols), identical network signatures",
      "code_licence": "BSD-3-Clause",
      "references": [
        {
          "text": "Schirrmeister et al. Deep learning with convolutional neural networks for EEG decoding and visualization. Human Brain Mapping 38(11), 2017.",
          "doi": "10.1002/hbm.23730"
        }
      ],
      "recipe_codes": [
        "matrix recipe · AdamW"
      ]
    },
    {
      "id": "deep4net",
      "name": "Deep4Net",
      "page": "/methods/deep4net/",
      "family": "small",
      "mode": "Scratch · 20 epochs (sleep 10)",
      "implementation": "braindecode 1.5.1 (MPS protocols) and 1.2.0 (CUDA protocols), identical network signatures",
      "code_licence": "BSD-3-Clause",
      "references": [
        {
          "text": "Schirrmeister et al. Deep learning with convolutional neural networks for EEG decoding and visualization. Human Brain Mapping 38(11), 2017.",
          "doi": "10.1002/hbm.23730"
        }
      ],
      "recipe_codes": [
        "matrix recipe · AdamW"
      ]
    },
    {
      "id": "csp-lda",
      "name": "CSP+LDA",
      "page": "/methods/csp-lda/",
      "family": "classical",
      "mode": "Supervised fit",
      "implementation": "MNE (CSP) and scikit-learn (shrinkage LDA)",
      "code_licence": "BSD-3-Clause",
      "references": [
        {
          "text": "Ramoser, Müller-Gerking and Pfurtscheller. Optimal spatial filtering of single trial EEG during imagined hand movement. IEEE Transactions on Rehabilitation Engineering 8(4), 2000.",
          "doi": "10.1109/86.895946"
        }
      ],
      "recipe_codes": [
        "broadband CSP · shrinkage LDA",
        "one-vs-rest CSP · shrinkage LDA"
      ]
    }
  ],
  "rights": {
    "datasets": "Each protocol keeps its released dataset record, licence and attribution; nothing was downloaded for these rows.",
    "scope": "Personal noncommercial research; aggregate results only",
    "software": [
      "pyRiemann 0.12, BSD-3-Clause",
      "braindecode 1.5.1 and 1.2.0, BSD-3-Clause",
      "MNE, scikit-learn, SciPy and NumPy, BSD-family",
      "MOABB reference pipelines, BSD-3-Clause, read for citation and not executed",
      "FBCCA sub-band design after TRCA-SSVEP src/filterbank.m, MIT; the code that ran is this project's own SciPy realisation"
    ],
    "weights": "No weights are distributed; trained network states stay private."
  },
  "experiments": [
    {
      "id": "e1",
      "record": "e1-fbcca-beta",
      "title": "FBCCA on beta-8ch and beta-4ch",
      "methods": [
        "fbcca"
      ],
      "protocols": [
        "beta-8ch",
        "beta-4ch"
      ],
      "recipe": "FBCCA-M3-N7-H5",
      "protocol_line": "It reads the authors' 3–100 Hz window, and its own filter bank takes the place of the 6–80 Hz step. Window, electrodes, targets and people are those of the matrix.",
      "backend_labels": [
        "Local Ubuntu / CPU, training-free"
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "contrast_interval_method": "paired participant bootstrap, 10,000 draws",
      "reading_rule": {
        "governing_level": 0.9875,
        "adjustment": "Bonferroni over 4",
        "beside_level": 0.95,
        "family": [
          "E1/C1",
          "E1/C2",
          "E1/C3",
          "E1/C4"
        ]
      },
      "tables": {
        "vs-cca": [
          "E1/C1",
          "E1/C3"
        ],
        "vs-eegnet": [
          "E1/C2",
          "E1/C4"
        ]
      },
      "caveats": [
        {
          "id": "c1",
          "text": "Filter-bank CCA, recipe FBCCA-M3-N7-H5: seven Chebyshev sub-bands (6–90 Hz), five harmonics, weights n^−1.25 + 0.25 (Chen et al. 2015, M3); our SciPy realisation. It reads the authors' 3–100 Hz window, and its own filter bank takes the place of the 6–80 Hz step. Window, electrodes, targets and people are those of the matrix. No training; folds unused.",
          "where": "core-rows",
          "pages": [
            "/protocols/beta-8ch/",
            "/protocols/beta-4ch/"
          ]
        },
        {
          "id": "c2",
          "text": "The difference belongs to the whole recipe (filter bank, band edges, five against three harmonics).",
          "where": "paired-differences",
          "table": "vs-cca",
          "pages": [
            "/protocols/beta-8ch/",
            "/protocols/beta-4ch/"
          ]
        },
        {
          "id": "c4",
          "text": "98.75 % intervals are Bonferroni-adjusted for four contrasts; the 95 % intervals beside them are unadjusted. Row intervals are the matrix's descriptive 95 % participant bootstrap.",
          "where": "paired-differences",
          "table": "vs-eegnet",
          "pages": [
            "/protocols/beta-8ch/",
            "/protocols/beta-4ch/"
          ]
        },
        {
          "id": "c5",
          "text": "FBCCA and CCA are given the 40 stimulus frequencies and use no training data.",
          "where": "core-rows",
          "pages": [
            "/protocols/beta-8ch/",
            "/protocols/beta-4ch/"
          ]
        },
        {
          "id": "c6",
          "text": "The same recipe appears on card 11 (other endpoints) and in the electrode-shift study (the 8-electrode figure); these rows give its 40-target value under the core protocol, and the 8-electrode figure was known before this run.",
          "where": "core-rows",
          "pages": [
            "/protocols/beta-8ch/",
            "/protocols/beta-4ch/"
          ],
          "links": [
            "/topics/new-ssvep-frequencies/#practical-settings",
            "/topics/fewer-electrodes/#cap-shift"
          ]
        }
      ],
      "errata": [
        {
          "id": "m8",
          "text": "The protocol's contrasts.not_contrasted names 'EEGPT rows', but the published BETA tracks have no EEGPT row; no computation changes."
        }
      ]
    },
    {
      "id": "e5",
      "record": "e5-riemann-xdawn",
      "title": "Riemannian and xDAWN baselines",
      "methods": [
        "ts-lr",
        "mdm",
        "xdawncov-ts-lr",
        "xdawn-lda"
      ],
      "protocols": [
        "mi-rest",
        "arithmetic-rest",
        "p300-target",
        "semantic-target",
        "idle"
      ],
      "recipe": {
        "ts-lr": "OAS · 4–40 Hz",
        "mdm": "OAS · 4–40 Hz",
        "xdawncov-ts-lr": "4 filters · 50 Hz",
        "xdawn-lda": "4 filters · 50 Hz",
        "idle": "OAS · idle-native windows"
      },
      "protocol_line": "The 4–40 Hz band-pass (or demeaning plus 50 Hz decimation on the ERP protocols) is part of the recipe and is applied to each window on its own.",
      "protocol_line_idle": "For each subject, the first two blocks train the model, the third selects the threshold, and the final block is held out for testing.",
      "selection": "One fixed configuration per method: library or MOABB-reference settings with the stated deviations.",
      "backend_labels": [
        "Local Ubuntu / CPU",
        "Apple M5 / CPU"
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "contrast_interval_method": "paired participant bootstrap, 10,000 draws",
      "reading_rule": {
        "governing_level": 0.9875,
        "adjustment": "Bonferroni over 4",
        "beside_level": 0.95,
        "family": [
          "E5/P1",
          "E5/P2",
          "E5/P3",
          "E5/P4"
        ],
        "secondary_level": 0.95,
        "secondary_adjustment": "none"
      },
      "groups": {
        "primary": [
          "E5/P1",
          "E5/P2",
          "E5/P3",
          "E5/P4"
        ],
        "vs-eegnet": [
          "E5/S1",
          "E5/S2",
          "E5/S3",
          "E5/S4",
          "E5/S5",
          "E5/S6",
          "E5/S7",
          "E5/S8"
        ],
        "vs-spectral-ridge": [
          "E5/S9",
          "E5/S10",
          "E5/S11",
          "E5/S12"
        ],
        "vs-csp": [
          "E5/S13",
          "E5/S14",
          "E5/S15",
          "E5/S16",
          "E5/S17",
          "E5/S18"
        ],
        "vs-temporal-ridge": [
          "E5/S19",
          "E5/S20",
          "E5/S21",
          "E5/S22"
        ],
        "vs-frozen": [
          "E5/S23",
          "E5/S24",
          "E5/S25",
          "E5/S26",
          "E5/S27",
          "E5/S28",
          "E5/S29",
          "E5/S30"
        ],
        "arms": [
          "E5/S31",
          "E5/S32",
          "E5/S33",
          "E5/S34",
          "E5/S35",
          "E5/S36",
          "E5/S37",
          "E5/S38",
          "E5/S39",
          "E5/S40"
        ],
        "within-family": [
          "E5/S41",
          "E5/S42",
          "E5/S43",
          "E5/S44"
        ]
      },
      "caveats": [
        {
          "id": "C1",
          "text": "One fixed configuration per method: library or MOABB-reference settings with the stated deviations. The 4–40 Hz band-pass (or demeaning plus 50 Hz decimation on the ERP protocols) is part of the recipe and is applied to each window on its own.",
          "where": "core-rows",
          "pages": [
            "/protocols/mi-rest/",
            "/protocols/arithmetic-rest/",
            "/protocols/p300-target/",
            "/protocols/semantic-target/",
            "/methods/riemannian/",
            "/methods/xdawn/"
          ]
        },
        {
          "id": "C2",
          "text": "Paired participant bootstrap (10,000 draws). The four contrasts against the Spectral ridge cells carry 98.75 % intervals (Bonferroni over four); the other contrasts carry nominal 95 % intervals with no familywise claim. 'Higher' or 'lower' means the interval lies wholly above or below zero; 'unresolved' means it includes zero.",
          "where": "paired-differences",
          "pages": [
            "/protocols/mi-rest/",
            "/protocols/arithmetic-rest/",
            "/protocols/p300-target/",
            "/protocols/semantic-target/",
            "/methods/riemannian/",
            "/methods/xdawn/"
          ]
        },
        {
          "id": "C4",
          "text": "Ten people: a percentile bootstrap over ten people tends to give intervals narrower than their nominal level.",
          "where": "paired-differences",
          "pages": [
            "/protocols/mi-rest/",
            "/methods/riemannian/"
          ]
        },
        {
          "id": "C5",
          "text": "Rest is recorded before the task, so recording order moves with the label.",
          "where": "paired-differences",
          "pages": [
            "/protocols/arithmetic-rest/"
          ],
          "unless_present": "p#recording-order"
        },
        {
          "id": "C6",
          "text": "The EEGMAT signals were ICA-cleaned and may be rank-deficient; OAS shrinkage then dominates the low-variance directions of the covariances that TS+LR and MDM read.",
          "where": "core-rows",
          "pages": [
            "/protocols/arithmetic-rest/",
            "/methods/riemannian/"
          ]
        },
        {
          "id": "C7",
          "text": "These pairs use the matrix's LaBraM and CBraMod rows (frozen encoder + ridge head) only.",
          "where": "vs-frozen",
          "pages": [
            "/methods/riemannian/",
            "/methods/xdawn/"
          ]
        },
        {
          "id": "C8",
          "text": "The CSP+LDA row reads the windows with no band-pass; the raw-arm lines read the same input.",
          "where": "vs-csp",
          "pages": [
            "/methods/riemannian/"
          ]
        },
        {
          "id": "C9",
          "text": "MDM's probabilities are a softmax of minus the squared Riemannian distance, an uncalibrated scale, read against the published threshold grid (0.50–0.99).",
          "where": "row:idle/mdm",
          "pages": [
            "/protocols/idle/"
          ]
        },
        {
          "id": "C10",
          "text": "Left empty: counts of people meeting a criterion print only for cohorts of 10 or more.",
          "where": "abstain:idle",
          "pages": [
            "/protocols/idle/"
          ]
        }
      ]
    },
    {
      "id": "e2",
      "record": "e2-core-cells",
      "title": "ShallowFBCSPNet, Deep4Net and CSP+LDA in the blank cells",
      "methods": [
        "shallowfbcspnet",
        "deep4net",
        "csp-lda"
      ],
      "protocols": [
        "mi-rest",
        "beta-8ch",
        "beta-4ch",
        "arithmetic-rest",
        "p300-target",
        "semantic-target",
        "sleep-scalp"
      ],
      "recipe": {
        "networks": "matrix recipe · AdamW",
        "csp-lda": "broadband CSP · shrinkage LDA",
        "csp-lda/sleep-scalp": "one-vs-rest CSP · shrinkage LDA"
      },
      "protocol_line": "One training run per cell with the matrix seed and the matrix recipe: AdamW, 20 epochs (sleep 10), no schedule, no early stopping.",
      "backend_labels": [
        "Apple M5 / CPU",
        "Apple M5 / MPS",
        "Local Ubuntu / CPU",
        "Local Ubuntu / CUDA"
      ],
      "software": [
        "braindecode 1.5.1 (MPS protocols)",
        "braindecode 1.2.0 (CUDA protocols)",
        "MNE (CSP)",
        "scikit-learn (shrinkage LDA)"
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "contrast_interval_method": "paired participant bootstrap, 10,000 draws",
      "reading_rule": {
        "governing_level": 0.95,
        "adjustment": "none",
        "beside_level": 0.9972222222222222,
        "beside_adjustment": "Bonferroni over 18",
        "family": [
          "E2/P/arithmetic-rest/csp-lda-minus-eegnet",
          "E2/P/arithmetic-rest/deep4net-minus-eegnet",
          "E2/P/arithmetic-rest/shallowfbcspnet-minus-eegnet",
          "E2/P/beta-4ch/deep4net-minus-eegnet",
          "E2/P/beta-4ch/shallowfbcspnet-minus-eegnet",
          "E2/P/beta-8ch/deep4net-minus-eegnet",
          "E2/P/beta-8ch/shallowfbcspnet-minus-eegnet",
          "E2/P/mi-rest/deep4net-minus-eegnet",
          "E2/P/mi-rest/shallowfbcspnet-minus-eegnet",
          "E2/P/p300-target/csp-lda-minus-eegnet",
          "E2/P/p300-target/deep4net-minus-eegnet",
          "E2/P/p300-target/shallowfbcspnet-minus-eegnet",
          "E2/P/semantic-target/csp-lda-minus-eegnet",
          "E2/P/semantic-target/deep4net-minus-eegnet",
          "E2/P/semantic-target/shallowfbcspnet-minus-eegnet",
          "E2/P/sleep-scalp/csp-lda-ovr-minus-eegnet",
          "E2/P/sleep-scalp/deep4net-minus-eegnet",
          "E2/P/sleep-scalp/shallowfbcspnet-minus-eegnet"
        ]
      },
      "tables": {
        "vs-eegnet": [
          "E2/P/arithmetic-rest/csp-lda-minus-eegnet",
          "E2/P/arithmetic-rest/deep4net-minus-eegnet",
          "E2/P/arithmetic-rest/shallowfbcspnet-minus-eegnet",
          "E2/P/beta-4ch/deep4net-minus-eegnet",
          "E2/P/beta-4ch/shallowfbcspnet-minus-eegnet",
          "E2/P/beta-8ch/deep4net-minus-eegnet",
          "E2/P/beta-8ch/shallowfbcspnet-minus-eegnet",
          "E2/P/mi-rest/deep4net-minus-eegnet",
          "E2/P/mi-rest/shallowfbcspnet-minus-eegnet",
          "E2/P/p300-target/csp-lda-minus-eegnet",
          "E2/P/p300-target/deep4net-minus-eegnet",
          "E2/P/p300-target/shallowfbcspnet-minus-eegnet",
          "E2/P/semantic-target/csp-lda-minus-eegnet",
          "E2/P/semantic-target/deep4net-minus-eegnet",
          "E2/P/semantic-target/shallowfbcspnet-minus-eegnet",
          "E2/P/sleep-scalp/csp-lda-ovr-minus-eegnet",
          "E2/P/sleep-scalp/deep4net-minus-eegnet",
          "E2/P/sleep-scalp/shallowfbcspnet-minus-eegnet"
        ]
      },
      "caveats": [
        {
          "id": "c1",
          "text": "One training run per cell with the matrix seed and the matrix recipe: AdamW, 20 epochs (sleep 10), no schedule, no early stopping. This is the recipe of the EEGNet cells; it is not tuned for any network and it is not the original papers' training. Intervals describe variation across people, not across training runs.",
          "where": "record",
          "pages": [
            "/protocols/mi-rest/",
            "/protocols/beta-8ch/",
            "/protocols/beta-4ch/",
            "/protocols/arithmetic-rest/",
            "/protocols/p300-target/",
            "/protocols/semantic-target/",
            "/protocols/sleep-scalp/"
          ]
        },
        {
          "id": "c2",
          "text": "The paired 95 % interval governs the wording; the Bonferroni interval beside it covers all 18 contrasts. Read at 95 % without correction, about one in 20 contrasts with no true difference may show one by chance.",
          "where": "paired-differences",
          "table": "vs-eegnet",
          "pages": [
            "/protocols/mi-rest/",
            "/protocols/beta-8ch/",
            "/protocols/beta-4ch/",
            "/protocols/arithmetic-rest/",
            "/protocols/p300-target/",
            "/protocols/semantic-target/",
            "/protocols/sleep-scalp/"
          ]
        },
        {
          "id": "c5",
          "text": "Re-training on the CUDA card is not bit-exact; re-training the published semantic-target EEGNet cell there moved it by 0.1 pp.",
          "where": "paired-differences",
          "table": "vs-eegnet",
          "pages": [
            "/protocols/p300-target/",
            "/protocols/semantic-target/",
            "/protocols/sleep-scalp/"
          ]
        }
      ],
      "caveats_covered": [
        {
          "id": "c4",
          "covered_by": "E5 C4",
          "pages": [],
          "check": {
            "page": "/protocols/mi-rest/",
            "starts": "Ten people:",
            "count": 1
          }
        }
      ]
    }
  ],
  "tracks": [
    {
      "id": "mi-rest",
      "chance_pct": 50.0,
      "subjects": 10,
      "csv": "core-matrix-20261106-mi-rest.csv",
      "rows": [
        {
          "method": "ts-lr",
          "name": "TS+LR",
          "label": "TS+LR · OAS · 4–40 Hz",
          "experiment": "e5",
          "recipe": "OAS · 4–40 Hz",
          "role": "primary row",
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 15,
          "subjects": 10,
          "balanced_accuracy_pct": 58.91666666666667,
          "interval_95_pct": [
            54.91666666666668,
            63.91666666666666
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.5339068927133578,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Primary row · one fixed configuration (MOABB-reference settings)",
          "model_rights": "Deterministic; no weights. pyRiemann 0.12 and scikit-learn, BSD-3-Clause.",
          "csv": "core-matrix-20261106-mi-rest.csv"
        },
        {
          "method": "mdm",
          "name": "MDM",
          "label": "MDM · OAS · 4–40 Hz",
          "experiment": "e5",
          "recipe": "OAS · 4–40 Hz",
          "role": "secondary row",
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 15,
          "subjects": 10,
          "balanced_accuracy_pct": 53.833333333333336,
          "interval_95_pct": [
            50.75,
            57.91666666666666
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.4198063378773753,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Secondary row · one fixed configuration (MOABB-reference settings)",
          "model_rights": "Deterministic; no weights. pyRiemann 0.12 and scikit-learn, BSD-3-Clause.",
          "csv": "core-matrix-20261106-mi-rest.csv"
        },
        {
          "method": "shallowfbcspnet",
          "name": "ShallowFBCSPNet",
          "label": "ShallowFBCSPNet",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 15,
          "subjects": 10,
          "balanced_accuracy_pct": 68.83333333333333,
          "interval_95_pct": [
            63.416666666666664,
            73.91666666666666
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.6724394264981278,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 27282,
          "backend": "Apple M5 / MPS",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-mi-rest.csv"
        },
        {
          "method": "deep4net",
          "name": "Deep4Net",
          "label": "Deep4Net",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 15,
          "subjects": 10,
          "balanced_accuracy_pct": 68.58333333333333,
          "interval_95_pct": [
            63.33333333333333,
            74.0
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.6589554863789912,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 273302,
          "backend": "Apple M5 / MPS",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-mi-rest.csv"
        }
      ]
    },
    {
      "id": "idle",
      "chance_pct": null,
      "subjects": 4,
      "csv": "core-matrix-20261106-idle.csv",
      "rows": [
        {
          "method": "ts-lr",
          "name": "TS+LR",
          "label": "TS+LR · OAS",
          "experiment": "e5",
          "recipe": "OAS · idle-native windows",
          "role": null,
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 17,
          "subjects": 4,
          "balanced_accuracy_pct": null,
          "interval_95_pct": null,
          "interval_method": null,
          "macro_f1": null,
          "at_or_below_chance": null,
          "interval_includes_chance": null,
          "parameters": null,
          "backend": "Apple M5 / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Summed test trials. Fixed calibration rule; 60 training trials and 30 calibration trials per participant. Four-person case study; cohort aggregates only, no subgroup or population claim.",
          "model_rights": "Deterministic; no weights. pyRiemann 0.12 and scikit-learn, BSD-3-Clause.",
          "csv": "core-matrix-20261106-idle.csv",
          "idle": {
            "commands_detected": 21,
            "command_trials": 60,
            "idle_false_activations": 4,
            "idle_trials": 60,
            "correct_command_pct": 35.0,
            "idle_false_activation_pct": 6.666666666666667,
            "scripted_idle_exposure_s": 180
          }
        },
        {
          "method": "mdm",
          "name": "MDM",
          "label": "MDM · OAS",
          "experiment": "e5",
          "recipe": "OAS · idle-native windows",
          "role": null,
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 17,
          "subjects": 4,
          "balanced_accuracy_pct": null,
          "interval_95_pct": null,
          "interval_method": null,
          "macro_f1": null,
          "at_or_below_chance": null,
          "interval_includes_chance": null,
          "parameters": null,
          "backend": "Apple M5 / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Summed test trials. Fixed calibration rule; 60 training trials and 30 calibration trials per participant. Four-person case study; cohort aggregates only, no subgroup or population claim.",
          "model_rights": "Deterministic; no weights. pyRiemann 0.12 and scikit-learn, BSD-3-Clause.",
          "csv": "core-matrix-20261106-idle.csv",
          "idle": {
            "commands_detected": 21,
            "command_trials": 60,
            "idle_false_activations": 1,
            "idle_trials": 60,
            "correct_command_pct": 35.0,
            "idle_false_activation_pct": 1.6666666666666667,
            "scripted_idle_exposure_s": 180
          }
        }
      ]
    },
    {
      "id": "beta-8ch",
      "chance_pct": 2.5,
      "subjects": 70,
      "csv": "core-matrix-20261106-beta-8ch.csv",
      "rows": [
        {
          "method": "fbcca",
          "name": "FBCCA",
          "label": "Filter-bank CCA (FBCCA-M3-N7-H5)",
          "experiment": "e1",
          "recipe": "FBCCA-M3-N7-H5",
          "role": null,
          "family": "classical",
          "mode": "Known-frequency reference · no fitting",
          "channels": 8,
          "subjects": 70,
          "balanced_accuracy_pct": 79.08928571428571,
          "interval_95_pct": [
            75.07142857142858,
            82.81250000000001
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.7886702585944437,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU, training-free",
          "seconds": null,
          "abstain": null,
          "note": "FBCCA-M3-N7-H5 · seven Chebyshev sub-bands, five harmonics · training-free",
          "model_rights": "Training-free; no weights. This project's own SciPy code; sub-band design after TRCA-SSVEP filterbank.m (MIT).",
          "csv": "core-matrix-20261106-beta-8ch.csv"
        },
        {
          "method": "shallowfbcspnet",
          "name": "ShallowFBCSPNet",
          "label": "ShallowFBCSPNet",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 8,
          "subjects": 70,
          "balanced_accuracy_pct": 23.026785714285715,
          "interval_95_pct": [
            20.25892857142857,
            25.937723214285718
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.1998755082952315,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 57160,
          "backend": "Apple M5 / MPS",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-beta-8ch.csv"
        },
        {
          "method": "deep4net",
          "name": "Deep4Net",
          "label": "Deep4Net",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 8,
          "subjects": 70,
          "balanced_accuracy_pct": 52.75,
          "interval_95_pct": [
            47.26785714285714,
            58.18772321428571
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.5129547148647216,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 276565,
          "backend": "Apple M5 / MPS",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-beta-8ch.csv"
        }
      ]
    },
    {
      "id": "beta-4ch",
      "chance_pct": 2.5,
      "subjects": 70,
      "csv": "core-matrix-20261106-beta-4ch.csv",
      "rows": [
        {
          "method": "fbcca",
          "name": "FBCCA",
          "label": "Filter-bank CCA (FBCCA-M3-N7-H5)",
          "experiment": "e1",
          "recipe": "FBCCA-M3-N7-H5",
          "role": null,
          "family": "classical",
          "mode": "Known-frequency reference · no fitting",
          "channels": 4,
          "subjects": 70,
          "balanced_accuracy_pct": 72.28571428571428,
          "interval_95_pct": [
            67.50000000000001,
            76.89285714285714
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.7204833277739672,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU, training-free",
          "seconds": null,
          "abstain": null,
          "note": "FBCCA-M3-N7-H5 · seven Chebyshev sub-bands, five harmonics · training-free",
          "model_rights": "Training-free; no weights. This project's own SciPy code; sub-band design after TRCA-SSVEP filterbank.m (MIT).",
          "csv": "core-matrix-20261106-beta-4ch.csv"
        },
        {
          "method": "shallowfbcspnet",
          "name": "ShallowFBCSPNet",
          "label": "ShallowFBCSPNet",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 4,
          "subjects": 70,
          "balanced_accuracy_pct": 16.22321428571428,
          "interval_95_pct": [
            14.053571428571429,
            18.571651785714288
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.1343285437837512,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 50760,
          "backend": "Apple M5 / MPS",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-beta-4ch.csv"
        },
        {
          "method": "deep4net",
          "name": "Deep4Net",
          "label": "Deep4Net",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 4,
          "subjects": 70,
          "balanced_accuracy_pct": 38.66964285714286,
          "interval_95_pct": [
            33.67857142857142,
            43.848437499999996
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.3726547526285695,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 274065,
          "backend": "Apple M5 / MPS",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-beta-4ch.csv"
        }
      ]
    },
    {
      "id": "arithmetic-rest",
      "chance_pct": 50.0,
      "subjects": 36,
      "csv": "core-matrix-20261106-arithmetic-rest.csv",
      "rows": [
        {
          "method": "ts-lr",
          "name": "TS+LR",
          "label": "TS+LR · OAS · 4–40 Hz",
          "experiment": "e5",
          "recipe": "OAS · 4–40 Hz",
          "role": "primary row",
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 19,
          "subjects": 36,
          "balanced_accuracy_pct": 65.50925925925924,
          "interval_95_pct": [
            59.62962962962962,
            71.75925925925925
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.5915122811344751,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Primary row · one fixed configuration (MOABB-reference settings)",
          "model_rights": "Deterministic; no weights. pyRiemann 0.12 and scikit-learn, BSD-3-Clause.",
          "csv": "core-matrix-20261106-arithmetic-rest.csv"
        },
        {
          "method": "mdm",
          "name": "MDM",
          "label": "MDM · OAS · 4–40 Hz",
          "experiment": "e5",
          "recipe": "OAS · 4–40 Hz",
          "role": "secondary row",
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 19,
          "subjects": 36,
          "balanced_accuracy_pct": 71.48148148148148,
          "interval_95_pct": [
            65.46296296296296,
            77.82523148148147
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.6606688386760269,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Secondary row · one fixed configuration (MOABB-reference settings)",
          "model_rights": "Deterministic; no weights. pyRiemann 0.12 and scikit-learn, BSD-3-Clause.",
          "csv": "core-matrix-20261106-arithmetic-rest.csv"
        },
        {
          "method": "shallowfbcspnet",
          "name": "ShallowFBCSPNet",
          "label": "ShallowFBCSPNet",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 19,
          "subjects": 36,
          "balanced_accuracy_pct": 67.91666666666667,
          "interval_95_pct": [
            63.37962962962963,
            72.40856481481482
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.6442198356004236,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 33682,
          "backend": "Apple M5 / MPS",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-arithmetic-rest.csv"
        },
        {
          "method": "deep4net",
          "name": "Deep4Net",
          "label": "Deep4Net",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 19,
          "subjects": 36,
          "balanced_accuracy_pct": 61.29629629629628,
          "interval_95_pct": [
            57.49999999999999,
            65.23148148148148
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.5512381128270089,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 275802,
          "backend": "Apple M5 / MPS",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-arithmetic-rest.csv"
        },
        {
          "method": "csp-lda",
          "name": "CSP+LDA",
          "label": "CSP+LDA",
          "experiment": "e2",
          "recipe": "broadband CSP · shrinkage LDA",
          "role": null,
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 19,
          "subjects": 36,
          "balanced_accuracy_pct": 68.33333333333333,
          "interval_95_pct": [
            62.03703703703704,
            74.25925925925925
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.6491837031471066,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Apple M5 / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Broadband CSP without band-pass filtering, the recipe of the published mi-rest CSP+LDA cell; not a tuned CSP.",
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-arithmetic-rest.csv"
        }
      ]
    },
    {
      "id": "p300-target",
      "chance_pct": 50.0,
      "subjects": 21,
      "csv": "core-matrix-20261106-p300-target.csv",
      "rows": [
        {
          "method": "xdawncov-ts-lr",
          "name": "XDAWNCov+TS+LR",
          "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
          "experiment": "e5",
          "recipe": "4 filters · 50 Hz",
          "role": "primary row",
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 19,
          "subjects": 21,
          "balanced_accuracy_pct": 61.904761904761905,
          "interval_95_pct": [
            58.84920634920634,
            64.96031746031746
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.6152021110272694,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Primary row · one fixed configuration (MOABB-reference settings)",
          "model_rights": "Deterministic; no weights. pyRiemann 0.12 and scikit-learn, BSD-3-Clause.",
          "csv": "core-matrix-20261106-p300-target.csv"
        },
        {
          "method": "xdawn-lda",
          "name": "xDAWN+LDA",
          "label": "xDAWN+LDA · 4 filters · 50 Hz",
          "experiment": "e5",
          "recipe": "4 filters · 50 Hz",
          "role": "secondary row",
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 19,
          "subjects": 21,
          "balanced_accuracy_pct": 60.43650793650793,
          "interval_95_pct": [
            57.658730158730165,
            63.21428571428571
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.6009906411673,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Secondary row · one fixed configuration (MOABB-reference settings)",
          "model_rights": "Deterministic; no weights. pyRiemann 0.12 and scikit-learn, BSD-3-Clause.",
          "csv": "core-matrix-20261106-p300-target.csv"
        },
        {
          "method": "shallowfbcspnet",
          "name": "ShallowFBCSPNet",
          "label": "ShallowFBCSPNet",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 19,
          "subjects": 21,
          "balanced_accuracy_pct": 49.68253968253967,
          "interval_95_pct": [
            48.96825396825397,
            50.357142857142854
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.4273899761709102,
          "at_or_below_chance": true,
          "interval_includes_chance": true,
          "parameters": 32402,
          "backend": "Local Ubuntu / CUDA",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-p300-target.csv"
        },
        {
          "method": "deep4net",
          "name": "Deep4Net",
          "label": "Deep4Net",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 19,
          "subjects": 21,
          "balanced_accuracy_pct": 50.79365079365079,
          "interval_95_pct": [
            50.03968253968253,
            51.626984126984134
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.40936500168553636,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 235752,
          "backend": "Local Ubuntu / CUDA",
          "seconds": null,
          "abstain": null,
          "note": "Braindecode's automatically scaled Deep4Net for 1-s input (no temporal pooling, 229-sample classifier, 235,752 parameters), not the original Deep4Net configuration. The interval's lower end, 50.04 %, prints as 50.0; it sits 0.04 pp above the 50 % reference.",
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-p300-target.csv"
        },
        {
          "method": "csp-lda",
          "name": "CSP+LDA",
          "label": "CSP+LDA",
          "experiment": "e2",
          "recipe": "broadband CSP · shrinkage LDA",
          "role": null,
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 19,
          "subjects": 21,
          "balanced_accuracy_pct": 49.96031746031746,
          "interval_95_pct": [
            49.126984126984134,
            50.83333333333333
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.45266770911438786,
          "at_or_below_chance": true,
          "interval_includes_chance": true,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Broadband CSP without band-pass filtering, the recipe of the published mi-rest CSP+LDA cell; not a tuned CSP. On this ERP protocol it reads band power, not the waveform.",
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-p300-target.csv"
        }
      ]
    },
    {
      "id": "semantic-target",
      "chance_pct": 50.0,
      "subjects": 30,
      "csv": "core-matrix-20261106-semantic-target.csv",
      "rows": [
        {
          "method": "xdawncov-ts-lr",
          "name": "XDAWNCov+TS+LR",
          "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
          "experiment": "e5",
          "recipe": "4 filters · 50 Hz",
          "role": "primary row",
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 30,
          "subjects": 30,
          "balanced_accuracy_pct": 60.277777777777786,
          "interval_95_pct": [
            58.166666666666664,
            62.638888888888886
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.589380085261817,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Primary row · one fixed configuration (MOABB-reference settings)",
          "model_rights": "Deterministic; no weights. pyRiemann 0.12 and scikit-learn, BSD-3-Clause.",
          "csv": "core-matrix-20261106-semantic-target.csv"
        },
        {
          "method": "xdawn-lda",
          "name": "xDAWN+LDA",
          "label": "xDAWN+LDA · 4 filters · 50 Hz",
          "experiment": "e5",
          "recipe": "4 filters · 50 Hz",
          "role": "secondary row",
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 30,
          "subjects": 30,
          "balanced_accuracy_pct": 56.805555555555564,
          "interval_95_pct": [
            55.13888888888888,
            58.55555555555555
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.5621447426569313,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Secondary row · one fixed configuration (MOABB-reference settings)",
          "model_rights": "Deterministic; no weights. pyRiemann 0.12 and scikit-learn, BSD-3-Clause.",
          "csv": "core-matrix-20261106-semantic-target.csv"
        },
        {
          "method": "shallowfbcspnet",
          "name": "ShallowFBCSPNet",
          "label": "ShallowFBCSPNet",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 30,
          "subjects": 30,
          "balanced_accuracy_pct": 56.72222222222222,
          "interval_95_pct": [
            54.69444444444444,
            58.777777777777764
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.5526235309462888,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 50002,
          "backend": "Local Ubuntu / CUDA",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-semantic-target.csv"
        },
        {
          "method": "deep4net",
          "name": "Deep4Net",
          "label": "Deep4Net",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 20 epochs",
          "channels": 30,
          "subjects": 30,
          "balanced_accuracy_pct": 57.44444444444444,
          "interval_95_pct": [
            55.41597222222222,
            59.5
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.5589327717725652,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 242627,
          "backend": "Local Ubuntu / CUDA",
          "seconds": null,
          "abstain": null,
          "note": "Braindecode's automatically scaled Deep4Net for 1-s input (no temporal pooling, 229-sample classifier, 242,627 parameters), not the original Deep4Net configuration.",
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-semantic-target.csv"
        },
        {
          "method": "csp-lda",
          "name": "CSP+LDA",
          "label": "CSP+LDA",
          "experiment": "e2",
          "recipe": "broadband CSP · shrinkage LDA",
          "role": null,
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 30,
          "subjects": 30,
          "balanced_accuracy_pct": 52.69444444444444,
          "interval_95_pct": [
            51.44444444444446,
            53.99999999999999
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.49252325003759956,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "Broadband CSP without band-pass filtering, the recipe of the published mi-rest CSP+LDA cell; not a tuned CSP. On this ERP protocol it reads band power, not the waveform.",
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-semantic-target.csv"
        }
      ]
    },
    {
      "id": "sleep-scalp",
      "chance_pct": 20.0,
      "subjects": 20,
      "csv": "core-matrix-20261106-sleep-scalp.csv",
      "rows": [
        {
          "method": "shallowfbcspnet",
          "name": "ShallowFBCSPNet",
          "label": "ShallowFBCSPNet",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 10 epochs",
          "channels": 6,
          "subjects": 20,
          "balanced_accuracy_pct": 54.966666666666654,
          "interval_95_pct": [
            53.13333333333332,
            56.833333333333336
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.5186671021978004,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 109525,
          "backend": "Local Ubuntu / CUDA",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-sleep-scalp.csv"
        },
        {
          "method": "deep4net",
          "name": "Deep4Net",
          "label": "Deep4Net",
          "experiment": "e2",
          "recipe": "matrix recipe · AdamW",
          "role": null,
          "family": "small",
          "mode": "Scratch · 10 epochs",
          "channels": 6,
          "subjects": 20,
          "balanced_accuracy_pct": 45.233333333333334,
          "interval_95_pct": [
            42.699999999999996,
            47.733333333333334
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.4193895858988813,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": 355280,
          "backend": "Local Ubuntu / CUDA",
          "seconds": null,
          "abstain": null,
          "note": null,
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-sleep-scalp.csv"
        },
        {
          "method": "csp-lda",
          "name": "CSP+LDA",
          "label": "CSP+LDA (one-vs-rest CSP)",
          "experiment": "e2",
          "recipe": "one-vs-rest CSP · shrinkage LDA",
          "role": null,
          "family": "classical",
          "mode": "Supervised fit",
          "channels": 6,
          "subjects": 20,
          "balanced_accuracy_pct": 50.1,
          "interval_95_pct": [
            46.9,
            53.1
          ],
          "interval_method": "participant bootstrap, 10,000 draws",
          "macro_f1": 0.4827617410396499,
          "at_or_below_chance": false,
          "interval_includes_chance": false,
          "parameters": null,
          "backend": "Local Ubuntu / CPU",
          "seconds": null,
          "abstain": null,
          "note": "One-vs-rest CSP: one binary CSP per stage, 30 log-variance features, one shrinkage LDA; broadband as in the published mi-rest recipe; a new code path, not a tuned CSP.",
          "model_rights": "Trained from scratch / deterministic reference; no third-party pretrained weights. Braindecode BSD-3-Clause; MNE/scikit-learn BSD where used.",
          "csv": "core-matrix-20261106-sleep-scalp.csv"
        }
      ]
    }
  ],
  "matrix": {
    "methods": [
      {
        "id": "spectral-ridge",
        "name": "Spectral ridge"
      },
      {
        "id": "csp-lda",
        "name": "CSP+LDA"
      },
      {
        "id": "labram",
        "name": "LaBraM"
      },
      {
        "id": "cbramod",
        "name": "CBraMod"
      },
      {
        "id": "eegnet",
        "name": "EEGNet"
      },
      {
        "id": "shallowfbcspnet",
        "name": "ShallowFBCSPNet"
      },
      {
        "id": "deep4net",
        "name": "Deep4Net"
      },
      {
        "id": "cca",
        "name": "Standard CCA"
      },
      {
        "id": "temporal-ridge",
        "name": "Temporal ridge"
      },
      {
        "id": "ts-lr",
        "name": "TS+LR"
      },
      {
        "id": "mdm",
        "name": "MDM"
      },
      {
        "id": "fbcca",
        "name": "FBCCA"
      },
      {
        "id": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR"
      },
      {
        "id": "xdawn-lda",
        "name": "xDAWN+LDA"
      }
    ],
    "counts": {
      "cells": 112,
      "methods": 14,
      "protocols": 8,
      "released": 39,
      "in_this_file": 30,
      "filled": 69,
      "not_applicable": 26,
      "not_run": 17
    },
    "reasons": {
      "freq": {
        "en": "they need the stimulation frequencies, and this protocol has none"
      },
      "erp": {
        "en": "they model the waveform of a stimulus-locked transient potential, and this protocol's classes are not defined by one"
      },
      "csp40": {
        "en": "The published CSP+LDA recipe is binary and computes one broadband log-variance per spatial filter over the whole window; the 40 BETA targets lie in one 8–15.8 Hz band, 0.2 Hz apart."
      }
    },
    "cells": [
      {
        "track": "mi-rest",
        "method": "Spectral ridge",
        "method_id": "spectral-ridge",
        "status": "released"
      },
      {
        "track": "mi-rest",
        "method": "CSP+LDA",
        "method_id": "csp-lda",
        "status": "released"
      },
      {
        "track": "mi-rest",
        "method": "LaBraM",
        "method_id": "labram",
        "status": "released"
      },
      {
        "track": "mi-rest",
        "method": "CBraMod",
        "method_id": "cbramod",
        "status": "released"
      },
      {
        "track": "mi-rest",
        "method": "EEGNet",
        "method_id": "eegnet",
        "status": "released"
      },
      {
        "track": "mi-rest",
        "method": "ShallowFBCSPNet",
        "method_id": "shallowfbcspnet",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "mi-rest",
        "method": "Deep4Net",
        "method_id": "deep4net",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "mi-rest",
        "method": "Standard CCA",
        "method_id": "cca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "mi-rest",
        "method": "Temporal ridge",
        "method_id": "temporal-ridge",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "mi-rest",
        "method": "TS+LR",
        "method_id": "ts-lr",
        "status": "in_this_file",
        "experiment": "e5"
      },
      {
        "track": "mi-rest",
        "method": "MDM",
        "method_id": "mdm",
        "status": "in_this_file",
        "experiment": "e5"
      },
      {
        "track": "mi-rest",
        "method": "FBCCA",
        "method_id": "fbcca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "mi-rest",
        "method": "XDAWNCov+TS+LR",
        "method_id": "xdawncov-ts-lr",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "mi-rest",
        "method": "xDAWN+LDA",
        "method_id": "xdawn-lda",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "idle",
        "method": "Spectral ridge",
        "method_id": "spectral-ridge",
        "status": "not_run"
      },
      {
        "track": "idle",
        "method": "CSP+LDA",
        "method_id": "csp-lda",
        "status": "released"
      },
      {
        "track": "idle",
        "method": "LaBraM",
        "method_id": "labram",
        "status": "released"
      },
      {
        "track": "idle",
        "method": "CBraMod",
        "method_id": "cbramod",
        "status": "released"
      },
      {
        "track": "idle",
        "method": "EEGNet",
        "method_id": "eegnet",
        "status": "released"
      },
      {
        "track": "idle",
        "method": "ShallowFBCSPNet",
        "method_id": "shallowfbcspnet",
        "status": "released"
      },
      {
        "track": "idle",
        "method": "Deep4Net",
        "method_id": "deep4net",
        "status": "released"
      },
      {
        "track": "idle",
        "method": "Standard CCA",
        "method_id": "cca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "idle",
        "method": "Temporal ridge",
        "method_id": "temporal-ridge",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "idle",
        "method": "TS+LR",
        "method_id": "ts-lr",
        "status": "in_this_file",
        "experiment": "e5"
      },
      {
        "track": "idle",
        "method": "MDM",
        "method_id": "mdm",
        "status": "in_this_file",
        "experiment": "e5"
      },
      {
        "track": "idle",
        "method": "FBCCA",
        "method_id": "fbcca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "idle",
        "method": "XDAWNCov+TS+LR",
        "method_id": "xdawncov-ts-lr",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "idle",
        "method": "xDAWN+LDA",
        "method_id": "xdawn-lda",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "beta-8ch",
        "method": "Spectral ridge",
        "method_id": "spectral-ridge",
        "status": "released"
      },
      {
        "track": "beta-8ch",
        "method": "CSP+LDA",
        "method_id": "csp-lda",
        "status": "not_applicable",
        "reason": "csp40"
      },
      {
        "track": "beta-8ch",
        "method": "LaBraM",
        "method_id": "labram",
        "status": "released"
      },
      {
        "track": "beta-8ch",
        "method": "CBraMod",
        "method_id": "cbramod",
        "status": "released"
      },
      {
        "track": "beta-8ch",
        "method": "EEGNet",
        "method_id": "eegnet",
        "status": "released"
      },
      {
        "track": "beta-8ch",
        "method": "ShallowFBCSPNet",
        "method_id": "shallowfbcspnet",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "beta-8ch",
        "method": "Deep4Net",
        "method_id": "deep4net",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "beta-8ch",
        "method": "Standard CCA",
        "method_id": "cca",
        "status": "released"
      },
      {
        "track": "beta-8ch",
        "method": "Temporal ridge",
        "method_id": "temporal-ridge",
        "status": "not_run"
      },
      {
        "track": "beta-8ch",
        "method": "TS+LR",
        "method_id": "ts-lr",
        "status": "not_run"
      },
      {
        "track": "beta-8ch",
        "method": "MDM",
        "method_id": "mdm",
        "status": "not_run"
      },
      {
        "track": "beta-8ch",
        "method": "FBCCA",
        "method_id": "fbcca",
        "status": "in_this_file",
        "experiment": "e1"
      },
      {
        "track": "beta-8ch",
        "method": "XDAWNCov+TS+LR",
        "method_id": "xdawncov-ts-lr",
        "status": "not_run"
      },
      {
        "track": "beta-8ch",
        "method": "xDAWN+LDA",
        "method_id": "xdawn-lda",
        "status": "not_run"
      },
      {
        "track": "beta-4ch",
        "method": "Spectral ridge",
        "method_id": "spectral-ridge",
        "status": "released"
      },
      {
        "track": "beta-4ch",
        "method": "CSP+LDA",
        "method_id": "csp-lda",
        "status": "not_applicable",
        "reason": "csp40"
      },
      {
        "track": "beta-4ch",
        "method": "LaBraM",
        "method_id": "labram",
        "status": "released"
      },
      {
        "track": "beta-4ch",
        "method": "CBraMod",
        "method_id": "cbramod",
        "status": "released"
      },
      {
        "track": "beta-4ch",
        "method": "EEGNet",
        "method_id": "eegnet",
        "status": "released"
      },
      {
        "track": "beta-4ch",
        "method": "ShallowFBCSPNet",
        "method_id": "shallowfbcspnet",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "beta-4ch",
        "method": "Deep4Net",
        "method_id": "deep4net",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "beta-4ch",
        "method": "Standard CCA",
        "method_id": "cca",
        "status": "released"
      },
      {
        "track": "beta-4ch",
        "method": "Temporal ridge",
        "method_id": "temporal-ridge",
        "status": "not_run"
      },
      {
        "track": "beta-4ch",
        "method": "TS+LR",
        "method_id": "ts-lr",
        "status": "not_run"
      },
      {
        "track": "beta-4ch",
        "method": "MDM",
        "method_id": "mdm",
        "status": "not_run"
      },
      {
        "track": "beta-4ch",
        "method": "FBCCA",
        "method_id": "fbcca",
        "status": "in_this_file",
        "experiment": "e1"
      },
      {
        "track": "beta-4ch",
        "method": "XDAWNCov+TS+LR",
        "method_id": "xdawncov-ts-lr",
        "status": "not_run"
      },
      {
        "track": "beta-4ch",
        "method": "xDAWN+LDA",
        "method_id": "xdawn-lda",
        "status": "not_run"
      },
      {
        "track": "arithmetic-rest",
        "method": "Spectral ridge",
        "method_id": "spectral-ridge",
        "status": "released"
      },
      {
        "track": "arithmetic-rest",
        "method": "CSP+LDA",
        "method_id": "csp-lda",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "arithmetic-rest",
        "method": "LaBraM",
        "method_id": "labram",
        "status": "released"
      },
      {
        "track": "arithmetic-rest",
        "method": "CBraMod",
        "method_id": "cbramod",
        "status": "released"
      },
      {
        "track": "arithmetic-rest",
        "method": "EEGNet",
        "method_id": "eegnet",
        "status": "released"
      },
      {
        "track": "arithmetic-rest",
        "method": "ShallowFBCSPNet",
        "method_id": "shallowfbcspnet",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "arithmetic-rest",
        "method": "Deep4Net",
        "method_id": "deep4net",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "arithmetic-rest",
        "method": "Standard CCA",
        "method_id": "cca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "arithmetic-rest",
        "method": "Temporal ridge",
        "method_id": "temporal-ridge",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "arithmetic-rest",
        "method": "TS+LR",
        "method_id": "ts-lr",
        "status": "in_this_file",
        "experiment": "e5"
      },
      {
        "track": "arithmetic-rest",
        "method": "MDM",
        "method_id": "mdm",
        "status": "in_this_file",
        "experiment": "e5"
      },
      {
        "track": "arithmetic-rest",
        "method": "FBCCA",
        "method_id": "fbcca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "arithmetic-rest",
        "method": "XDAWNCov+TS+LR",
        "method_id": "xdawncov-ts-lr",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "arithmetic-rest",
        "method": "xDAWN+LDA",
        "method_id": "xdawn-lda",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "p300-target",
        "method": "Spectral ridge",
        "method_id": "spectral-ridge",
        "status": "released"
      },
      {
        "track": "p300-target",
        "method": "CSP+LDA",
        "method_id": "csp-lda",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "p300-target",
        "method": "LaBraM",
        "method_id": "labram",
        "status": "released"
      },
      {
        "track": "p300-target",
        "method": "CBraMod",
        "method_id": "cbramod",
        "status": "released"
      },
      {
        "track": "p300-target",
        "method": "EEGNet",
        "method_id": "eegnet",
        "status": "released"
      },
      {
        "track": "p300-target",
        "method": "ShallowFBCSPNet",
        "method_id": "shallowfbcspnet",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "p300-target",
        "method": "Deep4Net",
        "method_id": "deep4net",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "p300-target",
        "method": "Standard CCA",
        "method_id": "cca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "p300-target",
        "method": "Temporal ridge",
        "method_id": "temporal-ridge",
        "status": "released"
      },
      {
        "track": "p300-target",
        "method": "TS+LR",
        "method_id": "ts-lr",
        "status": "not_run"
      },
      {
        "track": "p300-target",
        "method": "MDM",
        "method_id": "mdm",
        "status": "not_run"
      },
      {
        "track": "p300-target",
        "method": "FBCCA",
        "method_id": "fbcca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "p300-target",
        "method": "XDAWNCov+TS+LR",
        "method_id": "xdawncov-ts-lr",
        "status": "in_this_file",
        "experiment": "e5"
      },
      {
        "track": "p300-target",
        "method": "xDAWN+LDA",
        "method_id": "xdawn-lda",
        "status": "in_this_file",
        "experiment": "e5"
      },
      {
        "track": "semantic-target",
        "method": "Spectral ridge",
        "method_id": "spectral-ridge",
        "status": "released"
      },
      {
        "track": "semantic-target",
        "method": "CSP+LDA",
        "method_id": "csp-lda",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "semantic-target",
        "method": "LaBraM",
        "method_id": "labram",
        "status": "released"
      },
      {
        "track": "semantic-target",
        "method": "CBraMod",
        "method_id": "cbramod",
        "status": "released"
      },
      {
        "track": "semantic-target",
        "method": "EEGNet",
        "method_id": "eegnet",
        "status": "released"
      },
      {
        "track": "semantic-target",
        "method": "ShallowFBCSPNet",
        "method_id": "shallowfbcspnet",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "semantic-target",
        "method": "Deep4Net",
        "method_id": "deep4net",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "semantic-target",
        "method": "Standard CCA",
        "method_id": "cca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "semantic-target",
        "method": "Temporal ridge",
        "method_id": "temporal-ridge",
        "status": "released"
      },
      {
        "track": "semantic-target",
        "method": "TS+LR",
        "method_id": "ts-lr",
        "status": "not_run"
      },
      {
        "track": "semantic-target",
        "method": "MDM",
        "method_id": "mdm",
        "status": "not_run"
      },
      {
        "track": "semantic-target",
        "method": "FBCCA",
        "method_id": "fbcca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "semantic-target",
        "method": "XDAWNCov+TS+LR",
        "method_id": "xdawncov-ts-lr",
        "status": "in_this_file",
        "experiment": "e5"
      },
      {
        "track": "semantic-target",
        "method": "xDAWN+LDA",
        "method_id": "xdawn-lda",
        "status": "in_this_file",
        "experiment": "e5"
      },
      {
        "track": "sleep-scalp",
        "method": "Spectral ridge",
        "method_id": "spectral-ridge",
        "status": "released"
      },
      {
        "track": "sleep-scalp",
        "method": "CSP+LDA",
        "method_id": "csp-lda",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "sleep-scalp",
        "method": "LaBraM",
        "method_id": "labram",
        "status": "released"
      },
      {
        "track": "sleep-scalp",
        "method": "CBraMod",
        "method_id": "cbramod",
        "status": "released"
      },
      {
        "track": "sleep-scalp",
        "method": "EEGNet",
        "method_id": "eegnet",
        "status": "released"
      },
      {
        "track": "sleep-scalp",
        "method": "ShallowFBCSPNet",
        "method_id": "shallowfbcspnet",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "sleep-scalp",
        "method": "Deep4Net",
        "method_id": "deep4net",
        "status": "in_this_file",
        "experiment": "e2"
      },
      {
        "track": "sleep-scalp",
        "method": "Standard CCA",
        "method_id": "cca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "sleep-scalp",
        "method": "Temporal ridge",
        "method_id": "temporal-ridge",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "sleep-scalp",
        "method": "TS+LR",
        "method_id": "ts-lr",
        "status": "not_run"
      },
      {
        "track": "sleep-scalp",
        "method": "MDM",
        "method_id": "mdm",
        "status": "not_run"
      },
      {
        "track": "sleep-scalp",
        "method": "FBCCA",
        "method_id": "fbcca",
        "status": "not_applicable",
        "reason": "freq"
      },
      {
        "track": "sleep-scalp",
        "method": "XDAWNCov+TS+LR",
        "method_id": "xdawncov-ts-lr",
        "status": "not_applicable",
        "reason": "erp"
      },
      {
        "track": "sleep-scalp",
        "method": "xDAWN+LDA",
        "method_id": "xdawn-lda",
        "status": "not_applicable",
        "reason": "erp"
      }
    ]
  },
  "contrasts": [
    {
      "id": "E1/C1",
      "experiment": "e1",
      "protocol": "beta-8ch",
      "role": "primary",
      "group": "primary",
      "table": "vs-cca",
      "left": {
        "method": "fbcca",
        "name": "FBCCA",
        "label": "FBCCA-M3-N7-H5",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "cca",
        "name": "Standard CCA",
        "file": "experiments.json"
      },
      "participants": 70,
      "mean_pp": 15.973214285714286,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.9875,
          "adjustment": "Bonferroni over 4",
          "label": "98.75% interval, Bonferroni-adjusted for four contrasts",
          "bounds": [
            11.593694196428572,
            20.549162946428574
          ],
          "reading": "higher",
          "governs": true
        },
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            12.5,
            19.642857142857142
          ],
          "reading": "higher",
          "governs": false
        }
      ],
      "reading": "higher",
      "reading_level": 0.9875,
      "comparator_deterministic": true,
      "pages": [
        "/protocols/beta-8ch/"
      ],
      "pair_with": []
    },
    {
      "id": "E1/C2",
      "experiment": "e1",
      "protocol": "beta-8ch",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "fbcca",
        "name": "FBCCA",
        "label": "FBCCA-M3-N7-H5",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 70,
      "mean_pp": 23.330357142857142,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.9875,
          "adjustment": "Bonferroni over 4",
          "label": "98.75% interval, Bonferroni-adjusted for four contrasts",
          "bounds": [
            17.647265625,
            29.584877232142862
          ],
          "reading": "higher",
          "governs": true
        },
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            18.839285714285715,
            28.214508928571426
          ],
          "reading": "higher",
          "governs": false
        }
      ],
      "reading": "higher",
      "reading_level": 0.9875,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/beta-8ch/"
      ],
      "pair_with": []
    },
    {
      "id": "E1/C3",
      "experiment": "e1",
      "protocol": "beta-4ch",
      "role": "primary",
      "group": "primary",
      "table": "vs-cca",
      "left": {
        "method": "fbcca",
        "name": "FBCCA",
        "label": "FBCCA-M3-N7-H5",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "cca",
        "name": "Standard CCA",
        "file": "experiments.json"
      },
      "participants": 70,
      "mean_pp": 14.705357142857142,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.9875,
          "adjustment": "Bonferroni over 4",
          "label": "98.75% interval, Bonferroni-adjusted for four contrasts",
          "bounds": [
            10.714174107142858,
            19.05390625000002
          ],
          "reading": "higher",
          "governs": true
        },
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            11.473214285714286,
            18.0625
          ],
          "reading": "higher",
          "governs": false
        }
      ],
      "reading": "higher",
      "reading_level": 0.9875,
      "comparator_deterministic": true,
      "pages": [
        "/protocols/beta-4ch/"
      ],
      "pair_with": []
    },
    {
      "id": "E1/C4",
      "experiment": "e1",
      "protocol": "beta-4ch",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "fbcca",
        "name": "FBCCA",
        "label": "FBCCA-M3-N7-H5",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 70,
      "mean_pp": 28.160714285714285,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.9875,
          "adjustment": "Bonferroni over 4",
          "label": "98.75% interval, Bonferroni-adjusted for four contrasts",
          "bounds": [
            22.78549107142857,
            33.910714285714285
          ],
          "reading": "higher",
          "governs": true
        },
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            23.964285714285715,
            32.55357142857143
          ],
          "reading": "higher",
          "governs": false
        }
      ],
      "reading": "higher",
      "reading_level": 0.9875,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/beta-4ch/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/P1",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "primary",
      "group": "primary",
      "table": "primary",
      "anchor": "#primary",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "spectral-ridge",
        "name": "Spectral ridge",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": 3.999999999999998,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.9875,
          "adjustment": "Bonferroni over 4",
          "label": "98.75% interval, Bonferroni-adjusted for four contrasts",
          "bounds": [
            -1.083333333333334,
            11.499999999999998
          ],
          "reading": "unresolved",
          "governs": true
        },
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -0.33333333333333326,
            9.66666666666666
          ],
          "reading": "unresolved",
          "governs": false
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.9875,
      "pages": [
        "/protocols/mi-rest/",
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S1",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-eegnet",
      "table": "vs-eegnet",
      "anchor": "#vs-eegnet",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": -12.083333333333334,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -18.083333333333336,
            -5.416666666666668
          ],
          "reading": "lower",
          "governs": true
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S2",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-eegnet",
      "table": "vs-eegnet",
      "anchor": "#vs-eegnet",
      "left": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp4-40",
        "label": "MDM · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": -17.166666666666668,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -23.666666666666668,
            -10.583333333333332
          ],
          "reading": "lower",
          "governs": true
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S9",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-spectral-ridge",
      "table": "vs-spectral-ridge",
      "anchor": "#vs-spectral-ridge",
      "left": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp4-40",
        "label": "MDM · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "spectral-ridge",
        "name": "Spectral ridge",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": -1.083333333333335,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -4.666666666666668,
            3.8333333333333295
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S13",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-csp",
      "table": "vs-csp",
      "anchor": "#vs-csp",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": 11.833333333333334,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            7.916666666666667,
            16.75
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S14",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-csp",
      "table": "vs-csp",
      "anchor": "#vs-csp",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "raw",
        "label": "TS+LR · OAS · raw",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": 7.333333333333336,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            3.75,
            11.583333333333332
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S15",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-csp",
      "table": "vs-csp",
      "anchor": "#vs-csp",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp8-32",
        "label": "TS+LR · OAS · 8–32 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": 13.000000000000004,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            7.833333333333336,
            18.583333333333336
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S16",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-csp",
      "table": "vs-csp",
      "anchor": "#vs-csp",
      "left": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp4-40",
        "label": "MDM · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": 6.75,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            3.25,
            10.75
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S17",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-csp",
      "table": "vs-csp",
      "anchor": "#vs-csp",
      "left": {
        "method": "mdm",
        "name": "MDM",
        "arm": "raw",
        "label": "MDM · OAS · raw",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": 4.916666666666669,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            1.3333333333333344,
            9.16666666666667
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S18",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-csp",
      "table": "vs-csp",
      "anchor": "#vs-csp",
      "left": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp8-32",
        "label": "MDM · OAS · 8–32 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": 8.916666666666668,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            4.583333333333335,
            13.666666666666668
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S23",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-frozen",
      "table": "vs-frozen",
      "anchor": "#vs-frozen",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "labram",
        "name": "LaBraM",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": 5.416666666666665,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            0.25,
            11.333333333333332
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S24",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "vs-frozen",
      "table": "vs-frozen",
      "anchor": "#vs-frozen",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "cbramod",
        "name": "CBraMod",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": -4.000000000000002,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -8.416666666666668,
            0.9166666666666632
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S31",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "arms",
      "table": "arms",
      "anchor": "#arms",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "raw",
        "label": "TS+LR · OAS · raw",
        "file": "core-matrix-20261106.json"
      },
      "participants": 10,
      "mean_pp": 4.5,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            0.5833333333333364,
            7.916666666666666
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S32",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "arms",
      "table": "arms",
      "anchor": "#arms",
      "left": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp4-40",
        "label": "MDM · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "mdm",
        "name": "MDM",
        "arm": "raw",
        "label": "MDM · OAS · raw",
        "file": "core-matrix-20261106.json"
      },
      "participants": 10,
      "mean_pp": 1.8333333333333315,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -1.5000000000000036,
            6.25
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S33",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "arms",
      "table": "arms",
      "anchor": "#arms",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp8-32",
        "label": "TS+LR · OAS · 8–32 Hz",
        "file": "core-matrix-20261106.json"
      },
      "participants": 10,
      "mean_pp": -1.1666666666666694,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -6.000000000000003,
            2.583333333333331
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S34",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "arms",
      "table": "arms",
      "anchor": "#arms",
      "left": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp4-40",
        "label": "MDM · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp8-32",
        "label": "MDM · OAS · 8–32 Hz",
        "file": "core-matrix-20261106.json"
      },
      "participants": 10,
      "mean_pp": -2.1666666666666687,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -3.8333333333333366,
            -0.75
          ],
          "reading": "lower",
          "governs": true
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S41",
      "experiment": "e5",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "within-family",
      "table": "within-family",
      "anchor": "#within-family",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp4-40",
        "label": "MDM · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "participants": 10,
      "mean_pp": 5.083333333333334,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            2.333333333333333,
            7.833333333333331
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/P2",
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "role": "primary",
      "group": "primary",
      "table": "primary",
      "anchor": "#primary",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "spectral-ridge",
        "name": "Spectral ridge",
        "file": "experiments.json"
      },
      "participants": 36,
      "mean_pp": 8.75,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.9875,
          "adjustment": "Bonferroni over 4",
          "label": "98.75% interval, Bonferroni-adjusted for four contrasts",
          "bounds": [
            1.5506365740740664,
            16.064814814814817
          ],
          "reading": "higher",
          "governs": true
        },
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            3.0092592592592613,
            14.629629629629632
          ],
          "reading": "higher",
          "governs": false
        }
      ],
      "reading": "higher",
      "reading_level": 0.9875,
      "pages": [
        "/protocols/arithmetic-rest/",
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S3",
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "role": "secondary",
      "group": "vs-eegnet",
      "table": "vs-eegnet",
      "anchor": "#vs-eegnet",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 36,
      "mean_pp": -2.129629629629628,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -7.96296296296296,
            3.75
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S4",
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "role": "secondary",
      "group": "vs-eegnet",
      "table": "vs-eegnet",
      "anchor": "#vs-eegnet",
      "left": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp4-40",
        "label": "MDM · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 36,
      "mean_pp": 3.842592592592592,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -1.2962962962962967,
            9.305555555555554
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S10",
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "role": "secondary",
      "group": "vs-spectral-ridge",
      "table": "vs-spectral-ridge",
      "anchor": "#vs-spectral-ridge",
      "left": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp4-40",
        "label": "MDM · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "spectral-ridge",
        "name": "Spectral ridge",
        "file": "experiments.json"
      },
      "participants": 36,
      "mean_pp": 14.722222222222221,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            8.888888888888888,
            20.46412037037036
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S25",
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "role": "secondary",
      "group": "vs-frozen",
      "table": "vs-frozen",
      "anchor": "#vs-frozen",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "labram",
        "name": "LaBraM",
        "file": "experiments.json"
      },
      "participants": 36,
      "mean_pp": 0.87962962962963,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -4.583333333333333,
            6.5752314814814685
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S26",
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "role": "secondary",
      "group": "vs-frozen",
      "table": "vs-frozen",
      "anchor": "#vs-frozen",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "cbramod",
        "name": "CBraMod",
        "file": "experiments.json"
      },
      "participants": 36,
      "mean_pp": 3.194444444444445,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -1.481481481481481,
            7.962962962962962
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S35",
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "role": "secondary",
      "group": "arms",
      "table": "arms",
      "anchor": "#arms",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "raw",
        "label": "TS+LR · OAS · raw",
        "file": "core-matrix-20261106.json"
      },
      "participants": 36,
      "mean_pp": 2.407407407407407,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -3.010416666666658,
            8.148148148148145
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S36",
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "role": "secondary",
      "group": "arms",
      "table": "arms",
      "anchor": "#arms",
      "left": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp4-40",
        "label": "MDM · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "mdm",
        "name": "MDM",
        "arm": "raw",
        "label": "MDM · OAS · raw",
        "file": "core-matrix-20261106.json"
      },
      "participants": 36,
      "mean_pp": 0.7407407407407409,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -5.277777777777777,
            7.223379629629615
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S42",
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "role": "secondary",
      "group": "within-family",
      "table": "within-family",
      "anchor": "#within-family",
      "left": {
        "method": "ts-lr",
        "name": "TS+LR",
        "arm": "bp4-40",
        "label": "TS+LR · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "mdm",
        "name": "MDM",
        "arm": "bp4-40",
        "label": "MDM · OAS · 4–40 Hz",
        "file": "core-matrix-20261106.json"
      },
      "participants": 36,
      "mean_pp": -5.9722222222222205,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -11.574074074074073,
            -0.5092592592592594
          ],
          "reading": "lower",
          "governs": true
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "pages": [
        "/methods/riemannian/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/P3",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "primary",
      "group": "primary",
      "table": "primary",
      "anchor": "#primary",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "spectral-ridge",
        "name": "Spectral ridge",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": 10.95238095238095,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.9875,
          "adjustment": "Bonferroni over 4",
          "label": "98.75% interval, Bonferroni-adjusted for four contrasts",
          "bounds": [
            6.8053075396825315,
            15.07936507936508
          ],
          "reading": "higher",
          "governs": true
        },
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            7.738095238095236,
            14.246031746031738
          ],
          "reading": "higher",
          "governs": false
        }
      ],
      "reading": "higher",
      "reading_level": 0.9875,
      "print_right_value": true,
      "pages": [
        "/protocols/p300-target/",
        "/methods/xdawn/"
      ],
      "pair_with": [
        "E5/S19"
      ]
    },
    {
      "id": "E5/S5",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "vs-eegnet",
      "table": "vs-eegnet",
      "anchor": "#vs-eegnet",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": 8.611111111111107,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            5.198412698412695,
            12.023809523809522
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S6",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "vs-eegnet",
      "table": "vs-eegnet",
      "anchor": "#vs-eegnet",
      "left": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "erp50",
        "label": "xDAWN+LDA · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": 7.142857142857141,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            4.325396825396823,
            9.960317460317455
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S11",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "vs-spectral-ridge",
      "table": "vs-spectral-ridge",
      "anchor": "#vs-spectral-ridge",
      "left": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "erp50",
        "label": "xDAWN+LDA · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "spectral-ridge",
        "name": "Spectral ridge",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": 9.484126984126984,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            6.46825396825397,
            12.42063492063492
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S19",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "vs-temporal-ridge",
      "table": "primary",
      "anchor": "#vs-temporal-ridge",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "temporal-ridge",
        "name": "Temporal ridge",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": 8.095238095238093,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            5.277777777777775,
            11.071428571428571
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "print_right_value": true,
      "pages": [
        "/protocols/p300-target/",
        "/methods/xdawn/"
      ],
      "pair_with": [
        "E5/P3"
      ]
    },
    {
      "id": "E5/S20",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "vs-temporal-ridge",
      "table": "vs-temporal-ridge",
      "anchor": "#vs-temporal-ridge",
      "left": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "erp50",
        "label": "xDAWN+LDA · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "temporal-ridge",
        "name": "Temporal ridge",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": 6.6269841269841265,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            3.65079365079365,
            9.76190476190476
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S27",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "vs-frozen",
      "table": "vs-frozen",
      "anchor": "#vs-frozen",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "labram",
        "name": "LaBraM",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": 12.5,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            8.650793650793652,
            16.26984126984127
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S28",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "vs-frozen",
      "table": "vs-frozen",
      "anchor": "#vs-frozen",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "cbramod",
        "name": "CBraMod",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": 6.944444444444445,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            4.365079365079365,
            9.642857142857142
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S37",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "arms",
      "table": "arms",
      "anchor": "#arms",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "raw",
        "label": "XDAWNCov+TS+LR · 4 filters · raw",
        "file": "core-matrix-20261106.json"
      },
      "participants": 21,
      "mean_pp": 1.1904761904761918,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -1.230158730158728,
            3.6904761904761925
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S38",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "arms",
      "table": "arms",
      "anchor": "#arms",
      "left": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "erp50",
        "label": "xDAWN+LDA · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "raw",
        "label": "xDAWN+LDA · 4 filters · raw",
        "file": "core-matrix-20261106.json"
      },
      "participants": 21,
      "mean_pp": 1.507936507936508,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -0.0793650793650797,
            2.9365079365079376
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S43",
      "experiment": "e5",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "within-family",
      "table": "within-family",
      "anchor": "#within-family",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "erp50",
        "label": "xDAWN+LDA · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "participants": 21,
      "mean_pp": 1.468253968253968,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -0.9126984126984155,
            3.730158730158731
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/P4",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "primary",
      "group": "primary",
      "table": "primary",
      "anchor": "#primary",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "spectral-ridge",
        "name": "Spectral ridge",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": 9.25,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.9875,
          "adjustment": "Bonferroni over 4",
          "label": "98.75% interval, Bonferroni-adjusted for four contrasts",
          "bounds": [
            6.0555555555555545,
            12.805555555555557
          ],
          "reading": "higher",
          "governs": true
        },
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            6.666666666666666,
            12.000694444444438
          ],
          "reading": "higher",
          "governs": false
        }
      ],
      "reading": "higher",
      "reading_level": 0.9875,
      "print_right_value": true,
      "pages": [
        "/protocols/semantic-target/",
        "/methods/xdawn/"
      ],
      "pair_with": [
        "E5/S21"
      ]
    },
    {
      "id": "E5/S7",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "vs-eegnet",
      "table": "vs-eegnet",
      "anchor": "#vs-eegnet",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": -1.1666666666666663,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -2.9999999999999987,
            0.6388888888888888
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S8",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "vs-eegnet",
      "table": "vs-eegnet",
      "anchor": "#vs-eegnet",
      "left": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "erp50",
        "label": "xDAWN+LDA · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": -4.6388888888888875,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -6.499999999999997,
            -2.7493055555555634
          ],
          "reading": "lower",
          "governs": true
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S12",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "vs-spectral-ridge",
      "table": "vs-spectral-ridge",
      "anchor": "#vs-spectral-ridge",
      "left": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "erp50",
        "label": "xDAWN+LDA · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "spectral-ridge",
        "name": "Spectral ridge",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": 5.777777777777777,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            4.0,
            7.75
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S21",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "vs-temporal-ridge",
      "table": "primary",
      "anchor": "#vs-temporal-ridge",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "temporal-ridge",
        "name": "Temporal ridge",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": 3.9444444444444433,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            1.9722222222222214,
            5.888888888888888
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "print_right_value": true,
      "pages": [
        "/protocols/semantic-target/",
        "/methods/xdawn/"
      ],
      "pair_with": [
        "E5/P4"
      ]
    },
    {
      "id": "E5/S22",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "vs-temporal-ridge",
      "table": "vs-temporal-ridge",
      "anchor": "#vs-temporal-ridge",
      "left": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "erp50",
        "label": "xDAWN+LDA · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "temporal-ridge",
        "name": "Temporal ridge",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": 0.47222222222222127,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -1.1666666666666674,
            2.1111111111111103
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S29",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "vs-frozen",
      "table": "vs-frozen",
      "anchor": "#vs-frozen",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "labram",
        "name": "LaBraM",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": 7.111111111111112,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            4.805555555555556,
            9.416666666666668
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S30",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "vs-frozen",
      "table": "vs-frozen",
      "anchor": "#vs-frozen",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "cbramod",
        "name": "CBraMod",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": 4.472222222222222,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            2.527777777777777,
            6.416666666666667
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S39",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "arms",
      "table": "arms",
      "anchor": "#arms",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "raw",
        "label": "XDAWNCov+TS+LR · 4 filters · raw",
        "file": "core-matrix-20261106.json"
      },
      "participants": 30,
      "mean_pp": 0.05555555555555524,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            -1.25,
            1.3333333333333324
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "within_two_points": true,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S40",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "arms",
      "table": "arms",
      "anchor": "#arms",
      "left": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "erp50",
        "label": "xDAWN+LDA · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "raw",
        "label": "xDAWN+LDA · 4 filters · raw",
        "file": "core-matrix-20261106.json"
      },
      "participants": 30,
      "mean_pp": 2.194444444444444,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            0.5833333333333326,
            3.8611111111111103
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E5/S44",
      "experiment": "e5",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "within-family",
      "table": "within-family",
      "anchor": "#within-family",
      "left": {
        "method": "xdawncov-ts-lr",
        "name": "XDAWNCov+TS+LR",
        "arm": "erp50",
        "label": "XDAWNCov+TS+LR · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "xdawn-lda",
        "name": "xDAWN+LDA",
        "arm": "erp50",
        "label": "xDAWN+LDA · 4 filters · 50 Hz",
        "file": "core-matrix-20261106.json"
      },
      "participants": 30,
      "mean_pp": 3.4722222222222228,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "nominal 95% interval",
          "bounds": [
            1.8333333333333333,
            5.25
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "pages": [
        "/methods/xdawn/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/arithmetic-rest/csp-lda-minus-eegnet",
      "experiment": "e2",
      "protocol": "arithmetic-rest",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "label": "CSP+LDA",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 36,
      "mean_pp": 0.6944444444444445,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -4.3055555555555545,
            5.833333333333331
          ],
          "reading": "unresolved",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -7.134837962962962,
            8.662615740740707
          ],
          "reading": "unresolved",
          "governs": false
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/arithmetic-rest/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/arithmetic-rest/deep4net-minus-eegnet",
      "experiment": "e2",
      "protocol": "arithmetic-rest",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 36,
      "mean_pp": -6.342592592592592,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -10.416666666666668,
            -2.2685185185185177
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -12.824074074074074,
            0.09780092592589319
          ],
          "reading": "unresolved",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/arithmetic-rest/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/arithmetic-rest/shallowfbcspnet-minus-eegnet",
      "experiment": "e2",
      "protocol": "arithmetic-rest",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 36,
      "mean_pp": 0.2777777777777777,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -2.6388888888888897,
            3.2870370370370376
          ],
          "reading": "unresolved",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -4.032986111111113,
            4.953703703703703
          ],
          "reading": "unresolved",
          "governs": false
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/arithmetic-rest/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/S/arithmetic-rest/shallowfbcspnet-minus-deep4net",
      "experiment": "e2",
      "protocol": "arithmetic-rest",
      "role": "secondary",
      "group": "secondary",
      "table": null,
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "participants": 36,
      "mean_pp": 6.620370370370371,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval",
          "bounds": [
            2.6388888888888875,
            10.648148148148149
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "descriptive": true,
      "pages": [],
      "pair_with": []
    },
    {
      "id": "E2/P/beta-4ch/deep4net-minus-eegnet",
      "experiment": "e2",
      "protocol": "beta-4ch",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 70,
      "mean_pp": -5.455357142857144,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -6.776785714285713,
            -4.142857142857143
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -7.483147321428568,
            -3.5347098214285784
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/beta-4ch/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/beta-4ch/shallowfbcspnet-minus-eegnet",
      "experiment": "e2",
      "protocol": "beta-4ch",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 70,
      "mean_pp": -27.901785714285708,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -31.919642857142854,
            -23.875
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -34.39386160714286,
            -21.90848214285727
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/beta-4ch/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/S/beta-4ch/shallowfbcspnet-minus-deep4net",
      "experiment": "e2",
      "protocol": "beta-4ch",
      "role": "secondary",
      "group": "secondary",
      "table": null,
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "participants": 70,
      "mean_pp": -22.44642857142857,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval",
          "bounds": [
            -26.098660714285714,
            -18.89241071428572
          ],
          "reading": "lower",
          "governs": true
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "descriptive": true,
      "pages": [],
      "pair_with": []
    },
    {
      "id": "E2/P/beta-8ch/deep4net-minus-eegnet",
      "experiment": "e2",
      "protocol": "beta-8ch",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 70,
      "mean_pp": -3.0089285714285703,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -3.919866071428573,
            -2.089285714285714
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -4.367075892857144,
            -1.5714285714285716
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/beta-8ch/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/beta-8ch/shallowfbcspnet-minus-eegnet",
      "experiment": "e2",
      "protocol": "beta-8ch",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 70,
      "mean_pp": -32.73214285714286,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -36.964285714285715,
            -28.491071428571423
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -38.90379464285714,
            -26.356138392857144
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/beta-8ch/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/S/beta-8ch/shallowfbcspnet-minus-deep4net",
      "experiment": "e2",
      "protocol": "beta-8ch",
      "role": "secondary",
      "group": "secondary",
      "table": null,
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "participants": 70,
      "mean_pp": -29.72321428571429,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval",
          "bounds": [
            -33.74151785714286,
            -25.785491071428567
          ],
          "reading": "lower",
          "governs": true
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "descriptive": true,
      "pages": [],
      "pair_with": []
    },
    {
      "id": "E2/P/mi-rest/deep4net-minus-eegnet",
      "experiment": "e2",
      "protocol": "mi-rest",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": -2.416666666666667,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -6.75,
            2.3333333333333353
          ],
          "reading": "unresolved",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -8.583333333333334,
            5.194791666666488
          ],
          "reading": "unresolved",
          "governs": false
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/mi-rest/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/mi-rest/shallowfbcspnet-minus-eegnet",
      "experiment": "e2",
      "protocol": "mi-rest",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 10,
      "mean_pp": -2.1666666666666656,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -7.999999999999999,
            3.416666666666669
          ],
          "reading": "unresolved",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -10.833333333333336,
            5.676041666666608
          ],
          "reading": "unresolved",
          "governs": false
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/mi-rest/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/S/mi-rest/shallowfbcspnet-minus-deep4net",
      "experiment": "e2",
      "protocol": "mi-rest",
      "role": "secondary",
      "group": "secondary",
      "table": null,
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "participants": 10,
      "mean_pp": 0.25,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval",
          "bounds": [
            -6.75,
            7.666666666666669
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "descriptive": true,
      "pages": [],
      "pair_with": []
    },
    {
      "id": "E2/P/p300-target/csp-lda-minus-eegnet",
      "experiment": "e2",
      "protocol": "p300-target",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "label": "CSP+LDA",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": -3.333333333333334,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -5.357142857142857,
            -1.5873015873015883
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -6.552083333333335,
            -0.7539682539682535
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/p300-target/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/p300-target/deep4net-minus-eegnet",
      "experiment": "e2",
      "protocol": "p300-target",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": -2.500000000000003,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -4.246031746031749,
            -0.9126984126984156
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -5.163194444444446,
            -0.154265873015904
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/p300-target/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/p300-target/shallowfbcspnet-minus-eegnet",
      "experiment": "e2",
      "protocol": "p300-target",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 21,
      "mean_pp": -3.6111111111111143,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -5.357142857142862,
            -1.904761904761907
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -6.309523809523811,
            -0.9082341269841585
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/p300-target/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/S/p300-target/shallowfbcspnet-minus-deep4net",
      "experiment": "e2",
      "protocol": "p300-target",
      "role": "secondary",
      "group": "secondary",
      "table": null,
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "participants": 21,
      "mean_pp": -1.1111111111111116,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval",
          "bounds": [
            -2.103174603174604,
            -0.1587301587301587
          ],
          "reading": "lower",
          "governs": true
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "descriptive": true,
      "pages": [],
      "pair_with": []
    },
    {
      "id": "E2/P/semantic-target/csp-lda-minus-eegnet",
      "experiment": "e2",
      "protocol": "semantic-target",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "label": "CSP+LDA",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": -8.75,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -11.111111111111109,
            -6.388888888888887
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -12.169791666666665,
            -5.194444444444444
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/semantic-target/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/semantic-target/deep4net-minus-eegnet",
      "experiment": "e2",
      "protocol": "semantic-target",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": -4.000000000000001,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -5.833333333333337,
            -2.082638888888897
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -6.780902777777779,
            -1.107986111111131
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/semantic-target/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/semantic-target/shallowfbcspnet-minus-eegnet",
      "experiment": "e2",
      "protocol": "semantic-target",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 30,
      "mean_pp": -4.72222222222222,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -7.222222222222221,
            -2.2222222222222214
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -8.499999999999996,
            -1.052430555555575
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/semantic-target/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/S/semantic-target/shallowfbcspnet-minus-deep4net",
      "experiment": "e2",
      "protocol": "semantic-target",
      "role": "secondary",
      "group": "secondary",
      "table": null,
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "participants": 30,
      "mean_pp": -0.722222222222221,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval",
          "bounds": [
            -3.027777777777775,
            1.4722222222222259
          ],
          "reading": "unresolved",
          "governs": true
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "descriptive": true,
      "pages": [],
      "pair_with": []
    },
    {
      "id": "E2/P/sleep-scalp/csp-lda-ovr-minus-eegnet",
      "experiment": "e2",
      "protocol": "sleep-scalp",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "label": "CSP+LDA (one-vs-rest CSP)",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 20,
      "mean_pp": -6.433333333333333,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -9.333333333333334,
            -3.333333333333335
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -10.80375,
            -1.5000000000000007
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/sleep-scalp/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/sleep-scalp/deep4net-minus-eegnet",
      "experiment": "e2",
      "protocol": "sleep-scalp",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 20,
      "mean_pp": -11.299999999999999,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -13.566666666666663,
            -9.0
          ],
          "reading": "lower",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -14.737083333333334,
            -7.829583333333358
          ],
          "reading": "lower",
          "governs": false
        }
      ],
      "reading": "lower",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/sleep-scalp/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/P/sleep-scalp/shallowfbcspnet-minus-eegnet",
      "experiment": "e2",
      "protocol": "sleep-scalp",
      "role": "primary",
      "group": "primary",
      "table": "vs-eegnet",
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "participants": 20,
      "mean_pp": -1.5666666666666667,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval, unadjusted",
          "bounds": [
            -3.434166666666668,
            0.366666666666666
          ],
          "reading": "unresolved",
          "governs": true
        },
        {
          "level": 0.9972222222222222,
          "adjustment": "Bonferroni over 18",
          "label": "Bonferroni interval over 18 contrasts",
          "bounds": [
            -4.666666666666667,
            1.503749999999977
          ],
          "reading": "unresolved",
          "governs": false
        }
      ],
      "reading": "unresolved",
      "reading_level": 0.95,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/sleep-scalp/"
      ],
      "pair_with": []
    },
    {
      "id": "E2/S/sleep-scalp/shallowfbcspnet-minus-deep4net",
      "experiment": "e2",
      "protocol": "sleep-scalp",
      "role": "secondary",
      "group": "secondary",
      "table": null,
      "left": {
        "method": "shallowfbcspnet",
        "name": "ShallowFBCSPNet",
        "label": "ShallowFBCSPNet",
        "file": "core-matrix-20261106.json"
      },
      "right": {
        "method": "deep4net",
        "name": "Deep4Net",
        "label": "Deep4Net",
        "file": "core-matrix-20261106.json"
      },
      "participants": 20,
      "mean_pp": 9.733333333333333,
      "interval_method": "paired participant bootstrap, 10,000 draws",
      "intervals": [
        {
          "level": 0.95,
          "adjustment": "none",
          "label": "95% interval",
          "bounds": [
            6.966666666666665,
            12.666666666666664
          ],
          "reading": "higher",
          "governs": true
        }
      ],
      "reading": "higher",
      "reading_level": 0.95,
      "descriptive": true,
      "pages": [],
      "pair_with": []
    }
  ],
  "sensitivity": [
    {
      "experiment": "e5",
      "protocol": "mi-rest",
      "method": "ts-lr",
      "name": "TS+LR",
      "arm": "raw",
      "label": "TS+LR · OAS · raw",
      "role": "sensitivity",
      "subjects": 10,
      "balanced_accuracy_pct": 54.41666666666666,
      "interval_95_pct": [
        51.083333333333336,
        57.91666666666666
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "macro_f1": 0.47293826806935096,
      "pages": [
        "/methods/riemannian/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "mi-rest",
      "method": "ts-lr",
      "name": "TS+LR",
      "arm": "bp8-32",
      "label": "TS+LR · OAS · 8–32 Hz",
      "role": "sensitivity",
      "subjects": 10,
      "balanced_accuracy_pct": 60.083333333333336,
      "interval_95_pct": [
        54.83333333333334,
        65.58333333333334
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "macro_f1": 0.5303159494563304,
      "pages": [
        "/methods/riemannian/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "mi-rest",
      "method": "mdm",
      "name": "MDM",
      "arm": "raw",
      "label": "MDM · OAS · raw",
      "role": "sensitivity",
      "subjects": 10,
      "balanced_accuracy_pct": 52.0,
      "interval_95_pct": [
        50.5,
        53.66666666666667
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "macro_f1": 0.4384975101310328,
      "pages": [
        "/methods/riemannian/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "mi-rest",
      "method": "mdm",
      "name": "MDM",
      "arm": "bp8-32",
      "label": "MDM · OAS · 8–32 Hz",
      "role": "sensitivity",
      "subjects": 10,
      "balanced_accuracy_pct": 55.99999999999999,
      "interval_95_pct": [
        52.083333333333336,
        60.58333333333332
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "macro_f1": 0.4598486348129905,
      "pages": [
        "/methods/riemannian/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "method": "ts-lr",
      "name": "TS+LR",
      "arm": "raw",
      "label": "TS+LR · OAS · raw",
      "role": "sensitivity",
      "subjects": 36,
      "balanced_accuracy_pct": 63.10185185185184,
      "interval_95_pct": [
        57.54513888888889,
        68.70370370370371
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "macro_f1": 0.5802265481568111,
      "pages": [
        "/methods/riemannian/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "arithmetic-rest",
      "method": "mdm",
      "name": "MDM",
      "arm": "raw",
      "label": "MDM · OAS · raw",
      "role": "sensitivity",
      "subjects": 36,
      "balanced_accuracy_pct": 70.74074074074075,
      "interval_95_pct": [
        63.055555555555564,
        78.19444444444446
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "macro_f1": 0.6669460057982355,
      "pages": [
        "/methods/riemannian/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "p300-target",
      "method": "xdawncov-ts-lr",
      "name": "XDAWNCov+TS+LR",
      "arm": "raw",
      "label": "XDAWNCov+TS+LR · 4 filters · raw",
      "role": "sensitivity",
      "subjects": 21,
      "balanced_accuracy_pct": 60.71428571428571,
      "interval_95_pct": [
        57.658730158730144,
        63.571428571428555
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "macro_f1": 0.601843691465219,
      "pages": [
        "/methods/xdawn/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "p300-target",
      "method": "xdawn-lda",
      "name": "xDAWN+LDA",
      "arm": "raw",
      "label": "xDAWN+LDA · 4 filters · raw",
      "role": "sensitivity",
      "subjects": 21,
      "balanced_accuracy_pct": 58.928571428571416,
      "interval_95_pct": [
        56.26984126984128,
        61.5079365079365
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "macro_f1": 0.586411919776331,
      "pages": [
        "/methods/xdawn/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "semantic-target",
      "method": "xdawncov-ts-lr",
      "name": "XDAWNCov+TS+LR",
      "arm": "raw",
      "label": "XDAWNCov+TS+LR · 4 filters · raw",
      "role": "sensitivity",
      "subjects": 30,
      "balanced_accuracy_pct": 60.22222222222222,
      "interval_95_pct": [
        57.80555555555556,
        62.75
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "macro_f1": 0.5887639753709681,
      "pages": [
        "/methods/xdawn/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "semantic-target",
      "method": "xdawn-lda",
      "name": "xDAWN+LDA",
      "arm": "raw",
      "label": "xDAWN+LDA · 4 filters · raw",
      "role": "sensitivity",
      "subjects": 30,
      "balanced_accuracy_pct": 54.61111111111111,
      "interval_95_pct": [
        52.91666666666666,
        56.361111111111114
      ],
      "interval_method": "participant bootstrap, 10,000 draws",
      "macro_f1": 0.5416789761109346,
      "pages": [
        "/methods/xdawn/"
      ]
    }
  ],
  "idle_count_differences": [
    {
      "experiment": "e5",
      "protocol": "idle",
      "method": "ts-lr",
      "name": "TS+LR",
      "versus": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "idle_false_trigger_trials_difference": 4,
      "mi_detected_trials_difference": 20,
      "unit": "summed test trials over the cohort",
      "interval": null,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/idle/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "idle",
      "method": "ts-lr",
      "name": "TS+LR",
      "versus": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "file": "experiments.json"
      },
      "idle_false_trigger_trials_difference": 4,
      "mi_detected_trials_difference": 7,
      "unit": "summed test trials over the cohort",
      "interval": null,
      "comparator_label": "against the published CSP+LDA idle row (deterministic)",
      "pages": [
        "/protocols/idle/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "idle",
      "method": "mdm",
      "name": "MDM",
      "versus": {
        "method": "eegnet",
        "name": "EEGNet",
        "file": "experiments.json"
      },
      "idle_false_trigger_trials_difference": 1,
      "mi_detected_trials_difference": 20,
      "unit": "summed test trials over the cohort",
      "interval": null,
      "comparator_label": "against the matrix's one-seed EEGNet cell; training variance not included",
      "pages": [
        "/protocols/idle/"
      ]
    },
    {
      "experiment": "e5",
      "protocol": "idle",
      "method": "mdm",
      "name": "MDM",
      "versus": {
        "method": "csp-lda",
        "name": "CSP+LDA",
        "file": "experiments.json"
      },
      "idle_false_trigger_trials_difference": 1,
      "mi_detected_trials_difference": 7,
      "unit": "summed test trials over the cohort",
      "interval": null,
      "comparator_label": "against the published CSP+LDA idle row (deterministic)",
      "pages": [
        "/protocols/idle/"
      ]
    }
  ],
  "rounding": {
    "rule": "exact value rounded half away from zero at the printed precision",
    "helper": "pipeline/publication/site_rounding.py",
    "helper_sha256": "1aaf37e466d56c55d5737233f6f989276119e4f9da351110251bb026cb8f4c9b",
    "formats": {
      "balanced_accuracy_pct": "pct1raw",
      "interval_95_pct": "pct1raw",
      "macro_f1": "num3",
      "mean_pp": "ppr1",
      "bounds": "bnd1",
      "idle_pct": "pct1raw",
      "chance_pct": "pct1raw"
    },
    "ties": [
      {
        "field": "tracks[mi-rest].rows[mdm].interval_95_pct[0]",
        "source": "e5",
        "value": 50.75,
        "fmt": "pct1raw",
        "prints": "50.8%",
        "unsnapped": 50.75000000000001
      },
      {
        "field": "tracks[beta-8ch].rows[deep4net].balanced_accuracy_pct",
        "source": "e2",
        "value": 52.75,
        "fmt": "pct1raw",
        "prints": "52.8%",
        "unsnapped": 52.75000000000001
      },
      {
        "field": "contrasts[E5/S13].intervals[0.95].bounds[1]",
        "source": "e5",
        "value": 16.75,
        "fmt": "bnd1",
        "prints": "16.8"
      },
      {
        "field": "contrasts[E5/S14].intervals[0.95].bounds[0]",
        "source": "e5",
        "value": 3.75,
        "fmt": "bnd1",
        "prints": "3.8"
      },
      {
        "field": "contrasts[E5/S16].intervals[0.95].bounds[0]",
        "source": "e5",
        "value": 3.25,
        "fmt": "bnd1",
        "prints": "3.3"
      },
      {
        "field": "contrasts[E5/S16].intervals[0.95].bounds[1]",
        "source": "e5",
        "value": 10.75,
        "fmt": "bnd1",
        "prints": "10.8",
        "unsnapped": 10.750000000000002
      },
      {
        "field": "contrasts[E5/S16].mean_pp",
        "source": "e5",
        "value": 6.75,
        "fmt": "ppr1",
        "prints": "+6.8 pp",
        "unsnapped": 6.750000000000002
      },
      {
        "field": "contrasts[E5/S23].intervals[0.95].bounds[0]",
        "source": "e5",
        "value": 0.25,
        "fmt": "bnd1",
        "prints": "0.3",
        "unsnapped": 0.24999999999999806
      },
      {
        "field": "contrasts[E5/S32].intervals[0.95].bounds[1]",
        "source": "e5",
        "value": 6.25,
        "fmt": "bnd1",
        "prints": "6.3",
        "unsnapped": 6.249999999999998
      },
      {
        "field": "contrasts[E5/S34].intervals[0.95].bounds[1]",
        "source": "e5",
        "value": -0.75,
        "fmt": "bnd1",
        "prints": "−0.8",
        "unsnapped": -0.7499999999999994
      },
      {
        "field": "contrasts[E5/P2].mean_pp",
        "source": "e5",
        "value": 8.75,
        "fmt": "ppr1",
        "prints": "+8.8 pp",
        "unsnapped": 8.750000000000004
      },
      {
        "field": "contrasts[E5/S3].intervals[0.95].bounds[1]",
        "source": "e5",
        "value": 3.75,
        "fmt": "bnd1",
        "prints": "3.8",
        "unsnapped": 3.7500000000000018
      },
      {
        "field": "contrasts[E5/P4].mean_pp",
        "source": "e5",
        "value": 9.25,
        "fmt": "ppr1",
        "prints": "+9.3 pp"
      },
      {
        "field": "contrasts[E5/S12].intervals[0.95].bounds[1]",
        "source": "e5",
        "value": 7.75,
        "fmt": "bnd1",
        "prints": "7.8",
        "unsnapped": 7.749999999999999
      },
      {
        "field": "contrasts[E5/S39].intervals[0.95].bounds[0]",
        "source": "e5",
        "value": -1.25,
        "fmt": "bnd1",
        "prints": "−1.3",
        "unsnapped": -1.2499999999999991
      },
      {
        "field": "contrasts[E5/S44].intervals[0.95].bounds[1]",
        "source": "e5",
        "value": 5.25,
        "fmt": "bnd1",
        "prints": "5.3",
        "unsnapped": 5.249999999999999
      },
      {
        "field": "contrasts[E2/P/mi-rest/deep4net-minus-eegnet].intervals[0.95].bounds[0]",
        "source": "e2",
        "value": -6.75,
        "fmt": "bnd1",
        "prints": "−6.8"
      },
      {
        "field": "contrasts[E2/S/mi-rest/shallowfbcspnet-minus-deep4net].intervals[0.95].bounds[0]",
        "source": "e2",
        "value": -6.75,
        "fmt": "bnd1",
        "prints": "−6.8"
      },
      {
        "field": "contrasts[E2/S/mi-rest/shallowfbcspnet-minus-deep4net].mean_pp",
        "source": "e2",
        "value": 0.25,
        "fmt": "ppr1",
        "prints": "+0.3 pp",
        "unsnapped": 0.25000000000000133
      },
      {
        "field": "contrasts[E2/P/semantic-target/csp-lda-minus-eegnet].mean_pp",
        "source": "e2",
        "value": -8.75,
        "fmt": "ppr1",
        "prints": "−8.8 pp",
        "unsnapped": -8.749999999999998
      },
      {
        "field": "sensitivity[semantic-target/xdawncov-ts-lr/raw].interval_95_pct[1]",
        "source": "e5",
        "value": 62.75,
        "fmt": "pct1raw",
        "prints": "62.8%",
        "unsnapped": 62.75000000000001
      }
    ]
  },
  "not_published": [
    "Values per person, per participant identifier, per fold, per trial or per window: predictions, decision scores, correlations, probabilities, confusion matrices, idle thresholds and idle counts by person.",
    "Per-sub-band or per-frequency values; fitted xDAWN filters, prototypes, covariance reference points and logistic-regression or LDA coefficients; trained network states, CSP filters and LDA weights.",
    "Counts of people meeting a criterion: the idle rows print the cohort size of four as a protocol fact and leave the abstain count empty.",
    "Per-seed values and seed ranges: each network cell is one training run with the matrix seed.",
    "The idle mean test-window AUROC.",
    "Run facts: timings, memory, condition numbers, machine and environment details; the seconds field is empty for every row of this file.",
    "Bridge reproductions as results, and synthetic smoke-test numbers.",
    "The Bonferroni-width intervals of the seven ShallowFBCSPNet − Deep4Net contrasts, which are descriptive and outside the family.",
    "Sensitivity arms as matrix rows; contrasts outside the reviewed sets; results outside these designs (other windows, other electrode sets, duration groups).",
    "Private storage locations and machine names."
  ],
  "release_record": {
    "date": "2026-11-06",
    "decided": "2026-11-06",
    "decision": "Publish the rows run under the core matrix’s exact protocols in a dated file of their own: FBCCA on both BETA protocols; TS+LR, MDM, xDAWN+LDA and XDAWNCov+TS+LR on their core protocols and idle; ShallowFBCSPNet, Deep4Net and CSP+LDA in the blank cells; with the paired differences their reviews approved and every cell marked released, in this file, not applicable or not run.",
    "rights": "The seven core datasets keep their released records and terms; nothing was downloaded. pyRiemann 0.12, MNE, scikit-learn, braindecode, SciPy and NumPy are BSD-3-Clause or BSD-family; no weights are distributed.",
    "credits": [
      "FBCCA: Chen, Wang, Gao, Jung and Gao, J. Neural Eng. 12(4):046008, 2015; sub-band edges, orders and ripple follow Masaki Nakanishi’s TRCA-SSVEP src/filterbank.m (MIT, revision 35c1b8a7ebfa3774dd7266931784d04ae09f3461), with the MIT notice kept beside the code; the implementation is this project’s own SciPy realisation.",
      "TS+LR and MDM: Barachant, Bonnet, Congedo and Jutten, IEEE TBME 2012 and Neurocomputing 2013; xDAWN: Rivet, Souloumiac, Attina and Gibert, IEEE TBME 2009; XDAWNCov: Barachant and Congedo 2014; OAS: Chen, Wiesel, Eldar and Hero, IEEE TSP 2010; Ledoit and Wolf 2004; MOABB reference pipelines (BSD-3-Clause), Jayaram and Barachant, J. Neural Eng. 2018, read for citation and not executed; pyRiemann 0.12 (BSD-3-Clause).",
      "ShallowFBCSPNet and Deep4Net: Schirrmeister et al., Human Brain Mapping 2017, via braindecode (BSD-3-Clause); CSP+LDA: Ramoser, Müller-Gerking and Pfurtscheller, IEEE Trans. Rehabil. Eng. 2000, via MNE and scikit-learn."
    ]
  },
  "provenance": {
    "manifest_sha256": "95d46dacd51131e437679bda84d034103bd1f5ff03630f1532bc9b490da34a00",
    "export_audit": "research/publication_review_20261106/core-matrix-export-audit.json",
    "source_sha256": {
      "e1": {
        "protocol": "e4aa044b2cae88f9fe7815c4ab4e83d79ff740b1c6525e046ca86f45cbe7a698",
        "freeze": "6848540888c166a12a3da86c3c9105e830aa87ce342f18aea9803c7711758adb",
        "inputs": "03b5721a9d38282bde9602a3564970d99ffe0d5fa621444c73fa601bad00add8",
        "aggregate": "bc4b9fc61e7dfa98b728de71b7ec5696351e0066ad21b54ace5c024e8aaf9f6d",
        "seal": "fd6e958330c90977840ca4baf26e30292017871523821cac6da3cb6cb4fcab5e",
        "run_receipt": "9ad1c79b8fd42390bbb8d7e2314e128e4ebd7be50590198d840e3ac89c4f5e11",
        "audit": "66b5815b8c42bc9383af7db706a67a12fddb21c99448b36668ca74203090458e",
        "pre_execution_review": "5516a0fc5920a45311ec0cac1b84666a1752105bfff21687825642a6964ec247",
        "interpretation_review": "24b723b697cf0367ce741b51a290893a443e1a0d5e847ed75d2e4f5794a3131a",
        "results_handoff": "303f2950d8ea7591d07e2b392bae09026995bad0326dbb8d03a0946d56d94506",
        "run_handoff": "cf14ecb1c73c4f4c489ecf0a597a3154608c3f1715479bdb9517ae57853fd9ac"
      },
      "e5": {
        "protocol": "4310329a2d6dddaeff64a965750b64237b08220fc23717b1f3d0c1a48f56b055",
        "freeze": "a225e006b4330780407dc4696d9b9fc93bb8be3caa99e45e96d0e63ffdf5ecf0",
        "inputs": "171fc505e611cd52987e6aae0a3dfd93dc67e5d111a0c7797013eeab627fdd32",
        "aggregate": "06e580882ac056ec20d469b42135911069460200c29d9222cc2362e60db2c3b5",
        "aggregate_core": "cd0fa63d1e0609f2c4a94a34bc15e567de6788986424201fc40e67b1bb45a665",
        "aggregate_idle": "bd4200ee09a28b792f53dc10352aa4cd72936468c59bb9ae7d2fb55a7313156c",
        "seal": "2ba7294973c6c74b033476f9a656acda5fe53c72035eebc34df7b8aaf2ad841b",
        "audit": "ce1ee2a0345358c613aa89298c1cb90939df15d68d6c48298b99f9daa7f69e82",
        "pre_execution_review": "ebe162219efe93f5a87fc9a9e97e84cb1b45452aefbe2d64c2307b7bcfebedc7",
        "interpretation_review": "1e09db086197eeb2f4b0ee8ed516c66a09b873f69391bb011b19bde2be975158",
        "results_handoff": "353e8adf9061065d6a0254387103a46331f2685dce3713c53c4c57c88d15e7d5",
        "run_handoff": "a49c0aaccbbb1a99b81d7f32e20be1a0259a6a4b470f255e7b8d567b97e5ba06"
      },
      "e2": {
        "protocol": "a216bfac4ce6dd11c63d499b58bc93aebb89025168911b5d7d7fe265a866da4c",
        "freeze": "8bd662f9c5b754a107e87034d3787b962e04577d6e8325d4ecbb1416a8237a30",
        "inputs": "a823fa42d7a9b203c0ca8d08acf668c22564ebcfcbb82f4692184f03bed798c3",
        "aggregate": "32edb13a6dc5622534d9c8e959aa47339cf4c71982844e4623d1f2377f434d25",
        "seal": "3a9586fbcb51fee04b2166fc5efb83f2ec148403eb2b839b075fb0f8489183e7",
        "audit": "f5a1c3dab4a7e265fa3413ada48edc89b9fd4ac98ab7dc0d0f9279761e7e0a9e",
        "pre_execution_review": "f4fc902a60185ff3d4166fb4e4dba1945fd5e1ca119ea2c1374770524d6cea26",
        "interpretation_review": "7c92c377f7ed0a444f02e28a89f5dea969882501cc5f1dd4ee2bc6bbb18e6f51",
        "results_handoff": "a381526b7a8148da6cb208611a2d3ec94f252f169d844015f49b48e4478c7535"
      }
    },
    "released_inputs_sha256": {
      "arithmetic-rest-protocol.json": "a2d8a9f182916b1ae611b163d65b3b7184bdbf79e4fa39ee47e778c02c301c6b",
      "arithmetic-rest-results.csv": "bed02323936f2980eac7bf3a8e8b2595630fa1609c1466600d33acc2f83928dc",
      "beta-4ch-protocol.json": "749d13951729e00935724fce9b790e8f23978e3290a9dd9df6e5a276736e69a1",
      "beta-4ch-results.csv": "9ffe23197b77eda5f08dca476f66197c2da77f198ce8dd35dfd0df972a24082d",
      "beta-8ch-protocol.json": "ac384c95a33d068d38c37cafae7788331f37f5be5a296bfa01d056daf5590426",
      "beta-8ch-results.csv": "01a11e0ba22ea726158c936ff66a7e60f8704641a6e8f11d5c83f25d87fd3125",
      "experiments.json": "113de335c17043bd9f720cf6e46663ff8bb2a11ddedaa49282765ed732807cd0",
      "idle-protocol.json": "f648b56dfb1d030170440884ac66106ef369c7df8d27040c3bd8d985fc1f0ee8",
      "idle-results.csv": "d511d329755caf81109305a78e416a2650e84ee03f0fa965c34d3e8220796d81",
      "mi-rest-protocol.json": "1c8af89bad4fe60b5afa21635802651395311b5dbca02d1f33717d6cef4fbc65",
      "mi-rest-results.csv": "50f0eef66b1d36314c5ec4a01028a30c58e2ff88ebac08325ee0b6c4158a19cf",
      "p300-target-protocol.json": "ba94ddcd7e8fb925d97ebfd7c0418b69e02d75a1b6135a9be0e058b0a7dfaee9",
      "p300-target-results.csv": "6cd242313b592d37be2c1e6af2fd8524f612010547a143c84948a6f03a7a852d",
      "semantic-target-protocol.json": "b6c5a380596148ecfdd5bc98b2799c12dd5ceec0623c9ebdb8a711ee01fb7653",
      "semantic-target-results.csv": "b4baad3795b5512a033609512c90055894caf915b62c9c303fd77310d98caaaa",
      "sleep-scalp-protocol.json": "6cf58be78f646b20f2ff9a7a9c0beadee4bfd24b9046ac68dc5f68afb2282036",
      "sleep-scalp-results.csv": "55be9dc880b0c620f9dfba3f97c885e50645db0984de2b7d3c10a380fc9db32d"
    },
    "owner_decisions_sha256": "8b9c29dd72ca9720aa5622432db8ea975d745ac49b247266092ac2a831b7837e",
    "rounding_helper_sha256": "1aaf37e466d56c55d5737233f6f989276119e4f9da351110251bb026cb8f4c9b"
  }
}
