Skip to content

refactor(iac): delete bespoke in-core infra-admin surface (infra-admin migration PR-3)#838

Merged
intel352 merged 2 commits into
mainfrom
refactor/delete-infra-admin-core-2026-06-02T0104
Jun 2, 2026
Merged

refactor(iac): delete bespoke in-core infra-admin surface (infra-admin migration PR-3)#838
intel352 merged 2 commits into
mainfrom
refactor/delete-infra-admin-core-2026-06-02T0104

Conversation

@intel352
Copy link
Copy Markdown
Contributor

@intel352 intel352 commented Jun 2, 2026

PR-3 of the infra-admin plugin migration (after PR-1 #836 + PR-2 #837, both merged). Deletes the bespoke in-core infra-admin surface now that its replacement (general step.iac_provider_* steps + provider service-registration) is merged.

Tasks

  • T10 delete module/infra_admin.go (+ tests) + iac/admin/* (handler, proto, catalog, audit, ui, ui_dist, testdata) + the infra.admin module-type registration in engine.go + the DOCUMENTATION.md row. 59 files, −16,102 lines. Zero external importers (survey clean, re-confirmed); no dangling refs; build green.
  • Fix-forward: declare the reason output on step.iac_provider_drift's schema (was emitted but undeclared — Copilot feat(iac): step.iac_provider_* general steps — stateless two-phase (infra-admin migration PR-2) #837).
  • T11 boot smoke: engine builds + boots without infra.admin; a config with type: infra.admin now fails to load with "unknown module type" (negative test proving the deletion took effect).

ADR 0011 (plugin-not-core). No back-compat (sole consumer; scenario 92 is replaced in PR-5). After merge: cut the workflow release (Task 23) so the plugin (PR-4) + scenario (PR-5) can pin it.

🤖 Generated with Claude Code

intel352 and others added 2 commits June 2, 2026 04:43
… by step.iac_provider_* + plugin SPA)

Removes the entire iac/admin/ package tree (audit, catalog, handler, proto,
testdata, ui assets), module/infra_admin*.go (5 files), cmd/wfctl/infra_admin*.go
(3 files), and engine_infra_admin_test.go. The factory registration and
schema.RegisterModuleType("infra.admin") are removed from engine.go. The
`wfctl infra admin` subcommand and its usage line are removed from infra.go.
The proto-vendor-staleness CI workflow and its script are deleted.
Makefile targets test-integration-admin and vendor-infra-proto are removed.
iac/wfctlhelpers/desired_hash_test.go: drops TestDesiredStateHash_MatchesHandlerInlined
(cross-package divergence guard against handler.DesiredHash, which is gone).

Also folds in: fix(schema): declare iac_provider_drift 'reason' output.
Adds {Key:"reason", Type:"string", Description:"Why drift detection is
unsupported (set only when supported=false)"} to the step.iac_provider_drift
Outputs in schema/step_schema_builtins.go, matching the key the step emits
on the ErrProviderMethodUnimplemented path.

Files deleted: 59 (iac/admin/* 46, module/infra_admin* 5, cmd/wfctl/infra_admin* 3,
engine_infra_admin_test.go 1, .github/workflows/proto-vendor-staleness.yml 1,
scripts/check-vendored-proto.sh 1, plus 2 Makefile targets).
Files modified: engine.go, cmd/wfctl/infra.go, Makefile,
iac/wfctlhelpers/desired_hash_test.go, schema/step_schema_builtins.go.
GOWORK=off go build ./... && go test ./...: all green, 0 lint issues.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…admin rejected

Boot smoke transcript (binaries built from this commit):

POSITIVE (engine starts with valid config):
  $ wfctl validate example/api-server-config.yaml
  PASS /…/example/api-server-config.yaml (5 modules, 1 workflows, 0 triggers)
  exit code: 0

NEGATIVE (infra.admin type is gone — config rejected at load):
  Config:
    modules:
      - name: bad-admin
        type: infra.admin
  $ server -config /tmp/infra-admin-negative-test.yaml
  2026/06/02 04:43:04 Setup error: failed to build engine: failed to build
  workflow: config validation failed: config validation failed with 1 error(s):
    - modules[0].type: unknown module type "infra.admin"
  exit code: 1

Full suite: GOWORK=off go test ./... → all packages ok, 0 FAIL
Lint: golangci-lint run --new-from-rev=origin/main → 0 issues

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 2, 2026 08:45
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

PR-3 of the infra-admin plugin migration: deletes the bespoke in-core infra.admin surface (host module, handler library, catalog, audit writer, vendored proto, UI assets, Makefile targets, CI workflow, and CLI subcommand) now that general step.iac_provider_* steps in PR-2 replace it. Also declares the reason output on step.iac_provider_drift's schema (fix-forward for prior Copilot feedback).

Changes:

  • Delete iac/admin/* (handler, catalog, audit, ui, ui_dist, testdata, proto), module/infra_admin*.go and tests, cmd/wfctl/infra_admin* files, the infra.admin factory registration in engine.go, the infra admin wfctl subcommand, the proto-vendor-staleness.yml workflow, and vendor-infra-proto/test-integration-admin Makefile targets.
  • Declare reason output on step.iac_provider_drift schema (was emitted at runtime but undeclared).
  • Strip the divergence-guard test in iac/wfctlhelpers/desired_hash_test.go that depended on the deleted iac/admin/handler package.

Reviewed changes

Copilot reviewed 63 out of 63 changed files in this pull request and generated no comments.

Show a summary per file
File Description
schema/step_schema_builtins.go Adds the previously-undeclared reason output to step.iac_provider_drift.
engine.go Removes engine-side registration of the infra.admin module factory + schema type.
engine_infra_admin_test.go Deletes the factory-registration test (paired with the deletion).
Makefile Drops vendor-infra-proto + test-integration-admin targets and their entries from .PHONY.
scripts/check-vendored-proto.sh Deletes the vendored-proto staleness check script.
.github/workflows/proto-vendor-staleness.yml Deletes the CI workflow that ran the staleness check.
iac/admin/** (many files) Deletes the handler library, catalog, region/engine catalogs, audit writer, vendored proto fixture, UI HTML/JS/CSS, and all paired tests.
module/infra_admin_clock.go Deletes the test-clock seam used only by the host module.
iac/wfctlhelpers/desired_hash_test.go Drops the cross-package divergence-guard test against the deleted handler.DesiredHash.
cmd/wfctl/infra.go Removes the admin subcommand dispatch + usage entry.
cmd/wfctl/infra_admin_parity_test.go, infra_admin_audit_test.go Deletes CLI-side tests for the removed infra admin subcommand.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 2, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

⏱ Benchmark Results

No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
baseline-bench.txt:308: parsing iteration count: invalid syntax
baseline-bench.txt:324732: parsing iteration count: invalid syntax
baseline-bench.txt:626380: parsing iteration count: invalid syntax
baseline-bench.txt:1130054: parsing iteration count: invalid syntax
baseline-bench.txt:1695579: parsing iteration count: invalid syntax
baseline-bench.txt:2012737: parsing iteration count: invalid syntax
benchmark-results.txt:298: parsing iteration count: invalid syntax
benchmark-results.txt:428291: parsing iteration count: invalid syntax
benchmark-results.txt:848109: parsing iteration count: invalid syntax
benchmark-results.txt:1228363: parsing iteration count: invalid syntax
benchmark-results.txt:1625528: parsing iteration count: invalid syntax
benchmark-results.txt:2021937: 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               10.20m ± 47%
ComponentLoad-4                     3.536m ±  0%
ComponentExecute-4                  1.908µ ±  1%
PoolContention/workers-1-4          1.078µ ±  4%
PoolContention/workers-2-4          1.105µ ±  4%
PoolContention/workers-4-4          1.081µ ±  4%
PoolContention/workers-8-4          1.075µ ±  1%
PoolContention/workers-16-4         1.071µ ±  1%
ComponentLifecycle-4                3.540m ±  1%
SourceValidation-4                  2.277µ ±  1%
RegistryConcurrent-4                772.0n ±  6%
LoaderLoadFromString-4              3.542m ±  1%
geomean                             19.02µ

                            │ 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                 3.960m ± 101%
ComponentLoad-4                       2.686m ±   0%
ComponentExecute-4                    1.409µ ±   1%
PoolContention/workers-1-4            786.1n ±   2%
PoolContention/workers-2-4            783.3n ±   3%
PoolContention/workers-4-4            782.7n ±   1%
PoolContention/workers-8-4            803.2n ±   3%
PoolContention/workers-16-4           799.8n ±   1%
ComponentLifecycle-4                  2.759m ±   2%
SourceValidation-4                    1.645µ ±   1%
RegistryConcurrent-4                  585.6n ±   5%
LoaderLoadFromString-4                2.779m ±   1%
geomean                               13.42µ

                            │ 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                  286.6n ± 4%
CircuitBreakerExecution_Success-4          21.52n ± 0%
CircuitBreakerExecution_Failure-4          66.35n ± 0%
geomean                                    74.24n

                                  │ 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                     237.4n ± 2%
CircuitBreakerExecution_Success-4             17.61n ± 0%
CircuitBreakerExecution_Failure-4             55.23n ± 1%
geomean                                       61.34n

                                  │ 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              345.8n ± 15%
IaCStateBackend_GRPC-4                   9.410m ±  3%
JQTransform_Simple-4                     692.9n ± 25%
JQTransform_ObjectConstruction-4         1.437µ ±  1%
JQTransform_ArraySelect-4                3.269µ ±  1%
JQTransform_Complex-4                    38.12µ ±  1%
JQTransform_Throughput-4                 1.753µ ±  1%
SSEPublishDelivery-4                     64.73n ±  0%
geomean                                  3.825µ

                                 │ baseline-bench.txt │
                                 │        B/op        │
IaCStateBackend_InProcess-4             416.0 ±  0%
IaCStateBackend_GRPC-4                5.802Mi ± 12%
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.833k ± 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                 227.6n ± 14%
IaCStateBackend_GRPC-4                      8.046m ±  6%
JQTransform_Simple-4                        534.1n ± 16%
JQTransform_ObjectConstruction-4            1.145µ ±  1%
JQTransform_ArraySelect-4                   2.948µ ±  4%
JQTransform_Complex-4                       33.89µ ±  3%
JQTransform_Throughput-4                    1.383µ ±  1%
SSEPublishDelivery-4                        49.57n ±  1%
geomean                                     3.059µ

                                 │ benchmark-results.txt │
                                 │         B/op          │
IaCStateBackend_InProcess-4                 416.0 ± 0%
IaCStateBackend_GRPC-4                    5.624Mi ± 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.101µ ±  6%
SchemaValidation_AllFields-4                1.651µ ±  2%
SchemaValidation_FormatValidation-4         1.590µ ±  2%
SchemaValidation_ManySchemas-4              1.839µ ± 10%
geomean                                     1.519µ

                                    │ 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                      846.0n ± 15%
SchemaValidation_AllFields-4                   1.260µ ±  2%
SchemaValidation_FormatValidation-4            1.219µ ±  1%
SchemaValidation_ManySchemas-4                 1.236µ ±  1%
geomean                                        1.126µ

                                    │ 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.237µ ± 9%
EventStoreAppend_SQLite-4                   1.581m ± 5%
GetTimeline_InMemory/events-10-4            13.94µ ± 5%
GetTimeline_InMemory/events-50-4            79.11µ ± 3%
GetTimeline_InMemory/events-100-4           158.8µ ± 3%
GetTimeline_InMemory/events-500-4           828.2µ ± 3%
GetTimeline_InMemory/events-1000-4          1.671m ± 2%
GetTimeline_SQLite/events-10-4              105.5µ ± 4%
GetTimeline_SQLite/events-50-4              246.1µ ± 1%
GetTimeline_SQLite/events-100-4             417.1µ ± 1%
GetTimeline_SQLite/events-500-4             1.790m ± 1%
GetTimeline_SQLite/events-1000-4            3.490m ± 1%
geomean                                     237.4µ

                                   │ baseline-bench.txt │
                                   │        B/op        │
EventStoreAppend_InMemory-4                  808.5 ± 7%
EventStoreAppend_SQLite-4                  1.982Ki ± 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.47Ki

                                   │ 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                  757.8n ±   4%
EventStoreAppend_SQLite-4                    2.468m ± 159%
GetTimeline_InMemory/events-10-4             10.90µ ±   5%
GetTimeline_InMemory/events-50-4             45.29µ ±  38%
GetTimeline_InMemory/events-100-4            91.04µ ±   3%
GetTimeline_InMemory/events-500-4            465.4µ ±   2%
GetTimeline_InMemory/events-1000-4           945.3µ ±   1%
GetTimeline_SQLite/events-10-4               69.32µ ±   1%
GetTimeline_SQLite/events-50-4               179.3µ ±   1%
GetTimeline_SQLite/events-100-4              312.0µ ±   0%
GetTimeline_SQLite/events-500-4              1.351m ±   0%
GetTimeline_SQLite/events-1000-4             2.645m ±   1%
geomean                                      168.2µ

                                   │ benchmark-results.txt │
                                   │         B/op          │
EventStoreAppend_InMemory-4                     805.5 ± 8%
EventStoreAppend_SQLite-4                     1.986Ki ± 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.46Ki

                                   │ benchmark-results.txt │
                                   │       allocs/op       │
EventStoreAppend_InMemory-4                     7.000 ± 0%
EventStoreAppend_SQLite-4                       53.00 ± 2%
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 e9a3c9e into main Jun 2, 2026
29 checks passed
@intel352 intel352 deleted the refactor/delete-infra-admin-core-2026-06-02T0104 branch June 2, 2026 08:59
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.

2 participants