Skip to content

refactor(plugins): move native plugins admincore/docmanager/storebrowser → plugins/#795

Merged
intel352 merged 1 commit into
mainfrom
refactor/plugin-consolidation-20260529
May 29, 2026
Merged

refactor(plugins): move native plugins admincore/docmanager/storebrowser → plugins/#795
intel352 merged 1 commit into
mainfrom
refactor/plugin-consolidation-20260529

Conversation

@intel352
Copy link
Copy Markdown
Contributor

Consolidates misfiled plugin implementations out of the plugin/ framework directory and into plugins/ (where built-in plugins live). Part 1 of the plugin/↔plugins/ consolidation (design: docs/plans/2026-05-29-plugin-dir-consolidation-design.md, passed adversarial-design-review).

admincore, docmanager, storebrowser are NativePlugin implementations (registered via init()plugin.RegisterNativePluginFactory), not framework. Moved plugin/{admincore,docmanager,storebrowser}plugins/; updated the 3 blank imports in cmd/server/main.go; fixed stale doc refs.

Framework stays in plugin/ (loader, manager, manifest, sdk, builder, registry, external, installer, cosign, native). No registration-pattern change. Native-plugin activation remains via blank import in cmd/server/main.go (they're NativePlugins, not EnginePlugins, so not added to plugins/all which aggregates EnginePlugins).

Follow-ups (separate PRs): AI providers relocated plugin/ai→ai/providers (move-only); workflow-registry manifests for the 3 moved plugins. plugin/community + plugin/rbac (orphaned) deliberately deferred per adversarial review.

Verified: go build ./... + tests for moved packages + plugin framework + cmd/server pass; native plugins still register.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 29, 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:298: parsing iteration count: invalid syntax
baseline-bench.txt:301847: parsing iteration count: invalid syntax
baseline-bench.txt:617175: parsing iteration count: invalid syntax
baseline-bench.txt:958429: parsing iteration count: invalid syntax
baseline-bench.txt:1288640: parsing iteration count: invalid syntax
baseline-bench.txt:1642416: parsing iteration count: invalid syntax
benchmark-results.txt:298: parsing iteration count: invalid syntax
benchmark-results.txt:332795: parsing iteration count: invalid syntax
benchmark-results.txt:627573: parsing iteration count: invalid syntax
benchmark-results.txt:912712: parsing iteration count: invalid syntax
benchmark-results.txt:1235240: parsing iteration count: invalid syntax
benchmark-results.txt:1736148: 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                  10.19m ± 40%
ComponentLoad-4                        3.781m ±  1%
ComponentExecute-4                     1.982µ ±  1%
PoolContention/workers-1-4             1.103µ ±  1%
PoolContention/workers-2-4             1.119µ ±  4%
PoolContention/workers-4-4             1.109µ ±  1%
PoolContention/workers-8-4             1.113µ ±  1%
PoolContention/workers-16-4            1.113µ ±  3%
ComponentLifecycle-4                   3.699m ±  1%
SourceValidation-4                     2.379µ ±  1%
RegistryConcurrent-4                   800.4n ±  2%
LoaderLoadFromString-4                 3.759m ±  2%
geomean                                19.70µ

                            │ 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               9.931m ± 65%
ComponentLoad-4                     3.465m ±  1%
ComponentExecute-4                  1.842µ ±  2%
PoolContention/workers-1-4          1.040µ ±  4%
PoolContention/workers-2-4          1.019µ ±  3%
PoolContention/workers-4-4          1.029µ ±  2%
PoolContention/workers-8-4          1.015µ ±  2%
PoolContention/workers-16-4         1.032µ ±  2%
ComponentLifecycle-4                3.612m ±  3%
SourceValidation-4                  2.140µ ±  3%
RegistryConcurrent-4                807.0n ±  5%
LoaderLoadFromString-4              3.653m ±  4%
geomean                             18.54µ

                            │ 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.0n ± 4%
CircuitBreakerExecution_Success-4             21.56n ± 1%
CircuitBreakerExecution_Failure-4             66.08n ± 0%
geomean                                       74.22n

                                  │ 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                  297.1n ± 5%
CircuitBreakerExecution_Success-4          22.66n ± 0%
CircuitBreakerExecution_Failure-4          70.91n ± 0%
geomean                                    78.15n

                                  │ 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                 356.5n ± 16%
IaCStateBackend_GRPC-4                      9.687m ±  3%
JQTransform_Simple-4                        713.5n ± 34%
JQTransform_ObjectConstruction-4            1.547µ ±  2%
JQTransform_ArraySelect-4                   3.608µ ±  3%
JQTransform_Complex-4                       40.31µ ±  1%
JQTransform_Throughput-4                    1.928µ ±  3%
SSEPublishDelivery-4                        65.04n ±  1%
geomean                                     4.030µ

                                 │ benchmark-results.txt │
                                 │         B/op          │
IaCStateBackend_InProcess-4                 416.0 ± 0%
IaCStateBackend_GRPC-4                    5.840Mi ± 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.835k ± 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                
                                 │ baseline-bench.txt │
                                 │       sec/op       │
IaCStateBackend_InProcess-4              328.2n ± 13%
IaCStateBackend_GRPC-4                   10.30m ±  1%
JQTransform_Simple-4                     671.6n ± 26%
JQTransform_ObjectConstruction-4         1.398µ ±  1%
JQTransform_ArraySelect-4                3.406µ ±  2%
JQTransform_Complex-4                    41.85µ ±  2%
JQTransform_Throughput-4                 1.714µ ±  1%
SSEPublishDelivery-4                     64.34n ±  1%
geomean                                  3.865µ

                                 │ baseline-bench.txt │
                                 │        B/op        │
IaCStateBackend_InProcess-4              416.0 ± 0%
IaCStateBackend_GRPC-4                 5.737Mi ± 7%
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.856k ± 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                
                                    │ benchmark-results.txt │
                                    │        sec/op         │
SchemaValidation_Simple-4                      1.097µ ± 23%
SchemaValidation_AllFields-4                   1.644µ ±  1%
SchemaValidation_FormatValidation-4            1.575µ ±  1%
SchemaValidation_ManySchemas-4                 1.791µ ±  4%
geomean                                        1.501µ

                                    │ 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.075µ ± 5%
SchemaValidation_AllFields-4                 1.641µ ± 4%
SchemaValidation_FormatValidation-4          1.550µ ± 1%
SchemaValidation_ManySchemas-4               1.584µ ± 3%
geomean                                      1.442µ

                                    │ 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.208µ ± 14%
EventStoreAppend_SQLite-4                     1.398m ±  7%
GetTimeline_InMemory/events-10-4              15.40µ ±  3%
GetTimeline_InMemory/events-50-4              87.00µ ±  5%
GetTimeline_InMemory/events-100-4             174.4µ ± 12%
GetTimeline_InMemory/events-500-4             674.4µ ±  1%
GetTimeline_InMemory/events-1000-4            1.378m ±  1%
GetTimeline_SQLite/events-10-4                111.5µ ±  0%
GetTimeline_SQLite/events-50-4                266.4µ ±  1%
GetTimeline_SQLite/events-100-4               452.2µ ±  0%
GetTimeline_SQLite/events-500-4               1.911m ±  1%
GetTimeline_SQLite/events-1000-4              3.707m ±  2%
geomean                                       239.1µ

                                   │ benchmark-results.txt │
                                   │         B/op          │
EventStoreAppend_InMemory-4                     825.5 ± 5%
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.60Ki

                                   │ 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.027µ ± 37%
EventStoreAppend_SQLite-4                  1.052m ±  4%
GetTimeline_InMemory/events-10-4           13.45µ ±  5%
GetTimeline_InMemory/events-50-4           74.17µ ±  3%
GetTimeline_InMemory/events-100-4          148.0µ ±  3%
GetTimeline_InMemory/events-500-4          584.6µ ±  1%
GetTimeline_InMemory/events-1000-4         1.187m ±  4%
GetTimeline_SQLite/events-10-4             86.74µ ±  9%
GetTimeline_SQLite/events-50-4             225.0µ ±  1%
GetTimeline_SQLite/events-100-4            394.1µ ±  2%
GetTimeline_SQLite/events-500-4            1.716m ±  5%
GetTimeline_SQLite/events-1000-4           3.433m ±  4%
geomean                                    203.4µ

                                   │ baseline-bench.txt │
                                   │        B/op        │
EventStoreAppend_InMemory-4                 745.0 ± 14%
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.01Ki

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

@intel352 intel352 merged commit 12cde2f into main May 29, 2026
22 checks passed
@intel352 intel352 deleted the refactor/plugin-consolidation-20260529 branch May 29, 2026 13:44
intel352 added a commit to GoCodeAlone/workflow-registry that referenced this pull request May 29, 2026
…, docmanager (#170)

* feat(registry): track built-in native plugins admincore, storebrowser, docmanager

These three built-in native plugins were relocated from plugin/ to plugins/ in
the workflow engine (GoCodeAlone/workflow#795) and were previously untracked in
the registry. Adds builtin manifests (type:builtin, tier:core, path:plugins/X)
and regenerates v1/index.json.

Audit confirmed these are the only engine-plugin gaps; the remaining
unregistered workflow/plugins/* dirs (all, builder-*, registry-*) are
wfctl-internal builder/registry-provider impls with no engine capabilities and
stay intentionally untracked.

* docs: regenerate README for new native-plugin manifests
intel352 added a commit that referenced this pull request May 30, 2026
…ac (#797)

Both packages have ZERO importers anywhere in the workflow ecosystem (verified
across all workflow* repos + ratchet — only documentation mentions, no code):

- plugin/community (SubmissionValidator/ReviewChecklist): plugin-submission
  validation tooling that was never wired. The workflow-registry repo does its
  own manifest validation (scripts/validate-manifests.sh + jsonschema), so this
  Go validator is redundant.
- plugin/rbac (BuiltinProvider): an auth.PermissionProvider bridge over
  auth/rbac.PolicyEngine that was never registered with auth.PermissionManager
  (AddProvider is never called with a builtin in non-test code).

Per the plugin/ consolidation design (#795) these were deferred from deletion
pending an ecosystem check; that check found no home or use. Recoverable from
git history if a builtin permission provider or submission validator is wanted
later. Also drops the two stale rows in docs/API_STABILITY.md and the stale
plugin/rbac references in scripts/audit-cloud-symbols.sh comments (the
plugin/rbac/aws.go they named never existed). Historical docs/plans left intact.

go build ./... + tests for plugin/plugins/cmd-server/auth pass; audit script
still passes (plugin/rbac never imported aws-sdk-go-v2).
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.

1 participant