Skip to content

Remove deprecated ActionBuilder interface - #549

Merged
Laimiux merged 1 commit into
masterfrom
laimonas/remove-action-builder
Nov 6, 2026
Merged

Laimiux merged 1 commit into
masterfrom
laimonas/remove-action-builder

Conversation

@Laimiux

@Laimiux Laimiux commented Nov 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Remove the deprecated ActionBuilder interface.
  • Keep action declaration APIs directly on Snapshot.

Compatibility

This removes the deprecated ActionBuilder public API. Use Snapshot as the receiver for action helpers.

Validation

  • ./gradlew build

@olive-agent

olive-agent Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Olive Review: ✅ Approved

Posted by: GitHub @olive-agent[bot]
Reviewed commit: 4d3b6bc279063080d29881c0aca7e73a53245fd1
Base ref: origin/master
Merge base: c96c5c52bb465654a38221c2660982b078fa62a1

Review Summary

Removes the deprecated ActionBuilder interface and keeps action declaration APIs directly on Snapshot, completing the move to Snapshot receivers. Downstream helpers referencing ActionBuilder must migrate to Snapshot. Unique current findings: 0. Selected preexisting concerns: 0.

📣 Human Attention

  • 📣 Removing the public ActionBuilder interface breaks downstream action helpers and compiled consumers that reference it. Helpers must migrate to Snapshot, and affected consumers must be rebuilt; confirm this API compatibility break is intended.

Component Walkthrough

  • Removed behavior: Deprecated ActionBuilder public API — formula/src/main/java/com/instacart/formula/ActionBuilder.kt:8 — Removes the deprecated ActionBuilder interface, including its input, state, and action declaration contract; action helpers now require Snapshot as their receiver.
PR Inbox Meta
{
  "changeComplexity": "complex",
  "hasHumanAttention": true
}

@carrotkite

Copy link
Copy Markdown
1 Warning
⚠️ No coverage data found for com/instacart/formula/Snapshot

JaCoCo Code Coverage 93.04% ✅

Class Covered Meta Status
com/instacart/formula/Snapshot No coverage data found : -% No coverage data found : -% 🃏

Generated by 🚫 Danger

@Jawnnypoo Jawnnypoo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👋

@carrotkite

Copy link
Copy Markdown

📊 Benchmark Comparison Report

Summary

  • Regressions: 0 ✅
  • Improvements: 25 🎉
  • Unchanged: 0

🎉 Performance Improvements

Benchmark Baseline Current Change
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=1) 0.747 ± 0.134 us/op 0.526 ± 0.105 us/op -29.5% 🟢
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=1) 0.752 ± 0.163 us/op 0.531 ± 0.122 us/op -29.3% 🟢
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure10000 0.353 ± 0.007 us/op 0.253 ± 0.002 us/op -28.4% 🟢
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure1 0.338 ± 0.02 us/op 0.244 ± 0.005 us/op -27.8% 🟢
com.instacart.formula.benchmarks.CallbackInitializationBenchmark.initializeNewCallbacks (callbackCount=10) 1.783 ± 0.383 us/op 1.322 ± 0.227 us/op -25.8% 🟢
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure100 0.338 ± 0.015 us/op 0.257 ± 0.002 us/op -23.9% 🟢
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=100) 11.864 ± 0.572 us/op 9.183 ± 0.433 us/op -22.6% 🟢
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure100Effects 8.323 ± 0.131 us/op 6.652 ± 0.052 us/op -20.1% 🟢
com.instacart.formula.benchmarks.CallbackInitializationBenchmark.initializeNewCallbacks (callbackCount=50) 5.953 ± 0.842 us/op 4.776 ± 0.823 us/op -19.8% 🟢
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=25) 3.491 ± 0.166 us/op 2.838 ± 0.136 us/op -18.7% 🟢
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure10Effects 0.671 ± 0.025 us/op 0.549 ± 0.011 us/op -18.2% 🟢
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=1) 13.433 ± 0.187 us/op 11.058 ± 0.092 us/op -17.7% 🟢
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=10) 13.581 ± 0.198 us/op 11.203 ± 0.031 us/op -17.5% 🟢
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=25) 13.858 ± 0.212 us/op 11.462 ± 0.038 us/op -17.3% 🟢
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=0) 13.295 ± 0.056 us/op 10.997 ± 0.079 us/op -17.3% 🟢
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=1) 13.379 ± 0.079 us/op 11.077 ± 0.107 us/op -17.2% 🟢
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=25) 13.644 ± 0.129 us/op 11.334 ± 0.114 us/op -16.9% 🟢
com.instacart.formula.benchmarks.CallbackOverheadBenchmark.transitions (callbackCount=10) 13.924 ± 0.268 us/op 11.638 ± 0.23 us/op -16.4% 🟢
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=20) 14.099 ± 0.084 us/op 11.828 ± 0.061 us/op -16.1% 🟢
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure1Effect 0.053 ± 0.001 us/op 0.044 ± 0.001 us/op -16.0% 🟢
com.instacart.formula.benchmarks.CallbackOverheadBenchmark.transitions (callbackCount=50) 15.584 ± 0.79 us/op 13.183 ± 0.48 us/op -15.4% 🟢
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=100) 14.597 ± 0.098 us/op 12.352 ± 0.205 us/op -15.4% 🟢
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=100) 15.261 ± 0.097 us/op 13.015 ± 0.221 us/op -14.7% 🟢
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=25) 3.212 ± 0.088 us/op 2.812 ± 0.071 us/op -12.5% 🟢
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=100) 10.598 ± 0.058 us/op 9.449 ± 0.581 us/op -10.8% 🟢

Regressions: ±10% with non-overlapping confidence intervals. Improvements: ±10% change only.

Generated by 🚫 Danger

@Laimiux
Laimiux merged commit 4f94b0d into master Nov 6, 2026
9 checks passed
@Laimiux
Laimiux deleted the laimonas/remove-action-builder branch November 6, 2026 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants