بنقرة واحدة
parity-check
Compare macOS and Windows implementations for cross-platform parity drift
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Compare macOS and Windows implementations for cross-platform parity drift
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Resume work on current branch's task (infers task from branch name)
Run an epic end-to-end with agent team (analyze, design review, implement, deliver PR)
Start working on a beads task (creates worktree, updates status)
Scan docs and CLAUDE.md for stale references, broken links, and drift against the codebase
| name | parity-check |
| description | Compare macOS and Windows implementations for cross-platform parity drift |
| user_invocable | true |
CLAUDE.md says: "Mac is the primary development platform. Windows features should follow." This skill finds places where Windows has drifted from macOS (or vice versa) — new features on one side, renamed fields in the shared API contract, service classes with different surfaces.
API model parity — the Pablo backend REST API is the shared contract. Diff the generated types:
mac/PabloCompanion/Generated/PabloAPITypes.swiftwindows/PabloCompanion/Models/PabloAPITypes.csFor each Codable/JSON type:
CodingKeys / [JsonPropertyName]) identical?Service surface parity — for each Swift service under mac/PabloCompanion/Services/, look for a C# counterpart under windows/PabloCompanion/Services/:
APIClient.swift → APIClient.cs, PHISanitizer.swift → PhiSanitizer.cs)ViewModel parity — same approach for mac/PabloCompanion/ViewModels/ ↔ windows/PabloCompanion/ViewModels/.
Known-sensitive spots — specifically diff these:
AuthViewModel.swift ↔ AuthViewModel.cs, LoopbackServer.swift ↔ LoopbackServer.csPHISanitizer.swift ↔ PhiSanitizer.cs, SelectorValidator.swift ↔ SelectorValidator.csRecordingEncryptor.swift ↔ AesGcmEncryptor usage + KeychainManager.swift ↔ CredentialManager.csFeature set — check whether major features mentioned in CLAUDE.md (Day view, Start Session, Patient creation, Sparkle auto-update, etc.) have implementations on both platforms. If a feature is flagged as Mac-only or Windows-only, verify that CLAUDE.md documents that intent.
## Cross-Platform Parity Audit
### API Model Drift (blocking — breaks wire compatibility)
- **Session.scheduledAt** — present in Swift, missing in C# `Session.cs`
- **Patient.firstName** — Swift camelCase `firstName`, C# maps to `first_name` (mismatch with Swift `CodingKeys`?)
- ...
### Service Drift
- **mac: FooService.swift** — no Windows counterpart
- **windows: BarService.cs** — no macOS counterpart
- **APIClient**: `fetchFoo()` on Swift, no `FetchFooAsync()` on C#
- ...
### Intentional Mac-only / Windows-only (per CLAUDE.md)
- WhisperTranscriber.cs — Windows-only; macOS is cloud-only (PABLO-D-106 tracks migration)
- ...
### Aligned
- PabloAPITypes: all N types parity-clean
- Services: APIClient, RecordingService, SessionRecordingStore, PHISanitizer — aligned
async throws ↔ C# Task<T> with exceptions) as drift.isValidAuthCode() with regex ^[a-zA-Z0-9_\-\.]{10,2000}$ must have a matching regex on C#)./parity-check
Takes no arguments. Runs against the whole repo.