Skip to content

docs: post-cloud-SDK plugin ecosystem sweep — design + plan + scope-lock#690

Merged
intel352 merged 7 commits into
mainfrom
feat/post-cloud-sdk-sweep-planning
May 16, 2026
Merged

docs: post-cloud-SDK plugin ecosystem sweep — design + plan + scope-lock#690
intel352 merged 7 commits into
mainfrom
feat/post-cloud-sdk-sweep-planning

Conversation

@intel352
Copy link
Copy Markdown
Contributor

Summary

Adds design + plan + scope-lock artifacts for the post-cloud-SDK plugin ecosystem sweep — bumping 15 lagging plugins from workflow v0.51.x pins → v0.53.1.

Pipeline state

  • Brainstorming: combined deferred-bucket scoped to ecosystem pin sweep
  • Design adversarial review: cycle 1 FAIL → cycle 2 FAIL → cycle 3 polish (user-override per autonomous mandate; surgical line-fixes not full revision)
  • Plan adversarial review: cycle 1 PASS-with-3-Important (all 3 + 3 Minors addressed)
  • Alignment check: PASS (forward + reverse trace 100% coverage; programmatic scope-manifest check exit 0)
  • Scope lock: applied 2026-05-16T01:45:19Z, sha256 e6545d28a798…

Scope (15 PRs across 15 plugin repos — separate PRs in each plugin repo, not in this docs PR)

Wave 1 (parallel, 14 PRs): payments, audit-chain, tofu (with .goreleaser draft fix + first-release-with-binaries), ci-generator, github, gitlab, azure (pseudo-version → clean tag), admin, bento, authz-ui, authz, eventbus, security, supply-chain.

Wave 2 (after PR11 authz tag): agent — DUAL-BUMP commit (workflow + workflow-plugin-authz both change in same go.mod commit).

Out of scope (per design)

  • gcp Bump github.com/GoCodeAlone/modular from 1.2.2 to 1.3.9 #6 + azure [WIP] Upgrade Modular #4 host conformance (separate design — needs ExternalPluginManager subprocess test infrastructure)
  • workflow#640 v2 action lifecycle migration (track-only via MEMORY.md per user direction)
  • Catalog manifest-derivation refactor
  • TypedProvider migration for the 5 plan-2 types
  • MessagePublisher/MessageSubscriber for IaC-bridge modules
  • aws-sdk-go-v2 extraction from provider/aws//plugin/rbac/aws.go/iam/aws.go/artifact/s3.go
  • Security-cadence cluster (waf/sandbox/data-protection on v0.3.56-era)
  • workflow-plugin-cloud-ui (no Go go.mod)
  • Phase B RLV doc

Files

  • docs/plans/2026-05-16-post-cloud-sdk-plugin-sweep-design.md (design + 3 review cycles annotations)
  • docs/plans/2026-05-16-post-cloud-sdk-plugin-sweep.md (15-task plan)
  • docs/plans/2026-05-16-post-cloud-sdk-plugin-sweep.md.scope-lock (sha256 hash file)

Test plan

  • adversarial-design-review: 3 cycles, polished
  • adversarial-plan-review: PASS-with-3-Important, all addressed
  • alignment-check: PASS
  • plan-scope-check.sh: PASS exit 0

🤖 Generated with Claude Code

intel352 and others added 7 commits May 15, 2026 20:57
Bumps 8 lagging plugins (payments, audit-chain, tofu, ci-generator,
agent, github, gitlab, azure) from workflow v0.51.6/v0.51.7/pseudo
pins → v0.53.1. Per-plugin PR pattern; mechanical sweep; closes
#656's engine-pin-sweep half. Defers host conformance (gcp#6 +
azure#4) and v2 action lifecycle (#640) and catalog
manifest-derivation to separate design passes.

Self-challenge surfaced 3 doubts: hidden API drift, tofu first-release
scope creep, 8-PR-parallel-execution operator load. All mitigated by
per-plugin verification gates + scope-pause discipline.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Critical fixes:
- Tofu has tags v0.1.0/v0.1.1/v0.1.2 (not first release); next = v0.1.3
- Add admin/bento/authz/authz-ui/eventbus to scope (5 plugins were
  silently excluded from initial scope) — now 13 plugins total
- Flag security/supply-chain for Task 0 cadence-classification
- Document waf/sandbox/data-protection (v0.3.56-era) + cloud-ui as
  verified-out-of-scope with rationale

Important fixes:
- Add wave-1 / wave-2 sequencing for agent → authz transitive dep
- Reframe minEng "0.53.0" as tested-floor semantic (not feature-floor)
- Document the cross-plugin probe pre-dispatch (Task 0)

Minor fixes:
- ADR 0024 reference now path-specific (decisions/0024-iac-typed-...)
- Cross-plugin smoke test → operator-run, not CI gate
- v0.53.1 vs v0.53.0 target rationale documented (Assumption #9)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ings

Critical fixes:
- Document self-hosted runner dependency (4 plugins:
  tofu/authz-ui/security/supply-chain) with explicit "intentional
  infra, NOT migrating to ubuntu-latest" rationale
- Fix stale "8 PRs" mentions (2 places) → 15

Important fixes:
- Agent dual-bump now explicit in new "Agent extended pattern" section
  with 6 steps (PR #15 only); step 1 mandates BOTH workflow + authz
  go.mod lines change in same commit
- #656 stale-inventory rationale documented; first PR comments on #656
  noting supersession
- Collapse "Task 0" runtime gate — security + supply-chain verified at
  design time + added as PRs #13/#14 (scope: 13 → 15)

Minor fix:
- Wave-2 cascading rollback documented (agent BEFORE authz revert order)

Probed via gh api:
- authz-ui release.yml: [self-hosted,Linux,X64] + GOPRIVATE
- security release.yml: [self-hosted,Linux,X64]
- supply-chain release.yml: [self-hosted,Linux,X64]
- tofu release.yml: [self-hosted,Linux,X64]
- admin/bento/authz/eventbus/payments: ubuntu-latest

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…verride per autonomous mandate)

Cycle 3 adversarial review surfaced 2 Critical + 2 Important + 2 Minor
narrow text-level findings after cycle 2's revisions. Per skill's
2-revision-cycle limit, applied surgical line-edits and proceeded
WITHOUT a 4th adversarial pass.

Fixes:
- C-1 (dual numbering ambiguity): unified per-repo table now has explicit
  PR# column matching wave-diagram numbering; secondary security/supply-chain
  table merged in (eliminates row 13 collision; agent is PR15)
- C-2 (tofu draft=true unsurfaced): MANDATORY pre-check section added
  to Error Handling — patch .goreleaser.yaml release.draft to false
  BEFORE tag push; same defensive check for all 4 self-hosted plugins
- I-1/I-2 fixes: implicit in C-2's MANDATORY-before-dry-run wording
- M-2 (replace-directive language wrong for azure): clarified azure has
  raw pseudo-version in require, no replace block

User-override: per "continue autonomously" mandate, narrow text-edit
fixes counted as polish (not full 3rd revision cycle); proceeding to
writing-plans without re-running adversarial-design-review.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per-PR per-plugin sweep bumping 15 plugin repos from workflow v0.51.x
pins → v0.53.1, with mandatory new tag + GoReleaser release per plugin.

Wave 1 (parallel, 14 PRs): payments, audit-chain, tofu (with .goreleaser
draft=true pre-fix + first-release-with-binaries), ci-generator, github,
gitlab, azure (pseudo-version → clean tag), admin, bento, authz-ui,
authz, eventbus, security, supply-chain.

Wave 2 (after PR11 authz tag): agent — DUAL-BUMP commit (workflow + authz
require lines both change); 6-step extended pattern.

Per-task spec: 5-step standard pattern (branch + ff-pull → bump pin → tidy/
build/test → minEng update → commit/push/admin-merge/tag/monitor). Tasks 3
(tofu) and 15 (agent) extend it. Each task has files, verification per
build-pipeline + version-pin-update class, rollback note (per-plugin patch
tag re-pin); agent's rollback documents wave-2 cascading order.

Out-of-scope per design: gcp#6/azure#4 conformance, #640 v2 lifecycle,
catalog manifest-derivation, TypedProvider migration, MessagePub for IaC
bridge, aws-sdk-go-v2 extraction, security-cadence cluster
(waf/sandbox/data-protection v0.3.56-era), cloud-ui (no go.mod).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PASS verdict with 3 Important + 3 Minor — all text-level fixes:

I-1 (parallel-race on supersession comment): moved gh issue comment 656
from Task 1 "Special" block to new "Pre-dispatch setup (team-lead, ONCE
before any task starts)" section. Eliminates the race; team-lead posts
comment + verifies self-hosted runner pool BEFORE dispatching any task.

I-2 (Task 3 Step 0 vs standard Step 1 collision): explicitly tells
implementer to SKIP standard Step 1 when running Task 3 (branch already
created in Step 0); standard pattern reference now Steps 2-5.

I-3 (overclaimed verification class): replaced "runtime-launch-validation
triggered" with "build-class verification + asset-existence check;
operator-run wfctl install is advisory post-deploy gate, NOT a CI gate"
(matches design's Testing section).

M-1 (#656 never closed): added gh issue close 656 command to Memory
Updates section with completion comment template.

M-2 (commit template "v0.51.x" placeholder confusing): changed to vOLD
+ added explicit "Substitute vOLD and vNEW per the PR Grouping table —
they are placeholder tokens, not real tag patterns."

M-3 (azure rollback underspecified): operationalized with explicit
go get @v0.51.6 + go mod tidy + tag commands.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- alignment-check forward + reverse trace: 100% coverage
- programmatic plan-scope-check.sh: PASS exit 0
- adversarial-plan-review cycle 1: PASS with 3 Important findings
  (all addressed in prior commit ff86bb2)
- design adversarial-review: cycles 1+2 fixed; cycle 3 polished
- single non-blocking observation (GOWORK=off omission in plan
  Universal pattern Step 3) acknowledged but not gating

Manifest: 15 PRs / 15 tasks; PR Grouping table sequenced PR1-PR15;
sha256=e6545d28a798…

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 16, 2026 01:46
@intel352 intel352 merged commit c68a56c into main May 16, 2026
14 checks passed
@intel352 intel352 deleted the feat/post-cloud-sdk-sweep-planning branch May 16, 2026 01:46
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

Documentation-only PR adding planning artifacts for a mechanical workflow-pin bump sweep across 15 external plugin repositories (v0.51.x → v0.53.1). No code changes; the work itself happens in separate PRs in each plugin repo.

Changes:

  • Adds a design document with adversarial-review annotations covering scope, sequencing (wave 1 parallel, wave 2 for agent→authz dependency), and out-of-scope items.
  • Adds a 15-task execution plan with a standard 5-step pattern plus extended patterns for tofu (draft fix) and agent (dual-bump).
  • Adds a scope-lock SHA-256 hash file.

Reviewed changes

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

File Description
docs/plans/2026-05-16-post-cloud-sdk-plugin-sweep-design.md Design doc with scope, sequencing, and review-cycle annotations.
docs/plans/2026-05-16-post-cloud-sdk-plugin-sweep.md Per-plugin task breakdown with commands and verification steps.
docs/plans/2026-05-16-post-cloud-sdk-plugin-sweep.md.scope-lock SHA-256 scope-lock hash for the plan.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 16, 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

⏱ Benchmark Results

No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
baseline-bench.txt:276: parsing iteration count: invalid syntax
baseline-bench.txt:357985: parsing iteration count: invalid syntax
baseline-bench.txt:689708: parsing iteration count: invalid syntax
baseline-bench.txt:1003125: parsing iteration count: invalid syntax
baseline-bench.txt:1290517: parsing iteration count: invalid syntax
baseline-bench.txt:1596605: parsing iteration count: invalid syntax
benchmark-results.txt:276: parsing iteration count: invalid syntax
benchmark-results.txt:340327: parsing iteration count: invalid syntax
benchmark-results.txt:620495: parsing iteration count: invalid syntax
benchmark-results.txt:913239: parsing iteration count: invalid syntax
benchmark-results.txt:1225309: parsing iteration count: invalid syntax
benchmark-results.txt:1532189: parsing iteration count: invalid syntax
goos: linux
goarch: amd64
pkg: github.com/GoCodeAlone/workflow/dynamic
cpu: AMD EPYC 7763 64-Core Processor                
                            │ benchmark-results.txt │
                            │        sec/op         │
InterpreterCreation-4                  6.895m ± 66%
ComponentLoad-4                        3.620m ±  2%
ComponentExecute-4                     1.952µ ±  1%
PoolContention/workers-1-4             1.094µ ±  2%
PoolContention/workers-2-4             1.086µ ±  1%
PoolContention/workers-4-4             1.091µ ±  1%
PoolContention/workers-8-4             1.095µ ±  2%
PoolContention/workers-16-4            1.102µ ±  2%
ComponentLifecycle-4                   3.579m ±  1%
SourceValidation-4                     2.304µ ±  1%
RegistryConcurrent-4                   787.2n ±  4%
LoaderLoadFromString-4                 3.597m ±  1%
geomean                                18.66µ

                            │ 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

cpu: AMD EPYC 9V74 80-Core Processor                
                            │ baseline-bench.txt │
                            │       sec/op       │
InterpreterCreation-4               7.126m ± 58%
ComponentLoad-4                     3.481m ±  1%
ComponentExecute-4                  1.834µ ±  0%
PoolContention/workers-1-4          1.014µ ±  2%
PoolContention/workers-2-4          1.010µ ±  1%
PoolContention/workers-4-4          1.008µ ±  0%
PoolContention/workers-8-4          1.013µ ±  1%
PoolContention/workers-16-4         1.013µ ±  0%
ComponentLifecycle-4                3.497m ±  1%
SourceValidation-4                  2.103µ ±  0%
RegistryConcurrent-4                727.9n ±  6%
LoaderLoadFromString-4              3.543m ±  1%
geomean                             17.65µ

                            │ 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

pkg: github.com/GoCodeAlone/workflow/middleware
cpu: AMD EPYC 7763 64-Core Processor                
                                  │ benchmark-results.txt │
                                  │        sec/op         │
CircuitBreakerDetection-4                     283.4n ± 9%
CircuitBreakerExecution_Success-4             21.52n ± 1%
CircuitBreakerExecution_Failure-4             66.16n ± 1%
geomean                                       73.89n

                                  │ 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

cpu: AMD EPYC 9V74 80-Core Processor                
                                  │ baseline-bench.txt │
                                  │       sec/op       │
CircuitBreakerDetection-4                  298.4n ± 4%
CircuitBreakerExecution_Success-4          22.68n ± 1%
CircuitBreakerExecution_Failure-4          70.91n ± 0%
geomean                                    78.30n

                                  │ 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

pkg: github.com/GoCodeAlone/workflow/module
cpu: AMD EPYC 7763 64-Core Processor                
                                 │ benchmark-results.txt │
                                 │        sec/op         │
IaCStateBackend_InProcess-4                 322.5n ± 19%
IaCStateBackend_GRPC-4                      9.447m ±  3%
JQTransform_Simple-4                        658.0n ± 35%
JQTransform_ObjectConstruction-4            1.497µ ±  0%
JQTransform_ArraySelect-4                   3.454µ ±  5%
JQTransform_Complex-4                       38.68µ ±  1%
JQTransform_Throughput-4                    1.829µ ±  1%
SSEPublishDelivery-4                        65.56n ±  1%
geomean                                     3.848µ

                                 │ benchmark-results.txt │
                                 │         B/op          │
IaCStateBackend_InProcess-4                416.0 ±  0%
IaCStateBackend_GRPC-4                   5.762Mi ± 13%
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.837k ± 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: AMD EPYC 9V74 80-Core Processor                
                                 │ baseline-bench.txt │
                                 │       sec/op       │
IaCStateBackend_InProcess-4              294.9n ± 34%
IaCStateBackend_GRPC-4                   10.21m ±  1%
JQTransform_Simple-4                     641.1n ± 60%
JQTransform_ObjectConstruction-4         1.621µ ±  1%
JQTransform_ArraySelect-4                3.659µ ±  0%
JQTransform_Complex-4                    43.30µ ±  1%
JQTransform_Throughput-4                 1.946µ ±  0%
SSEPublishDelivery-4                     64.63n ±  1%
geomean                                  3.975µ

                                 │ baseline-bench.txt │
                                 │        B/op        │
IaCStateBackend_InProcess-4              416.0 ± 0%
IaCStateBackend_GRPC-4                 5.908Mi ± 5%
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.858k ± 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 7763 64-Core Processor                
                                    │ benchmark-results.txt │
                                    │        sec/op         │
SchemaValidation_Simple-4                      1.106µ ± 14%
SchemaValidation_AllFields-4                   1.670µ ±  1%
SchemaValidation_FormatValidation-4            1.595µ ±  2%
SchemaValidation_ManySchemas-4                 1.817µ ±  2%
geomean                                        1.521µ

                                    │ 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

cpu: AMD EPYC 9V74 80-Core Processor                
                                    │ baseline-bench.txt │
                                    │       sec/op       │
SchemaValidation_Simple-4                    1.088µ ± 2%
SchemaValidation_AllFields-4                 1.646µ ± 2%
SchemaValidation_FormatValidation-4          1.580µ ± 4%
SchemaValidation_ManySchemas-4               1.597µ ± 1%
geomean                                      1.458µ

                                    │ 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

pkg: github.com/GoCodeAlone/workflow/store
cpu: AMD EPYC 7763 64-Core Processor                
                                   │ benchmark-results.txt │
                                   │        sec/op         │
EventStoreAppend_InMemory-4                   1.314µ ± 26%
EventStoreAppend_SQLite-4                     1.352m ±  3%
GetTimeline_InMemory/events-10-4              13.54µ ±  4%
GetTimeline_InMemory/events-50-4              75.81µ ± 17%
GetTimeline_InMemory/events-100-4             123.3µ ±  1%
GetTimeline_InMemory/events-500-4             632.7µ ±  3%
GetTimeline_InMemory/events-1000-4            1.293m ±  1%
GetTimeline_SQLite/events-10-4                116.0µ ±  1%
GetTimeline_SQLite/events-50-4                260.5µ ±  2%
GetTimeline_SQLite/events-100-4               421.5µ ±  1%
GetTimeline_SQLite/events-500-4               1.788m ±  1%
GetTimeline_SQLite/events-1000-4              3.488m ±  0%
geomean                                       222.4µ

                                   │ benchmark-results.txt │
                                   │         B/op          │
EventStoreAppend_InMemory-4                    771.0 ± 11%
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.21Ki

                                   │ 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

cpu: AMD EPYC 9V74 80-Core Processor                
                                   │ baseline-bench.txt │
                                   │       sec/op       │
EventStoreAppend_InMemory-4                1.171µ ± 13%
EventStoreAppend_SQLite-4                  1.020m ±  1%
GetTimeline_InMemory/events-10-4           13.40µ ±  4%
GetTimeline_InMemory/events-50-4           72.80µ ± 20%
GetTimeline_InMemory/events-100-4          118.4µ ±  1%
GetTimeline_InMemory/events-500-4          606.7µ ±  2%
GetTimeline_InMemory/events-1000-4         1.218m ±  1%
GetTimeline_SQLite/events-10-4             88.57µ ±  3%
GetTimeline_SQLite/events-50-4             232.3µ ±  2%
GetTimeline_SQLite/events-100-4            410.2µ ±  2%
GetTimeline_SQLite/events-500-4            1.769m ±  1%
GetTimeline_SQLite/events-1000-4           3.470m ±  2%
geomean                                    204.3µ

                                   │ baseline-bench.txt │
                                   │        B/op        │
EventStoreAppend_InMemory-4                 767.5 ± 12%
EventStoreAppend_SQLite-4                 1.985Ki ±  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.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

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

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