Skip to content

ci: stage frozen Go27 bridge authority - #1024

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

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

Conversation

@intel352

@intel352 intel352 commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Stage the independently reviewed Go 1.27.1 policy bridge. This is the first
authority-only transition in a twelve-PR rollout, not executable adoption.

  • Append the complete parser-derived policy context: one presence row, three
    action rows, fifty command rows and two executable rows.
  • Pair that context with the complete 38-file staged authority bundle frozen
    at 667a58a396b7c80af0ae7fb7bbb3a0b1c8b0c95e.
  • Preserve the active 35-file bundle, all existing trust rows and unrelated
    staged contexts, empty secret policy and every current executable byte.

Adoption of the exact five frozen files and promotion of the realized pair
are separate subsequent PRs. No scanner, runner, permission, secret, release
configuration or source-module change is included here.

Verification

The trusted predecessor scanner accepts the candidate's eleven workflows.
Policytool tests, differential lint, actionlint and diff checks pass locally.
The frozen guard's complete tests and actual stage/adopt/promote chain pass
on macOS and nonroot Linux with the original harness retained.

The unchanged original full harness reproduces the approved synthetic fixture
failure, authority manifest may contain at most one staged bundle. The
external repaired harness passes against the real staged candidate with event
variables unset. It is not installed by this PR.

Exact-candidate native Go 1.27.1 analysis requests/extracts all fourteen modules
with complete package coverage, twelve without failure diagnostics and only
the two approved conformance metadata errors. Its 61 finding occurrences match
the approved baseline; scanner and reporter both retain exit 1. The separate
scoped gate exits 0, while strict mode still exits 1 for the actual errors.
Source bytes, modes, clean SHA and owned-container cleanup are verified.

Fresh external original-input staged, adopted and promoted full harnesses,
trusted staged-adoption scans and paired promotion scans all exit 0 on macOS
and registered nonroot Linux. Every input's bytes, modes, status and index are
preserved; the original harness remains installed in all three states. The
fixtures are external synthetic clones executing the real policy/parser/guard,
not production adoption. Linux isolation and owned-container cleanup are
verified. Independent exact-head production review found no blocking issues.

Hosted checks and review remain required before merge. No hosted-green claim
is made here.

Bootstrap Constraints

The approved exceptions are limited to the two named existing harness fixture
causes, unchanged existing vulnerability findings, fourteen exact hosted
Go 1.26.2/minimum 1.26.5 analysis errors, and two exact native conformance
metadata errors backed by complete extraction and independent Go 1.27.1
provenance. Unmatched errors or new findings block. The harness exception
expires when the scheduled repair is adopted; both scanner exceptions expire
after the final rollout receipt and cannot carry into source changes.

Doc-reconciliation: clean (authority-only diff; later adoption explicitly
identified).

Bind the independently reviewed five-file bridge without adopting executable code. Preserve existing active and unrelated staged contexts; adoption and promotion remain separate changes.
@github-actions

github-actions Bot commented Oct 4, 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:273995: parsing iteration count: invalid syntax
baseline-bench.txt:591528: parsing iteration count: invalid syntax
baseline-bench.txt:916738: parsing iteration count: invalid syntax
baseline-bench.txt:1195040: parsing iteration count: invalid syntax
baseline-bench.txt:1443567: parsing iteration count: invalid syntax
benchmark-results.txt:310: parsing iteration count: invalid syntax
benchmark-results.txt:289697: parsing iteration count: invalid syntax
benchmark-results.txt:569178: parsing iteration count: invalid syntax
benchmark-results.txt:892657: parsing iteration count: invalid syntax
benchmark-results.txt:1193525: parsing iteration count: invalid syntax
benchmark-results.txt:1513002: 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               8.899m ± 64%   9.920m ± 67%       ~ (p=1.000 n=6)
ComponentLoad-4                     3.671m ±  2%   3.769m ±  1%  +2.67% (p=0.009 n=6)
ComponentExecute-4                  1.970µ ±  2%   1.992µ ±  2%       ~ (p=0.121 n=6)
PoolContention/workers-1-4          1.108µ ±  2%   1.119µ ±  1%       ~ (p=0.459 n=6)
PoolContention/workers-2-4          1.095µ ±  1%   1.113µ ±  1%  +1.64% (p=0.004 n=6)
PoolContention/workers-4-4          1.097µ ±  1%   1.090µ ±  3%       ~ (p=0.374 n=6)
PoolContention/workers-8-4          1.098µ ±  1%   1.090µ ±  1%  -0.77% (p=0.026 n=6)
PoolContention/workers-16-4         1.105µ ±  5%   1.099µ ±  4%       ~ (p=0.331 n=6)
ComponentLifecycle-4                3.646m ±  1%   3.684m ±  3%  +1.04% (p=0.015 n=6)
SourceValidation-4                  2.328µ ±  1%   2.359µ ±  0%  +1.31% (p=0.011 n=6)
RegistryConcurrent-4                818.3n ±  5%   866.5n ±  3%  +5.89% (p=0.002 n=6)
LoaderLoadFromString-4              3.676m ±  2%   3.712m ±  1%       ~ (p=0.065 n=6)
geomean                             19.29µ         19.68µ        +2.04%

                            │ 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.390 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.937 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.310 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                  292.6n ± 5%   291.4n ± 0%  -0.43% (p=0.011 n=6)
CircuitBreakerExecution_Success-4          22.53n ± 0%   22.54n ± 1%       ~ (p=0.675 n=6)
CircuitBreakerExecution_Failure-4          66.66n ± 0%   66.42n ± 0%  -0.36% (p=0.002 n=6)
geomean                                    76.02n        75.84n       -0.23%

                                  │ 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              312.4n ± 45%   340.8n ± 23%       ~ (p=0.699 n=6)
IaCStateBackend_GRPC-4                   9.435m ±  3%   9.387m ±  3%       ~ (p=0.485 n=6)
JQTransform_Simple-4                     698.6n ± 34%   677.0n ± 36%       ~ (p=0.310 n=6)
JQTransform_ObjectConstruction-4         1.572µ ±  1%   1.551µ ±  1%  -1.37% (p=0.013 n=6)
JQTransform_ArraySelect-4                3.562µ ±  5%   3.511µ ±  1%       ~ (p=0.065 n=6)
JQTransform_Complex-4                    41.64µ ±  1%   39.91µ ±  1%  -4.17% (p=0.002 n=6)
JQTransform_Throughput-4                 1.909µ ±  2%   1.898µ ±  1%  -0.60% (p=0.037 n=6)
SSEPublishDelivery-4                     69.16n ±  1%   70.17n ±  2%  +1.47% (p=0.004 n=6)
geomean                                  3.983µ         3.978µ        -0.15%

                                 │ 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.857Mi ± 8%     5.867Mi ± 9%       ~ (p=0.818 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.02%               ²
¹ 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.837k ± 0%     6.833k ± 0%       ~ (p=0.387 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.01%               ²
¹ 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.103µ ± 5%   1.083µ ± 15%       ~ (p=0.145 n=6)
SchemaValidation_AllFields-4                 1.664µ ± 2%   1.654µ ±  9%       ~ (p=0.732 n=6)
SchemaValidation_FormatValidation-4          1.594µ ± 4%   1.593µ ±  2%       ~ (p=0.509 n=6)
SchemaValidation_ManySchemas-4               1.799µ ± 2%   1.768µ ±  2%       ~ (p=0.258 n=6)
geomean                                      1.514µ        1.499µ        -1.05%

                                    │ 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.166µ ± 17%   1.270µ ±  9%        ~ (p=0.132 n=6)
EventStoreAppend_SQLite-4                  1.284m ±  4%   1.110m ±  7%  -13.59% (p=0.002 n=6)
GetTimeline_InMemory/events-10-4           14.30µ ±  3%   15.35µ ±  5%   +7.35% (p=0.004 n=6)
GetTimeline_InMemory/events-50-4           81.06µ ± 23%   85.68µ ±  4%   +5.69% (p=0.002 n=6)
GetTimeline_InMemory/events-100-4          125.9µ ±  2%   155.1µ ± 15%  +23.23% (p=0.002 n=6)
GetTimeline_InMemory/events-500-4          649.6µ ±  0%   691.4µ ±  2%   +6.44% (p=0.002 n=6)
GetTimeline_InMemory/events-1000-4         1.326m ±  1%   1.392m ±  1%   +4.99% (p=0.002 n=6)
GetTimeline_SQLite/events-10-4             70.65µ ±  1%   75.61µ ±  1%   +7.02% (p=0.002 n=6)
GetTimeline_SQLite/events-50-4             203.4µ ±  2%   214.6µ ±  1%   +5.53% (p=0.002 n=6)
GetTimeline_SQLite/events-100-4            365.5µ ±  0%   386.2µ ±  1%   +5.67% (p=0.002 n=6)
GetTimeline_SQLite/events-500-4            1.653m ±  1%   1.728m ±  2%   +4.52% (p=0.002 n=6)
GetTimeline_SQLite/events-1000-4           3.285m ±  2%   3.411m ±  3%   +3.83% (p=0.002 n=6)
geomean                                    204.6µ         215.9µ         +5.52%

                                   │ baseline-bench.txt │        benchmark-results.txt         │
                                   │        B/op        │     B/op      vs base                │
EventStoreAppend_InMemory-4                  797.5 ± 7%     835.5 ± 9%       ~ (p=0.225 n=6)
EventStoreAppend_SQLite-4                  2.054Ki ± 1%   2.053Ki ± 1%       ~ (p=0.221 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.567 n=6)
GetTimeline_InMemory/events-1000-4         944.3Ki ± 0%   944.3Ki ± 0%       ~ (p=0.076 n=6)
GetTimeline_SQLite/events-10-4             15.59Ki ± 0%   15.59Ki ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-50-4             80.56Ki ± 0%   80.56Ki ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-100-4            162.1Ki ± 0%   162.1Ki ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-500-4            777.4Ki ± 0%   777.4Ki ± 0%       ~ (p=0.067 n=6)
GetTimeline_SQLite/events-1000-4           1.503Mi ± 0%   1.503Mi ± 0%  -0.00% (p=0.002 n=6)
geomean                                    65.37Ki        65.62Ki       +0.38%
¹ 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                    55.00 ± 0%    55.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               316.0 ± 0%    316.0 ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-50-4              1.486k ± 0%   1.486k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-100-4             2.940k ± 0%   2.940k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-500-4             14.79k ± 0%   14.79k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-1000-4            29.80k ± 0%   29.80k ± 0%       ~ (p=1.000 n=6) ¹
geomean                                     1.065k        1.065k       +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 5e342f4 into main Oct 5, 2026
32 of 35 checks passed
@intel352
intel352 deleted the fix/ci-go127-bridge-stage branch October 5, 2026 00:08
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