Skip to content

docs(mcp): surface config-derived cigen CI generation in MCP output#854

Merged
intel352 merged 12 commits into
mainfrom
feat/mcp-cigen-info
Jun 5, 2026
Merged

docs(mcp): surface config-derived cigen CI generation in MCP output#854
intel352 merged 12 commits into
mainfrom
feat/mcp-cigen-info

Conversation

@intel352
Copy link
Copy Markdown
Contributor

@intel352 intel352 commented Jun 5, 2026

What

Makes wfctl's MCP output accurately describe the config-derived cigen CI generation. The render path is already cigen-backed (generate_github_actions routes through cigen.Analyze + cigen.RenderGitHubActions; ci_plan is cigen-backed) — but the information was stale/missing, so an AI driving the MCP couldn't tell the config-derived surface existed. Informational only: no new tools, no handler/behavior change, no release.

Surfaces (5 + a test)

  • mcp/server.go Instructions — name the cigen engine + ci_plan/generate_github_actions; "config-derived CI/CD generation (ci plan / ci generate)".
  • mcp/docs.go docsOverview (workflow://docs/overview) — config-derived framing (per-phase scoped secrets, wfctl migrations up step, smoke job, plan-guard) + the wfctl ci plan / ci generate commands. All four platforms (github_actions, gitlab_ci, jenkins, circleci) are config-derived from the same CIPlan (mirrors docs/WFCTL.md:2142).
  • mcp/wfctl_tools.go — accurate generate_github_actions description (CI = cigen; cd_yaml/release_yaml are legacy template using the registry/platforms inputs) + ci_plan (per-phase scoped secrets; renders via generate_github_actions).
  • mcp/setup_guide.go (workflow://docs/setup-guide) — adds the cigen path alongside the existing scaffold_cigenerate_bootstrapwfctl ci run flow + a "which to use" note (the two are distinct: scaffold_ci emits a ci: section; cigen renders a platform-native workflow).
  • docs/mcp-tools-reference.md — add the absent ci_plan + generate_github_actions entries; correct the stale scaffold_ci entry (it listed a fictional provider/circleci; real params are description req + yaml_content/binary_path/environments).
  • mcp/cigen_info_test.go (new) — Contains assertions locking the cigen keywords into the Instructions/resources/tool descriptions, incl a negative assertion that docsOverview does NOT claim Jenkins/CircleCI are template-based.

Verification

  • GOWORK=off go test ./mcp/... — green (incl TestMCPOutputSurfacesCigen)
  • GOWORK=off go build ./cmd/wfctl — exit 0
  • GOWORK=off golangci-lint run --new-from-rev=origin/main ./mcp/... — 0 issues
  • Runtime: launched the real wfctl mcp server over stdio JSON-RPC; the initialize Instructions and the workflow://docs/overview resource body both contain cigen.

Out of scope (logged follow-ups)

  • The generate_github_actions handler reads phase_config_yaml/wfctl_version but its tool def doesn't declare them (latent schema gap) — not fixed here (would be a schema change).
  • scaffold_environment/scaffold_infra ref-doc entries also drift from their defs (not CI-related).

Pipeline

Full autodev: brainstorming → design adversarial PASS (2 cycles; caught a Jenkins/CircleCI-template factual error + a missed setup-guide CI surface) → plan adversarial PASS (reviewer ran the runtime handshake live) → alignment PASS → scope-lock → implement → code review. Design + plan + lock included.

Rollback

Revert the PR; the MCP reverts to the prior generic strings. No release, no state.

🤖 Generated with Claude Code

intel352 and others added 11 commits June 4, 2026 20:52
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- C1: all four CI platforms are config-derived from the CIPlan (not Jenkins/CircleCI=template); the only hybrid is within generate_github_actions (cigen CI vs legacy cd_yaml/release_yaml)
- I1: add 5th surface — setup_guide.go CI/CD Setup Flow (cigen path + scaffold_ci-vs-cigen relationship)
- I2: exact param names for ref-doc entries + correct the stale scaffold_ci entry; scope out scaffold_environment/infra

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…le ref entries

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 5, 2026 01:12
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 MCP server’s user-facing documentation surfaces so AI clients can correctly discover and describe wfctl’s config-derived cigen CI generation (CIPlan analysis + platform render), aligning MCP output with the already-cigen-backed implementation path.

Changes:

  • Update MCP server Instructions and workflow://docs/overview / workflow://docs/setup-guide resources to explicitly describe the cigen CIPlan workflow and key behaviors (phase-scoped secrets, migrations step, smoke job, plan-guard).
  • Update ci_plan and generate_github_actions tool descriptions to reflect the cigen-backed CI output and the legacy-template CD/release outputs.
  • Add a focused Go test to assert that key “cigen/config-derived” keywords are present across MCP doc surfaces and tool descriptions, and update the human MCP tools reference doc.

Reviewed changes

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

Show a summary per file
File Description
mcp/wfctl_tools.go Updates MCP tool descriptions for generate_github_actions and ci_plan to describe cigen-backed CI generation and legacy CD/release templates.
mcp/setup_guide.go Extends setup guide to mention the config-derived cigen path alongside the existing thin-bootstrap flow.
mcp/server.go Updates MCP server Instructions to mention cigen + ci_plan / generate_github_actions.
mcp/docs.go Updates the overview resource to describe config-derived CI generation and related CLI/MCP surfaces.
mcp/cigen_info_test.go Adds a test to lock cigen-related keywords into MCP resources/tool descriptions.
docs/mcp-tools-reference.md Fixes stale scaffold_ci docs and adds missing ci_plan / generate_github_actions reference entries.
docs/plans/2026-06-04-mcp-cigen-info*.md* Adds/updates planning artifacts for this change set.

Comment thread mcp/wfctl_tools.go Outdated
Comment thread mcp/wfctl_tools.go Outdated
Comment thread mcp/setup_guide.go Outdated
Comment thread mcp/cigen_info_test.go
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 5, 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

github-actions Bot commented Jun 5, 2026

⏱ Benchmark Results

No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
baseline-bench.txt:304: parsing iteration count: invalid syntax
baseline-bench.txt:314021: parsing iteration count: invalid syntax
baseline-bench.txt:647787: parsing iteration count: invalid syntax
baseline-bench.txt:992377: parsing iteration count: invalid syntax
baseline-bench.txt:1319510: parsing iteration count: invalid syntax
baseline-bench.txt:1646952: parsing iteration count: invalid syntax
benchmark-results.txt:304: parsing iteration count: invalid syntax
benchmark-results.txt:332405: parsing iteration count: invalid syntax
benchmark-results.txt:644499: parsing iteration count: invalid syntax
benchmark-results.txt:976483: parsing iteration count: invalid syntax
benchmark-results.txt:1305311: parsing iteration count: invalid syntax
benchmark-results.txt:1637205: 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               7.573m ± 60%   6.755m ± 56%       ~ (p=0.589 n=6)
ComponentLoad-4                     3.508m ±  9%   3.482m ±  0%  -0.73% (p=0.004 n=6)
ComponentExecute-4                  1.825µ ±  1%   1.815µ ±  2%       ~ (p=0.290 n=6)
PoolContention/workers-1-4          1.025µ ±  4%   1.019µ ±  1%       ~ (p=0.485 n=6)
PoolContention/workers-2-4          1.009µ ±  5%   1.008µ ±  2%       ~ (p=0.677 n=6)
PoolContention/workers-4-4          1.040µ ±  1%   1.008µ ±  1%  -3.12% (p=0.002 n=6)
PoolContention/workers-8-4          1.032µ ±  2%   1.027µ ±  2%       ~ (p=0.868 n=6)
PoolContention/workers-16-4         1.032µ ±  4%   1.008µ ±  3%       ~ (p=0.071 n=6)
ComponentLifecycle-4                3.553m ±  1%   3.479m ±  0%  -2.07% (p=0.002 n=6)
SourceValidation-4                  2.101µ ±  1%   2.083µ ±  1%  -0.86% (p=0.045 n=6)
RegistryConcurrent-4                750.6n ±  5%   741.4n ±  8%       ~ (p=0.818 n=6)
LoaderLoadFromString-4              3.586m ±  1%   3.525m ±  1%  -1.71% (p=0.002 n=6)
geomean                             17.94µ         17.57µ        -2.09%

                            │ baseline-bench.txt │        benchmark-results.txt         │
                            │        B/op        │     B/op      vs base                │
InterpreterCreation-4               2.027Mi ± 0%   2.027Mi ± 0%       ~ (p=0.937 n=6)
ComponentLoad-4                     2.180Mi ± 0%   2.180Mi ± 0%       ~ (p=0.052 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.299 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.617 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                  297.7n ± 0%   297.4n ± 0%       ~ (p=0.461 n=6)
CircuitBreakerExecution_Success-4          22.67n ± 0%   22.65n ± 0%       ~ (p=0.305 n=6)
CircuitBreakerExecution_Failure-4          70.92n ± 0%   71.05n ± 0%       ~ (p=0.190 n=6)
geomean                                    78.22n        78.22n       +0.01%

                                  │ 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              299.3n ±  1%   297.9n ± 31%        ~ (p=0.485 n=6)
IaCStateBackend_GRPC-4                   10.24m ± 12%   10.19m ±  1%        ~ (p=0.240 n=6)
JQTransform_Simple-4                     674.4n ± 31%   674.1n ± 56%        ~ (p=0.937 n=6)
JQTransform_ObjectConstruction-4         1.484µ ±  1%   1.659µ ±  1%  +11.83% (p=0.002 n=6)
JQTransform_ArraySelect-4                3.619µ ±  3%   3.699µ ±  2%        ~ (p=0.240 n=6)
JQTransform_Complex-4                    43.94µ ±  3%   43.64µ ±  0%        ~ (p=1.000 n=6)
JQTransform_Throughput-4                 1.797µ ±  2%   1.995µ ±  1%  +11.02% (p=0.002 n=6)
SSEPublishDelivery-4                     64.23n ±  0%   64.88n ±  1%   +1.03% (p=0.009 n=6)
geomean                                  3.925µ         4.040µ         +2.93%

                                 │ 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.742Mi ± 5%     5.773Mi ± 17%       ~ (p=0.699 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.07%               ²
¹ 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.859k ± 1%     6.857k ± 0%       ~ (p=0.331 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.084µ ± 3%   1.088µ ± 16%       ~ (p=0.429 n=6)
SchemaValidation_AllFields-4                 1.618µ ± 2%   1.632µ ±  7%       ~ (p=0.076 n=6)
SchemaValidation_FormatValidation-4          1.572µ ± 2%   1.574µ ±  3%       ~ (p=0.561 n=6)
SchemaValidation_ManySchemas-4               1.588µ ± 2%   1.568µ ±  1%  -1.26% (p=0.026 n=6)
geomean                                      1.446µ        1.447µ        +0.03%

                                    │ 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.129µ ± 17%   1.126µ ± 19%        ~ (p=0.818 n=6)
EventStoreAppend_SQLite-4                  1.060m ±  7%   1.007m ±  2%   -4.96% (p=0.015 n=6)
GetTimeline_InMemory/events-10-4           13.88µ ±  3%   13.66µ ±  3%        ~ (p=0.310 n=6)
GetTimeline_InMemory/events-50-4           78.01µ ±  3%   77.25µ ±  3%        ~ (p=0.394 n=6)
GetTimeline_InMemory/events-100-4          118.6µ ± 22%   151.7µ ± 10%  +27.85% (p=0.002 n=6)
GetTimeline_InMemory/events-500-4          603.1µ ±  1%   596.2µ ± 12%        ~ (p=0.065 n=6)
GetTimeline_InMemory/events-1000-4         1.217m ±  0%   1.222m ±  1%   +0.43% (p=0.026 n=6)
GetTimeline_SQLite/events-10-4             60.90µ ±  2%   61.22µ ±  2%        ~ (p=0.180 n=6)
GetTimeline_SQLite/events-50-4             199.1µ ±  1%   200.6µ ±  1%   +0.72% (p=0.041 n=6)
GetTimeline_SQLite/events-100-4            372.6µ ±  1%   371.5µ ±  1%        ~ (p=0.699 n=6)
GetTimeline_SQLite/events-500-4            1.711m ±  1%   1.721m ±  1%        ~ (p=0.240 n=6)
GetTimeline_SQLite/events-1000-4           3.393m ±  2%   3.367m ±  0%   -0.77% (p=0.041 n=6)
geomean                                    194.7µ         197.4µ         +1.40%

                                   │ baseline-bench.txt │         benchmark-results.txt         │
                                   │        B/op        │     B/op       vs base                │
EventStoreAppend_InMemory-4                 758.0 ± 11%     773.5 ± 10%       ~ (p=0.623 n=6)
EventStoreAppend_SQLite-4                 1.985Ki ±  2%   1.984Ki ±  2%       ~ (p=0.779 n=6)
GetTimeline_InMemory/events-10-4          7.953Ki ±  0%   7.953Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-50-4          46.62Ki ±  0%   46.62Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-100-4         94.48Ki ±  0%   94.48Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-500-4         472.8Ki ±  0%   472.8Ki ±  0%       ~ (p=1.000 n=6)
GetTimeline_InMemory/events-1000-4        944.3Ki ±  0%   944.3Ki ±  0%       ~ (p=0.864 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=1.000 n=6)
GetTimeline_SQLite/events-1000-4          1.639Mi ±  0%   1.639Mi ±  0%       ~ (p=1.000 n=6)
geomean                                   67.11Ki         67.22Ki        +0.16%
¹ 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.

- generate_github_actions/ci_plan descriptions: clarify the tool re-analyzes the
  config and renders GitHub Actions ONLY; it does NOT accept a pre-built/edited
  CIPlan — rendering an edited plan or GitLab CI is the wfctl CLI (--from-plan /
  --platform gitlab_ci). Fixes the misleading 'edit the plan then render via MCP'.
- setup-guide: same GHA-only / CLI-for-GitLab clarification.
- extract serverInstructions package const + assert it in the test so the
  Instructions are genuinely locked (the test previously only claimed to).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@intel352 intel352 merged commit b482dff into main Jun 5, 2026
22 checks passed
@intel352 intel352 deleted the feat/mcp-cigen-info branch June 5, 2026 01:46
intel352 added a commit that referenced this pull request Jun 5, 2026
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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