Skip to content

fix: migrate occtkit deps from OCCTSwiftTools/AIS to OCCTSwiftInteraction - #123

Merged
gsdali merged 2 commits into
mainfrom
fix/122-occtswiftinteraction-migration
Aug 19, 2026
Merged

fix: migrate occtkit deps from OCCTSwiftTools/AIS to OCCTSwiftInteraction#123
gsdali merged 2 commits into
mainfrom
fix/122-occtswiftinteraction-migration

Conversation

@gsdali

@gsdali gsdali commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

What & why

OCCTSwiftTools, OCCTSwiftAIS, and OCCTSwiftCADKit merged into one package,
OCCTSwiftInteraction (SecondMouseAU/ecosystem#42, #43), released as v0.1.0. The old repos are
archived, not deleted (their tags still resolve), but SwiftPM enforces target-name uniqueness
across the entire transitive package graph before any per-consumer product pruning, so a graph
containing both this repo (still pinning the old OCCTSwiftTools/OCCTSwiftAIS) and anything
depending on OCCTSwiftInteraction directly fails outright with a hard resolution error, not a
version-range conflict. This blocked OCCTMCP#182 from repinning, since OCCTMCP depends on both
packages.

Per OCCTSwiftInteraction's docs/MIGRATION.md, this is a manifest-only change: replaced the two
occtDep("OCCTSwiftTools", ...) / occtDep("OCCTSwiftAIS", ...) entries with one
occtDep("OCCTSwiftInteraction", from: "0.1.0"), and repointed the occtkit target's two product
dependencies at package: "OCCTSwiftInteraction". Module names are unchanged (import OCCTSwiftTools / import OCCTSwiftAIS still work, since each target kept its identity inside the
merged package), so no other source changes were needed.

Also regenerated Package.resolved from an isolated, sibling-free clone (per the lesson in
okf/decisions/occtswift-3.0.0-floor-bump-blocked-on-cohort-releases.md, a stale-but-manifest-
compatible lockfile is invisible until something fails to compile against it) rather than via this
checkout's usual local sibling substitution, which would have produced a lockfile missing real
remote pins. Updated CLAUDE.md, README.md, docs/guides/architecture.md, and okf/index.md
to describe the new package, and added an okf/log.md entry.

Verified: swift build and swift build --build-tests clean (both with local sibling
substitution and from a sibling-free clone forcing real remote resolution), swift test (12/12),
Scripts/recipe-check.sh (7/7 recipes match reference output), Scripts/policy-check.sh,
Scripts/verb-check.sh, and Scripts/comment-ratio-check.sh all pass.

Closes #122

Checklist

  • Pure dependency-manifest repin with no new runtime behavior (module names, product surface,
    and verb behavior are all unchanged) so no new unit test applies; verified instead via the
    full existing test/recipe suite from a real remote resolution, per above.

Notes for the reviewer

A release (tag + gh release) is a separate follow-up step needed to actually unblock OCCTMCP#182
and the other wave-2/3 consumers in OCCTSwiftInteraction's migration table; not included in this
PR.

🤖 Generated with Claude Code

gsdali and others added 2 commits August 20, 2026 00:08
…tion

Per OCCTSwiftInteraction's docs/MIGRATION.md: OCCTSwiftTools, OCCTSwiftAIS
and OCCTSwiftCADKit merged into one package (SecondMouseAU/ecosystem#42,
#43). The old repos are archived, not deleted, but SwiftPM enforces
target-name uniqueness across the whole transitive graph before any
per-consumer product pruning, so any consumer needing both this repo and
OCCTSwiftInteraction in the same graph hit a hard resolution error, not a
version-range conflict.

Replaces the two occtDep("OCCTSwiftTools", ...) / occtDep("OCCTSwiftAIS", ...)
entries with occtDep("OCCTSwiftInteraction", from: "0.1.0"), and repoints
the occtkit target's two product dependencies at package: "OCCTSwiftInteraction".
Module names are unchanged (import OCCTSwiftTools / import OCCTSwiftAIS
still work), so no source changes elsewhere in the repo were needed.

Unblocks OCCTMCP#182.

Fixes #122

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Regenerated Package.resolved from an isolated, sibling-free clone so it
records genuine remote pins (occtswiftinteraction@0.1.0, no more stray
occtswifttools/occtswiftais top-level pins) rather than this checkout's
local sibling-substituted state, per the lesson in
okf/decisions/occtswift-3.0.0-floor-bump-blocked-on-cohort-releases.md.

Updated CLAUDE.md, README.md, docs/guides/architecture.md, and
okf/index.md to describe OCCTSwiftTools/OCCTSwiftAIS as vended by
OCCTSwiftInteraction, and added an okf/log.md entry.

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 (6 files)
  • Package.swift
  • Package.resolved
  • CLAUDE.md
  • README.md
  • docs/guides/architecture.md
  • okf/index.md
  • okf/log.md

Reviewed by nemotron-3-ultra-550b-a55b:free · Input: 246K · Output: 3.7K · Cached: 388.8K

@gsdali
gsdali merged commit ada3ee2 into main Aug 19, 2026
9 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.

Migrate to OCCTSwiftInteraction (blocks OCCTMCP#182)

1 participant