Preprocessing Audit Log
"Data were transformed prior to analysis" - five words that tell a reviewer almost nothing. Licklider's Preprocessing Audit Log preserves the preprocessing record used for export review: what kind of action was applied, which columns were affected, and summary counts of changed cells and excluded rows. This record is retained in the export package and referenced during disclosure checks - not displayed as a full per-operation parameter list.
STEP 1 - The Pitfall: What Goes Undocumented
In a typical analysis workflow, a researcher applies preprocessing before generating a figure: they impute missing values, winsorize extreme observations, exclude outlier rows, or apply a log transform to a right-skewed outcome. Each of these choices materially affects the output.
The problem is not only forgetting whether preprocessing happened. The bigger risk is forgetting what was actually kept, excluded, or transformed by the time the manuscript is written weeks later.
- Imputation strategy misremembered. The manuscript says "mean imputation," but the workflow actually used a different missing-value strategy during the final run.
- Transformation order forgotten. Whether outlier exclusion preceded or followed a log transform changes the result, but that ordering is rarely reconstructed accurately from memory.
- Parameter drift. A winsorize threshold chosen during exploration may differ from the one used in the final figure unless the preprocessing record is preserved.
STEP 2 - Journal Requirement
Reproducibility standards do not require a particular JSON filename. They require that a knowledgeable reader can understand what preprocessing affected the figure and what must still be disclosed before claim-bearing output is used.
In practice, that means preserving enough structured evidence to answer questions such as:
- Was missing data imputed, dropped, or left unchanged?
- Were outliers winsorized, excluded, or only flagged?
- Was a log transform or normalization (z-score, min-max) applied before the figure was generated?
- Does the current figure still require preprocessing disclosure before export?
STEP 3 - Licklider's Solution
Input
- Implemented preprocessing actions applied through Licklider, including missing-value handling (
missing.*), outlier handling (outlier.*), log transformation (transform.log), normalization (transform.normalize, including z-score and min-max scaling), and wide-to-long reshaping (reshape.wide_to_long). - No extra setup is required. These actions are carried into the figure's preprocessing summary and disclosure checks as the workflow moves toward export.
Output
- Captured preprocessing summary. Export-facing metadata records the missing-value strategy, outlier handling mode, changed-row or changed-cell counts, warnings, issues, and recovery notes for the current figure generation.
- Disclosure snapshot. The export guard derives whether imputation, outlier removal, winsorization, log transformation, or related preprocessing must be disclosed before claim-bearing export can proceed.
- Reviewable Methods draft. The preprocessing record contributes to the Methods and legend drafts accessible through the Figure Inspector. These drafts are labeled "[Draft / Needs review]" and are tied to the current figure state. Researchers should review and edit them before use in a manuscript.
- Machine-readable report. The reproducibility bundle includes
preprocess_report.json, which stores summary, issues, warnings, recovery guidance, and counts for computational archiving.
Guard
Guard condition: If preprocessing is detected for a figure but the corresponding disclosure state is still unresolved, claim-bearing export is blocked until the researcher marks that preprocessing as disclosed or keeps the output exploratory-only.
This guard is about disclosure completeness, not the existence of a separate append-only log file. Licklider compares the figure's current preprocessing signals with the current disclosure selections and refuses claim-bearing export while that mismatch remains unresolved.
STEP 4 - Reviewable Draft Output
The following text illustrates the kind of preprocessing draft Licklider assembles from the captured preprocessing record. Researchers should review and edit it before using it in a manuscript.
Example draft: Log transform + winsorization
[Draft / Needs review] Prior to analysis, tumor volume measurements (mm3)
were winsorized (2 cells adjusted) and log-transformed using the natural
logarithm. Confirm that these preprocessing
choices should remain disclosed in the manuscript-facing output. Example draft: Z-score normalization
[Draft / Needs review] Prior to analysis, the outcome variable was
z-score normalized (mean-centered and scaled to unit variance).
Confirm that this normalization step should remain disclosed in the
manuscript-facing output. Example draft: Mean imputation for missing values
[Draft / Needs review] Missing values were imputed in the outcome
column (3 cells) and baseline column (1 cell). Review whether the chosen
imputation strategy and any accompanying sensitivity analysis should be
described explicitly in the final Methods text.