feat(rewrite): add conditional combined workflow - #240
Draft
andreatnvidia wants to merge 3 commits into
Draft
Conversation
Refs #237 Signed-off-by: Andre Manoel <amanoel@nvidia.com>
Signed-off-by: Andre Manoel <amanoel@nvidia.com>
Signed-off-by: Andre Manoel <amanoel@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issue
Closes #237
Plan Document
plans/237/combined-rewrite-graph.mdSummary
Add an opt-in rewrite workflow that executes replacement-map generation, the initial rewrite, evaluation, and a bounded number of conditional repair iterations in one Data Designer graph.
The graph statically unrolls
max_repair_iterationsand usesSkipConfig.whento skip repair and downstream re-evaluation after each row passes. It supports zero or multiple repair rounds, preserves no-entity passthrough, row order, final metrics, repair counts, and review flags, and continues to execute throughNddAdapter.run_workflow().The legacy workflow remains the default. Data Designer does not yet expose terminal failed-column and seed-row provenance through its result API, so a dropped row in the combined graph can only be attributed to
rewrite-combined. Keeping this path opt-in avoids reducing default failure observability while that upstream capability is developed.For entity-bearing rewrite runs, the combined graph reduces the full pipeline's base Data Designer workflow count from five to three. The two detection workflows and the separate non-critical judge path are unchanged.
Benchmark evidence
The authoritative paired suite
combined-rewrite-api-paired-20260807-r3completed 30 pairs and 60 executions without failures. Median Data Designer workflow count decreased from five to three. Paired wall time was 1.81% slower and rewrite time was 1.58% slower, while utility and leakage were comparable.The latency comparison was confounded by more combined-path repairs, 30,379 additional output tokens, and fixed variant ordering. It therefore establishes neither a speedup nor an intrinsic slowdown. Performance remains a regression guardrail rather than the merge rationale.
Remaining follow-up gates
Type of Change
Contributor Checklist
fix: handle empty entity listskills/anonymizer/SKILL.mdupdated if neededThe bundled skill remains on the unchanged legacy default and does not need an update for this opt-in path.
Validation
.venv/bin/ruff check --fix ..venv/bin/ruff format .TMPDIR=<short-temp-path> .venv/bin/pytest --basetemp=<short-temp-path>/pytest- 1,130 passedDocumentation and Artifacts
make docs-buildpasses locallymake convert-notebooksThe internal plan documents the rollout decision, benchmark interpretation, completed compatibility coverage, and remaining upstream and scale gates. No user-facing documentation or tutorial changed.