Skip to content

ci: adopt frozen Go27 policy bridge - #1025

Merged
intel352 merged 1 commit into
mainfrom
fix/ci-go127-bridge-adopt
Oct 5, 2026
Merged

intel352 merged 1 commit into
mainfrom
fix/ci-go127-bridge-adopt

Conversation

@intel352

@intel352 intel352 commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Adopt only the five immutable bridge files authorized by #1024:

  • public policy workflow;
  • trusted adoption guard source, tests, and canonical launcher;
  • policy reference documentation.

The workflow selects Go 1.27.1 for both trusted and authorized-candidate
analysis. The isolated module retains its Go 1.26.5 minimum. Authority manifests,
wrapper, original mutation harness, module files, and fixtures are unchanged.
The current adoption passes the trusted-base scan without fallback. Later
policy adoption can execute candidate analysis only after the already-trusted
guard authorizes the exact previously staged inventory and executable pins.

Verification

  • Native macOS and nonroot Linux: full policytool/guard tests, including the real
    stage/adopt/promote chain, no-history execution, skew, and rejection cases.
  • Trusted predecessor scan: 11 workflows, success, no candidate fallback.
  • Both OSes: vet, compatible golangci-lint 2.14, actionlint, and diff checks.
  • Full external repaired harness passes with the event tuple unset; it is not
    installed by this PR. Input bytes, modes, status, and index are preserved.
  • The unchanged original harness still exits 1 at its known local fetch fixture:
    EVENT_NAME: unbound variable. This is the explicitly approved temporary
    bootstrap exception, not a passing test. Its separately authorized correction
    must pass actual hosted CI before that exception expires.
  • Exact-head native Go 1.27.1 / maintained OSV 2.6 analysis: 14 Go manifests
    extracted, 22 coverage records, and the same 61 pinned baseline findings.
    Exactly two pre-existing conformance fixture metadata errors remain; the
    other 12 modules have no failure diagnostics. Scanner and reporter both exit
    1. The explicitly scoped comparator accepts the unchanged baseline (exit 0),
      while its default strict mode still rejects these errors (exit 1). This is
      native evidence only, not a green scan or a replacement for hosted checks.

Runtime Launch

The actual trusted wrapper scans the candidate repository successfully on both
OSes. The guard tests execute real trusted-wrapper/guard/candidate-scanner
crossings for authorized synthetic lifecycle transitions and reject unauthorized
transitions without a candidate-execution marker. Synthetic future transitions
are conformance coverage, not a claim that the later policy has been adopted.

The remaining CI compiler wave and harness correction are intentionally not
part of this exact-file adoption. No timeout, scanner setting, ignore, secret,
OIDC, credential, or runner policy is changed.

Doc-reconciliation: clean

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

⏱ Benchmark Results

✅ No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
baseline-bench.txt:310: parsing iteration count: invalid syntax
baseline-bench.txt:510932: parsing iteration count: invalid syntax
baseline-bench.txt:1017270: parsing iteration count: invalid syntax
baseline-bench.txt:1586137: parsing iteration count: invalid syntax
baseline-bench.txt:2100002: parsing iteration count: invalid syntax
baseline-bench.txt:2546376: parsing iteration count: invalid syntax
benchmark-results.txt:310: parsing iteration count: invalid syntax
benchmark-results.txt:291461: parsing iteration count: invalid syntax
benchmark-results.txt:554457: parsing iteration count: invalid syntax
benchmark-results.txt:863692: parsing iteration count: invalid syntax
benchmark-results.txt:1169450: parsing iteration count: invalid syntax
benchmark-results.txt:1486422: 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                  7.416m ± 56%
ComponentLoad-4                        3.984m ±  6%
ComponentExecute-4                     2.061µ ±  3%
PoolContention/workers-1-4             1.129µ ±  5%
PoolContention/workers-2-4             1.113µ ±  3%
PoolContention/workers-4-4             1.123µ ±  1%
PoolContention/workers-8-4             1.133µ ±  3%
PoolContention/workers-16-4            1.160µ ±  5%
ComponentLifecycle-4                   3.740m ± 13%
SourceValidation-4                     2.420µ ± 33%
RegistryConcurrent-4                   843.7n ± 18%
LoaderLoadFromString-4                 3.834m ±  3%
geomean                                19.64µ

                            │ 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 9V45 96-Core Processor                
                            │ baseline-bench.txt │
                            │       sec/op       │
InterpreterCreation-4              1.943m ± 247%
ComponentLoad-4                    2.211m ±   7%
ComponentExecute-4                 1.133µ ±   3%
PoolContention/workers-1-4         645.9n ±   3%
PoolContention/workers-2-4         634.1n ±   4%
PoolContention/workers-4-4         636.2n ±   3%
PoolContention/workers-8-4         632.6n ±   2%
PoolContention/workers-16-4        635.5n ±   7%
ComponentLifecycle-4               2.192m ±   1%
SourceValidation-4                 1.317µ ±   1%
RegistryConcurrent-4               492.0n ±   2%
LoaderLoadFromString-4             2.226m ±   2%
geomean                            10.41µ

                            │ 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                     303.5n ± 4%
CircuitBreakerExecution_Success-4             22.57n ± 1%
CircuitBreakerExecution_Failure-4             66.64n ± 0%
geomean                                       76.99n

                                  │ 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 9V45 96-Core Processor                
                                  │ baseline-bench.txt │
                                  │       sec/op       │
CircuitBreakerDetection-4                  359.2n ± 2%
CircuitBreakerExecution_Success-4          46.30n ± 4%
CircuitBreakerExecution_Failure-4          66.75n ± 6%
geomean                                    103.5n

                                  │ 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                 326.3n ± 33%
IaCStateBackend_GRPC-4                      9.554m ± 11%
JQTransform_Simple-4                        714.3n ± 37%
JQTransform_ObjectConstruction-4            1.627µ ±  1%
JQTransform_ArraySelect-4                   3.635µ ±  2%
JQTransform_Complex-4                       41.76µ ±  2%
JQTransform_Throughput-4                    1.972µ ±  5%
SSEPublishDelivery-4                        73.78n ±  2%
geomean                                     4.101µ

                                 │ benchmark-results.txt │
                                 │         B/op          │
IaCStateBackend_InProcess-4                416.0 ±  0%
IaCStateBackend_GRPC-4                   5.924Mi ± 12%
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.832k ± 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 9V45 96-Core Processor                
                                 │ baseline-bench.txt │
                                 │       sec/op       │
IaCStateBackend_InProcess-4              215.5n ±  4%
IaCStateBackend_GRPC-4                   6.070m ± 15%
JQTransform_Simple-4                     409.9n ±  9%
JQTransform_ObjectConstruction-4         915.4n ±  2%
JQTransform_ArraySelect-4                2.054µ ±  2%
JQTransform_Complex-4                    22.60µ ±  1%
JQTransform_Throughput-4                 1.088µ ±  3%
SSEPublishDelivery-4                     55.78n ±  1%
geomean                                  2.469µ

                                 │ baseline-bench.txt │
                                 │        B/op        │
IaCStateBackend_InProcess-4             416.0 ±  0%
IaCStateBackend_GRPC-4                5.628Mi ± 10%
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.853k ± 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.099µ ±  3%
SchemaValidation_AllFields-4                   1.659µ ± 25%
SchemaValidation_FormatValidation-4            1.577µ ±  1%
SchemaValidation_ManySchemas-4                 1.809µ ±  1%
geomean                                        1.510µ

                                    │ 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 9V45 96-Core Processor                
                                    │ baseline-bench.txt │
                                    │       sec/op       │
SchemaValidation_Simple-4                    632.7n ± 3%
SchemaValidation_AllFields-4                 951.0n ± 2%
SchemaValidation_FormatValidation-4          925.5n ± 2%
SchemaValidation_ManySchemas-4               1.045µ ± 4%
geomean                                      873.3n

                                    │ 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.168µ ± 24%
EventStoreAppend_SQLite-4                     1.238m ±  4%
GetTimeline_InMemory/events-10-4              14.56µ ±  4%
GetTimeline_InMemory/events-50-4              78.39µ ± 16%
GetTimeline_InMemory/events-100-4             133.6µ ±  1%
GetTimeline_InMemory/events-500-4             688.7µ ±  1%
GetTimeline_InMemory/events-1000-4            1.393m ±  1%
GetTimeline_SQLite/events-10-4                75.13µ ±  2%
GetTimeline_SQLite/events-50-4                216.4µ ±  1%
GetTimeline_SQLite/events-100-4               389.7µ ±  1%
GetTimeline_SQLite/events-500-4               1.729m ±  1%
GetTimeline_SQLite/events-1000-4              3.396m ±  1%
geomean                                       211.2µ

                                   │ benchmark-results.txt │
                                   │         B/op          │
EventStoreAppend_InMemory-4                     816.0 ± 8%
EventStoreAppend_SQLite-4                     2.052Ki ± 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                15.59Ki ± 0%
GetTimeline_SQLite/events-50-4                80.56Ki ± 0%
GetTimeline_SQLite/events-100-4               162.1Ki ± 0%
GetTimeline_SQLite/events-500-4               777.4Ki ± 0%
GetTimeline_SQLite/events-1000-4              1.503Mi ± 0%
geomean                                       65.49Ki

                                   │ benchmark-results.txt │
                                   │       allocs/op       │
EventStoreAppend_InMemory-4                     7.000 ± 0%
EventStoreAppend_SQLite-4                       55.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                  316.0 ± 0%
GetTimeline_SQLite/events-50-4                 1.486k ± 0%
GetTimeline_SQLite/events-100-4                2.940k ± 0%
GetTimeline_SQLite/events-500-4                14.79k ± 0%
GetTimeline_SQLite/events-1000-4               29.80k ± 0%
geomean                                        1.065k

cpu: AMD EPYC 9V45 96-Core Processor                
                                   │ baseline-bench.txt │
                                   │       sec/op       │
EventStoreAppend_InMemory-4                686.8n ± 54%
EventStoreAppend_SQLite-4                  1.426m ± 28%
GetTimeline_InMemory/events-10-4           6.766µ ±  2%
GetTimeline_InMemory/events-50-4           36.35µ ±  3%
GetTimeline_InMemory/events-100-4          70.04µ ±  3%
GetTimeline_InMemory/events-500-4          354.5µ ±  1%
GetTimeline_InMemory/events-1000-4         699.5µ ±  2%
GetTimeline_SQLite/events-10-4             33.74µ ±  2%
GetTimeline_SQLite/events-50-4             115.3µ ±  1%
GetTimeline_SQLite/events-100-4            216.4µ ±  2%
GetTimeline_SQLite/events-500-4            1.051m ±  7%
GetTimeline_SQLite/events-1000-4           2.121m ±  1%
geomean                                    118.7µ

                                   │ baseline-bench.txt │
                                   │        B/op        │
EventStoreAppend_InMemory-4                  798.0 ± 7%
EventStoreAppend_SQLite-4                  2.056Ki ± 1%
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             15.59Ki ± 0%
GetTimeline_SQLite/events-50-4             80.56Ki ± 0%
GetTimeline_SQLite/events-100-4            162.1Ki ± 0%
GetTimeline_SQLite/events-500-4            777.4Ki ± 0%
GetTimeline_SQLite/events-1000-4           1.503Mi ± 0%
geomean                                    65.38Ki

                                   │ baseline-bench.txt │
                                   │     allocs/op      │
EventStoreAppend_InMemory-4                  7.000 ± 0%
EventStoreAppend_SQLite-4                    55.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               316.0 ± 0%
GetTimeline_SQLite/events-50-4              1.486k ± 0%
GetTimeline_SQLite/events-100-4             2.940k ± 0%
GetTimeline_SQLite/events-500-4             14.79k ± 0%
GetTimeline_SQLite/events-1000-4            29.80k ± 0%
geomean                                     1.065k

Benchmarks run with go test -bench=. -benchmem -count=6.
Regressions ≥ 20% are flagged. Results compared via benchstat.

@intel352
intel352 merged commit c5d53ca into main Oct 5, 2026
22 of 23 checks passed
@intel352
intel352 deleted the fix/ci-go127-bridge-adopt branch October 5, 2026 02:16
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