Skip to content

docs(permit): 将跨机许可接线判据改为平台中立的能力条款 - #176

Merged
Kucell merged 1 commit into
mainfrom
docs/permit-platform-neutral-wiring-20261107
Nov 7, 2026
Merged

Kucell merged 1 commit into
mainfrom
docs/permit-platform-neutral-wiring-20261107

Conversation

@Kucell

@Kucell Kucell commented Nov 7, 2026

Copy link
Copy Markdown
Owner

目的

按统调 01a1ae60 的 G-Q3 / G-Q4 裁定,把跨机许可接线指南的「受保护部署」判据从
按操作系统列举改为平台中立的能力条款,并补上「目标侧票据部署与控制端主机无关」。

中立化改的是表述,不是约束 —— 本 PR 不触碰任何 lib/coordination/*.js 实现,
也不改动 protected-anchor.js / protected-permit-store.js 的既有语义。

改动范围

单文件:docs/architecture/cross-machine-permit-wiring.md

位置 改动
§3.1 改写为平台中立的受保护部署能力条款(G1 能保管 / G2 能在受保护临界区校验 / G3 能自判本机状态),并写明「满足方式是示例,不构成定义」「约束不因中立化而放宽」
§3.1.1(新增) Windows 服务身份形态的原有条款逐字保留,仅适用范围收窄为「该平台形态」
§3.10(新增) 目标侧票据部署与控制端主机无关:控制端是 Windows 还是 Mac,不得给目标侧增加任何前置条件

中立化前后必须一致的不变项 —— 逐条对照

不变项 位置 本 PR 是否改动 核对方式
验签必须在 consume() 之前 §2.0 未改动 章节标题与正文逐字保留
验签方禁止自验签、不得持公钥、不得读登记型锚点域 本仓不承载该项 —— 由 SamHMI 侧 D-AUTH-001 INV-01 与产品代码承载 未改动(本 PR 不涉及 SamHMI 仓) 本仓 git grep 自验签 零命中,确认该约束不在本文件范围
targetHasProcess / targetHasPriorRun 必须由目标侧自行判定 §2.2 未改动 「由远端(发起侧)报告后原样传入 = 不可接受」仍在原处
pin / 撤销集合 / 期望指纹 / 验签时钟必须由验签方从受保护锚点域读出后传入 §3.2、§3.3 未改动 「读出后传入」两节原文保留
批次身份三元组 (decision_id, instance_id, fingerprint) 的比较口径 §2.0.1 未改动 「批次身份仍是三元组」原文保留
端点仍只绑回环(不放宽) lib/coordination/permit-bridge-endpoint.js:75 未改动 本 PR 只改文档;LOOPBACK_ADDRESSES = ["127.0.0.1", "::1"] 未动
TTL ≤ 120 秒、跨机时钟容差 2,000 ms lib/coordination/permit-bridge-bounds.js:25(clockSkewToleranceMs = 2_000)/SamHMI 侧 D-AUTH-001 §5.1、§6 未改动 本 PR 只改文档;常量未动

逐字保留的机械核对:旧 §3.1 的条款主体与新 §3.1.1 逐行 diff 为空 ——
即「服务 SID 声明 / 不得新建可登录用户账号 / 不得切换登录用户 / 写入者集合恰为该服务身份 /
pin 目录与许可存储目录域互相不包含」这一组约束一个字符都没变,只是适用范围从
「通用要求」明确为「Windows 服务身份这一形态的附加条款」。

边界

  • 本 PR 只改一份文档,不改任何 lib/ 实现,不新增依赖,不改 CI。
  • 不触碰 protected-anchor.js / protected-permit-store.js 的既有语义(G-Q1 本轮未裁定
    「需要 Windows 原生签发凭据形态」,改这两处等于预先批准扩写禁改模块)。
  • 签发侧是否需要 Windows 原生受保护凭据形态,本轮不裁定,留待 Stage C 实测定型。
  • 跨机信任的书面裁定仍 pending;本 PR 不解除该 gate。

§3.1 由「Windows 服务身份必须显式声明」改写为平台中立的受保护部署能力条款
(G1 能保管 / G2 能在受保护临界区校验 / G3 能自判本机状态),并显式写出
「满足方式是示例,不构成定义」与「约束不因中立化而放宽」。

Windows 服务身份形态的原有条款(服务 SID 声明、不得新建可登录账号、不得切换
登录用户、写入者集合恰为该身份、pin 目录与许可存储目录域互相不包含)**逐字未改**
地保留在新增的 §3.1.1,仅适用范围收窄为「该平台形态」。

新增 §3.10:目标侧票据部署与控制端主机无关,控制端平台不得为目标侧增加任何
前置条件;与 §3.1 同属「角色由能力定义、不由主机定义」原则的两面。

中立化只改表述、不改约束:consume 前验签、目标侧自判本机状态、pin/撤销/期望
指纹/验签时钟由验签方从受保护锚点域读出后传入、批次身份三元组比较口径、
端点回环绑定、TTL 与时钟容差,均未改动。

依据:统调 01a1ae60 的 G-Q3 / G-Q4 裁定与条文草案
SamHMI/.agent/artifacts/T-DESKTOP-AUTHORITY-UNBLOCK-20261107/contract-clauses-draft.md。
@Kucell
Kucell merged commit f7e163d into main Nov 7, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant