Skip to content

Refine typed entitlement readiness#1

Merged
lynnswap merged 1 commit into
mainfrom
codex/store-transaction-kit
Jul 16, 2026
Merged

Refine typed entitlement readiness#1
lynnswap merged 1 commit into
mainfrom
codex/store-transaction-kit

Conversation

@lynnswap

Copy link
Copy Markdown
Owner

Summary

  • derive activeEntitlements as an optional typed projection of the verified entitlement snapshot
  • distinguish unresolved startup state (nil) from a resolved account with no matching entitlement (an empty set)
  • avoid a second stored observable entitlement state
  • update the README, DocC overview, and external consumer example for the readiness contract
  • add coverage for unresolved, empty, populated, and startup-recovery projections

Why

The previous non-optional empty set could make consumers treat an entitlement query that had not completed as a confirmed account with no entitlement. Making the typed projection optional preserves StoreKit readiness semantics and keeps entitlements as the single source of truth.

Validation

  • swift test --build-system swiftbuild --no-parallel — 27 tests in 7 suites passed on macOS
  • xcodebuild test -scheme StoreTransactionKit -destination 'platform=iOS Simulator,id=C2892BF2-B747-45AF-ABD6-0CF9DFC1374A' — 27 tests in 7 suites passed
  • swift build --build-system swiftbuild in Fixtures/ExternalConsumer
  • xcrun swift-format lint --recursive --strict Sources Tests Package.swift
  • ruby scripts/verify-github-actions-pinning.rb
  • Codex review completed with no actionable findings

@lynnswap
lynnswap marked this pull request as ready for review July 16, 2026 05:02
@lynnswap
lynnswap merged commit 04f22a7 into main Jul 16, 2026
2 checks passed
@lynnswap
lynnswap deleted the codex/store-transaction-kit branch July 16, 2026 05:09
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