Skip to content

Conversation

@Laimiux
Copy link
Collaborator

@Laimiux Laimiux commented Oct 21, 2025

Adding ParameterProvider<Input, State> interface that allows to create functions re-usable across evaluation, action, transition contexts.

fun ParameterProvider<Input, State>.analyticsBundle(): Analytics {
    return Analytics(input.source, state.data)
}

@carrotkite
Copy link

carrotkite commented Oct 21, 2025

3 Warnings
⚠️ No coverage data found for com/instacart/formula/TransitionContext
⚠️ No coverage data found for com/instacart/formula/ParameterProvider
⚠️ No coverage data found for com/instacart/formula/Snapshot

JaCoCo Code Coverage 93.98% ✅

Class Covered Meta Status
com/instacart/formula/TransitionContext No coverage data found : -% No coverage data found : -% 🃏
com/instacart/formula/ParameterProvider No coverage data found : -% No coverage data found : -% 🃏
com/instacart/formula/Snapshot No coverage data found : -% No coverage data found : -% 🃏
com/instacart/formula/ActionBuilder 100% 0%

Generated by 🚫 Danger

@carrotkite
Copy link

carrotkite commented Oct 21, 2025

📊 Benchmark Comparison Report

Summary

  • Regressions: 0 ✅
  • Improvements: 0
  • Unchanged: 25
No significant changes (25 benchmarks)
Benchmark Baseline Current Change
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=1) 12.87 ± 0.146 us/op 12.835 ± 0.131 us/op -0.3%
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=100) 15.325 ± 0.107 us/op 15.341 ± 0.059 us/op +0.1%
com.instacart.formula.benchmarks.ActionCountBenchmark.stateChanges (actionCount=25) 13.431 ± 0.19 us/op 13.305 ± 0.148 us/op -0.9%
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=1) 0.71 ± 0.047 us/op 0.703 ± 0.04 us/op -1.1%
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=100) 16.877 ± 0.24 us/op 16.841 ± 0.297 us/op -0.2%
com.instacart.formula.benchmarks.ActionInitializationBenchmark.initializeNewActions (actionCount=25) 4.365 ± 0.026 us/op 4.388 ± 0.117 us/op +0.5%
com.instacart.formula.benchmarks.CallbackInitializationBenchmark.initializeNewCallbacks (callbackCount=10) 2.247 ± 0.337 us/op 2.351 ± 0.587 us/op +4.6%
com.instacart.formula.benchmarks.CallbackInitializationBenchmark.initializeNewCallbacks (callbackCount=50) 9.249 ± 3.025 us/op 8.558 ± 1.186 us/op -7.5%
com.instacart.formula.benchmarks.CallbackOverheadBenchmark.transitions (callbackCount=10) 13.152 ± 0.166 us/op 13.113 ± 0.14 us/op -0.3%
com.instacart.formula.benchmarks.CallbackOverheadBenchmark.transitions (callbackCount=50) 14.671 ± 0.551 us/op 14.583 ± 0.503 us/op -0.6%
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=1) 12.72 ± 0.148 us/op 12.772 ± 0.071 us/op +0.4%
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=100) 14.376 ± 0.199 us/op 14.315 ± 0.046 us/op -0.4%
com.instacart.formula.benchmarks.ChildrenCountBenchmark.stateChanges (childrenCount=25) 13.189 ± 0.216 us/op 13.079 ± 0.069 us/op -0.8%
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=1) 0.679 ± 0.055 us/op 0.679 ± 0.047 us/op +0.0%
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=100) 11.548 ± 0.315 us/op 11.944 ± 0.873 us/op +3.4%
com.instacart.formula.benchmarks.ChildrenInitializationBenchmark.initializeNewChildren (childrenCount=25) 3.353 ± 0.042 us/op 3.337 ± 0.058 us/op -0.5%
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure100Effects 8.057 ± 0.1 us/op 8.327 ± 0.084 us/op +3.4%
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure10Effects 0.658 ± 0.03 us/op 0.674 ± 0.005 us/op +2.5%
com.instacart.formula.benchmarks.GlobalEffectQueueBenchmark.measure1Effect 0.051 ± 0.0 us/op 0.05 ± 0.0 us/op -0.7%
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=0) 12.675 ± 0.164 us/op 12.614 ± 0.07 us/op -0.5%
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=10) 12.855 ± 0.095 us/op 12.93 ± 0.06 us/op +0.6%
com.instacart.formula.benchmarks.TransitionBenchmark.transitions (depth=20) 13.385 ± 0.098 us/op 13.306 ± 0.061 us/op -0.6%
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure1 0.345 ± 0.007 us/op 0.348 ± 0.002 us/op +0.8%
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure100 0.348 ± 0.013 us/op 0.347 ± 0.02 us/op -0.3%
com.instacart.formula.benchmarks.TransitionQueueBenchmark.measure10000 0.341 ± 0.005 us/op 0.35 ± 0.015 us/op +2.8%

Regression threshold: ±10% with non-overlapping confidence intervals

Generated by 🚫 Danger

@Laimiux Laimiux force-pushed the laimonas/parameter-provider branch from 9f8092a to e848dd8 Compare October 21, 2025 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants