diff --git a/docs/NATIVE_CHECKUPDATE_DESIGN.md b/docs/NATIVE_CHECKUPDATE_DESIGN.md index 79ce2a99..6f5547ee 100644 --- a/docs/NATIVE_CHECKUPDATE_DESIGN.md +++ b/docs/NATIVE_CHECKUPDATE_DESIGN.md @@ -643,7 +643,14 @@ full 超时整体失败)、激活判定(`activate || crashHold || forceActiv 3. 逐端接入(Android → iOS → 鸿蒙),每端的编排器改为"驱动引擎 + 执行命令"的薄适配器, 删除被取代的手写循环;Android/鸿蒙在 #669(prepareBundle 超时)合入之后基于最新 master 改。 -进度:1、2 已合入(#673、#674)。iOS 已接入:`RCTPushyOrchestrator.mm` 的 `runOnce` 驱动引擎, -命令由 `perform:` / `download:` / `commit:` 执行,宿主取消判定改用 `HostCancellation`;提交败于配置 -变更时由适配器按配置代数回报 `reason: "config_changed"`。Android 已接入:`SyncCoordinator.java` 的 `runOnce` 经 `FlowBridge.stepRound`(JNI)驱动引擎, -`download` 执行单次下载并回报 ok/code/timedOut(JVM 单测覆盖),`android/lib` 的 `.so` 随之重编。 +状态(2026-10-15):全部落地。引擎与向量 #673,异常兜底 #674,iOS #675,Android #676,鸿蒙 #677 +(实际顺序 iOS 在前:Android/鸿蒙要等 #669)。三端编排器现在都是"驱动引擎 + 执行命令": + +| 端 | 驱动入口 | 绑定 | 适配器自身的测试 | +| --- | --- | --- | --- | +| iOS | `RCTPushyOrchestrator.mm` `runOnce` → `perform:` / `download:` / `commit:` | 直接调 `flowcore::StepRound` | purge-restore 测试(提交与窗口)、e2e-ios native | +| Android | `SyncCoordinator.java` `runOnce` → `perform` / `download` / `commit` | `FlowBridge.stepRound`(JNI,`.so` 已重编) | `SyncCoordinatorTest`(单次下载的回报)、e2e-android | +| 鸿蒙 | `SyncCoordinator.ts` `runOnce` → `perform` / `download` / `commit` | `NativePatchCore.stepRound`(NAPI,同步) | `harmonySyncRound.test.ts`(以轨迹向量回放适配器)、`nativeHostApi.test.ts` | + +三端适配器都在提交被拒时按配置代数回报 `reason: "config_changed"`(Android/鸿蒙换配置时同时递增 reset +代数,提交天然被拒)。改轮次策略只改 `round_engine.cpp` 并更新向量;适配器只在新增命令或事件字段时才需要动。