Skip to content

chore(plugin): remove orphaned dead code plugin/community + plugin/rbac#797

Merged
intel352 merged 1 commit into
mainfrom
chore/remove-orphaned-community-rbac-20260529
May 30, 2026
Merged

chore(plugin): remove orphaned dead code plugin/community + plugin/rbac#797
intel352 merged 1 commit into
mainfrom
chore/remove-orphaned-community-rbac-20260529

Conversation

@intel352
Copy link
Copy Markdown
Contributor

Completes the plugin/ consolidation by removing two orphaned packages deferred from #795 (the adversarial review flagged deleting them as scope-creep without an ecosystem check first).

Ecosystem check (done): SubmissionValidator/ReviewChecklist and rbac.BuiltinProvider have zero code importers anywhere across the workflow* repos + ratchet — only documentation mentions. No home/use found:

  • plugin/community submission-validation tooling is superseded by workflow-registry's own validate-manifests.sh + jsonschema.
  • plugin/rbac.BuiltinProvider (auth.PermissionProvider bridge) is never registered with auth.PermissionManager (AddProvider never called with a builtin).

Recoverable from git history if needed later. Drops stale refs in API_STABILITY.md + audit-cloud-symbols.sh comments; historical docs/plans left intact. Build + tests + audit script pass.

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).
@codecov
Copy link
Copy Markdown

codecov Bot commented May 30, 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:301: parsing iteration count: invalid syntax
baseline-bench.txt:320864: parsing iteration count: invalid syntax
baseline-bench.txt:856653: parsing iteration count: invalid syntax
baseline-bench.txt:1188493: parsing iteration count: invalid syntax
baseline-bench.txt:1505711: parsing iteration count: invalid syntax
baseline-bench.txt:1794633: parsing iteration count: invalid syntax
benchmark-results.txt:301: parsing iteration count: invalid syntax
benchmark-results.txt:337130: parsing iteration count: invalid syntax
benchmark-results.txt:624681: parsing iteration count: invalid syntax
benchmark-results.txt:908308: parsing iteration count: invalid syntax
benchmark-results.txt:1225610: parsing iteration count: invalid syntax
benchmark-results.txt:1558245: parsing iteration count: invalid syntax
goos: linux
goarch: amd64
pkg: github.com/GoCodeAlone/workflow/dynamic
cpu: AMD EPYC 9V74 80-Core Processor                
                            │ baseline-bench.txt │       benchmark-results.txt        │
                            │       sec/op       │    sec/op     vs base              │
InterpreterCreation-4               9.662m ± 67%   9.401m ± 67%       ~ (p=0.937 n=6)
ComponentLoad-4                     3.475m ±  1%   3.501m ± 10%  +0.76% (p=0.004 n=6)
ComponentExecute-4                  1.810µ ±  1%   1.814µ ±  0%       ~ (p=0.900 n=6)
PoolContention/workers-1-4          1.014µ ±  3%   1.022µ ±  1%       ~ (p=0.677 n=6)
PoolContention/workers-2-4          1.020µ ±  3%   1.031µ ±  3%       ~ (p=0.563 n=6)
PoolContention/workers-4-4          1.039µ ±  1%   1.012µ ±  1%  -2.65% (p=0.002 n=6)
PoolContention/workers-8-4          1.034µ ±  2%   1.017µ ±  1%       ~ (p=0.121 n=6)
PoolContention/workers-16-4         1.058µ ±  5%   1.016µ ±  1%       ~ (p=0.132 n=6)
ComponentLifecycle-4                3.477m ±  0%   3.665m ±  1%  +5.41% (p=0.002 n=6)
SourceValidation-4                  2.081µ ±  1%   2.203µ ±  0%  +5.86% (p=0.002 n=6)
RegistryConcurrent-4                746.1n ±  1%   802.6n ±  3%  +7.58% (p=0.002 n=6)
LoaderLoadFromString-4              3.521m ±  1%   3.668m ±  2%  +4.19% (p=0.002 n=6)
geomean                             18.24µ         18.46µ        +1.18%

                            │ baseline-bench.txt │        benchmark-results.txt         │
                            │        B/op        │     B/op      vs base                │
InterpreterCreation-4               2.027Mi ± 0%   2.027Mi ± 0%       ~ (p=1.000 n=6)
ComponentLoad-4                     2.180Mi ± 0%   2.180Mi ± 0%       ~ (p=0.394 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.183Mi ± 0%   2.183Mi ± 0%       ~ (p=0.732 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.182Mi ± 0%   2.182Mi ± 0%       ~ (p=0.132 n=6)
geomean                             15.25Ki        15.25Ki       -0.00%
¹ all samples are equal

                            │ baseline-bench.txt │        benchmark-results.txt        │
                            │     allocs/op      │  allocs/op   vs base                │
InterpreterCreation-4                15.68k ± 0%   15.68k ± 0%       ~ (p=1.000 n=6)
ComponentLoad-4                      18.02k ± 0%   18.02k ± 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                 18.07k ± 0%   18.07k ± 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               18.06k ± 0%   18.06k ± 0%       ~ (p=1.000 n=6) ¹
geomean                               183.3         183.3       +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                  299.1n ± 3%   301.7n ± 3%       ~ (p=0.667 n=6)
CircuitBreakerExecution_Success-4          22.68n ± 0%   22.68n ± 0%       ~ (p=0.634 n=6)
CircuitBreakerExecution_Failure-4          71.05n ± 2%   70.92n ± 0%  -0.19% (p=0.009 n=6)
geomean                                    78.41n        78.58n       +0.22%

                                  │ 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              │
IaCStateBackend_InProcess-4              325.2n ± 16%   291.0n ± 28%       ~ (p=0.974 n=6)
IaCStateBackend_GRPC-4                   10.19m ±  1%   10.24m ± 15%       ~ (p=0.180 n=6)
JQTransform_Simple-4                     648.3n ± 28%   676.1n ± 26%       ~ (p=0.240 n=6)
JQTransform_ObjectConstruction-4         1.389µ ±  1%   1.427µ ±  1%  +2.77% (p=0.002 n=6)
JQTransform_ArraySelect-4                3.376µ ±  1%   3.481µ ±  1%  +3.13% (p=0.002 n=6)
JQTransform_Complex-4                    41.38µ ±  1%   42.54µ ±  1%  +2.81% (p=0.002 n=6)
JQTransform_Throughput-4                 1.705µ ±  1%   1.691µ ±  3%       ~ (p=0.784 n=6)
SSEPublishDelivery-4                     63.57n ±  0%   63.27n ±  1%  -0.49% (p=0.002 n=6)
geomean                                  3.818µ         3.822µ        +0.10%

                                 │ baseline-bench.txt │        benchmark-results.txt         │
                                 │        B/op        │     B/op      vs base                │
IaCStateBackend_InProcess-4             416.0 ±  0%       416.0 ± 0%       ~ (p=1.000 n=6) ¹
IaCStateBackend_GRPC-4                5.662Mi ± 10%     5.702Mi ± 9%       ~ (p=0.485 n=6)
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.31Ki ±  0%     16.31Ki ± 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.09%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                 │ baseline-bench.txt │        benchmark-results.txt        │
                                 │     allocs/op      │  allocs/op   vs base                │
IaCStateBackend_InProcess-4              2.000 ± 0%      2.000 ± 0%       ~ (p=1.000 n=6) ¹
IaCStateBackend_GRPC-4                  6.855k ± 0%     6.854k ± 0%       ~ (p=0.848 n=6)
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                    328.0 ± 0%      328.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.074µ ±  6%   1.071µ ± 1%       ~ (p=0.846 n=6)
SchemaValidation_AllFields-4                1.637µ ± 14%   1.602µ ± 1%  -2.14% (p=0.002 n=6)
SchemaValidation_FormatValidation-4         1.569µ ±  3%   1.563µ ± 1%       ~ (p=0.554 n=6)
SchemaValidation_ManySchemas-4              1.589µ ±  3%   1.576µ ± 1%       ~ (p=0.143 n=6)
geomean                                     1.447µ         1.433µ       -0.93%

                                    │ 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.162µ ± 15%   1.115µ ± 10%        ~ (p=0.240 n=6)
EventStoreAppend_SQLite-4                  1.069m ±  2%   1.054m ±  8%        ~ (p=0.485 n=6)
GetTimeline_InMemory/events-10-4           13.11µ ±  3%   13.41µ ±  6%        ~ (p=0.485 n=6)
GetTimeline_InMemory/events-50-4           73.00µ ±  4%   73.54µ ±  3%        ~ (p=0.699 n=6)
GetTimeline_InMemory/events-100-4          145.1µ ±  3%   110.5µ ± 30%  -23.86% (p=0.004 n=6)
GetTimeline_InMemory/events-500-4          735.4µ ±  2%   563.4µ ±  1%  -23.39% (p=0.002 n=6)
GetTimeline_InMemory/events-1000-4         1.162m ± 27%   1.141m ±  1%   -1.80% (p=0.002 n=6)
GetTimeline_SQLite/events-10-4             85.33µ ±  1%   85.55µ ±  1%        ~ (p=0.394 n=6)
GetTimeline_SQLite/events-50-4             221.2µ ±  0%   220.2µ ±  0%   -0.45% (p=0.009 n=6)
GetTimeline_SQLite/events-100-4            387.8µ ±  2%   384.8µ ±  0%   -0.78% (p=0.009 n=6)
GetTimeline_SQLite/events-500-4            1.700m ±  1%   1.670m ±  0%   -1.75% (p=0.002 n=6)
GetTimeline_SQLite/events-1000-4           3.301m ±  0%   3.244m ±  1%   -1.72% (p=0.002 n=6)
geomean                                    206.6µ         196.1µ         -5.10%

                                   │ baseline-bench.txt │        benchmark-results.txt         │
                                   │        B/op        │     B/op      vs base                │
EventStoreAppend_InMemory-4                  785.5 ± 5%     757.0 ± 8%       ~ (p=0.470 n=6)
EventStoreAppend_SQLite-4                  1.982Ki ± 2%   1.983Ki ± 2%       ~ (p=0.418 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%  -0.00% (p=0.013 n=6)
GetTimeline_InMemory/events-1000-4         944.3Ki ± 0%   944.3Ki ± 0%       ~ (p=0.511 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=1.000 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.080 n=6)
geomean                                    67.31Ki        67.10Ki       -0.30%
¹ 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.

@intel352 intel352 merged commit d3b5ab3 into main May 30, 2026
22 checks passed
@intel352 intel352 deleted the chore/remove-orphaned-community-rbac-20260529 branch May 30, 2026 01:29
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