Skip to content

build(deps): bump github.com/tochemey/goakt/v4 from 4.2.2 to 4.2.4#706

Merged
intel352 merged 2 commits into
mainfrom
dependabot/go_modules/github.com/tochemey/goakt/v4-4.2.4
May 19, 2026
Merged

build(deps): bump github.com/tochemey/goakt/v4 from 4.2.2 to 4.2.4#706
intel352 merged 2 commits into
mainfrom
dependabot/go_modules/github.com/tochemey/goakt/v4-4.2.4

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 18, 2026

Bumps github.com/tochemey/goakt/v4 from 4.2.2 to 4.2.4.

Release notes

Sourced from github.com/tochemey/goakt/v4's releases.

v4.2.4

🔉 Logging changes

Quieter default log stream

The framework's Info level is now reserved for system-wide, low-frequency operator events: actor system start/stop, signal handler, clustering enable/start/stop, remote server start/listen/TLS/shutdown, scheduler start/stop, eviction loop start/stop, cluster node joined/left, rebalance start/complete, and data-center topology changes. Per-actor / per-grain / per-RPC / per-peer / per-rebalance-item lifecycle (init, shutdown, passivation, suspension, reinstate, supervision, grain activate/deactivate, remote spawn, peer replication, dead-actor cleanup, routee restart/resume, NATS peer chatter) was demoted to Debug.

Third-party [INFO] lines emitted by olric and hashicorp/memberlist (routing table updates, gossip events, anti-entropy) are also demoted to Debug. [WARN] and [ERROR]/[ERR] from those libraries are unchanged.

Migration. If you relied on the previous verbosity (per-actor lifecycle traces, olric routing-table chatter visible at Info), set your logger to log.DebugLevel. Errors and warnings are unaffected — a healthy steady-state cluster now produces close to zero Info lines per node per minute.

Memberlist transport now honors TransportConfig.Logger

internal/memberlist.NewTransport previously ignored the Logger field on its config and wrote to stdout at Info. It now routes through the configured logger (or log.DiscardLogger when none is supplied), so transport-level errors and warnings reach the same sink as the rest of the framework. Added recognition of memberlist's short [ERR] prefix in the third-party log adapter — these lines were previously dropped silently.

✨ New Additions

JSON serializer (sonic-backed)

Third built-in serializer alongside ProtoSerializer and CBORSerializer. remote.JSONSerializer encodes arbitrary Go values as JSON via bytedance/sonic using the ConfigFastest preset (no HTML escaping, no JSON-marshaler validation — output is consumed by another goAkt node, not a browser).

  • Same wire shape as the other built-ins. Length-prefixed self-describing frame: totalLen | nameLen | type-name | json-bytes, all big-endian uint32 headers — identical layout to ProtoSerializer and CBORSerializer.
  • Same registration path. WithSerializers(new(MyMessage), remote.NewJSONSerializer()) auto-registers the type in the global types registry; no separate RegisterSerializableTypes-style step. Both sender and receiver must register the same types.
  • Platform support. sonic ships JIT-accelerated fast paths for amd64 and arm64 and falls back to encoding/json on other architectures (386, riscv64, s390x). API surface is identical; only throughput differs.
  • Depth bound. sonic does not expose a per-decode nesting limit, so peer-controlled payloads are bounded by WithMaxFrameSize (default 16MB). Tune downward if accepting frames from untrusted peers.

WithJSONSerializables convenience option

Bulk JSON registration mirroring WithSerializables for CBOR. Shares a lazy DefaultJSONSerializer() singleton across all calls — JSONSerializer is stateless, so reuse is safe and avoids per-option allocation.

remote.NewConfig("0.0.0.0", 9000,
    remote.WithJSONSerializables(new(MyEventA), new(MyEventB), (*MyInterface)(nil)),
)

Typed nil interface pointers bind the serializer at the interface level; concrete types bind per-type.

Full Changelog: Tochemey/goakt@v4.2.3...v4.2.4

v4.2.3

Highlights

Cluster-wide stream topologies. This release rounds out the stream package with cross-node and non-linear primitives — you can now wire pipelines across the cluster the same way you wire them in-process. See changelog

Features

  • Cross-node SourceRef / SinkRef. Wire-portable handles that let any node materialise a remote Source[T] or Sink[T]. Direct host:port resolution (no cluster-registry round-trip), wire-level credit, single-subscription with a 30s grace window, and Watch-based death detection. Requires stream.RemoteOptions() on remote.NewConfig and remote.WithSerializables(...) for element types on every node.
  • Graph junctions. Eight fan-in / fan-out operators: Concat, Zip / ZipWith, MergePreferred, MergePrioritized, MergeLatest, MergeSequence, Partition, Unzip. Graph DSL gains ConcatInto.
  • SubFlow (stream of streams). GroupBy, SplitWhen, SplitAfter produce a SubFlow[K, T]; compose with SubFlowVia and collapse with MergeSubstreams. Per-substream state is genuinely independent.

... (truncated)

Changelog

Sourced from github.com/tochemey/goakt/v4's changelog.

v4.2.4 - 2026-05-15

🔉 Logging changes

Quieter default log stream

The framework's Info level is now reserved for system-wide, low-frequency operator events: actor system start/stop, signal handler, clustering enable/start/stop, remote server start/listen/TLS/shutdown, scheduler start/stop, eviction loop start/stop, cluster node joined/left, rebalance start/complete, and data-center topology changes. Per-actor / per-grain / per-RPC / per-peer / per-rebalance-item lifecycle (init, shutdown, passivation, suspension, reinstate, supervision, grain activate/deactivate, remote spawn, peer replication, dead-actor cleanup, routee restart/resume, NATS peer chatter) was demoted to Debug.

Third-party [INFO] lines emitted by olric and hashicorp/memberlist (routing table updates, gossip events, anti-entropy) are also demoted to Debug. [WARN] and [ERROR]/[ERR] from those libraries are unchanged.

Migration. If you relied on the previous verbosity (per-actor lifecycle traces, olric routing-table chatter visible at Info), set your logger to log.DebugLevel. Errors and warnings are unaffected — a healthy steady-state cluster now produces close to zero Info lines per node per minute.

Memberlist transport now honors TransportConfig.Logger

internal/memberlist.NewTransport previously ignored the Logger field on its config and wrote to stdout at Info. It now routes through the configured logger (or log.DiscardLogger when none is supplied), so transport-level errors and warnings reach the same sink as the rest of the framework. Added recognition of memberlist's short [ERR] prefix in the third-party log adapter — these lines were previously dropped silently.

✨ New Additions

JSON serializer (sonic-backed)

Third built-in serializer alongside ProtoSerializer and CBORSerializer. remote.JSONSerializer encodes arbitrary Go values as JSON via bytedance/sonic using the ConfigFastest preset (no HTML escaping, no JSON-marshaler validation — output is consumed by another goAkt node, not a browser).

  • Same wire shape as the other built-ins. Length-prefixed self-describing frame: totalLen | nameLen | type-name | json-bytes, all big-endian uint32 headers — identical layout to ProtoSerializer and CBORSerializer.
  • Same registration path. WithSerializers(new(MyMessage), remote.NewJSONSerializer()) auto-registers the type in the global types registry; no separate RegisterSerializableTypes-style step. Both sender and receiver must register the same types.
  • Platform support. sonic ships JIT-accelerated fast paths for amd64 and arm64 and falls back to encoding/json on other architectures (386, riscv64, s390x). API surface is identical; only throughput differs.
  • Depth bound. sonic does not expose a per-decode nesting limit, so peer-controlled payloads are bounded by WithMaxFrameSize (default 16MB). Tune downward if accepting frames from untrusted peers.

WithJSONSerializables convenience option

Bulk JSON registration mirroring WithSerializables for CBOR. Shares a lazy DefaultJSONSerializer() singleton across all calls — JSONSerializer is stateless, so reuse is safe and avoids per-option allocation.

remote.NewConfig("0.0.0.0", 9000,
    remote.WithJSONSerializables(new(MyEventA), new(MyEventB), (*MyInterface)(nil)),
)

Typed nil interface pointers bind the serializer at the interface level; concrete types bind per-type.

v4.2.3 - 2026-05-09

✨ New Additions

Cross-node stream refs (SourceRef / SinkRef)

Wire-portable handles that adapt a Source[T] or Sink[T] into a stage usable on any node in the cluster, mirroring Akka StreamRefs.

  • Source.SourceRef(ctx, sys) publishes a producer; receivers reconstruct the source via ref.Source(sys). Sink.SinkRef(ctx, sys) does the symmetric thing for consumers via ref.Sink(sys). Refs themselves are plain serialisable values and can be shipped inside any registered remote message — so a node can hand off "where to send/read from" the same way it would hand off any other piece of data.
  • Setup prerequisite — both registrations are required on every node: append stream.RemoteOptions() to your remote.NewConfig (registers the subscribe / request / complete / error / cancel control wires) and register the element type with remote.WithSerializables(new(MyEvent)) (the same registration any remote rctx.Tell to a remote PID needs). Forgetting either is the common failure mode — missing control-plane registration manifests as the bridge hanging on subscribe; missing element-type registration manifests as "no serializer found" on the producer's first ship or as silent dead-letter on the consumer side. Asymmetric registration (one node has it, the other doesn't) breaks only the unconfigured direction. User element types travel across the wire as ordinary remote messages — no extra envelope, no double encoding — so the remoting layer's existing CBOR registry handles them with no per-stream serializer overhead.
  • Single-subscription semantics. The endpoint stays alive through a 30s grace window after stream completion so a racing late subscriber gets a deterministic "already consumed" rejection rather than telling a dead actor; after the window the endpoint reaps itself via system.ScheduleOnce, so consumed refs don't leak in long-running processes.

... (truncated)

Commits
  • 3124a6f chore: automate github release (#1178)
  • 2643a88 chore(deps): update go modules
  • beb28ef refactor: demote per-actor and third-party Info logs to Debug (#1177)
  • a60ebdc feat: add built-in remote json serializer (#1176)
  • 1ef4b9a chore(deps): update module github.com/bufbuild/buf to v1.69.0 (#1175)
  • 5bac0c5 refactor: refactor discovery providers for efficiency (#1174)
  • 54a4c67 docs: set latest release date in changelog.md
  • 13cdab8 chore(deps): upgrade dependencies
  • 665440d refactor: cleanup godocs
  • e9de56a feat: add remote streams functions (#1172)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [github.com/tochemey/goakt/v4](https://github.com/tochemey/goakt) from 4.2.2 to 4.2.4.
- [Release notes](https://github.com/tochemey/goakt/releases)
- [Changelog](https://github.com/Tochemey/goakt/blob/main/CHANGELOG.md)
- [Commits](Tochemey/goakt@v4.2.2...v4.2.4)

---
updated-dependencies:
- dependency-name: github.com/tochemey/goakt/v4
  dependency-version: 4.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update go code labels May 18, 2026
@github-actions
Copy link
Copy Markdown

⏱ Benchmark Results

No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
baseline-bench.txt:274: parsing iteration count: invalid syntax
baseline-bench.txt:563762: parsing iteration count: invalid syntax
baseline-bench.txt:879930: parsing iteration count: invalid syntax
baseline-bench.txt:1179865: parsing iteration count: invalid syntax
baseline-bench.txt:1489946: parsing iteration count: invalid syntax
baseline-bench.txt:1793403: parsing iteration count: invalid syntax
benchmark-results.txt:274: parsing iteration count: invalid syntax
benchmark-results.txt:249968: parsing iteration count: invalid syntax
benchmark-results.txt:643518: parsing iteration count: invalid syntax
benchmark-results.txt:915814: parsing iteration count: invalid syntax
benchmark-results.txt:1247036: parsing iteration count: invalid syntax
benchmark-results.txt:1615236: parsing iteration count: invalid syntax
goos: linux
goarch: amd64
pkg: github.com/GoCodeAlone/workflow/dynamic
cpu: AMD EPYC 9V74 80-Core Processor                
                            │ baseline-bench.txt │
                            │       sec/op       │
InterpreterCreation-4               6.690m ± 57%
ComponentLoad-4                     3.503m ±  7%
ComponentExecute-4                  1.836µ ±  0%
PoolContention/workers-1-4          1.011µ ±  2%
PoolContention/workers-2-4          1.010µ ±  0%
PoolContention/workers-4-4          1.016µ ±  1%
PoolContention/workers-8-4          1.010µ ±  1%
PoolContention/workers-16-4         1.013µ ±  2%
ComponentLifecycle-4                3.485m ±  1%
SourceValidation-4                  2.088µ ±  6%
RegistryConcurrent-4                736.5n ±  5%
LoaderLoadFromString-4              3.515m ±  3%
geomean                             17.56µ

                            │ baseline-bench.txt │
                            │        B/op        │
InterpreterCreation-4               2.027Mi ± 0%
ComponentLoad-4                     2.180Mi ± 0%
ComponentExecute-4                  1.203Ki ± 0%
PoolContention/workers-1-4          1.203Ki ± 0%
PoolContention/workers-2-4          1.203Ki ± 0%
PoolContention/workers-4-4          1.203Ki ± 0%
PoolContention/workers-8-4          1.203Ki ± 0%
PoolContention/workers-16-4         1.203Ki ± 0%
ComponentLifecycle-4                2.183Mi ± 0%
SourceValidation-4                  1.984Ki ± 0%
RegistryConcurrent-4                1.133Ki ± 0%
LoaderLoadFromString-4              2.182Mi ± 0%
geomean                             15.25Ki

                            │ baseline-bench.txt │
                            │     allocs/op      │
InterpreterCreation-4                15.68k ± 0%
ComponentLoad-4                      18.02k ± 0%
ComponentExecute-4                    25.00 ± 0%
PoolContention/workers-1-4            25.00 ± 0%
PoolContention/workers-2-4            25.00 ± 0%
PoolContention/workers-4-4            25.00 ± 0%
PoolContention/workers-8-4            25.00 ± 0%
PoolContention/workers-16-4           25.00 ± 0%
ComponentLifecycle-4                 18.07k ± 0%
SourceValidation-4                    32.00 ± 0%
RegistryConcurrent-4                  2.000 ± 0%
LoaderLoadFromString-4               18.06k ± 0%
geomean                               183.3

cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                            │ benchmark-results.txt │
                            │        sec/op         │
InterpreterCreation-4                  9.116m ± 66%
ComponentLoad-4                        3.465m ±  2%
ComponentExecute-4                     1.873µ ±  1%
PoolContention/workers-1-4             1.204µ ±  1%
PoolContention/workers-2-4             1.188µ ±  2%
PoolContention/workers-4-4             1.187µ ±  1%
PoolContention/workers-8-4             1.187µ ±  0%
PoolContention/workers-16-4            1.191µ ±  1%
ComponentLifecycle-4                   3.498m ±  1%
SourceValidation-4                     2.192µ ±  1%
RegistryConcurrent-4                   869.5n ±  2%
LoaderLoadFromString-4                 3.591m ±  1%
geomean                                19.69µ

                            │ benchmark-results.txt │
                            │         B/op          │
InterpreterCreation-4                  2.027Mi ± 0%
ComponentLoad-4                        2.180Mi ± 0%
ComponentExecute-4                     1.203Ki ± 0%
PoolContention/workers-1-4             1.203Ki ± 0%
PoolContention/workers-2-4             1.203Ki ± 0%
PoolContention/workers-4-4             1.203Ki ± 0%
PoolContention/workers-8-4             1.203Ki ± 0%
PoolContention/workers-16-4            1.203Ki ± 0%
ComponentLifecycle-4                   2.183Mi ± 0%
SourceValidation-4                     1.984Ki ± 0%
RegistryConcurrent-4                   1.133Ki ± 0%
LoaderLoadFromString-4                 2.182Mi ± 0%
geomean                                15.25Ki

                            │ benchmark-results.txt │
                            │       allocs/op       │
InterpreterCreation-4                   15.68k ± 0%
ComponentLoad-4                         18.02k ± 0%
ComponentExecute-4                       25.00 ± 0%
PoolContention/workers-1-4               25.00 ± 0%
PoolContention/workers-2-4               25.00 ± 0%
PoolContention/workers-4-4               25.00 ± 0%
PoolContention/workers-8-4               25.00 ± 0%
PoolContention/workers-16-4              25.00 ± 0%
ComponentLifecycle-4                    18.07k ± 0%
SourceValidation-4                       32.00 ± 0%
RegistryConcurrent-4                     2.000 ± 0%
LoaderLoadFromString-4                  18.06k ± 0%
geomean                                  183.3

pkg: github.com/GoCodeAlone/workflow/middleware
cpu: AMD EPYC 9V74 80-Core Processor                
                                  │ baseline-bench.txt │
                                  │       sec/op       │
CircuitBreakerDetection-4                  317.0n ± 9%
CircuitBreakerExecution_Success-4          22.65n ± 0%
CircuitBreakerExecution_Failure-4          70.96n ± 0%
geomean                                    79.87n

                                  │ baseline-bench.txt │
                                  │        B/op        │
CircuitBreakerDetection-4                 144.0 ± 0%
CircuitBreakerExecution_Success-4         0.000 ± 0%
CircuitBreakerExecution_Failure-4         0.000 ± 0%
geomean                                              ¹
¹ summaries must be >0 to compute geomean

                                  │ baseline-bench.txt │
                                  │     allocs/op      │
CircuitBreakerDetection-4                 1.000 ± 0%
CircuitBreakerExecution_Success-4         0.000 ± 0%
CircuitBreakerExecution_Failure-4         0.000 ± 0%
geomean                                              ¹
¹ summaries must be >0 to compute geomean

cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                                  │ benchmark-results.txt │
                                  │        sec/op         │
CircuitBreakerDetection-4                     452.9n ± 3%
CircuitBreakerExecution_Success-4             59.78n ± 0%
CircuitBreakerExecution_Failure-4             65.04n ± 1%
geomean                                       120.8n

                                  │ benchmark-results.txt │
                                  │         B/op          │
CircuitBreakerDetection-4                    144.0 ± 0%
CircuitBreakerExecution_Success-4            0.000 ± 0%
CircuitBreakerExecution_Failure-4            0.000 ± 0%
geomean                                                 ¹
¹ summaries must be >0 to compute geomean

                                  │ benchmark-results.txt │
                                  │       allocs/op       │
CircuitBreakerDetection-4                    1.000 ± 0%
CircuitBreakerExecution_Success-4            0.000 ± 0%
CircuitBreakerExecution_Failure-4            0.000 ± 0%
geomean                                                 ¹
¹ summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/module
cpu: AMD EPYC 9V74 80-Core Processor                
                                 │ baseline-bench.txt │
                                 │       sec/op       │
IaCStateBackend_InProcess-4              304.3n ± 22%
IaCStateBackend_GRPC-4                   10.72m ±  3%
JQTransform_Simple-4                     682.2n ± 40%
JQTransform_ObjectConstruction-4         1.550µ ±  1%
JQTransform_ArraySelect-4                3.691µ ±  8%
JQTransform_Complex-4                    44.99µ ±  3%
JQTransform_Throughput-4                 1.862µ ±  1%
SSEPublishDelivery-4                     63.80n ±  0%
geomean                                  4.019µ

                                 │ baseline-bench.txt │
                                 │        B/op        │
IaCStateBackend_InProcess-4              416.0 ± 0%
IaCStateBackend_GRPC-4                 5.782Mi ± 4%
JQTransform_Simple-4                   1.273Ki ± 0%
JQTransform_ObjectConstruction-4       1.773Ki ± 0%
JQTransform_ArraySelect-4              2.625Ki ± 0%
JQTransform_Complex-4                  16.22Ki ± 0%
JQTransform_Throughput-4               1.984Ki ± 0%
SSEPublishDelivery-4                     0.000 ± 0%
geomean                                             ¹
¹ summaries must be >0 to compute geomean

                                 │ baseline-bench.txt │
                                 │     allocs/op      │
IaCStateBackend_InProcess-4              2.000 ± 0%
IaCStateBackend_GRPC-4                  6.870k ± 0%
JQTransform_Simple-4                     10.00 ± 0%
JQTransform_ObjectConstruction-4         15.00 ± 0%
JQTransform_ArraySelect-4                30.00 ± 0%
JQTransform_Complex-4                    324.0 ± 0%
JQTransform_Throughput-4                 17.00 ± 0%
SSEPublishDelivery-4                     0.000 ± 0%
geomean                                             ¹
¹ summaries must be >0 to compute geomean

cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                                 │ benchmark-results.txt │
                                 │        sec/op         │
IaCStateBackend_InProcess-4                 343.8n ± 23%
IaCStateBackend_GRPC-4                      9.803m ±  2%
JQTransform_Simple-4                        701.5n ± 37%
JQTransform_ObjectConstruction-4            1.571µ ±  1%
JQTransform_ArraySelect-4                   3.392µ ±  2%
JQTransform_Complex-4                       37.31µ ±  1%
JQTransform_Throughput-4                    1.910µ ±  3%
SSEPublishDelivery-4                        76.37n ±  2%
geomean                                     4.022µ

                                 │ benchmark-results.txt │
                                 │         B/op          │
IaCStateBackend_InProcess-4                416.0 ±  0%
IaCStateBackend_GRPC-4                   5.669Mi ± 17%
JQTransform_Simple-4                     1.273Ki ±  0%
JQTransform_ObjectConstruction-4         1.773Ki ±  0%
JQTransform_ArraySelect-4                2.625Ki ±  0%
JQTransform_Complex-4                    16.22Ki ±  0%
JQTransform_Throughput-4                 1.984Ki ±  0%
SSEPublishDelivery-4                       0.000 ±  0%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

                                 │ benchmark-results.txt │
                                 │       allocs/op       │
IaCStateBackend_InProcess-4                 2.000 ± 0%
IaCStateBackend_GRPC-4                     6.876k ± 0%
JQTransform_Simple-4                        10.00 ± 0%
JQTransform_ObjectConstruction-4            15.00 ± 0%
JQTransform_ArraySelect-4                   30.00 ± 0%
JQTransform_Complex-4                       324.0 ± 0%
JQTransform_Throughput-4                    17.00 ± 0%
SSEPublishDelivery-4                        0.000 ± 0%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/schema
cpu: AMD EPYC 9V74 80-Core Processor                
                                    │ baseline-bench.txt │
                                    │       sec/op       │
SchemaValidation_Simple-4                    1.080µ ± 2%
SchemaValidation_AllFields-4                 1.658µ ± 3%
SchemaValidation_FormatValidation-4          1.588µ ± 3%
SchemaValidation_ManySchemas-4               1.589µ ± 4%
geomean                                      1.457µ

                                    │ baseline-bench.txt │
                                    │        B/op        │
SchemaValidation_Simple-4                   0.000 ± 0%
SchemaValidation_AllFields-4                0.000 ± 0%
SchemaValidation_FormatValidation-4         0.000 ± 0%
SchemaValidation_ManySchemas-4              0.000 ± 0%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

                                    │ baseline-bench.txt │
                                    │     allocs/op      │
SchemaValidation_Simple-4                   0.000 ± 0%
SchemaValidation_AllFields-4                0.000 ± 0%
SchemaValidation_FormatValidation-4         0.000 ± 0%
SchemaValidation_ManySchemas-4              0.000 ± 0%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                                    │ benchmark-results.txt │
                                    │        sec/op         │
SchemaValidation_Simple-4                      1.019µ ± 39%
SchemaValidation_AllFields-4                   1.522µ ±  2%
SchemaValidation_FormatValidation-4            1.484µ ±  1%
SchemaValidation_ManySchemas-4                 1.510µ ±  5%
geomean                                        1.365µ

                                    │ benchmark-results.txt │
                                    │         B/op          │
SchemaValidation_Simple-4                      0.000 ± 0%
SchemaValidation_AllFields-4                   0.000 ± 0%
SchemaValidation_FormatValidation-4            0.000 ± 0%
SchemaValidation_ManySchemas-4                 0.000 ± 0%
geomean                                                   ¹
¹ summaries must be >0 to compute geomean

                                    │ benchmark-results.txt │
                                    │       allocs/op       │
SchemaValidation_Simple-4                      0.000 ± 0%
SchemaValidation_AllFields-4                   0.000 ± 0%
SchemaValidation_FormatValidation-4            0.000 ± 0%
SchemaValidation_ManySchemas-4                 0.000 ± 0%
geomean                                                   ¹
¹ summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/store
cpu: AMD EPYC 9V74 80-Core Processor                
                                   │ baseline-bench.txt │
                                   │       sec/op       │
EventStoreAppend_InMemory-4                1.074µ ± 13%
EventStoreAppend_SQLite-4                  1.075m ± 31%
GetTimeline_InMemory/events-10-4           12.40µ ±  5%
GetTimeline_InMemory/events-50-4           69.09µ ±  2%
GetTimeline_InMemory/events-100-4          125.8µ ± 13%
GetTimeline_InMemory/events-500-4          577.2µ ±  1%
GetTimeline_InMemory/events-1000-4         1.179m ±  1%
GetTimeline_SQLite/events-10-4             86.02µ ±  1%
GetTimeline_SQLite/events-50-4             225.1µ ±  2%
GetTimeline_SQLite/events-100-4            391.7µ ±  3%
GetTimeline_SQLite/events-500-4            1.697m ±  1%
GetTimeline_SQLite/events-1000-4           3.339m ±  1%
geomean                                    198.0µ

                                   │ baseline-bench.txt │
                                   │        B/op        │
EventStoreAppend_InMemory-4                 764.0 ± 13%
EventStoreAppend_SQLite-4                 1.984Ki ±  1%
GetTimeline_InMemory/events-10-4          7.953Ki ±  0%
GetTimeline_InMemory/events-50-4          46.62Ki ±  0%
GetTimeline_InMemory/events-100-4         94.48Ki ±  0%
GetTimeline_InMemory/events-500-4         472.8Ki ±  0%
GetTimeline_InMemory/events-1000-4        944.3Ki ±  0%
GetTimeline_SQLite/events-10-4            16.74Ki ±  0%
GetTimeline_SQLite/events-50-4            87.14Ki ±  0%
GetTimeline_SQLite/events-100-4           175.4Ki ±  0%
GetTimeline_SQLite/events-500-4           846.1Ki ±  0%
GetTimeline_SQLite/events-1000-4          1.639Mi ±  0%
geomean                                   67.16Ki

                                   │ baseline-bench.txt │
                                   │     allocs/op      │
EventStoreAppend_InMemory-4                  7.000 ± 0%
EventStoreAppend_SQLite-4                    53.00 ± 0%
GetTimeline_InMemory/events-10-4             125.0 ± 0%
GetTimeline_InMemory/events-50-4             653.0 ± 0%
GetTimeline_InMemory/events-100-4           1.306k ± 0%
GetTimeline_InMemory/events-500-4           6.514k ± 0%
GetTimeline_InMemory/events-1000-4          13.02k ± 0%
GetTimeline_SQLite/events-10-4               382.0 ± 0%
GetTimeline_SQLite/events-50-4              1.852k ± 0%
GetTimeline_SQLite/events-100-4             3.681k ± 0%
GetTimeline_SQLite/events-500-4             18.54k ± 0%
GetTimeline_SQLite/events-1000-4            37.29k ± 0%
geomean                                     1.162k

cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                                   │ benchmark-results.txt │
                                   │        sec/op         │
EventStoreAppend_InMemory-4                   1.154µ ±  7%
EventStoreAppend_SQLite-4                     1.000m ±  1%
GetTimeline_InMemory/events-10-4              13.33µ ±  5%
GetTimeline_InMemory/events-50-4              74.56µ ±  5%
GetTimeline_InMemory/events-100-4             132.0µ ± 14%
GetTimeline_InMemory/events-500-4             592.5µ ±  1%
GetTimeline_InMemory/events-1000-4            1.206m ±  1%
GetTimeline_SQLite/events-10-4                81.81µ ±  2%
GetTimeline_SQLite/events-50-4                232.5µ ±  1%
GetTimeline_SQLite/events-100-4               416.4µ ±  2%
GetTimeline_SQLite/events-500-4               1.878m ±  2%
GetTimeline_SQLite/events-1000-4              3.708m ±  3%
geomean                                       206.4µ

                                   │ benchmark-results.txt │
                                   │         B/op          │
EventStoreAppend_InMemory-4                    824.5 ± 10%
EventStoreAppend_SQLite-4                    1.985Ki ±  1%
GetTimeline_InMemory/events-10-4             7.953Ki ±  0%
GetTimeline_InMemory/events-50-4             46.62Ki ±  0%
GetTimeline_InMemory/events-100-4            94.48Ki ±  0%
GetTimeline_InMemory/events-500-4            472.8Ki ±  0%
GetTimeline_InMemory/events-1000-4           944.3Ki ±  0%
GetTimeline_SQLite/events-10-4               16.74Ki ±  0%
GetTimeline_SQLite/events-50-4               87.14Ki ±  0%
GetTimeline_SQLite/events-100-4              175.4Ki ±  0%
GetTimeline_SQLite/events-500-4              846.1Ki ±  0%
GetTimeline_SQLite/events-1000-4             1.639Mi ±  0%
geomean                                      67.59Ki

                                   │ benchmark-results.txt │
                                   │       allocs/op       │
EventStoreAppend_InMemory-4                     7.000 ± 0%
EventStoreAppend_SQLite-4                       53.00 ± 0%
GetTimeline_InMemory/events-10-4                125.0 ± 0%
GetTimeline_InMemory/events-50-4                653.0 ± 0%
GetTimeline_InMemory/events-100-4              1.306k ± 0%
GetTimeline_InMemory/events-500-4              6.514k ± 0%
GetTimeline_InMemory/events-1000-4             13.02k ± 0%
GetTimeline_SQLite/events-10-4                  382.0 ± 0%
GetTimeline_SQLite/events-50-4                 1.852k ± 0%
GetTimeline_SQLite/events-100-4                3.681k ± 0%
GetTimeline_SQLite/events-500-4                18.54k ± 0%
GetTimeline_SQLite/events-1000-4               37.29k ± 0%
geomean                                        1.162k

Benchmarks run with go test -bench=. -benchmem -count=6.
Regressions ≥ 20% are flagged. Results compared via benchstat.

Agent-Logs-Url: https://github.com/GoCodeAlone/workflow/sessions/286d29d4-fb23-4e0d-ba1d-65c83cb033b1

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented May 18, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • charm.land
    • Triggering command: /dependabot-proxy /dependabot-proxy --object-format=--root /usr/lib/git-cor/var/run/docker/runtime-runc/moby /usr/bin/git tag tformat /usr/lib/git-corjson /home/dependabot--systemd-cgroup REDACTED https://github.conoffline e/git git init�� e=false --object-format=sha1 e/git-remote-https om/davecgh/go-sprm %H %ct %D (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)
  • cloud.google.com
    • Triggering command: /dependabot-proxy /dependabot-proxy --object-format=--root /usr/lib/git-cor/var/run/docker/runtime-runc/moby /usr/bin/git tag tformat /usr/lib/git-corjson /home/dependabot--systemd-cgroup REDACTED https://github.conoffline e/git git init�� e=false --object-format=sha1 e/git-remote-https om/davecgh/go-sprm %H %ct %D (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)
  • go.etcd.io
    • Triggering command: /dependabot-proxy /dependabot-proxy create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64/init.pid fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy DROP (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)
  • go.mongodb.org
    • Triggering command: /dependabot-proxy /dependabot-proxy create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64/init.pid fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy DROP (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)
  • go.opentelemetry.io
    • Triggering command: /dependabot-proxy /dependabot-proxy create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64/init.pid fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy DROP (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)
  • go.uber.org
    • Triggering command: /dependabot-proxy /dependabot-proxy create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64/init.pid fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy DROP (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)
  • go.yaml.in
    • Triggering command: /dependabot-proxy /dependabot-proxy create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64/init.pid fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy DROP (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)
  • google.golang.org
    • Triggering command: /dependabot-proxy /dependabot-proxy create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64/init.pid fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy DROP (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy --object-format=--root /usr/lib/git-cor/var/run/docker/runtime-runc/moby /usr/bin/git tag tformat /usr/lib/git-corjson /home/dependabot--systemd-cgroup REDACTED https://github.conoffline e/git git init�� e=false --object-format=sha1 e/git-remote-https om/davecgh/go-sprm %H %ct %D (dns block)
  • gopkg.in
    • Triggering command: /dependabot-proxy /dependabot-proxy create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64/init.pid fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy DROP (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy --object-format=--root /usr/lib/git-cor/var/run/docker/runtime-runc/moby /usr/bin/git tag tformat /usr/lib/git-corjson /home/dependabot--systemd-cgroup REDACTED https://github.conoffline e/git git init�� e=false --object-format=sha1 e/git-remote-https om/davecgh/go-sprm %H %ct %D (dns block)
  • gotest.tools
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy --object-format=--root /usr/lib/git-cor/var/run/docker/runtime-runc/moby /usr/bin/git tag tformat /usr/lib/git-corjson /home/dependabot--systemd-cgroup REDACTED https://github.conoffline e/git git init�� e=false --object-format=sha1 e/git-remote-https om/davecgh/go-sprm %H %ct %D (dns block)
  • k8s.io
    • Triggering command: /dependabot-proxy /dependabot-proxy create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64/init.pid fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy DROP (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)
  • modernc.org
    • Triggering command: /dependabot-proxy /dependabot-proxy create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64/init.pid fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy DROP (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)
  • sigs.k8s.io
    • Triggering command: /dependabot-proxy /dependabot-proxy create --bundle /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 --pid-file /run/containerd/io.containerd.runtime.v2.task/moby/fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64/init.pid fa08af08a30783e903546a7bdcdf0cdca75ddfcba1de21b5a6cdc34ce7a45d64 (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy DROP (dns block)
    • Triggering command: /dependabot-proxy /dependabot-proxy ag /home/dependabot/var/run/docker/runtime-runc/moby /usr/bin/git conf�� extensions.objec--log-format git /home/dependabot--systemd-cgroup 4898cf30986429ea/usr/lib/networkd-dispatcher/off.d/chrony-onoffline test noop git conf�� (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from intel352 May 18, 2026 20:23
@codecov
Copy link
Copy Markdown

codecov Bot commented May 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@intel352 intel352 merged commit e2a38e1 into main May 19, 2026
28 checks passed
@intel352 intel352 deleted the dependabot/go_modules/github.com/tochemey/goakt/v4-4.2.4 branch May 19, 2026 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants