Developer Guide β Loss MappingΒΆ
When a target engine cannot express an IR field, we never drop it silently.
Loss-mapping workflowΒΆ
Exporter calls
loss.record(json_pointer, field, value, reason, origin)
At the end,
loss.write()
createsoutput.loss.json
side-car.Importer reads side-car and tries to reinject data; status becomes
reapplied
.
Schema excerptΒΆ
{
"json_pointer": "/tasks/align/resources/gpu",
"lost_value": 1,
"reason": "CWL ResourceRequirement has no GPU fields",
"severity": "warn",
"status": "lost"
}
CLI integrationΒΆ
--fail-on-loss
aborts if unresolved losses β₯ given severity.wf2wf validate
checks.loss.json
files.