7.1 KiB
STEP-117 原 PBF Fast 缓存准入 v1
日期:2026-10-11(JST)。状态:阻塞。调查与七项非Jest C++回归源码已交付;安全准入、真实Build/Reuse/Fast仍未完成。
目标与基线
原STEP113 STATIC_RC完整63基础层保持不变,以成功提交的GPU R结果证据解决缺tide和Symbol首次Build,达到Build>0、Reuse>0、FastDelta>0;证据不足保持fail-closed。
Mac.lan,/Users/tei/dev/MapLibreParticleLab,particle/main@43e5f5b91598b9c3d3f1c788052d4bbd2d616668;实际GPT-6.1-Sol(gpt-6.1-sol)/high已核实。Integration只读HEAD 80667d6c343411d03a760425438e3d292f452118。VERSION 13.6.1-particle.23,未改发行坐标。起点tracked clean,STEP110/111及117任务书未跟踪。
必做项与结果
- 读取规则、当前任务/基线、STEP112–116关键资料与相关实际依赖源码。
- 回读原274,693字节JSON并验证SHA,逐帧复算120帧24Gate与Placement状态。
- 审查sourceDiff/revision/fingerprint、双group注册/停用、prepare/upload/Build/提交生命周期。
- 分别说明缺源零贡献与Symbol最终GPU结果证书的缺口、反例及协调责任。
- 保留fail-closed、原63层、STEP116空Annotation修复、原五场景及SOURCE_CHANGE负例。
- 新增七项Step117Safety C++测试源码,复用已有构建登记。
- 落盘调查、验收计划、完成报告,末尾追加开发记录。
- 建立可核验的缺源零GPU贡献与无旧Renderable数据证书,准入缓存。
- 建立Symbol最终GPU结果等价证书,解决首次Build。
- RDC独立编译并运行定向C++测试。
- 原STATIC_RC新制品≥90秒,Build/Reuse/Fast增长、完整120帧、Mutation回退与用户画面验收。
允许与禁止范围
本轮实际只改两个既有C++测试文件,新增四份中文文件并追加开发记录。未改生产src/include、公开API/ABI/RN/JNI/合同、Shader、Android场景、Style/服务器、NavSea、iOS、版本/Source Lock;没有放宽Source readiness/revision、Placement或24Gate,没有造Fast计数。STEP110/111原未跟踪MD保留,不暂存;原设备JSON保持Git忽略。
按用户当前禁止项,没有运行Gradle/ADB/Native编译/CMake/Ninja/Bazel/Jest、安装、commit/push。未启动后台编译或第二Codex,没有子代理。
阶段验收与当前结果
保留实测(STEP116,非STEP117):原STATIC_RC 90秒FastDelta=0、FullDelta=920;Native65层R[0,63)、C[63,65);R缺tide、Build/Reuse=0;最近120帧119Full/0Fast/1pending,#3/#4/#23失败120、#12/#13失败105、#22失败0、mismatch0。
本轮复算pre为105帧false/非零/true、15帧true/0/false;post为104+15,末帧pending。源码证明:缺源没有新RenderItem不等于无旧GPU数据;停用request未执行前registry仍可遍历旧group;停用不清旧drawables。Symbol重算changed与recent stale使首建条件不可达;layer fingerprint不包含最终GPU opacity/atlas/vertices。
因此两项准入均BLOCKED。七项测试只是可运行源码:真实controller/sourceDiff/registry/observer路径与状态机组合;没有GPU像素等价证据,不能称Native或全任务PASS。静态检查的实际结果在完成报告中记录。
构建测试、输出与下一步
RDC命令及失败停止、源/APK/设备SHA、完整JSON/画面、负例矩阵详见 docs/60_测试/STEP-117_FZG1_原PBF真实Fast验收计划_v1.md。本轮仅测试代码,Android生产行为无变化,重复构建不能解决B1/B2;先进行独立审计与Shared Core证书设计协调,形成受控实现后再安排一次用户授权的集中Android闭环。
必做输出:docs/20_调查/STEP-117_PBF_R首次缓存Build安全证据_v1.md、本文件、验收计划、docs/报告/STEP-117_原PBF_Fast缓存准入_Codex完成报告_v1.md、开发记录末尾追加。Git提交/hash、远端HEAD、Native/设备验收均留RDC在后续授权下回填,本轮未执行。
RDC独立核验附录(2026-10-11)
- RDC先核对Integration main=80667d6c343411d03a760425438e3d292f452118、Particle当前particle/main=43e5f5b91598b9c3d3f1c788052d4bbd2d616668;源码与git已跟踪改动起点为空,仅两个用户保护未跟踪任务书。
- 用户本轮要求继续真实STEP113 PBF Fast优化,Codex实际GPT-6.1-Sol High。调查原STEP116实机120帧JSON,缺tide Source以及Symbol placement重算/stale循环仍无法安全创建首次GPU缓存;已有证据只能证明无新的LayerRenderItem,不能证明旧GPU drawables/已经应用的双LayerGroup删除。保留既有24Gate/生产Core,安全准入BLOCKED。
- Codex新增7个Step117Safety C++测试源码,分布于两个既有登记的test/renderer文件;RDC独立对两个最终文件以当前Android OpenGL/x86_64的NDK clang++、真实compile_commands.json C++20 flags和googletest头文件进行-fsyntax-only。retained_underlay_cache.test.cpp exit0(6.3s),render_orchestrator_error.test.cpp exit0(5.3s),RDC检查结果PASS。语法检查日志存Git忽略artifacts/maplibre-particle/step117-native-syntax/*.log。
- RDC核查原生产src/include/Renderer/Placement/Fast Gate、Android STEP113/114及Source/style均无文件改动,git diff --check通过。故没有新的运行时改动供Android APK验证:重复编译/安装STEP116相同行为的APK不能使Build/Reuse/Fast改善,未触发第二次高成本Android周期。GTest链接运行、GPU像素等价、iOS/Metal、真实Fast目标仍NOT RUN/BLOCKED,不能将NDK语法退出0标为GTest PASS。
- Integration正式现有RFC/ADR/Contract/status/coordination未包含所需R Symbol已提交GPU结果证书。B1缺源零贡献、B2 Symbol跨层结果证书与影子验收、B3真实tide Source身份/宿主动态注入语义须由粒子负责人/Integration按职责协调设计;本执行项目不得自行改变Shared Core公共契约或正式Style。
- 七项测试当前仍是源码语法检查级别,不等于实测; 下一步应先由粒子负责人协调Shared Core结果证书及合法真实tide来源,受控实现后再使用原STEP113 STATIC_RC APK复测。任意无法安全证明的条件继续fail-closed。
RDC 严格 -Werror 编译参数复核修正(2026-10-11)
第一次NDK -fsyntax-only按项目真实C++20参数编译两个测试文件均exit0,但测试辅助函数遗漏可选retainedUnderlayState字段初始化,产生一条 -Wmissing-designated-field-initializers 警告;第一次探测曾附加 -Wno-error,不能直接标作正式 -Werror 验收。RDC后续对 test/renderer/retained_underlay_cache.test.cpp 增加一行显式 retainedUnderlayState={},保留原逻辑,然后从临时核验脚本中移除 -Wno-error,严格复用Android NDK OpenGL/x86_64真实compile_commands.json的 -Werror 及C++20参数重新执行两文件 -fsyntax-only:retained_underlay_cache.test.cpp退出0/5.3秒,render_orchestrator_error.test.cpp退出0/5.2秒;对应Git忽略日志均无警告输出。**严格语法检查PASS;GTest链接运行仍NOT RUN,Symbol GPU证书及Fast仍BLOCKED。**修正仅测试辅助字段初始化,不涉及生产src/renderer、Android APK和正式Gate。