# STEP-110 R0 Placement 跨段归因只读调查 v1 - 日期:2026-10-10 - 状态:**PARTIAL(调查性质;非修复/性能 PASS)** - 仓库:/Users/tei/dev/MapLibreParticleLab;分支 particle/main - 调查起点 HEAD:2df504cdc0403bdad85d3f31f16fd54a8744abac - V23 Source Lock:87f3d1c59a52581fb8339f0ea7d106b9f4b94fef;V23 tag peeled commit:a0a4787b4379ab2819943d20ce05a7ae760a88c3 - Codex 实际模型:gpt-6-astra / high(CLI 启动日志确认),CLI 0.161.0;Codex 调查完成,文档交付会话多次卡住,之后由 RDC 整理、落盘并独立审查关键源码。 - 主报告:docs/20_调查/R0_Placement跨段归因与缓存安全边界调查_v1.md ## 已完成 1. 读取 STEP-110 任务书、根 AGENTS/基线、项目总则,以及 STEP-088/089/090/092/094/099/100/102/106/108/109。 2. 比较 V23 GSRL build Commit、Tag commit 和 main;核心六份 Renderer/Placement/Cache/Fast Path Git Blob 完全一致。 3. 只读追踪 Renderer::update、RenderOrchestrator::createRenderTree、CrossTileSymbolIndex、PlacementController、RenderTree、per-segment Placement Gate、Retained Cache、Fast Path。 4. 读取 STEP-106 本机既有 T1/T2 设备日志,确认 placement-free Retained 段复用,不推定含 Symbol R0 可复用。 5. 回答 Q1–Q4、七个反事实场景、结论矩阵与风险优先级,并明示 cannot prove 的范围。 6. 不涉及 Native/JS/Kotlin/测试代码修改;未运行测试、Jest、构建、Gradle、CMake、Bazel、ADB 或设备验证。 ## PARTIAL 原因 - NavSea 生产 R0 逐 Symbol placement/fade/visibility 等价证据缺失;只读源码不足以证明 C1 的 Placement 变化完全不影响 R0。 - 本次不允许插桩、修改 Core 算法、重测 NavSea 或新建安全机制。 - 需要另行授权 Native 内部诊断/安全判据,再进行跨 Source 碰撞与真实 CPU/视觉 A-B。 - 本地报告写入由 RDC 完成,不能误称 Codex 已直接交付文档。 ## 结论及停手范围 R0 含地名 Symbol,V23 全局 Placement/Fade Gate 的保守失效与现有设计相容;**当前没有证据判定为既有不变量遭破坏的 Bug**。对 placement-free R 的 STEP-102 隔离已通过历史测试,不能直接解除 placement-bearing R0 的 Gate。 Git 收尾证据以 STEP-110 完成报告和最终 RDC Git 验收为准;禁止提交原来未跟踪的 STEP-110 任务书或其他无关文件。本任务无正式 Binary/Source Lock 发行。