Skip to content

docs(templates): add GOWORK=off to CONTRIBUTING-plugin template#721

Merged
intel352 merged 1 commit into
mainfrom
chore/gowork-off-systemic
May 19, 2026
Merged

docs(templates): add GOWORK=off to CONTRIBUTING-plugin template#721
intel352 merged 1 commit into
mainfrom
chore/gowork-off-systemic

Conversation

@intel352
Copy link
Copy Markdown
Contributor

Summary

  • Add GOWORK=off prefix to go build / go test / go vet commands in docs/templates/CONTRIBUTING-plugin.md so new external contributors with a multi-repo workspace don't hit the upstream go.work short-circuit.
  • Systemic finding from code-reviewer during the 2026-05-19 QoL sweep — per-plugin CONTRIBUTING.md files generated from this template will be updated in follow-up PRs.

Test plan

  • Template renders correctly.
  • Per-plugin CONTRIBUTING.md propagation follows in separate PRs.

🤖 Generated with Claude Code

Plugin contributors with a multi-repo workspace (GoCodeAlone has a top-level
go.work file linking workflow + plugins + ratchet + modular) hit
inconsistent build failures unless GOWORK=off is set. Document it
explicitly in the per-plugin CONTRIBUTING template so the local-dev
quickstart works for new external contributors.

Per-plugin CONTRIBUTING.md files were generated from this template
during the 2026-05-19 multi-repo QoL sweep — follow-up PRs propagate
this update to each plugin repo's copy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 19, 2026 18:18
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

Updates the external plugin CONTRIBUTING template to explicitly disable Go workspaces during common build/test/vet commands, preventing accidental use of a parent go.work when contributors have multiple GoCodeAlone repos checked out together.

Changes:

  • Add a short explanation of when/why to use GOWORK=off in local plugin development.
  • Prefix go build, go test, and go vet instructions with GOWORK=off.

@intel352 intel352 merged commit 0fc5d30 into main May 19, 2026
25 checks passed
@intel352 intel352 deleted the chore/gowork-off-systemic branch May 19, 2026 18:22
@codecov
Copy link
Copy Markdown

codecov Bot commented May 19, 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:274: parsing iteration count: invalid syntax
baseline-bench.txt:296741: parsing iteration count: invalid syntax
baseline-bench.txt:597300: parsing iteration count: invalid syntax
baseline-bench.txt:904753: parsing iteration count: invalid syntax
baseline-bench.txt:1238807: parsing iteration count: invalid syntax
baseline-bench.txt:1567536: parsing iteration count: invalid syntax
benchmark-results.txt:274: parsing iteration count: invalid syntax
benchmark-results.txt:299201: parsing iteration count: invalid syntax
benchmark-results.txt:557766: parsing iteration count: invalid syntax
benchmark-results.txt:837643: parsing iteration count: invalid syntax
benchmark-results.txt:1100120: parsing iteration count: invalid syntax
benchmark-results.txt:1371669: 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                  8.380m ± 62%
ComponentLoad-4                        3.773m ±  3%
ComponentExecute-4                     1.984µ ±  1%
PoolContention/workers-1-4             1.099µ ±  1%
PoolContention/workers-2-4             1.101µ ±  1%
PoolContention/workers-4-4             1.104µ ±  3%
PoolContention/workers-8-4             1.124µ ±  4%
PoolContention/workers-16-4            1.121µ ±  5%
ComponentLifecycle-4                   3.803m ±  1%
SourceValidation-4                     2.431µ ±  1%
RegistryConcurrent-4                   915.2n ±  4%
LoaderLoadFromString-4                 3.854m ±  4%
geomean                                19.71µ

                            │ 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.537m ± 60%
ComponentLoad-4                     3.534m ±  9%
ComponentExecute-4                  1.844µ ±  1%
PoolContention/workers-1-4          1.020µ ±  1%
PoolContention/workers-2-4          1.015µ ±  1%
PoolContention/workers-4-4          1.018µ ±  2%
PoolContention/workers-8-4          1.013µ ±  1%
PoolContention/workers-16-4         1.013µ ±  2%
ComponentLifecycle-4                3.559m ±  1%
SourceValidation-4                  2.087µ ±  1%
RegistryConcurrent-4                735.5n ±  5%
LoaderLoadFromString-4              3.593m ±  1%
geomean                             17.84µ

                            │ 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                     287.1n ± 3%
CircuitBreakerExecution_Success-4             21.42n ± 0%
CircuitBreakerExecution_Failure-4             66.23n ± 0%
geomean                                       74.13n

                                  │ 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                  299.1n ± 7%
CircuitBreakerExecution_Success-4          22.65n ± 0%
CircuitBreakerExecution_Failure-4          70.93n ± 0%
geomean                                    78.33n

                                  │ 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                 318.1n ± 23%
IaCStateBackend_GRPC-4                      9.663m ±  4%
JQTransform_Simple-4                        667.5n ± 40%
JQTransform_ObjectConstruction-4            1.549µ ±  2%
JQTransform_ArraySelect-4                   3.672µ ±  4%
JQTransform_Complex-4                       39.79µ ±  1%
JQTransform_Throughput-4                    1.917µ ±  2%
SSEPublishDelivery-4                        70.10n ±  1%
geomean                                     3.975µ

                                 │ benchmark-results.txt │
                                 │         B/op          │
IaCStateBackend_InProcess-4                416.0 ±  0%
IaCStateBackend_GRPC-4                   5.868Mi ± 12%
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.846k ± 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              301.5n ± 25%
IaCStateBackend_GRPC-4                   10.30m ± 11%
JQTransform_Simple-4                     648.1n ± 35%
JQTransform_ObjectConstruction-4         1.484µ ±  1%
JQTransform_ArraySelect-4                3.571µ ±  3%
JQTransform_Complex-4                    42.97µ ±  2%
JQTransform_Throughput-4                 1.830µ ±  1%
SSEPublishDelivery-4                     65.03n ±  0%
geomean                                  3.909µ

                                 │ baseline-bench.txt │
                                 │        B/op        │
IaCStateBackend_InProcess-4              416.0 ± 0%
IaCStateBackend_GRPC-4                 5.791Mi ± 9%
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.862k ± 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.110µ ± 6%
SchemaValidation_AllFields-4                    1.669µ ± 5%
SchemaValidation_FormatValidation-4             1.576µ ± 5%
SchemaValidation_ManySchemas-4                  1.824µ ± 3%
geomean                                         1.519µ

                                    │ 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.073µ ± 19%
SchemaValidation_AllFields-4                1.653µ ±  4%
SchemaValidation_FormatValidation-4         1.565µ ±  1%
SchemaValidation_ManySchemas-4              1.593µ ±  2%
geomean                                     1.450µ

                                    │ 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.278µ ± 17%
EventStoreAppend_SQLite-4                     1.478m ±  3%
GetTimeline_InMemory/events-10-4              13.94µ ±  3%
GetTimeline_InMemory/events-50-4              70.01µ ± 13%
GetTimeline_InMemory/events-100-4             124.5µ ±  1%
GetTimeline_InMemory/events-500-4             639.5µ ±  1%
GetTimeline_InMemory/events-1000-4            1.310m ±  1%
GetTimeline_SQLite/events-10-4                119.8µ ±  1%
GetTimeline_SQLite/events-50-4                267.9µ ±  2%
GetTimeline_SQLite/events-100-4               440.5µ ±  2%
GetTimeline_SQLite/events-500-4               1.837m ±  2%
GetTimeline_SQLite/events-1000-4              3.561m ±  1%
geomean                                       226.0µ

                                   │ benchmark-results.txt │
                                   │         B/op          │
EventStoreAppend_InMemory-4                     792.0 ± 9%
EventStoreAppend_SQLite-4                     1.983Ki ± 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.36Ki

                                   │ 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.087µ ± 17%
EventStoreAppend_SQLite-4                  1.021m ±  1%
GetTimeline_InMemory/events-10-4           12.59µ ±  3%
GetTimeline_InMemory/events-50-4           69.76µ ± 20%
GetTimeline_InMemory/events-100-4          110.1µ ±  1%
GetTimeline_InMemory/events-500-4          562.0µ ±  6%
GetTimeline_InMemory/events-1000-4         1.143m ±  1%
GetTimeline_SQLite/events-10-4             83.60µ ±  1%
GetTimeline_SQLite/events-50-4             219.7µ ±  1%
GetTimeline_SQLite/events-100-4            382.8µ ±  1%
GetTimeline_SQLite/events-500-4            1.668m ±  1%
GetTimeline_SQLite/events-1000-4           3.241m ±  1%
geomean                                    192.7µ

                                   │ baseline-bench.txt │
                                   │        B/op        │
EventStoreAppend_InMemory-4                 782.0 ± 11%
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.29Ki

                                   │ 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