BCINexus · Publishing
Publish readiness
One rule set, evaluated in three places: the desktop publish dialog before you submit, the study page on the web, and the server on the publish hop. They cannot drift, because they are the same code.
How the verdict is built
Each check contributes a weight to a completeness score out of 100 and lands in one of two severities. The result also carries a blocking-first to-do list, which is what the publish dialog renders.
| Level | Meaning |
|---|---|
| incomplete | At least one blocking issue. Publishing is refused. |
| needs_attention | Nothing blocking, but warnings remain. Publishing is allowed. |
| ready | No blocking issues and no warnings. |
Blocking is enforced server-side
The desktop dialog is a convenience, not the enforcement point. The publish transition re-runs the same evaluation on the server and refuses a publication that fails it. Only an administrator force-publish can override, and the override is recorded in the audit trail.
Blocking checks
These are the true minimum bar. Nothing publishes until every one of them is satisfied.
| Code | Issue | How to clear it |
|---|---|---|
title.missing | Title is required | Give the work a descriptive title of at least three characters. |
modality.missing | Signal modality is required | Set the modality (EEG, fNIRS, EMG, …) so the work is discoverable and comparable. |
task.missing | Task type is required | Set the task or paradigm — motor imagery, P300, classification, and so on. |
summary.missing | A summary is required | Write an abstract or description of at least 30 characters covering what was done and what was found. |
pipeline.missing | No pipeline content to publish | Attach at least one NeuralFlow, ML Suite, or Workflow definition — on the study or on an experiment. Studies only. |
version.missing | No dataset version uploaded | Upload at least one version. Datasets only. |
paradigm.missing | No paradigm attached | Attach the NeuralFlow paradigm describing the task and labels. Datasets only. |
authorship.pending | Required co-authors have not accepted | Wait for, or re-send, the outstanding authorship invitations. |
Warnings
Warnings never block. They are what separates a publication that exists from one another researcher can actually trust and reuse, and they carry most of the score.
| Code | Category | Issue | Why it matters |
|---|---|---|---|
license.missing | Metadata | No licence specified | Without a licence nobody knows how they may reuse the work. CC-BY-4.0 and MIT are the common choices. |
keywords.missing | Metadata | No keywords | Keywords drive search and discovery. |
byline.missing | Metadata | No author byline | A structured author list with affiliations and ORCID is what makes the work citable. |
affiliation.missing | Metadata | No institution or affiliation | Affiliations establish provenance and let work roll up to an institution. |
references.missing | Metadata | No references | Citing prior work situates the contribution. |
metrics.missing | Results | No reported metrics | No experiment reports training metrics or a headline result. |
report.missing | Results | No exported report | Export a report from an experiment so results can be checked without re-running anything. |
tables.missing | Results | No result tables | Structured tables make comparison and reuse easier. |
repro.missing | Reproducibility | No reproducibility stamp | A trained model was published with no manifest recording seed, versions, and hashes. |
repro.seed | Reproducibility | No random seed recorded | Stochastic training cannot be reproduced without the seed. |
repro.versions | Reproducibility | No software versions recorded | Record Python, NumPy, and framework versions. |
repro.split | Reproducibility | No data-split or leakage policy | Without a split or cross-validation policy, leakage cannot be ruled out. |
repro.hashes | Reproducibility | No artifact or config hashes | Content hashes pin the exact artifacts and config behind the numbers. |
repro.stats | Reproducibility | No statistical protocol or CI | A confidence interval, variance, or test is what makes a headline metric trustworthy. |
ethics.missing | Ethics | No research-ethics disclosure | Human-subjects work should state ethics approval, or state explicitly that none was required. |
consent.missing | Ethics | Consent not disclosed | State whether informed consent was obtained. |
dataset.missing | Dataset | No dataset description | Describe the data — origin, size, subjects — so results can be interpreted. Studies only. |
Checks that only apply sometimes
- Results and reproducibility checks are skipped for datasets — a raw upload was never meant to report training metrics.
- The four detailed reproducibility checks (seed, versions, split, hashes) are only assessed once a manifest exists. With no manifest at all you get the single
repro.missingwarning instead of five overlapping ones. - Ethics and consent checks fire for human-subject modalities. Synthetic, simulated, benchmark, and phantom data are exempt; an unspecified modality is treated as human-subjects, deliberately on the cautious side.
Getting to a clean score
- Clear the blocking list first — it is ordered that way for a reason.
- Licence and byline are cheap wins that unlock reuse and citation.
- Attach the reproducibility stamp produced at training time rather than writing one by hand; it already contains the seed, versions, and hashes.
- Report an interval or a test alongside a headline metric. A single accuracy number with no spread is the most common thing reviewers push back on.
Once readiness passes, submission is the next step — see publishing a study and how review works.
Something missing or out of date? Email support or request a doc page. Include the page name and what you expected to find.