Overview
Upgrade all 17 subrepos to Swift 6 language mode, migrate Plot HTML generation to component-based API, fix all concurrency violations, and add mermaid diagram support. This is Phase 3 of the Swift 6 migration.
Depends on Phase 1 (#36) and Phase 2 (#37).
Key Tasks
Swift 6 Upgrades
Component-Based Plot API
Mermaid Diagram Support
Testing
Success Criteria
- Zero concurrency warnings across all 17 subrepos
swift build with Swift 6 strict mode passes on macOS and Ubuntu
- Site output byte-for-byte identical (excluding mermaid blocks — visual verification)
- Mermaid diagrams render correctly in production
Part of the Swift 6 Migration PRD — Phase 3 (5–7 weeks).
Overview
Upgrade all 17 subrepos to Swift 6 language mode, migrate Plot HTML generation to component-based API, fix all concurrency violations, and add mermaid diagram support. This is Phase 3 of the Swift 6 migration.
Depends on Phase 1 (#36) and Phase 2 (#37).
Key Tasks
Swift 6 Upgrades
// swift-tools-version: 6.0Testimonial.swiftdata race (static var lastID— remove auto-increment, require explicit IDs)Sendableconformances toNewsletter.Source,YouTubeContent.Source,RSSContent.Source,BrightDigitPodcast.SourceYAMLStringFix.swift:6,String.swift:4,RSSContent.swift:21)git subrepo pushComponent-Based Plot API
Sources/BrightDigitSite/Components/PiHTMLFactory.HTML.swiftand allNodes/files to use componentsMermaid Diagram Support
mermaidcode blocks in markdown and wrap in<div class="mermaid">instead of<pre><code><head>Testing
Success Criteria
swift buildwith Swift 6 strict mode passes on macOS and UbuntuPart of the Swift 6 Migration PRD — Phase 3 (5–7 weeks).