Why raw tool output is returned unmodified¶
MES puts each tool's output in raw_output exactly as produced and never re-parses it (requirement MES-REQ-3-004). It labels the output with the tool, its version and its execution status, and nothing more.
Reasons¶
- Fidelity. Every extractor models files differently. Mapping them onto one schema loses information and invents agreement between tools that disagree. Disagreement is itself useful to a preservation specialist.
- Provenance. What the tool said is a fact; an interpretation is a claim. Keeping the first separate lets the archive re-interpret later without re-running the tool on a file that may no longer be available.
- Extensibility. A new tool needs an adapter that runs it, not a mapping into a shared model, so adding a tool stays small.
- Honest scope. MES is not a validator and does not judge conformance. The only thing it adds is an
error_categorieslabel per error, to spare callers from parsing free text; the original messages stay unchanged inerrors.
Consequence¶
Consumers must handle each tool's format themselves (raw_output_format tells them which). Normalising the output is a job for a downstream component.