feat: expose terminal failure locations - #861
Conversation
Add opt-in terminal failure capture for create and preview results, including zero-row generation errors. Surface early shutdown so callers can distinguish cancelled rows from attributable terminal failures. Closes #860 Signed-off-by: Andre Manoel <amanoel@nvidia.com>
|
Fern preview: https://nvidia-preview-pr-861.docs.buildwithfern.com/nemo/datadesigner
|
|
Thanks for putting this together, @andreatnvidia — the lightweight, opt-in shape is a good fit for callers that need omission provenance without retaining full task traces. SummaryThis adds typed terminal-failure locations to create, async create, preview, successful results, and zero-row errors, while preserving retry, skip, resume, and early-shutdown semantics. I reviewed the public contract, scheduler paths, interface plumbing, existing feedback, and documentation coverage, then ran the focused config/engine/interface tests plus Ruff checks. FindingsCritical — Let's fix this before merge
Suggestions — Take it or leave itDocument the new public result contract
What Looks Good
Residual RiskFocused validation passed: 328 tests, plus Ruff lint and formatting checks. The uncovered expression omission path is exercised by existing integration coverage, but that coverage does not enable or assert terminal-failure capture. VerdictNeeds changes — the public failure list is incomplete for a required class of terminal row omissions. This review was generated by an AI assistant. |
📋 Summary
Add an opt-in, lightweight terminal-failure locator for callers that need to reconcile omitted rows without enabling full task tracing. This supports merged Anonymizer pipelines while leaving the default generation path unchanged.
🔗 Related Issue
Closes #860
🔄 Changes
capture_terminal_failurestocreate(),acreate(), andpreview().(seed_row_index, column)terminal failures on successful results and zero-row generation errors.early_shutdownon successful results so callers can detect when cancelled rows have no truthful column attribution.🔍 Attention Areas
seed_row_indexis the requested generation-sequence position. It maps directly to the raw seed row only for compatible ordered seeding.terminal_failuresexcludes rows cancelled by global early shutdown. Callers should checkearly_shutdownbefore treating the list as complete.🧪 Testing
✅ Checklist