diff --git a/docs/报告/STEP-057D_WeatherRuntime接口收尾与RN桥接前冻结_Codex完成报告_v1.md b/docs/报告/STEP-057D_WeatherRuntime接口收尾与RN桥接前冻结_Codex完成报告_v1.md index 882824e81..d776719df 100644 --- a/docs/报告/STEP-057D_WeatherRuntime接口收尾与RN桥接前冻结_Codex完成报告_v1.md +++ b/docs/报告/STEP-057D_WeatherRuntime接口收尾与RN桥接前冻结_Codex完成报告_v1.md @@ -40,13 +40,23 @@ Android Java/JNI 编译、Mockito final-class 配置和设备上的独立颜色视觉效果尚未运行验证;需后续 Android compile check 与人工验收。未改变 Core/render 生命周期,未引入 RN bridge。 +## 审计后小修正 + +独立代码审计发现 `controlTimeline()` 在 REAL WEATHER 模式下若 `WeatherRuntime` 返回 `REJECTED`,原条件表达式会跳过 reject 分支并误记为成功。已修正为显式 `commandAccepted` 判定: + +- `WeatherRuntime` 返回 `ACCEPTED` → 成功; +- REAL WEATHER 下返回 `REJECTED` / null → 明确拒绝并立即 return,绝不 fallback; +- 非 REAL WEATHER 的 legacy/diagnostic 路径仍允许调用底层 `MapLibreMap.controlRasterArraySourceTimeline(...)`。 + +该修正只修改 TestApp Host 模拟逻辑,不修改 `WeatherRuntime`、JNI、Core、Renderer、Timeline 或 GPU 语义。 + ## Git -- 功能 commit:`544e4aee3ad639ce5d64c054c3668e2ea2de3d72` -- commit message:`fix: finalize WeatherRuntime host API boundary` -- 文档提交:`0e117a9255f708f3f74a39d022ff740976a28ba4`(STEP-057D 记录与报告主体) -- Push:成功,`01295df4b..51d28eb18 particle/main -> particle/main` +- 主功能 commit:`544e4aee3ad639ce5d64c054c3668e2ea2de3d72` +- 主功能 message:`fix: finalize WeatherRuntime host API boundary` +- 文档主体提交:`0e117a9255f708f3f74a39d022ff740976a28ba4` +- 审计小修正 commit:`74e3cc911b8cecd4f3d75613055c213a8bcebcdb` +- 修正 message:`fix: preserve WeatherRuntime timeline rejection` - Remote branch:`origin/particle/main` -- 功能/文档主体 Final HEAD:`0e117a925` - -本报告元数据收尾提交后的 Final HEAD 为 `51d28eb18eed7bf747d5d844cddb3c760c38d374`;交付消息列出最终文档收尾 commit,且不改变功能代码。 +- 审计小修正已成功 push;功能代码 HEAD 与 Remote HEAD 均已推进到 `74e3cc911b8cecd4f3d75613055c213a8bcebcdb`。 +- 本报告后续文档提交只更新记录,不改变功能代码。 diff --git a/粒子开发记录.md b/粒子开发记录.md index 1145c606a..80a5f48da 100644 --- a/粒子开发记录.md +++ b/粒子开发记录.md @@ -481,3 +481,9 @@ WeatherColorLayer 的 `ParticleGpuValidationUBO` designated initializer 补齐 ` - `WeatherRuntime` 新增独立 typed `setParticleColor()` / `setTrailColor()`,分别委托 Core 独立颜色 setter;保留原 `setParticleColors()` 作为兼容成对提交 helper,不猜测或复制 Core 默认色值。 - REAL WEATHER submit 使用 `FieldSubmitResult`/`accepted()` 与 enum 日志,不再依赖 `getCode()`;REAL WEATHER 的 playback/visual 不再回退到 MapLibreMap 低层入口,旧 fixture/diagnostic 路径继续保留。 - 本轮仅执行 `git diff --check` 与源码静态审计;未执行 Android Gradle、APK、ADB、设备测试或 Jest,状态为 `IMPLEMENTED / READY_ANDROID_COMPILE_CHECK`。 + +## 2026-09-07 — STEP-057D 审计后小修正 + +- 独立代码审计发现 REAL WEATHER 下 `WeatherRuntime` timeline 命令被拒绝时,TestApp 原条件表达式会跳过 reject 分支并误记为成功。 +- 已改为显式 `commandAccepted` 判定:REAL WEATHER 只接受 `WeatherRuntime.CommandResult.ACCEPTED`;拒绝时立即 return,绝不 fallback;legacy/diagnostic 低层 timeline 路径继续保留。 +- 修正提交:`74e3cc911b8cecd4f3d75613055c213a8bcebcdb`;未执行 Android Gradle、APK、ADB、设备测试或 Jest。