Skip to content

fix(ci): correct unused portable audit executable hash - #1057

Merged
intel352 merged 1 commit into
mainfrom
fix/ci-go127-audit-portable-hash
Oct 13, 2026
Merged

intel352 merged 1 commit into
mainfrom
fix/ci-go127-audit-portable-hash

Conversation

@intel352

Copy link
Copy Markdown
Contributor

Corrects one unused staged executable binding before PR #1056 adopts the cloud/Kubernetes audit. GNU AWK rejected the mutation script's brace regex on Linux; its literal-match correction changes the script hash. The installed policy requires this hash correction to land while the staged CI context is unused.

This PR changes only zero-based row5's sha256 in .github/public-workflow-executable-allowlist.json (42322514…→5d4beac2…). All12 rows, order, metadata, states, contexts, paths, modes and3,526 other tracked files remain unchanged. It adopts no script or workflow and changes no guard. Jon approved this one additional prerequisite; #1056 retains its five-file adoption after rebase.

Validation: both prepared-source reviews have zero Critical/Important findings. Supporting Go1.27.1 Mac passes all18 unused-staged transition controls, trusted11-workflow scan, vet/actionlint and the complete policy core/guard/mutation harness in389.846s, with caller event/ref variables unset and source preserved. An additional isolated-module golangci2.14 check reports four diagnostics in unchanged baseline code; its negative is retained. Required root CI lint and owning hosted Linux/security checks remain required before merge. Committed custody supplements are in progress.

The original failed Linux audit remains recorded. This metadata-only PR does not claim corrected GNU mutation execution, production audit, stable release or Compute runtime acceptance.

@github-actions

Copy link
Copy Markdown

⏱ Benchmark Results

✅ No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
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.260m ± 17%   3.118m ± 17%  -4.37% (p=0.041 n=6)
ComponentLoad-4                     3.647m ±  2%   3.584m ±  0%  -1.72% (p=0.004 n=6)
ComponentExecute-4                  1.958µ ±  0%   1.966µ ±  1%       ~ (p=0.141 n=6)
PoolContention/workers-1-4          1.100µ ±  3%   1.094µ ±  1%       ~ (p=0.093 n=6)
PoolContention/workers-2-4          1.105µ ±  1%   1.103µ ±  2%       ~ (p=0.818 n=6)
PoolContention/workers-4-4          1.109µ ±  2%   1.097µ ±  2%       ~ (p=0.102 n=6)
PoolContention/workers-8-4          1.108µ ±  2%   1.100µ ±  1%  -0.77% (p=0.041 n=6)
PoolContention/workers-16-4         1.106µ ±  3%   1.095µ ±  1%       ~ (p=0.058 n=6)
ComponentLifecycle-4                3.625m ±  1%   3.601m ±  0%  -0.66% (p=0.041 n=6)
SourceValidation-4                  2.318µ ±  1%   2.305µ ±  1%  -0.56% (p=0.009 n=6)
RegistryConcurrent-4                816.4n ±  3%   813.6n ±  4%       ~ (p=1.000 n=6)
LoaderLoadFromString-4              3.645m ±  2%   3.609m ±  0%  -1.00% (p=0.002 n=6)
geomean                             17.72µ         17.55µ        -0.98%

                            │ baseline-bench.txt │        benchmark-results.txt         │
                            │        B/op        │     B/op      vs base                │
InterpreterCreation-4               2.027Mi ± 0%   2.027Mi ± 0%       ~ (p=0.509 n=6)
ComponentLoad-4                     2.180Mi ± 0%   2.180Mi ± 0%       ~ (p=0.132 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.457 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.558 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                  301.3n ± 3%   289.9n ± 5%  -3.80% (p=0.041 n=6)
CircuitBreakerExecution_Success-4          22.53n ± 0%   22.52n ± 0%       ~ (p=0.792 n=6)
CircuitBreakerExecution_Failure-4          66.60n ± 0%   66.45n ± 1%       ~ (p=0.065 n=6)
geomean                                    76.74n        75.69n       -1.37%

                                  │ 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              311.8n ±  1%   313.2n ± 36%       ~ (p=0.134 n=6)
IaCStateBackend_GRPC-4                   9.190m ± 16%   9.042m ±  8%       ~ (p=0.240 n=6)
JQTransform_Simple-4                     682.3n ± 36%   652.8n ± 39%       ~ (p=0.240 n=6)
JQTransform_ObjectConstruction-4         1.555µ ±  1%   1.521µ ±  1%  -2.19% (p=0.002 n=6)
JQTransform_ArraySelect-4                3.514µ ±  1%   3.435µ ±  0%  -2.25% (p=0.002 n=6)
JQTransform_Complex-4                    40.40µ ±  1%   39.15µ ±  2%  -3.09% (p=0.002 n=6)
JQTransform_Throughput-4                 1.873µ ±  1%   1.880µ ±  1%       ~ (p=0.485 n=6)
SSEPublishDelivery-4                     64.13n ±  1%   63.77n ±  1%       ~ (p=0.240 n=6)
geomean                                  3.884µ         3.820µ        -1.67%

                                 │ 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.830Mi ± 9%     5.869Mi ± 7%       ~ (p=1.000 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.08%               ²
¹ 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.838k ± 0%     6.830k ± 0%       ~ (p=0.368 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.02%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/orchestration
                 │ baseline-bench.txt │       benchmark-results.txt       │
                 │       sec/op       │   sec/op     vs base              │
SagaConcurrent-4          5.167µ ± 1%   5.064µ ± 2%  -1.99% (p=0.015 n=6)

                 │ baseline-bench.txt │     benchmark-results.txt     │
                 │        B/op        │     B/op      vs base         │
SagaConcurrent-4         1.176Ki ± 0%   1.175Ki ± 0%  ~ (p=0.074 n=6)

                 │ baseline-bench.txt │     benchmark-results.txt     │
                 │     allocs/op      │ allocs/op   vs base           │
SagaConcurrent-4           17.00 ± 0%   17.00 ± 0%  ~ (p=1.000 n=6) ¹
¹ all samples are equal

pkg: github.com/GoCodeAlone/workflow/schema
                                    │ baseline-bench.txt │       benchmark-results.txt       │
                                    │       sec/op       │   sec/op     vs base              │
SchemaValidation_Simple-4                    1.064µ ± 1%   1.062µ ± 1%       ~ (p=0.411 n=6)
SchemaValidation_AllFields-4                 1.618µ ± 2%   1.621µ ± 1%       ~ (p=0.786 n=6)
SchemaValidation_FormatValidation-4          1.560µ ± 2%   1.538µ ± 3%       ~ (p=0.387 n=6)
SchemaValidation_ManySchemas-4               1.769µ ± 1%   1.780µ ± 2%       ~ (p=0.459 n=6)
geomean                                      1.476µ        1.473µ       -0.22%

                                    │ 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                1027.5n ± 5%   985.6n ± 15%       ~ (p=0.240 n=6)
EventStoreAppend_SQLite-4                   1.135m ± 9%   1.060m ±  3%  -6.61% (p=0.002 n=6)
GetTimeline_InMemory/events-10-4            11.29µ ± 1%   11.40µ ±  0%  +0.99% (p=0.002 n=6)
GetTimeline_InMemory/events-50-4            62.54µ ± 1%   62.94µ ±  4%  +0.64% (p=0.026 n=6)
GetTimeline_InMemory/events-100-4           125.5µ ± 0%   125.8µ ±  1%       ~ (p=0.065 n=6)
GetTimeline_InMemory/events-500-4           650.3µ ± 0%   646.7µ ±  0%  -0.55% (p=0.026 n=6)
GetTimeline_InMemory/events-1000-4          1.319m ± 1%   1.324m ±  1%       ~ (p=0.310 n=6)
GetTimeline_SQLite/events-10-4              71.19µ ± 1%   70.44µ ±  1%  -1.05% (p=0.009 n=6)
GetTimeline_SQLite/events-50-4              203.3µ ± 1%   203.8µ ±  2%       ~ (p=0.240 n=6)
GetTimeline_SQLite/events-100-4             363.9µ ± 1%   363.3µ ±  2%       ~ (p=0.310 n=6)
GetTimeline_SQLite/events-500-4             1.650m ± 1%   1.642m ±  1%       ~ (p=0.180 n=6)
GetTimeline_SQLite/events-1000-4            3.251m ± 1%   3.374m ±  3%  +3.80% (p=0.002 n=6)
geomean                                     192.0µ        190.8µ        -0.59%

                                   │ baseline-bench.txt │        benchmark-results.txt         │
                                   │        B/op        │     B/op      vs base                │
EventStoreAppend_InMemory-4                  766.0 ± 5%     760.5 ± 6%       ~ (p=1.000 n=6)
EventStoreAppend_SQLite-4                  2.054Ki ± 2%   2.056Ki ± 1%       ~ (p=0.883 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.405 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=1.000 n=6)
GetTimeline_SQLite/events-1000-4           1.503Mi ± 0%   1.503Mi ± 0%       ~ (p=0.067 n=6)
geomean                                    65.15Ki        65.12Ki       -0.05%
¹ 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 fe8fb47 into main Oct 13, 2026
23 checks passed
@intel352
intel352 deleted the fix/ci-go127-audit-portable-hash branch October 13, 2026 16:41
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