Skip to content

feat(wfctl): add workflow ecosystem audit commands - #487

Merged
intel352 merged 20 commits into
mainfrom
feat/workflow-ecosystem-audit
Apr 25, 2026
Merged

intel352 merged 20 commits into
mainfrom
feat/workflow-ecosystem-audit

Conversation

@intel352

Copy link
Copy Markdown
Contributor

Summary

  • Add wfctl audit plans for design/plan metadata parsing, implementation evidence checks, stale verification warnings, and generated docs/plans/INDEX.md.
  • Add wfctl audit plugins for local workflow-plugin-* manifest inventory and canonical/legacy/missing/invalid shape reporting.
  • Restore wfctl's embedded CLI workflow dispatcher config and fix plugin removal so it does not rewrite unrelated wfctl.yaml files.
  • Document the audit commands, frontmatter contract, and dogfooded runtime verification notes.

Design

  • docs/plans/2026-04-25-workflow-ecosystem-audit-design.md
  • docs/plans/2026-04-25-plugin-contract-registry-design.md
  • docs/plans/2026-04-25-wfctl-lifecycle-product-design.md

Implementation Plan

  • docs/plans/2026-04-25-workflow-ecosystem-audit.md

Test Plan

  • GOWORK=off go test ./cmd/wfctl -run 'TestRunAudit|TestParsePlanDoc|TestRenderPlanIndex|TestAuditPlugin|TestPluginRemove_DoesNotRewriteManifestWhenPluginAbsent' -count=1
  • GOWORK=off go test ./cmd/wfctl ./interfaces ./plugin/...
  • GOWORK=off go run ./cmd/wfctl audit plans --dir docs/plans
  • GOWORK=off go run ./cmd/wfctl audit plugins --repo-root /Users/jon/workspace
  • GOWORK=off go build -o /tmp/wfctl-audit ./cmd/wfctl
  • /tmp/wfctl-audit audit plans --dir docs/plans
  • /tmp/wfctl-audit audit plugins --repo-root /Users/jon/workspace

Runtime launch transcript

Build:

$ GOWORK=off go build -o /tmp/wfctl-audit ./cmd/wfctl

Exit code: 0

Launch:

$ /tmp/wfctl-audit version
v0.19.0-alpha.1.0.20260425111242-ee2fc898797c+dirty

$ /tmp/wfctl-audit audit plans --dir docs/plans
WARN plans audit: 70 doc(s), 64 warning(s), 0 error(s)

$ /tmp/wfctl-audit audit plugins --repo-root /Users/jon/workspace
FAIL plugins audit: 57 plugin(s), 40 canonical, 9 legacy, 8 missing, 0 invalid, 9 warning(s), 10 error(s)

Failure-signature scrape: clean. The FAIL plugins audit line is expected inventory output in non-strict mode and exits 0.

Verdict: PASS

Copilot AI review requested due to automatic review settings April 25, 2026 13:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds new wfctl audit tooling to help dogfood and verify the Workflow ecosystem’s plan/design metadata and local plugin manifest conformance, alongside restoring wfctl’s embedded CLI workflow dispatcher config and tightening plugin removal behavior.

Changes:

  • Introduces wfctl audit plans (plan frontmatter parsing, evidence checks, stale verification warnings, and docs/plans/INDEX.md generation).
  • Introduces wfctl audit plugins (local workflow-plugin-* discovery and manifest-shape classification with optional strict mode).
  • Restores cmd/wfctl/wfctl.yaml embedded CLI workflow dispatcher config and adjusts plugin removal to avoid rewriting unrelated manifests.

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
docs/plans/INDEX.md Generated plans index output produced by the new plans audit tooling.
docs/plans/2026-04-25-workflow-ecosystem-audit.md Implementation plan documenting the audit commands and verification approach.
docs/plans/2026-04-25-workflow-ecosystem-audit-design.md Design doc + frontmatter contract for tracking status/evidence.
docs/plans/2026-04-25-wfctl-mcp-hot-reload-design.md New design doc tracked by the plans audit system.
docs/plans/2026-04-25-wfctl-lifecycle-product-design.md New design doc tracked by the plans audit system.
docs/plans/2026-04-25-plugin-contract-registry-design.md New design doc tracked by the plans audit system.
docs/plans/2026-04-25-editor-cloud-ide-design.md New design doc tracked by the plans audit system.
docs/plans/2026-04-25-core-runtime-boundaries-design.md New design doc tracked by the plans audit system.
docs/WFCTL.md Documents wfctl audit commands, flags, and frontmatter contract.
cmd/wfctl/wfctl.yaml Restores embedded CLI workflow command metadata and cmd-* pipeline wiring; adds audit.
cmd/wfctl/main.go Registers the new audit command in the CLI command registry.
cmd/wfctl/audit.go Implements routing + output/reporting for wfctl audit plans and wfctl audit plugins.
cmd/wfctl/audit_test.go Adds command-level tests for audit routing, output, JSON, strict mode, and index fixing.
cmd/wfctl/plan_audit.go Implements plan doc parsing/validation and index rendering.
cmd/wfctl/plan_audit_test.go Unit tests for parsing/validation/index rendering (incl. git-commit evidence checks).
cmd/wfctl/plugin_audit.go Implements plugin repo inventory + manifest shape classification and findings.
cmd/wfctl/plugin_audit_test.go Unit tests for plugin manifest shapes, missing/placeholder detection, and repo discovery.
cmd/wfctl/plugin_remove.go Avoids rewriting wfctl.yaml when plugin removal is a no-op.
cmd/wfctl/plugin_remove_test.go Adds regression test ensuring plugin removal doesn’t rewrite unrelated wfctl.yaml.

Comment thread cmd/wfctl/plan_audit.go Resolved
Comment thread cmd/wfctl/plan_audit.go Resolved
Comment thread cmd/wfctl/plan_audit.go Resolved
Comment thread cmd/wfctl/plugin_audit.go Resolved
Comment thread cmd/wfctl/audit.go Resolved
Comment thread docs/WFCTL.md Resolved
Comment thread cmd/wfctl/plugin_remove.go Resolved
@github-actions

github-actions Bot commented Apr 25, 2026 •

Copy link
Copy Markdown

⏱ Benchmark Results

✅ No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
baseline-bench.txt:245: parsing iteration count: invalid syntax
baseline-bench.txt:505500: parsing iteration count: invalid syntax
baseline-bench.txt:840418: parsing iteration count: invalid syntax
baseline-bench.txt:1098782: parsing iteration count: invalid syntax
baseline-bench.txt:1415253: parsing iteration count: invalid syntax
baseline-bench.txt:1736428: parsing iteration count: invalid syntax
benchmark-results.txt:245: parsing iteration count: invalid syntax
benchmark-results.txt:345987: parsing iteration count: invalid syntax
benchmark-results.txt:658084: parsing iteration count: invalid syntax
benchmark-results.txt:975419: parsing iteration count: invalid syntax
benchmark-results.txt:1321824: parsing iteration count: invalid syntax
benchmark-results.txt:1625128: 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              3.418m ± 214%   3.596m ± 184%       ~ (p=0.818 n=6)
ComponentLoad-4                    3.638m ±   1%   3.607m ±   2%       ~ (p=0.065 n=6)
ComponentExecute-4                 1.965µ ±   1%   1.935µ ±   2%  -1.53% (p=0.017 n=6)
PoolContention/workers-1-4         1.098µ ±   1%   1.097µ ±   6%       ~ (p=0.961 n=6)
PoolContention/workers-2-4         1.100µ ±   3%   1.085µ ±   3%       ~ (p=0.165 n=6)
PoolContention/workers-4-4         1.105µ ±   2%   1.088µ ±   1%  -1.54% (p=0.002 n=6)
PoolContention/workers-8-4         1.124µ ±   1%   1.100µ ±   2%  -2.14% (p=0.004 n=6)
PoolContention/workers-16-4        1.129µ ±   1%   1.107µ ±   2%  -1.95% (p=0.002 n=6)
ComponentLifecycle-4               3.763m ±   1%   3.685m ±   1%  -2.06% (p=0.002 n=6)
SourceValidation-4                 2.342µ ±   2%   2.336µ ±   1%       ~ (p=0.418 n=6)
RegistryConcurrent-4               817.0n ±   5%   823.5n ±   4%       ~ (p=0.310 n=6)
LoaderLoadFromString-4             3.750m ±   2%   3.708m ±   1%       ~ (p=0.394 n=6)
geomean                            17.95µ          17.84µ         -0.59%

                            │ baseline-bench.txt │        benchmark-results.txt         │
                            │        B/op        │     B/op      vs base                │
InterpreterCreation-4               2.027Mi ± 0%   2.027Mi ± 0%       ~ (p=0.970 n=6)
ComponentLoad-4                     2.180Mi ± 0%   2.180Mi ± 0%  +0.00% (p=0.048 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.909 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.574 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                  288.1n ± 4%   286.1n ± 1%  -0.69% (p=0.037 n=6)
CircuitBreakerExecution_Success-4          21.57n ± 0%   21.54n ± 0%       ~ (p=0.351 n=6)
CircuitBreakerExecution_Failure-4          65.89n ± 2%   65.80n ± 1%       ~ (p=0.240 n=6)
geomean                                    74.25n        74.02n       -0.31%

                                  │ 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                     904.2n ± 29%   1008.5n ± 16%       ~ (p=0.818 n=6)
JQTransform_ObjectConstruction-4         1.500µ ±  5%    1.446µ ±  1%  -3.63% (p=0.002 n=6)
JQTransform_ArraySelect-4                3.453µ ±  3%    3.367µ ±  2%  -2.48% (p=0.002 n=6)
JQTransform_Complex-4                    39.12µ ±  1%    38.80µ ±  1%  -0.80% (p=0.002 n=6)
JQTransform_Throughput-4                 1.811µ ±  0%    1.767µ ±  0%  -2.43% (p=0.002 n=6)
SSEPublishDelivery-4                     72.77n ±  1%    74.55n ±  1%  +2.45% (p=0.002 n=6)
geomean                                  1.700µ          1.711µ        +0.65%

                                 │ 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.107µ ± 6%   1.092µ ± 1%       ~ (p=0.093 n=6)
SchemaValidation_AllFields-4                 1.674µ ± 1%   1.659µ ± 6%       ~ (p=0.058 n=6)
SchemaValidation_FormatValidation-4          1.586µ ± 1%   1.592µ ± 1%       ~ (p=0.965 n=6)
SchemaValidation_ManySchemas-4               1.820µ ± 2%   1.818µ ± 3%       ~ (p=0.589 n=6)
geomean                                      1.521µ        1.513µ       -0.50%

                                    │ 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.259µ ± 16%   1.297µ ± 17%        ~ (p=0.937 n=6)
EventStoreAppend_SQLite-4                  1.359m ±  7%   1.392m ±  2%   +2.44% (p=0.009 n=6)
GetTimeline_InMemory/events-10-4           13.77µ ±  1%   13.63µ ±  5%        ~ (p=0.240 n=6)
GetTimeline_InMemory/events-50-4           76.46µ ±  3%   75.43µ ±  1%        ~ (p=0.240 n=6)
GetTimeline_InMemory/events-100-4          154.1µ ±  2%   155.2µ ±  3%        ~ (p=0.937 n=6)
GetTimeline_InMemory/events-500-4          800.3µ ±  2%   619.6µ ±  8%  -22.58% (p=0.002 n=6)
GetTimeline_InMemory/events-1000-4         1.620m ± 16%   1.268m ±  1%  -21.77% (p=0.002 n=6)
GetTimeline_SQLite/events-10-4             109.5µ ±  1%   107.0µ ±  1%   -2.29% (p=0.002 n=6)
GetTimeline_SQLite/events-50-4             252.5µ ±  1%   245.3µ ±  1%   -2.82% (p=0.002 n=6)
GetTimeline_SQLite/events-100-4            428.0µ ±  2%   413.2µ ±  1%   -3.45% (p=0.002 n=6)
GetTimeline_SQLite/events-500-4            1.819m ±  2%   1.758m ±  1%   -3.39% (p=0.002 n=6)
GetTimeline_SQLite/events-1000-4           3.536m ±  2%   3.430m ±  1%   -2.99% (p=0.002 n=6)
geomean                                    234.3µ         222.6µ         -5.00%

                                   │ baseline-bench.txt │        benchmark-results.txt         │
                                   │        B/op        │     B/op      vs base                │
EventStoreAppend_InMemory-4                  824.0 ± 8%     792.0 ± 7%       ~ (p=0.615 n=6)
EventStoreAppend_SQLite-4                  1.986Ki ± 2%   1.983Ki ± 1%       ~ (p=0.675 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=0.242 n=6)
GetTimeline_InMemory/events-1000-4         944.3Ki ± 0%   944.3Ki ± 0%       ~ (p=0.206 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.242 n=6)
GetTimeline_SQLite/events-1000-4           1.639Mi ± 0%   1.639Mi ± 0%       ~ (p=1.000 n=6)
geomean                                    67.59Ki        67.35Ki       -0.34%
¹ 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.

Copilot AI review requested due to automatic review settings April 25, 2026 14:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.

Comment thread cmd/wfctl/audit.go Resolved
Comment thread cmd/wfctl/plan_audit.go Resolved
Copilot AI review requested due to automatic review settings April 25, 2026 14:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 82 out of 82 changed files in this pull request and generated 1 comment.

Comment thread cmd/wfctl/plan_audit.go Resolved
Copilot AI review requested due to automatic review settings April 25, 2026 15:13
@intel352
intel352 force-pushed the feat/workflow-ecosystem-audit branch from 60f9814 to 5ec794c Compare April 25, 2026 15:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 83 out of 83 changed files in this pull request and generated 1 comment.

Comment thread cmd/wfctl/plan_audit.go Resolved
@intel352
intel352 force-pushed the feat/workflow-ecosystem-audit branch from 862b52c to cd1077c Compare April 25, 2026 15:27
Copilot AI review requested due to automatic review settings April 25, 2026 15:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

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

Comment thread cmd/wfctl/plugin_audit.go Resolved
Comment thread docs/plans/INDEX.md Resolved
@intel352
intel352 force-pushed the feat/workflow-ecosystem-audit branch from cd1077c to 2662759 Compare April 25, 2026 15:33
Copilot AI review requested due to automatic review settings April 25, 2026 15:43
@intel352
intel352 force-pushed the feat/workflow-ecosystem-audit branch from 2662759 to abb969c Compare April 25, 2026 15:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 83 out of 83 changed files in this pull request and generated 2 comments.

Comment thread cmd/wfctl/plan_audit.go Resolved
Comment thread cmd/wfctl/plugin_audit.go Resolved
@intel352
intel352 force-pushed the feat/workflow-ecosystem-audit branch from abb969c to c7459c9 Compare April 25, 2026 16:03
Copilot AI review requested due to automatic review settings April 25, 2026 16:06
@intel352
intel352 force-pushed the feat/workflow-ecosystem-audit branch from c7459c9 to 2aa538f Compare April 25, 2026 16:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 83 out of 83 changed files in this pull request and generated 4 comments.

Comment thread cmd/wfctl/plan_audit.go Resolved
Comment thread docs/WFCTL.md Resolved
Copilot AI review requested due to automatic review settings April 25, 2026 16:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 83 out of 83 changed files in this pull request and generated 2 comments.

Comment thread cmd/wfctl/plugin_audit_test.go Resolved
Comment thread cmd/wfctl/audit.go Resolved
@intel352
intel352 merged commit 9a74a5e into main Apr 25, 2026
18 checks passed
@intel352
intel352 deleted the feat/workflow-ecosystem-audit branch April 25, 2026 16:47
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