EmilySun621 opened a new pull request, #5117:
URL: https://github.com/apache/texera/pull/5117
<h2 class="text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold">๐ค The
Problem</h2>
<p class="font-claude-response-body break-words whitespace-normal
leading-[1.7]">Every ML project starts the same way: drag CSV Source, add
Missing Value Handler, add Train/Test Split, add Model, add Evaluation.
<strong>Every. Single. Time.</strong> And when you want to run + generate a
report? That's 3 separate manual steps.</p>
<h2 class="text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold">โจ The
Solution</h2>
<p class="font-claude-response-body break-words whitespace-normal
leading-[1.7]"><strong>Snippets</strong>: select operators โ save as a bundle โ
drag the bundle onto any future workflow. All operators + connections appear at
once.</p>
<p class="font-claude-response-body break-words whitespace-normal
leading-[1.7]"><strong>Quick Steps</strong>: pre-defined action sequences. One
click = multiple steps executed automatically.</p>
<hr class="border-border-200 border-t-0.5 my-3 mx-1.5">
<h2 class="text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold">๐งฉ
Snippets</h2>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Save from
Canvas</h3>
<div role="group" aria-label="Code" tabindex="0" class="relative group/copy
bg-bg-000/50 border-0.5 border-border-400 rounded-lg focus:outline-none
focus-visible:ring-2 focus-visible:ring-accent-100"><div class="sticky
opacity-0 group-hover/copy:opacity-100 group-focus-within/copy:opacity-100
top-2 py-2 h-12 w-0 float-right"><div class="absolute right-0 h-8 px-2
items-center inline-flex z-10"><button class="inline-flex
items-center
justify-center
relative
isolate
shrink-0
can-focus
select-none
disabled:pointer-events-none
disabled:opacity-50
disabled:shadow-none
disabled:drop-shadow-none border-transparent
transition
font-base
duration-300
ease-[cubic-bezier(0.165,0.85,0.45,1)] h-8 w-8 rounded-md
backdrop-blur-md _fill_10ocf_9 _ghost_10ocf_96" type="button" aria-label="Copy
to clipboard" data-state="closed"><div class="relative"><div
class="transition-all opacity-100 scale-100" style="width: 20px; height: 20px;
display: flex; align-items: center; justify-content: center;"><svg width="20"
height="20" viewBox="0 0 20 20" fill="currentColor"
xmlns="http://www.w3.org/2000/svg" class="transition-all opacity-100 scale-100"
aria-hidden="true" style="flex-shrink: 0;"><path d="M12.5 3A1.5 1.5 0 0 1 14
4.5V6h1.5A1.5 1.5 0 0 1 17 7.5v8a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 6
15.5V14H4.5A1.5 1.5 0 0 1 3 12.5v-8A1.5 1.5 0 0 1 4.5 3zm1.5 9.5a1.5 1.5 0 0
1-1.5 1.5H7v1.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5H14zM4.5
4a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0
0-.5-.5z"></path></svg></div><div class="absolute inset-0 flex items-center
justify-center"><div class="transition-all opaci
ty-0 scale-50" style="width: 20px; height: 20px; display: flex; align-items:
center; justify-content: center;"><svg width="20" height="20" viewBox="0 0 20
20" fill="currentColor" xmlns="http://www.w3.org/2000/svg"
class="transition-all opacity-0 scale-50" aria-hidden="true"
style="flex-shrink: 0;"><path d="M15.188 5.11a.5.5 0 0 1 .752.626l-.056.084-7.5
9a.5.5 0 0 1-.738.033l-3.5-3.5-.064-.078a.501.501 0 0 1 .693-.693l.078.064
3.113 3.113
7.15-8.58z"></path></svg></div></div></div></button></div></div><div
class="overflow-x-auto"><pre class="code-block__code !my-0 !rounded-lg !text-sm
!leading-relaxed p-3.5" style="color: rgb(234, 236, 240); background:
transparent; font-family: var(--font-mono);"><code style="color: rgb(234, 236,
240); background: transparent; font-family: var(--font-mono); white-space:
pre-wrap;"><span><span>Select 2+ operators on canvas โ Right-click โ "Save as
Snippet"
</span></span><span>โ Name it โ All operators + connections saved as a
reusable bundle</span></code></pre></div></div>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Create from
Operator Catalog</h3>
<div role="group" aria-label="Code" tabindex="0" class="relative group/copy
bg-bg-000/50 border-0.5 border-border-400 rounded-lg focus:outline-none
focus-visible:ring-2 focus-visible:ring-accent-100"><div class="sticky
opacity-0 group-hover/copy:opacity-100 group-focus-within/copy:opacity-100
top-2 py-2 h-12 w-0 float-right"><div class="absolute right-0 h-8 px-2
items-center inline-flex z-10"><button class="inline-flex
items-center
justify-center
relative
isolate
shrink-0
can-focus
select-none
disabled:pointer-events-none
disabled:opacity-50
disabled:shadow-none
disabled:drop-shadow-none border-transparent
transition
font-base
duration-300
ease-[cubic-bezier(0.165,0.85,0.45,1)] h-8 w-8 rounded-md
backdrop-blur-md _fill_10ocf_9 _ghost_10ocf_96" type="button" aria-label="Copy
to clipboard" data-state="closed"><div class="relative"><div
class="transition-all opacity-100 scale-100" style="width: 20px; height: 20px;
display: flex; align-items: center; justify-content: center;"><svg width="20"
height="20" viewBox="0 0 20 20" fill="currentColor"
xmlns="http://www.w3.org/2000/svg" class="transition-all opacity-100 scale-100"
aria-hidden="true" style="flex-shrink: 0;"><path d="M12.5 3A1.5 1.5 0 0 1 14
4.5V6h1.5A1.5 1.5 0 0 1 17 7.5v8a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 6
15.5V14H4.5A1.5 1.5 0 0 1 3 12.5v-8A1.5 1.5 0 0 1 4.5 3zm1.5 9.5a1.5 1.5 0 0
1-1.5 1.5H7v1.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5H14zM4.5
4a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0
0-.5-.5z"></path></svg></div><div class="absolute inset-0 flex items-center
justify-center"><div class="transition-all opaci
ty-0 scale-50" style="width: 20px; height: 20px; display: flex; align-items:
center; justify-content: center;"><svg width="20" height="20" viewBox="0 0 20
20" fill="currentColor" xmlns="http://www.w3.org/2000/svg"
class="transition-all opacity-0 scale-50" aria-hidden="true"
style="flex-shrink: 0;"><path d="M15.188 5.11a.5.5 0 0 1 .752.626l-.056.084-7.5
9a.5.5 0 0 1-.738.033l-3.5-3.5-.064-.078a.501.501 0 0 1 .693-.693l.078.064
3.113 3.113
7.15-8.58z"></path></svg></div></div></div></button></div></div><div
class="overflow-x-auto"><pre class="code-block__code !my-0 !rounded-lg !text-sm
!leading-relaxed p-3.5" style="color: rgb(234, 236, 240); background:
transparent; font-family: var(--font-mono);"><code style="color: rgb(234, 236,
240); background: transparent; font-family: var(--font-mono); white-space:
pre-wrap;"><span><span>Snippets page โ "+ Create Snippet" โ Browse operator
catalog
</span></span><span>โ Click operators to add โ They chain automatically โ
Save</span></code></pre></div></div>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Drag to Reuse</h3>
<div role="group" aria-label="Code" tabindex="0" class="relative group/copy
bg-bg-000/50 border-0.5 border-border-400 rounded-lg focus:outline-none
focus-visible:ring-2 focus-visible:ring-accent-100"><div class="sticky
opacity-0 group-hover/copy:opacity-100 group-focus-within/copy:opacity-100
top-2 py-2 h-12 w-0 float-right"><div class="absolute right-0 h-8 px-2
items-center inline-flex z-10"><button class="inline-flex
items-center
justify-center
relative
isolate
shrink-0
can-focus
select-none
disabled:pointer-events-none
disabled:opacity-50
disabled:shadow-none
disabled:drop-shadow-none border-transparent
transition
font-base
duration-300
ease-[cubic-bezier(0.165,0.85,0.45,1)] h-8 w-8 rounded-md
backdrop-blur-md _fill_10ocf_9 _ghost_10ocf_96" type="button" aria-label="Copy
to clipboard" data-state="closed"><div class="relative"><div
class="transition-all opacity-100 scale-100" style="width: 20px; height: 20px;
display: flex; align-items: center; justify-content: center;"><svg width="20"
height="20" viewBox="0 0 20 20" fill="currentColor"
xmlns="http://www.w3.org/2000/svg" class="transition-all opacity-100 scale-100"
aria-hidden="true" style="flex-shrink: 0;"><path d="M12.5 3A1.5 1.5 0 0 1 14
4.5V6h1.5A1.5 1.5 0 0 1 17 7.5v8a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 6
15.5V14H4.5A1.5 1.5 0 0 1 3 12.5v-8A1.5 1.5 0 0 1 4.5 3zm1.5 9.5a1.5 1.5 0 0
1-1.5 1.5H7v1.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5H14zM4.5
4a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0
0-.5-.5z"></path></svg></div><div class="absolute inset-0 flex items-center
justify-center"><div class="transition-all opaci
ty-0 scale-50" style="width: 20px; height: 20px; display: flex; align-items:
center; justify-content: center;"><svg width="20" height="20" viewBox="0 0 20
20" fill="currentColor" xmlns="http://www.w3.org/2000/svg"
class="transition-all opacity-0 scale-50" aria-hidden="true"
style="flex-shrink: 0;"><path d="M15.188 5.11a.5.5 0 0 1 .752.626l-.056.084-7.5
9a.5.5 0 0 1-.738.033l-3.5-3.5-.064-.078a.501.501 0 0 1 .693-.693l.078.064
3.113 3.113
7.15-8.58z"></path></svg></div></div></div></button></div></div><div
class="overflow-x-auto"><pre class="code-block__code !my-0 !rounded-lg !text-sm
!leading-relaxed p-3.5" style="color: rgb(234, 236, 240); background:
transparent; font-family: var(--font-mono);"><code style="color: rgb(234, 236,
240); background: transparent; font-family: var(--font-mono); white-space:
pre-wrap;"><span><span>Operator panel โ Snippets section (bottom) โ Drag
"Classification Bundle"
</span></span><span>โ Split + Logistic Regression + Evaluation appear
connected on canvas</span></code></pre></div></div>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">3 Built-in
Snippets</h3>
<div class="overflow-x-auto w-full px-2 mb-6">
Snippet | Operators | Use case
-- | -- | --
๐งน Data Cleaning Kit | Filter โ Distinct โ TypeCasting | Clean any dataset
๐ง Classification Bundle | Split โ LogisticRegression โ SklearnTesting |
Quick ML pipeline
๐ EDA Starter | CSVFileScan โ Aggregate โ ScatterMatrixChart | Explore any
dataset
</div>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Real Execution</h3>
<p class="font-claude-response-body break-words whitespace-normal
leading-[1.7]">Quick Steps actually execute โ not simulated:</p>
<ul class="[li_&]:mb-0 [li_&]:mt-1 [li_&]:gap-1
[&:not(:last-child)_ul]:pb-1 [&:not(:last-child)_ol]:pb-1 list-disc
flex flex-col gap-1 pl-8 mb-3">
<li class="font-claude-response-body whitespace-normal break-words
pl-2"><strong>"Run and Report"</strong> programmatically triggers the Run
button, waits for execution to complete, then sends a real message to the AI
agent requesting a comprehensive analysis report</li>
<li class="font-claude-response-body whitespace-normal break-words
pl-2"><strong>"Clean and Profile"</strong> opens the actual Data Profiling
panel</li>
<li class="font-claude-response-body whitespace-normal break-words
pl-2">Progress panel shows live status: โ
Step 1 โ โณ Step 2 โ โฌ Step 3</li>
</ul>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Create Custom Quick
Steps</h3>
<ul class="[li_&]:mb-0 [li_&]:mt-1 [li_&]:gap-1
[&:not(:last-child)_ul]:pb-1 [&:not(:last-child)_ol]:pb-1 list-disc
flex flex-col gap-1 pl-8 mb-3">
<li class="font-claude-response-body whitespace-normal break-words pl-2">"+
Create Quick Step" in the dropdown</li>
<li class="font-claude-response-body whitespace-normal break-words
pl-2">Pick from available actions, set order</li>
<li class="font-claude-response-body whitespace-normal break-words
pl-2">Save for future use</li></ul>
๐ฌ Demo
Snippets:
Open operator panel โ scroll to "๐ฆ Snippets" section
Drag "Classification Bundle" onto canvas
โ Split + Logistic Regression + SklearnTesting appear connected โ
Select 2 operators on canvas โ right-click โ "Save as Snippet"
New snippet appears in the panel
Quick Steps:
Open a workflow with data โ click "โก Quick Steps" in toolbar
Click "๐ Run and Report"
Progress: Run workflow โ
โ Generate report โ
โ Report ready โ
Agent produces real analysis in chat / Results Dashboard
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]