docs: record STEP-119 real PBF Fast and missing-source control
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled

This commit is contained in:
tei
2026-10-11 17:07:35 +09:00
parent 3d989a00a8
commit 499f6fb2c2
3 changed files with 48 additions and 0 deletions

View File

@@ -49,3 +49,7 @@ Mac Metal原生CMake配置首次因PATH找不到cmake而失败,改用既有/us
改走原项目已存在 Android NDK OpenGL/x86_64 compile_commands.json,保持实际C++20警告/Werror、不加Wno-error、不切宏、不改源数据。编译实际Core生产7文件(placement.cpp、render_symbol_layer.cpp、symbol_layer_tweaker.cpp、render_orchestrator.cpp、renderer_impl.cpp、renderer.cpp、shader_program_gl.cpp)与两个非Jest已注册GTest源码,合计9个编译单元,经过本地定点修复后全部严格 -fsyntax-only exit0(每文件独立日志保存在Git忽略artifacts/maplibre-particle/step119-native-syntax/)。本轮修复3处小编译缺口:SymbolLayer及Retained test各一处toString补上util命名空间,Orchestrator error test将构造结果从const Mutable转换为Immutable,保留测试语义。该结果是**Android NDK语法/类型检查**,非真实链接、GTest运行或Metal构建。 改走原项目已存在 Android NDK OpenGL/x86_64 compile_commands.json,保持实际C++20警告/Werror、不加Wno-error、不切宏、不改源数据。编译实际Core生产7文件(placement.cpp、render_symbol_layer.cpp、symbol_layer_tweaker.cpp、render_orchestrator.cpp、renderer_impl.cpp、renderer.cpp、shader_program_gl.cpp)与两个非Jest已注册GTest源码,合计9个编译单元,经过本地定点修复后全部严格 -fsyntax-only exit0(每文件独立日志保存在Git忽略artifacts/maplibre-particle/step119-native-syntax/)。本轮修复3处小编译缺口:SymbolLayer及Retained test各一处toString补上util命名空间,Orchestrator error test将构造结果从const Mutable转换为Immutable,保留测试语义。该结果是**Android NDK语法/类型检查**,非真实链接、GTest运行或Metal构建。
下一关:RDC scoped Git锁定源码后,基于新源码一次集中标准Android Gradle/OpenGL x86_64 APK构建;FZG1-2安装和STATIC_RC_NO_TIDE 90秒验证。任何编译/设备错误继续按原步修复,不能绕过24Gate或声称Fast已通过。 下一关:RDC scoped Git锁定源码后,基于新源码一次集中标准Android Gradle/OpenGL x86_64 APK构建;FZG1-2安装和STATIC_RC_NO_TIDE 90秒验证。任何编译/设备错误继续按原步修复,不能绕过24Gate或声称Fast已通过。
## RDC Android原PBF实机正负对照(2026-10-11)
本轮源码锁 3d989a00a822989339a6d7cb4d23acc04396670e、APK SHA 57d68800770d431a2ce9247406f636e7a01cc19fccaf4c59f5eb3a7c99128135,Mac标准Android OpenGL x86_64 APK真编译/链接/打包PASS;FZG1-2安装SHA一致、preflight PASS。新STATIC_RC_NO_TIDE 90.010秒:Native64/R[0,62),missingSourceIds=[],Cache Build=1 / Reuse=3276(累计)、FastDelta=1819 / FullDelta=0、24Gate mismatch=0。原STATIC_RC 90.010秒:原Native65/R[0,63),missingSourceIds=[tide],Build=0、Reuse=0、FastDelta=0、FullDelta=305,fail-closed仍正常。新13项GTest运行/Metal/iOS/动态源变更与像素对比均未完成,保持ANDROID_FAST_CORE_PASS/OVERALL_PARTIAL。详细原始数据和sha见 docs/60_测试/STEP-119_FZG1_原PBF真实Fast验收结果_20261011.md。

View File

@@ -0,0 +1,42 @@
# STEP-119 Android STEP-119 原PBF真实Fast实机验收结果
日期:2026-10-11 JST。执行者:GPT指挥RDC,Mac/Android FZG1-2。**阶段结论:ANDROID_FAST_CORE_PASS / OVERALL_PARTIAL(仅完成本页证据覆盖范围,不能宣称所有失效与双平台PASS)。**
## 0. 源码和设备版本锁
- Integration origin/main 与本地一致:80667d6c343411d03a760425438e3d292f452118。
- Particle本次APK源码commit:3d989a00a822989339a6d7cb4d23acc04396670e;已由RDC限定文件提交并push origin/particle/main成功、本地远端HEAD一致。
- APK标准OpenGL/x86_64 build_validation_apk.sh:Gradle BUILD SUCCESSFUL in 3m 40s;86 tasks(22 executed,64 up-to-date);APK 66,702,125字节,libmaplibre.so 40,138,024字节;SHA-256 57d68800770d431a2ce9247406f636e7a01cc19fccaf4c59f5eb3a7c99128135。
- 设备:192.168.200.139:5555,ABI x86_64。ADB install -r返回Success,设备base.apk SHA-256与本地新APK完全相同。Python --preflight-only返回PREFLIGHT_PASS。
- 不是正式release;没有修改原PBF服务器Style、业务API、iOS/Metal发行版本、SOURCE_LOCK或GSRL Tag。
## 1. Mac与C++编译范围
- Mac Metal CMake首次PATH中找不到cmake;用已有绝对路径重试后CMake配置因**原有libuv环境缺失**终止。Homebrew尝试安装libuv时提示将连带升级CMake/Python/OpenSSL,RDC中止安装,未改变项目第三方依赖和Android构建工具链。**Mac原生mbgl-test-runner未编译/运行,13项Step119SymbolResults非Jest测试没有实际执行;不能列为GTest PASS。**
- Android NDK28.2 OpenGL/x86_64真实compile_commands.json,C++20 + 原项目严格-Werror逐个-fsyntax-only检查:7个生产编译单元和2个已登记GTest单元,共9个全部PASS。修复2处util::toString命名空间和测试Immutable所有权类型问题。
- Android真实Gradle编译链接、符号打包、APK安装已PASS,证明当前Android源码不仅能语法检查还可以全链构建。
## 2. 正向:STATIC_RC_NO_TIDE派生62基础图层+两天气图层
- 在同一正式PBF URL读取原始63基础层;**测试副本只移除唯一tide-spots引用**,远端真实Style未改。
- 实测原基础63 / 有效基础62 / Native64,R=[0,62),C=[62,64),Source: mapple/navsea_delivery/org.maplibre.annotations/rn-weather-fields,missingSourceIds=[],planValid=true。
- 设备App PID 27241,观察 90.010秒,CompleteSummary=2,windowCount=120。
- 当前最后Snapshot R cache:Build=1、Reuse=3276(累计),state=reuse,placementCapable=True,placementGatePassed=True。
- 实际观察期FastDelta=1819,FullDelta=0,最近120帧Fast=119/Full=0(第120条可能pending),decisionMismatch=0。
- Gate历史累计的static-unstable/cache-invalid等失败包含**App启动阶段**,不能解读为当前120帧仍失败;当前120帧是完整119Fast/0Full/1pending,决定匹配为0。最终R.reason字段中的静态字符串保留最后历史fallbackReason,不等于当前frame fallback。
- 验证器状态FAST_OBSERVED/exit0;它本身只验计数,R Build/Reuse、Gate由独立解析真实Native摘要后确认。
## 3. 负向:原STATIC_RC完整63基础+两天气图层
- 同一APK另起App PID 27492,观察 90.010秒。
- 原始basePreserved=true,Native65,R=[0,63),C=[63,65),sources仍没有tide,missingSourceIds=['tide'],reason=missing-source。
- R Build=0 / Reuse=0,FastDelta=0 / FullDelta=305,最近120帧Fast=0、Full=119,decisionMismatch=0。
- 验证器返回NO_FAST_OBSERVED/exit2:**这是负对照的预期安全拒绝(该测试目的PASS),不是STEP119正向失败;也不是原63正常可用Fast的证据。**
## 4. 原始证据
- 正向 result.json:artifacts/maplibre-particle/android-validation/step113-retest-20261011_170012/static_rc_no_tide/result.json;SHA-256=8718ce113820e7cc0cc2b4d5b801e6847c92e9ced79cd4fecbee58bfeef1c27c。
- 正向设备截图 PNG 1920x1200:artifacts/maplibre-particle/android-validation/step113-retest-20261011_170012/static_rc_no_tide/screen.png;SHA-256=ce3480d7ee934dc871c1035cbcaf84e61bbcefe680717001f05751dc0e16fd23。该截图是设备取证,**未开展人工作业图像对比或Symbol无重影验收**。
- 负向 result.json:artifacts/maplibre-particle/android-validation/step113-retest-20261011_170359/static_rc/result.json;SHA-256=0cc425ca138188af38aa04919631f2374257d2888630473fc93b4bff120ce128。
- APK build-info.txt、build.log、严格C++定向语法日志均在原Git忽略artifacts目录。两份保护的STEP110/111 MD不提交、哈希不变。
## 5. 没有验证的边界
- 缺少Mac libuv导致本次**未真正运行13项新GTest、Metal/iOS二进制或iOS实体机**;Android GL PASS不等于Metal PASS。
- 未逐项做Source/Style/glyph/atlas/Annotation、相机Pan/Zoom/Rotate、viewport/pixelRatio、context恢复后的证书失效和重Build/Reuse真机负例。
- 未进行同相机强制Full截图与Fast静态Symbol像素对比,也没有用户实际航标/文字/图标层序验收。
- 因此本阶段判定**核心功能Android真机Build/Reuse/Fast成功且缺源fail-closed成功,整体仍PARTIAL**。后续应优先在同一APK上完成状态变化负例与人工像素,再由Mac Metal独立路径验证;不得重启不必要工具链或因此声称正式GSRL发版。

View File

@@ -1194,3 +1194,5 @@ Android V3-08 单次综合验收已完成并关闭。Native `13.4.1-particle.2`
- 本轮仅轻量阅读、静态范围/保护哈希与git diff --check;未运行Native/CMake/Ninja/fsyntax-only/GTest、Gradle/APK、ADB/设备、Bazel/codegen/Jest,未commit/push。STEP110/111未跟踪MD、STEP117/118原证据与63/62场景保留。现有verifier源码锁/新APK设备SHA保护不绕过;立即交RDC按STEP119联合验收计划独立审计、源码锁、定向验证及一次集中build/install和>=90秒正负场景/失效/视觉闭环。 - 本轮仅轻量阅读、静态范围/保护哈希与git diff --check;未运行Native/CMake/Ninja/fsyntax-only/GTest、Gradle/APK、ADB/设备、Bazel/codegen/Jest,未commit/push。STEP110/111未跟踪MD、STEP117/118原证据与63/62场景保留。现有verifier源码锁/新APK设备SHA保护不绕过;立即交RDC按STEP119联合验收计划独立审计、源码锁、定向验证及一次集中build/install和>=90秒正负场景/失效/视觉闭环。
- 2026-10-11 STEP119 RDC编译核验:Integration与Particle已fetch对应远端主线,保护STEP110/111 SHA不变。Mac CMake配置因既有libuv缺失失败;Homebrew意外尝试连带升级工具链,已停止且原CMake可用,不继续扩大环境修改。复用现有Android NDK OpenGL x86_64精确compile_commands,7个生产Core文件+2个非Jest GTest源码合计9个严格-Werror语法编译最终PASS;修正SymbolLayer/test各一处util::toString命名空间、test Mutable→Immutable。GTest/完整链接/Android真机仍待独立执行,未宣称PASS。 - 2026-10-11 STEP119 RDC编译核验:Integration与Particle已fetch对应远端主线,保护STEP110/111 SHA不变。Mac CMake配置因既有libuv缺失失败;Homebrew意外尝试连带升级工具链,已停止且原CMake可用,不继续扩大环境修改。复用现有Android NDK OpenGL x86_64精确compile_commands,7个生产Core文件+2个非Jest GTest源码合计9个严格-Werror语法编译最终PASS;修正SymbolLayer/test各一处util::toString命名空间、test Mutable→Immutable。GTest/完整链接/Android真机仍待独立执行,未宣称PASS。
- 2026-10-11 STEP119 RDC Android实机:源码锁3d989a00a822989339a6d7cb4d23acc04396670e,新APK SHA 57d68800770d431a2ce9247406f636e7a01cc19fccaf4c59f5eb3a7c99128135、Mac现有Gradle/NDK整包编译PASS、FZG1-2安装设备SHA一致。新STATIC_RC_NO_TIDE真实90秒R Build=1/Reuse=3276(累计)、FastDelta=1819/FullDelta=0、120帧119Fast/0Full、24Gate mismatch0,证实Symbol缓存首次Build/后续Fast生效。原63 STATIC_RC 90秒因tide缺源保持Build/Reuse/Fast全0、FullDelta=305,缺源fail-closed有效。Mac原生GTest受旧libuv环境缺失阻断,未运行13项测试;Metal/iOS、Pan/Zoom/Rotate、Source/Style异步变更、像素/人工目视仍未验,整体PARTIAL。证据docs/60_测试/STEP-119_FZG1_原PBF真实Fast验收结果_20261011.md。