Skip to content

maintainerconfig: add goUpdate.autoUpdate consent flag - #72

Merged
bborbe merged 1 commit into
masterfrom
feature/goupdateconfig
Aug 16, 2026
Merged

maintainerconfig: add goUpdate.autoUpdate consent flag#72
bborbe merged 1 commit into
masterfrom
feature/goupdateconfig

Conversation

@bborbe

@bborbe bborbe commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add GoUpdateConfig (goUpdate.autoUpdate bool) to MaintainerConfig, following the existing ReleaseConfig/PrReviewerConfig shape exactly.
  • Per-repo consent flag the upcoming github-update-go-watcher will gate on. File/section/key absent all read as false (opt-in, not opt-out) — same trust-gate contract as release.autoRelease.
  • Repo health: bump golang.org/x/mod v0.37.0→v0.40.0 (govulncheck GO-2026-6179/GO-2026-6180) and Go 1.26.5→1.26.6 (stdlib GO-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 precommit green (tests, lint, vet, govulncheck, osv-scanner, trivy)
  • New DescribeTable entries cover: key present true, key present false, section absent, file absent (empty bytes)

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
bborbe marked this pull request as ready for review August 16, 2026 11:59

@ben-s-pull-request-reviewer ben-s-pull-request-reviewer 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.

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 (Parse vs ParseStrict) 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.go already exists with RunSpecs(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:

  • GoUpdateConfig follows the exact same pattern as ReleaseConfig and PrReviewerConfig — consistent, correct
  • goUpdate follows the established YAML tag naming convention (yaml:"goUpdate")
  • Comprehensive test coverage with 4 new DescribeTable entries 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"
  ]
}

@bborbe
bborbe merged commit 467168c into master Aug 16, 2026
1 check passed
@bborbe
bborbe deleted the feature/goupdateconfig branch August 16, 2026 12:03
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