What to build
Wire both host persistence contract suites into required CI/release prerequisites for the exact released revision. Keep device smoke tests separate for OS lifecycle and background recording.
Part 9 of the approved cross-platform persistence reliability plan. Android and iOS remain separate native implementations with shared observable contracts. Local planning document: docs/persistence-reliability-plan.md; this issue is self-contained. Type: AFK.
Likely files
.github/workflows/ci.yml - CI/release integration
.github/workflows/release-ios.yml - CI/release integration
.github/workflows/release-android.yml - CI/release integration
.github/workflows/promote-production.yml - CI/release integration
scripts/test-ios.ts - host test/build entry point
docs/persistence-reliability-plan.md - production behavior or caller to inspect
Implementation hints
Keep Room on Android and GRDB on iOS. Native owns durable truth; JS renders state and sends intents. Follow bidirectional @parity links and preserve bridge payloads. Custom SQL is allowed for migrations and aggregate updates with real DB tests. Use existing error UI and avoid a generic persistence/recovery framework. Diagnostics transport follows ADR 0031; Sentry handles errors independently of local event persistence. Use bun commands and appropriate scoped verification.
Acceptance criteria
Blocked by
Related
What to build
Wire both host persistence contract suites into required CI/release prerequisites for the exact released revision. Keep device smoke tests separate for OS lifecycle and background recording.
Part 9 of the approved cross-platform persistence reliability plan. Android and iOS remain separate native implementations with shared observable contracts. Local planning document: docs/persistence-reliability-plan.md; this issue is self-contained. Type: AFK.
Likely files
.github/workflows/ci.yml- CI/release integration.github/workflows/release-ios.yml- CI/release integration.github/workflows/release-android.yml- CI/release integration.github/workflows/promote-production.yml- CI/release integrationscripts/test-ios.ts- host test/build entry pointdocs/persistence-reliability-plan.md- production behavior or caller to inspectImplementation hints
Keep Room on Android and GRDB on iOS. Native owns durable truth; JS renders state and sends intents. Follow bidirectional @parity links and preserve bridge payloads. Custom SQL is allowed for migrations and aggregate updates with real DB tests. Use existing error UI and avoid a generic persistence/recovery framework. Diagnostics transport follows ADR 0031; Sentry handles errors independently of local event persistence. Use bun commands and appropriate scoped verification.
Acceptance criteria
Blocked by
Related