# CM95 PBF 生产化阶段 v1.4.4 ## 状态 目标:解决 v1.4.3 全量 production 重建后剩余 45 个 `MVT encoder dropped features`。 v1.4.3 实测: - jobs: 20,115 - PASS: 20,070 - FAILED: 45 - FSHHAV hard-gate: 已解决 - 剩余失败:全部 encoder drop ## 根因 v1.4.3 的 MVT 编码前预量化检查只能近似模拟 mapbox-vector-tile 的实际 geometry clean-up。 实际 encoder 内部仍可能把部分 line/polygon 清理为空,因此第一遍 encode/decode 仍发现 planned ID 缺失。 ## 修复 采用两阶段真实 encoder reconciliation: 1. encode + decode; 2. 比较 planned IDs 与 actual IDs; 3. 对 dropped ID: - 普通几何:显式 quantization omission; - safety-preserving layer:point fallback; 4. 重建 planned set; 5. 重新 encode + decode; 6. 最终仍不一致则 fail-closed。 不会把 depth contour / baseline line 等普通线性对象伪造成 hazard point。 ## Production plan 完整性修复 `builder_contract_version` 现在属于 immutable plan 内容,因此 builder 输出语义改变时 Plan ID / Release ID 会改变。 v1.4.4: `cm95pbf-builder/0.4.4-encoder-reconcile` 这防止同一个 release 目录混用不同 encoder reconciliation 逻辑。 ## Release Gate 允许: - quantization omissions - safety point fallbacks - encoder probe candidates 禁止: - final encoder_dropped_features - hard_gate_unmapped - planned/report/decode count mismatch - unexpected encoder output IDs ## 恢复策略 从 v1.4.3 release 迁移: `cm95-d1-bfa67dd5625f-289c62fbf758` 预期复用 20,070 PASS,只重建 45 FAILED。