Support Policy
Support Policy
Section titled “Support Policy”Support Tiers
Section titled “Support Tiers”Tier 1 is certified support with release-blocking evidence for every required cell.
Tier 2 is built and tested in CI without release certification.
Synchro makes no support claim outside these tiers.
Supported Matrix
Section titled “Supported Matrix”The supported matrix is deliberately narrow:
| Surface | Required environments |
|---|---|
| Server | PostgreSQL 18 on Ubuntu 24.04 Linux x64 |
| Apple client | iOS 17 and current stable iOS |
| Android client | Android API 24 and current stable Android API |
| React Native bridge | React Native 0.82.1 and 0.88.x on current stable iOS and current stable Android |
PostgreSQL 14, 15, 16, and 17 are excluded. Existing build features or incidental successful use do not expand this matrix.
The React Native package accepts react-native >=0.82.1 <0.89.0 and react >=19.1.1 <20.0.0.
Package checks exercise both bridge paths on RN 0.82.1 and 0.88.0.
The representative semantic corpus uses RN 0.88.0.
Native engine cells provide minimum operating system coverage.
Current package consumers pin React Native 0.88.0.
React Native 0.88 requires React 19.3.0 and Node ^22.13.0 || ^24.3.0 || >=26.0.0.
Applications built with Xcode 27 must adopt the UIKit scene lifecycle. The example and consumer hosts use this lifecycle.
React Native Tooling Corrections
Section titled “React Native Tooling Corrections”The supported CLI toolchain uses CLI 20.2.0 and its Android and iOS platform packages at the same version. The package delivers version-bound corrections for CLI Android configuration and CLI clean 20.2.0. The Codegen correction escapes the documented source directory before it constructs the fixed source-extension pattern. The clean correction escapes the host temporary-directory prefix before it adds its authored cache suffix patterns. These corrections preserve literal directory names with braces or brackets without changing authored glob suffixes.
Follow the npm setup steps after each fresh installation.
Yarn applications must preserve the same correction through Yarn’s patch protocol.
The published package exports canonical patches at
@trainstar/synchro-react-native/tooling-patches/cli-config-android-20.2.0.patch
and @trainstar/synchro-react-native/tooling-patches/cli-clean-20.2.0.patch.
The package also exports the stream-json 1.9.1 Assembler correction for bunyamin 1.6.3 trace tooling. It backports upstream property handling without changing the dependency major. Applications with this trace tool must apply the delivered correction before they use it:
node node_modules/@trainstar/synchro-react-native/tooling-patches/apply.cjs stream-jsonThe setup command verifies exact package identities and source hashes. It rejects an unexpected installation and accepts repeated execution only for the exact verified postimage. These corrections do not change the upstream package versions.
Library projects that run bob build must apply the delivered
react-native-builder-bob 0.40.18 correction after each fresh installation:
node node_modules/@trainstar/synchro-react-native/tooling-patches/apply.cjs bobThe correction replaces glob removal of Bob’s resolved output and TypeScript
build-info paths with the installed fs-extra literal operation. It preserves
the prior current-working-directory ownership boundary, compilation, and
TypeScript generation. The package exports its canonical patch at
@trainstar/synchro-react-native/tooling-patches/react-native-builder-bob-0.40.18.patch.
React Native 0.82.1 fmt Backport
Section titled “React Native 0.82.1 fmt Backport”RN 0.82.1 pins fmt 11.0.2, which fails with the Xcode 27 compiler. The backport changes the fmt pod version, its Git tag, and the RCT-Folly dependency to 12.1.0. It does not change C++ source. The application owns its React Native dependency. Installing Synchro does not apply this patch to the application.
For Yarn 4 applications:
-
Copy the patch into
.yarn/patches/. -
Set the application dependency to this value:
"react-native": "patch:react-native@npm:0.82.1#./.yarn/patches/react-native-npm-0.82.1-c9dce9d96d.patch" -
Run
yarn installand commit the patch, manifest, and lockfile. -
Run
pod update fmt RCT-Folly --no-repo-updatein the application iOS directory. -
Confirm that
Podfile.lockresolves fmt 12.1.0.
Other package managers must preserve the same patch across dependency installations. This backport applies only to the RN 0.82.1 minimum track.
Validation Hosts
Section titled “Validation Hosts”macOS hosts Apple toolchain and Swift scenario execution. A host role does not create a PostgreSQL support cell.
Minimum And Current Tracks
Section titled “Minimum And Current Tracks”Minimum tracks protect iOS 17, Android API 24, and RN 0.82.1. Current tracks protect stable Apple and Android platform releases available when a candidate starts.
current-stable is an authored policy selector, not a permanent version number. release-manifest.json records exact candidate versions.
Required Policy Is Not Evidence
Section titled “Required Policy Is Not Evidence”This page and conformance/support-matrix.json state required and excluded cells. They do not claim that a release passed those cells.
Testing evidence records executed checks for required cells and sealed artifacts. A version does not become supported from an unrelated development test.
Package smoke verifies install, connect, push, pull, process termination, and resume.
A new Tier 1 cell requires named production demand that justifies its recurring evidence cost.
See Testing Evidence Overview and Testing Evidence. Use RELEASE.md as the sole release procedure.