A reviewer's reference for laboratory proof runs.
Use this page to verify the preview behavior around normalization, exceptions, redacted examples, and human review. It is an acceptance reference for a proof run—not a compliance guarantee, validation decision, or substitute for the laboratory's existing tools.
Data: synthetic or fully redacted only.
Purpose: a QC and reporting preview for review.
Workflow: Runwisp stays alongside existing laboratory tools.
01 / Normalization accuracy
Make the source legible without hiding what changed.
| Profile | Required expectations | Canonical context |
|---|---|---|
| Named-method export | Method, instrument, batch, measurement, units, status | Optional reviewer notes can travel with the row. |
| Wide-instrument export | Sample ID, analyte, result, units, analysis date, QC flag | Instrument exports must also satisfy the recency check. |
02 / Error flags
Every exception should tell a reviewer what to inspect next.
Redaction
Sensitive-looking headers or values, or missing proof of redaction.
Qualification
Attestation or recency conditions that prevent the run from qualifying.
Format
Malformed CSV, ambiguous headers, unsupported layout, or extra values.
Validation
A required value, result, date, or QC flag fails row-level validation.
Recency
A wide-instrument export is older than the 90-day acceptance threshold.
| Condition | Expected flag or action | Outcome |
|---|---|---|
| Required value is blank | Flag the field as validation; do not accept the row. | Review |
| Header is missing, duplicated, or maps to more than one canonical field | Flag the mapping as format; do not qualify the run. | Review |
| Columns do not match a named-method or wide-instrument profile | Flag unsupported layout as format; request a corrected export. | Review |
| Malformed CSV quoting, delimiters, or line structure | Flag malformed CSV as format; no row-level acceptance. | Review |
| A row contains more values than the header defines | Flag extra row values as format; rerun after source correction. | Review |
| Result is not numeric, such as “trace” or “n/a” | Flag result as validation, retain the original value for review, and reject the row; proof qualification is evaluated separately. | Review |
| Date is impossible or unsupported, such as 02/31/2026 | Flag analysis date as validation, emit no normalized date, and reject the row; proof qualification is evaluated separately. | Review |
| QC flag is unknown, such as “maybe” | Flag QC flag as validation, do not infer pass or fail, and reject the row; proof qualification is evaluated separately. | Review |
| The file parses but contains zero data rows | Flag zero data rows as format; the run is not qualified. | Review |
| Wide-instrument export is more than 90 days old | Flag recency; human review is required even if rows normalize. | Review |
Qualification boundary: a row-level validation exception is different from proof qualification. Missing attestation, redaction, qualification, format, or recency exceptions prevent qualification even when some rows normalize successfully.
03 / Representative redacted inputs
Use fixtures that prove the path without exposing laboratory data.
Sample ID,Analyte,Result,Units,Analysis Date,QC Flag
LAB-001,AN-204,0.004,mg/L,2026-08-14,pass
LAB-002,AN-204,<0.001,mg/L,08/15/2026,accepted
LAB-003,AN-204,4.2e-3,mg/L,2026-08-16,okMethod,Instrument,Batch,Measurement,Units,Status,Reviewer Notes
EPA-204.2,INST-SYN-01,BATCH-26-001,0.004,mg/L,passed,synthetic control
EPA-204.2,INST-SYN-01,BATCH-26-001,0.006,mg/L,failed,inspect control contextExample 01
Redacted input / CSV
Method,Instrument,Batch,Control,Result,Analysis Date,Status
M-204,INST-SYN-01,BATCH-26-001,LAB-001,0.004,2026-08-14,pass
M-204,INST-SYN-01,BATCH-26-001,AN-204,<0.001,08/15/2026,accepted
M-204,INST-SYN-01,BATCH-26-001,AN-204,4.2e-3,2026-08-16,okExpected normalized result
valid: true
rowsAccepted: 3
reviewFlags: []
method: M-204
instrument: INST-SYN-01
batch: BATCH-26-001
control: LAB-001 | AN-204 | AN-204
result: 0.004 | <0.001 | 4.2e-3
date: 2026-08-14 | 2026-08-15 | 2026-08-16
status: pass | pass | passReviewer outcome
Confirm the canonical dates preserve the source values and the “<” qualifier remains visible. No exception is emitted.
Example 02
Redacted input / CSV
Method,Instrument,Batch,Result,Analysis Date,Status
M-204,INST-SYN-01,BATCH-26-001,trace,2026-08-14,passExpected flagged result
valid: false
validation: result must be numeric
method: M-204
instrument: INST-SYN-01
batch: BATCH-26-001
original.result: trace
normalized.result: omitted
normalized.status: pass
rowAccepted: falseReviewer outcome
Correct the source value or document the source context. Other valid rows may still be counted; a row error does not by itself claim the entire proof run is blocked.
Example 03
Redacted input / CSV
Method,Instrument,Batch,Result,Analysis Date,Status
M-204,INST-SYN-01,BATCH-26-001,0.006,2026-08-14,rejectedExpected normalized result
valid: true
method: M-204
instrument: INST-SYN-01
batch: BATCH-26-001
result: 0.006
date: 2026-08-14
normalized.status: fail
reviewFlags: [qc-fail]
rowAccepted: true
qualification: held for human review; not blocked by row validationReviewer outcome
Inspect the control record and source context, then decide whether the proof remains qualified. Normalization does not convert fail or rejected into pass.
| Fixture | Input | Expected flag/category | Proof-level outcome |
|---|---|---|---|
| Blank required value | LAB-001,AN-204,,0.004,2026-08-14,pass | validation / batch is required | Row rejected; proof qualification evaluated separately |
| Non-numeric result | LAB-001,AN-204,BATCH-26-001,trace,2026-08-14,pass | validation / result must be numeric | Row rejected; proof qualification evaluated separately |
| Invalid date | LAB-001,AN-204,BATCH-26-001,0.004,02/31/2026,pass | validation / analysis date is invalid | Row rejected; proof qualification evaluated separately |
| Unknown QC flag | LAB-001,AN-204,BATCH-26-001,0.004,2026-08-14,maybe | validation / QC flag is unknown | Row rejected; proof qualification evaluated separately |
| Duplicate header | Sample ID,Sample ID,Analyte,Result,Units,Analysis Date,QC Flag | format / ambiguous sample ID mapping | Run blocked; corrected mapping required |
| Sensitive-looking header/value | Patient Name,AN-204,BATCH-26-001,0.004,2026-08-14,pass | redaction / prohibited sensitive field detected | Run blocked; redaction required |
04 / Human-review triggers
A preview is useful when it makes the next human action obvious.
Row-level validation errors
Inspect the source row and correct or explain the input before rerunning.
Canonical QC status is fail
Treat the result as a human-review flag, never as an automatic acceptance.
Redaction finding or missing attestation
Stop qualification until the source is redacted and the attestation is present.
Missing, ambiguous, or unsupported mapping
Confirm the intended profile and correct the export or mapping context.
Malformed CSV or zero data rows
Repair the source file and rerun the proof; do not interpret an empty preview.
Missing recent-export attestation
Request the attestation before treating the proof as qualified.
Wide-instrument export older than 90 days
Review the source date and confirm whether a newer export is available.
Inspect
Check the source row, headers, and surrounding context.
Correct or explain
Resolve the input or document why the source is intentionally different.
Rerun
Run the proof again; do not promote a held preview to acceptance.
05 / Measurable acceptance checklist
Done means a reviewer can verify the behavior from the page alone.
Findable topics
A reviewer can locate normalization accuracy, error flags, redacted examples, and human-review triggers without reading source code.
Visible outcomes
Every listed fixture shows a normalized value or exact flag/category and a pass or review outcome.
Measurable limits
The page states total rows = valid rows + invalid rows, an 8-row preview cap, a 20-exception cap, and a 90-day recency threshold.
Safe examples
Examples use synthetic or redacted data only and explicitly prohibit names, emails, phone numbers, accession numbers, and secrets.
Reachable and readable
The route is linked from the public footer, has canonical metadata, and remains readable on narrow screens with no API, auth, database, or module dependency.
Reference outcome
A proof run is review-ready only when the visible counts, flags, fixtures, attestations, and recency checks agree.
That agreement supports a focused human review. It does not make Runwisp the laboratory's validation authority or replace the tools and procedures already in use.
06 / Proof-run completion standard
Completion is an evidence gate, not a status shortcut.
Safe redaction confirmed
The proof uses synthetic or fully redacted data and the operator attested to it.
Recent export attested
The source export is confirmed to be recent enough for this proof review.
Supported file layout
The stored source profile matches a supported proof import layout.
At least one valid result
The stored preview contains a non-empty set of valid result rows.
Validation state is clear
No invalid rows or rejected/exception validation state remains on the run.
Every exception reviewed
Each stored exception has an operator disposition and required review note.
Required fixes resolved
An exception with a source correction hint is resolved, not merely reviewed.
Readiness evidence recorded
The linked pilot request has a durable evidence reference for readiness.
Transition readiness is ready
The linked pilot request is explicitly marked ready for transition.
Primary contact role verified
The operator has verified the primary contact role.
No proof-run exit blockers
The existing exit projection has no stop indicator or unresolved blocker.