Skip to content

Mission-critical audit fixes: MLX test gating, sendability, and registry test drift#37

Open
christopherkarani wants to merge 1 commit intomainfrom
codex/check-frameworks-for-issues-20260311
Open

Mission-critical audit fixes: MLX test gating, sendability, and registry test drift#37
christopherkarani wants to merge 1 commit intomainfrom
codex/check-frameworks-for-issues-20260311

Conversation

@christopherkarani
Copy link
Owner

Summary

This automation run performed a mission-critical audit focused on correctness and test reliability, then implemented and verified fixes.

1) Fixed hard test compile break (MLX gating mismatch)

  • Problem: DiffusionModelDownloaderTests was compiled under #if canImport(Hub) while production diffusion types are only compiled under CONDUIT_TRAIT_MLX && canImport(MLX) (+ backend imports).
  • Impact: Default test runs failed with unresolved symbols (DiffusionModelDownloader, DiffusionModelRegistry, DownloadedDiffusionModel).
  • Fix: Aligned test compile gate with production conditions:
    • #if CONDUIT_TRAIT_MLX && canImport(MLX) && (canImport(Hub) || canImport(HuggingFace))
  • File: Tests/ConduitTests/ImageGeneration/DiffusionModelDownloaderTests.swift

2) Removed deprecated + less-safe chip type decoding path

  • Problem: DeviceCapabilities.getChipType() used deprecated String(cString:) and ignored sysctlbyname return values.
  • Risk: Reduced robustness on failed sysctl calls; persistent deprecation warnings.
  • Fix:
    • Guard sysctlbyname return codes and size validity.
    • Decode null-terminated buffer explicitly via UTF-8 bytes.
  • File: Sources/Conduit/Core/Types/DeviceCapabilities.swift

3) Resolved Swift 6 Sendable warning in schema encoding error path

  • Problem: internal EncodingError.invalidValue stored Any, causing Sendable diagnostics.
  • Fix: narrowed payload to String, preserving behavior while removing non-Sendable payload.
  • File: Sources/Conduit/Core/Types/GenerationSchema.swift

4) Fixed stale unit tests after provider/model catalog expansion

  • Problem: ModelIdentifierTests and ProtocolCompilationTests had hard-coded expectations that no longer matched current catalog/provider surface (Kimi and MiniMax additions).
  • Impact: Full test suite exited with failures despite implementation being valid.
  • Fixes:
    • Updated provider/model/capability/cloud assertions to current expected totals.
    • Extended ProviderType coverage to include kimi and minimax plus network/display checks.
  • Files:
    • Tests/ConduitTests/Core/ModelIdentifierTests.swift
    • Tests/ConduitTests/Core/ProtocolCompilationTests.swift

Verification

  • swift build
  • swift test
    • Full run passes (XCTest + Swift Testing)

Notes

  • Planning artifacts in tasks/ were intentionally not committed per repo guidance.

…tests

- fix DiffusionModelDownloaderTests compile gating to match MLX-only production conditions
- harden DeviceCapabilities chip detection by checking sysctl return codes and replacing deprecated String(cString:) path with safe UTF-8 decode
- make GenerationSchema internal EncodingError payload Sendable-safe by replacing Any with String
- update ModelIdentifierTests for current registry composition (Kimi cloud models and capability totals)
- update ProtocolCompilationTests for new ProviderType cases (kimi/minimax)

Validation:
- swift build
- swift test
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