Skip to content

chore: update Gonum fork and require Go 1.27.1 - #171

Merged
jamestjsp merged 4 commits into
mainfrom
codex/bump-gonum-v0.19.0
Sep 13, 2026
Merged

jamestjsp merged 4 commits into
mainfrom
codex/bump-gonum-v0.19.0

Conversation

@jamestjsp

@jamestjsp jamestjsp commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Updates the required Gonum fork from v0.17.7-fork to v0.19.0-fork and raises the minimum Go version from 1.26.3 to 1.27.1. README installation guidance, CI, and the local downstream-consumer action use the same Gonum pin. The Go 1.27 go-fix rewrite uses slices.Backward for ModelArray indexing.

Go 1.27.1 substantially reduces the large regressions observed with Go 1.26.4. A full 236-case comparison, ten interleaved samples per version, improves timing geomean by 1.07%. Longer follow-up confirms remaining slowdowns: SISO FRD +6.17%, internal-delay simulation +4.38%, SISO delayed simulation +3.38%. Original MatLog/D2C/Stabsep regressions are now approximately 0.5–1.1%; simulation and regulator gains remain.

Complete Go 1.27.1 report and retained evidence. The comparison holds all 191 Go source files identical, including the new go directive and go-fix rewrite.

Investigation of Go 1.26.4 layout sensitivity. Gonum issue #10 remains open; no production Gonum numerical changes are included.

Validation on Go 1.27.1: full uncached tests, race tests, go fix, go vet, go build, local external-consumer action, and GitHub CI passed. CLI govulncheck v1.8.0 reports no vulnerabilities; the bundled gopls scanner is too old to process Go 1.27.

Release readiness: v1.5.1 remains an unpublished draft. Assess or repair the residual 3–6% performance regressions before merge/publication. The Go 1.27.1 minimum requirement is an intentional compatibility change. Performance evidence is limited to Apple M1 Pro / darwin-arm64 / eight workers.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 12, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-12T22:46:20.887577Z 54d5d6b PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 54d5d6b119

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread go.mod
require gonum.org/v1/gonum v0.15.0

replace gonum.org/v1/gonum => github.com/jamestjsp/gonum v0.17.7-fork
replace gonum.org/v1/gonum => github.com/jamestjsp/gonum v0.19.0-fork

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Benchmark the BLAS/LAPACK dependency upgrade

This changes the numerical backend and brings in intervening BLAS changes, but no before/after benchmark data accompanies the upgrade, so performance regressions in matrix-heavy operations could ship unnoticed. Run go test -bench=. -benchmem against the parent and upgraded versions and compare the results with benchstat before landing.

AGENTS.md reference: AGENTS.md:L35-L37

Useful? React with 👍 / 👎.

Comment thread .github/workflows/ci.yml
go mod edit -require=github.com/jamestjsp/controlsys@v0.0.0
go mod edit -replace=github.com/jamestjsp/controlsys="$GITHUB_WORKSPACE"
go mod edit -replace=gonum.org/v1/gonum=github.com/jamestjsp/gonum@v0.17.3-fork
go mod edit -replace=gonum.org/v1/gonum=github.com/jamestjsp/gonum@v0.19.0-fork

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Update the Codex downstream replacement

When contributors run the inspected macOS Downstream consumer action, .codex/environments/environment.toml:89 still invokes go mod edit -replace=gonum.org/v1/gonum=github.com/jamestjsp/gonum@v0.17.3-fork; go help mod edit confirms that the right-hand @v selects that exact replacement version. Consequently, the local action no longer exercises the newly documented v0.19.0 setup and can pass despite a downstream incompatibility with the supported fork.

Useful? React with 👍 / 👎.

@jamestjsp jamestjsp changed the title chore: upgrade Gonum fork to v0.19.0-fork chore: update Gonum fork and require Go 1.27.1 Sep 12, 2026
@jamestjsp
jamestjsp merged commit bcee41b into main Sep 13, 2026
4 checks passed
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