7.4 KiB
7.4 KiB
NAVSEA-PBF-MULTISOURCE 阶段 B2.7:持续自动验证至人工门槛 RDC 完成报告 v1
日期:2026-10-12 结论:上游自动审计实现及离线回归 PASS;停在必须由人批准的标准层显示组、PRIMARY/COMPONENT 及 UNKNOWN 语义门槛。 新增可执行 Provider Binding 0、正式 Package 0、NavSea Runtime 修改 0。
一、实际工作环境与上位规定
- Windows CARBON7i 的 NavSea Worktree 为 D:\React\NavSea-PBF-Multisource,branch feature/pbf-multisource、HEAD 78d7ffeccc95469ef3be62701b7b805b5a50c1f8。本轮只读核对 2026-10-12 的《通用解释器与标准层映射强制原则》及 002/002B/004 契约,不改动 NavSea 源码。
- RDC Linux X220 上游仓库 /root/sourceserver/pbf-provider-pipeline-v1,branch feature/provider-pipeline-v1,开始时 HEAD d046d7ee0d9f2030d974d0e5435ae6571b0b4489;本轮代码与本报告均写入该仓库,不切换分支/worktree,不做 Git reset/clean/add/commit/push。
- 最优先原则:原始 PBF、Style、Sprite、Glyph 都是视觉/数据事实;不能在 NavSea Runtime 认识 CM95 专属字段,不能重绘、复制大量符号层或将未知对象擅自归类。保持既有 Fishery/LIGHTS05 过渡性修复;没有 Android/iOS 编译、安装、ADB、Jest、Codex。
- 所有阶段数据均使用旧正式 CM95 1.1.0 原始 Style SHA b1d3d0060012a8e4b55a6053231231d742ec415b3a8398f9ae0867bbdfa5290b;旧发行 ZIP SHA256 fb5bc2606ab61662c16eccd22225532779830779e931f623bac4cf049e6b737f,禁止覆盖。
- 真实当前正式 ZIP 的 Mapping 是 102 条。此次演算输入为前阶段上游全量 Catalog + 原人工分类构造出的仅供审计的 475 条临时 Mapping,不等于已发布新 ZIP 或经批准的正式合同。
二、B2.7 新增自动证据
1. 逐 Style Layer Selector 冲突审计
- 新工具 tools/provider-pipeline/selector_collision_evidence_audit.py;对应 tests/test_selector_collision_evidence_audit.py(7 项)。
- 工具只利用原始 Style 的直接 get 资源表达式生成候选;支持同原始 Feature 多组件跨 Layer 的候选组合/继承,但绝不把结果作为 PRIMARY 或 Runtime 授权。
- 逐 Feature 运行原来的 PBF-03 Style 实例化评估器,检验候选是否命中不同标准层、UNKNOWN/AMBIGUOUS、Catalog 外对象;不依赖 CM95 语义字段名。
- 根据 Catalog 中 475 个 Visual Object 的原始例子确定 261 张真实 PBF Tile,扫描其中与候选相关的 34287 个原始 Feature;原始 Style 实际命中 17148 个。
- 共分析 820 条原始组件级 Style Layer 绑定:595 条有候选、样本中未发现跨标准层或 UNKNOWN/RESIDUAL 误命中;225 条没有候选。累计同类之外但同 standardLayer 的其它视觉类型命中 18090 次,不代表它们是独立对象或已完成 PRIMARY 审核。
- 从对象层面看,310 种 Visual Object 所有涉及的候选层均获得本样本的零禁忌误命中观察;165 种至少一层缺候选/分类未决,其中 146 种属于 UNKNOWN/AMBIGUOUS,其余 19 种虽有人工标准层名称仍缺机器可证明 selector。
- 这个结论仅适用于这 261 张瓦片的静态可执行表达式重放。全部 177383 张 Tile 的逐 Feature 碰撞检查、真正 GPU 的 Style Filter/Placement 行为、未来新增数据和安全业务行为并未验证,不能宣称实际通用完整显示已 PASS。
- 增加 Mapping/Catalog VO ID 必须一致、相同 source-layer 多 Style Source 歧义拒绝等 fail-closed 测试,保护输入来源。
- 最终留档:docs/报告/NAVSEA-PBF-MULTISOURCE_阶段B2-7_逐层候选Selector真实样本冲突审计_v2.json。v1 是先前同主题的历史版本,不可替代 v2 最终结构门禁结果。
2. 完整视觉类型目录对原 Style Layer 的隔离审计
- 新工具 tools/provider-pipeline/style_layer_isolation_audit.py;对应 tests/test_style_layer_isolation_audit.py(5 项)。
- 真实原始 Style 170 层;全量 475 类 Visual Object 的 Mapping renderEvidence 静态分布:29 层混合多个标准层或残余对象;39 层只出现未解决/残余对象;33 层只出现一个已分类 standardLayer(仅同数据版本的整层控制候选);69 层没有 Catalog 里对应可绘制对象。
- 33 层的“单类候选”不是整层 visibility 的自动授权,仍可能有源数据新增、原 Filter 数据覆盖、动态 Style/MapLibre 行为等问题;29 层必须保持对象级控制的要求。
- 最终留档:docs/报告/NAVSEA-PBF-MULTISOURCE_阶段B2-7_StyleLayer全量归属隔离审计_v2.json;历史 v1 仅用于追踪早期分类口径,v2 细分纯 residual。
3. 统一人工交接清单
- docs/报告/NAVSEA-PBF-MULTISOURCE_阶段B2-7_人工确认总清单_v1.md:逐标准层 15 行,含分类数量、多组件数量、候选证据现状、各组代表性真实 Feature ID/Tile,以及必须人工确认的位置和顺序。
- B2.6 先前已建具 SHA 绑定的待审草稿:docs/报告/NAVSEA-PBF-MULTISOURCE_阶段B2-6_标准层与PRIMARY待审草稿_v1.json,15 种标准层全部 PENDING、475 个 Visual Object 全部 PENDING。B2.6 严格结构门禁 PASS_PENDING_REVIEW≠语义批准;不能自动修改 approvalStatus 冒充用户审核。
- NavSea UI 已知组 ID 仅为 13 个普通显示组 + base_map 基础组。上游既有冻结的 style-visual-object-standard/v1 是特定 Style 的视觉 Catalog,不是已批准的跨 Provider 标准层归组契约。
三、必须人确认,机器不可再推断的项目
- 标准层→NavSea 产品显示组(15 类)的语义对应关系、边界、审查证据和版本化 Catalog。不能按标准层名字相像就匹配组名;标准层跨多个显示组的方案需先裁决是否可表达、如何避免双重控制。
- 每类对象唯一 PRIMARY 与其所有 COMPONENT 父子关系(475 条草稿;275 条多组件特别需要关注)。绘图的 icon/text/line/fill 不等于 PRIMARY/COMPONENT。
- UNKNOWN/AMBIGUOUS 146 类和已知分类冲突需上游人工依据 Provider 资料审查后才能更新 Mapping,不可由工具自动提升。
- 以上合同得到人工批准后,才进入少量已审核对象的通用 Compiler/Importer 最小闭环,再安排真实 Android/iOS 实机四档、原 Style 恢复、混合层 residual 保留、Pickup 和 Danger/Planning 分项验收。此步骤尚未实施,不可声称产品已通过。
四、验收收尾
- X220 仓库虚拟环境运行 .venv/bin/python -m unittest discover -s tests -p 'test_*.py' -v:最终 50/50 PASS、退出 0(既有 38 项 + 新增逐层 Selector 7 项 + Style 隔离 5 项)。
- 静态 checker:候选产生不能擅自授予 displayRuntimeAuthorizedCount / primaryAuthorizedCount,Style Layer 隔离的 runtimeAuthorizationCount 恒为 0。
- git diff --check PASS;全部 8 个本阶段关键代码、测试与报告文件 UTF-8/非空/无尾随空格自检 PASS;B2.7 两份最终 JSON 的计数和 0 授权断言 PASS。
- 原发行 CM95 1.1.0 ZIP SHA-256 为 fb5bc2606ab61662c16eccd22225532779830779e931f623bac4cf049e6b737f,与原值一致。
- 最终分支 feature/provider-pipeline-v1,最终 HEAD d046d7ee0d9f2030d974d0e5435ae6571b0b4489(没有 Commit/Push)。工作区原 B2.1~B2.6 未提交修改和未跟踪文档均保留,不清理或覆盖。
准确的停点:所有可以独立完成的当前上游只读/候选生成及样本证明已交付;正式标准层显示组与 PRIMARY 语义必须由人工确认,此处 STOP / AWAIT HUMAN SEMANTIC APPROVAL。