maintainerconfig: add goUpdate.autoUpdate consent flag - #72
Merged
Conversation
Per-repo trust gate for the upcoming github-update-go-watcher, following the existing ReleaseConfig/PrReviewerConfig shape. Repos without the file or with the key absent read as false (opt-in, not opt-out). Also bumps golang.org/x/mod v0.37.0->v0.40.0 and Go 1.26.5->1.26.6 to clear govulncheck findings blocking precommit baseline.
bborbe
marked this pull request as ready for review
August 16, 2026 11:59
There was a problem hiding this comment.
Now I have everything I need. Let me analyze the findings:
Finding 1: go-parse/paired-parse-and-parsedefault at maintainerconfig.go:139
- The rule says: "EXEMPT: functions in packages that explicitly only need one variant (e.g. internal parsing never exposed with a default)"
- The package docs state: "Parse does NO I/O — fetching the bytes is each consumer's job" and the two functions (
ParsevsParseStrict) serve intentionally different purposes (lenient vs strict). This is exempt.
Finding 2: go-testing/suite-test-file-required at maintainerconfig_test.go:15
- The suite file
maintainerconfig_suite_test.goalready exists withRunSpecs(t, "Maintainerconfig Suite")at line 16. This is a false positive from the rule's glob pattern failing to see the suite file in the same directory.
Adjudication of the PR change itself:
GoUpdateConfigfollows the exact same pattern asReleaseConfigandPrReviewerConfig— consistent, correctgoUpdatefollows the established YAML tag naming convention (yaml:"goUpdate")- Comprehensive test coverage with 4 new
DescribeTableentries covering true/false/absent/absent-file cases - Security fixes in go.mod (golang.org/x/mod, Go 1.26.5→1.26.6) are appropriate
- CHANGELOG entry is clear and accurate
The PR is clean. No issues to flag.
Step 5: Consolidated Report
Selector Mode Traceability:
- Candidates: 0 rules matched by Step 4b-i glob filter (no judgment rules triggered by these Go/YAML changes)
- Applicable: 0
- Skipped: N/A — no candidates produced
Must Fix (Critical): None.
Should Fix (Important): None.
Nice to Have (Optional): None.
Verdict
{
"verdict": "approve",
"summary": "PR adds GoUpdateConfig following the established ReleaseConfig/PrReviewerConfig pattern exactly. The go.mod bumps address security advisories GO-2026-6179/GO-2026-6180 and GO-2026-5026/GO-2026-5972/GO-2026-6090. The mechanical funnel findings are both false positives: (1) Parse/ParseStrict serve intentionally different purposes so no Default variant is needed, and (2) maintainerconfig_suite_test.go exists with RunSpecs.",
"comments": [],
"concerns_addressed": [
"security: golang.org/x/mod v0.37.0→v0.40.0 fixing govulncheck GO-2026-6179/GO-2026-6180 — addressed by go.mod/go.sum changes",
"security: Go 1.26.5→1.26.6 fixing stdlib GO-2026-5026/GO-2026-5972/GO-2026-6090 — addressed by go.mod change",
"correctness: GoUpdateConfig opt-in default (absent=false) is consistent with ReleaseConfig/PrReviewerConfig — verified by code inspection"
]
}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GoUpdateConfig(goUpdate.autoUpdatebool) toMaintainerConfig, following the existingReleaseConfig/PrReviewerConfigshape exactly.github-update-go-watcherwill gate on. File/section/key absent all read as false (opt-in, not opt-out) — same trust-gate contract asrelease.autoRelease.golang.org/x/modv0.37.0→v0.40.0 (govulncheckGO-2026-6179/GO-2026-6180) and Go 1.26.5→1.26.6 (stdlibGO-2026-5026/GO-2026-5972/GO-2026-6090) — both were pre-existing baseline breaks unrelated to the schema change, needed to get precommit green.Scope is deliberately narrow: schema field + parse tests + CHANGELOG. No watcher logic, no other-repo changes.
Test plan
make precommitgreen (tests, lint, vet, govulncheck, osv-scanner, trivy)DescribeTableentries cover: key present true, key present false, section absent, file absent (empty bytes)