Scope
Engine-level end-to-end coverage: run a real fixture through the full
DocumentPipeline::run_full body — extraction → detection → dedup →
redaction → validation → export — and assert the final audit record
and redacted bytes. This is the engine's regression net for the
per-modality pipeline shape.
The toolkit-only round-trip (decode → analyze → anonymize → encode,
without audit/export/validation) is tracked separately in the elide repo
(nvisycom/elide), since that layer lives there now.
What this issue becomes
Per-modality tests/pipeline_*.rs integration tests in nvisy-engine:
pipeline_text.rs — TXT/JSON/HTML/PDF-text fixture → run pipeline →
assert detected entities, applied redactions, redacted bytes, and the
emitted audit record
pipeline_tabular.rs — CSV/XLSX fixture, same shape
pipeline_image.rs — PNG/PDF-image fixture with the noop OCR backend →
assert the pipeline runs through to export; expand once a real OCR
backend lands
pipeline_audio.rs — WAV/MP3 fixture, noop STT path
Each test covers both the dry-run and full-apply paths. Lean on noop
backends to stay hermetic.
Scope when implemented
crates/nvisy-engine/tests/pipeline_text.rs (+ tabular/image/audio siblings)
- Per-test fixtures under
crates/nvisy-engine/tests/fixtures/
- Use the existing
EngineInput workflow shape
Scope
Engine-level end-to-end coverage: run a real fixture through the full
DocumentPipeline::run_fullbody — extraction → detection → dedup →redaction → validation → export — and assert the final audit record
and redacted bytes. This is the engine's regression net for the
per-modality pipeline shape.
The toolkit-only round-trip (decode → analyze → anonymize → encode,
without audit/export/validation) is tracked separately in the elide repo
(nvisycom/elide), since that layer lives there now.
What this issue becomes
Per-modality
tests/pipeline_*.rsintegration tests innvisy-engine:pipeline_text.rs— TXT/JSON/HTML/PDF-text fixture → run pipeline →assert detected entities, applied redactions, redacted bytes, and the
emitted audit record
pipeline_tabular.rs— CSV/XLSX fixture, same shapepipeline_image.rs— PNG/PDF-image fixture with the noop OCR backend →assert the pipeline runs through to export; expand once a real OCR
backend lands
pipeline_audio.rs— WAV/MP3 fixture, noop STT pathEach test covers both the dry-run and full-apply paths. Lean on noop
backends to stay hermetic.
Scope when implemented
crates/nvisy-engine/tests/pipeline_text.rs(+ tabular/image/audio siblings)crates/nvisy-engine/tests/fixtures/EngineInputworkflow shape