Skip to content

Fix plugin scaffold release versioning#872

Merged
intel352 merged 2 commits into
mainfrom
fix/871-plugin-version-sync-docs
Jun 7, 2026
Merged

Fix plugin scaffold release versioning#872
intel352 merged 2 commits into
mainfrom
fix/871-plugin-version-sync-docs

Conversation

@intel352
Copy link
Copy Markdown
Contributor

@intel352 intel352 commented Jun 7, 2026

Summary

  • keep generated plugin.json versions at the stable 0.0.0 sentinel instead of creating version sync churn
  • inject release tags into generated plugin binaries with ldflags and sdk.ResolveBuildVersion
  • add wfctl validate-contract release gates and current SHA-pinned action refs to plugin scaffolds
  • add package and field docs for the plugin authoring/runtime SDK surfaces

Closes #871

TDD invariant proof

With fix reverted:

$ GOWORK=off go test ./plugin/sdk -run 'TestTemplateGenerator(Generate$|Defaults|ReleaseVersionComesFromBuildMetadata|ReleaseWorkflowUsesContractGateAndCurrentActions)' -count=1
FAIL — generated plugin.json used release versions and release.yml lacked wfctl contract gates/current actions

With fix restored:

$ GOWORK=off go test ./plugin/sdk -run 'TestTemplateGenerator(Generate$|Defaults|ReleaseVersionComesFromBuildMetadata|ReleaseWorkflowUsesContractGateAndCurrentActions)' -count=1
PASS

Verification

  • GOWORK=off go test ./plugin/sdk ./plugin/external/sdk ./cmd/wfctl -run 'TestTemplateGenerator|TestRunPluginInit' -count=1
  • GOWORK=off go test ./cmd/wfctl -run 'TestInitTemplatesIncludeGithubWorkflows|TestRunInitPluginTemplate|TestRunInitUIPluginTemplate' -count=1
  • GOWORK=off go test ./plugin/... ./cmd/wfctl -count=1
  • GOWORK=off go test ./... -count=1
  • GOWORK=off go doc ./plugin/sdk GenerateOptions
  • GOWORK=off go doc ./plugin/external/sdk PluginManifest
  • GOWORK=off go doc ./plugin/external/sdk Serve
  • GOWORK=off go doc ./plugin

Copilot AI review requested due to automatic review settings June 7, 2026 00:59
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the plugin scaffolding/tooling so generated plugin repositories avoid plugin.json version churn by committing a stable 0.0.0 sentinel, while ensuring release builds still expose the real version via ldflags + sdk.ResolveBuildVersion. It also tightens the generated release workflows (pinned action SHAs + release contract gates) and adds/refreshes package docs for the plugin SDK surfaces.

Changes:

  • Keep generated plugin.json versions fixed at 0.0.0 (sentinel) instead of syncing to release versions.
  • Inject release version metadata into generated plugin binaries (GoReleaser ldflags / Version var + ResolveBuildVersion) and wire it through sdk.WithBuildVersion.
  • Add/refresh scaffolded release workflows (wfctl contract validation steps, pinned action refs) and add package/API docs.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
plugin/sdk/manifest.go Adjusts top-of-file documentation framing for the plugin SDK manifest helpers.
plugin/sdk/generator.go Changes scaffold defaults (sentinel versioning, Go version, GoReleaser ldflags) and updates generated release workflow steps.
plugin/sdk/generator_test.go Updates/extends generator tests to assert sentinel versioning + build-version injection + workflow contents.
plugin/sdk/doc.go Adds package documentation for the authoring/scaffolding SDK.
plugin/external/sdk/interfaces.go Adds richer docs for runtime SDK interfaces/types and exports telemetry aliases for plugin authors.
plugin/external/sdk/doc.go Adds package documentation and a canonical Serve(..., WithBuildVersion(...)) example for runtime SDK consumers.
plugin/doc.go Adds package documentation describing host-side plugin primitives and where plugin authors should look instead.
cmd/wfctl/templates/ui-plugin/plugin.go.tmpl Adds Version var + resolves runtime version via ResolveBuildVersion.
cmd/wfctl/templates/ui-plugin/main.go.tmpl Passes build version into sdk.Serve via sdk.WithBuildVersion.
cmd/wfctl/templates/ui-plugin/.github/workflows/release.yml.tmpl Adds wfctl setup + contract validation gates + ldflags version injection to the UI plugin release workflow template.
cmd/wfctl/templates/plugin/plugin.go.tmpl Adds Version var + resolves runtime version via ResolveBuildVersion.
cmd/wfctl/templates/plugin/main.go.tmpl Passes build version into sdk.Serve via sdk.WithBuildVersion.
cmd/wfctl/templates/plugin/.github/workflows/release.yml.tmpl Adds wfctl setup + contract validation gates + ldflags version injection to the plugin release workflow template.
cmd/wfctl/plugin.go Deprecates -version for wfctl plugin init and defaults it to the stable sentinel.
cmd/wfctl/plugin_init_test.go Asserts wfctl plugin init produces plugin.json with the stable 0.0.0 sentinel version.

Comment thread plugin/sdk/generator.go Outdated
Comment thread plugin/sdk/generator.go Outdated
Comment thread cmd/wfctl/templates/plugin/.github/workflows/release.yml.tmpl Outdated
Comment thread cmd/wfctl/templates/plugin/.github/workflows/release.yml.tmpl Outdated
Comment thread cmd/wfctl/templates/ui-plugin/.github/workflows/release.yml.tmpl Outdated
Comment thread cmd/wfctl/templates/ui-plugin/.github/workflows/release.yml.tmpl Outdated
Comment thread plugin/sdk/generator_test.go
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 7, 2026

Codecov Report

❌ Patch coverage is 96.00000% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
plugin/sdk/generator.go 95.83% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 7, 2026

⏱ Benchmark Results

No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
baseline-bench.txt:304: parsing iteration count: invalid syntax
baseline-bench.txt:342923: parsing iteration count: invalid syntax
baseline-bench.txt:606480: parsing iteration count: invalid syntax
baseline-bench.txt:958525: parsing iteration count: invalid syntax
baseline-bench.txt:1284299: parsing iteration count: invalid syntax
baseline-bench.txt:1560123: parsing iteration count: invalid syntax
benchmark-results.txt:304: parsing iteration count: invalid syntax
benchmark-results.txt:325733: parsing iteration count: invalid syntax
benchmark-results.txt:672270: parsing iteration count: invalid syntax
benchmark-results.txt:988138: parsing iteration count: invalid syntax
benchmark-results.txt:1309907: parsing iteration count: invalid syntax
benchmark-results.txt:1600086: parsing iteration count: invalid syntax
goos: linux
goarch: amd64
pkg: github.com/GoCodeAlone/workflow/dynamic
cpu: AMD EPYC 7763 64-Core Processor                
                            │ baseline-bench.txt │
                            │       sec/op       │
InterpreterCreation-4               7.944m ± 60%
ComponentLoad-4                     3.566m ±  1%
ComponentExecute-4                  1.917µ ±  1%
PoolContention/workers-1-4          1.079µ ±  4%
PoolContention/workers-2-4          1.073µ ±  2%
PoolContention/workers-4-4          1.073µ ±  1%
PoolContention/workers-8-4          1.080µ ±  1%
PoolContention/workers-16-4         1.081µ ±  1%
ComponentLifecycle-4                3.604m ±  1%
SourceValidation-4                  2.299µ ±  1%
RegistryConcurrent-4                793.6n ±  2%
LoaderLoadFromString-4              3.606m ±  1%
geomean                             18.73µ

                            │ 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: AMD EPYC 9V74 80-Core Processor                
                            │ benchmark-results.txt │
                            │        sec/op         │
InterpreterCreation-4                  6.985m ± 57%
ComponentLoad-4                        3.521m ± 11%
ComponentExecute-4                     1.822µ ±  1%
PoolContention/workers-1-4             1.027µ ±  2%
PoolContention/workers-2-4             1.034µ ±  3%
PoolContention/workers-4-4             1.010µ ±  1%
PoolContention/workers-8-4             1.012µ ±  1%
PoolContention/workers-16-4            1.018µ ±  3%
ComponentLifecycle-4                   3.633m ±  2%
SourceValidation-4                     2.094µ ±  1%
RegistryConcurrent-4                   793.7n ±  7%
LoaderLoadFromString-4                 3.572m ±  1%
geomean                                17.88µ

                            │ 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 7763 64-Core Processor                
                                  │ baseline-bench.txt │
                                  │       sec/op       │
CircuitBreakerDetection-4                  287.8n ± 3%
CircuitBreakerExecution_Success-4          21.47n ± 1%
CircuitBreakerExecution_Failure-4          65.26n ± 0%
geomean                                    73.88n

                                  │ 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: AMD EPYC 9V74 80-Core Processor                
                                  │ benchmark-results.txt │
                                  │        sec/op         │
CircuitBreakerDetection-4                     298.4n ± 5%
CircuitBreakerExecution_Success-4             22.68n ± 0%
CircuitBreakerExecution_Failure-4             70.94n ± 0%
geomean                                       78.30n

                                  │ 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 7763 64-Core Processor                
                                 │ baseline-bench.txt │
                                 │       sec/op       │
IaCStateBackend_InProcess-4              307.8n ± 31%
IaCStateBackend_GRPC-4                   9.681m ±  3%
JQTransform_Simple-4                     689.9n ± 50%
JQTransform_ObjectConstruction-4         1.646µ ±  0%
JQTransform_ArraySelect-4                3.575µ ±  3%
JQTransform_Complex-4                    41.44µ ±  2%
JQTransform_Throughput-4                 2.024µ ±  1%
SSEPublishDelivery-4                     66.70n ±  1%
geomean                                  4.016µ

                                 │ baseline-bench.txt │
                                 │        B/op        │
IaCStateBackend_InProcess-4              416.0 ± 0%
IaCStateBackend_GRPC-4                 5.850Mi ± 9%
JQTransform_Simple-4                   1.273Ki ± 0%
JQTransform_ObjectConstruction-4       1.773Ki ± 0%
JQTransform_ArraySelect-4              2.625Ki ± 0%
JQTransform_Complex-4                  16.31Ki ± 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.838k ± 0%
JQTransform_Simple-4                     10.00 ± 0%
JQTransform_ObjectConstruction-4         15.00 ± 0%
JQTransform_ArraySelect-4                30.00 ± 0%
JQTransform_Complex-4                    328.0 ± 0%
JQTransform_Throughput-4                 17.00 ± 0%
SSEPublishDelivery-4                     0.000 ± 0%
geomean                                             ¹
¹ summaries must be >0 to compute geomean

cpu: AMD EPYC 9V74 80-Core Processor                
                                 │ benchmark-results.txt │
                                 │        sec/op         │
IaCStateBackend_InProcess-4                 299.5n ± 34%
IaCStateBackend_GRPC-4                      10.32m ±  4%
JQTransform_Simple-4                        674.6n ± 30%
JQTransform_ObjectConstruction-4            1.486µ ±  2%
JQTransform_ArraySelect-4                   3.525µ ±  3%
JQTransform_Complex-4                       42.10µ ±  1%
JQTransform_Throughput-4                    1.782µ ±  0%
SSEPublishDelivery-4                        64.86n ±  1%
geomean                                     3.897µ

                                 │ benchmark-results.txt │
                                 │         B/op          │
IaCStateBackend_InProcess-4                 416.0 ± 0%
IaCStateBackend_GRPC-4                    5.862Mi ± 9%
JQTransform_Simple-4                      1.273Ki ± 0%
JQTransform_ObjectConstruction-4          1.773Ki ± 0%
JQTransform_ArraySelect-4                 2.625Ki ± 0%
JQTransform_Complex-4                     16.31Ki ± 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.859k ± 0%
JQTransform_Simple-4                        10.00 ± 0%
JQTransform_ObjectConstruction-4            15.00 ± 0%
JQTransform_ArraySelect-4                   30.00 ± 0%
JQTransform_Complex-4                       328.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 7763 64-Core Processor                
                                    │ baseline-bench.txt │
                                    │       sec/op       │
SchemaValidation_Simple-4                   1.093µ ± 14%
SchemaValidation_AllFields-4                1.650µ ±  1%
SchemaValidation_FormatValidation-4         1.573µ ±  4%
SchemaValidation_ManySchemas-4              1.805µ ±  9%
geomean                                     1.504µ

                                    │ 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: AMD EPYC 9V74 80-Core Processor                
                                    │ benchmark-results.txt │
                                    │        sec/op         │
SchemaValidation_Simple-4                       1.095µ ± 5%
SchemaValidation_AllFields-4                    1.633µ ± 2%
SchemaValidation_FormatValidation-4             1.581µ ± 1%
SchemaValidation_ManySchemas-4                  1.593µ ± 2%
geomean                                         1.456µ

                                    │ 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 7763 64-Core Processor                
                                   │ baseline-bench.txt │
                                   │       sec/op       │
EventStoreAppend_InMemory-4                1.229µ ± 11%
EventStoreAppend_SQLite-4                  1.581m ±  9%
GetTimeline_InMemory/events-10-4           13.80µ ±  4%
GetTimeline_InMemory/events-50-4           77.48µ ±  5%
GetTimeline_InMemory/events-100-4          155.0µ ± 20%
GetTimeline_InMemory/events-500-4          640.7µ ±  3%
GetTimeline_InMemory/events-1000-4         1.306m ±  2%
GetTimeline_SQLite/events-10-4             71.52µ ±  3%
GetTimeline_SQLite/events-50-4             215.5µ ±  2%
GetTimeline_SQLite/events-100-4            391.9µ ±  2%
GetTimeline_SQLite/events-500-4            1.759m ±  2%
GetTimeline_SQLite/events-1000-4           3.462m ±  1%
geomean                                    215.3µ

                                   │ baseline-bench.txt │
                                   │        B/op        │
EventStoreAppend_InMemory-4                  769.0 ± 8%
EventStoreAppend_SQLite-4                  1.981Ki ± 3%
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.18Ki

                                   │ 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: AMD EPYC 9V74 80-Core Processor                
                                   │ benchmark-results.txt │
                                   │        sec/op         │
EventStoreAppend_InMemory-4                   1.123µ ± 16%
EventStoreAppend_SQLite-4                     997.3µ ±  4%
GetTimeline_InMemory/events-10-4              12.82µ ±  3%
GetTimeline_InMemory/events-50-4              72.40µ ±  2%
GetTimeline_InMemory/events-100-4             146.1µ ± 22%
GetTimeline_InMemory/events-500-4             583.6µ ±  5%
GetTimeline_InMemory/events-1000-4            1.189m ±  1%
GetTimeline_SQLite/events-10-4                58.64µ ±  1%
GetTimeline_SQLite/events-50-4                197.2µ ±  0%
GetTimeline_SQLite/events-100-4               367.8µ ±  1%
GetTimeline_SQLite/events-500-4               1.721m ±  1%
GetTimeline_SQLite/events-1000-4              3.387m ±  0%
geomean                                       192.6µ

                                   │ benchmark-results.txt │
                                   │         B/op          │
EventStoreAppend_InMemory-4                     799.5 ± 7%
EventStoreAppend_SQLite-4                     1.984Ki ± 2%
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.41Ki

                                   │ 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.

@intel352 intel352 merged commit f03ce51 into main Jun 7, 2026
26 checks passed
@intel352 intel352 deleted the fix/871-plugin-version-sync-docs branch June 7, 2026 01:28
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.

Fix generated plugin.json version sync PR automation

2 participants