pm 1.2.0 —— I7 的判定侧落地:pm doctor 开始校验「相册 ⊆ 成片 ∪ inbox-origin」(用户裁定 2026-09-03,兑现 DESIGN-COMMANDS §10.3 第 2 项)。
1.1.3 → 1.2.0
pm doctor多一条I7行:相册里的每张照片都要能解释来源。已解释两条,都以内容为准——① 索引里有同 sha 的成片副本(设计内冗余);② journal 里有一条 Copy 记录,dst 恰是这条相册路径、sha 与盘上现字节相同、src 解析在库外——即pm vault ingest从_inbox拷进来的那份。源后来被移进_done不改判:证据是 journal 记录,不是源文件还在不在。两条都不成立的逐条报 Warn 交人裁决(同 Q1:只报告、不处置,pm 不猜来源),退出码随之为 1;收尾一条 Info 汇总「N 张 = 成片副本 x · inbox 来源 y · 未解释 z」。- 记录侧本来就在(P6-D 起 ingest 的 journal Intent 自带库外
srcAbs),这一版补上的是读它的那一半——此前 §10.3 第 2 项写着「判定侧未做」,DESIGN §14 也只能写「暂人工裁决」。 --repair与 I7 无关:修复推导只认 C2 / R2 / Q-DONE-LOST / C5 四种行且要求详情以 opId 开头,I7 行进不去。相册文件永远由人处置。- fail-closed:journal 有告警(撕裂尾 / 中段损坏)或快照是坏代回退时,整条判据不判、只打一行 Info 说明。判据里有一条否定式(「journal 里没有别的来源记录」),折叠不全时会把正常照片报成违例。
- 相册层只判照片(
KindPhoto);相册为空的 root 一行不打。层名相册/成片收进Pm.Types单一定义(Pm.Album按原名再导出,调用点不变)——Pm.Doctor不能 importPm.Album(会与Pm.Cli成环)。 - 照片、索引、journal 一字节不动;本版只增加一类只读判定。
安装
pm-ui_1.2.0_x64-setup.exe:安装包(装到当前用户,不要管理员权限)。pm-1.2.0-windows-x64.zip:免安装,含pm.exe(CLI)与pm-ui.exe(GUI)。- 两个资产都没有代码签名,首次运行 SmartScreen 会提示「未知发布者」。
门禁
440 测试全绿(新增 3 例:ingest 端到端后源被移走仍判已解释 / 成片同 sha 副本已解释 + 无解释项逐条 Warn 且 --repair 不动盘 / 三处判别——src 在库内、sha 与盘面不符、journal 有告警),GHC 警告 0;五个突变(去掉 inbox 那条、去掉成片同 sha 那条、去掉 sha 相等、不问库内库外、去掉 fail-closed 闸)逐个各判红一例。真实库 pm doctor 实测:相册 ⊆ 成片 ∪ inbox-origin: 94 张 = 成片副本 94 · inbox 来源 0 · 未解释 0,exit 0。细节见 docs/REVIEW-LOG.md「1.2.0 I7 判定侧」节。
SHA-256
55a3bfe63fb0b68226b86c5c2a36c2b15f42f0fc102d7c416c752fce3d0799bd *pm-1.2.0-windows-x64.zip
48e4bd8e34e9c0aeaf9aa4b0aa009514c314402b4c4719e483bedf9542886b0e *pm-ui_1.2.0_x64-setup.exe