What problem does it solve? Swift concurrency rules changed twice in twelve months (Swift 6 strict checking, Swift 6.2 opt-in isolation modes), so AI-generated and legacy SwiftUI code often contains non-Sendable actor crossings, @Sendable closures touching main-actor state, DispatchQueue.main.async cargo-cults, and lifecycle-leaking Tasks that compile into latent data races. ## Core Features & Use Cases - Eleven-rule defect index (conc-01 to conc-11): Detects non-Sendable boundary crossings, @Sendable closure violations, GCD main-queue hops, bare Tasks in .onAppear, @MainActor spam, Swift 6.2 opt-in misreads, non-Sendable Transferable payloads, and off-context SwiftData mutations. - Hybrid lint engine: Runs tier-1 ripgrep tells plus tier-2 ast-grep structural rules (Task-in-onAppear containment, modelContext mutation inside Task.detached) emitting unified JSON and SARIF. - Era-aware verdicts: Reads the target's Swift language mode and default-isolation build setting before judging, and verifies uncertain facts against swift.org, Swift Evolution proposals, and a corpus of 1,857 shipping macOS apps. - Use Case: Point it at an in-progress macOS SwiftUI project to receive per-file findings with severity, isolation_kind, swift_era tags, consensus-shape fixes backed by real GitHub permalinks, and one auto-fix for DispatchQueue.main.async. ## Quick Start Audit the SwiftUI sources in this macOS project for Swift concurrency safety issues and write findings under swiftui-audits/concurrency-safety.