Skip to content

chore: migrate to GoCodeAlone/modular v1.12.0#287

Merged
intel352 merged 1 commit intomainfrom
chore/modular-migration
Mar 9, 2026
Merged

chore: migrate to GoCodeAlone/modular v1.12.0#287
intel352 merged 1 commit intomainfrom
chore/modular-migration

Conversation

@intel352
Copy link
Contributor

@intel352 intel352 commented Mar 9, 2026

Summary

  • Migrate all imports from CrisisTextLine/modular to GoCodeAlone/modular
  • Update module versions to v1.12.0 (core, auth, cache, jsonschema, scheduler) and v2.5.0 (eventbus/v2, reverseproxy/v2)
  • Build passes; go mod tidy has a warning about eventbus/v2 test dependency on eventbus/v1 mocks (needs modules/eventbus v1 tag in GoCodeAlone/modular)

🤖 Generated with Claude Code

…12.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 9, 2026 21:10
Copy link
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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@intel352 intel352 merged commit f2ff298 into main Mar 9, 2026
11 checks passed
@intel352 intel352 deleted the chore/modular-migration branch March 9, 2026 21:13
@github-actions
Copy link

github-actions bot commented Mar 9, 2026

⏱ Benchmark Results

No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
baseline-bench.txt:243: parsing iteration count: invalid syntax
baseline-bench.txt:307564: parsing iteration count: invalid syntax
baseline-bench.txt:604325: parsing iteration count: invalid syntax
baseline-bench.txt:894309: parsing iteration count: invalid syntax
baseline-bench.txt:1186396: parsing iteration count: invalid syntax
baseline-bench.txt:1478105: parsing iteration count: invalid syntax
benchmark-results.txt:243: parsing iteration count: invalid syntax
benchmark-results.txt:314197: parsing iteration count: invalid syntax
benchmark-results.txt:632996: parsing iteration count: invalid syntax
benchmark-results.txt:935337: parsing iteration count: invalid syntax
benchmark-results.txt:1250791: parsing iteration count: invalid syntax
benchmark-results.txt:1553579: 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 │       benchmark-results.txt        │
                            │       sec/op       │    sec/op     vs base              │
InterpreterCreation-4               6.725m ± 56%   6.469m ± 65%       ~ (p=1.000 n=6)
ComponentLoad-4                     3.529m ±  6%   3.418m ±  7%  -3.14% (p=0.041 n=6)
ComponentExecute-4                  2.026µ ±  1%   1.985µ ±  2%  -2.07% (p=0.017 n=6)
PoolContention/workers-1-4          1.092µ ±  2%   1.083µ ±  3%       ~ (p=0.457 n=6)
PoolContention/workers-2-4          1.104µ ±  1%   1.085µ ±  1%  -1.72% (p=0.006 n=6)
PoolContention/workers-4-4          1.094µ ±  3%   1.082µ ±  1%  -1.10% (p=0.004 n=6)
PoolContention/workers-8-4          1.140µ ±  4%   1.086µ ±  0%  -4.78% (p=0.002 n=6)
PoolContention/workers-16-4         1.119µ ±  2%   1.087µ ±  3%  -2.86% (p=0.017 n=6)
ComponentLifecycle-4                3.508m ±  1%   3.432m ±  0%  -2.17% (p=0.002 n=6)
SourceValidation-4                  2.292µ ±  0%   2.269µ ±  0%  -1.00% (p=0.002 n=6)
RegistryConcurrent-4                756.9n ±  1%   762.4n ±  2%       ~ (p=0.180 n=6)
LoaderLoadFromString-4              3.542m ±  2%   3.473m ±  1%  -1.96% (p=0.002 n=6)
geomean                             18.63µ         18.24µ        -2.07%

                            │ baseline-bench.txt │        benchmark-results.txt         │
                            │        B/op        │     B/op      vs base                │
InterpreterCreation-4               1.944Mi ± 0%   1.944Mi ± 0%       ~ (p=0.909 n=6)
ComponentLoad-4                     2.097Mi ± 0%   2.097Mi ± 0%       ~ (p=0.563 n=6)
ComponentExecute-4                  1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-1-4          1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-2-4          1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-4-4          1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-8-4          1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-16-4         1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
ComponentLifecycle-4                2.099Mi ± 0%   2.099Mi ± 0%       ~ (p=0.264 n=6)
SourceValidation-4                  1.984Ki ± 0%   1.984Ki ± 0%       ~ (p=1.000 n=6) ¹
RegistryConcurrent-4                1.133Ki ± 0%   1.133Ki ± 0%       ~ (p=1.000 n=6) ¹
LoaderLoadFromString-4              2.099Mi ± 0%   2.099Mi ± 0%  -0.00% (p=0.041 n=6)
geomean                             15.05Ki        15.05Ki       -0.00%
¹ all samples are equal

                            │ baseline-bench.txt │        benchmark-results.txt        │
                            │     allocs/op      │  allocs/op   vs base                │
InterpreterCreation-4                15.09k ± 0%   15.09k ± 0%       ~ (p=1.000 n=6)
ComponentLoad-4                      17.43k ± 0%   17.43k ± 0%       ~ (p=1.000 n=6)
ComponentExecute-4                    25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-1-4            25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-2-4            25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-4-4            25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-8-4            25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-16-4           25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
ComponentLifecycle-4                 17.48k ± 0%   17.48k ± 0%       ~ (p=1.000 n=6) ¹
SourceValidation-4                    32.00 ± 0%    32.00 ± 0%       ~ (p=1.000 n=6) ¹
RegistryConcurrent-4                  2.000 ± 0%    2.000 ± 0%       ~ (p=1.000 n=6) ¹
LoaderLoadFromString-4               17.47k ± 0%   17.47k ± 0%       ~ (p=1.000 n=6) ¹
geomean                               181.2         181.2       +0.00%
¹ all samples are equal

pkg: github.com/GoCodeAlone/workflow/middleware
                                  │ baseline-bench.txt │       benchmark-results.txt       │
                                  │       sec/op       │   sec/op     vs base              │
CircuitBreakerDetection-4                  289.6n ± 6%   287.5n ± 3%       ~ (p=0.240 n=6)
CircuitBreakerExecution_Success-4          22.56n ± 1%   22.51n ± 0%       ~ (p=0.093 n=6)
CircuitBreakerExecution_Failure-4          66.33n ± 1%   65.97n ± 1%       ~ (p=0.221 n=6)
geomean                                    75.67n        75.29n       -0.50%

                                  │ baseline-bench.txt │       benchmark-results.txt        │
                                  │        B/op        │    B/op     vs base                │
CircuitBreakerDetection-4                 144.0 ± 0%     144.0 ± 0%       ~ (p=1.000 n=6) ¹
CircuitBreakerExecution_Success-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
CircuitBreakerExecution_Failure-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                              ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                  │ baseline-bench.txt │       benchmark-results.txt        │
                                  │     allocs/op      │ allocs/op   vs base                │
CircuitBreakerDetection-4                 1.000 ± 0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
CircuitBreakerExecution_Success-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
CircuitBreakerExecution_Failure-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                              ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/module
                                 │ baseline-bench.txt │       benchmark-results.txt        │
                                 │       sec/op       │    sec/op     vs base              │
JQTransform_Simple-4                     888.1n ± 30%   872.5n ± 27%       ~ (p=0.240 n=6)
JQTransform_ObjectConstruction-4         1.508µ ± 28%   1.467µ ± 19%  -2.72% (p=0.041 n=6)
JQTransform_ArraySelect-4                3.493µ ±  1%   3.330µ ±  2%  -4.65% (p=0.002 n=6)
JQTransform_Complex-4                    39.23µ ±  3%   38.11µ ±  1%  -2.86% (p=0.002 n=6)
JQTransform_Throughput-4                 1.827µ ±  1%   1.776µ ±  0%  -2.79% (p=0.002 n=6)
SSEPublishDelivery-4                     62.62n ±  2%   64.70n ±  3%  +3.31% (p=0.004 n=6)
geomean                                  1.661µ         1.629µ        -1.94%

                                 │ baseline-bench.txt │        benchmark-results.txt         │
                                 │        B/op        │     B/op      vs base                │
JQTransform_Simple-4                   1.273Ki ± 0%     1.273Ki ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_ObjectConstruction-4       1.773Ki ± 0%     1.773Ki ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_ArraySelect-4              2.625Ki ± 0%     2.625Ki ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_Complex-4                  16.22Ki ± 0%     16.22Ki ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_Throughput-4               1.984Ki ± 0%     1.984Ki ± 0%       ~ (p=1.000 n=6) ¹
SSEPublishDelivery-4                     0.000 ± 0%       0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                             ²                 +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                 │ baseline-bench.txt │       benchmark-results.txt        │
                                 │     allocs/op      │ allocs/op   vs base                │
JQTransform_Simple-4                     10.00 ± 0%     10.00 ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_ObjectConstruction-4         15.00 ± 0%     15.00 ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_ArraySelect-4                30.00 ± 0%     30.00 ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_Complex-4                    324.0 ± 0%     324.0 ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_Throughput-4                 17.00 ± 0%     17.00 ± 0%       ~ (p=1.000 n=6) ¹
SSEPublishDelivery-4                     0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                             ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/schema
                                    │ baseline-bench.txt │       benchmark-results.txt       │
                                    │       sec/op       │   sec/op     vs base              │
SchemaValidation_Simple-4                   1.117µ ± 10%   1.114µ ± 3%       ~ (p=0.974 n=6)
SchemaValidation_AllFields-4                1.677µ ±  5%   1.673µ ± 4%       ~ (p=0.589 n=6)
SchemaValidation_FormatValidation-4         1.604µ ±  3%   1.616µ ± 6%       ~ (p=0.732 n=6)
SchemaValidation_ManySchemas-4              1.836µ ±  4%   1.842µ ± 5%       ~ (p=0.669 n=6)
geomean                                     1.532µ         1.534µ       +0.14%

                                    │ baseline-bench.txt │       benchmark-results.txt        │
                                    │        B/op        │    B/op     vs base                │
SchemaValidation_Simple-4                   0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_AllFields-4                0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_FormatValidation-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_ManySchemas-4              0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                                ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                    │ baseline-bench.txt │       benchmark-results.txt        │
                                    │     allocs/op      │ allocs/op   vs base                │
SchemaValidation_Simple-4                   0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_AllFields-4                0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_FormatValidation-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_ManySchemas-4              0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                                ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/store
                                   │ baseline-bench.txt │        benchmark-results.txt        │
                                   │       sec/op       │    sec/op     vs base               │
EventStoreAppend_InMemory-4                1.296µ ± 25%   1.270µ ±  9%        ~ (p=0.818 n=6)
EventStoreAppend_SQLite-4                  1.487m ±  6%   2.030m ±  6%  +36.56% (p=0.002 n=6)
GetTimeline_InMemory/events-10-4           14.54µ ±  5%   14.07µ ±  2%   -3.24% (p=0.002 n=6)
GetTimeline_InMemory/events-50-4           81.17µ ± 20%   78.75µ ±  2%        ~ (p=0.485 n=6)
GetTimeline_InMemory/events-100-4          130.5µ ±  1%   123.7µ ± 26%        ~ (p=0.065 n=6)
GetTimeline_InMemory/events-500-4          674.4µ ±  1%   636.0µ ±  0%   -5.69% (p=0.002 n=6)
GetTimeline_InMemory/events-1000-4         1.381m ±  1%   1.297m ±  1%   -6.08% (p=0.002 n=6)
GetTimeline_SQLite/events-10-4             115.5µ ±  1%   110.4µ ±  0%   -4.33% (p=0.002 n=6)
GetTimeline_SQLite/events-50-4             265.6µ ±  1%   252.9µ ±  1%   -4.79% (p=0.002 n=6)
GetTimeline_SQLite/events-100-4            449.3µ ±  1%   424.3µ ±  1%   -5.57% (p=0.002 n=6)
GetTimeline_SQLite/events-500-4            1.911m ±  6%   1.799m ±  1%   -5.89% (p=0.002 n=6)
GetTimeline_SQLite/events-1000-4           3.751m ±  3%   3.507m ±  0%   -6.51% (p=0.002 n=6)
geomean                                    234.2µ         229.9µ         -1.86%

                                   │ baseline-bench.txt │         benchmark-results.txt         │
                                   │        B/op        │     B/op       vs base                │
EventStoreAppend_InMemory-4                  809.5 ± 5%     769.5 ± 12%       ~ (p=0.485 n=6)
EventStoreAppend_SQLite-4                  1.983Ki ± 2%   1.980Ki ±  2%       ~ (p=0.333 n=6)
GetTimeline_InMemory/events-10-4           7.953Ki ± 0%   7.953Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-50-4           46.62Ki ± 0%   46.62Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-100-4          94.48Ki ± 0%   94.48Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-500-4          472.8Ki ± 0%   472.8Ki ±  0%       ~ (p=1.000 n=6)
GetTimeline_InMemory/events-1000-4         944.3Ki ± 0%   944.3Ki ±  0%  +0.00% (p=0.024 n=6)
GetTimeline_SQLite/events-10-4             16.74Ki ± 0%   16.74Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-50-4             87.14Ki ± 0%   87.14Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-100-4            175.4Ki ± 0%   175.4Ki ±  0%       ~ (p=0.455 n=6)
GetTimeline_SQLite/events-500-4            846.1Ki ± 0%   846.1Ki ±  0%       ~ (p=0.067 n=6)
GetTimeline_SQLite/events-1000-4           1.639Mi ± 0%   1.639Mi ±  0%       ~ (p=0.177 n=6)
geomean                                    67.48Ki        67.19Ki        -0.43%
¹ all samples are equal

                                   │ baseline-bench.txt │        benchmark-results.txt        │
                                   │     allocs/op      │  allocs/op   vs base                │
EventStoreAppend_InMemory-4                  7.000 ± 0%    7.000 ± 0%       ~ (p=1.000 n=6) ¹
EventStoreAppend_SQLite-4                    53.00 ± 0%    53.00 ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-10-4             125.0 ± 0%    125.0 ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-50-4             653.0 ± 0%    653.0 ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-100-4           1.306k ± 0%   1.306k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-500-4           6.514k ± 0%   6.514k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-1000-4          13.02k ± 0%   13.02k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-10-4               382.0 ± 0%    382.0 ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-50-4              1.852k ± 0%   1.852k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-100-4             3.681k ± 0%   3.681k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-500-4             18.54k ± 0%   18.54k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-1000-4            37.29k ± 0%   37.29k ± 0%       ~ (p=1.000 n=6) ¹
geomean                                     1.162k        1.162k       +0.00%
¹ all samples are equal

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