Skip to content

fix: rollout findings of v0.3.0 (v0.3.1) - #4

Merged
boeboe merged 1 commit into
mainfrom
fix-rollout-findings
Nov 7, 2026
Merged

boeboe merged 1 commit into
mainfrom
fix-rollout-findings

Conversation

@boeboe

@boeboe boeboe commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

Three bugs found during the org rollout of v0.3.0.

Fixes

  1. DS-SEC: | Latest release (v1.4.x) | Yes | was rejected. latestRE now allows an optional parenthesised suffix. A bare "Latest release" still names the latest minor, whatever it is. With a version in parentheses, that version must match supportedRE and be the latest minor, the same rule as a bare v1.4.x cell (internal/check/versions.go, new helpers supportsMinor and latestRow).
    Test: TestGitChecks (internal/cli/cli_test.go). Latest release (v0.3.x), (0.3.x) and Latest release(v0.3.x) pass. (v0.2.x), (v0.3.xy), (soon) and () are reported.
  2. goapi: build-ignored _test.go files were still recorded. addTests parsed without parser.ParseComments, so ignored(f) never saw //go:build ignore. It now parses with SkipObjectResolution|ParseComments.
    Test: TestLoadImportsAndTests (internal/goapi/goapi_test.go) adds an ignored_test.go with TestIgnored and an ignoredonly import. Neither may appear in Tests or Imports.
  3. goapi: the ExportedNames doc comment claimed struct fields. The function never added fields, and its only caller, depHas, looks up pkg.Name. The comment now matches what the function does.
    Test: TestExportedNames now asserts that Field is absent. This pins the documented contract. It passes both before and after the change, because only the comment changed.

RELEASE.md gets a ## v0.3.1 section (unreleased).

Checks

  • go vet ./...: clean
  • go test -race ./...: pass
  • golangci-lint run ./...: 0 issues
  • make docs-check: pass
  • otfabric-policy check: 0 must-fail, result compliant

🤖 Generated with Claude Code

- DS-SEC accepts "Latest release (v1.4.x)"; the parenthesised version
  must be the latest minor, as a bare "v1.4.x" must.
- goapi: addTests parses comments, so a //go:build ignore _test.go file
  is skipped and its test functions and imports are not recorded.
- goapi: the ExportedNames doc comment no longer claims struct fields.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@boeboe
boeboe marked this pull request as ready for review November 7, 2026 12:30
@boeboe
boeboe merged commit 623cf34 into main Nov 7, 2026
12 checks passed
@boeboe
boeboe deleted the fix-rollout-findings branch November 7, 2026 12:30
@codecov

codecov Bot commented Nov 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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