Skip to content

fix: refresh Package.resolved, stuck on pre-3.0.0 cohort pins - #120

Merged
gsdali merged 1 commit into
mainfrom
fix/stale-package-resolved-post-3.0.0
Aug 19, 2026
Merged

gsdali merged 1 commit into
mainfrom
fix/stale-package-resolved-post-3.0.0

Conversation

@gsdali

@gsdali gsdali commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

What & why

main's tests/verbs CI has been red since the v1.6.2 (#118/#119) merge, even after the
whole cohort (OCCTSwiftTools v1.6.4, OCCTSwiftMesh v1.7.5, OCCTSwiftIO v1.7.8,
OCCTSwiftAIS v1.3.2) shipped OCCTSwift-3.0.0-compatible releases. Root cause:
Package.resolved was last regenerated well before the 2.0.0/3.0.0 bumps (occtswift pinned at
1.17.0, occtswiftais at 1.3.1) and was deliberately left untouched across both floor-bump
PRs, since remote resolution was blocked either way at the time those decisions were made.

That staleness became actively wrong once the cohort caught up: SwiftPM's resolver treats an
existing Package.resolved as a starting point and keeps a pinned version if it still satisfies
every declared constraint, even when the manifest constraints don't capture real source
compatibility. occtswiftais@1.3.1 satisfies OCCTSwiftTools's >= 1.6.1 requirement on paper;
its actual Dimension.swift/AreaSelection.swift source still calls the now-Optional .bounds
the old, unwrapped way (a compile error against OCCTSwift 3.0.0). Manifest-level resolution
can't see that mismatch, so the stale lockfile kept pinning the broken 1.3.1 even though
1.3.2 (with the real fix) was already published.

This PR regenerates Package.resolved against the real, current cohort.

Closes nothing on its own; unblocks main's CI going green again after #119.

Checklist

  • Not applicable — no behavior change, a lockfile refresh only.

Notes for the reviewer

Verified genuinely fresh in an isolated /tmp copy of this repo (no local sibling checkouts, no
stale lockfile): swift package resolve + swift build --product occtkit both clean, resolving
occtswift 3.0.0 / occtswiftais 1.3.2 / occtswifttools 1.6.4 / occtswiftmesh 1.7.5 /
occtswiftio 1.7.8 / occtswiftviewport 1.1.27 throughout — the exact versions this PR's
Package.resolved pins.

Package.resolved was last regenerated well before the 2.0.0/3.0.0 bumps
(occtswift pinned at 1.17.0, occtswiftais at 1.3.1) and was deliberately
left untouched across both floor-bump PRs (#111, #119) since remote
resolution was blocked either way at the time.

Now that the whole cohort has shipped 3.0.0-compatible releases, that
staleness became actively wrong: SwiftPM's resolver treats an existing
Package.resolved as a starting point and keeps a pinned version if it still
satisfies every declared constraint, even if the *manifest* constraints
don't capture real source compatibility. occtswiftais@1.3.1 satisfies
OCCTSwiftTools's `>= 1.6.1` constraint just fine on paper; its actual
Dimension.swift/AreaSelection.swift source still calls the now-Optional
`.bounds` the old, unwrapped way. Manifest-level resolution can't see that,
so main's tests/verbs CI kept failing post-v1.6.2 release even after
OCCTSwiftAIS v1.3.2 (with the real fix) was published.

Verified genuinely fresh (no local sibling checkouts, no stale lockfile) in
an isolated /tmp copy of this repo: `swift package resolve` + `swift build
--product occtkit` both clean, resolving occtswift 3.0.0 / occtswiftais
1.3.2 / occtswifttools 1.6.4 / occtswiftmesh 1.7.5 / occtswiftio 1.7.8 /
occtswiftviewport 1.1.27 throughout.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@kilo-code-bot

kilo-code-bot Bot commented Aug 19, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (1 file)
  • Package.resolved - lockfile refresh only

Reviewed by nemotron-3-ultra-550b-a55b:free · Input: 82.3K · Output: 1.9K · Cached: 73.4K

@gsdali
gsdali merged commit 2346103 into main Aug 19, 2026
6 of 7 checks passed
@gsdali
gsdali deleted the fix/stale-package-resolved-post-3.0.0 branch August 19, 2026 08:55
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