Skip to content

📋 docs(swift-audit): correct parity matrix gaps and stale counts - #2651

Merged
mikib0 merged 2 commits into
developmentfrom
worktree-matrix-corrections
Aug 6, 2026
Merged

📋 docs(swift-audit): correct parity matrix gaps and stale counts#2651
mikib0 merged 2 commits into
developmentfrom
worktree-matrix-corrections

Conversation

@mikib0

@mikib0 mikib0 commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

Three corrections to docs/audits/2026-05-20-feature-parity-matrix.md, found while auditing how far the Swift iOS app is from parity with Expo.

1. Added the missing Purchases / RevenueCat row. apps/expo/features/purchases/ (16 files — lib/revenueCat.ts, 10 hooks, EarlyAccessGate, CustomerCenter) had no counterpart row in the matrix at all, so the "expo-only gaps: 0 user-facing" total was computed over a table that never considered it.

Scored deferred for all, not a gap, and not a swap blocker — per product decision: the Expo-side setup is not fully complete, no feature is being gated today, and Swift work is intentionally sequenced after Expo's setup finishes. This is explicitly not a parity target until then.

The row also records that enableRevenueCat in AppFeatureFlags.swift is a @generated mirror of packages/config/src/config.ts and has no Swift consumers — it gates nothing.

2. Status totals + legend. Added a deferred by decision line to the totals, and a deferred for all entry to the legend (the status was used by the existing universal-links row but never defined). The 0 user-facing gaps / 0 user-facing swap blockers figures are unchanged and remain correct.

3. Corrected the macOS XCUITest counts. The audit claimed "13 new MacOS test classes, 1492 lines". Tests/PackRatMacUITests/ actually holds 7 files; PR #2627 retires 5 of them for a PackRatMacOSUITests bundle that currently contains only Info.plist. Also clarifies that PackRatUITests/UITestFeatureFlags.swift is test infrastructure, not flag coverage.

Plus a dated amendment header recording two things the file didn't say: it is stale (335 commits to apps/expo vs 107 to apps/swift since 2026-05-20), and parity here is a capability-level claim, so behavioral defects inside a delivered capability — e.g. the four tester bugs fixed in #2627 — have no cell to appear in.

Validation

  • Docs-only change; no code touched.
  • Verified every corrected claim against the working tree rather than the audit's own text: find on apps/expo/features/purchases/, grep -ril 'StoreKit|RevenueCat|Purchases|paywall|subscription' across apps/swift/Sources (one hit, the generated flag), grep -rn enableRevenueCat for consumers (none outside the generated file and its UI-test mirror), ls on both macOS test bundles, and git log --since=2026-05-20 for the churn counts.
  • Table integrity checked: all feature-table rows are 6 columns after the insert.
  • Confirmed no stale "13 new MacOS" / "1492 lines" claim survives except the quote explicitly marking it as the mis-statement.

Notes

  • Does not attempt a wholesale re-verification of the 2026-05-20 rows — the amendment header flags them as unverified rather than silently implying they're current.
  • Follow-up worth doing separately: extend the top-level table from feature granularity to screen granularity (76 Expo route files vs 42 Swift *View.swift), which is the granularity at which the 🧪 Harden Swift beta tester readiness #2627 class of tester bug becomes visible.

Summary by CodeRabbit

  • Documentation
    • Updated the feature parity matrix with August 5 amendments.
    • Added a “deferred for all” status and documented Purchases/RevenueCat as deferred.
    • Corrected macOS UI-test counts and clarified test coverage exclusions.
    • Added a caveat that the matrix has not been fully re-verified since May 20.

mikib0 added 2 commits July 26, 2026 11:02
Three corrections to the 2026-05-20 SwiftUI/Expo parity matrix:

1. Add the missing Purchases / RevenueCat row. Expo has the integration
   scaffolded (features/purchases/, 16 files) with no Swift counterpart,
   but this is scored `deferred for all` rather than a gap: the Expo-side
   setup is not complete, no feature is gated today, and Swift work is
   deliberately sequenced after Expo's setup finishes. Notes that
   `enableRevenueCat` in AppFeatureFlags.swift is a generated mirror of
   packages/config/src/config.ts with no Swift consumers, so it gates
   nothing.

2. Add a `deferred by decision` line to the status totals, and a
   `deferred for all` entry to the legend so the status is defined.

3. Correct the macOS XCUITest counts. The audit claimed "13 new MacOS
   test classes, 1492 lines"; Tests/PackRatMacUITests/ actually holds 7
   files, and PR #2627 retires 5 of them for a PackRatMacOSUITests
   bundle that currently contains only Info.plist. Also clarifies that
   UITestFeatureFlags.swift is test infrastructure, not flag coverage.

Adds a dated amendment header recording the staleness (335 commits to
apps/expo vs 107 to apps/swift since the audit) and the matrix's
capability-level granularity limit.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 5, 2026
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 8bc1d343-f5b8-49b5-b5f4-3971abe099ee

📥 Commits

Reviewing files that changed from the base of the PR and between 85c6593 and 72fa143.

📒 Files selected for processing (1)
  • docs/audits/2026-05-20-feature-parity-matrix.md

Walkthrough

The feature parity matrix records August 5 audit amendments, deferred Purchases / RevenueCat support, corrected macOS UI-test counts, revised test coverage, and a staleness caveat.

Changes

Parity matrix audit

Layer / File(s) Summary
Audit findings and status updates
docs/audits/2026-05-20-feature-parity-matrix.md
The matrix defines deferred for all, records Purchases / RevenueCat as deferred, updates test coverage and macOS UI-test counts, and adds the related status total.

Estimated code review effort: 1 (Trivial) | ~3 minutes

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch worktree-matrix-corrections

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mikib0
mikib0 marked this pull request as ready for review August 6, 2026 13:11
@mikib0
mikib0 merged commit c3a766b into development Aug 6, 2026
6 of 7 checks passed
@mikib0
mikib0 deleted the worktree-matrix-corrections branch August 6, 2026 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant