API gap found while moving qbit-marketing to the public API: EmailApi.readiness() returned only a boolean and text, but marketing must tell a missing unsubscribe key or base URL (NOT_CONFIGURED) from a missing provider (REJECTED at send) to keep its status mapping.
EmailApiReadiness gains failedChecks() and failed(check). The record gains a component; the api package has not shipped in any RC yet (RC.1 predates it), so nobody is broken.
Tests assert the checks next to the existing reasons.
API gap found while moving qbit-marketing to the public API: `EmailApi.readiness()` returned only a boolean and text, but marketing must tell a missing unsubscribe key or base URL (NOT_CONFIGURED) from a missing provider (REJECTED at send) to keep its status mapping.
- New `EmailApiReadinessCheck` enum (NOT_INSTALLED, PROVIDER_MISSING, PROVIDER_INVALID, PHI_PROVIDER, PUBLIC_BASE_URL, UNSUBSCRIBE_KEY, BRAND_POSTAL_ADDRESS, BODY_KEY).
- `EmailApiReadiness` gains `failedChecks()` and `failed(check)`. The record gains a component; the api package has not shipped in any RC yet (RC.1 predates it), so nobody is broken.
- Tests assert the checks next to the existing reasons.
Please include it in 0.1.0-RC.2.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
API gap found while moving qbit-marketing to the public API:
EmailApi.readiness()returned only a boolean and text, but marketing must tell a missing unsubscribe key or base URL (NOT_CONFIGURED) from a missing provider (REJECTED at send) to keep its status mapping.EmailApiReadinessCheckenum (NOT_INSTALLED, PROVIDER_MISSING, PROVIDER_INVALID, PHI_PROVIDER, PUBLIC_BASE_URL, UNSUBSCRIBE_KEY, BRAND_POSTAL_ADDRESS, BODY_KEY).EmailApiReadinessgainsfailedChecks()andfailed(check). The record gains a component; the api package has not shipped in any RC yet (RC.1 predates it), so nobody is broken.Please include it in 0.1.0-RC.2.
🤖 Generated with Claude Code