dsh-kingdom 2.0.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/ASSETS_NOTICE.md +22 -22
  2. package/README.md +246 -243
  3. package/THIRD_PARTY_NOTICES.md +92 -92
  4. package/docs/DSH-KINGDOM-3.0-ANNOUNCEMENT.md +13 -0
  5. package/docs/V2.0-RELEASE-NOTES.md +30 -30
  6. package/docs/V2.0-USER-GUIDE.md +74 -74
  7. package/docs/V3.0-RELEASE-NOTES.md +21 -0
  8. package/docs/V3.0-USER-GUIDE.md +33 -0
  9. package/docs/V3.1-RELEASE-NOTES.md +76 -0
  10. package/docs/V3.2-RELEASE-NOTES.md +103 -0
  11. package/lib/core/binding.js +167 -60
  12. package/lib/core/binding.js.map +1 -1
  13. package/lib/core/db.js +582 -546
  14. package/lib/core/db.js.map +1 -1
  15. package/lib/core/delivery-ack.js +1356 -0
  16. package/lib/core/delivery-ack.js.map +1 -0
  17. package/lib/core/delivery-change.js +1237 -0
  18. package/lib/core/delivery-change.js.map +1 -0
  19. package/lib/core/owner-binding-intent.js +14 -25
  20. package/lib/core/owner-binding-intent.js.map +1 -1
  21. package/lib/core/owner-window.js +698 -23
  22. package/lib/core/owner-window.js.map +1 -1
  23. package/lib/core/task-service.js +144 -5
  24. package/lib/core/task-service.js.map +1 -1
  25. package/lib/core/territory.js +43 -9
  26. package/lib/core/territory.js.map +1 -1
  27. package/lib/gui/assets/characters/chancellor-idle.svg +67 -67
  28. package/lib/gui/assets/characters/chancellor-sleeping.svg +67 -67
  29. package/lib/gui/assets/characters/chancellor-thinking.svg +67 -67
  30. package/lib/gui/assets/characters/chancellor-working.svg +67 -67
  31. package/lib/gui/assets/characters/knight-redraw-r1-idle.svg +67 -67
  32. package/lib/gui/assets/characters/knight-redraw-r1-sleeping.svg +67 -67
  33. package/lib/gui/assets/characters/knight-redraw-r1-thinking.svg +67 -67
  34. package/lib/gui/assets/characters/knight-redraw-r1-working.svg +67 -67
  35. package/lib/gui/assets/characters/supervisor-idle.svg +67 -67
  36. package/lib/gui/assets/characters/supervisor-sleeping.svg +67 -67
  37. package/lib/gui/assets/characters/supervisor-thinking.svg +67 -67
  38. package/lib/gui/assets/characters/supervisor-working.svg +67 -67
  39. package/lib/gui/console-app.js +7 -1
  40. package/lib/gui/console-app.js.map +1 -1
  41. package/lib/gui/contract.js +6 -0
  42. package/lib/gui/contract.js.map +1 -1
  43. package/lib/gui/control-contract.js +3 -2
  44. package/lib/gui/control-contract.js.map +1 -1
  45. package/lib/gui/owner-control.js +114 -4
  46. package/lib/gui/owner-control.js.map +1 -1
  47. package/lib/gui/owner-ui.js +645 -183
  48. package/lib/gui/owner-ui.js.map +1 -1
  49. package/lib/gui/server.js +109 -109
  50. package/lib/gui/snapshot.js +127 -4
  51. package/lib/gui/snapshot.js.map +1 -1
  52. package/lib/gui/visual-assets.js +37 -21
  53. package/lib/gui/visual-assets.js.map +1 -1
  54. package/lib/gui/visual-system.js +269 -269
  55. package/lib/gui/workbench-ui.js +549 -136
  56. package/lib/gui/workbench-ui.js.map +1 -1
  57. package/lib/gui/workbench.js +133 -0
  58. package/lib/gui/workbench.js.map +1 -1
  59. package/lib/index.js +392 -40
  60. package/lib/index.js.map +1 -1
  61. package/lib/types/core/binding.d.ts +29 -0
  62. package/lib/types/core/db.d.ts +14 -0
  63. package/lib/types/core/delivery-ack.d.ts +688 -0
  64. package/lib/types/core/delivery-change.d.ts +381 -0
  65. package/lib/types/core/owner-binding-intent.d.ts +9 -1
  66. package/lib/types/core/owner-window.d.ts +237 -3
  67. package/lib/types/core/task-service.d.ts +22 -0
  68. package/lib/types/core/territory.d.ts +18 -3
  69. package/lib/types/gui/contract.d.ts +162 -1
  70. package/lib/types/gui/owner-control.d.ts +61 -1
  71. package/lib/types/gui/snapshot.d.ts +8 -0
  72. package/lib/types/gui/visual-assets.d.ts +16 -0
  73. package/lib/types/gui/workbench.d.ts +47 -1
  74. package/lib/types/index.d.ts +60 -1
  75. package/lib/types/worker/governed-executor.d.ts +15 -0
  76. package/lib/worker/governed-executor.js +21 -0
  77. package/lib/worker/governed-executor.js.map +1 -1
  78. package/package.json +80 -75
@@ -0,0 +1,103 @@
1
+ # dsh-Kingdom 3.2.0 本地候选说明
2
+
3
+ 3.2.0 只有两类产品变更:**主管与领地的完全绑定**(任命时必须同时指定领地、一个主管只主理一个
4
+ 领地,席位与主理同一事务原子写入;退任时同时解除主理)与**交付区版面修复**(控制区不再抢宽导致
5
+ 正文退化成竖排)。没有新增表、没有新增迁移,沿用 schema v4 与既有事件类型。
6
+
7
+ ## 验证状态(本轮实际执行过的)
8
+
9
+ | 项 | 结果 |
10
+ |---|---|
11
+ | `npm run typecheck`(`tsc -p tsconfig.json --noEmit`) | 通过,0 错误 |
12
+ | 全量 `node --test tests/*.test.ts` | 594 项:**592 通过 / 0 失败 / 2 跳过**(2 项在 Windows 上跳过:1 项是 `process.platform === 'win32'` 的平台门,1 项是宿主无法创建符号链接时的运行时跳过) |
13
+ | 新增定向用例 `tests/v320-supervisor-territory-binding.test.ts` | 6/6 通过(AC1–AC5 + 事务嵌套) |
14
+ | `scripts/p2-smoke.mjs` | 36/36 通过 |
15
+ | `scripts/p3-smoke.mjs` | 19/19 通过 |
16
+ | `scripts/hotplug-audit.mjs` | 26/26 通过 |
17
+
18
+ **未执行(NOT_RUN)**:发布门 `scripts/release.ps1 -DryRun`(须在干净工作区、冻结提交后运行);
19
+ 真实浏览器人工交互验收(含新版表单在四种主题与窄屏下的实际观感);把本版 tgz 装进本机
20
+ profile 后的 DSH `0.1.7-rc.2` 实机加载回归;Linux 平台;收益与成本测量。未运行过的项不得当作
21
+ 已通过。本版发布前的独立审查结论与 Owner 验收记录见发布回执(不在包内)。
22
+
23
+ ## 1. 主管与领地完全绑定
24
+
25
+ **问题**:此前"任命主管"与"指定它的领地"是两条独立命令。中途放弃第二步,就会留下一个没有
26
+ 领地的在任主管:席位显示已任命,GUI 里那块领地却仍显示"没有主管",而治理操作按
27
+ `TERRITORY_SUPERVISOR_MISSING` fail-closed。
28
+
29
+ **现在的规则**(Owner 口径 2026-09-28 + 1:1 裁定 2026-09-29):
30
+
31
+ - **任命主管必须同时给出领地**:`role.bind` 的 `role_type=SUPERVISOR` 需要 `territory_id`;
32
+ 缺省即拒绝,不写入任何事实。非主管角色携带 `territory_id` 同样拒绝(不静默忽略)。
33
+ - **同一事务原子写入**:席位与「该领地的主理」一起提交或一起回滚。领地侧被拒时,已经插入的
34
+ 席位随事务回滚,**不会**留下"有主管、没领地"的中间态。
35
+ - **不静默替换在任主理**:目标领地已有**在任 ACTIVE** 主理时,改派被拒绝并提示先解除;
36
+ 解除(`supervisor_binding_id: null`)后再指派。指向**已退任席位**的历史悬挂引用属于修复,
37
+ 可以直接改派(direct Slash 与 Owner GUI 窗口是同一条判据)。
38
+ - **一个主管席位只主理一个领地(1:1)**:席位已隶属其它未删除领地时,指派被拒绝并提示先解除
39
+ 原领地的主理。要在领地之间移动一个主管,必须"先解除原领地,再指派到新领地"。
40
+ 已被删除(tombstone)的领地不参与治理,其历史指针不锁住席位。
41
+ - **退任联动**:`role.unbind` 退任一个主管时,**同一事务**里解除它在领地上的主理关系并写出一条
42
+ 明确的解除事实(`TERRITORY_SUPERVISOR_UPDATED`,`unassigned: true`),不留下指向 RETIRED
43
+ 席位的悬挂引用。
44
+ - **存量未隶属席位**:3.2.0 之前建立的、没有领地的在任主管**不会被自动归属**。席位投影会给出
45
+ 它实际主理的领地列表,为空时由界面标注「未隶属领地(待处理)」,由 Owner 决定指派或解除。
46
+ 这类遗留席位同样受 1:1 约束(已经主理某领地的席位不会被自动改派)。
47
+
48
+ 命令与界面:
49
+
50
+ ```
51
+ /kingdom role.bind {"role_type":"SUPERVISOR","role_name":"主理","territory_id":"<领地 id>","session_id":"<真实 DSH session>"}
52
+ /kingdom role.bind {"role_type":"WORKER","role_name":"执行者"} # 非主管不带 territory_id
53
+ /kingdom territory.supervisor {"territory_id":"...","supervisor_binding_id":null} # 解除该领地主理
54
+ /kingdom role.unbind {"binding_id":"<主管 binding id>","reason":"换届"} # 同时解除其领地主理
55
+ ```
56
+
57
+ Owner GUI 管理窗口的 `role.bind` 表单在角色为主管时出现**必选**领地下拉(内容来自本次授权范围
58
+ 目录),其它角色隐藏该字段;`kingdom_draft_owner_binding_intent` 的自然语言草案对主管改为
59
+ **单步**可执行命令(`role.bind` 自带 `territory_id`),不再是旧的两步。
60
+
61
+ **领地范围判据**:主管任命的目标领地必须**显式**出现在本次管理窗口的授权范围内
62
+ (`catalog.territories` 与提交判定完全一致,不用 `kingdomWide` 放宽)。若要在窗口里给新建的
63
+ 领地任命主管,请重新激活一个包含该领地的窗口。
64
+
65
+ **管理窗口现在也能解除主理**:`territory.supervisor` 的 `supervisor_binding_id` 接受**显式 `null`**
66
+ (表单上是"解除现任主理(不指派新主管)"勾选框;省略该字段仍是输入错误,不会被当成解除)。
67
+ 因此 1:1 之下"把主理从领地 A 换到领地 B"可以完全在窗口里完成:先在 A 上解除、再到 B 上指派。
68
+ 解除同样受未结算执行守卫约束(有在途工作时不允许解除责任),预览会写清"解除后该领地无主理 →
69
+ fail-closed 直到指派新的"。
70
+
71
+ **存量数据的说明**:3.2.0 之前可能留下两类与上面规则不符的存量——① 没有隶属领地的在任主管席位;
72
+ ② 一个席位同时挂在多个领地(旧能力允许)。本版**不会自动收敛**它们:① 只作可见标注,② 只约束
73
+ **新的**指派。两者在退任时都会被一并解除(退任联动遍历该席位名下的所有未删除领地)。
74
+
75
+ **事务嵌套**:直接 Slash 的 `ownerWrite` 与 Owner GUI 窗口的 `apply` 各自已经开了一层事务,
76
+ 而这条原子通道还要求自己的边界。`KingdomStore.withImmediateTransaction` 因此改为真正的嵌套:
77
+ 外层 `BEGIN IMMEDIATE`/`COMMIT`/`ROLLBACK`,内层 `SAVEPOINT`/`RELEASE`/`ROLLBACK TO`。
78
+ 只做"加入外层"是不够的——内层把拒绝变成返回文案时,它已写下的行会留在外层事务里被提交。
79
+ `schema`、表结构与事件类型均未改动。
80
+
81
+ **边界**:`bindRole()` 仍是低层原语,本身不承载"主管必须有领地"这条策略;策略在全部 Owner 入口
82
+ (direct Slash、Owner GUI 窗口、GUI 表单)强制执行,并统一由 `bindSupervisorForTerritory` 完成
83
+ 原子写入。这样既保证产品层面不存在"有主管、没领地"的创建路径,又不改动只用于构造测试夹具的
84
+ 低层调用。Agent Tool(`kingdom_bind_role` 等)依旧是 zero-write。
85
+
86
+ **未结算执行的拦截范围(3.2.0 审计 r1 更正)**:`UNSETTLED_EXECUTION` / `UNSETTLED_LEASE` /
87
+ `UNSETTLED_DISPATCH` 守卫只覆盖 **Owner 管理窗口**这条路径(`guardUnsettled`)。direct Slash 与
88
+ core 的 `role.bind` / `territory.supervisor` **没有**等价守卫——这是 3.1.0 的既有语义,本版没有
89
+ 改动它,文档也不得声称"旧主管的未结算执行一定会拦住改派"。需要该守卫时请走 Owner 管理窗口。
90
+
91
+ ## 2. 交付区版面修复
92
+
93
+ 交付条目的控制区里有一条 `flex: 1 0 100%` 的状态文本,而它在 `grid-template-columns:
94
+ minmax(0, 1fr) auto` 的右列(`auto` = max-content)里。右轨被撑到最宽,左轨被压成 0 宽,
95
+ 正文因此退化成每行一两个字、竖排显示。现在改成分行 flex:正文占弹性主列(20rem 起),
96
+ 控制区按自身内容窄排,放不下时整体换行。这是纯 CSS 改动,不改变任何数据、事件或判断。
97
+ 交付条目里显示的 `UNKNOWN` 是**数据**(v1.0.0 旧格式的弱接受证据),产品按设计不推断。
98
+
99
+ ## 不适用范围
100
+
101
+ - 不改 schema,不新增迁移;不改 Owner Control Plane 的授权模型。
102
+ - 不改 `resolveTrustedToolSession`,不改 3.1.0 的 peer 分线声明。
103
+ - 不处理 3.1.0 审计遗留的文档残留(另行处理)。
@@ -17,6 +17,7 @@
17
17
  * 配合 `authMode: 'session-bound'`,`requireRole` 会按调用方 session 校验。
18
18
  */
19
19
  import { randomUUID } from 'node:crypto';
20
+ import { applyTerritorySupervisor } from './territory.js';
20
21
  import { requireOwnerControl } from './owner-control.js';
21
22
  export const ROLE_TYPES = ['OWNER', 'CHANCELLOR', 'SUPERVISOR', 'WORKER'];
22
23
  /**
@@ -133,41 +134,23 @@ export function requireAdmin(store, kingdomId, auth, operation) {
133
134
  message: 'OWNER_CONTROL_REQUIRED: 该 Owner-only 写操作只能通过 direct /kingdom Slash 的 Owner Control Plane 执行。',
134
135
  };
135
136
  }
136
- export function bindRole(store, input, auth) {
137
- const admin = requireAdmin(store, input.kingdomId, auth, { operation: 'role.bind', input });
138
- if (!admin.ok)
139
- return admin.message;
140
- const roleType = input.roleType.trim().toUpperCase();
141
- if (!ROLE_TYPES.includes(roleType)) {
142
- return `错误:role_type 必须是 ${ROLE_TYPES.join(' / ')} 之一。`;
143
- }
144
- const roleName = input.roleName?.trim() || `${roleType}-${randomUUID().slice(0, 8)}`;
145
- const sessionId = input.sessionId?.trim() || null;
146
- const modelName = input.modelName?.trim() || null;
147
- const agentName = input.agentName?.trim() || null;
148
- const sessionMeta = normalizeSessionMeta(input.sessionMeta);
149
- // Singleton 是 Domain Policy(v0.7.0 M2):OWNER/CHANCELLOR 拒绝第二个 ACTIVE;
150
- // SUPERVISOR/WORKER 允许多绑定(getBindingsByRole 供派发/scope 使用)。
151
- const existing = store.getBindingByRole(input.kingdomId, roleType);
152
- if (existing && SINGLETON_ROLES.includes(roleType)) {
153
- return `角色 ${roleType} 已有绑定(${existing.role_name},session=${existing.session_id ?? '未绑定 session'}` +
154
- `${existing.model_name ? `,model=${existing.model_name}` : ''}` +
155
- `${existing.agent_name ? `,agent=${existing.agent_name}` : ''})。` +
156
- `(${roleType} 是单席位角色,同一时间只允许一个 ACTIVE 绑定。` +
157
- `如需更换会话/身份,用 kingdom_bind_session;如需换届,用 kingdom_unbind_role 退任后重绑。)`;
158
- }
137
+ /**
138
+ * 授权无关的「插入席位 + 写 ROLE_BOUND」。调用方负责鉴权、单席位策略与事务边界。
139
+ * 3.2.0 抽出,供 `bindRole` 与 `bindSupervisorForTerritory`(原子"席位+领地")共用。
140
+ */
141
+ function insertRoleBindingRecord(store, fields) {
159
142
  const now = new Date().toISOString();
160
143
  const bindingId = randomUUID();
161
144
  store.insertBinding({
162
145
  binding_id: bindingId,
163
- kingdom_id: input.kingdomId,
164
- role_type: roleType,
165
- role_name: roleName,
146
+ kingdom_id: fields.kingdomId,
147
+ role_type: fields.roleType,
148
+ role_name: fields.roleName,
166
149
  runtime_type: 'dsh',
167
- session_id: sessionId,
168
- model_name: modelName,
169
- agent_name: agentName,
170
- session_meta: sessionMeta,
150
+ session_id: fields.sessionId,
151
+ model_name: fields.modelName,
152
+ agent_name: fields.agentName,
153
+ session_meta: fields.sessionMeta,
171
154
  execution_profile_json: null,
172
155
  status: 'ACTIVE',
173
156
  retired_at: null,
@@ -178,25 +161,63 @@ export function bindRole(store, input, auth) {
178
161
  });
179
162
  store.appendEvent({
180
163
  event_id: randomUUID(),
181
- kingdom_id: input.kingdomId,
164
+ kingdom_id: fields.kingdomId,
182
165
  event_type: 'ROLE_BOUND',
183
166
  // v0.5.2 审计修正:actor = 实际操作者(session-bound 下为可信 OWNER);
184
167
  // declarative 演示模式无可信 principal,保留被操作角色作兼容标注。
185
168
  actor_role: 'OWNER',
186
- actor_id: admin.ownerControl ? admin.ownerPrincipalId : admin.owner?.binding_id ?? null,
169
+ actor_id: fields.actorId,
187
170
  target_type: 'binding',
188
171
  target_id: bindingId,
189
172
  payload_json: JSON.stringify({
190
- role_name: roleName,
191
- role_type: roleType,
192
- session_id: sessionId,
193
- model_name: modelName,
194
- agent_name: agentName,
195
- session_meta: sessionMeta ? JSON.parse(sessionMeta) : null,
196
- ...admin.eventSource,
173
+ role_name: fields.roleName,
174
+ role_type: fields.roleType,
175
+ session_id: fields.sessionId,
176
+ model_name: fields.modelName,
177
+ agent_name: fields.agentName,
178
+ session_meta: fields.sessionMeta ? JSON.parse(fields.sessionMeta) : null,
179
+ session_evidence: fields.sessionEvidence,
180
+ ...fields.eventSource,
197
181
  }),
198
182
  created_at: now,
199
183
  });
184
+ return bindingId;
185
+ }
186
+ export function bindRole(store, input, auth) {
187
+ const admin = requireAdmin(store, input.kingdomId, auth, { operation: 'role.bind', input });
188
+ if (!admin.ok)
189
+ return admin.message;
190
+ const roleType = input.roleType.trim().toUpperCase();
191
+ if (!ROLE_TYPES.includes(roleType)) {
192
+ return `错误:role_type 必须是 ${ROLE_TYPES.join(' / ')} 之一。`;
193
+ }
194
+ const roleName = input.roleName?.trim() || `${roleType}-${randomUUID().slice(0, 8)}`;
195
+ const sessionId = input.sessionId?.trim() || null;
196
+ const modelName = input.modelName?.trim() || null;
197
+ const agentName = input.agentName?.trim() || null;
198
+ const sessionMeta = normalizeSessionMeta(input.sessionMeta);
199
+ // Singleton 是 Domain Policy(v0.7.0 M2):OWNER/CHANCELLOR 拒绝第二个 ACTIVE;
200
+ // SUPERVISOR/WORKER 允许多绑定(getBindingsByRole 供派发/scope 使用)。
201
+ const existing = store.getBindingByRole(input.kingdomId, roleType);
202
+ if (existing && SINGLETON_ROLES.includes(roleType)) {
203
+ return `角色 ${roleType} 已有绑定(${existing.role_name},session=${existing.session_id ?? '未绑定 session'}` +
204
+ `${existing.model_name ? `,model=${existing.model_name}` : ''}` +
205
+ `${existing.agent_name ? `,agent=${existing.agent_name}` : ''})。` +
206
+ `(${roleType} 是单席位角色,同一时间只允许一个 ACTIVE 绑定。` +
207
+ `如需更换会话/身份,用 kingdom_bind_session;如需换届,用 kingdom_unbind_role 退任后重绑。)`;
208
+ }
209
+ insertRoleBindingRecord(store, {
210
+ kingdomId: input.kingdomId,
211
+ roleType,
212
+ roleName,
213
+ sessionId,
214
+ modelName,
215
+ agentName,
216
+ sessionMeta,
217
+ sessionEvidence: input.sessionEvidence ?? null,
218
+ actorId: admin.ownerControl ? admin.ownerPrincipalId : admin.owner?.binding_id ?? null,
219
+ eventSource: admin.eventSource,
220
+ });
200
221
  const identity = [
201
222
  sessionId ? `session=${sessionId}` : null,
202
223
  modelName ? `model=${modelName}` : null,
@@ -204,6 +225,71 @@ export function bindRole(store, input, auth) {
204
225
  ].filter(Boolean).join(',');
205
226
  return `已绑定角色 ${roleType}(${roleName}${identity ? `,${identity}` : ',未指定会话身份'})。`;
206
227
  }
228
+ /** 事务(子事务)内信号:把「领地侧拒绝」带出内层作用域,从而回滚已插入的席位。 */
229
+ class SupervisorAttachRejected extends Error {
230
+ constructor(message) {
231
+ super(message);
232
+ this.name = 'SupervisorAttachRejected';
233
+ }
234
+ }
235
+ /**
236
+ * 3.2.0:**原子**地「建立主管席位 + 设为指定领地的主理」。
237
+ *
238
+ * Owner 口径(2026-09-28 + 2026-09-29 裁定):领地与主管完全绑定,不存在"没有领地的主管",
239
+ * 并且一个主管席位只主理一个领地。
240
+ * 两条事实在同一(子)事务内写入:领地侧不合法 → 内层回滚,绝不留下"席位已建、主理未设"的中间态。
241
+ * 冲突规则(由 `applyTerritorySupervisor` 统一执行):目标领地已有**在任 ACTIVE** 主理 → 拒绝
242
+ * (先解除再指派,不静默覆盖)。新建席位此刻尚未隶属任何领地,因此不会触发 1:1 的反向拒绝。
243
+ */
244
+ export function bindSupervisorForTerritory(store, input, auth) {
245
+ const admin = requireAdmin(store, input.kingdomId, auth, { operation: 'role.bind', input });
246
+ if (!admin.ok)
247
+ return admin.message;
248
+ const roleType = input.roleType.trim().toUpperCase();
249
+ if (roleType !== 'SUPERVISOR') {
250
+ return `错误:只有 SUPERVISOR 在任命时指定领地(收到 ${roleType || '空'})。`;
251
+ }
252
+ const territoryId = input.territoryId?.trim();
253
+ if (!territoryId) {
254
+ return '错误:任命主管必须同时指定领地(territory_id);主管席位不能没有领地。';
255
+ }
256
+ const roleName = input.roleName?.trim() || `SUPERVISOR-${randomUUID().slice(0, 8)}`;
257
+ const sessionId = input.sessionId?.trim() || null;
258
+ const modelName = input.modelName?.trim() || null;
259
+ const agentName = input.agentName?.trim() || null;
260
+ const sessionMeta = normalizeSessionMeta(input.sessionMeta);
261
+ const actorId = admin.ownerControl ? admin.ownerPrincipalId : admin.owner?.binding_id ?? null;
262
+ try {
263
+ return store.withImmediateTransaction(() => {
264
+ const bindingId = insertRoleBindingRecord(store, {
265
+ kingdomId: input.kingdomId,
266
+ roleType,
267
+ roleName,
268
+ sessionId,
269
+ modelName,
270
+ agentName,
271
+ sessionMeta,
272
+ sessionEvidence: input.sessionEvidence ?? null,
273
+ actorId,
274
+ eventSource: admin.eventSource,
275
+ });
276
+ const attached = applyTerritorySupervisor(store, { kingdomId: input.kingdomId, territoryId, supervisorBindingId: bindingId }, { actorId, eventSource: admin.eventSource });
277
+ if (!attached.startsWith('领地「'))
278
+ throw new SupervisorAttachRejected(attached);
279
+ const identity = [
280
+ sessionId ? `session=${sessionId}` : '未绑定 session',
281
+ modelName ? `model=${modelName}` : null,
282
+ agentName ? `agent=${agentName}` : null,
283
+ ].filter(Boolean).join(',');
284
+ return `已任命主管 ${roleName}(${identity}):${attached}`;
285
+ });
286
+ }
287
+ catch (error) {
288
+ if (error instanceof SupervisorAttachRejected)
289
+ return error.message;
290
+ throw error;
291
+ }
292
+ }
207
293
  /**
208
294
  * v0.4:解绑(换届通道);v0.7.0(M2):**tombstone 退任**(不再物理删除)。
209
295
  * - OWNER 受保护:王国需要常驻 Owner,退任直接拒绝。
@@ -230,28 +316,48 @@ export function unbindRole(store, input, auth) {
230
316
  return `角色 ${binding.role_type}(${binding.role_name})已处于 RETIRED 状态,无需重复退任。`;
231
317
  }
232
318
  const reason = input.reason?.trim() ?? null;
233
- store.retireBinding(binding.binding_id, reason);
234
- store.appendEvent({
235
- event_id: randomUUID(),
236
- kingdom_id: input.kingdomId,
237
- event_type: 'ROLE_UNBOUND',
238
- // v0.5.2 审计修正:actor = 实际操作者(OWNER),target = 被退任的绑定。
239
- actor_role: 'OWNER',
240
- actor_id: admin.ownerControl ? admin.ownerPrincipalId : admin.owner?.binding_id ?? null,
241
- target_type: 'binding',
242
- target_id: binding.binding_id,
243
- payload_json: JSON.stringify({
244
- role_type: binding.role_type,
245
- role_name: binding.role_name,
246
- session_id: binding.session_id,
247
- reason,
248
- status: 'RETIRED',
249
- ...admin.eventSource,
250
- }),
251
- created_at: new Date().toISOString(),
319
+ const actorId = admin.ownerControl ? admin.ownerPrincipalId : admin.owner?.binding_id ?? null;
320
+ // v3.2.0(Owner D1,2026-09-28):退任与「解除该席位的主理关系」必须**同一事务**。
321
+ // 否则会留下「席位已 RETIRED、领地仍指向它」的悬挂责任:后续治理操作一律 fail-closed,
322
+ // 而领地状态自相矛盾。主管席位的领地归属是它的一部分,不能退任后残留。
323
+ return store.withImmediateTransaction(() => {
324
+ // 在写锁内重读归属,避免"读在事务外、潜在已被改绑"的窗口。
325
+ const linked = store.listTerritories(input.kingdomId)
326
+ .filter(territory => territory.status !== 'DELETED' && territory.supervisor_binding_id === binding.binding_id);
327
+ store.retireBinding(binding.binding_id, reason);
328
+ store.appendEvent({
329
+ event_id: randomUUID(),
330
+ kingdom_id: input.kingdomId,
331
+ event_type: 'ROLE_UNBOUND',
332
+ // v0.5.2 审计修正:actor = 实际操作者(OWNER),target = 被退任的绑定。
333
+ actor_role: 'OWNER',
334
+ actor_id: actorId,
335
+ target_type: 'binding',
336
+ target_id: binding.binding_id,
337
+ payload_json: JSON.stringify({
338
+ role_type: binding.role_type,
339
+ role_name: binding.role_name,
340
+ session_id: binding.session_id,
341
+ reason,
342
+ status: 'RETIRED',
343
+ ...admin.eventSource,
344
+ }),
345
+ created_at: new Date().toISOString(),
346
+ });
347
+ const released = [];
348
+ for (const territory of linked) {
349
+ const detail = applyTerritorySupervisor(store, { kingdomId: input.kingdomId, territoryId: territory.territory_id, supervisorBindingId: null }, { actorId, eventSource: admin.eventSource });
350
+ // 领地侧拒绝(例如已被并发改成别的 ACTIVE 主理)→ 抛出,整体回滚退任。
351
+ if (!detail.startsWith('领地「'))
352
+ throw new Error(`SUPERVISOR_RELEASE_REJECTED: ${detail}`);
353
+ released.push(territory.name);
354
+ }
355
+ return `角色 ${binding.role_type}(${binding.role_name},session=${binding.session_id ?? '未绑定'})已退任(RETIRED)` +
356
+ `${reason ? `,原因:${reason}` : ''}。历史记录仍可追溯;该角色席位现在空缺,可重新 kingdom_bind_role。` +
357
+ (released.length
358
+ ? `已同时解除其领地主理:${released.join('、')}(该领地现无主理,fail-closed 直到指派新的)。`
359
+ : '');
252
360
  });
253
- return `角色 ${binding.role_type}(${binding.role_name},session=${binding.session_id ?? '未绑定'})已退任(RETIRED)` +
254
- `${reason ? `,原因:${reason}` : ''}。历史记录仍可追溯;该角色席位现在空缺,可重新 kingdom_bind_role。`;
255
361
  }
256
362
  /**
257
363
  * v0.4:把角色绑定到(或改绑到)某个独立会话,并更新身份预留字段。
@@ -313,6 +419,7 @@ export function rebindSession(store, input, auth) {
313
419
  model_name: after?.model_name ?? null,
314
420
  agent_name: after?.agent_name ?? null,
315
421
  session_meta: after?.session_meta ? JSON.parse(after.session_meta) : null,
422
+ session_evidence: input.sessionEvidence ?? null,
316
423
  ...admin.eventSource,
317
424
  }),
318
425
  created_at: new Date().toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/core/binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/core/binding.ts"],"names":[],"mappings":"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"}