V5.0.19 — 自管理 PM sticky profile 与 Windows NTFS 安装修复
针对 #507 与 #509。未知源码继续拒绝;卡片样式与配置默认值不变。
范围
- sticky active profile:普通 Hermes home 的官方探针与 enable 子进程显式传入
-p default,阻止 sticky profile 将写入重定向到其他配置;profiles/<name>形式的命名 profile home 保持官方环境绑定。配置读写、journal、所有权及恢复仍使用用户指定的 home,postimage 字节门与无关改动保护保留。 - Windows NTFS:
st_ctime_ns在路径查询与句柄查询间存在恒定读差,环境层、PM admission 和相关 legacy 证据签名改用 dev/ino/size/mtime 四元组;内容完整性由 sha256 摘要承担,ABA 恢复原字节的场景不再误拒,真实内容变化仍拒绝。
验收记录
- 精确发布提交:8f4b7f1fa32da994482f34762a78cc1725e4d822;annotated tag
v5.0.19已通过版本、提交和 main 祖先校验。 - PR #514 完整矩阵通过;主线精确提交矩阵 59 个 job 全部成功;同提交 CodeQL通过。
- Tag 发布门禁 61 个 job 全部成功,包括完整 Python/平台、固定上游、官方镜像和打包检查。
- 本地文档/版本元数据 104 项通过,ruff 通过,mypy 覆盖的 60 个源文件通过。相关安装/配置/恢复回归 390 项通过、208 项因平台条件或缺特定历史 fixture 跳过;完整兼容性以 CI 固定矩阵为准。
- 普通非 editable wheel 在隔离的 Hermes v0.23.0 CLI/PM 测试环境中完成 install、repair、repeat-install、restore,真实子进程、包来源和 wheel SHA256 校验通过。
- 公开 tag URL 的普通安装通过,160 个安装文件与精确 Git tag 字节一致;源 ZIP SHA256:
0a87100eb92c69bb08dc96a00b494de1c6e9951c8b9ca36c23feb2e2c8bc60cf。 - 三平台资产与 checksums 校验通过:三个归档各含一个独立顶层目录和 9 个发行文件。macOS 系统 tar 对实际 macOS/Linux 资产完成 8 组解压(0700/1777、普通/保留权限),目标 inode/属主/权限与哨兵保持不变;Windows ZIP 实际文件字节通过。GNU tar root/非 root 安全布局检查由 CI 独立门禁覆盖。
边界与已知反馈
- 报告者原主机、真实 Gateway/model 回合及客户端实际交互仍待复测;自动化和公开安装结果不替代这些证据。
- #512 的官方 Docker multiplex 数据根归属反馈不在本版修复范围,真实场景待独立复现,单独跟踪。
English acceptance summary
The exact merged commit and annotated tag passed the full PR/main matrices, CodeQL and all 61 release-gate jobs. An ordinary wheel passed the isolated v0.23.0 CLI/PM install/repair/repeat/restore harness. Public-tag installation matched all 160 installed files to Git. All three archives/checksums and eight native macOS tar extraction cases passed. Reporter hosts, live Gateway/model turns and client interactions remain unverified; #512 is a separate reported Docker multiplex issue.
贡献
感谢 lvanwei180-lvan(#507 现场与 #497 的三连 blocker 现场报告)、czh9101-lang(#509 根因定位与最小复现)、tidytouch(#510/#511 观察)。问题证据与代码作者分开记录,历史贡献保留。