Repository navigation
feat(automation): add clean and transform node - #3163
Open
travon-speller wants to merge 13 commits into
Open
travon-speller wants to merge 13 commits into
travon-speller wants to merge 13 commits into
Conversation
Contributor
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
4 tasks
…mation-clean-nodes
…SS/Semoss into feat/automation-clean-nodes
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.
Description
Adds Java-executed Clean data (
clean.process) and Transform data (data.transform) nodes to Automation. They operate on live upstream tables through existing SEMOSS BI reactors, rather than adding another execution runtime or modifying shared frame implementations.Companion UI: SEMOSS/semoss-ui#3774. Deploy the paired changes together and rebuild/restart the backend so the new node catalog is available.
Changes Made
The current diff contains 10 Automation production/test files. It does not modify shared frame classes, pandas helpers, importers, wrappers, scheduler persistence, or database schemas.
Execution Flow
flowchart TD A[Existing authorized Automation run] --> B[Validate graph and node configuration] B --> C[Java graph runner: root or loop body] C --> D[Resolve live upstream frame from run scope] D --> E[Validate operation, columns, backend and row bounds] E --> F[Create isolated working frame; preserve duplicates and filters] F --> G{Operation} G -->|Clean or single-table transform| H[Existing SEMOSS BI reactor] G -->|Join| I[Existing Merge reactor with right-side frame query] H --> J[Validate output; synchronize Python bindings and headers] I --> J J --> K[Register live output and capture retained table] K --> L[Existing downstream scope, run events and history]Permissions and Runtime Boundaries
Validation Status — 2026-10-28
Reviewed head:
e6c264043af13443f9e341229e00a1bae553264e.build_devand Snyk checks: passing.maven.test.skip=true); a successful build is not a Java test pass.Open Review Findings Before Merge
isBlank()insafeScriptLiteral, breaking default concatenate and space-split configurations.These findings are not fixed by the description update. This review supports the existing architecture but does not establish complete end-to-end correctness.
How to Test
Query -> Clean -> Transform -> downstream consumer; inspect both original and transformed outputs. Verify original data is unchanged and new columns, dtypes, row values, and duplicates remain consistent.AutomationCleanExecutorUnitTests,AutomationDefinitionValidatorUnitTests,AutomationNodeCatalogUnitTests, and affected execution/frame/capture tests through Eclipse/JUnit; add and run the regression tests above.