@sema-agent/client-core 0.97.1 → 0.98.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 (281) hide show
  1. package/CHANGELOG.md +408 -0
  2. package/README.md +74 -37
  3. package/dist/adapt/arms.d.ts +1 -0
  4. package/dist/adapt/arms.js +128 -34
  5. package/dist/adapt/ids.d.ts +12 -1
  6. package/dist/adapt/ids.js +59 -8
  7. package/dist/adapt/instanceLedger.d.ts +50 -0
  8. package/dist/adapt/instanceLedger.js +147 -0
  9. package/dist/adapt/textStream.d.ts +1 -0
  10. package/dist/adapt/textStream.js +24 -7
  11. package/dist/adapt/toolCards.d.ts +27 -5
  12. package/dist/adapt/toolCards.js +39 -6
  13. package/dist/adapt/wireShapes.js +6 -2
  14. package/dist/adapt.d.ts +2 -0
  15. package/dist/adapt.js +8 -3
  16. package/dist/adapter/activeRunSelfHeal.d.ts +5 -0
  17. package/dist/adapter/activeRunSelfHeal.js +51 -28
  18. package/dist/adapter/downstream/eventToSdkMessage.d.ts +2 -5
  19. package/dist/adapter/downstream/eventToSdkMessage.js +27 -34
  20. package/dist/adapter/downstream/terminalToSdkResult.js +11 -4
  21. package/dist/adapter/downstream/turnUsageToModelUsage.d.ts +5 -2
  22. package/dist/adapter/downstream/turnUsageToModelUsage.js +2 -0
  23. package/dist/adapter/runStream.js +29 -13
  24. package/dist/adapter/types.d.ts +4 -4
  25. package/dist/agentSession/backgroundView.js +2 -1
  26. package/dist/agentSession/engineAgentRegistryRead.d.ts +2 -2
  27. package/dist/agentSession/engineAgentRegistryRead.js +12 -13
  28. package/dist/agentsWireCaps.d.ts +8 -8
  29. package/dist/agentsWireCaps.js +168 -175
  30. package/dist/approvalDecidedByCapability.d.ts +0 -4
  31. package/dist/approvalDecidedByCapability.js +0 -6
  32. package/dist/approvalsStreamLiveCapability.d.ts +0 -4
  33. package/dist/approvalsStreamLiveCapability.js +0 -6
  34. package/dist/assistantInbox.d.ts +34 -0
  35. package/dist/assistantInbox.js +118 -0
  36. package/dist/centerWiringCapability.js +9 -1
  37. package/dist/clientSlice.d.ts +0 -9
  38. package/dist/clientSlice.js +0 -3
  39. package/dist/cloudConfigWireCaps.d.ts +4 -2
  40. package/dist/cloudConfigWireCaps.js +81 -61
  41. package/dist/compensations.js +1 -1
  42. package/dist/connectorStatus.d.ts +21 -0
  43. package/dist/connectorStatus.js +112 -0
  44. package/dist/controlRouter.d.ts +14 -1
  45. package/dist/controlRouter.js +68 -17
  46. package/dist/coreValuePorts.d.ts +3 -3
  47. package/dist/decideReceipt.d.ts +2 -2
  48. package/dist/decideReceipt.js +5 -2
  49. package/dist/declared/supportFloorDeclared.js +3 -3
  50. package/dist/deviceExecutorManagementCapability.d.ts +0 -4
  51. package/dist/deviceExecutorManagementCapability.js +0 -6
  52. package/dist/deviceRebind.d.ts +49 -1
  53. package/dist/deviceRebind.js +221 -3
  54. package/dist/displayUntrusted.d.ts +1 -0
  55. package/dist/displayUntrusted.js +250 -76
  56. package/dist/engineAgentAbsence.d.ts +1 -1
  57. package/dist/engineAgentPanelStore.d.ts +5 -4
  58. package/dist/engineAgentPanelStore.js +3 -12
  59. package/dist/engineCapReader.d.ts +0 -4
  60. package/dist/engineCapReader.js +1 -5
  61. package/dist/engineCapsCache.d.ts +4 -0
  62. package/dist/engineCapsCache.js +17 -12
  63. package/dist/engineClosedSets.d.ts +1 -0
  64. package/dist/engineClosedSets.js +4 -1
  65. package/dist/engineErrorCodes.d.ts +9 -2
  66. package/dist/engineErrorCodes.js +9 -1
  67. package/dist/engineIdentity.d.ts +1 -0
  68. package/dist/engineIdentity.js +8 -0
  69. package/dist/engineRowRef.d.ts +28 -0
  70. package/dist/engineRowRef.js +111 -0
  71. package/dist/engineSessionMessages.d.ts +67 -0
  72. package/dist/engineSessionMessages.js +364 -0
  73. package/dist/engineToolDirectory.d.ts +0 -9
  74. package/dist/engineToolDirectory.js +1 -94
  75. package/dist/engineUrl.d.ts +18 -0
  76. package/dist/engineUrl.js +52 -0
  77. package/dist/env/uiLanguage.d.ts +9 -0
  78. package/dist/env/uiLanguage.js +35 -0
  79. package/dist/eventLeg.d.ts +92 -0
  80. package/dist/eventLeg.js +285 -0
  81. package/dist/executionLaneCapability.d.ts +0 -4
  82. package/dist/executionLaneCapability.js +3 -16
  83. package/dist/fileHistoryCaptureCapability.d.ts +0 -4
  84. package/dist/fileHistoryCaptureCapability.js +5 -7
  85. package/dist/fleet/fleetLedger.d.ts +0 -3
  86. package/dist/fleet/fleetLedger.js +21 -36
  87. package/dist/fleet/fleetProjection.d.ts +2 -2
  88. package/dist/fleet/fleetProjection.js +10 -8
  89. package/dist/frameBinding.d.ts +5 -0
  90. package/dist/frameBinding.js +23 -0
  91. package/dist/gateFailureCodes.d.ts +2 -0
  92. package/dist/gateFailureCodes.js +15 -0
  93. package/dist/gateOutcome.d.ts +3 -1
  94. package/dist/gateOutcome.js +25 -6
  95. package/dist/gateVocabulary.d.ts +5 -0
  96. package/dist/gateVocabulary.js +64 -2
  97. package/dist/generated/engineAskFaceTables.js +2 -2
  98. package/dist/generated/engineFactTables.d.ts +6 -3
  99. package/dist/generated/engineFactTables.js +22 -4
  100. package/dist/generated/engineNoticeTables.js +9 -0
  101. package/dist/generated/toolNameTables.d.ts +1 -0
  102. package/dist/generated/toolNameTables.js +1 -0
  103. package/dist/hitl/allowRuleShadow.d.ts +6 -1
  104. package/dist/hitl/allowRuleShadow.js +21 -17
  105. package/dist/hitl/approvalCardReading.d.ts +15 -0
  106. package/dist/hitl/approvalCardReading.js +154 -0
  107. package/dist/hitl/approvalCardReasons.d.ts +13 -0
  108. package/dist/hitl/approvalCardReasons.js +120 -0
  109. package/dist/hitl/approvalHolds.d.ts +47 -15
  110. package/dist/hitl/approvalHolds.js +134 -28
  111. package/dist/hitl/approvalResolution.d.ts +51 -26
  112. package/dist/hitl/approvalResolution.js +86 -122
  113. package/dist/hitl/approvalsFeed.js +6 -18
  114. package/dist/hitl/askClassPair.d.ts +2 -0
  115. package/dist/hitl/askClassPair.js +1 -0
  116. package/dist/hitl/askGateWire.d.ts +20 -2
  117. package/dist/hitl/askGateWire.js +49 -1
  118. package/dist/hitl/askParkRowRouting.d.ts +5 -0
  119. package/dist/hitl/askParkRowRouting.js +32 -1
  120. package/dist/hitl/askSettlementLine.d.ts +18 -0
  121. package/dist/hitl/askSettlementLine.js +79 -0
  122. package/dist/hitl/automaticAnswerVerdict.d.ts +1 -1
  123. package/dist/hitl/automaticAnswerVerdict.js +21 -5
  124. package/dist/hitl/crashConverged.d.ts +11 -20
  125. package/dist/hitl/crashConverged.js +56 -0
  126. package/dist/hitl/crashConvergedNotice.d.ts +3 -1
  127. package/dist/hitl/crashConvergedNotice.js +48 -11
  128. package/dist/hitl/decisionConflict.js +3 -10
  129. package/dist/hitl/decisionRefusal.d.ts +40 -1
  130. package/dist/hitl/decisionRefusal.js +199 -42
  131. package/dist/hitl/frameRouter.d.ts +5 -2
  132. package/dist/hitl/frameRouter.js +20 -16
  133. package/dist/hitl/gateLedger.d.ts +2 -0
  134. package/dist/hitl/gateLedger.js +50 -13
  135. package/dist/hitl/hitlBridge.d.ts +1 -2
  136. package/dist/hitl/hitlBridge.js +10 -7
  137. package/dist/hitl/livePendingAsk.d.ts +3 -3
  138. package/dist/hitl/livePendingAsk.js +7 -18
  139. package/dist/hitl/parkResolver.d.ts +2 -24
  140. package/dist/hitl/parkResolver.js +61 -97
  141. package/dist/hitl/persistedRulesWire.d.ts +24 -0
  142. package/dist/hitl/persistedRulesWire.js +122 -2
  143. package/dist/hitl/planReviewWire.d.ts +26 -13
  144. package/dist/hitl/planReviewWire.js +112 -78
  145. package/dist/hitl/refusedToolNameProse.d.ts +0 -1
  146. package/dist/hitl/refusedToolNameProse.js +0 -3
  147. package/dist/hitl/replayedApproval.d.ts +4 -3
  148. package/dist/hitl/replayedApproval.js +7 -4
  149. package/dist/hitl/sessionPolicyDeliverable.js +2 -4
  150. package/dist/hitl/sessionPolicyWire.d.ts +32 -20
  151. package/dist/hitl/sessionPolicyWire.js +162 -52
  152. package/dist/hitl/standingRows.d.ts +20 -2
  153. package/dist/hitl/standingRows.js +69 -8
  154. package/dist/hitl/toolApprovalWire.d.ts +87 -152
  155. package/dist/hitl/toolApprovalWire.js +591 -380
  156. package/dist/hookMatcherVerdict.d.ts +6 -1
  157. package/dist/hookMatcherVerdict.js +14 -7
  158. package/dist/hooksWireCaps.d.ts +2 -2
  159. package/dist/hooksWireCaps.js +59 -55
  160. package/dist/i18n/messages.en.d.ts +121 -0
  161. package/dist/i18n/messages.en.js +119 -0
  162. package/dist/i18n/messages.zh.d.ts +3 -0
  163. package/dist/i18n/messages.zh.js +120 -0
  164. package/dist/i18n/translate.d.ts +25 -0
  165. package/dist/i18n/translate.js +127 -0
  166. package/dist/index.d.ts +53 -20
  167. package/dist/index.js +38 -11
  168. package/dist/inheritEnvCapability.d.ts +31 -0
  169. package/dist/inheritEnvCapability.js +104 -0
  170. package/dist/liveModelCatalog.d.ts +1 -2
  171. package/dist/liveModelCatalog.js +2 -6
  172. package/dist/liveQuestionStore.d.ts +2 -21
  173. package/dist/mcpLiveness.d.ts +2 -1
  174. package/dist/mcpProbeWire.d.ts +6 -1
  175. package/dist/mcpProbeWire.js +1 -1
  176. package/dist/mcpWireCaps.d.ts +13 -2
  177. package/dist/mcpWireCaps.js +48 -0
  178. package/dist/memoryEntriesWire.d.ts +4 -9
  179. package/dist/model/modelSupplyRules.d.ts +0 -2
  180. package/dist/model/modelSupplyRules.js +3 -12
  181. package/dist/model/modelsPolicy.d.ts +0 -5
  182. package/dist/model/modelsPolicy.js +6 -36
  183. package/dist/model/subagentModelWord.d.ts +31 -0
  184. package/dist/model/subagentModelWord.js +261 -0
  185. package/dist/notifications.d.ts +6 -0
  186. package/dist/notifications.js +71 -23
  187. package/dist/outputStyleSeatCapability.d.ts +0 -3
  188. package/dist/outputStyleSeatCapability.js +0 -3
  189. package/dist/ownKey.d.ts +15 -0
  190. package/dist/ownKey.js +60 -3
  191. package/dist/panelReduce.d.ts +15 -9
  192. package/dist/panelReduce.js +680 -549
  193. package/dist/panelStateHolder.d.ts +3 -7
  194. package/dist/panelStateHolder.js +14 -130
  195. package/dist/peerLaneCapability.d.ts +0 -4
  196. package/dist/peerLaneCapability.js +0 -6
  197. package/dist/permissionRulesWriteCapability.d.ts +0 -4
  198. package/dist/permissionRulesWriteCapability.js +0 -6
  199. package/dist/permissionWireCaps.d.ts +2 -2
  200. package/dist/permissionWireCaps.js +2 -0
  201. package/dist/permissionsAllowGrantCapability.d.ts +0 -4
  202. package/dist/permissionsAllowGrantCapability.js +0 -6
  203. package/dist/permissionsDeclaration.d.ts +0 -11
  204. package/dist/permissionsDeclaration.js +60 -53
  205. package/dist/pluginHooksWire.d.ts +1 -1
  206. package/dist/pluginHooksWire.js +3 -6
  207. package/dist/preemptWire.d.ts +44 -0
  208. package/dist/preemptWire.js +83 -0
  209. package/dist/printToolResultFrame.js +15 -4
  210. package/dist/replayBody.d.ts +3 -0
  211. package/dist/replayBody.js +14 -0
  212. package/dist/request/taskRequest.d.ts +0 -1
  213. package/dist/request/taskRequest.js +0 -3
  214. package/dist/resumeRefusalCopy.d.ts +2 -1
  215. package/dist/resumeRefusalCopy.js +38 -2
  216. package/dist/retryStatus.d.ts +8 -0
  217. package/dist/retryStatus.js +106 -1
  218. package/dist/rewindArchiveCapability.d.ts +0 -4
  219. package/dist/rewindArchiveCapability.js +2 -10
  220. package/dist/rewindArchiveReading.d.ts +0 -1
  221. package/dist/rewindArchiveReading.js +0 -3
  222. package/dist/runCancelContext.d.ts +2 -1
  223. package/dist/runCancelContext.js +4 -2
  224. package/dist/runReattachPolicy.d.ts +31 -0
  225. package/dist/runReattachPolicy.js +46 -0
  226. package/dist/runTerminal.d.ts +3 -6
  227. package/dist/runTerminal.js +8 -9
  228. package/dist/sandboxWire.d.ts +3 -1
  229. package/dist/sandboxWire.js +76 -27
  230. package/dist/scenarioWire.js +1 -1
  231. package/dist/seam.d.ts +24 -2
  232. package/dist/seam.js +15 -3
  233. package/dist/seatContract.d.ts +53 -10
  234. package/dist/seatContract.js +132 -81
  235. package/dist/sessionPolicyCapability.d.ts +0 -4
  236. package/dist/sessionPolicyCapability.js +0 -6
  237. package/dist/sessionSyncFileHistoryCapability.d.ts +0 -3
  238. package/dist/sessionSyncFileHistoryCapability.js +0 -3
  239. package/dist/skillToolListsCapability.d.ts +0 -3
  240. package/dist/skillToolListsCapability.js +0 -3
  241. package/dist/sqlEngineCapability.d.ts +0 -4
  242. package/dist/sqlEngineCapability.js +0 -6
  243. package/dist/steerPriorityCapability.d.ts +0 -3
  244. package/dist/steerPriorityCapability.js +0 -3
  245. package/dist/streamDrainingLegs.d.ts +4 -0
  246. package/dist/streamDrainingLegs.js +6 -1
  247. package/dist/subagent/engineCompactWire.d.ts +0 -1
  248. package/dist/subagent/engineCompactWire.js +7 -5
  249. package/dist/subagent/engineTaskHandleWire.js +4 -7
  250. package/dist/subagentContentStore.js +1 -11
  251. package/dist/submitReopen.d.ts +24 -0
  252. package/dist/submitReopen.js +75 -0
  253. package/dist/terminalStatuses.d.ts +3 -0
  254. package/dist/terminalStatuses.js +10 -2
  255. package/dist/toolResult.d.ts +10 -1
  256. package/dist/toolResult.js +34 -6
  257. package/dist/toolRoster.d.ts +0 -2
  258. package/dist/toolRoster.js +0 -2
  259. package/dist/turnFailurePresentation.d.ts +28 -0
  260. package/dist/turnFailurePresentation.js +205 -0
  261. package/dist/userInvokedSkillsCapability.d.ts +0 -3
  262. package/dist/userInvokedSkillsCapability.js +0 -3
  263. package/dist/webSearchBackendCapability.d.ts +0 -4
  264. package/dist/webSearchBackendCapability.js +0 -6
  265. package/dist/wireErrorTriage.js +5 -24
  266. package/dist/wireFailureShape.d.ts +62 -5
  267. package/dist/wireFailureShape.js +105 -5
  268. package/dist/wireRefusalCopy.d.ts +12 -2
  269. package/dist/wireRefusalCopy.js +50 -52
  270. package/dist/workflowsJournalCapability.d.ts +0 -4
  271. package/dist/workflowsJournalCapability.js +0 -6
  272. package/dist/writeProtectionCapability.d.ts +0 -4
  273. package/dist/writeProtectionCapability.js +0 -6
  274. package/docs/INTEGRATION-CLIENTS.md +1253 -46
  275. package/package.json +5 -4
  276. package/dist/attachmentSeatCapability.d.ts +0 -12
  277. package/dist/attachmentSeatCapability.js +0 -23
  278. package/dist/hitl/approvalOutcomeNote.d.ts +0 -10
  279. package/dist/hitl/approvalOutcomeNote.js +0 -29
  280. package/dist/sessionReadRedactionCapability.d.ts +0 -13
  281. package/dist/sessionReadRedactionCapability.js +0 -35
@@ -19,11 +19,11 @@
19
19
 
20
20
  | 项 | 值 | 真源 |
21
21
  |---|---|---|
22
- | 本包 | `@sema-agent/client-core` **0.97.1**(本批发布版 = **patch**:代理工具清单只投可能有工具应答的名(CC-729:`tools` / `disallowedTools` 里服务器不在本跑声明里的 `mcp__` 条目省掉 + 披露一行,读数不在手照投 + 未核行;allow 侧引擎判官判得出的拼法孪生省掉 + 披露)· 本跑声明的 MCP 服务器读口 `engineToolDirectoryOf` 三态 + run 级 `excludeTools` 判官 `excludeToolsAgainstDirectory`(CC-730)· 根公面运行期导出 1639 → 1641 · 新门 agents-wire-directory;零型面 BREAKING;§125)。上一版 0.97.0 = **minor**(型面 BREAKING),终端 1.0.149 对接版:支持底线三件同号 server 7.126.0 / core 7.49.5 / sdk 21.1.0、peer sdk >=21.1.0 · sdk 21 提货(团队编排四键退役 / 审批卡词八词闭集 / 终局 detail 四臂 / 提交幂等 409 / allowTools)· 门种常量转口 sdk(ASK_PARK_GATE_KINDS 退役)· 抛出物机读位只认自有数据位、extra 只认内建 Error 类形 · 码认领先于已决 · 总缓存落地三态与 29 读器 unreadable 臂 · 舰队账本 / 审批已结表单源 · 退役 isFsApprovalGate(0.97.0 退出公面)/ isEngineRefusedToolName(0.97.0 退出公面)/ rememberRefused / ReplayPendingBasis.settled / 改名表;§124)。上一版 0.96.0 = **minor**:**minor**,终端 1.0.148 对接版:支持底线三件同号 server 7.125.0 / core 7.48.0 / sdk 20.0.0 · 设置契约 12 提货 · 清账(0.96.0 窗内欠账按票收口)· 单一真源收口(规则工具名判官 / 门种 → 决断腿一张表 / 结局判法 / 总缓存落地写点 / hooks matcher 契约读法 / 文件历史没搬句与收紧闸)· 会话行改名置顶座位动词 · 服务商拒收分类词;peer sdk 地板 >=20.0.0;型面 BREAKING = CoreValuePorts 换一件(−RETIRED_TOOL_NAMES +judgeRuleToolName)· hookMatcher accepted.names 退役 · 根入口删除名(`retiredToolNames`(0.96.0 退出公面)/ `CONFIG_REFUSAL_CODES`(0.96.0 退出公面)/ 23 只过渡口,§2z)· 终局读数带 replay 位 · 舰队行 workspaceSnapshot 只认 failed;§123)。上一版 0.95.0 = **minor**:**minor**,终端 1.0.147 对接版:引擎 7.48 / 服务端 7.124 / 设置契约 11 / sdk 19 提货 · 面板行归约口 · 能力位读器族与终态词表收口 · 审批成因闭集与排空期重开 · 审批卡跨腿持有 · 技能工具表随能力位上 wire · 0.95.0 窗内欠账按票收口;peer sdk 地板 >=19.0.0;型面 BREAKING = 终态词表 / 谓词改名带属主 · absent 退词 · 七条过渡臂退役;§122)。上一版 0.94.0 = **minor**:终端 1.0.146 对接版:引擎 7.45 – 7.47 / 服务端 7.120 – 7.122 / 配置层 10 / sdk 18.1 提货 · 请求装配与审批判定归包 · 到期登记物按预告硬删 · 凭据遮蔽两件 · 附件信封外套标签;peer sdk 地板 >=18.1.0;型面 BREAKING = RX 五处硬删 · absent 退词 · 七条过渡臂退役 · 必填成员增加三处 · 八处闭集增员;§121)。上一版 0.93.1 = **patch**:耐久停驻审批的决断口单一持有者 —— `surfaceFsApprovalAndDecide` 对同一把审批身份键(行会话 + run + `toolCallId ?? boundCallId`)同时只许一次决断在路上,后到者拿同一结局的拷贝 + `joinedInFlight: true`、自己不呈卡不发决断,任一路中止 = 这一只决断被中断(CC-491)· 活卡 respond 回 `202 parking_in_progress` 读成「停驻中、这一发没生效」:结局 `{ decision: 'unresolved', parking }`、判别口既有 `unsettled` 臂新 cause `parking_in_progress`、包替用户上屏一句、不重发不去键不换名(CC-492);`kind` 联合零破坏,`ApprovalUnsettledCause` 闭集 +1 词(对 cause 做 `never` 穷举的写法编译红一次);`FsApprovalOutcome` 四臂 +1 可选位、`ToolApprovalFrameOutcome` +1 可选位;根公面运行期导出 1485 不变、公面类型名 +1;peer sdk 地板 `>=12.0.1` 不动;服务端夹具现役 7.119.0 不动;§120)。上一版 0.93.0 = **minor**:到期登记物硬删八组(型面 BREAKING;根入口 −21 名;CC-431)· device 车道读器扩到车道三位与 `management` 三态字面、新判据 `deviceLaneOpen`(型面 BREAKING;CC-454)· 审批决定口出处键换名:能力位 `approvalDecidedBy` 读器 / 唯一决定函数 `decisionAttributionKeyOf` / 退役键拒绝臂 `retired_key` / 换名恰重发一次(CC-403 并 CC-451 ②)· 能力位 `permissionModes` 读器与 `dontAsk` 按位发词(CC-451 ③)· 终局 `blocked` 的机读成因 `detail` 与会话规则记录读不到句的第十六句(CC-364)· 连接失败现场判读口 `transportFailureScene`(CC-363)· 交出后台的引擎 Bash 登记 `detectEngineBgShellDetach`(CC-331)· 子代 tick 模型位与 `/health` 配置落地读器 `readEngineConfigApplyState` / 漂移判决 `configDriftVerdict`(CC-323)· 引擎装机 core 版本三态口 `coreVersionTier`(CC-355)· 停泊赎回启动失败成因词位 `startupCause`(CC-244)· workflow 子代审批决定口两只 409(CC-430)· MCP 重拨 `unsettled` 判决臂(CC-429)· 联网搜索密钥头值判臂与来源 `host`(CC-428)· 多成因措辞存量两批(CC-120 / 423 / 422)· 活卡帧键镜像 +3(CC-433)· 会话规则可送判定对空对端段名收紧(CC-437)· 场景指派悬空 503 读口(CC-451 ⑤)· 重试覆盖层 429 不再渲成额度耗尽(CC-473)· 展示出口先洗后折(CC-472)· 弃用预告一名三位(CC-309 / 431)· 开发依赖引擎 `~7.44.0` 与生成表(CC-427)· 其余 CC-242 / 301 / 295 / 365 / 374;型面 BREAKING 两处 + 四处联合各 +1 员 + 一名三位弃用预告;根公面 1483 → 1485(+23 −21);测试钩 69 → 71;peer sdk 地板 `>=12.0.1` 不动;服务端夹具现役 7.119.0(老一代 7.106.0 – 7.118.0 十一份)、sdk 17.1.0 作下一代见证位;§119)。上一版 0.92.0 = **minor**:自动答复判定收成一只 `automaticAnswerVerdict`(CC-368)· 卡面披露键两代读 `allowRuleShadow`(CC-401)· steer 档位经包 `steerBodyOf` / `fleet.steerPriority` / `readSteerReceipt`(CC-374 并 CC-353)· 能力位读器读数随代际自动失效(CC-377)· 服务端 7.116.0 / sdk 16.2.0 提货 + `CoreValuePorts` +1 必填(CC-371 / 370)· 会话规则可送判定过规则编译器与协议名段判定(CC-381)· 支持底线抬到 server 7.106.0 / core 7.35.2(CC-352 / 380)· 其余 CC-367 / 369 / 373 / 376 / 379 / 366 / 178 / 295 / 407;型面 BREAKING 四处 + 七名弃用预告;根公面 1429 → 1483(+56 −2);测试钩 68 → 69;服务端夹具现役 7.116.0(老一代 7.106.0 – 7.115.0 八份)、7.117.0 与 sdk 16.3.0 作下一代见证位;§118)。上一版 0.91.0 = **minor**:steer 拒收处置句单源 `steerRefusalAdviceOf` / `ControlSafetyError.advice` · `.status` / `steeringRefusedBeforeEngine`(CC-307)· `abortableSleep` / `isAlreadyResolvedFailure` 上根入口(CC-317)· 引擎闭集表 `ASK_EVIDENCE_ABSENCE_VALUES` / `SYSTEM_INJECTION_PRIORITIES` / `READ_DENY_BUILTIN_TIERS` · `READ_DENY_DEFAULT_TIERS` + `parseReadDenyBuiltinTiers` / `MODE_ARBITRATION` + `askSurvivesStandingAnswer`(0.94.0 退出公面)(CC-318 / 327 / 322 ①)· 会话历史 tool_use 错配一族:`_sema_provider_rejection_resend` 归合成终局行、错配键 `rewindOffered`、`readToolHistoryMismatchKey` / `ToolHistoryMismatchRowKey`、`toolHistoryBadTurnSentence`(CC-303 / 304 / 305 / 309 ②)· 投递账本记录 `by` / `share` 与 `deliveryShareOf` / `droppedKeyCount`、`attempted` 的 `{ generation }` + `undeliveredInGeneration`(`PromptDeliveryLedger` 接口 +3 必有成员 —— 型面 BREAKING 第一处;CC-293 / 334)· 崩溃遗留通告 `crashConvergedNotice` / `crashConvergedNeedsHumanSentence` / `NEEDS_HUMAN_REASON_ORDER`(CC-310)· `permissionsDeclarationReport` + `PERMISSIONS_KEPT_REASONS` 与 `PermissionsDeclarationInput.settingsRead` 必填(型面 BREAKING 第二处;CC-314)· `engineCapsSettled(url, { withinMs })` 返回型窄变 `Promise<'settled' | 'timed_out'>` + `disableSkillsDeclarationSettled`(CC-311)· `hookMatcherVerdict`(CC-306)· `sessionPolicyReadNotice`(CC-328)· `inheritEnvRefusalContent` 首段改口(CC-336)· `attachmentsSubmitVerdict`(CC-337)· 展示出口 YAML 块标量整块一枚记号(CC-340)· `mintUserAttachmentEnvelope` / `encodeHumanTurn` / `deliveredUuidsOf` / `imageVisionOf` + 附件席位能力位读器占位形(CC-315 / 297 子集)· 服务端 7.115.0 / sdk 16.1.0 提货:「只续已有会话」按码优先、`checkpointUnsupportedVersionFromError` / `checkpointUnsupportedVersionContent`、`hookMatcherRefusalFromError`、活卡帧与耐久行 `probeReason`、接线回执 `fleet` 段 + `WiringManifestFleetView`(CC-339)· 登记物整治:`permissionRuleIssueDetail` 第三参分句(CC-359)、`rewindSpecForMode` 第三参按纪元位取舍(CC-345 ①)、HITL 桥两处型面 additive 与补偿表 `retireOn` 改台账行号(CC-343)、已知限制档清账(CC-349)· 开发依赖 settings-schema `^8.0.0`(CC-308,不出包)· 根公面 1397 → 1429(+32,零删名);测试钩 63 → 64;公面类型名 964 → 997;超集键 +2(`_sema_provider_rejection_resend` / `_sema_fleet`);peer sdk 地板 `>=12.0.1` 不动;服务端夹具现役 7.115.0(老一代八份)、sdk 16.1.0 进地板见证矩阵;§117)。上一版 0.90.0 = **minor**:引擎 7.40.1 / 服务端 7.113.0 · 7.114.0 / sdk 16 探针提货(通告码册 86 → 85、`readLegacyModeSeedMigrated` 退出公面、`attachments.planModeReminder` 退役、`PromptDeliveryLedger` +2 必有成员 —— 型面 BREAKING 三处;CC-291 / 300)· 云控制面子路径五名(CC-136)· 文件历史一句五态判定与声明事实账本(CC-294)· hooks matcher 工具别名读口(CC-298)· 机读支持底线与 `engineVersionTier`(CC-299)· `settings.permissions` 三桶装配口与 allow 能力位(CC-302)· 「改了重发」错配让位与错误载体铸口(CC-309 ①)· `AttachmentsSpecRefused`(CC-316)· 能力位读数冻结;根公面 1379 → 1397、peer sdk 地板 `>=12.0.1` 不动;§116。上一版 0.89.0 = **minor**:引擎 7.38 提货(开发依赖换钉引擎 `~7.38.2`;通告码册 81 → 86、引擎铸方表接手服务端自铸码的受众,`SERVER_NOTICE_AUDIENCE` 🔧 退出公面(型面 BREAKING,逐名见 §2z);工具轮不完整读器 `readToolTurnIncomplete`、用户输入没被用上读器 `readUserInputUndrained` 与一句 `userInputUndrainedNotice`(`EngineNoticeFactsCode` +3 员,穷尽分支的端编译期红);终局服务商拒绝详情 `readRunTerminal` 的 `failed.detail` 与「改了重发」判定口 `providerRejectionResend`(0.95.0 退出公面);steer 账本 503 `ledger_unavailable` 一张码表三条腿(`ControlSafetyCode` +1 员、子代 steer 结局联合 +1 臂,穷尽分支的端编译期红);省略成因短语口 `taskRequestOmissionCausePhrase`;CC-282);审批四面问类两位 `askClass` / `classes`(三型各 +2 可选位;CC-284);请求键 `disableSkills` 与片段口 `disableSkillsDeclaration`(车道表 45 → 46 行;CC-277);hooks 设置来源条目的唯一执行者与本端跳过口 `settingsHooksKeptLocally`(`PLUGIN_HOOK_REASONS` +5 词、`PLUGIN_HOOK_EXCLUSION_REASONS` +1 词,穷尽分支的端编译期红;CC-287);凭据被拒判官 `isReadCredentialRefusal` 上根入口(CC-289);服务端 7.111.0 两项(接线回执新段 `instructions`、子代转向成功结局 `messageId`;CC-282 余项)与展示出口无标签 `Token <值>` 形照遮(CC-290);根公面 1372 → 1379;测试钩 62 不变;公面类型名 942 → 952;超集键 +1(98 → 99,`_sema_instructions`);peer sdk 地板 `>=12.0.1` 不动;§115)。上一版 0.88.0 = **minor**:展示出口凭据面一次扫描(带凭据的输入上输出字节变、干净文本逐字节同、一轮即不动;CC-247);崩溃收敛 `cause` 认第二个词 `shutdown_before_park`(`CrashConvergedRow.cause` 型联合 +1 词,穷尽分支的端编译期红;CC-218);服务端自铸通告 `server.model_unreachable` 入受众表与事实读器 `readModelUnreachable`(CC-270 ①);开发依赖换钉引擎 `~7.37.1`、放行原因闭集镜像 `GATE_MODE_RELEASE_REASON_WORDS` / `isGateModeReleaseReasonWord`、修复通告事实读器 `readToolTurnRepaired`、通告码册 80 → 81(`EngineNoticeFactsCode` +2 员;CC-272);会话所有者自助记忆抹除 `eraseSessionMemory` / `sessionMemoryEraseOutcome` + 三只闭集镜像(CC-264);registry 同一个 409 的两义判别 `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面)(CC-280);请求键 `requireExistingSession`(车道表 44 → 45 行)与被拒读口 `requireExistingSessionRefusalFromError` / 一句 `requireExistingSessionRefusalContent`(CC-281);投递事实账本 `createPromptDeliveryLedger` + 两只按消息行的读口 `promptKnownUndelivered` / `withoutUndeliveredPrompts`(判据 = 引擎为这次提交建了 run;CC-271);plan 决断台账:离门证据结掉、还没被认领的登记由投递口认领原笔(CC-278);`wiring_manifest` 帧 `fileHistory` 段(`WiringManifestChromeEvent.fileHistory?` / `WiringManifestView.fileHistory?`,超集键 `_sema_fileHistory`;CC-279);根公面 1356 → 1372;测试钩 62 不变;公面类型名 922 → 942;超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§114)。上一版 0.87.0 = **minor**:会话历史 tool_use 错配的自救出路 —— 合成终局错误行超集键 `_sema_tool_history_mismatch`、`EmitContext.offersRewind?` 声明面出路句与连续次数句、根入口两只纯函数 `classifyToolHistoryMismatch` / `resolveToolHistoryRewindTarget`(CC-268);崩溃收敛 needsHuman 行的闭集因由位 `needsHumanReason`(CC-269);停车 fail-soft 同步终帧与结果帧的真因超集键 `_sema_park_failed_reason`(CC-273);workflow 活动台账 / 监视器源的 `authToken` 收取值函数、连线身份按凭证来源认(CC-274);`armDetachCancel` 入参 `authToken` 收取值函数、取件口每调现读(CC-275);chrome 臂 `suspended_reopened`(`ChromeEvent` +1 臂,穷尽分支的端编译期红;CC-276);根公面 1354 → 1356;测试钩 62 不变;公面类型名 922 不变;超集键 +2;peer sdk 地板 `>=12.0.1` 不动;§113)。上一版 0.86.0 = **minor**:引擎 7.34.0 提货两代读法 —— 事实表第二批构建期生成、`GATE_DENIED_BY_WORDS` 两代并集十一词(元素型 `GateDeniedByWord`,`mode` 专句)、门记录权限模式两臂与读口 `gateModeRelease`、通告码册六码与六只事实读器(`EngineNoticeFactsCode` +6)、`STRUCTURED_DETAIL_TYPES` +`read_unestablished`、本人规则店读不出两代读法、`shell_gate_tighten` 改句(CC-249 / CC-245 / CC-230);服务端 7.105.0 提货 —— 会话规则写口拒名码 `rules.legacy_tool_name` 的具名结局与 `isRulesRefusalCode`(CC-251)、门前只读路 401 的 `unauthorized` 态与 `READ_CREDENTIAL_NOT_ACCEPTED_NOTICE`(CC-252);请求键 `approverPosture` 退役、构造期按名拒,两个运行期名字退出根入口(逐名见 §2z)(CC-253);`AskUnresolvableFactsView.remedy?`(CC-254);开发依赖引擎 `~7.36.0`(CC-255 换钉 7.35.0,`CONFIG_REFUSAL_CODES`(0.96.0 退出公面) 8 → 17;CC-261 再换钉 7.36.0),通告码册 73 → 80;`adapt()` 错误信封不再回落读旧名 `result`(CC-221);服务端 7.106.0 提货 —— caps `store` / `centerWiring` 窄读口、SQL 姿态两代读、计费入口 503 `fleet.lease_unavailable` 读口与一句话(CC-250),`executionLane.isolated` 与「本机无 OS 沙箱」判定(CC-256),请求键 `inheritEnv` 与版本闸片段口、两只拒按码出句(CC-257),权限规则表超帽坏项读口与一句(CC-262),工具声明拒按码认领(CC-263),请求体键形拒两张键表读口(CC-265);`-p` 首帧工具来源超集键 `_sema_tools_source` / `_sema_tools_fallback_reason` 与铸口 `printInitToolFaceSupersetKeys`(CC-266),三张估计工具表改为常驻(CC-267);根公面 1310 → 1354;测试钩 60 → 62;公面类型 891 → 922;超集键 +2;peer sdk 地板 `>=12.0.1` 不动(sdk 12.0.1 / 13.1.0 / 14.0.0 / 15.0.0 下本版 `.d.ts` 严格编译均零错误);§112)。上一版 0.85.2 = **patch**:自愈重开两只失败结局带 `errorCode`(这一次重开放弃所依据的那一发失败请求的外层 wire 码,present-iff;判定形不带),重开判决不成功臂 +`_sema_errorCode`(宿主可选铸;宿主重开口抛错时本包铸)(CC-260);自愈腿读错误对象与成功应答记录上的各位收进保护(读不出按缺席,不再 reject;`atMostOnceFailureClass` / `readSteerDelivery`(🔧 0.92.0 退出公面)/ `readSteerReceiptStatus`(🔧 0.92.0 退出公面)不再抛);根公面 1310 不变;公面类型名不变(两个已导出型各多可选位);超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§111)。上一版 0.85.1 = **patch**:请求装配回执省略成因的终端用户向句表 `TASK_REQUEST_OMISSION_CAUSE_NOTICES` 与取句口 `taskRequestOmissionCauseNotice`(与接入方那只 `taskRequestOmissionCauseDetail` 同源于同一成因闭集、逐词不同句;表外 / 读不出 ⇒ 一句通用句,不抛、不回显),接入方那张句表的字面量补挂 `satisfies`(CC-248);plan-review 重开口在「这个会话没有接能显示卡的界面」那一形上答 `{ reopened: false, _sema_noPresentationSurface: true }`,自愈结局两臂带 `noPresentationSurface`、自愈行五句补一句成因,重开前提(宿主为该会话键订阅问题帧端口)成文(CC-258);自愈腿读宿主重开判决收进保护(某一位读不出按缺席,不再 reject),宿主日志 / 探针口抛错不再改变判决;多会话宿主的按会话呈现回执登记口 `registerArmedGateFromQuestionIdFor` 回到根入口(0.72.0 退出公面的名字复活;CC-259);根公面 1307 → 1310;公面类型名不变(两个已导出型各多可选位);超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§110)。上一版 0.85.0 = **minor**:引擎事实表(通告码册 / 受众表 / MCP 注入丢弃原因 / 会话规则翻译判定内部两表)改为构建期生成,`ASK_ORIGIN_WORDS` / `APPROVAL_MANDATE_WORDS` 就是 SDK 导出的数组(不再冻结),四个思考档 / 权限模式型改为 SDK 型的别名,包内单源(CC-230);子代族八入口与两只行停止门收注入 client,写动词失败结局 +`unconfirmed`,`classifySubagentResumeFailure` 同判(CC-236);`sessionPolicyDeliverable` 收可选名册,`SessionPolicyWithheldWhy` 六词 → 七词(CC-228);过渡物退役登记与到期门,`adapt()` 不再认旧名 `attachedFiles`,三个运行期名字退出根入口(逐名见 §2z),`surfaceRememberNotApplied` 撤回退役预告(CC-221);plan-review 决断台账六口,`reopenPlanReviewCard` 按台账拒开(CC-241);会话后台任务停止口 `stopEngineSessionBackground` 与受据归类口 `engineSessionBackgroundReceiptReadingOf`(CC-246);服务端 7.104.0 会话侧:会话存档读不出三载体读口与人话 `corruptSessionContent`、`session.records_skipped` 进册(`SERVER_NOTICE_AUDIENCE` 🔧 0.89.0 退出公面前的三行)、删会话 409 读口、`/decide` 停驻挪动族读口(CC-217 / CC-243);服务端 7.104.0 能力 / 同步体侧:同步 park 新体与 park 行 `result`、`fileHistoryCaptureMode` 认 `on-optional` 与请求词片段口 `fileHistoryDeclarationField`、公钥发现读口 `projectSealedKeyCapability`、折叠粗码 `isStatusDerivedCoarseCode`(CC-243);同名影子对账门按语义判(CC-222);导出存活门读已提交历史(CC-240);根公面 1275 → 1307;测试钩 59 → 60;公面类型 +34;peer sdk 地板 `>=12.0.1` 不动;§109)。上一版 0.84.1 = **patch**:`<system-reminder>` 开标签定位口 `findSystemReminderOpenTag`(CC-210);detach durable-off 400 纯判定 `isDetachDurableOff400`,`detachDurableOffHint` 对读属性会抛的错误对象改回 `null`(CC-219);服务端自铸通告码进码册与受众表 `SERVER_NOTICE_AUDIENCE`(🔧 0.89.0 退出公面;`instructions.source_changed` 回到用户面)+ 事实读器 `readInstructionsSourceChanged`(CC-213);按码派发的通告事实口 `readEngineNoticeFacts` + 派发表 `ENGINE_NOTICE_FACT_READERS`,`readReadRootGrantNotice` 入参型放宽(CC-214);停泊审批决断 422 `parked_resume.startup_failed` 的读口 / 一句话 / 判定与码优先 `isCodeClassifiedGateFailure`(CC-225);拒启会话的窄撤销动词 `removeRefusedSessionRules` 与出路句 `legacyToolNameFailureNoteOf`,`CONFIG_REFUSAL_CODES`(0.96.0 退出公面) 七员 → 八员(CC-229);plan-review 编排三口与两只能力探针收注入 client(CC-209);CC 形 `permission_denials` 收入参只被传输层脱敏过的拒绝 + 超集位 `_sema_tool_input_redacted`(CC-235);凭据读法两处放行收口(CC-234);根公面 1260 → 1275;公面类型 +18;peer sdk 地板 `>=12.0.1` 不动;§108)。上一版 0.84.0 = **minor**:peer sdk 地板 `>=11.3.0` → `>=12.0.1`;后台代理登记读数 —— 读口 / 取代判定 / 归类口 / 登记键桥 / 补行谓词,缺席行下半场(CC-194);读目录授权结论通告读口 `readReadRootGrantNotice`(CC-185);接线回执 `hands` 段 `_sema_hands` + 读口 `handsSeamReadingOf` / `handsSeamDetail`,`handsMountedDetail` 坏入参不再抛(CC-206);陈旧逻辑清扫(CC-223):退役键 `rewind.rewindFiles` 构造期拒收、`WorkflowRunState.agentCount` 改可选、26 个内部件退出根入口、九张公面判定表换只读 Set 子类、十五张判定数组冻结、`resume_at` 文本兼容腿退役;根公面 1278 → 1260;公面类型 +10;§107)。上一版 0.83.6 = **patch**:会话规则记录的无损判定 `sessionPolicyDeliverable` 把引擎会在准备阶段拒启的两类名字(引擎退役名、含 `__` 而不以协议前缀开头的名字)改判「不写」,成因词 `legacy_tool_name`(闭集 5 → 6),引擎说「改名为 X」的退役名带 `currentName` 出路位;`peer_wide` 那句改措辞(判决不变)(CC-226);根公面 1278 不变;peer sdk 地板 `>=11.3.0` 不动;§106)。上一版 0.83.5 = **patch**:展示层出口 `displayUntrusted` 的连接符 ZWJ / ZWNJ 按语境判(🔴 默认形输出字节变)、两只可选开关 `escapeBackslashes` / `blanks` 与标记位置读口 `displayUntrustedMarks`(CC-204);凭据两网的判别视图认孤代理项,机读字节 `errors[]` / 合成终局行同批(CC-207);转义记号在凭据再扫里原子与四处凭据读法存量修复(相对 0.83.4 零新增外泄);hooks 启动模式可选词读口 `SettingsPort.hooksStartupMode()`,安全 / bare 模式下设置来源只发 managed(CC-200),设置来源里同一条 hook 只发一份(CC-208);自愈三条重发结局 +1 可选位 `releaseConfirmedByEngine`、行句按释放证据分说(CC-212);活段接入指引订正;公面类型 +3;peer sdk 地板 `>=11.3.0` 不动;根公面 1278;§105)。上一版 0.83.4 = **patch**:只增 —— plan 审批卡「用户亲手关掉的卡,自动触发不在同一道门上放回屏上」的判定归包(`reopenPlanReviewCard` 加触发者位 `trigger`、拒开位 `dismissedByUser`,409 自愈腿按提交出身替宿主传触发者、结局与整行由包出;CC-201);座位审批请求补强制位 / 强制理由词 / 报价缺席因由 / 出身词四个可选位与过境口 `toolPermissionRequestAskBits`(CC-203);`<system-reminder>` 剥离 / 解包两只口上公面并改线性时间(CC-205);两条展示层接入指引订正;开发依赖引擎 `~7.33.1`;公面类型 +2;peer sdk 地板 `>=11.3.0` 不动;根公面 1277;§104)。上一版 0.83.3 = **patch**:入参 / 来源面 —— hooks 投影加 flag 来源(`--settings` 那一层,排在 local 之后;设置来源 hooks 维持托管在前拼接);规则列举口 `listAllPersistedRules` 入参只要 `list`(`RulesListFacade`,其余四口作可选成员);模型身份认目录缺省(本机读数加宿主报位 `engineAcceptsCatalogDefault`,位 `true` 才算目录可解析);公面类型 +1;peer sdk 地板 `>=11.3.0` 不动;根公面 1273;§103)。上一版 0.83.2 = **patch**:只增 —— 审批卡一族三件(常驻姿态下的放行谓词 `askSurvivesPosture`(0.94.0 退出公面),三态、「不知道」不折成放行;卡上 `mandate` 六词闭集 + 读口 + 每词一句说明,通告码册 +2,开发依赖引擎 `~7.32.0`;停泊卡带出身词 `origin`;CC-193 / CC-195 / CC-196)与后台子代缺席行的判定、计数、sweep 豁免、回收与措辞单源(回收只在后台代理登记确认离场时;CC-194);公面类型 +13;peer sdk 地板 `>=11.3.0` 不动;根公面 1273;§102)。上一版 0.83.1 = **patch**:只增 + 行为订正 —— 展示层安全出口三端单源 `displayUntrusted`(凭据两网 ∘ 字符三网,选项按载体选;CC-112);本包合成的终局行正文与结果帧 `errors[]` 在铸点洗凭据(`errors[]` wire 可见,方向只会更安全)、交互车道合成行带上行类旗,回决备注与子代续跑收据多收双向 / 格式字符(CC-187 / CC-112);会话规则记录的无损判定 `sessionPolicyDeliverable` + 措辞单源 `sessionPolicyWithheldNotice` + 五词成因 `SESSION_POLICY_WITHHELD_WHY`(整批可送才送,首尾带空白的名字比宿主侧更严;CC-117);插件 hook 每轮计划 `hooksWirePlan` + `SettingsPort` 可选读口 `enabledPluginHooks` + `hooksForWire({ plan })`,逐条判「投给引擎 / 本客户端执行 / 如实不跑」、开机「不会执行」清单与 `/hooks` 标注措辞单源(投给引擎那一臂候引擎能力位 `taskSettings.pluginHooks`),设置来源的 `mcp_tool` 与 exec 形 hook 条目不再上请求体、手写的 `plugin` 键剥掉(CC-174);公面类型 +26;peer sdk 地板 `>=11.3.0` 不动;根公面 1254;§101)。上一版 0.83.0 = **minor**:行为面与型面都有 BREAKING —— CC 形消息 24 项按裁定 C-R103 退役名:结果帧 `degraded` / `errorCode` / `model` 与错误信封 `result` → `_sema_model_degraded` / `_sema_error_code` / `_sema_selected_model` / `_sema_salvaged_result`,合成终局行 `isApiErrorMessage` → `_sema_api_error_message`,工具结果记录删过渡名 `toolUseResult`,system 行 `attachedFiles` → `_sema_attached_files`、到达时戳 `timestamp` 与 `isMeta` 删,print 完成通知帧十三键平铺 `_sema_*`,记忆写入改走 chrome 臂 `memory_saved`(新型 `MemorySavedChromeEvent`,`CHROME_ARMS` required);本包只铸新名、端两名并读一版 + 结果帧 CC 键 `terminal_reason` 与读口 `terminalReasonForResult`(CC-175),错误信封知道就铸 `_sema_selected_model` + 转录 id 改 UUID 形(CC-147)+ `SettingsPort` 可选合并读口 `mergedDisableAllHooks`、用户层 `disableAllHooks` 在引擎腿上生效(CC-162)+ 退化审批卡三形拒收改写、`FsApprovalOutcome` 的 `failed` 臂 +可选位 `editRefused`(CC-135)+ 注入件自愈句整族重写 + 联网搜索旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 退出公面,`resolveLiveInitToolFace` 可选 `opts.webSearchStamped`(`LiveInitToolFaceOptions`),endpoint userinfo 律跟服务端 7.101.0(CC-184)+ 公面类型 −4(CC-171)+ 通告码册 69 → 71 与结构化卡白名单 +`read-inbox`(CC-186,开发依赖引擎 `~7.31.0`)+ 合成终局行 `uuid` 改 UUID 形;peer sdk 地板 `>=11.3.0` 不动;根公面 1238;§100)。上一版 0.82.7 = **patch**:只增不改 —— 每请求联网搜索配置的三态判决 `judgeWebSearchSettings` / `webSearchVerdictFromEnv` / `resolveWebSearchVerdict`(与 7.100.0 及以后 server 的受理判官同序同判,认不出的 provider 判形错、不再静默丢段;settings 段凭据注入回调 `apiKeyFor`)+ 措辞单源 `webSearchVerdictMessage`(不回显任何用户配的值)+ 调试日志用 `webSearchEndpointForDisplay`;旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 行为不变、标过渡期,0.83.0 删(CC-182);peer sdk 地板 `>=11.3.0` 不动;根公面 1240;§99)。上一版 0.82.6 = **patch**:只增不改 —— 停泊行上选「本会话允许」却没被记住时与活卡腿同句告知(回体 `rememberApplied: false`,或 server 以会话级放行专属拒绝码拒了 remember 后回退普通批准;其余失败一律未知不告知),回执 `DecideReceiptView` +1 可选位 `rememberApplied`(CC-181);决断落定后与桥重试臂的诊断留痕不再因宿主日志口抛错回流进决断;接入文档改口:server ≥7.100.0 上 park 行卡的 `requiresRealApproval` / `approvalIsMandated` 生效(CC-180,零代码改动);peer sdk 地板 `>=11.3.0` 不动;根公面 1235;§98)。上一版 0.82.5 = **patch**:只增不改 —— print 车道 init 帧工具面名册优先:流包装器 `withPrintInitFrame`(首选接法,init 恒为首行、其后按到达序)/ 判定闸 `createPrintInitGate` / 分类口 `printInitRosterSignal` / 判定口 `decidePrintInitToolFace` / 留痕措辞 `printInitToolFaceDebugLine` + 等待上界 `PRINT_INIT_ROSTER_WAIT_MS`(150 000);回落估计表补 `ListAgents`(7.30.0 及以后的引擎上与 `SendMessage` 同条件)(CC-169);peer sdk 地板 `>=11.3.0` 不动;根公面 1235;§97)。上一版 0.82.4 = **patch**:只增不改 —— park 行审批卡新增门类位 `irreversibleParkGate`(待决行门类恰为 irreversible_ask,今天即生效,门类事实不是保证);`requiresRealApproval` 在待决行顶层带时透传(就绪,待决列表带出后才生效,今天零行为变化)(CC-180);`ApprovalCardRequest` +1 可选位;peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§96)。上一版 0.82.3 = **patch**:只增不改的公面 —— 自愈提示的「保住对话」出路槽 `keepSessionWayOut` 与交互面引擎决断入口开关 `engineDecidePath`(CC-177;两位都不给时措辞与 0.82.2 逐字节同);自愈结局两臂 +机读位 `pendingRowGone`(重开链证实待决项已不在);peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§95)。上一版 0.82.2 = **patch**:只增不改的公面 + 若干行为订正 —— 新增措辞单源 `cloudEffectiveNotices`:云控制面有效配置回体的降级告警 / 预算 / 能力上限三读数(CC-164,四态,不读成 0 或「没有预算」);本机引擎 models 文档在宿主注入本机条目判定 `entryAccepted` 时补 `default` / `tierGroups` / `activeTierGroup`,剔掉会让本机整份拒收的目录引用与判定口不收的条目,去掉 registry 注记键 `origin` / `overridesTeam`(CC-165;结果新增 `modelRefIssues`);计划复核结局机读位 `_sema_planReviewOutcome`(CC-160 ①);停泊审批决断操作起止回调 `onDecideOperation` 与操作句柄 `openDecideOperation`(CC-160 ③);新增超集键 `_sema_planReviewOutcome`;peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§94)。上一版 0.82.1 = **patch**:只增不改的公面 + 若干行为订正 —— 新增读口 15 个(续跑折叠码读口与措辞 / 文件历史捕获读口六口 / 模型身份可解析判据五口 / 自定义代理载荷作废重投口 / 决断失败码「门还在」判定)+ 宿主车道声明 `EmitContext.lane`;新增超集键 `_sema_response_model`(终帧 / 每轮用量)与 chrome 用量两臂 `responseModel`、重开判决 `_sema_decisionInFlight`、自愈结局两臂 `decisionInFlight`、内部臂 `_sema_denial_unclassified`、通知码 +1;行为订正:计划复核决断在飞不重开卡且自愈提示不再教人再决一次(CC-160 ②)、决断出口补折叠句且停泊腿不再把折叠 / 坏档误判已决(CC-154)、执行车道 `in-process` 措辞(CC-153)、`-p` 车道 Bash 良性退出与交互同判(CC-168)、`-p` 工具结果帧补结构化结果(CC-149)、被拒分类词两车道同判(CC-172)、非交互车道子代工具帧(CC-158,宿主声明车道才生效)、终帧被拒清单对账流内拒绝(CC-159)、自定义代理载荷作废重投(CC-161);peer sdk 地板 `>=11.3.0` 不动;根公面 1228;§93)。上一版 0.82.0 = **minor**:只增不改 —— 新增只读读口 17 个 + 1 常量、工具名册行一格 `mountedBy`、turn 错误判决 `http` 臂一格 `storedRowWhere`:`/rewind` 代码档与对话档能不能用由引擎能力位回答(CC-146)、云控制面额度读数三分(CC-150)、装配期「这一条腿有没有手」(CC-152)、续跑拒收按原码判(CC-154);两处既有面行为订正:自动模式分类器拒的类别词由 `permission-rule` 改为 `automode-*` 三词(CC-155,订正 0.81.1)、续跑上下文读不出时引擎点名的那一行不再丢(CC-156);0.81.0 预告的 23 键 + 1 子型删改**改到 0.83.0**(§92y ㉙);零 wire 键、零投影臂;peer sdk 地板 `>=11.3.0` 不动;§92。上一版 0.81.1 = **patch**:被拒分类词读器加第③路(CC-148):引擎「没问过就拒」的工具调用(deny 规则 / 权限模式 / hook / 分类器 / 写保护 —— 无 `settlement` 只有 `gate.disposition.deniedBy`)在 user 工具结果记录与终帧 `permission_denials[]` 上此前恒缺 `_sema_denial_kind` / `toolDenialKind`,现按层名落 `permission-rule`(其中「分类器」一项已由 0.82.0 CC-155 订正)(`ask_resolution` 无结算 / 结算段不成形 / 层名表外仍缺席不猜);交互与 `--print` 两条车道同一只读器;另钉终帧两臂 `_sema_effective_*` 键集不变量 —— 成功臂展开单铸函数、错误信封显式重发,覆盖性钉在返回对象自己的类型上(漏键 / 多键编译期即红)+ 门格判两臂键集相等且值逐字节同,给单铸函数加键时错误臂不会再静默少键(本版无键增减);零 wire 键、零投影臂、根公面 1195;§91。上一版 0.81.0 = **minor**:CC 形消息一张脸(C-R85 / CC-131):user 工具结果记录加 SDK 面键 `tool_use_result`(与过渡键 `toolUseResult` 同引用,删驼峰原定 0.82.0、已改到 0.83.0)+ DS-19 普查门升硬门(键集按语法解析、按 type/subtype 分表;23 键 + 1 子型过渡表到期窗原为 0.82.0、已改到 0.83.0,零常驻豁免)+ CC-145 `/rewind` both 臂改发 `restoreFiles:true`、`projectRewind(pending)` 单参;零 wire 键、零投影臂、根公面 1195;§90。上一版 0.80.2 = **patch**:`conflict.resume_context_unavailable` 的 `staleAfterSec` / `runId` 在真 SDK 上读不到(CC-137:sdk 11.1.0 起 `APIError` 把体上非具名键收进 `extra`,这一码映射成 `ConflictError` 无具名位,读口只读顶层 ⇒ 真调用链恒缺席)⇒ 体源结构位改「顶层有效值优先、`extra` 兜底」三只类型化读口单铸,有具名子类位的三处(`retryAfterSec` × 2 / `allowlist`)行为不变只多兜底,头源 `retryAfterMs` 只读具名位;零 wire 键、零投影臂、根公面 1195;§89。上一版 0.80.1 = **patch**:去键重发判据句按「铸」计(CC-143;§87「带键的体恰一次」作废 → 被铸恰一次,POST 几次随传输层)+ 接入文档段落自带射程限定词自 §88 起向前执法 + 模型预设表 deepseek 项改闭集真名 deepseek-flash(CC-144,C-R82 ①)+ 门里 git 兜底自陈探针(CC-142);零 wire 键、零投影臂、根公面 1195;§88。上一版 0.80.0 = **minor**:🔴 peer sdk 地板 >=11.2.1 → >=11.3.0 + 策略拒的归因上 wire(CC-133:发送面 deny+policy 带 settledBy / 读侧 policy_refused 十三词入 CC 规则桶 / 三错误码读口 / 直连门去键重发恰一次)+ 删除规则后果句归包(CC-132)+ /mcp 详情卡两腿分说归包(CC-134:六档读口 + 九句铸点,同批改口八处说满的话)+ 🔴 终帧旧拼法 `structuredOutput` 按 0.79.1 的宣告删除(只剩 CC 形 `structured_output`);根公面 1195;§87。上一版 0.79.1 = **patch**:终帧结构化产出同帧铸 CC 形 `structured_output`(旧拼法 `structuredOutput` 过渡一版,0.80.0 删;CC-130)+ 写审批 `argsOmitted` 退化卡在无受护写入部署形上重新解得出路径(CC-129)+ 云控制面十值二型经本包第二个入口 `@sema-agent/client-core/registry` 原样转口(根入口零变;CC-128 ①);根公面 1184;§86。上一版 0.79.0 = **minor**:server 7.93.0 过境批 —— peer sdk 地板 >=11.2.1 + 写口回执第六臂 unverified 与 503 体 committed 分臂(CC-124)+ 无 run 可读的 MCP 状态面(CC-74)+ 审批卡 mandated 位(CC-110)+ 请求装配第三车道 utility 与 approverPosture / maxTokens / outputRetries 三键 + print 车道 model 座(CC-116 / 118 / 123)+ 拒因两面分铸与四个机读位(CC-125)+ 模型轮边界划消息界(CC-126)+ 委派结果人类面读口按来源声明体内定位(CC-127)+ sdk 转口三件(CC-128)+ 通告码 memory.project_scope_absent(CC-122);公面 1184;§85。上一版 0.78.2 = **patch**:门的棘轮登记数字单真源 —— 五只门十一格棘轮 + 218 条沿革账搬进 scripts/registry.json、门只读不抄、负控改篡改登记物、下调通道 RATCHET-SLACK、新门 run-registry-test(CC-79 第一期)+ 两格存量松量收掉 + submit-wiring-manifest 门补 count===1 边界格;src 零改动,dist 逐字节同 0.78.1;公面 1154;§84。上一版 0.78.1 = **patch**:两辆并行车收货 + 三张跟进票 —— displayBody 人类面读口 + 围栏解析头尾配对收紧(CC-113)/ MCP 两处「没报」措辞分句(CC-115)/ 记忆治理面五动词调用口(CC-97 b)/ 非流式提交回执接线回执读口 readSubmitWiringManifest(CC-121)/ 三份失败判官抛出物读取收口(CC-119);公面 1154;§83。上一版 0.78.0 = **minor**:peer sdk 地板 >=9.8.1 → >=11.0.1(CC-106)+ 单步写口 200 体按 stillLive 判别联合改读、第五臂 revoked、三型取自 sdk、RulesFacade.write 必填、PersistedRuleLiveness 转口(CC-103)+ DeniedBy 第十词 read_boundary 专句(CC-106 ④)+ excludeAllTools 车道行;型面 BREAKING 三处、行为面同 0.77.2;公面 1143;§82。上一版 0.77.2 = **patch**:出包面结构卫生 —— 构建期 removeComments,dist js / d.ts 零注释(新门 run-dist-comments-test.mjs + 卫生门词表 32 条 + 文档向前执法;CC-100)+ gateDeniedByDetail 表外词兜底句改「本版不认识这个层名」(CC-111 ①);行为 / 型面逐字节同 0.77.1;公面 1143;§81。上一版 0.77.1 = **patch**:外部验收三件回填 —— 读器族边界残留 projectMcpReconnectCapability 只认自有键(CC-107)/ rewind 四子键恰读一次(CC-108)/ 子代输出合并按回体 output.type · retrieval_status 定处置(CC-109,server ≥7.92.0 cursorSemantics 缺席面);型面 additive 一处;公面 1143;§80。上一版 0.77.0 = **minor**:请求装配逐键去向回执 + print 车道补座 + 表外键响亮拒(CC-101,四条行为 BREAKING)/ 会话策略写端口(CC-105)/ 持久规则单步写面(CC-103)/ workflow 子代面板行代际三向恢复(CC-104,零改码)/ 能力位读器族口径整族改齐 + 外部验收 F-A / F-B 处置 + 合并树异源复审两轮处置;公面 1143;§79。上一版 0.76.2 = **patch**:制品卫生 —— 清 dist 重 build 去掉两只已撤出源码的编译产物 + dist ⇄ src 对账门;零源码 / 零型面 / 零行为改动;公面 1122;§78。上一版 0.76.1 = **patch**:能力位读器工厂(CC-75)/ MCP 活性观察读口(CC-36)/ `capabilities.peerLane` · `permissionRulesWrite` 四态读口(CC-102)/ 记忆治理面两只读口 + 三只条目面回体读口(CC-97 a)/ 主车道证明逐次新建(CC-99)+ 修 0.76.0 的 F1 / F2(身份四键一次性快照只修了投影口一侧);公面 1122;§77。上一版 0.76.0 = **minor**:六票一批 —— `prompt_assembled` 投影臂 / 审批 feed 三态(**型面 BREAKING**)/ `ApprovalResolution` 单源联合 / 记忆 spec 读口 / 终态词表上游钉 / `tasks_expand` 退役(**型面 BREAKING**),外加身份四键一次性快照(跨全部内部臂);公面 1081;§76。上一版 0.75.1 = **patch**:面板短命子代反序缓行放不出的残洞(外部复验 D1)+ 同代 running 帧三向定形(B4)+ #969 提货 `spawnName` 透传与 `agentType` 改读诚实来源(CC-95);§75。上一版 0.75.0 = **minor**:压缩的非 compacted 结局上 chrome 面 `compaction_outcome`(新内部臂 —— 自建 print 出口的端先表态)+ peer sdk 地板 `>=9.8.1`;型面 additive(ChromeEvent +1 臂)、公面 1065、零 wire 新键;§74。上一版 0.74.5 = **patch**:core 7.24.0 提货 `_sema_freed_tokens?` + 首见即终态的行零事件(幽灵完成行)+ `isNewEngineAgentPanelCycle` / `approvalOutcomeNoteOf` 上公面;型面 additive、公面 1065、peer 不动;§73。上一版 0.74.4 = **patch**:面板键「先发布的键为准」(tick 归不了一的三序不再两行)+ 前代 UUID 迟到 tick 丢弃 + `readRunCancelContext` 下钻收紧;型面 additive、公面 1061、peer 不动;§72。上一版 0.74.3 = **patch**:面板子代身份归一(tick / end 的 UUID 归到 fleet 尾段,宿主零改)+ run 记录 `cancelContext` 读口与成因四词 + workflow 行 `errorCode` + reopen 第二臂两件;型面纯 additive、公面 1061、peer 不动;§71。上一版 0.74.2 = **patch**:`capabilities.deviceExecutor.management` 四态读口(缺席 ≠ false;`deviceExecutor: false` = 车道缺席;管理动词可用性三态归包);公面 1052;§70。上一版 0.74.1 = **patch**:审批卡无决断收口 + 结局回交;§69。上一版 0.74.0 = **minor**:peer sdk 地板 >=9.7.1 + covers 过境 + 面板周期身份 + 离场读口;§68。上一版 0.73.5 = **patch**:workflow 规模告警判定上收进包(`evaluateWorkflowSize` 三态:未知的规模不当作规模正常;分母口径与帽优先级单源;env 读口纯函数);型面纯 additive、公面 1044、peer 不动;§67。上一版 0.73.4 = **patch**:终帧 `permission_denials` 第三键 ⇐ 同一条流 `tool_start` 入参按 `toolCallId` join(三道闸;join 不上留 sema 载体;🔴 更正 0.73.2「自动升级收口」一句)+ 审批 feed push 侧取件失败的欠账退避重试;型面纯 additive、公面 1033、peer 不动;§66。上一版 0.73.3 = **patch**:CC-61 sdk 9.7.1 提货 + `capabilities.approvalsStreamLive` 四态读口(缺席 = 判不出;`livePendingNeedsReconcile` 只在引擎明说会推时才让对账节拍降兜底)+ CC-60 五条模型面文案锚包侧半场(cursorSemantics 机读位 / result 行注记 / bash 首行两变体与良性槽 / 通知 seed 并集 / parked 臂);型面纯 additive、公面 1032、peer 不动;§65。上一版 0.73.2 = **patch**:CC-59 悬挂 ask 全卡 —— `livePending[].frame`(server ≥7.87.0)两道闸窄读进视图,在场即走流内帧腿同一条路(入参可见、改写可转发),缺席保持盲卡;CC-34 收口(引擎半场随 7.87.0 到货,判据交黑盒);型面纯 additive、公面 1026、peer 不动;§64。上一版 0.73.1 = **patch**:CC-57 `decidePlanReview` outcome 尾句按「决断有没有生效」四态选(单铸点 `planReviewOutcomeTail`;此前本地拒发仍让模型汇报已拒绝)+ CC-56 cancel 的 409 按机器码分家(`cancelConflictFromError` 三形 / 新安全码 `cancel_run_not_running`)与提交面 429 用量窗读口 + 人话;型面纯 additive、公面 1026、peer 不动;§63。上一版 0.73.0 = **minor,型面 BREAKING**:fleet 视图八个数值键改可选 —— CC-52 `FleetTaskView.elapsedMs` / `tokens` / `queuedCount` 与 `FleetWorkflowView.doneCount` / `totalCount` / `failedCount` / `tokens` / `elapsedMs` 不再 `?? 0`(有键 = 真值含真 0,缺键 = 不知道;逐键缺席语义见 §62b)+ 台账补偿链无基数不铸;公面导出名零增减 1019、零 wire 变化、peer 不动;§62。上一版 0.72.14 = **patch**:悬挂的流内 ask 拉半场 —— CC-55 `startApprovalsFeed` 快照加 `livePending` 段并进变化摘要(键缺席 = 未报,不铸空)+ 视图 / 去重账 / 与流内帧腿同链的决断口(入参不可见上卡明说、改写不转发)+ 宿主闸对账节拍 + 待决计数读口(不知道 = null);型面纯 additive、公面 1019、peer 不动;§61。上一版 0.72.13 = **patch**:server 7.86.0 提货 —— CC-46 plan_review `permissionModeAfter` 发口(三选卡双闸:宿主声明只读起步 ∧ 引擎 ≥7.86.0;400 field_conflict 两种处置)+ CC-54 `capabilities.executionLane` 四态读面(键缺席 ≠ 不是本机车道;`toolsRunHere` 判据归包)+ CC-53 detach 版本闸三态;型面 additive(另撤回 0.72.12 的主通道 `absent` 臂,改独立缺席订阅口)、公面 1011、peer 不动;§60;**预告 0.73.0 BREAKING**:fleet 视图数值键改可选。上一版 0.72.12 = **patch**:「缺席被折成正向终态」按类清剿 —— CC-50 M1 头条(fleet 行缺席改发 `absent` 不再铸 `end{isError:false}`)+ 六站一次改齐(缺席 ⇒ `unknown`)+ 结果边界 fail-closed 取舍 + `_sema_outcome` + `Outcome unknown:` 行 + CC-51 M6(default 臂不再谎报 running)+ 普查门 + DS-06;型面 additive、公面 993、peer 不动;行为面三处真变化见 CHANGELOG 取舍段;§59。上一版 0.72.11 = **patch**:core 7.23.0 提货 —— CC-49 通告码 66 → 67 `config.write_protection_unresolved`(operator;兄弟码 `target_view_absent` = 没有视图,这枚 = 有视图解析不出)+ `permission_denials` 自动升级腿通电(`gates[].toolCallId` ⇒ `tool_use_id`;CC-34 引擎半场);型面零变化、公面 989、peer 不动、devDep core ~7.23.0;§58。上一版 0.72.10 = **patch**:CC-41 leader run 终局 `needs_human` + `result.conflict` 三形读面(none 缺席不可分 / unreadable 在场读不懂 / conflict;`salvaged[]` 原样给落盘口;措辞单源不提重试);型面纯 additive、公面 989、peer 不动;§57。上一版 0.72.9 = **patch**:server 7.85.0 提货 —— CC-30 会话内 MCP re-dial 消费口(`reconnectMcpServer` 三态 / unsupported 恒五键 / 交易文案单源)+ CC-39② memory-status `autoConsolidationArmed` 三态 + CC-45 resume 补充句渲保留秒数;型面纯 additive、公面 985、peer 不动;§56。上一版 0.72.8 = **patch**:清账三票 —— `memory:"off"` 请求键(CC-39③,server 7.84.0 S-405)+ `runStream` 第二条中性臂 `Model output error:`(CC-43)+ 注入件撞活 run 自动 steer 零卡(CC-44);型面纯 additive、公面 977、peer 不动;§55。上一版 0.72.7 = **patch**:core 7.22.0 提货 —— 通告码 66 `mcp.server_redialed` + 读器 `readMcpServerRedialed` + `wiring_manifest.readDeny` 第九段 `_sema_readDeny`(缺席 = 没有内置行判这条腿);型面纯 additive、公面 971、peer 不动、devDep core ~7.22.0;§54。上一版 0.72.6 = **patch**:cli L-379 包侧半场 —— `steerFollowIntent` steer 后续听意图三态(tail / after-decision / after-wake)+ `activeRunSelfHealRow` 续听声明第五参;型面纯 additive、公面 969、peer 不动;§53。上一版 0.72.5 = **patch**:server 7.82.1 提货 —— `capabilities.webSearch.backend` 部署默认 WebSearch 后端四态读面(键缺席 = 老引擎判不了 ≠ `none`);型面纯 additive、公面 968、peer 不动;§52。上一版 0.72.4 = **patch**:core 7.21.x 三件经 server 7.82.0 提货 —— `wiring_manifest.autoConsolidation` 第八段 `_sema_autoConsolidation`(缺席 = indeterminate 不折 false);型面纯 additive、公面 962、peer 不动;§51。上一版 0.72.3 = **patch**:core #863 记忆单系统半场 ① —— `projectAgentsForWire` 投影 `agents[].memory`(user|project|local 三词同映射引擎平面 agent:<type>);型面纯 additive、公面 962、零 wire 新键、peer 不动;§50。上一版 0.72.2 = **patch**:workflow 视图两票 —— `LiveWorkflowController.resolution()` 六态(snapshot() 的 null 三义拆开)+ `noteOwnWorkflowRun` own 台账同拍登记;型面纯 additive、公面 961、零 wire 键、peer 不动;§49。上一版 0.72.1 = **patch**:server 7.80.1 提货 —— 409 `conflict.resume_context_unavailable` 结构读数(`staleAfterSec` / `runId`;sdk 9.6.0 尚未带键,经 sdk 今天恒缺席)+ `SkillSpec.baseDir`(只在本机车道带);型面纯 additive、公面 960、peer 不动;§48。上一版 0.72.0 = **minor**:型面 BREAKING —— 39 个零消费导出退出公面(CC-32 退役批,[7419] §45 预告 / cli [7422] 同意 / web-client·desktop 过节拍沉默 = 同意;名单见 §47a S-1);运行期零 BREAKING、公面 956、peer 不动、devDep core ~7.20.1;随批:已退役名账 `removed` + export-liveness 门 G 段 + 冻结账门 ⑧c;§47。上一版 0.71.4 = **patch**:core 7.20.1 提货 —— `ENGINE_NOTICE_CODES` 65 + `wiring_manifest.writeProtection` 第七段 `_sema_writeProtection`;型面纯 additive、公面 995、peer 不动、devDep core `~7.20.1`;§46。上一版 0.71.3 = **patch**:门体系清账批 —— CC-24 export-liveness 门 + 39 个导出退役预告(0.72.0 删,表态制)/ CC-26 `as unknown as` 铸链棘轮 / CC-25 冻结账门 ⑧ 段 / CC-06 B-081 包侧半场(终帧 `_sema_effective_reasoning` / `_sema_effective_memory_scopes` + resume reopen 族 + `routePairingVerdict`);型面纯 additive、公面 986 → 995、peer 不动;§45。上一版 0.71.2 = **patch**:接入方验收两票归包 —— CC-28 B-132 decide 拒体三句去内部车道词 / CC-29 B-133 committedUuids 唯一性(重复 ⇒ 形 f);零型面变化、公面 986、peer 不动;§44。上一版 0.71.1 = **patch**:接入档打回修正 —— CC-27 `ApprovalCardRequest.readRootCandidate?` 帧→卡透传位 + 新导出型 `ReadRootCandidateView`;型面纯 additive、公面 986 不变、peer 不动;§43。上一版 0.71.0 = **minor**:型面 BREAKING 六件 —— peer sdk 地板 >=9.6.0 + agent-types >=0.3.0 / `SkillsListingTruncatedFactsView` 删 `requestedBudgetBytes?`·`laneClamped?` / `WiringManifestMcpEntry` → `WiringManifestMcpEntryView` / `MAX_AGENT_SKILLS` 删 / `decide.workflow_host_not_parked` 退役;运行期零 BREAKING。内容:core 7.20.0 提货(闭集 +5 六十四码)/ 🔴 CC-16 `text_segment_end.committedUuids[]` / CC-08 全五件(tool_disclosure / tool_progress 两 chrome 臂、wiring_manifest tools·hooks·lsp 进切片、tool_roster_delta 接上、context_usage 进切片、`readRootCandidate` 镜像)/ CC-19 `mcpEngineLegPresence` 归包 / CC-20 not_parked clean-cut;公面 986;§42 / 42y 八条)|
23
- | peer:wire 契约 | `@sema-agent/sdk` **>=21.1.0**(value-level,非 type-only;🔴 **0.97.0 抬版**(CC-715,与服务端 7.126.0 / 引擎 7.49.5 底线同批;§124 PK-1):本包根入口原样转口 sdk 21.1.0 的两只决断口门种常量 `APPROVAL_DECIDE_GATE_KINDS` / `PLAN_REVIEW_GATE_KINDS`(21.0.0 上不存在 ⇒ 运行期 import 失败),门种判官由它们的构建期生成物派生,终局失败详情按 sdk 21 三臂联合读,审批卡词取 sdk 卡词闭集;此前 **0.96.0 抬版**(C-R432 ①,与服务端 / 引擎底线同号;§123 PA-1):本包源码读 sdk 20 的舰队行型 `workspaceSnapshot` 声明(19.x 上源码编译红),终帧读口按 sdk 20 五臂联合 `DoneFrameResult` 的窄化序读重放体;已发 `.d.ts` 对装 19 / 20 的消费方都编得过(两视角实测见 §123 PA-1),抬地板是支持承诺随服务端 7.125.0 锁步;此前 **0.95.0 抬版**(C-R389 ② / C-R390;§122 PK7-1):公面型取 sdk 19 的 `AskRowEndingCause` / `ApprovalSettleCause`、审批成因闭集经包根常量取,18.x 失去物料见证;此前 **0.94.0 抬版**:请求面权限模式六词、审批出处键型 `ApprovalDecidedBy`、取消成因三词 / 状态派生粗码 / 410 DENIED 组那一词都改取 sdk(17.x / 18.x 起声明;三只运行期常量经构建期生成物取),12.0.1 – 18.0.x 不再支持,§121 SP2-7;此前 **0.84.0 抬版**:12.x 声明每会话后台登记列表 `sessions.background`、能力位 `capabilities.background.listFace` 与七词闭集的后台状态型,本包三者都读(登记读口的端点门与归类口的编译期穷举),按 12.0.1 编译,11.3.0 失去物料见证;0.84.1 / 0.85.0 / 0.85.1 / 0.85.2 / 0.86.0 / 0.87.0 / 0.88.0 / 0.89.0 / 0.90.0 不动(0.86.0:sdk 14 的三处型面 BREAKING 本包已按结构读覆盖,本版 `.d.ts` 在 sdk 12.0.1 / 13.1.0 / 14.0.0 / 15.0.0 下严格编译零错误,§112y;0.90.0:地板见证矩阵改为路径列表 —— 开发依赖 12.0.1 + 15.0.0 / 15.2.0 / 15.3.0 / 16.0.0 探针树逐份验,`.d.ts` 对 sdk 16.0.0 严格编译零错,§116 SD-1)。此前 **0.80.0 曾抬到 >=11.3.0**:11.3.0 在两条回决口体上声明 `settledBy?: "policy"`、`Settlement.kind` 第十三词 `policy_refused` 与三错误码(0.80.0 至 0.83.6 都在这条地板上);**0.79.0 曾抬到 >=11.2.1**:11.2.x 声明 `capabilities.mcpProbe`、`mcpCapabilities` / `probeMcp` + `McpProbeFace`、写回执第三支 `stillLive: "unknown"`,11.2.1 再补 `TaskRequest.approverPosture` 与审批帧键 `mandated`(型面 + 运行期键锚),本包按 11.2.1 编译,11.0.1 失去物料见证;**0.78.0 曾抬到 >=11.0.1**:11.x 声明 `DeniedBy` 第十词 `read_boundary`、`rules.write` 200 体按 `stillLive` 判别联合、`RemovalLiveness` / `RuleWriteRequest` / `RuleWriteResult` / `RuleWriteBehavior` 包根导出、`TaskRequest.excludeAllTools`,本包按 11.0.1 编译,9.8.1 失去物料见证;**0.75.0 曾抬到 >=9.8.1**:9.8.x 声明 `Capabilities.deviceExecutor.management?`,9.7.1 失去物料见证;**0.74.0 曾抬到 >=9.7.1**:9.7.x 追平的六处型面是本包 0.73.3 起的编译基线,且 9.6.0 失去物料见证;**0.71.0 曾抬到 >=9.6.0**:`tool_disclosure` / `tool_progress` 两帧型与 `ToolApprovalFrame.readRootCandidate` 自 9.6.0 起;0.69.0 曾抬到 >=9.4.0(`reasoning_end` / `lastLegMcp`),0.60.0 抬到 >=8.4.0;地板由 `scripts/run-sdk-floor-test.mjs` 的 `FLOOR` 与 public-surface 门 C-CC-3「不低于见证到的最低实装版」双钉)| `package.json` `peerDependencies` |
22
+ | 本包 | `@sema-agent/client-core` **0.98.0**(本批发布版 = **minor**(型面 BREAKING):清账版 —— 退役账在册过渡臂与同轴孪生整批退役(型面 BREAKING 三组:typeshadow 改名 / 转口、hitl 旧五型三口 → `ApprovalResolution`、text 句表单源的旧句口)· 句表单源(持久规则人话五口 · 卡面三行说明读口 · 崩溃遗留逐行句 · 结局成因一行句表 · `policy` 出身句补半边 · 退出码 137 归因句 · 工具结果卡「未执行」位)· 事件腿组合器 `composeEventLeg`(三腿闭集、拒收 / 绑定 / HITL 分派)· 引擎地址一处真源 · 流式提交同键有界重开 · 抛出物读法单源 · turn 失败呈现与重连预算(第一程)· 重试行人话单源 `retryStatusNotice` · 会话规则收紧 / 撤销闭集 · 接替卡去向 `priorAnswerOutcome` · `LocalSessionRecord.parked` 三值 · 内建子代理名表 `BUILTIN_SUBAGENT_TYPES` · 提货 server 7.129.1 / sdk 23.0.2 / core 7.51.2(peer sdk ^23.0.2)· 支持底线 server 7.129.1(C-R498 ②,收回 7.126–7.128)· 退役账到期九行硬退(C-R498 ①)+ RL-117 / 119 / 142–144 / 164(C-R500:deny 侧扣送与目录省略照删)· 授予绑定三态按载体读(CC-660;技能工具不给整工具「以后别问」)· 发版复审两轮两腿修复;§126)。上一版 0.97.1 = **patch**(代理工具清单只投可能有工具应答的名 CC-729 · 本跑声明的 MCP 服务器读口 `engineToolDirectoryOf` 与 run 级 `excludeTools` 判官 CC-730;零型面 BREAKING;§125)。上上版 0.97.0 = **minor**(型面 BREAKING),终端 1.0.149 对接版:支持底线三件同号 server 7.126.0 / core 7.49.5 / sdk 21.1.0、peer sdk >=21.1.0 · sdk 21 提货(团队编排四键退役 / 审批卡词八词闭集 / 终局 detail 四臂 / 提交幂等 409 / allowTools)· 门种常量转口 sdk(ASK_PARK_GATE_KINDS 退役)· 抛出物机读位只认自有数据位、extra 只认内建 Error 类形 · 码认领先于已决 · 总缓存落地三态与 29 读器 unreadable 臂 · 舰队账本 / 审批已结表单源 · 退役 isFsApprovalGate(0.97.0 退出公面)/ isEngineRefusedToolName(0.97.0 退出公面)/ rememberRefused / ReplayPendingBasis.settled / 改名表;§124)。上一版 0.96.0 = **minor**:**minor**,终端 1.0.148 对接版:支持底线三件同号 server 7.125.0 / core 7.48.0 / sdk 20.0.0 · 设置契约 12 提货 · 清账(0.96.0 窗内欠账按票收口)· 单一真源收口(规则工具名判官 / 门种 → 决断腿一张表 / 结局判法 / 总缓存落地写点 / hooks matcher 契约读法 / 文件历史没搬句与收紧闸)· 会话行改名置顶座位动词 · 服务商拒收分类词;peer sdk 地板 >=20.0.0;型面 BREAKING = CoreValuePorts 换一件(−RETIRED_TOOL_NAMES +judgeRuleToolName)· hookMatcher accepted.names 退役 · 根入口删除名(`retiredToolNames`(0.96.0 退出公面)/ `CONFIG_REFUSAL_CODES`(0.96.0 退出公面)/ 23 只过渡口,§2z)· 终局读数带 replay 位 · 舰队行 workspaceSnapshot 只认 failed;§123)。上一版 0.95.0 = **minor**:**minor**,终端 1.0.147 对接版:引擎 7.48 / 服务端 7.124 / 设置契约 11 / sdk 19 提货 · 面板行归约口 · 能力位读器族与终态词表收口 · 审批成因闭集与排空期重开 · 审批卡跨腿持有 · 技能工具表随能力位上 wire · 0.95.0 窗内欠账按票收口;peer sdk 地板 >=19.0.0;型面 BREAKING = 终态词表 / 谓词改名带属主 · absent 退词 · 七条过渡臂退役;§122)。上一版 0.94.0 = **minor**:终端 1.0.146 对接版:引擎 7.45 – 7.47 / 服务端 7.120 – 7.122 / 配置层 10 / sdk 18.1 提货 · 请求装配与审批判定归包 · 到期登记物按预告硬删 · 凭据遮蔽两件 · 附件信封外套标签;peer sdk 地板 >=18.1.0;型面 BREAKING = RX 五处硬删 · absent 退词 · 七条过渡臂退役 · 必填成员增加三处 · 八处闭集增员;§121)。上一版 0.93.1 = **patch**:耐久停驻审批的决断口单一持有者 —— `surfaceFsApprovalAndDecide` 对同一把审批身份键(行会话 + run + `toolCallId ?? boundCallId`)同时只许一次决断在路上,后到者拿同一结局的拷贝 + `joinedInFlight: true`、自己不呈卡不发决断,任一路中止 = 这一只决断被中断(CC-491)· 活卡 respond 回 `202 parking_in_progress` 读成「停驻中、这一发没生效」:结局 `{ decision: 'unresolved', parking }`、判别口既有 `unsettled` 臂新 cause `parking_in_progress`、包替用户上屏一句、不重发不去键不换名(CC-492);`kind` 联合零破坏,`ApprovalUnsettledCause` 闭集 +1 词(对 cause 做 `never` 穷举的写法编译红一次);`FsApprovalOutcome` 四臂 +1 可选位、`ToolApprovalFrameOutcome` +1 可选位;根公面运行期导出 1485 不变、公面类型名 +1;peer sdk 地板 `>=12.0.1` 不动;服务端夹具现役 7.119.0 不动;§120)。上一版 0.93.0 = **minor**:到期登记物硬删八组(型面 BREAKING;根入口 −21 名;CC-431)· device 车道读器扩到车道三位与 `management` 三态字面、新判据 `deviceLaneOpen`(型面 BREAKING;CC-454)· 审批决定口出处键换名:能力位 `approvalDecidedBy` 读器 / 唯一决定函数 `decisionAttributionKeyOf` / 退役键拒绝臂 `retired_key` / 换名恰重发一次(CC-403 并 CC-451 ②)· 能力位 `permissionModes` 读器与 `dontAsk` 按位发词(CC-451 ③)· 终局 `blocked` 的机读成因 `detail` 与会话规则记录读不到句的第十六句(CC-364)· 连接失败现场判读口 `transportFailureScene`(CC-363)· 交出后台的引擎 Bash 登记 `detectEngineBgShellDetach`(CC-331)· 子代 tick 模型位与 `/health` 配置落地读器 `readEngineConfigApplyState` / 漂移判决 `configDriftVerdict`(CC-323)· 引擎装机 core 版本三态口 `coreVersionTier`(CC-355)· 停泊赎回启动失败成因词位 `startupCause`(CC-244)· workflow 子代审批决定口两只 409(CC-430)· MCP 重拨 `unsettled` 判决臂(CC-429)· 联网搜索密钥头值判臂与来源 `host`(CC-428)· 多成因措辞存量两批(CC-120 / 423 / 422)· 活卡帧键镜像 +3(CC-433)· 会话规则可送判定对空对端段名收紧(CC-437)· 场景指派悬空 503 读口(CC-451 ⑤)· 重试覆盖层 429 不再渲成额度耗尽(CC-473)· 展示出口先洗后折(CC-472)· 弃用预告一名三位(CC-309 / 431)· 开发依赖引擎 `~7.44.0` 与生成表(CC-427)· 其余 CC-242 / 301 / 295 / 365 / 374;型面 BREAKING 两处 + 四处联合各 +1 员 + 一名三位弃用预告;根公面 1483 → 1485(+23 −21);测试钩 69 → 71;peer sdk 地板 `>=12.0.1` 不动;服务端夹具现役 7.119.0(老一代 7.106.0 – 7.118.0 十一份)、sdk 17.1.0 作下一代见证位;§119)。上一版 0.92.0 = **minor**:自动答复判定收成一只 `automaticAnswerVerdict`(CC-368)· 卡面披露键两代读 `allowRuleShadow`(CC-401)· steer 档位经包 `steerBodyOf` / `fleet.steerPriority` / `readSteerReceipt`(CC-374 并 CC-353)· 能力位读器读数随代际自动失效(CC-377)· 服务端 7.116.0 / sdk 16.2.0 提货 + `CoreValuePorts` +1 必填(CC-371 / 370)· 会话规则可送判定过规则编译器与协议名段判定(CC-381)· 支持底线抬到 server 7.106.0 / core 7.35.2(CC-352 / 380)· 其余 CC-367 / 369 / 373 / 376 / 379 / 366 / 178 / 295 / 407;型面 BREAKING 四处 + 七名弃用预告;根公面 1429 → 1483(+56 −2);测试钩 68 → 69;服务端夹具现役 7.116.0(老一代 7.106.0 – 7.115.0 八份)、7.117.0 与 sdk 16.3.0 作下一代见证位;§118)。上一版 0.91.0 = **minor**:steer 拒收处置句单源 `steerRefusalAdviceOf` / `ControlSafetyError.advice` · `.status` / `steeringRefusedBeforeEngine`(CC-307)· `abortableSleep` / `isAlreadyResolvedFailure` 上根入口(CC-317)· 引擎闭集表 `ASK_EVIDENCE_ABSENCE_VALUES` / `SYSTEM_INJECTION_PRIORITIES` / `READ_DENY_BUILTIN_TIERS` · `READ_DENY_DEFAULT_TIERS` + `parseReadDenyBuiltinTiers` / `MODE_ARBITRATION` + `askSurvivesStandingAnswer`(0.94.0 退出公面)(CC-318 / 327 / 322 ①)· 会话历史 tool_use 错配一族:`_sema_provider_rejection_resend` 归合成终局行、错配键 `rewindOffered`、`readToolHistoryMismatchKey` / `ToolHistoryMismatchRowKey`、`toolHistoryBadTurnSentence`(CC-303 / 304 / 305 / 309 ②)· 投递账本记录 `by` / `share` 与 `deliveryShareOf` / `droppedKeyCount`、`attempted` 的 `{ generation }` + `undeliveredInGeneration`(`PromptDeliveryLedger` 接口 +3 必有成员 —— 型面 BREAKING 第一处;CC-293 / 334)· 崩溃遗留通告 `crashConvergedNotice` / `crashConvergedNeedsHumanSentence` / `NEEDS_HUMAN_REASON_ORDER`(CC-310)· `permissionsDeclarationReport` + `PERMISSIONS_KEPT_REASONS` 与 `PermissionsDeclarationInput.settingsRead` 必填(型面 BREAKING 第二处;CC-314)· `engineCapsSettled(url, { withinMs })` 返回型窄变 `Promise<'settled' | 'timed_out'>` + `disableSkillsDeclarationSettled`(CC-311)· `hookMatcherVerdict`(CC-306)· `sessionPolicyReadNotice`(CC-328)· `inheritEnvRefusalContent` 首段改口(CC-336)· `attachmentsSubmitVerdict`(CC-337)· 展示出口 YAML 块标量整块一枚记号(CC-340)· `mintUserAttachmentEnvelope` / `encodeHumanTurn` / `deliveredUuidsOf` / `imageVisionOf` + 附件席位能力位读器占位形(CC-315 / 297 子集)· 服务端 7.115.0 / sdk 16.1.0 提货:「只续已有会话」按码优先、`checkpointUnsupportedVersionFromError` / `checkpointUnsupportedVersionContent`、`hookMatcherRefusalFromError`、活卡帧与耐久行 `probeReason`、接线回执 `fleet` 段 + `WiringManifestFleetView`(CC-339)· 登记物整治:`permissionRuleIssueDetail` 第三参分句(CC-359)、`rewindSpecForMode` 第三参按纪元位取舍(CC-345 ①)、HITL 桥两处型面 additive 与补偿表 `retireOn` 改台账行号(CC-343)、已知限制档清账(CC-349)· 开发依赖 settings-schema `^8.0.0`(CC-308,不出包)· 根公面 1397 → 1429(+32,零删名);测试钩 63 → 64;公面类型名 964 → 997;超集键 +2(`_sema_provider_rejection_resend` / `_sema_fleet`);peer sdk 地板 `>=12.0.1` 不动;服务端夹具现役 7.115.0(老一代八份)、sdk 16.1.0 进地板见证矩阵;§117)。上一版 0.90.0 = **minor**:引擎 7.40.1 / 服务端 7.113.0 · 7.114.0 / sdk 16 探针提货(通告码册 86 → 85、`readLegacyModeSeedMigrated` 退出公面、`attachments.planModeReminder` 退役、`PromptDeliveryLedger` +2 必有成员 —— 型面 BREAKING 三处;CC-291 / 300)· 云控制面子路径五名(CC-136)· 文件历史一句五态判定与声明事实账本(CC-294)· hooks matcher 工具别名读口(CC-298)· 机读支持底线与 `engineVersionTier`(CC-299)· `settings.permissions` 三桶装配口与 allow 能力位(CC-302)· 「改了重发」错配让位与错误载体铸口(CC-309 ①)· `AttachmentsSpecRefused`(CC-316)· 能力位读数冻结;根公面 1379 → 1397、peer sdk 地板 `>=12.0.1` 不动;§116。上一版 0.89.0 = **minor**:引擎 7.38 提货(开发依赖换钉引擎 `~7.38.2`;通告码册 81 → 86、引擎铸方表接手服务端自铸码的受众,`SERVER_NOTICE_AUDIENCE` 🔧 退出公面(型面 BREAKING,逐名见 §2z);工具轮不完整读器 `readToolTurnIncomplete`、用户输入没被用上读器 `readUserInputUndrained` 与一句 `userInputUndrainedNotice`(`EngineNoticeFactsCode` +3 员,穷尽分支的端编译期红);终局服务商拒绝详情 `readRunTerminal` 的 `failed.detail` 与「改了重发」判定口 `providerRejectionResend`(0.95.0 退出公面);steer 账本 503 `ledger_unavailable` 一张码表三条腿(`ControlSafetyCode` +1 员、子代 steer 结局联合 +1 臂,穷尽分支的端编译期红);省略成因短语口 `taskRequestOmissionCausePhrase`(0.98.0 退出公面);CC-282);审批四面问类两位 `askClass` / `classes`(三型各 +2 可选位;CC-284);请求键 `disableSkills` 与片段口 `disableSkillsDeclaration`(车道表 45 → 46 行;CC-277);hooks 设置来源条目的唯一执行者与本端跳过口 `settingsHooksKeptLocally`(`PLUGIN_HOOK_REASONS` +5 词、`PLUGIN_HOOK_EXCLUSION_REASONS` +1 词,穷尽分支的端编译期红;CC-287);凭据被拒判官 `isReadCredentialRefusal` 上根入口(CC-289);服务端 7.111.0 两项(接线回执新段 `instructions`、子代转向成功结局 `messageId`;CC-282 余项)与展示出口无标签 `Token <值>` 形照遮(CC-290);根公面 1372 → 1379;测试钩 62 不变;公面类型名 942 → 952;超集键 +1(98 → 99,`_sema_instructions`);peer sdk 地板 `>=12.0.1` 不动;§115)。上一版 0.88.0 = **minor**:展示出口凭据面一次扫描(带凭据的输入上输出字节变、干净文本逐字节同、一轮即不动;CC-247);崩溃收敛 `cause` 认第二个词 `shutdown_before_park`(`CrashConvergedRow.cause` 型联合 +1 词,穷尽分支的端编译期红;CC-218);服务端自铸通告 `server.model_unreachable` 入受众表与事实读器 `readModelUnreachable`(CC-270 ①);开发依赖换钉引擎 `~7.37.1`、放行原因闭集镜像 `GATE_MODE_RELEASE_REASON_WORDS` / `isGateModeReleaseReasonWord`、修复通告事实读器 `readToolTurnRepaired`、通告码册 80 → 81(`EngineNoticeFactsCode` +2 员;CC-272);会话所有者自助记忆抹除 `eraseSessionMemory` / `sessionMemoryEraseOutcome` + 三只闭集镜像(CC-264);registry 同一个 409 的两义判别 `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面)(CC-280);请求键 `requireExistingSession`(车道表 44 → 45 行)与被拒读口 `requireExistingSessionRefusalFromError` / 一句 `requireExistingSessionRefusalContent`(CC-281);投递事实账本 `createPromptDeliveryLedger` + 两只按消息行的读口 `promptKnownUndelivered` / `withoutUndeliveredPrompts`(判据 = 引擎为这次提交建了 run;CC-271);plan 决断台账:离门证据结掉、还没被认领的登记由投递口认领原笔(CC-278);`wiring_manifest` 帧 `fileHistory` 段(`WiringManifestChromeEvent.fileHistory?` / `WiringManifestView.fileHistory?`,超集键 `_sema_fileHistory`;CC-279);根公面 1356 → 1372;测试钩 62 不变;公面类型名 922 → 942;超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§114)。上一版 0.87.0 = **minor**:会话历史 tool_use 错配的自救出路 —— 合成终局错误行超集键 `_sema_tool_history_mismatch`、`EmitContext.offersRewind?` 声明面出路句与连续次数句、根入口两只纯函数 `classifyToolHistoryMismatch` / `resolveToolHistoryRewindTarget`(CC-268);崩溃收敛 needsHuman 行的闭集因由位 `needsHumanReason`(CC-269);停车 fail-soft 同步终帧与结果帧的真因超集键 `_sema_park_failed_reason`(CC-273);workflow 活动台账 / 监视器源的 `authToken` 收取值函数、连线身份按凭证来源认(CC-274);`armDetachCancel` 入参 `authToken` 收取值函数、取件口每调现读(CC-275);chrome 臂 `suspended_reopened`(`ChromeEvent` +1 臂,穷尽分支的端编译期红;CC-276);根公面 1354 → 1356;测试钩 62 不变;公面类型名 922 不变;超集键 +2;peer sdk 地板 `>=12.0.1` 不动;§113)。上一版 0.86.0 = **minor**:引擎 7.34.0 提货两代读法 —— 事实表第二批构建期生成、`GATE_DENIED_BY_WORDS` 两代并集十一词(元素型 `GateDeniedByWord`,`mode` 专句)、门记录权限模式两臂与读口 `gateModeRelease`、通告码册六码与六只事实读器(`EngineNoticeFactsCode` +6)、`STRUCTURED_DETAIL_TYPES` +`read_unestablished`、本人规则店读不出两代读法、`shell_gate_tighten` 改句(CC-249 / CC-245 / CC-230);服务端 7.105.0 提货 —— 会话规则写口拒名码 `rules.legacy_tool_name` 的具名结局与 `isRulesRefusalCode`(CC-251)、门前只读路 401 的 `unauthorized` 态与 `READ_CREDENTIAL_NOT_ACCEPTED_NOTICE`(CC-252);请求键 `approverPosture` 退役、构造期按名拒,两个运行期名字退出根入口(逐名见 §2z)(CC-253);`AskUnresolvableFactsView.remedy?`(CC-254);开发依赖引擎 `~7.36.0`(CC-255 换钉 7.35.0,`CONFIG_REFUSAL_CODES`(0.96.0 退出公面) 8 → 17;CC-261 再换钉 7.36.0),通告码册 73 → 80;`adapt()` 错误信封不再回落读旧名 `result`(CC-221);服务端 7.106.0 提货 —— caps `store` / `centerWiring` 窄读口、SQL 姿态两代读、计费入口 503 `fleet.lease_unavailable` 读口与一句话(CC-250),`executionLane.isolated` 与「本机无 OS 沙箱」判定(CC-256),请求键 `inheritEnv` 与版本闸片段口、两只拒按码出句(CC-257),权限规则表超帽坏项读口与一句(CC-262),工具声明拒按码认领(CC-263),请求体键形拒两张键表读口(CC-265);`-p` 首帧工具来源超集键 `_sema_tools_source` / `_sema_tools_fallback_reason` 与铸口 `printInitToolFaceSupersetKeys`(CC-266),三张估计工具表改为常驻(CC-267);根公面 1310 → 1354;测试钩 60 → 62;公面类型 891 → 922;超集键 +2;peer sdk 地板 `>=12.0.1` 不动(sdk 12.0.1 / 13.1.0 / 14.0.0 / 15.0.0 下本版 `.d.ts` 严格编译均零错误);§112)。上一版 0.85.2 = **patch**:自愈重开两只失败结局带 `errorCode`(这一次重开放弃所依据的那一发失败请求的外层 wire 码,present-iff;判定形不带),重开判决不成功臂 +`_sema_errorCode`(宿主可选铸;宿主重开口抛错时本包铸)(CC-260);自愈腿读错误对象与成功应答记录上的各位收进保护(读不出按缺席,不再 reject;`atMostOnceFailureClass` / `readSteerDelivery`(🔧 0.92.0 退出公面)/ `readSteerReceiptStatus`(🔧 0.92.0 退出公面)不再抛);根公面 1310 不变;公面类型名不变(两个已导出型各多可选位);超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§111)。上一版 0.85.1 = **patch**:请求装配回执省略成因的终端用户向句表 `TASK_REQUEST_OMISSION_CAUSE_NOTICES` 与取句口 `taskRequestOmissionCauseNotice`(与接入方那只 `taskRequestOmissionCauseDetail` 同源于同一成因闭集、逐词不同句;表外 / 读不出 ⇒ 一句通用句,不抛、不回显),接入方那张句表的字面量补挂 `satisfies`(CC-248);plan-review 重开口在「这个会话没有接能显示卡的界面」那一形上答 `{ reopened: false, _sema_noPresentationSurface: true }`,自愈结局两臂带 `noPresentationSurface`、自愈行五句补一句成因,重开前提(宿主为该会话键订阅问题帧端口)成文(CC-258);自愈腿读宿主重开判决收进保护(某一位读不出按缺席,不再 reject),宿主日志 / 探针口抛错不再改变判决;多会话宿主的按会话呈现回执登记口 `registerArmedGateFromQuestionIdFor` 回到根入口(0.72.0 退出公面的名字复活;CC-259);根公面 1307 → 1310;公面类型名不变(两个已导出型各多可选位);超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§110)。上一版 0.85.0 = **minor**:引擎事实表(通告码册 / 受众表 / MCP 注入丢弃原因 / 会话规则翻译判定内部两表)改为构建期生成,`ASK_ORIGIN_WORDS` / `APPROVAL_MANDATE_WORDS` 就是 SDK 导出的数组(不再冻结),四个思考档 / 权限模式型改为 SDK 型的别名,包内单源(CC-230);子代族八入口与两只行停止门收注入 client,写动词失败结局 +`unconfirmed`,`classifySubagentResumeFailure` 同判(CC-236);`sessionPolicyDeliverable` 收可选名册,`SessionPolicyWithheldWhy` 六词 → 七词(CC-228);过渡物退役登记与到期门,`adapt()` 不再认旧名 `attachedFiles`,三个运行期名字退出根入口(逐名见 §2z),`surfaceRememberNotApplied` 撤回退役预告(CC-221);plan-review 决断台账六口,`reopenPlanReviewCard` 按台账拒开(CC-241);会话后台任务停止口 `stopEngineSessionBackground` 与受据归类口 `engineSessionBackgroundReceiptReadingOf`(CC-246);服务端 7.104.0 会话侧:会话存档读不出三载体读口与人话 `corruptSessionContent`、`session.records_skipped` 进册(`SERVER_NOTICE_AUDIENCE` 🔧 0.89.0 退出公面前的三行)、删会话 409 读口、`/decide` 停驻挪动族读口(CC-217 / CC-243);服务端 7.104.0 能力 / 同步体侧:同步 park 新体与 park 行 `result`、`fileHistoryCaptureMode` 认 `on-optional` 与请求词片段口 `fileHistoryDeclarationField`、公钥发现读口 `projectSealedKeyCapability`、折叠粗码 `isStatusDerivedCoarseCode`(CC-243);同名影子对账门按语义判(CC-222);导出存活门读已提交历史(CC-240);根公面 1275 → 1307;测试钩 59 → 60;公面类型 +34;peer sdk 地板 `>=12.0.1` 不动;§109)。上一版 0.84.1 = **patch**:`<system-reminder>` 开标签定位口 `findSystemReminderOpenTag`(CC-210);detach durable-off 400 纯判定 `isDetachDurableOff400`,`detachDurableOffHint` 对读属性会抛的错误对象改回 `null`(CC-219);服务端自铸通告码进码册与受众表 `SERVER_NOTICE_AUDIENCE`(🔧 0.89.0 退出公面;`instructions.source_changed` 回到用户面)+ 事实读器 `readInstructionsSourceChanged`(CC-213);按码派发的通告事实口 `readEngineNoticeFacts` + 派发表 `ENGINE_NOTICE_FACT_READERS`,`readReadRootGrantNotice` 入参型放宽(CC-214);停泊审批决断 422 `parked_resume.startup_failed` 的读口 / 一句话 / 判定与码优先 `isCodeClassifiedGateFailure`(0.98.0 退出公面;CC-225);拒启会话的窄撤销动词 `removeRefusedSessionRules` 与出路句 `legacyToolNameFailureNoteOf`,`CONFIG_REFUSAL_CODES`(0.96.0 退出公面) 七员 → 八员(CC-229);plan-review 编排三口与两只能力探针收注入 client(CC-209);CC 形 `permission_denials` 收入参只被传输层脱敏过的拒绝 + 超集位 `_sema_tool_input_redacted`(CC-235);凭据读法两处放行收口(CC-234);根公面 1260 → 1275;公面类型 +18;peer sdk 地板 `>=12.0.1` 不动;§108)。上一版 0.84.0 = **minor**:peer sdk 地板 `>=11.3.0` → `>=12.0.1`;后台代理登记读数 —— 读口 / 取代判定 / 归类口 / 登记键桥 / 补行谓词,缺席行下半场(CC-194);读目录授权结论通告读口 `readReadRootGrantNotice`(CC-185);接线回执 `hands` 段 `_sema_hands` + 读口 `handsSeamReadingOf` / `handsSeamDetail`,`handsMountedDetail` 坏入参不再抛(CC-206);陈旧逻辑清扫(CC-223):退役键 `rewind.rewindFiles` 构造期拒收、`WorkflowRunState.agentCount` 改可选、26 个内部件退出根入口、九张公面判定表换只读 Set 子类、十五张判定数组冻结、`resume_at` 文本兼容腿退役;根公面 1278 → 1260;公面类型 +10;§107)。上一版 0.83.6 = **patch**:会话规则记录的无损判定 `sessionPolicyDeliverable` 把引擎会在准备阶段拒启的两类名字(引擎退役名、含 `__` 而不以协议前缀开头的名字)改判「不写」,成因词 `legacy_tool_name`(闭集 5 → 6),引擎说「改名为 X」的退役名带 `currentName` 出路位;`peer_wide` 那句改措辞(判决不变)(CC-226);根公面 1278 不变;peer sdk 地板 `>=11.3.0` 不动;§106)。上一版 0.83.5 = **patch**:展示层出口 `displayUntrusted` 的连接符 ZWJ / ZWNJ 按语境判(🔴 默认形输出字节变)、两只可选开关 `escapeBackslashes` / `blanks` 与标记位置读口 `displayUntrustedMarks`(CC-204);凭据两网的判别视图认孤代理项,机读字节 `errors[]` / 合成终局行同批(CC-207);转义记号在凭据再扫里原子与四处凭据读法存量修复(相对 0.83.4 零新增外泄);hooks 启动模式可选词读口 `SettingsPort.hooksStartupMode()`,安全 / bare 模式下设置来源只发 managed(CC-200),设置来源里同一条 hook 只发一份(CC-208);自愈三条重发结局 +1 可选位 `releaseConfirmedByEngine`、行句按释放证据分说(CC-212);活段接入指引订正;公面类型 +3;peer sdk 地板 `>=11.3.0` 不动;根公面 1278;§105)。上一版 0.83.4 = **patch**:只增 —— plan 审批卡「用户亲手关掉的卡,自动触发不在同一道门上放回屏上」的判定归包(`reopenPlanReviewCard` 加触发者位 `trigger`、拒开位 `dismissedByUser`,409 自愈腿按提交出身替宿主传触发者、结局与整行由包出;CC-201);座位审批请求补强制位 / 强制理由词 / 报价缺席因由 / 出身词四个可选位与过境口 `toolPermissionRequestAskBits`(CC-203);`<system-reminder>` 剥离 / 解包两只口上公面并改线性时间(CC-205);两条展示层接入指引订正;开发依赖引擎 `~7.33.1`;公面类型 +2;peer sdk 地板 `>=11.3.0` 不动;根公面 1277;§104)。上一版 0.83.3 = **patch**:入参 / 来源面 —— hooks 投影加 flag 来源(`--settings` 那一层,排在 local 之后;设置来源 hooks 维持托管在前拼接);规则列举口 `listAllPersistedRules` 入参只要 `list`(`RulesListFacade`,其余四口作可选成员);模型身份认目录缺省(本机读数加宿主报位 `engineAcceptsCatalogDefault`,位 `true` 才算目录可解析);公面类型 +1;peer sdk 地板 `>=11.3.0` 不动;根公面 1273;§103)。上一版 0.83.2 = **patch**:只增 —— 审批卡一族三件(常驻姿态下的放行谓词 `askSurvivesPosture`(0.94.0 退出公面),三态、「不知道」不折成放行;卡上 `mandate` 六词闭集 + 读口 + 每词一句说明,通告码册 +2,开发依赖引擎 `~7.32.0`;停泊卡带出身词 `origin`;CC-193 / CC-195 / CC-196)与后台子代缺席行的判定、计数、sweep 豁免、回收与措辞单源(回收只在后台代理登记确认离场时;CC-194);公面类型 +13;peer sdk 地板 `>=11.3.0` 不动;根公面 1273;§102)。上一版 0.83.1 = **patch**:只增 + 行为订正 —— 展示层安全出口三端单源 `displayUntrusted`(凭据两网 ∘ 字符三网,选项按载体选;CC-112);本包合成的终局行正文与结果帧 `errors[]` 在铸点洗凭据(`errors[]` wire 可见,方向只会更安全)、交互车道合成行带上行类旗,回决备注与子代续跑收据多收双向 / 格式字符(CC-187 / CC-112);会话规则记录的无损判定 `sessionPolicyDeliverable` + 措辞单源 `sessionPolicyWithheldNotice` + 五词成因 `SESSION_POLICY_WITHHELD_WHY`(整批可送才送,首尾带空白的名字比宿主侧更严;CC-117);插件 hook 每轮计划 `hooksWirePlan` + `SettingsPort` 可选读口 `enabledPluginHooks` + `hooksForWire({ plan })`,逐条判「投给引擎 / 本客户端执行 / 如实不跑」、开机「不会执行」清单与 `/hooks` 标注措辞单源(投给引擎那一臂候引擎能力位 `taskSettings.pluginHooks`),设置来源的 `mcp_tool` 与 exec 形 hook 条目不再上请求体、手写的 `plugin` 键剥掉(CC-174);公面类型 +26;peer sdk 地板 `>=11.3.0` 不动;根公面 1254;§101)。上一版 0.83.0 = **minor**:行为面与型面都有 BREAKING —— CC 形消息 24 项按裁定 C-R103 退役名:结果帧 `degraded` / `errorCode` / `model` 与错误信封 `result` → `_sema_model_degraded` / `_sema_error_code` / `_sema_selected_model` / `_sema_salvaged_result`,合成终局行 `isApiErrorMessage` → `_sema_api_error_message`,工具结果记录删过渡名 `toolUseResult`,system 行 `attachedFiles` → `_sema_attached_files`、到达时戳 `timestamp` 与 `isMeta` 删,print 完成通知帧十三键平铺 `_sema_*`,记忆写入改走 chrome 臂 `memory_saved`(新型 `MemorySavedChromeEvent`,`CHROME_ARMS` required);本包只铸新名、端两名并读一版 + 结果帧 CC 键 `terminal_reason` 与读口 `terminalReasonForResult`(CC-175),错误信封知道就铸 `_sema_selected_model` + 转录 id 改 UUID 形(CC-147)+ `SettingsPort` 可选合并读口 `mergedDisableAllHooks`、用户层 `disableAllHooks` 在引擎腿上生效(CC-162)+ 退化审批卡三形拒收改写、`FsApprovalOutcome` 的 `failed` 臂 +可选位 `editRefused`(CC-135)+ 注入件自愈句整族重写 + 联网搜索旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 退出公面,`resolveLiveInitToolFace` 可选 `opts.webSearchStamped`(`LiveInitToolFaceOptions`),endpoint userinfo 律跟服务端 7.101.0(CC-184)+ 公面类型 −4(CC-171)+ 通告码册 69 → 71 与结构化卡白名单 +`read-inbox`(CC-186,开发依赖引擎 `~7.31.0`)+ 合成终局行 `uuid` 改 UUID 形;peer sdk 地板 `>=11.3.0` 不动;根公面 1238;§100)。上一版 0.82.7 = **patch**:只增不改 —— 每请求联网搜索配置的三态判决 `judgeWebSearchSettings` / `webSearchVerdictFromEnv` / `resolveWebSearchVerdict`(与 7.100.0 及以后 server 的受理判官同序同判,认不出的 provider 判形错、不再静默丢段;settings 段凭据注入回调 `apiKeyFor`)+ 措辞单源 `webSearchVerdictMessage`(不回显任何用户配的值)+ 调试日志用 `webSearchEndpointForDisplay`;旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 行为不变、标过渡期,0.83.0 删(CC-182);peer sdk 地板 `>=11.3.0` 不动;根公面 1240;§99)。上一版 0.82.6 = **patch**:只增不改 —— 停泊行上选「本会话允许」却没被记住时与活卡腿同句告知(回体 `rememberApplied: false`,或 server 以会话级放行专属拒绝码拒了 remember 后回退普通批准;其余失败一律未知不告知),回执 `DecideReceiptView` +1 可选位 `rememberApplied`(CC-181);决断落定后与桥重试臂的诊断留痕不再因宿主日志口抛错回流进决断;接入文档改口:server ≥7.100.0 上 park 行卡的 `requiresRealApproval` / `approvalIsMandated` 生效(CC-180,零代码改动);peer sdk 地板 `>=11.3.0` 不动;根公面 1235;§98)。上一版 0.82.5 = **patch**:只增不改 —— print 车道 init 帧工具面名册优先:流包装器 `withPrintInitFrame`(首选接法,init 恒为首行、其后按到达序)/ 判定闸 `createPrintInitGate` / 分类口 `printInitRosterSignal` / 判定口 `decidePrintInitToolFace` / 留痕措辞 `printInitToolFaceDebugLine` + 等待上界 `PRINT_INIT_ROSTER_WAIT_MS`(150 000);回落估计表补 `ListAgents`(7.30.0 及以后的引擎上与 `SendMessage` 同条件)(CC-169);peer sdk 地板 `>=11.3.0` 不动;根公面 1235;§97)。上一版 0.82.4 = **patch**:只增不改 —— park 行审批卡新增门类位 `irreversibleParkGate`(待决行门类恰为 irreversible_ask,今天即生效,门类事实不是保证);`requiresRealApproval` 在待决行顶层带时透传(就绪,待决列表带出后才生效,今天零行为变化)(CC-180);`ApprovalCardRequest` +1 可选位;peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§96)。上一版 0.82.3 = **patch**:只增不改的公面 —— 自愈提示的「保住对话」出路槽 `keepSessionWayOut` 与交互面引擎决断入口开关 `engineDecidePath`(CC-177;两位都不给时措辞与 0.82.2 逐字节同);自愈结局两臂 +机读位 `pendingRowGone`(重开链证实待决项已不在);peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§95)。上一版 0.82.2 = **patch**:只增不改的公面 + 若干行为订正 —— 新增措辞单源 `cloudEffectiveNotices`:云控制面有效配置回体的降级告警 / 预算 / 能力上限三读数(CC-164,四态,不读成 0 或「没有预算」);本机引擎 models 文档在宿主注入本机条目判定 `entryAccepted` 时补 `default` / `tierGroups` / `activeTierGroup`,剔掉会让本机整份拒收的目录引用与判定口不收的条目,去掉 registry 注记键 `origin` / `overridesTeam`(CC-165;结果新增 `modelRefIssues`);计划复核结局机读位 `_sema_planReviewOutcome`(CC-160 ①);停泊审批决断操作起止回调 `onDecideOperation` 与操作句柄 `openDecideOperation`(CC-160 ③);新增超集键 `_sema_planReviewOutcome`;peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§94)。上一版 0.82.1 = **patch**:只增不改的公面 + 若干行为订正 —— 新增读口 15 个(续跑折叠码读口与措辞 / 文件历史捕获读口六口 / 模型身份可解析判据五口 / 自定义代理载荷作废重投口 / 决断失败码「门还在」判定)+ 宿主车道声明 `EmitContext.lane`;新增超集键 `_sema_response_model`(终帧 / 每轮用量)与 chrome 用量两臂 `responseModel`、重开判决 `_sema_decisionInFlight`、自愈结局两臂 `decisionInFlight`、内部臂 `_sema_denial_unclassified`、通知码 +1;行为订正:计划复核决断在飞不重开卡且自愈提示不再教人再决一次(CC-160 ②)、决断出口补折叠句且停泊腿不再把折叠 / 坏档误判已决(CC-154)、执行车道 `in-process` 措辞(CC-153)、`-p` 车道 Bash 良性退出与交互同判(CC-168)、`-p` 工具结果帧补结构化结果(CC-149)、被拒分类词两车道同判(CC-172)、非交互车道子代工具帧(CC-158,宿主声明车道才生效)、终帧被拒清单对账流内拒绝(CC-159)、自定义代理载荷作废重投(CC-161);peer sdk 地板 `>=11.3.0` 不动;根公面 1228;§93)。上一版 0.82.0 = **minor**:只增不改 —— 新增只读读口 17 个 + 1 常量、工具名册行一格 `mountedBy`、turn 错误判决 `http` 臂一格 `storedRowWhere`:`/rewind` 代码档与对话档能不能用由引擎能力位回答(CC-146)、云控制面额度读数三分(CC-150)、装配期「这一条腿有没有手」(CC-152)、续跑拒收按原码判(CC-154);两处既有面行为订正:自动模式分类器拒的类别词由 `permission-rule` 改为 `automode-*` 三词(CC-155,订正 0.81.1)、续跑上下文读不出时引擎点名的那一行不再丢(CC-156);0.81.0 预告的 23 键 + 1 子型删改**改到 0.83.0**(§92y ㉙);零 wire 键、零投影臂;peer sdk 地板 `>=11.3.0` 不动;§92。上一版 0.81.1 = **patch**:被拒分类词读器加第③路(CC-148):引擎「没问过就拒」的工具调用(deny 规则 / 权限模式 / hook / 分类器 / 写保护 —— 无 `settlement` 只有 `gate.disposition.deniedBy`)在 user 工具结果记录与终帧 `permission_denials[]` 上此前恒缺 `_sema_denial_kind` / `toolDenialKind`,现按层名落 `permission-rule`(其中「分类器」一项已由 0.82.0 CC-155 订正)(`ask_resolution` 无结算 / 结算段不成形 / 层名表外仍缺席不猜);交互与 `--print` 两条车道同一只读器;另钉终帧两臂 `_sema_effective_*` 键集不变量 —— 成功臂展开单铸函数、错误信封显式重发,覆盖性钉在返回对象自己的类型上(漏键 / 多键编译期即红)+ 门格判两臂键集相等且值逐字节同,给单铸函数加键时错误臂不会再静默少键(本版无键增减);零 wire 键、零投影臂、根公面 1195;§91。上一版 0.81.0 = **minor**:CC 形消息一张脸(C-R85 / CC-131):user 工具结果记录加 SDK 面键 `tool_use_result`(与过渡键 `toolUseResult` 同引用,删驼峰原定 0.82.0、已改到 0.83.0)+ DS-19 普查门升硬门(键集按语法解析、按 type/subtype 分表;23 键 + 1 子型过渡表到期窗原为 0.82.0、已改到 0.83.0,零常驻豁免)+ CC-145 `/rewind` both 臂改发 `restoreFiles:true`、`projectRewind(pending)` 单参;零 wire 键、零投影臂、根公面 1195;§90。上一版 0.80.2 = **patch**:`conflict.resume_context_unavailable` 的 `staleAfterSec` / `runId` 在真 SDK 上读不到(CC-137:sdk 11.1.0 起 `APIError` 把体上非具名键收进 `extra`,这一码映射成 `ConflictError` 无具名位,读口只读顶层 ⇒ 真调用链恒缺席)⇒ 体源结构位改「顶层有效值优先、`extra` 兜底」三只类型化读口单铸,有具名子类位的三处(`retryAfterSec` × 2 / `allowlist`)行为不变只多兜底,头源 `retryAfterMs` 只读具名位;零 wire 键、零投影臂、根公面 1195;§89。上一版 0.80.1 = **patch**:去键重发判据句按「铸」计(CC-143;§87「带键的体恰一次」作废 → 被铸恰一次,POST 几次随传输层)+ 接入文档段落自带射程限定词自 §88 起向前执法 + 模型预设表 deepseek 项改闭集真名 deepseek-flash(CC-144,C-R82 ①)+ 门里 git 兜底自陈探针(CC-142);零 wire 键、零投影臂、根公面 1195;§88。上一版 0.80.0 = **minor**:🔴 peer sdk 地板 >=11.2.1 → >=11.3.0 + 策略拒的归因上 wire(CC-133:发送面 deny+policy 带 settledBy / 读侧 policy_refused 十三词入 CC 规则桶 / 三错误码读口 / 直连门去键重发恰一次)+ 删除规则后果句归包(CC-132)+ /mcp 详情卡两腿分说归包(CC-134:六档读口 + 九句铸点,同批改口八处说满的话)+ 🔴 终帧旧拼法 `structuredOutput` 按 0.79.1 的宣告删除(只剩 CC 形 `structured_output`);根公面 1195;§87。上一版 0.79.1 = **patch**:终帧结构化产出同帧铸 CC 形 `structured_output`(旧拼法 `structuredOutput` 过渡一版,0.80.0 删;CC-130)+ 写审批 `argsOmitted` 退化卡在无受护写入部署形上重新解得出路径(CC-129)+ 云控制面十值二型经本包第二个入口 `@sema-agent/client-core/registry` 原样转口(根入口零变;CC-128 ①);根公面 1184;§86。上一版 0.79.0 = **minor**:server 7.93.0 过境批 —— peer sdk 地板 >=11.2.1 + 写口回执第六臂 unverified 与 503 体 committed 分臂(CC-124)+ 无 run 可读的 MCP 状态面(CC-74)+ 审批卡 mandated 位(CC-110)+ 请求装配第三车道 utility 与 approverPosture / maxTokens / outputRetries 三键 + print 车道 model 座(CC-116 / 118 / 123)+ 拒因两面分铸与四个机读位(CC-125)+ 模型轮边界划消息界(CC-126)+ 委派结果人类面读口按来源声明体内定位(CC-127)+ sdk 转口三件(CC-128)+ 通告码 memory.project_scope_absent(CC-122);公面 1184;§85。上一版 0.78.2 = **patch**:门的棘轮登记数字单真源 —— 五只门十一格棘轮 + 218 条沿革账搬进 scripts/registry.json、门只读不抄、负控改篡改登记物、下调通道 RATCHET-SLACK、新门 run-registry-test(CC-79 第一期)+ 两格存量松量收掉 + submit-wiring-manifest 门补 count===1 边界格;src 零改动,dist 逐字节同 0.78.1;公面 1154;§84。上一版 0.78.1 = **patch**:两辆并行车收货 + 三张跟进票 —— displayBody 人类面读口 + 围栏解析头尾配对收紧(CC-113)/ MCP 两处「没报」措辞分句(CC-115)/ 记忆治理面五动词调用口(CC-97 b)/ 非流式提交回执接线回执读口 readSubmitWiringManifest(CC-121)/ 三份失败判官抛出物读取收口(CC-119);公面 1154;§83。上一版 0.78.0 = **minor**:peer sdk 地板 >=9.8.1 → >=11.0.1(CC-106)+ 单步写口 200 体按 stillLive 判别联合改读、第五臂 revoked、三型取自 sdk、RulesFacade.write 必填、PersistedRuleLiveness 转口(CC-103)+ DeniedBy 第十词 read_boundary 专句(CC-106 ④)+ excludeAllTools 车道行;型面 BREAKING 三处、行为面同 0.77.2;公面 1143;§82。上一版 0.77.2 = **patch**:出包面结构卫生 —— 构建期 removeComments,dist js / d.ts 零注释(新门 run-dist-comments-test.mjs + 卫生门词表 32 条 + 文档向前执法;CC-100)+ gateDeniedByDetail 表外词兜底句改「本版不认识这个层名」(CC-111 ①);行为 / 型面逐字节同 0.77.1;公面 1143;§81。上一版 0.77.1 = **patch**:外部验收三件回填 —— 读器族边界残留 projectMcpReconnectCapability 只认自有键(CC-107)/ rewind 四子键恰读一次(CC-108)/ 子代输出合并按回体 output.type · retrieval_status 定处置(CC-109,server ≥7.92.0 cursorSemantics 缺席面);型面 additive 一处;公面 1143;§80。上一版 0.77.0 = **minor**:请求装配逐键去向回执 + print 车道补座 + 表外键响亮拒(CC-101,四条行为 BREAKING)/ 会话策略写端口(CC-105)/ 持久规则单步写面(CC-103)/ workflow 子代面板行代际三向恢复(CC-104,零改码)/ 能力位读器族口径整族改齐 + 外部验收 F-A / F-B 处置 + 合并树异源复审两轮处置;公面 1143;§79。上一版 0.76.2 = **patch**:制品卫生 —— 清 dist 重 build 去掉两只已撤出源码的编译产物 + dist ⇄ src 对账门;零源码 / 零型面 / 零行为改动;公面 1122;§78。上一版 0.76.1 = **patch**:能力位读器工厂(CC-75)/ MCP 活性观察读口(CC-36)/ `capabilities.peerLane` · `permissionRulesWrite` 四态读口(CC-102)/ 记忆治理面两只读口 + 三只条目面回体读口(CC-97 a)/ 主车道证明逐次新建(CC-99)+ 修 0.76.0 的 F1 / F2(身份四键一次性快照只修了投影口一侧);公面 1122;§77。上一版 0.76.0 = **minor**:六票一批 —— `prompt_assembled` 投影臂 / 审批 feed 三态(**型面 BREAKING**)/ `ApprovalResolution` 单源联合 / 记忆 spec 读口 / 终态词表上游钉 / `tasks_expand` 退役(**型面 BREAKING**),外加身份四键一次性快照(跨全部内部臂);公面 1081;§76。上一版 0.75.1 = **patch**:面板短命子代反序缓行放不出的残洞(外部复验 D1)+ 同代 running 帧三向定形(B4)+ #969 提货 `spawnName` 透传与 `agentType` 改读诚实来源(CC-95);§75。上一版 0.75.0 = **minor**:压缩的非 compacted 结局上 chrome 面 `compaction_outcome`(新内部臂 —— 自建 print 出口的端先表态)+ peer sdk 地板 `>=9.8.1`;型面 additive(ChromeEvent +1 臂)、公面 1065、零 wire 新键;§74。上一版 0.74.5 = **patch**:core 7.24.0 提货 `_sema_freed_tokens?` + 首见即终态的行零事件(幽灵完成行)+ `isNewEngineAgentPanelCycle` / `approvalOutcomeNoteOf`(0.98.0 已退役)上公面;型面 additive、公面 1065、peer 不动;§73。上一版 0.74.4 = **patch**:面板键「先发布的键为准」(tick 归不了一的三序不再两行)+ 前代 UUID 迟到 tick 丢弃 + `readRunCancelContext` 下钻收紧;型面 additive、公面 1061、peer 不动;§72。上一版 0.74.3 = **patch**:面板子代身份归一(tick / end 的 UUID 归到 fleet 尾段,宿主零改)+ run 记录 `cancelContext` 读口与成因四词 + workflow 行 `errorCode` + reopen 第二臂两件;型面纯 additive、公面 1061、peer 不动;§71。上一版 0.74.2 = **patch**:`capabilities.deviceExecutor.management` 四态读口(缺席 ≠ false;`deviceExecutor: false` = 车道缺席;管理动词可用性三态归包);公面 1052;§70。上一版 0.74.1 = **patch**:审批卡无决断收口 + 结局回交;§69。上一版 0.74.0 = **minor**:peer sdk 地板 >=9.7.1 + covers 过境 + 面板周期身份 + 离场读口;§68。上一版 0.73.5 = **patch**:workflow 规模告警判定上收进包(`evaluateWorkflowSize` 三态:未知的规模不当作规模正常;分母口径与帽优先级单源;env 读口纯函数);型面纯 additive、公面 1044、peer 不动;§67。上一版 0.73.4 = **patch**:终帧 `permission_denials` 第三键 ⇐ 同一条流 `tool_start` 入参按 `toolCallId` join(三道闸;join 不上留 sema 载体;🔴 更正 0.73.2「自动升级收口」一句)+ 审批 feed push 侧取件失败的欠账退避重试;型面纯 additive、公面 1033、peer 不动;§66。上一版 0.73.3 = **patch**:CC-61 sdk 9.7.1 提货 + `capabilities.approvalsStreamLive` 四态读口(缺席 = 判不出;`livePendingNeedsReconcile` 只在引擎明说会推时才让对账节拍降兜底)+ CC-60 五条模型面文案锚包侧半场(cursorSemantics 机读位 / result 行注记 / bash 首行两变体与良性槽 / 通知 seed 并集 / parked 臂);型面纯 additive、公面 1032、peer 不动;§65。上一版 0.73.2 = **patch**:CC-59 悬挂 ask 全卡 —— `livePending[].frame`(server ≥7.87.0)两道闸窄读进视图,在场即走流内帧腿同一条路(入参可见、改写可转发),缺席保持盲卡;CC-34 收口(引擎半场随 7.87.0 到货,判据交黑盒);型面纯 additive、公面 1026、peer 不动;§64。上一版 0.73.1 = **patch**:CC-57 `decidePlanReview` outcome 尾句按「决断有没有生效」四态选(单铸点 `planReviewOutcomeTail`;此前本地拒发仍让模型汇报已拒绝)+ CC-56 cancel 的 409 按机器码分家(`cancelConflictFromError` 三形 / 新安全码 `cancel_run_not_running`)与提交面 429 用量窗读口 + 人话;型面纯 additive、公面 1026、peer 不动;§63。上一版 0.73.0 = **minor,型面 BREAKING**:fleet 视图八个数值键改可选 —— CC-52 `FleetTaskView.elapsedMs` / `tokens` / `queuedCount` 与 `FleetWorkflowView.doneCount` / `totalCount` / `failedCount` / `tokens` / `elapsedMs` 不再 `?? 0`(有键 = 真值含真 0,缺键 = 不知道;逐键缺席语义见 §62b)+ 台账补偿链无基数不铸;公面导出名零增减 1019、零 wire 变化、peer 不动;§62。上一版 0.72.14 = **patch**:悬挂的流内 ask 拉半场 —— CC-55 `startApprovalsFeed` 快照加 `livePending` 段并进变化摘要(键缺席 = 未报,不铸空)+ 视图 / 去重账 / 与流内帧腿同链的决断口(入参不可见上卡明说、改写不转发)+ 宿主闸对账节拍 + 待决计数读口(不知道 = null);型面纯 additive、公面 1019、peer 不动;§61。上一版 0.72.13 = **patch**:server 7.86.0 提货 —— CC-46 plan_review `permissionModeAfter` 发口(三选卡双闸:宿主声明只读起步 ∧ 引擎 ≥7.86.0;400 field_conflict 两种处置)+ CC-54 `capabilities.executionLane` 四态读面(键缺席 ≠ 不是本机车道;`toolsRunHere` 判据归包)+ CC-53 detach 版本闸三态;型面 additive(另撤回 0.72.12 的主通道 `absent` 臂,改独立缺席订阅口)、公面 1011、peer 不动;§60;**预告 0.73.0 BREAKING**:fleet 视图数值键改可选。上一版 0.72.12 = **patch**:「缺席被折成正向终态」按类清剿 —— CC-50 M1 头条(fleet 行缺席改发 `absent` 不再铸 `end{isError:false}`)+ 六站一次改齐(缺席 ⇒ `unknown`)+ 结果边界 fail-closed 取舍 + `_sema_outcome` + `Outcome unknown:` 行 + CC-51 M6(default 臂不再谎报 running)+ 普查门 + DS-06;型面 additive、公面 993、peer 不动;行为面三处真变化见 CHANGELOG 取舍段;§59。上一版 0.72.11 = **patch**:core 7.23.0 提货 —— CC-49 通告码 66 → 67 `config.write_protection_unresolved`(operator;兄弟码 `target_view_absent` = 没有视图,这枚 = 有视图解析不出)+ `permission_denials` 自动升级腿通电(`gates[].toolCallId` ⇒ `tool_use_id`;CC-34 引擎半场);型面零变化、公面 989、peer 不动、devDep core ~7.23.0;§58。上一版 0.72.10 = **patch**:CC-41 leader run 终局 `needs_human` + `result.conflict` 三形读面(none 缺席不可分 / unreadable 在场读不懂 / conflict;`salvaged[]` 原样给落盘口;措辞单源不提重试);型面纯 additive、公面 989、peer 不动;§57。上一版 0.72.9 = **patch**:server 7.85.0 提货 —— CC-30 会话内 MCP re-dial 消费口(`reconnectMcpServer` 三态 / unsupported 恒五键 / 交易文案单源)+ CC-39② memory-status `autoConsolidationArmed` 三态 + CC-45 resume 补充句渲保留秒数;型面纯 additive、公面 985、peer 不动;§56。上一版 0.72.8 = **patch**:清账三票 —— `memory:"off"` 请求键(CC-39③,server 7.84.0 S-405)+ `runStream` 第二条中性臂 `Model output error:`(CC-43)+ 注入件撞活 run 自动 steer 零卡(CC-44);型面纯 additive、公面 977、peer 不动;§55。上一版 0.72.7 = **patch**:core 7.22.0 提货 —— 通告码 66 `mcp.server_redialed` + 读器 `readMcpServerRedialed` + `wiring_manifest.readDeny` 第九段 `_sema_readDeny`(缺席 = 没有内置行判这条腿);型面纯 additive、公面 971、peer 不动、devDep core ~7.22.0;§54。上一版 0.72.6 = **patch**:cli L-379 包侧半场 —— `steerFollowIntent` steer 后续听意图三态(tail / after-decision / after-wake)+ `activeRunSelfHealRow` 续听声明第五参;型面纯 additive、公面 969、peer 不动;§53。上一版 0.72.5 = **patch**:server 7.82.1 提货 —— `capabilities.webSearch.backend` 部署默认 WebSearch 后端四态读面(键缺席 = 老引擎判不了 ≠ `none`);型面纯 additive、公面 968、peer 不动;§52。上一版 0.72.4 = **patch**:core 7.21.x 三件经 server 7.82.0 提货 —— `wiring_manifest.autoConsolidation` 第八段 `_sema_autoConsolidation`(缺席 = indeterminate 不折 false);型面纯 additive、公面 962、peer 不动;§51。上一版 0.72.3 = **patch**:core #863 记忆单系统半场 ① —— `projectAgentsForWire` 投影 `agents[].memory`(user|project|local 三词同映射引擎平面 agent:<type>);型面纯 additive、公面 962、零 wire 新键、peer 不动;§50。上一版 0.72.2 = **patch**:workflow 视图两票 —— `LiveWorkflowController.resolution()` 六态(snapshot() 的 null 三义拆开)+ `noteOwnWorkflowRun` own 台账同拍登记;型面纯 additive、公面 961、零 wire 键、peer 不动;§49。上一版 0.72.1 = **patch**:server 7.80.1 提货 —— 409 `conflict.resume_context_unavailable` 结构读数(`staleAfterSec` / `runId`;sdk 9.6.0 尚未带键,经 sdk 今天恒缺席)+ `SkillSpec.baseDir`(只在本机车道带);型面纯 additive、公面 960、peer 不动;§48。上一版 0.72.0 = **minor**:型面 BREAKING —— 39 个零消费导出退出公面(CC-32 退役批,[7419] §45 预告 / cli [7422] 同意 / web-client·desktop 过节拍沉默 = 同意;名单见 §47a S-1);运行期零 BREAKING、公面 956、peer 不动、devDep core ~7.20.1;随批:已退役名账 `removed` + export-liveness 门 G 段 + 冻结账门 ⑧c;§47。上一版 0.71.4 = **patch**:core 7.20.1 提货 —— `ENGINE_NOTICE_CODES` 65 + `wiring_manifest.writeProtection` 第七段 `_sema_writeProtection`;型面纯 additive、公面 995、peer 不动、devDep core `~7.20.1`;§46。上一版 0.71.3 = **patch**:门体系清账批 —— CC-24 export-liveness 门 + 39 个导出退役预告(0.72.0 删,表态制)/ CC-26 `as unknown as` 铸链棘轮 / CC-25 冻结账门 ⑧ 段 / CC-06 B-081 包侧半场(终帧 `_sema_effective_reasoning` / `_sema_effective_memory_scopes` + resume reopen 族 + `routePairingVerdict`);型面纯 additive、公面 986 → 995、peer 不动;§45。上一版 0.71.2 = **patch**:接入方验收两票归包 —— CC-28 B-132 decide 拒体三句去内部车道词 / CC-29 B-133 committedUuids 唯一性(重复 ⇒ 形 f);零型面变化、公面 986、peer 不动;§44。上一版 0.71.1 = **patch**:接入档打回修正 —— CC-27 `ApprovalCardRequest.readRootCandidate?` 帧→卡透传位 + 新导出型 `ReadRootCandidateView`;型面纯 additive、公面 986 不变、peer 不动;§43。上一版 0.71.0 = **minor**:型面 BREAKING 六件 —— peer sdk 地板 >=9.6.0 + agent-types >=0.3.0 / `SkillsListingTruncatedFactsView` 删 `requestedBudgetBytes?`·`laneClamped?` / `WiringManifestMcpEntry` → `WiringManifestMcpEntryView` / `MAX_AGENT_SKILLS` 删 / `decide.workflow_host_not_parked` 退役;运行期零 BREAKING。内容:core 7.20.0 提货(闭集 +5 六十四码)/ 🔴 CC-16 `text_segment_end.committedUuids[]` / CC-08 全五件(tool_disclosure / tool_progress 两 chrome 臂、wiring_manifest tools·hooks·lsp 进切片、tool_roster_delta 接上、context_usage 进切片、`readRootCandidate` 镜像)/ CC-19 `mcpEngineLegPresence` 归包 / CC-20 not_parked clean-cut;公面 986;§42 / 42y 八条)|
23
+ | peer:wire 契约 | `@sema-agent/sdk` **>=23.0.2**(value-level,非 type-only;🔴 **0.98.0 抬版**(CC-733,sdk 23 提货;支持底线 sdk 一项同批抬到 23.0.2;§126 PN-2):活卡 respond 回执按 sdk 的两臂联合读(首决落地 / 首决回放),会话规则记录取 sdk 的三桶型,停驻续跑的启动成因取 sdk 的五词闭集,崩溃遗留行取 sdk 自己的行型(`CrashConvergedRow`);地板越过 sdk 22.x,五处只在 21.1 一代上成立的过渡读法同批执行(§126 PN-10),21.1.0 – 22.x 失去物料见证;此前 **0.97.0 抬版**(CC-715,与服务端 7.126.0 / 引擎 7.49.5 底线同批;§124 PK-1):本包根入口原样转口 sdk 21.1.0 的两只决断口门种常量 `APPROVAL_DECIDE_GATE_KINDS` / `PLAN_REVIEW_GATE_KINDS`(21.0.0 上不存在 ⇒ 运行期 import 失败),门种判官由它们的构建期生成物派生,终局失败详情按 sdk 21 三臂联合读,审批卡词取 sdk 卡词闭集;此前 **0.96.0 抬版**(C-R432 ①,与服务端 / 引擎底线同号;§123 PA-1):本包源码读 sdk 20 的舰队行型 `workspaceSnapshot` 声明(19.x 上源码编译红),终帧读口按 sdk 20 五臂联合 `DoneFrameResult` 的窄化序读重放体;已发 `.d.ts` 对装 19 / 20 的消费方都编得过(两视角实测见 §123 PA-1),抬地板是支持承诺随服务端 7.125.0 锁步;此前 **0.95.0 抬版**(C-R389 ② / C-R390;§122 PK7-1):公面型取 sdk 19 的 `AskRowEndingCause` / `ApprovalSettleCause`、审批成因闭集经包根常量取,18.x 失去物料见证;此前 **0.94.0 抬版**:请求面权限模式六词、审批出处键型 `ApprovalDecidedBy`、取消成因三词 / 状态派生粗码 / 410 DENIED 组那一词都改取 sdk(17.x / 18.x 起声明;三只运行期常量经构建期生成物取),12.0.1 – 18.0.x 不再支持,§121 SP2-7;此前 **0.84.0 抬版**:12.x 声明每会话后台登记列表 `sessions.background`、能力位 `capabilities.background.listFace` 与七词闭集的后台状态型,本包三者都读(登记读口的端点门与归类口的编译期穷举),按 12.0.1 编译,11.3.0 失去物料见证;0.84.1 / 0.85.0 / 0.85.1 / 0.85.2 / 0.86.0 / 0.87.0 / 0.88.0 / 0.89.0 / 0.90.0 不动(0.86.0:sdk 14 的三处型面 BREAKING 本包已按结构读覆盖,本版 `.d.ts` 在 sdk 12.0.1 / 13.1.0 / 14.0.0 / 15.0.0 下严格编译零错误,§112y;0.90.0:地板见证矩阵改为路径列表 —— 开发依赖 12.0.1 + 15.0.0 / 15.2.0 / 15.3.0 / 16.0.0 探针树逐份验,`.d.ts` 对 sdk 16.0.0 严格编译零错,§116 SD-1)。此前 **0.80.0 曾抬到 >=11.3.0**:11.3.0 在两条回决口体上声明 `settledBy?: "policy"`、`Settlement.kind` 第十三词 `policy_refused` 与三错误码(0.80.0 至 0.83.6 都在这条地板上);**0.79.0 曾抬到 >=11.2.1**:11.2.x 声明 `capabilities.mcpProbe`、`mcpCapabilities` / `probeMcp` + `McpProbeFace`、写回执第三支 `stillLive: "unknown"`,11.2.1 再补 `TaskRequest.approverPosture` 与审批帧键 `mandated`(型面 + 运行期键锚),本包按 11.2.1 编译,11.0.1 失去物料见证;**0.78.0 曾抬到 >=11.0.1**:11.x 声明 `DeniedBy` 第十词 `read_boundary`、`rules.write` 200 体按 `stillLive` 判别联合、`RemovalLiveness` / `RuleWriteRequest` / `RuleWriteResult` / `RuleWriteBehavior` 包根导出、`TaskRequest.excludeAllTools`,本包按 11.0.1 编译,9.8.1 失去物料见证;**0.75.0 曾抬到 >=9.8.1**:9.8.x 声明 `Capabilities.deviceExecutor.management?`,9.7.1 失去物料见证;**0.74.0 曾抬到 >=9.7.1**:9.7.x 追平的六处型面是本包 0.73.3 起的编译基线,且 9.6.0 失去物料见证;**0.71.0 曾抬到 >=9.6.0**:`tool_disclosure` / `tool_progress` 两帧型与 `ToolApprovalFrame.readRootCandidate` 自 9.6.0 起;0.69.0 曾抬到 >=9.4.0(`reasoning_end` / `lastLegMcp`),0.60.0 抬到 >=8.4.0;地板由 `scripts/run-sdk-floor-test.mjs` 的 `FLOOR` 与 public-surface 门 C-CC-3「不低于见证到的最低实装版」双钉)| `package.json` `peerDependencies` |
24
24
  | peer:会话词汇表 | `@sema-agent/agent-types` **>=0.3.0**(type-only,零运行时;0.71.0 抬版:devDep 与 peer 同步,type-superset 门 ④ 撞名预警对着 0.3.0 的 .d.ts 求值) | 同上 |
25
25
  | runtime dep | `diff` ^9.0.0(**唯一**一条;portability 门按**等值**钉死) | `package.json` `dependencies` |
26
- | 公开导出面 | **1641** 个运行期符号(+ **60 个测试钩,两种拼法**:36 个 `__*ForTests` + 24 个单下划线开头(22 个 `_*ForTest` + `_resetLiveQuestionStore` / `_resetUltracodePreset`) —— 两种都在 `public-export-baseline.json` 的 `testHookNames` 里、各自受棘轮管,**不在** `names` 的 1641 里。运行期 `Object.keys(dist/index.js)` 的全量 = 1641 + 60 = **1701**;只剔双下划线那 36 个会多数出 24 个来,那不是棘轮盲区;1641 = 0.97.0 的 1639 +2:AD 行 +2(`engineToolDirectoryOf` / `excludeToolsAgainstDirectory`,§125 AD-3 / AD-4);1639 = 0.96.0(2026-10-13)发布值 1629 +13 −3:CL 行 +2(`engineCapsLandingOf` / `rotateEngineCapsProbe`,§124 CL-1 / CL-3)· NC 行 +1(`readToolCardOutcome`,§124 NC-2)· SR 行 +2(`isSdkRunParked` / `SDK_PARKED_RUN_STATUSES`,§124 SR-1)· TN 行 +1 −1(`ruleToolNameVerdictOf` 上根入口 / `isEngineRefusedToolName`(0.97.0 退出公面),§124 TN-2 / TN-3)· PK 行 +7 −1(`CONFLICT_IDEMPOTENCY_PAYLOAD_MISMATCH` / `isIdempotencyPayloadMismatchCode` / `idempotencyPayloadMismatchContent`〔PK-5〕、`readApprovalCardWord`〔PK-7〕、`modelCandidateRejectedOf` / `modelCandidateRejectedContent`〔PK-11〕、`APPROVAL_DECIDE_GATE_KINDS` 转口〔PK-4〕;`ASK_PARK_GATE_KINDS`(0.97.0 退出公面)〔PK-4〕)· HT 行 −1(`isFsApprovalGate`(0.97.0 退出公面),§124 HT-1 / §2z);测试钩 59 → 60(RP 行 `__resetSettledApprovalsForTests`,§124 RP-3);最简单的剔法是去掉所有以 `_` 开头的名字(公面运行期名没有一个以 `_` 开头);1586 = 0.95.0 的 1587 −1(0.96.0 FA 行:`CONFIG_REFUSAL_CODES`(0.96.0 退出公面) 退出根入口,§123z / §2z);其后同窗各行并入:WD 行 +2、HW 行 +4、RT 行 −1(`recordBgTerminalFacts`(0.96.0 退出公面) 退出根入口,§123z / §2z)、RT-6 行 −9(九只 `noteEngineCapsFor*` 退出根入口,§123z / §2z;测试钩另 −14 = 73 → 59),合 1582;1587 = 0.95.0(2026-10-12)§122 各行合计的值:相对 0.94.0(1547)**+40**(新增 +83、退出 −43;RX 行退出三十名:`providerRejectionResend`(0.95.0 退出公面) 与二十九只逐只失效口 `forget*Reading`〔逐名见 §2z〕;SB 行四名 `mcpEngineLegConnectionOf` / `modelSwitchProbeOutcomeOf` / `runModelSwitchProbe` / `createModelSwitchFallbackLedger`(测试钩 −2:`__resetSubagentStreamCapCacheForTests` / `__resetSubagentOutputCapCacheForTests` 随子代两只私有能力表删除,0.95.0 退出公面,§122 SB-1);RS 行两名 `runningAttachOffered` / `resumeRunningCancelConfirmedRow`;TW 行退出十名 `TERMINAL_CAUSE_KINDS`(0.95.0 退出公面) / `RUN_TERMINAL_STATUSES`(0.95.0 退出公面) / `RUN_TERMINAL_NOT_SUCCESS_STATUSES`(0.95.0 退出公面) / `TASK_NOTIFICATION_TERMINAL_STATUSES`(0.95.0 退出公面) / `TERMINAL_FLEET_TASK_STATUSES` / `CLAIM_RELEASED_STATES` / `isTerminalCauseKind`(0.95.0 退出公面) / `isTerminalStatus`(0.95.0 退出公面) / `isTerminalNotSuccess`(0.95.0 退出公面) / `isTaskNotificationTerminalStatus`(0.95.0 退出公面)、新增十四名 `CORE_TERMINAL_CAUSE_KINDS` / `SDK_RUN_TERMINAL_STATUSES` / `SDK_FLEET_TASK_TERMINAL_STATUSES` / `CORE_TASK_NOTIFICATION_TERMINAL_STATUSES` / `CORE_SEMA_TASK_TERMINAL_STATUSES` / `isCoreTerminalCauseKind` / `isSdkRunTerminal` / `isSdkRunTerminalNotSuccess` / `isSdkFleetTaskTerminal` / `isSdkFleetTaskTerminalNotSuccess` / `isCoreTaskNotificationTerminal` / `isCoreTaskNotificationTerminalNotSuccess` / `isCoreSemaTaskTerminal` / `ccTaskTerminalStatusOf`(终态词表改名带属主,逐名对照见 §122 TW-1);XH 行一名 `joinApprovalHolder`;FX-A 行两名 `readApprovalRememberRefused` / `rememberRefusalOf`;PK7 行一名 `approvalCompleteCauseOf`;PR 行四名 `PANEL_DELTA_OPS` / `reducePanelFrame` / `createPanelReduceState` / `subscribeEnginePanelRows`;KA 行一名 `stripToolUseSideChannels`;UP 行一名 `droppedModelEntriesOf`;RD 行十七名 —— RD-2 十三名 `readUsageSummary` / `readUsageSeries` / `readUsageBreakdown` / `projectUsageSummary` / `projectUsageSeries` / `projectUsageBreakdown` / `classifyUsageFailure` / `projectUsageAnalytics` / `readUsageAnalytics` / `usageBoundPrefix` / `usageWindowOfRange` / `USAGE_SENTENCES` / `USAGE_HEATMAP_MAX_DAYS`,RD-3 四名 `classifyApprovalCompleteFrame` / `parkRowDeadlineState` / `lateDecideRoute` / `runReapedByDeadline`;SA 行八名 `fireInteractiveInterrupt` / `listDevices` / `readSessionBinding` / `rebindSession` / `reconcileRebindOutcome` / `rebindProvesRequestNotApplied` / `resolveEngineEnvSourcing` / `engineEnvView`);WC 行三名 `hasLedgerPositionKey` / `replayedApprovalSentence` / `allowRuleShadowSentence`;FX-D 行三名 `refusedParkFromError` / `refusedParkContent` / `refusedParkBlockedContent`;WB 行十一名 `readLiveModelCatalog` / `liveDefaultModelOf` / `atMentionOf` / `modelCompatOf` / `liveModelRowsOf` / `checkSendMessageRequest` / `isSendMessageRequest` / `REWIND_MODES` / `SEAT_REWIND_INTENT_KEYS` / `SEAT_TURN_SETTINGS_ORIGINS` / `approvalCompleteParked`,退出一名 `isSeatModelCatalog`(0.95.0 退出公面);FX-E 行三名 `engineCredentialRequirementOf` / `storePostureHeadWord` / `isSessionIdPathSegment`;FX-F 行两名 `forgetSettledTerminalRow` / `forgetSettledTerminalRowFor`;FX-H 行三名 `engineRewindRefusedNow` / `decideRewindEngineAction` / `previewEngineRewind`,退出两名 `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面;判读口改住子路径入口 `./registry`,§122 FX-H2);0.94.0 = 1547:相对 0.93.1(1485)**+62**(新增 +64、退出 −2;按 `public-export-baseline.json` 对 0.93.1 发布基线逐名实算 —— ST 行五名 `SEAT_CAPABILITY_NAMES` / `seatCapability` / `watchSeatCapability` / `seatCapabilityUnavailableDetail` / `deviceFlowPollingPlan` · SV-1 `readAllowedToolNotGranted` · SV-4 五名 `projectSessionReadRedactionCapability` / `noteEngineCapsForSessionReadRedaction`(0.96.0 退出公面) / `observedSessionReadRedaction` / `forgetSessionReadRedactionReading`(0.95.0 退出公面) / `sessionReadRedactionAdmitted` · SV-5 五名 `projectOutputStyleSeatCapability` / `noteEngineCapsForOutputStyleSeat` / `observedOutputStyleSeat` / `forgetOutputStyleSeatReading`(0.95.0 退出公面) / `outputStyleSeatAdmitted` · SV-5 / SV-7 两只码常量 `CONFIG_OUTPUT_STYLE_INVALID` / `CONFIG_AGENT_UNKNOWN_TOOL` · CP-7 `mandatedApprovalDetailOf` · CP-12 `compileAllowList` · RQ 行六名 `WIRE_RULE_TRUST_ORDER` / `approvalReachDeclaration` / `approvalReachDeclarationSettled` / `isApproverUnavailableGate` / `effortLevelsOf` / `effortLevelHonored` · HD 行十二名 `classifyDecisionRefusal` / `liveAskPendingReading` / `decisionRefusalClosesOut` / `undeliverableDecisionContent` / `noAllowCauseOf` / `policyDenyReason` / `permissionRequestHookScope` / `readApprovalBoundGrants` / `readApprovalClassifierNoRuling` / `approvalBoundGrantsDetail` / `classifierNoRulingDetail` / `approvalPriorCardsDetail` · RP-1 四名 `resultErrorCodeOf` / `resultParkFailedReasonOf` / `resultSalvagedResultOf` / `resultSelectedModelOf` · RP-2 七名 `projectCallerCwdCapability` / `noteEngineCapsForCallerCwd`(0.96.0 退出公面) / `observedCallerCwd` / `forgetCallerCwdReading`(0.95.0 退出公面) / `callerCwdAdmitted` / `legCwdOfBody` / `engineSelectedInstructionsFile` · RP-3 五名 `routeKeyOf` / `joinRequestUrl` / `resolveRouteCredential` / `adjudicateModelRoute` / `routePairingStatus` · SP2-2 三名 `REQUEST_AUTONOMY_LANE_REFUSED` / `autonomyLaneRefusalFromError` / `autonomyLaneRefusalContent` · SP2-4 三名 `isInStreamDrainingEnd` / `streamDrainingDecision` / `STREAM_DRAINING_RECONNECT_MAX` · SP2-5 `agentToolListFlaws` · PK-2 `readToolApprovalRespondParking` · HW2-3 `askProbeReasonDetail` · HW2-4 `subagentStateDetail`;退出 −2:`askSurvivesPosture`(0.94.0 退出公面)/ `askSurvivesStandingAnswer`(0.94.0 退出公面;两只旧口随 RL-56 / RL-57 退役,§121 HD 行);测试钩 71 → 74 = **+3**,三只读器的复位钩 `__resetCallerCwdReadingsForTests` / `__resetOutputStyleSeatReadingsForTests` / `__resetSessionReadRedactionReadingsForTests`;§121 FX 行:CC-514 初版加的常量 `APPROVAL_NOTE_ABORTED_DETAIL` 随 FX-2 定形撤回(未发布,不计退出;FX-2),其余只加可选型位与联合成员);1485 = 0.93.0(未发布)的值:相对 0.92.0(1483)**+2**(新增 +23:§119 DB-1 五名 `projectApprovalDecidedByCapability` / `noteEngineCapsForApprovalDecidedBy` / `observedApprovalDecidedBy` / `forgetApprovalDecidedByReading`(0.95.0 退出公面) / `approvalDecidedByAdmitted` · DB-2 `decisionAttributionKeyOf` · §119 PM-1 五名 `projectPermissionModesCapability` / `noteEngineCapsForPermissionModes`(0.96.0 退出公面) / `observedPermissionModes` / `forgetPermissionModesReading`(0.95.0 退出公面) / `permissionModeAdmitted` · SA-1 两名 `SCENARIO_ASSIGNMENT_UNKNOWN_ERROR_CODE` / `scenarioAssignmentUnknownFromError` · §119 BD-2 `PROMPT_BLOCK_CAUSES` · CS-1 `transportFailureScene` · BG-1 `detectEngineBgShellDetach` · TH-2 `readEngineConfigApplyState` / `configDriftVerdict` · CT-1 `coreVersionTier` · WF-1 / WF-2 两只码常量 · MU-2 `MCP_RECONNECT_UNSETTLED_NOTICE` · DX-2 `deviceLaneOpen`;退出 −21:§119 RT-1 … RT-8 的到期登记物硬删,逐名见 §2z);1483 = 0.92.0(2026-10-07)的值:相对 0.91.0(1429)**+54** —— CC-295 +3(§118 AC-1 / AC-3:`ABORT_CAUSES` · `readAbortCause` · `abortCauseNoteOf`)· CC-368 / CC-401 +3(§118 PV / AR 行:`automaticAnswerVerdict` · `readApprovalAllowRuleShadow` · `approvalAllowRuleShadowed`)· CC-374 / CC-353 +11 −2(§118 ST-1 / ST-2 / ST-4 / ST-5:`fleet.steerPriority` 读器六名 · `steerBodyOf` · `readSteerReceipt` · `readTurnInterrupted` / `turnInterruptedNotice` / `steerCutVerdict`;`readSteerDelivery`(🔧 0.92.0 退出公面)/ `readSteerReceiptStatus`(🔧 0.92.0 退出公面);测试钩 +1 = 读器的复位钩)· CC-367 `replayedApprovalDisposition` / `REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT`(§118 RP-1 / RP-2)· CC-369 ⑦ `CONFIG_IMAGE_INVALID` / `imageInvalidFailureNoteOf`(§118 DP-6)· CC-371 / CC-370 +35(§118 SV-18 – SV-24:`askGoneFromError` / `askGoneContent` / `ASK_GONE` · `RUN_STALLED` / `RUN_ORPHANED` / `APPROVAL_EXPIRED` / `RUN_DEATH_VERDICT_CODES` / `runDeathVerdictNoteOf` · `CAPABILITY_OPERATOR_PRINCIPALS_REQUIRED` / `operatorGateRefusalContent` · 四只能力位读器各六名 · `mintNamespacePrefix`;测试钩 +4 = 四只读器的复位钩);1485 = 0.93.0(未发布)的值:相对 0.92.0(1483)**+1** —— CC-364 `PROMPT_BLOCK_CAUSES`(§119 BD-2;域 1);以下为历史读数(原句保留):= 下一版(未发布)的值:相对 0.75.1 **+16**,两票合计 —— **CC-77 ①** 审批决断结局单源判别联合 6 件:`approvalResolutionOf` / `isApprovalDecided` / `approvalNotSentCause` / `approvalUnsettledCause` + 两张 cause 词表 `APPROVAL_NOT_SENT_CAUSES` / `APPROVAL_UNSETTLED_CAUSES`(域 3);**CC-96** 记忆 spec 读面 10 件:`readAgentMemorySpec` / `unknownMemorySpecKeys` / `unknownMemorySpecKeysNote` / `memoryConfigRefusalNoteOf` / `KNOWN_AGENT_MEMORY_SPEC_KEYS` / `PENDING_MEMORY_SPEC_KEYS` / `MAX_UNKNOWN_MEMORY_SPEC_KEYS` / `CONFIG_MEMORY_PROJECT_KEY_SPELLING` / `CONFIG_MEMORY_WRITE_SCOPE_MISMATCH` + 判别形型(域 6 / 16)。CC-89 / CC-91 / CC-92 / CC-98 四票**零值导出增减**(新臂走 `ChromeEvent` 联合与内部臂表,`tasks_expand` 退役删的是联合成员不是导出名);1065 = 0.74.5 / 0.75.0 / 0.75.1 的值:相对 0.74.4 +4 —— `isNewEngineAgentPanelCycle`(CC-87,域 4)+ `approvalOutcomeNoteOf` 与两句固定文案常量(CC-88,域 3);1065 = 0.74.5 / 0.75.0 的值:相对 0.74.4 +4 —— `isNewEngineAgentPanelCycle`(CC-87,域 4)+ `approvalOutcomeNoteOf` 与两句固定文案常量(CC-88,域 3);1061 = 0.74.3 / 0.74.4 的值:相对 0.74.2 +9 —— CC-70 / CC-71 / CC-72 / CC-73 八件 + CC-80 `lastFlagValue`,见 §2b 域 3 / 4 / 10 / 15;1052 = 0.74.2 的值:相对 0.74.1 +6 —— CC-69 六件,见 §2b 域 9;1046 = 0.74.1 的值:相对 0.74.0 +1 —— `RETRACTED_CARD_DECISION_KIND`,见 §2b 域 3;1045 = 0.74.0 的值:相对 0.73.5 +1 —— `isStaleEngineAgentPanelEnd`,见 §2b 域 4;1044 = 0.73.5 的值:相对 0.73.4 +11 —— CC-58 规模告警十一件,名单见 §2b 域 12;1033 = 0.73.4 的值:相对 0.73.3 +1 —— `TOOL_INPUT_JOIN_MAX_CALLS`,见 §2b 域 1;1032 = 0.73.3 的值:相对 0.73.2 +6 —— CC-61 六件,名单见 §2b 域 9;1026 = 0.73.2 的值(导出名零增减);= 0.73.1 的值:相对 0.73.0 +7 —— CC-56 六件 / CC-57 一件,名单见 §2b 域 3 / 15;1019 = 0.73.0 的值(导出名零增减,BREAKING 在类型面);= 0.72.14 的值:相对 0.72.13 +8 —— CC-55 八件,名单见 §2b 域 3;1011 = 0.72.13 的值:相对 0.72.12 +18 —— CC-46 八件 / CC-54 六件 / CC-53 两件 / CC-50 缺席口两件,名单见 §2b 域 3 / 4 / 9 / 10;993 = 0.72.12 的值(测试钩 45):相对 0.72.11 +4 —— CC-50 `OUTCOME_UNKNOWN_ROW_PREFIX` / `isOutcomeUnknownRowText` / `TASK_NOTIFICATION_TERMINAL_STATUSES`(0.95.0 退出公面) / `isTaskNotificationTerminalStatus`(0.95.0 退出公面);989 = 0.72.10 的值:相对 0.72.9 +4 —— CC-41 `LEADER_RUN_STATUSES` / `LEADER_REJ_HEAD_DISPLAY_MAX` / `projectLeaderConflict` / `leaderConflictDetail`;985 = 0.72.9 的值:相对 0.72.8 +8 —— CC-30 `MCP_RECONNECT_OUTCOMES` / `MCP_RECONNECT_TRANSACTION_NOTICE` / `projectMcpReconnectResult` / `classifyMcpReconnectFailure` / `reconnectMcpServer` / `projectMcpReconnectCapability` / `mcpReconnectOutcomeDetail`、CC-39② `readAutoConsolidationArmed`;977 = 0.72.8 的值:相对 0.72.7 +6 —— CC-39③ `MEMORY_OFF` / `memoryOffDeclarationField` / `memoryOffDeclared`、CC-43 `MODEL_OUTPUT_ERROR_PREFIX` / `isModelOutputErrorText` / `isModelOutputErrorRowText`;971 = 0.72.7 的值:相对 0.72.6 +2 —— CC-42 core 7.22.0 提货 `MCP_REDIAL_OUTCOMES` / `readMcpServerRedialed`;969 = 0.72.6 的值:相对 0.72.5 +1 —— CC-40 `steerFollowIntent`;968 = 0.72.5 的值:相对 0.72.4 +6 —— CC-31 server 7.82.1 提货 `capabilities.webSearch.backend` 四态读面:`WEB_SEARCH_BACKEND_NONE` / `projectWebSearchBackendCapability` / `observedWebSearchBackend` / `noteEngineCapsForWebSearchBackend` / `forgetWebSearchBackendReading`(0.95.0 退出公面) / `webSearchBackendDoctorDetail`;962 = 0.72.3 的值:相对 0.72.2 +1 —— CC-39① `AGENT_MEMORY_WORDS`;0.72.2 相对 0.72.1 +1 —— CC-37 `noteOwnWorkflowRun`;0.72.1 相对 0.72.0 +4 —— CC-33 server 7.80.1 提货:`RESUME_CONTEXT_UNAVAILABLE` / `resumeContextUnavailableFromError` / `resumeContextUnavailableContent` / `skillBaseDirOf`;0.72.0 相对 0.71.4 −39 —— CC-32 退役批删 export-liveness 登记 retire 的 39 个零消费导出(23 常量 + 16 函数,名单见 §47);995 = 0.71.3 的值:相对 0.71.2 +9 —— CC-06 `readEffectiveReasoning` / `readEffectiveMemoryScopes` / `resumeReopenFromError` / `resumeReopenContent` / `routePairingVerdict` 五函数 + `RESUME_REOPEN_CODES` / `RESUME_ENV_FAILED` / `RESUME_TOOL_UNAVAILABLE` / `RESUME_TOOL_CONTRACT_MISMATCH` 四常量;986 = 0.71.0 的值:相对 0.70.2 −`MAX_AGENT_SKILLS` −`DECIDE_WORKFLOW_HOST_NOT_PARKED` +`projectToolRosterDelta` +`mcpEngineLegPresence`;986 = 0.70.0 的值:相对 0.69.2 **一件 additive(`readSkillsListingTruncated`,§39)、零删除**;985 = 0.69.2 的值:相对 0.69.1 **三件 additive、零删除**(CC-13 `isSubFlowSegmentEnd` / `SEGMENT_END_IDENTITY_KEYS` / `droppedWhySentence`,§38);982 = 0.69.0 未发布版的值(原排 0.68.3,因 peer 地板抬升改 minor)= 相对 0.68.2 **十七件 additive、零删除**:`fetchMcpPanel`(CC-03 补件,§36e)+ `readWorkflowResumeAdmissionIncomplete`(CC-05 core 7.18.0 #755)+ `installCoreValuePorts`/`hasCoreValuePorts`/`hasCoreValuePort`/`coreValuePortMisses`/`CORE_VALUE_PORT_NAMES` + 十读口(CC-07 core 值级端口,§36d);0.68.2 相对 0.68.1 十三件 additive:`SEMA_SEGMENT_ID_KEY`(CC-01 段身份键,§35f)/ `projectMcpPanel`+`mcpPanelLastLegDetail`+`projectMcpSection`(CC-03 `/mcp` 面板读视图,§35g)/ `resolveTextSegmentAuthority`/`createTextSegmentLedger`(L-318 `text_end` 权威段替换的判决单源 + print 形段账,详见 §35b/§35c)/ `memoryCaptureDeclarationField`/`MEMORY_CAPTURE_OFF`(L-316 会话级隐私声明的字面唯一铸点,§35d)/ `engineUrl`/`probeHealth`(L-61 件④ SDK 纯工具面原样转口,§35d)/ `AgentClient`/`isApprovalRequestFrameV1`/`isApprovalRevokeFrameV1`(L-61 存量清零:SDK **wire 面**原样转口,§35e)。`0.68.1`/`0.68.0` 是 **952**,那批是相对 0.67.2 **二十件 additive、🔴 两件删除(BREAKING)**:additive = `TERMINAL_CAUSE_KINDS`(0.95.0 退出公面)/`isTerminalCauseKind`(0.95.0 退出公面)/`RUN_TERMINAL_NOT_SUCCESS_STATUSES`(0.95.0 退出公面)/`RUN_TERMINAL_STATUSES`(0.95.0 退出公面)(L-247 终态词两表分源,详见 §33b)/ `SEMA_SUBAGENT_USAGE_PARTIAL_KEY`/`subagentUsageIsPartial`(L-244 子代下界位自有名,§33g)/ `ASK_UNRESOLVABLE_CAUSES`/`readAskUnresolvable`/`DURABLE_MANDATE_SOURCES`/`readDurableGateUnavailable`(core 7.17.0 #709 ①② 两只通告事实窄读器,§33c)/ `WORKFLOW_PARK_TRUTH_UNREADABLE`/`WORKFLOW_PARK_NOT_PENDING`/`WORKFLOW_PARK_BINDING_BROKEN`/`WORKFLOW_PARK_REQUIRES_RUN_STORE`(四个单码常量 🔧 0.72.0 退役)/`WORKFLOW_PARK_REFUSAL_CODES`/`isWorkflowParkRefusalCode`/`readWorkflowParks`(core 7.17.0 #652 park 真相四码 + parks 三键读器,§33d)/ `ENGINE_STOP_REASONS`/`engineStopReasonToCc`(L-246 A13 停止原词映射下沉,§33g)/ `readCancelRequested`(L-230 读面,§33f);🔴 **删除两件** `TERMINAL_NOT_SUCCESS_STATUSES`/`TERMINAL_STATUSES`(随 L-247 两表分源更名成 `RUN_TERMINAL_*`,clean-cut **不留别名** —— 留一个别名等于让端可以继续按合起来的那张表读,分源就白做了,详见 §33b)。`0.67.0` 是 **934**,那批是相对 0.66.0 **七件 additive、🔴 两件删除**:additive = `CLASSIFIER_DENY_CAUSES`/`isClassifierDenyCause`/`classifierDenyCauseOf`/`classifierDenyCauseDetail`(core 7.14.0 退役 `classifierUnavailable` 之后的**拒绝面**继任读器与措辞,详见 §32b)/ `RULE_STORE_UNREADABLE_KINDS`/`isRuleStoreUnreadableKind`/`ruleStoreUnreadableDetail`(退出公面;core 7.14.0 #688 C3 的规则店机制位三件,0.93.0 退役,详见 §32d / §119 RT-1);🔴 **删除两件** `classifierUnavailableOf`/`classifierUnavailableDetail`(随 core 7.14.0 的 Retired keys 表整族退役,clean-cut 不留别名,详见 §32b;同批删的还有**型** `ClassifierUnavailableView`、卡位与帧位 `classifierUnavailable`、以及一条恒真的型面钉 `_askOriginWordsPin`)。`0.66.0` 是 **929**,那批是一件 additive、零删除:`readRunCostFacts`(终局成本事实的唯一读器:`costBreakdown` / `nested` 窄读 + 对账三段与两个判别位,终帧超集键与 chrome 对账臂共用它;详见 §31c);已发的 **0.65.x 十一件 additive、两件删除**:additive = `DECIDE_WORKFLOW_HOST_UNKNOWN`/`DECIDE_WORKFLOW_HOST_NOT_PARKED`/`DECIDE_WORKFLOW_REMEMBER_UNSUPPORTED`/`DECIDE_WORKFLOW_LANE_CODES`/`readDecideReceipt`/`decideAcceptedNotResolved`/`decideRefusalFromError`(B-070 `/decide` 回执读面与三码人话,详见 §30h)/ `TERMINAL_NOT_SUCCESS_STATUSES`/`isTerminalNotSuccess`(0.95.0 退出公面)/`TERMINAL_STATUSES`/`isTerminalStatus`(0.95.0 退出公面)(L-215② 终局词汇单铸谓词,详见 §30j);🔴 **删除两件** `AUTO_MODE_BREAKER_CAUSES`/`classifierBreakerOf`(熔断族随 core 7.12.0 的 Removed(BREAKING) 整只退役,clean-cut 不留别名,详见 §30k②;同批删的还有**型** `ClassifierBreakerView` 与 `ClassifierStatusView.breaker` 一位)。`0.64.2` 是 **919**,那批是一件 additive、零删除:`readDenialLimitFallback`(限额回落卡的窄读器上公面,壳侧同判据副本退役,详见 §29③);`0.64.0` 是 **918**,那批是件①+件② 十三件 additive、零删除:`CLASSIFIER_STATUS_STATES`/`classifierBreakerOf`/`classifierStatusOf`/`classifierStatusDetail`(分类器状态面,详见 §28②)/ `THINKING_FORMATS`/`THINKING_FORMAT_WIRE_TWINS`/`THINKING_DISABLE_PROBE_ORDER`/`MODEL_PROBE_VERDICTS`/`PROBE_PROMPT`/`PROBE_MAX_TOKENS`(两个探针常量 🔧 0.72.0 退役)/`probeRequestBody`/`probeModelCapability`/`applyProbeToEntry`(模型思考能力探测,详见 §28①);`0.63.0` 是 **905**,那批是八件 additive、零删除:`projectServerGateKnobs`/`postureKnobSourceOf`/`postureSourceIsOperatorPinned`/`postureKnobDetail`/`POSTURE_SOURCE_WORDS`(S-178 三根 posture 旋钮读数,详见 §27b)/ `PERSISTED_RULE_BEHAVIORS`/`PERSISTED_RULE_BEHAVIOR_UNKNOWN`/`persistedRuleBehaviorOf`/`persistedRuleBehaviorLabel`/`revokeTargetFromPersistedRule`(三态规则身份,§27c)/ `engineIdentityOf`/`engineIdentityVerdict`/`engineIdentityChanged`/`engineIdentityChangedBy`/`ENGINE_IDENTITY_ANCHORS`(S-179 代际锚,§27d)/ `GATE_DENIED_BY_WORDS`/`gateDeniedByDetail`/`ASK_ORIGIN_WORDS`/`askOriginDetail`(门词汇 +2,§27e)/ `PERMISSION_RULE_ISSUE_CODES`/`RETIRED_PERMISSION_RULE_ISSUE_CODES`/`permissionRuleIssueDetail`(规则 lint 码表,§27f)/ `projectToolRoster`/`toolRosterNames`/`toolShimFromRoster`/`applyToolRosterDelta`(L-161 工具名册,§27g)/ `ENGINE_NOTICE_CODES`/`ENGINE_NOTICE_AUDIENCE`/`noticeAudienceOf`/`engineNoticeInCatalog`/`MCP_INJECTION_DROP_REASONS`/`readMcpInjectionDrop`(L-167 通告码册,§27h)/ `AUTO_MODE_UNAVAILABLE_CAUSES`/`AUTO_MODE_BREAKER_CAUSES`/`classifierUnavailableOf`/`classifierUnavailableDetail`(件⑧ 分类器不可用事实,§27h2);`0.62.0` 是 **869**,那批是五件 additive、**零删除**:`capForDisplay`(呈前消毒 + 封长的共用铸点,详见 §26⑦)/ `SEAT_SEND_MESSAGE_KEY_ORIGINS`(座位载荷逐键出身表,详见 §26③)/ `configureSubagentContentStore`+`subagentContentStoreConfig`+`SUBAGENT_CONTENT_STORE_DEFAULTS`(子代内容账本字节预算,测试钩 `__resetSubagentContentStoreConfigForTests` +1,详见 §26②);`0.61.0` 是 **864**,那批是三件 additive、**零删除**:`projectReadFacePosture`/`readFacePostureDetail`/`readFaceDisagreement`(S-167 READ 容纳面 operator 读器,详见 §25);`0.60.0` 是 **861**,那批是二十五件 additive、**零删除**:`readRunTerminal`/`runTerminalCode`/`runTerminalGateKind`/`runTerminalGateToolName`/`isReviewPark`/`REVIEW_PARK_GATE_KINDS` 六件终局因由读器 + `gateOutcomeOf`/`isDeniedGate`/`gateDeniedBy`/`gateApprover`/`isApprovalWindowExpiredGate`/`isDenialLimitAutoDeniedGate`/`isParkSlaExpiredGate`/`isHumanSettledGate` 八件门记录读器 + `projectWriteProtectionCapability`/`noteEngineCapsForWriteProtection`/`observedWriteProtection`/`forgetWriteProtectionReading`(0.95.0 退出公面)/`writeProtectionDoctorDetail`/`projectWriteProtectionPosture`/`writeProtectionPostureDetail` 七件写保护读面(测试钩 `__resetWriteProtectionReadingsForTests` +1)+ `readWireErrorCode` + 真机边界①的两件 `isGateParkedToolEnd`/`GATE_PARKED_ERROR_CODE` + 异源复审逼出的 `engineCapsGeneration`;`0.59.0` 是 **836**,那批是八件 additive:`RULE_OFFERS_ABSENCE_REASONS`/`DENIAL_LIMIT_KINDS`(后者 🔧 0.85.0 退出公面)两张闭词表再导出 + `engineCapValue` 能力位四态通用读口 + `projectSqlEngineCapability`/`observedSqlEngine`/`noteEngineCapsForSqlEngine`/`forgetSqlEngineReading`(0.95.0 退出公面)/`sqlEngineDoctorDetail` 五件 SQL 姿态读面(测试钩 `__resetSqlEngineReadingsForTests` +1);`0.58.0` 是 **828**,那批是三件 additive:`RULE_OFFER_MATCHES`/`RULE_OFFER_BATCH_MEMBER_KINDS`/`RULE_OFFER_UNCOVERED_REASONS` 三张闭词表再导出 + `RESUME_REFUSAL_CODES`/`RESUME_PLACEMENT_MISMATCH`/`resumeRefusalFromError`/`resumeRefusalContent` 四件文案铸点;`0.57.0` 是 **821**;`0.56.0`/`0.55.0` 是 **815**;已发 `0.54.0`(design/385 十件 additive 含 `AUTHORITY_ENVELOPE_TAGS` 🔧 0.72.0 退役);`0.52.0` 是 **805**(L-69⑨ 两件);`0.51.0` 是 **803**;`0.50.0` 是 **800**(S-81 五件);`0.49.0` 是 **795**;`0.48.0` 是 **794**;npm `0.47.0` 是 **790**,`0.46.0` 是 **787**,`0.44.0` 是 **783**,`0.43.1`/`0.43.0` 是 **776**,`0.42.0` 是 **771**,`0.41.0` 是 **767**,`0.39.0` 是 **766**,`0.38.0` 是 **764**;`0.37.0` 是 **753**,见 `CHANGELOG.md`) | `scripts/public-export-baseline.json` 的 `count` / `testHookCount` —— **别手抄进别处,以该文件为准** |
26
+ | 公开导出面 | **1713** 个运行期符号(+ **44 个测试钩,两种拼法**:20 个 `__*ForTests` + 24 个单下划线开头(22 个 `_*ForTest` + `_resetLiveQuestionStore` / `_resetUltracodePreset`) —— 两种都在 `public-export-baseline.json` 的 `testHookNames` 里、各自受棘轮管,**不在** `names` 的 1713 里。运行期 `Object.keys(dist/index.js)` 的全量 = 1713 + 44 = **1757**;只剔双下划线那 21 个会多数出 24 个来,那不是棘轮盲区;1713 = 0.97.1 的 1641 + 72,逐行一步(按 `public-export-baseline.json` 对 0.97.1 发布基线逐名实算,每步是该行在 CHANGELOG 各 Added / Removed 条目里的名数,逐名见 §2z 与 §126 各行):WD 行 +14 → 1655;GT 行 +1 → 1656;AC 行 +11 → 1667;TP 行 +4 → 1671;DU 行 +1 → 1672;TH 行 +8 → 1680;ID 行 +2 → 1682;CP 行 +4 −1 → 1685;HL 行 +11 → 1696;ST 行 +6 −2 → 1700;UP 行 +9 → 1709;PK 行 +2 → 1711;LF 行 +7 → 1718;CS 行 +3 → 1721;TK 行 +4 −2 → 1723;SC 行 +3 → 1726;HM-R 行 +3 −3 → 1726;TX 行 +12 −1 → 1737;RT 行 +1 → 1738;LG 行 +5 → 1743;PN 行 +1 → 1744;BA 行 +1 → 1745;HK 行 −1 → 1744;RB 行 −19 → 1725;RC 行 −6 → 1719;RA 行 −2 → 1717;RD 行 −2 → 1715;TK-6 孪生 −2 → 1713(RB 行 −19:十九只能力位读器 tee 口退出根入口,逐名见 §2z,§126 RB-1;RC 行 −6:门已决三拼装件与脱敏位读器三只,§126 RC-1 / RC-4;TK-6 孪生 −2:`MAX_AGENT_NAME_CHARS` / `MAX_AGENT_MAX_TURNS`(0.98.0 退出公面),§126 TK-6);测试钩 60 → 44(RB 行 −14:十四只读器测试钩,§126 RB-2;RA 行 −1:`__resetEngineAgentPanelAbsenceForTests`(0.98.0 退出公面),§126 RA-2;ST 行 −1:`__resetAttachmentSeatReadingsForTests`(0.98.0 退出公面),§126 ST-3);1641 = 0.97.0 的 1639 +2:AD 行 +2(`engineToolDirectoryOf` / `excludeToolsAgainstDirectory`(0.98.0 退出公面),§125 AD-3 / AD-4);1639 = 0.96.0(2026-10-13)发布值 1629 +13 −3:CL 行 +2(`engineCapsLandingOf` / `rotateEngineCapsProbe`,§124 CL-1 / CL-3)· NC 行 +1(`readToolCardOutcome`,§124 NC-2)· SR 行 +2(`isSdkRunParked` / `SDK_PARKED_RUN_STATUSES`,§124 SR-1)· TN 行 +1 −1(`ruleToolNameVerdictOf` 上根入口 / `isEngineRefusedToolName`(0.97.0 退出公面),§124 TN-2 / TN-3)· PK 行 +7 −1(`CONFLICT_IDEMPOTENCY_PAYLOAD_MISMATCH` / `isIdempotencyPayloadMismatchCode` / `idempotencyPayloadMismatchContent`〔PK-5〕、`readApprovalCardWord`〔PK-7〕、`modelCandidateRejectedOf` / `modelCandidateRejectedContent`〔PK-11〕、`APPROVAL_DECIDE_GATE_KINDS` 转口〔PK-4〕;`ASK_PARK_GATE_KINDS`(0.97.0 退出公面)〔PK-4〕)· HT 行 −1(`isFsApprovalGate`(0.97.0 退出公面),§124 HT-1 / §2z);测试钩 59 → 60(RP 行 `__resetSettledApprovalsForTests`,§124 RP-3);最简单的剔法是去掉所有以 `_` 开头的名字(公面运行期名没有一个以 `_` 开头);1586 = 0.95.0 的 1587 −1(0.96.0 FA 行:`CONFIG_REFUSAL_CODES`(0.96.0 退出公面) 退出根入口,§123z / §2z);其后同窗各行并入:WD 行 +2、HW 行 +4、RT 行 −1(`recordBgTerminalFacts`(0.96.0 退出公面) 退出根入口,§123z / §2z)、RT-6 行 −9(九只 `noteEngineCapsFor*` 退出根入口,§123z / §2z;测试钩另 −14 = 73 → 59),合 1582;1587 = 0.95.0(2026-10-12)§122 各行合计的值:相对 0.94.0(1547)**+40**(新增 +83、退出 −43;RX 行退出三十名:`providerRejectionResend`(0.95.0 退出公面) 与二十九只逐只失效口 `forget*Reading`〔逐名见 §2z〕;SB 行四名 `mcpEngineLegConnectionOf` / `modelSwitchProbeOutcomeOf` / `runModelSwitchProbe` / `createModelSwitchFallbackLedger`(测试钩 −2:`__resetSubagentStreamCapCacheForTests` / `__resetSubagentOutputCapCacheForTests` 随子代两只私有能力表删除,0.95.0 退出公面,§122 SB-1);RS 行两名 `runningAttachOffered` / `resumeRunningCancelConfirmedRow`;TW 行退出十名 `TERMINAL_CAUSE_KINDS`(0.95.0 退出公面) / `RUN_TERMINAL_STATUSES`(0.95.0 退出公面) / `RUN_TERMINAL_NOT_SUCCESS_STATUSES`(0.95.0 退出公面) / `TASK_NOTIFICATION_TERMINAL_STATUSES`(0.95.0 退出公面) / `TERMINAL_FLEET_TASK_STATUSES` / `CLAIM_RELEASED_STATES` / `isTerminalCauseKind`(0.95.0 退出公面) / `isTerminalStatus`(0.95.0 退出公面) / `isTerminalNotSuccess`(0.95.0 退出公面) / `isTaskNotificationTerminalStatus`(0.95.0 退出公面)、新增十四名 `CORE_TERMINAL_CAUSE_KINDS` / `SDK_RUN_TERMINAL_STATUSES` / `SDK_FLEET_TASK_TERMINAL_STATUSES` / `CORE_TASK_NOTIFICATION_TERMINAL_STATUSES` / `CORE_SEMA_TASK_TERMINAL_STATUSES` / `isCoreTerminalCauseKind` / `isSdkRunTerminal` / `isSdkRunTerminalNotSuccess` / `isSdkFleetTaskTerminal` / `isSdkFleetTaskTerminalNotSuccess` / `isCoreTaskNotificationTerminal` / `isCoreTaskNotificationTerminalNotSuccess` / `isCoreSemaTaskTerminal` / `ccTaskTerminalStatusOf`(终态词表改名带属主,逐名对照见 §122 TW-1);XH 行一名 `joinApprovalHolder`;FX-A 行两名 `readApprovalRememberRefused` / `rememberRefusalOf`;PK7 行一名 `approvalCompleteCauseOf`;PR 行四名 `PANEL_DELTA_OPS` / `reducePanelFrame` / `createPanelReduceState` / `subscribeEnginePanelRows`;KA 行一名 `stripToolUseSideChannels`;UP 行一名 `droppedModelEntriesOf`;RD 行十七名 —— RD-2 十三名 `readUsageSummary` / `readUsageSeries` / `readUsageBreakdown` / `projectUsageSummary` / `projectUsageSeries` / `projectUsageBreakdown` / `classifyUsageFailure` / `projectUsageAnalytics` / `readUsageAnalytics` / `usageBoundPrefix` / `usageWindowOfRange` / `USAGE_SENTENCES` / `USAGE_HEATMAP_MAX_DAYS`,RD-3 四名 `classifyApprovalCompleteFrame` / `parkRowDeadlineState` / `lateDecideRoute` / `runReapedByDeadline`;SA 行八名 `fireInteractiveInterrupt` / `listDevices` / `readSessionBinding` / `rebindSession` / `reconcileRebindOutcome` / `rebindProvesRequestNotApplied` / `resolveEngineEnvSourcing` / `engineEnvView`);WC 行三名 `hasLedgerPositionKey` / `replayedApprovalSentence` / `allowRuleShadowSentence`;FX-D 行三名 `refusedParkFromError` / `refusedParkContent` / `refusedParkBlockedContent`;WB 行十一名 `readLiveModelCatalog` / `liveDefaultModelOf` / `atMentionOf` / `modelCompatOf` / `liveModelRowsOf` / `checkSendMessageRequest` / `isSendMessageRequest` / `REWIND_MODES` / `SEAT_REWIND_INTENT_KEYS` / `SEAT_TURN_SETTINGS_ORIGINS` / `approvalCompleteParked`,退出一名 `isSeatModelCatalog`(0.95.0 退出公面);FX-E 行三名 `engineCredentialRequirementOf` / `storePostureHeadWord` / `isSessionIdPathSegment`;FX-F 行两名 `forgetSettledTerminalRow` / `forgetSettledTerminalRowFor`;FX-H 行三名 `engineRewindRefusedNow` / `decideRewindEngineAction` / `previewEngineRewind`,退出两名 `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面;判读口改住子路径入口 `./registry`,§122 FX-H2);0.94.0 = 1547:相对 0.93.1(1485)**+62**(新增 +64、退出 −2;按 `public-export-baseline.json` 对 0.93.1 发布基线逐名实算 —— ST 行五名 `SEAT_CAPABILITY_NAMES` / `seatCapability` / `watchSeatCapability` / `seatCapabilityUnavailableDetail` / `deviceFlowPollingPlan` · SV-1 `readAllowedToolNotGranted` · SV-4 五名 `projectSessionReadRedactionCapability` / `noteEngineCapsForSessionReadRedaction`(0.96.0 退出公面) / `observedSessionReadRedaction`(0.98.0 退出公面) / `forgetSessionReadRedactionReading`(0.95.0 退出公面) / `sessionReadRedactionAdmitted`(0.98.0 退出公面) · SV-5 五名 `projectOutputStyleSeatCapability` / `noteEngineCapsForOutputStyleSeat`(0.98.0 退出公面) / `observedOutputStyleSeat` / `forgetOutputStyleSeatReading`(0.95.0 退出公面) / `outputStyleSeatAdmitted` · SV-5 / SV-7 两只码常量 `CONFIG_OUTPUT_STYLE_INVALID` / `CONFIG_AGENT_UNKNOWN_TOOL` · CP-7 `mandatedApprovalDetailOf` · CP-12 `compileAllowList` · RQ 行六名 `WIRE_RULE_TRUST_ORDER` / `approvalReachDeclaration` / `approvalReachDeclarationSettled` / `isApproverUnavailableGate` / `effortLevelsOf` / `effortLevelHonored` · HD 行十二名 `classifyDecisionRefusal` / `liveAskPendingReading` / `decisionRefusalClosesOut` / `undeliverableDecisionContent` / `noAllowCauseOf` / `policyDenyReason` / `permissionRequestHookScope` / `readApprovalBoundGrants` / `readApprovalClassifierNoRuling` / `approvalBoundGrantsDetail` / `classifierNoRulingDetail` / `approvalPriorCardsDetail` · RP-1 四名 `resultErrorCodeOf` / `resultParkFailedReasonOf` / `resultSalvagedResultOf` / `resultSelectedModelOf` · RP-2 七名 `projectCallerCwdCapability` / `noteEngineCapsForCallerCwd`(0.96.0 退出公面) / `observedCallerCwd` / `forgetCallerCwdReading`(0.95.0 退出公面) / `callerCwdAdmitted` / `legCwdOfBody` / `engineSelectedInstructionsFile` · RP-3 五名 `routeKeyOf` / `joinRequestUrl` / `resolveRouteCredential` / `adjudicateModelRoute` / `routePairingStatus` · SP2-2 三名 `REQUEST_AUTONOMY_LANE_REFUSED` / `autonomyLaneRefusalFromError` / `autonomyLaneRefusalContent` · SP2-4 三名 `isInStreamDrainingEnd` / `streamDrainingDecision` / `STREAM_DRAINING_RECONNECT_MAX` · SP2-5 `agentToolListFlaws` · PK-2 `readToolApprovalRespondParking` · HW2-3 `askProbeReasonDetail` · HW2-4 `subagentStateDetail`;退出 −2:`askSurvivesPosture`(0.94.0 退出公面)/ `askSurvivesStandingAnswer`(0.94.0 退出公面;两只旧口随 RL-56 / RL-57 退役,§121 HD 行);测试钩 71 → 74 = **+3**,三只读器的复位钩 `__resetCallerCwdReadingsForTests` / `__resetOutputStyleSeatReadingsForTests` / `__resetSessionReadRedactionReadingsForTests`;§121 FX 行:CC-514 初版加的常量 `APPROVAL_NOTE_ABORTED_DETAIL` 随 FX-2 定形撤回(未发布,不计退出;FX-2),其余只加可选型位与联合成员);1485 = 0.93.0(未发布)的值:相对 0.92.0(1483)**+2**(新增 +23:§119 DB-1 五名 `projectApprovalDecidedByCapability` / `noteEngineCapsForApprovalDecidedBy`(0.98.0 退出公面) / `observedApprovalDecidedBy` / `forgetApprovalDecidedByReading`(0.95.0 退出公面) / `approvalDecidedByAdmitted` · DB-2 `decisionAttributionKeyOf` · §119 PM-1 五名 `projectPermissionModesCapability` / `noteEngineCapsForPermissionModes`(0.96.0 退出公面) / `observedPermissionModes` / `forgetPermissionModesReading`(0.95.0 退出公面) / `permissionModeAdmitted` · SA-1 两名 `SCENARIO_ASSIGNMENT_UNKNOWN_ERROR_CODE` / `scenarioAssignmentUnknownFromError` · §119 BD-2 `PROMPT_BLOCK_CAUSES` · CS-1 `transportFailureScene` · BG-1 `detectEngineBgShellDetach` · TH-2 `readEngineConfigApplyState` / `configDriftVerdict` · CT-1 `coreVersionTier` · WF-1 / WF-2 两只码常量 · MU-2 `MCP_RECONNECT_UNSETTLED_NOTICE` · DX-2 `deviceLaneOpen`;退出 −21:§119 RT-1 … RT-8 的到期登记物硬删,逐名见 §2z);1483 = 0.92.0(2026-10-07)的值:相对 0.91.0(1429)**+54** —— CC-295 +3(§118 AC-1 / AC-3:`ABORT_CAUSES` · `readAbortCause` · `abortCauseNoteOf`)· CC-368 / CC-401 +3(§118 PV / AR 行:`automaticAnswerVerdict` · `readApprovalAllowRuleShadow` · `approvalAllowRuleShadowed`)· CC-374 / CC-353 +11 −2(§118 ST-1 / ST-2 / ST-4 / ST-5:`fleet.steerPriority` 读器六名 · `steerBodyOf` · `readSteerReceipt` · `readTurnInterrupted` / `turnInterruptedNotice` / `steerCutVerdict`;`readSteerDelivery`(🔧 0.92.0 退出公面)/ `readSteerReceiptStatus`(🔧 0.92.0 退出公面);测试钩 +1 = 读器的复位钩)· CC-367 `replayedApprovalDisposition` / `REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT`(§118 RP-1 / RP-2)· CC-369 ⑦ `CONFIG_IMAGE_INVALID` / `imageInvalidFailureNoteOf`(§118 DP-6)· CC-371 / CC-370 +35(§118 SV-18 – SV-24:`askGoneFromError` / `askGoneContent` / `ASK_GONE` · `RUN_STALLED` / `RUN_ORPHANED` / `APPROVAL_EXPIRED` / `RUN_DEATH_VERDICT_CODES` / `runDeathVerdictNoteOf` · `CAPABILITY_OPERATOR_PRINCIPALS_REQUIRED` / `operatorGateRefusalContent` · 四只能力位读器各六名 · `mintNamespacePrefix`;测试钩 +4 = 四只读器的复位钩);1485 = 0.93.0(未发布)的值:相对 0.92.0(1483)**+1** —— CC-364 `PROMPT_BLOCK_CAUSES`(§119 BD-2;域 1);以下为历史读数(原句保留):= 下一版(未发布)的值:相对 0.75.1 **+16**,两票合计 —— **CC-77 ①** 审批决断结局单源判别联合 6 件:`approvalResolutionOf`(0.98.0 已退役)/ `isApprovalDecided` / `approvalNotSentCause` / `approvalUnsettledCause` + 两张 cause 词表 `APPROVAL_NOT_SENT_CAUSES` / `APPROVAL_UNSETTLED_CAUSES`(域 3);**CC-96** 记忆 spec 读面 10 件:`readAgentMemorySpec` / `unknownMemorySpecKeys` / `unknownMemorySpecKeysNote` / `memoryConfigRefusalNoteOf` / `KNOWN_AGENT_MEMORY_SPEC_KEYS` / `PENDING_MEMORY_SPEC_KEYS` / `MAX_UNKNOWN_MEMORY_SPEC_KEYS` / `CONFIG_MEMORY_PROJECT_KEY_SPELLING` / `CONFIG_MEMORY_WRITE_SCOPE_MISMATCH` + 判别形型(域 6 / 16)。CC-89 / CC-91 / CC-92 / CC-98 四票**零值导出增减**(新臂走 `ChromeEvent` 联合与内部臂表,`tasks_expand` 退役删的是联合成员不是导出名);1065 = 0.74.5 / 0.75.0 / 0.75.1 的值:相对 0.74.4 +4 —— `isNewEngineAgentPanelCycle`(CC-87,域 4)+ `approvalOutcomeNoteOf`(0.98.0 已退役)与两句固定文案常量(CC-88,域 3);1065 = 0.74.5 / 0.75.0 的值:相对 0.74.4 +4 —— `isNewEngineAgentPanelCycle`(CC-87,域 4)+ `approvalOutcomeNoteOf`(0.98.0 已退役)与两句固定文案常量(CC-88,域 3);1061 = 0.74.3 / 0.74.4 的值:相对 0.74.2 +9 —— CC-70 / CC-71 / CC-72 / CC-73 八件 + CC-80 `lastFlagValue`,见 §2b 域 3 / 4 / 10 / 15;1052 = 0.74.2 的值:相对 0.74.1 +6 —— CC-69 六件,见 §2b 域 9;1046 = 0.74.1 的值:相对 0.74.0 +1 —— `RETRACTED_CARD_DECISION_KIND`,见 §2b 域 3;1045 = 0.74.0 的值:相对 0.73.5 +1 —— `isStaleEngineAgentPanelEnd`,见 §2b 域 4;1044 = 0.73.5 的值:相对 0.73.4 +11 —— CC-58 规模告警十一件,名单见 §2b 域 12;1033 = 0.73.4 的值:相对 0.73.3 +1 —— `TOOL_INPUT_JOIN_MAX_CALLS`,见 §2b 域 1;1032 = 0.73.3 的值:相对 0.73.2 +6 —— CC-61 六件,名单见 §2b 域 9;1026 = 0.73.2 的值(导出名零增减);= 0.73.1 的值:相对 0.73.0 +7 —— CC-56 六件 / CC-57 一件,名单见 §2b 域 3 / 15;1019 = 0.73.0 的值(导出名零增减,BREAKING 在类型面);= 0.72.14 的值:相对 0.72.13 +8 —— CC-55 八件,名单见 §2b 域 3;1011 = 0.72.13 的值:相对 0.72.12 +18 —— CC-46 八件 / CC-54 六件 / CC-53 两件 / CC-50 缺席口两件,名单见 §2b 域 3 / 4 / 9 / 10;993 = 0.72.12 的值(测试钩 45):相对 0.72.11 +4 —— CC-50 `OUTCOME_UNKNOWN_ROW_PREFIX` / `isOutcomeUnknownRowText` / `TASK_NOTIFICATION_TERMINAL_STATUSES`(0.95.0 退出公面) / `isTaskNotificationTerminalStatus`(0.95.0 退出公面);989 = 0.72.10 的值:相对 0.72.9 +4 —— CC-41 `LEADER_RUN_STATUSES` / `LEADER_REJ_HEAD_DISPLAY_MAX` / `projectLeaderConflict` / `leaderConflictDetail`;985 = 0.72.9 的值:相对 0.72.8 +8 —— CC-30 `MCP_RECONNECT_OUTCOMES` / `MCP_RECONNECT_TRANSACTION_NOTICE` / `projectMcpReconnectResult` / `classifyMcpReconnectFailure` / `reconnectMcpServer` / `projectMcpReconnectCapability` / `mcpReconnectOutcomeDetail`、CC-39② `readAutoConsolidationArmed`;977 = 0.72.8 的值:相对 0.72.7 +6 —— CC-39③ `MEMORY_OFF` / `memoryOffDeclarationField` / `memoryOffDeclared`、CC-43 `MODEL_OUTPUT_ERROR_PREFIX` / `isModelOutputErrorText` / `isModelOutputErrorRowText`;971 = 0.72.7 的值:相对 0.72.6 +2 —— CC-42 core 7.22.0 提货 `MCP_REDIAL_OUTCOMES` / `readMcpServerRedialed`;969 = 0.72.6 的值:相对 0.72.5 +1 —— CC-40 `steerFollowIntent`;968 = 0.72.5 的值:相对 0.72.4 +6 —— CC-31 server 7.82.1 提货 `capabilities.webSearch.backend` 四态读面:`WEB_SEARCH_BACKEND_NONE` / `projectWebSearchBackendCapability` / `observedWebSearchBackend` / `noteEngineCapsForWebSearchBackend`(0.98.0 退出公面) / `forgetWebSearchBackendReading`(0.95.0 退出公面) / `webSearchBackendDoctorDetail`;962 = 0.72.3 的值:相对 0.72.2 +1 —— CC-39① `AGENT_MEMORY_WORDS`;0.72.2 相对 0.72.1 +1 —— CC-37 `noteOwnWorkflowRun`;0.72.1 相对 0.72.0 +4 —— CC-33 server 7.80.1 提货:`RESUME_CONTEXT_UNAVAILABLE` / `resumeContextUnavailableFromError` / `resumeContextUnavailableContent` / `skillBaseDirOf`;0.72.0 相对 0.71.4 −39 —— CC-32 退役批删 export-liveness 登记 retire 的 39 个零消费导出(23 常量 + 16 函数,名单见 §47);995 = 0.71.3 的值:相对 0.71.2 +9 —— CC-06 `readEffectiveReasoning` / `readEffectiveMemoryScopes` / `resumeReopenFromError` / `resumeReopenContent` / `routePairingVerdict` 五函数 + `RESUME_REOPEN_CODES` / `RESUME_ENV_FAILED` / `RESUME_TOOL_UNAVAILABLE` / `RESUME_TOOL_CONTRACT_MISMATCH` 四常量;986 = 0.71.0 的值:相对 0.70.2 −`MAX_AGENT_SKILLS` −`DECIDE_WORKFLOW_HOST_NOT_PARKED` +`projectToolRosterDelta` +`mcpEngineLegPresence`;986 = 0.70.0 的值:相对 0.69.2 **一件 additive(`readSkillsListingTruncated`,§39)、零删除**;985 = 0.69.2 的值:相对 0.69.1 **三件 additive、零删除**(CC-13 `isSubFlowSegmentEnd` / `SEGMENT_END_IDENTITY_KEYS` / `droppedWhySentence`,§38);982 = 0.69.0 未发布版的值(原排 0.68.3,因 peer 地板抬升改 minor)= 相对 0.68.2 **十七件 additive、零删除**:`fetchMcpPanel`(CC-03 补件,§36e)+ `readWorkflowResumeAdmissionIncomplete`(CC-05 core 7.18.0 #755)+ `installCoreValuePorts`/`hasCoreValuePorts`/`hasCoreValuePort`/`coreValuePortMisses`/`CORE_VALUE_PORT_NAMES` + 十读口(CC-07 core 值级端口,§36d);0.68.2 相对 0.68.1 十三件 additive:`SEMA_SEGMENT_ID_KEY`(CC-01 段身份键,§35f)/ `projectMcpPanel`+`mcpPanelLastLegDetail`+`projectMcpSection`(CC-03 `/mcp` 面板读视图,§35g)/ `resolveTextSegmentAuthority`/`createTextSegmentLedger`(L-318 `text_end` 权威段替换的判决单源 + print 形段账,详见 §35b/§35c)/ `memoryCaptureDeclarationField`/`MEMORY_CAPTURE_OFF`(L-316 会话级隐私声明的字面唯一铸点,§35d)/ `engineUrl`/`probeHealth`(L-61 件④ SDK 纯工具面原样转口,§35d)/ `AgentClient`/`isApprovalRequestFrameV1`/`isApprovalRevokeFrameV1`(L-61 存量清零:SDK **wire 面**原样转口,§35e)。`0.68.1`/`0.68.0` 是 **952**,那批是相对 0.67.2 **二十件 additive、🔴 两件删除(BREAKING)**:additive = `TERMINAL_CAUSE_KINDS`(0.95.0 退出公面)/`isTerminalCauseKind`(0.95.0 退出公面)/`RUN_TERMINAL_NOT_SUCCESS_STATUSES`(0.95.0 退出公面)/`RUN_TERMINAL_STATUSES`(0.95.0 退出公面)(L-247 终态词两表分源,详见 §33b)/ `SEMA_SUBAGENT_USAGE_PARTIAL_KEY`/`subagentUsageIsPartial`(L-244 子代下界位自有名,§33g)/ `ASK_UNRESOLVABLE_CAUSES`/`readAskUnresolvable`/`DURABLE_MANDATE_SOURCES`/`readDurableGateUnavailable`(core 7.17.0 #709 ①② 两只通告事实窄读器,§33c)/ `WORKFLOW_PARK_TRUTH_UNREADABLE`/`WORKFLOW_PARK_NOT_PENDING`/`WORKFLOW_PARK_BINDING_BROKEN`/`WORKFLOW_PARK_REQUIRES_RUN_STORE`(四个单码常量 🔧 0.72.0 退役)/`WORKFLOW_PARK_REFUSAL_CODES`/`isWorkflowParkRefusalCode`/`readWorkflowParks`(core 7.17.0 #652 park 真相四码 + parks 三键读器,§33d)/ `ENGINE_STOP_REASONS`/`engineStopReasonToCc`(L-246 A13 停止原词映射下沉,§33g)/ `readCancelRequested`(L-230 读面,§33f);🔴 **删除两件** `TERMINAL_NOT_SUCCESS_STATUSES`/`TERMINAL_STATUSES`(随 L-247 两表分源更名成 `RUN_TERMINAL_*`,clean-cut **不留别名** —— 留一个别名等于让端可以继续按合起来的那张表读,分源就白做了,详见 §33b)。`0.67.0` 是 **934**,那批是相对 0.66.0 **七件 additive、🔴 两件删除**:additive = `CLASSIFIER_DENY_CAUSES`/`isClassifierDenyCause`/`classifierDenyCauseOf`/`classifierDenyCauseDetail`(core 7.14.0 退役 `classifierUnavailable` 之后的**拒绝面**继任读器与措辞,详见 §32b)/ `RULE_STORE_UNREADABLE_KINDS`/`isRuleStoreUnreadableKind`/`ruleStoreUnreadableDetail`(退出公面;core 7.14.0 #688 C3 的规则店机制位三件,0.93.0 退役,详见 §32d / §119 RT-1);🔴 **删除两件** `classifierUnavailableOf`/`classifierUnavailableDetail`(随 core 7.14.0 的 Retired keys 表整族退役,clean-cut 不留别名,详见 §32b;同批删的还有**型** `ClassifierUnavailableView`、卡位与帧位 `classifierUnavailable`、以及一条恒真的型面钉 `_askOriginWordsPin`)。`0.66.0` 是 **929**,那批是一件 additive、零删除:`readRunCostFacts`(终局成本事实的唯一读器:`costBreakdown` / `nested` 窄读 + 对账三段与两个判别位,终帧超集键与 chrome 对账臂共用它;详见 §31c);已发的 **0.65.x 十一件 additive、两件删除**:additive = `DECIDE_WORKFLOW_HOST_UNKNOWN`/`DECIDE_WORKFLOW_HOST_NOT_PARKED`/`DECIDE_WORKFLOW_REMEMBER_UNSUPPORTED`/`DECIDE_WORKFLOW_LANE_CODES`/`readDecideReceipt`/`decideAcceptedNotResolved`/`decideRefusalFromError`(B-070 `/decide` 回执读面与三码人话,详见 §30h)/ `TERMINAL_NOT_SUCCESS_STATUSES`/`isTerminalNotSuccess`(0.95.0 退出公面)/`TERMINAL_STATUSES`/`isTerminalStatus`(0.95.0 退出公面)(L-215② 终局词汇单铸谓词,详见 §30j);🔴 **删除两件** `AUTO_MODE_BREAKER_CAUSES`/`classifierBreakerOf`(熔断族随 core 7.12.0 的 Removed(BREAKING) 整只退役,clean-cut 不留别名,详见 §30k②;同批删的还有**型** `ClassifierBreakerView` 与 `ClassifierStatusView.breaker` 一位)。`0.64.2` 是 **919**,那批是一件 additive、零删除:`readDenialLimitFallback`(限额回落卡的窄读器上公面,壳侧同判据副本退役,详见 §29③);`0.64.0` 是 **918**,那批是件①+件② 十三件 additive、零删除:`CLASSIFIER_STATUS_STATES`/`classifierBreakerOf`/`classifierStatusOf`/`classifierStatusDetail`(分类器状态面,详见 §28②)/ `THINKING_FORMATS`/`THINKING_FORMAT_WIRE_TWINS`/`THINKING_DISABLE_PROBE_ORDER`/`MODEL_PROBE_VERDICTS`/`PROBE_PROMPT`/`PROBE_MAX_TOKENS`(两个探针常量 🔧 0.72.0 退役)/`probeRequestBody`/`probeModelCapability`/`applyProbeToEntry`(模型思考能力探测,详见 §28①);`0.63.0` 是 **905**,那批是八件 additive、零删除:`projectServerGateKnobs`/`postureKnobSourceOf`/`postureSourceIsOperatorPinned`/`postureKnobDetail`/`POSTURE_SOURCE_WORDS`(S-178 三根 posture 旋钮读数,详见 §27b)/ `PERSISTED_RULE_BEHAVIORS`/`PERSISTED_RULE_BEHAVIOR_UNKNOWN`/`persistedRuleBehaviorOf`/`persistedRuleBehaviorLabel`/`revokeTargetFromPersistedRule`(三态规则身份,§27c)/ `engineIdentityOf`/`engineIdentityVerdict`/`engineIdentityChanged`/`engineIdentityChangedBy`/`ENGINE_IDENTITY_ANCHORS`(S-179 代际锚,§27d)/ `GATE_DENIED_BY_WORDS`/`gateDeniedByDetail`/`ASK_ORIGIN_WORDS`/`askOriginDetail`(门词汇 +2,§27e)/ `PERMISSION_RULE_ISSUE_CODES`/`RETIRED_PERMISSION_RULE_ISSUE_CODES`/`permissionRuleIssueDetail`(规则 lint 码表,§27f)/ `projectToolRoster`/`toolRosterNames`/`toolShimFromRoster`/`applyToolRosterDelta`(L-161 工具名册,§27g)/ `ENGINE_NOTICE_CODES`/`ENGINE_NOTICE_AUDIENCE`/`noticeAudienceOf`/`engineNoticeInCatalog`/`MCP_INJECTION_DROP_REASONS`/`readMcpInjectionDrop`(L-167 通告码册,§27h)/ `AUTO_MODE_UNAVAILABLE_CAUSES`/`AUTO_MODE_BREAKER_CAUSES`/`classifierUnavailableOf`/`classifierUnavailableDetail`(件⑧ 分类器不可用事实,§27h2);`0.62.0` 是 **869**,那批是五件 additive、**零删除**:`capForDisplay`(呈前消毒 + 封长的共用铸点,详见 §26⑦)/ `SEAT_SEND_MESSAGE_KEY_ORIGINS`(座位载荷逐键出身表,详见 §26③)/ `configureSubagentContentStore`+`subagentContentStoreConfig`+`SUBAGENT_CONTENT_STORE_DEFAULTS`(子代内容账本字节预算,测试钩 `__resetSubagentContentStoreConfigForTests` +1,详见 §26②);`0.61.0` 是 **864**,那批是三件 additive、**零删除**:`projectReadFacePosture`/`readFacePostureDetail`/`readFaceDisagreement`(S-167 READ 容纳面 operator 读器,详见 §25);`0.60.0` 是 **861**,那批是二十五件 additive、**零删除**:`readRunTerminal`/`runTerminalCode`/`runTerminalGateKind`/`runTerminalGateToolName`/`isReviewPark`/`REVIEW_PARK_GATE_KINDS` 六件终局因由读器 + `gateOutcomeOf`/`isDeniedGate`/`gateDeniedBy`/`gateApprover`/`isApprovalWindowExpiredGate`/`isDenialLimitAutoDeniedGate`/`isParkSlaExpiredGate`/`isHumanSettledGate` 八件门记录读器 + `projectWriteProtectionCapability`/`noteEngineCapsForWriteProtection`(0.98.0 退出公面)/`observedWriteProtection`/`forgetWriteProtectionReading`(0.95.0 退出公面)/`writeProtectionDoctorDetail`/`projectWriteProtectionPosture`/`writeProtectionPostureDetail` 七件写保护读面(测试钩 `__resetWriteProtectionReadingsForTests`(0.98.0 退出公面) +1)+ `readWireErrorCode` + 真机边界①的两件 `isGateParkedToolEnd`/`GATE_PARKED_ERROR_CODE` + 异源复审逼出的 `engineCapsGeneration`;`0.59.0` 是 **836**,那批是八件 additive:`RULE_OFFERS_ABSENCE_REASONS`/`DENIAL_LIMIT_KINDS`(后者 🔧 0.85.0 退出公面)两张闭词表再导出 + `engineCapValue` 能力位四态通用读口 + `projectSqlEngineCapability`/`observedSqlEngine`/`noteEngineCapsForSqlEngine`(0.98.0 退出公面)/`forgetSqlEngineReading`(0.95.0 退出公面)/`sqlEngineDoctorDetail` 五件 SQL 姿态读面(测试钩 `__resetSqlEngineReadingsForTests`(0.98.0 退出公面) +1);`0.58.0` 是 **828**,那批是三件 additive:`RULE_OFFER_MATCHES`/`RULE_OFFER_BATCH_MEMBER_KINDS`/`RULE_OFFER_UNCOVERED_REASONS` 三张闭词表再导出 + `RESUME_REFUSAL_CODES`/`RESUME_PLACEMENT_MISMATCH`/`resumeRefusalFromError`/`resumeRefusalContent` 四件文案铸点;`0.57.0` 是 **821**;`0.56.0`/`0.55.0` 是 **815**;已发 `0.54.0`(design/385 十件 additive 含 `AUTHORITY_ENVELOPE_TAGS` 🔧 0.72.0 退役);`0.52.0` 是 **805**(L-69⑨ 两件);`0.51.0` 是 **803**;`0.50.0` 是 **800**(S-81 五件);`0.49.0` 是 **795**;`0.48.0` 是 **794**;npm `0.47.0` 是 **790**,`0.46.0` 是 **787**,`0.44.0` 是 **783**,`0.43.1`/`0.43.0` 是 **776**,`0.42.0` 是 **771**,`0.41.0` 是 **767**,`0.39.0` 是 **766**,`0.38.0` 是 **764**;`0.37.0` 是 **753**,见 `CHANGELOG.md`) | `scripts/public-export-baseline.json` 的 `count` / `testHookCount` —— **别手抄进别处,以该文件为准** |
27
27
 
28
28
 
29
29
 
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- | 支持底线 | 服务端 **7.126.0** / 引擎 **7.49.5** / sdk **21.1.0**(三件 0.97.0 同批起,CC-715,§124 PK-1;0.96.x 为 7.125.0 / 7.48.0 / 20.0.0(C-R432 ①,§123 PA-1);0.95.x 为 7.115.0 / 7.40.1 / 19.0.0;服务端 / 引擎 0.92.0 – 0.94.x 为 7.106.0 / 7.35.2;sdk 0.95.0 起(C-R389 ② / C-R390),0.94.x 为 18.1.0、0.92.0 – 0.93.x 为 12.0.1;0.90.0 – 0.91.x 为 7.104.0 / 7.33.8 / 12.0.1;低于底线的服务端本包不再见证,「只续已有会话」被拒读口的粗码兜底随之退役,§122 RX-6;§118 LD) | `scripts/support-floor.json` ⇄ 根入口 `SUPPORT_FLOOR`(`run-support-floor-projection-test.mjs` 对账) |
35
+ | 支持底线 | 服务端 **7.129.1** / 引擎 **7.51.2** / sdk **23.0.2**(服务端 / 引擎 0.98.0 起,§126 RD-1:收回对服务端 7.126.0 – 7.129.0 的支持承诺;sdk 0.98.0 起单项抬,CC-733,§126 PN-2;0.97.x 为 7.126.0 / 7.49.5 / 21.1.0(三件同批,CC-715,§124 PK-1);0.96.x 为 7.125.0 / 7.48.0 / 20.0.0(C-R432 ①,§123 PA-1);0.95.x 为 7.115.0 / 7.40.1 / 19.0.0;服务端 / 引擎 0.92.0 – 0.94.x 为 7.106.0 / 7.35.2;sdk 0.95.0 起(C-R389 ② / C-R390),0.94.x 为 18.1.0、0.92.0 – 0.93.x 为 12.0.1;0.90.0 – 0.91.x 为 7.104.0 / 7.33.8 / 12.0.1;低于底线的服务端本包不再见证,「只续已有会话」被拒读口的粗码兜底随之退役,§122 RX-6;§118 LD) | `scripts/support-floor.json` ⇄ 根入口 `SUPPORT_FLOOR`(`run-support-floor-projection-test.mjs` 对账) |
36
36
  | 常驻门 | 以 `scripts/gates-manifest.json` 的 `suites` 长度为准(**本档不抄这个数**) | `scripts/gates-manifest.json`;`npm test` 的名单等值门与它逐名对账 |
37
37
  | 沿革档 | 0.29.0 起建 `CHANGELOG.md`;更早批次记账在 `src/index.ts` 文件头 + `docs/REFACTOR-LEDGER.md` | — |
38
38
 
@@ -134,7 +134,7 @@ SDK 核对「本包 import 的每个值级符号仍然导出」「`TaskStats.cos
134
134
 
135
135
  > 📦 **随包 / 不随包**:npm 包只带 `dist` / `README` / `CHANGELOG` / 本档 / `LICENSE`。本档各处提到的 `docs/type-superset.json`、`scripts/*.json`、`scripts/run-*-test.mjs` 都是**仓内登记物与门,不随包发出** —— 装包的消费者找不到它们是预期;`_sema_` 超集键的**随包契约**就是本档各 §NNz 逐键处置表(键名 / 值域 / 缺席语义逐条在表里)。
136
136
  >
137
- > 全集真源 = `scripts/public-export-baseline.json` 的 `names`(**1641** 项;该基线只覆盖**根**入口,子路径入口 `./registry` 的名单在 §86 与 `scripts/run-sdk-registry-transit-test.mjs` A / C 段)。
137
+ > 全集真源 = `scripts/public-export-baseline.json` 的 `names`(**1713** 项;该基线只覆盖**根**入口,子路径入口 `./registry` 的名单在 §86 与 `scripts/run-sdk-registry-transit-test.mjs` A / C 段)。
138
138
 
139
139
 
140
140
 
@@ -166,7 +166,7 @@ SDK 核对「本包 import 的每个值级符号仍然导出」「`TaskStats.cos
166
166
  `WorkflowsGateUnknownDenial` 四形**不在**基线里,`src/selfOrchestrationDenial.ts` 对基线贡献
167
167
  **4** 项运行期导出(三个函数 + `SELF_ORCHESTRATION_RETRY_WITHOUT`)。
168
168
 
169
- 1641 项的内部构成(帮助端估读表大小;0.97.1(AD 行)+2 函数(§125 AD-3 / AD-4:`engineToolDirectoryOf`〔本跑声明的 MCP 服务器读口〕· `excludeToolsAgainstDirectory`〔run 级 excludeTools 判官〕,域 9);0.97.0(PK 行)+1 函数(§124 PK-7:`readApprovalCardWord`,域 3)+1 常量 +2 函数(§124 PK-5:`CONFLICT_IDEMPOTENCY_PAYLOAD_MISMATCH` / `isIdempotencyPayloadMismatchCode` / `idempotencyPayloadMismatchContent`,域 16)+2 函数(§124 PK-11:`modelCandidateRejectedOf` / `modelCandidateRejectedContent`,域 11)−1 +1 常量(§124 PK-4 / §2z:`ASK_PARK_GATE_KINDS`(0.97.0 退出公面) 退出根入口、`APPROVAL_DECIDE_GATE_KINDS` 经 sdk 转口上根入口,域 15,净零);0.97.0(SR 行)+1 函数 +1 常量(§124 SR-1:`isSdkRunParked` / `SDK_PARKED_RUN_STATUSES`〔sdk 停驻 run 词表与谓词,属主模块 `terminalStatuses`〕,域 1);0.97.0(CL 行)+2 函数(§124 CL-1 / CL-3:`engineCapsLandingOf`〔整份能力位读数,取落地的唯一读法〕· `rotateEngineCapsProbe`〔同一台引擎换探测闭包:更新重探登记而不失效〕,域 9);0.97.0(HT 行)−1 函数(§124 HT-1 / §2z:`isFsApprovalGate`(0.97.0 退出公面)〔域 3〕退出根入口);0.96.0(FA 行)−1 常量(§123z / §2z:`CONFIG_REFUSAL_CODES`(0.96.0 退出公面)〔域 16〕退出根入口);0.96.0(WD 行)+2 常量(§123 WD-1 / WD-4:`PROVIDER_REJECTION_KINDS`〔服务商拒绝分类词闭集〕· `CAPABILITY_IMAGE_INDEX_REQUIRED`〔501 镜像索引缺席码〕,域 16);0.96.0(HW 行)+1 常量(§123 HW-2:`APPROVAL_PARKING_WARN_TEXT`)+3 函数(§123 HW-3 / HW-4 / HW-5:`modeReleaseReasonSentence` / `createReleaseDisclosureLedger`〔域 3〕· `replayedApprovalClosesCardFrame`〔域 3〕);0.96.0(FL-6 行)+7 函数 +1 常量(§123 FL-6:`isAgentHandle` / `nonAgentHandleKind` / `isBackgroundSubagentRow` / `isBackgroundWorkRow` / `isOwnBackgroundSubagentRow` / `liveBgRowOwnership` / `liveBgRowOwnershipFor` 与持久句柄正则 `DURABLE_AGENT_HANDLE_RE`,域 5;`*For` 变体 +1 即 `liveBgRowOwnershipFor`);0.96.0(HJ 行)+1 函数(§123 HJ-1:`decisionRefusalAskReading`〔「这一问是否已决」唯一判官〕,域 3);0.96.0(CL 行)+4 函数(§123 CL-1 / CL-3 / CL-4:`projectEngineDirectory` / `projectMeEngine` / `decideMeEngine` / `engineOverrideOf`,域 15);0.96.0(DC 行)+2 函数(§123 DC-1 / DC-2:`displayConfiguredUrl`〔配置地址展示口〕· `queryCarriesCredential`〔上传判据〕,域 5);0.96.0(NT 行)+4 常量(§123 NT-3 / NT-4 / NT-5 / NT-6:`NOTICE_SEAT_CLASS`〔座位类表〕· `OUTLET_KINDS`〔出路种类闭集〕· `NOTICE_FULL_TEXT_CAP`〔通告正文防御栏〕· `PRINT_PERMISSION_OUTCOME_FORMS`〔`-p` 权限结局行形闭集〕,域 16 三名、域 3 一名)+7 函数(§123 NT-1 / NT-2 / NT-3 / NT-4 / NT-5 / NT-6:`cutForDisplay` / `noticePresentationFacts` / `noticeSeatClassOf` / `outletReachable` / `planOutletRendering` / `noticePrintLine`〔域 16〕· `printPermissionOutcomeOf`〔域 3〕);0.96.0(RT-6 行)−9 函数(§123z / §2z:九只 `noteEngineCapsFor*`〔域 9〕退出根入口);0.96.0(RT 行)−1 函数(§123z / §2z:`recordBgTerminalFacts`(0.96.0 退出公面)〔域 4〕退出根入口);0.96.0(PC 行)−1 函数(§123 PC-4 / §2z:`discussionWorkflowName`(0.96.0 退出公面)〔域 14〕退出根入口);0.96.0(PT 行)−1 函数 +1 函数(§123 PT-2 / §2z:`retiredToolNames`(0.96.0 退出公面)〔域 14〕退出根入口;§123 PT-1:读口 `ruleToolNameJudgement`〔域 14〕进根入口 —— 域 14 与总数不变);0.96.0(S2 行)+2 函数(§123 S2-2:`recentFoldersOf`〔最近目录唯一读法〕· `readRecentFolders`〔能力位三态与动词调用的编排口〕,域 13);0.96.0(CD 行)+2 函数(§123 CD-1 / CD-2:`approvalCardFactsOfV1`〔v1 呈卡帧卡面 → 卡入参事实〕· `standingRowsOf`〔卡上三行放行的判官〕,域 3);0.96.0(FS 行)+1 函数(§123 FS-1:`scenarioNotAllowedContent`〔场景拒出句单源〕,域 15);0.96.0(KY 行)+2 函数(§123 KY-3 / KY-4:`readFinishReasonUnknown` / `readStreamEndIgnored`〔服务商收尾异常两通告的事实读器〕,域 16);0.96.0(CV 行)+1 函数 +1 常量(§123 CV-1:`credentialProvenance`〔凭据来源纯判词〕· `CREDENTIAL_ATTACH_WORDS`〔四词冻结表〕,域 15);0.96.0(PB 行)+1 常量 +2 函数(§123 PB-4:`SESSION_ROW_PATCH_REQUEST_KEYS`〔会话行改名 / 置顶动词入参键集〕· `checkSessionRowPatchRequest` / `isSessionRowPatchRequest`〔入站判官〕,域 13);0.96.0(FH 行)+2 常量 +6 函数(§123 FH-1 – FH-5:`FILE_HISTORY_SKIPPED_NOTICE`〔「文件历史没搬」那一句〕· `FILE_HISTORY_TIGHTEN_VERDICTS`〔收紧判定四词闭集〕· `fileHistorySyncNotice` / `fileHistorySyncNoticeIdentity` / `isFileHistoryBlobMissing` / `fileHistoryTightenVerdict` / `fileHistoryUnjudgedRefusal` / `judgeFileHistoryTighten`,域 9);0.96.0(EF 行)+1 函数(§123 EF-1:`engineSupportFloorEffective`〔`engineVersionTier` 有效门槛读口〕,域 16);0.96.0(PP 行)+1 函数(§123 PP-4:`durableDecideLegOf`〔域 15〕);0.95.0(FX-E 行)+3 函数(§122 FX-E2a / FX-E2b / FX-E4:`engineCredentialRequirementOf`〔域 15〕· `storePostureHeadWord`〔域 9〕· `isSessionIdPathSegment`〔域 15〕);0.95.0(FX-F1 行)+2 函数(§122 FX-F1:`forgetSettledTerminalRow` / `forgetSettledTerminalRowFor`〔按行 id 摘已结算的终态行〕,域 5););0.95.0(FX-H 行)+3 函数 −2 函数(§122 FX-H4:`engineRewindRefusedNow` / `decideRewindEngineAction` / `previewEngineRewind`〔域 9〕;§122 FX-H2:`classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面)〔域 15〕退出根入口,逐名见 §2z;0.95.0(FX-D 行)+3 函数(§122 FX-D2:`refusedParkFromError` / `refusedParkContent` / `refusedParkBlockedContent`〔续跑被拒那一族的读口与两句出句口,域 16〕);0.95.0(FX-A 行)+2 函数(§122 FX-A2 / FX-A3:`readApprovalRememberRefused`〔审批卡上「引擎声明本会话放行记不住」那一位的读口〕/ `rememberRefusalOf`〔remember 专属拒绝判官〕,域 3);0.95.0(FX-G 行)+3 函数(§122 FX-G1 / FX-G2:`permissionsAllowKeptNotice`〔域 6〕· `limitsSupportNotice` / `explicitLimitFlagNames`〔域 10〕);0.95.0(PK7 行)+1 函数(§122 PK7-3:`approvalCompleteCauseOf`〔域 3〕);0.95.0(XH 行)+1 函数(§122 XH-1:`joinApprovalHolder`〔同一只审批的持有者读口〕,域 3);0.95.0(TW 行)−6 常量 −4 函数 +5 常量 +9 函数(§122 TW-1 / TW-2:终态词表与谓词改名带属主 —— 十个旧名退出根入口〔逐名见 §2z〕,新增五张属主表、八只谓词与 CC 行词投影 `ccTaskTerminalStatusOf`〔域 1 / 5 / 8 / 15 / 16〕);0.95.0(RS 行)+2 函数(§122 RS-1 / RS-3:`runningAttachOffered`〔忙卡与 resume 三选卡同一只 attach 判定〕/ `resumeRunningCancelConfirmedRow`〔Cancel 已受理确认句〕,域 3);0.95.0(SB 行)+4 函数(§122 SB-3 / SB-4:`mcpEngineLegConnectionOf`〔域 9〕· `modelSwitchProbeOutcomeOf` / `runModelSwitchProbe` / `createModelSwitchFallbackLedger`〔域 11〕);0.95.0(RX 行)−30 函数(§122 RX-1 / RX-2:`providerRejectionResend`(0.95.0 退出公面)〔域 1〕与二十九只逐只失效口 `forget*Reading`〔域 9 二十六只 / 域 15 三只〕退出根入口,逐名见 §2z);0.95.0(SA 行)+8 函数(§122 SA-1:`fireInteractiveInterrupt`;0.95.0(归层读口)+4 函数(§122 RD-3:`classifyApprovalCompleteFrame` / `parkRowDeadlineState` / `lateDecideRoute` / `runReapedByDeadline`〔域 3〕);0.95.0(归层读口)+2 常量 +11 函数(§122 RD-2:`USAGE_SENTENCES` / `USAGE_HEATMAP_MAX_DAYS` / `readUsageSummary` / `readUsageSeries` / `readUsageBreakdown` / `projectUsageSummary` / `projectUsageSeries` / `projectUsageBreakdown` / `classifyUsageFailure` / `projectUsageAnalytics` / `readUsageAnalytics` / `usageBoundPrefix` / `usageWindowOfRange`〔域 11〕);0.95.0(WB 行)+3 常量 +8 函数 −1 函数(§122 WB-1 – WB-8:`readLiveModelCatalog` / `liveDefaultModelOf` / `atMentionOf` / `modelCompatOf` / `liveModelRowsOf`〔域 11〕· `checkSendMessageRequest` / `isSendMessageRequest` / `SEAT_REWIND_INTENT_KEYS` / `SEAT_TURN_SETTINGS_ORIGINS`〔域 13〕· `REWIND_MODES`〔域 9〕· `approvalCompleteParked`〔域 3〕;`isSeatModelCatalog`(0.95.0 退出公面)〔域 13〕退出根入口,逐名见 §2z);0.95.0(WC 行)+3 函数(§122 WC-1 / WC-2 / WC-3:`hasLedgerPositionKey` / `replayedApprovalSentence` / `allowRuleShadowSentence`〔域 3〕);0.95.0(KA 行)+1 函数(§122 KA-6:`stripToolUseSideChannels`〔域 1〕);0.95.0(换钉批)+1 函数(§122 UP-1:`droppedModelEntriesOf`〔域 11〕);0.95.0(面板行归约口)+1 常量 +3 函数(§122 PR 行:`PANEL_DELTA_OPS` / `reducePanelFrame` / `createPanelReduceState` / `subscribeEnginePanelRows`〔域 4〕);0.94.0 −2 函数(§121 RX-4 / RX-5:`askSurvivesPosture`(0.94.0 退出公面) / `askSurvivesStandingAnswer`(0.94.0 退出公面)〔域 3〕退出根入口,逐名见 §2z);0.94.0 +1 函数(§121 PK-2:`readToolApprovalRespondParking`〔域 3〕)· 0.94.0(未发布,§121 SP2 行)+2 常量 +5 函数(`REQUEST_AUTONOMY_LANE_REFUSED`〔域 16〕· `STREAM_DRAINING_RECONNECT_MAX` / `isInStreamDrainingEnd` / `streamDrainingDecision` / `autonomyLaneRefusalFromError` / `autonomyLaneRefusalContent`〔域 15〕· `agentToolListFlaws`〔域 9〕);0.94.0(未发布,座位 / 读口车道)+1 常量 +4 函数(§121 ST 行:`SEAT_CAPABILITY_NAMES` / `seatCapability` / `watchSeatCapability` / `seatCapabilityUnavailableDetail`〔域 13〕· `deviceFlowPollingPlan`〔域 150.94.0 +2 函数(§121 HW2 行:`askProbeReasonDetail`〔域 3〕· `subagentStateDetail`〔域 4〕;CC-514 初版加的常量 `APPROVAL_NOTE_ABORTED_DETAIL` 随发版复核定形撤回,未发布);0.94.0(未发布,请求装配车道)+1 常量 +5 函数(§121 RQ 行:`WIRE_RULE_TRUST_ORDER`〔域 6〕· `approvalReachDeclaration` / `approvalReachDeclarationSettled`〔域 6〕· `isApproverUnavailableGate`〔域 3〕· `effortLevelsOf` / `effortLevelHonored`〔域 11〕);0.94.0 +2 函数(CC-447 ⑦ §121 CP-7 `mandatedApprovalDetailOf`〔域 3〕;CC-356 ① §121 CP-12 `compileAllowList`〔域 14〕);0.94.0 +2 常量 +11 函数(§121 SV-4 / SV-5 两只能力位读器各五名在域 9;SV-1 通告事实读器 `readAllowedToolNotGranted` 与 SV-5 / SV-7 两只码常量在域 16);0.94.0 +12 函数(HD 行:`classifyDecisionRefusal` / `liveAskPendingReading` / `decisionRefusalClosesOut` / `undeliverableDecisionContent` / `noAllowCauseOf` / `policyDenyReason` / `permissionRequestHookScope` / `readApprovalBoundGrants` / `readApprovalClassifierNoRuling` / `approvalBoundGrantsDetail` / `classifierNoRulingDetail` / `approvalPriorCardsDetail`,全在域 3,逐名见 §121a);0.93.0 +5 常量 +18 函数 −6 常量 −15 函数(CC-454 §119 DX-2:+1 函数 `deviceLaneOpen`〔域 9〕;CC-403 §119 DB-1 / DB-2:+6 函数,逐名见 119a〔五名读面 + 判据在域 9、决定函数在域 3〕;CC-451 §119 PM-1 / SA-1:+1 常量 +6 函数,逐名见 119a;CC-431 §119 RT-1 … RT-8 到期登记物硬删,逐名见 §2z〔−6 / −15 即这 21 名〕;+4 / +5:CC-364 `PROMPT_BLOCK_CAUSES`〔域 1〕;CC-429 `MCP_RECONNECT_UNSETTLED_NOTICE`〔域 15〕;CC-363 `transportFailureScene`〔域 15〕;CC-331 `detectEngineBgShellDetach`〔域 8〕;CC-323 ② `readEngineConfigApplyState` / `configDriftVerdict`〔域 15〕;CC-355 `coreVersionTier`〔域 16〕;CC-430 workflow 子代审批决定口两只 409 码常量 `DECIDE_WORKFLOW_PARKS_UNREADABLE` / `DECIDE_WORKFLOW_PARK_FORKED`〔域 3〕;§119);0.92.0 +9 常量 +47 函数 −2 函数(CC-295:`ABORT_CAUSES` / `readAbortCause` / `abortCauseNoteOf`〔域 16〕;CC-374 / CC-353:`fleet.steerPriority` 读器六名〔域 9〕+ `steerBodyOf` / `readSteerReceipt`〔域 15〕+ `readTurnInterrupted` / `turnInterruptedNotice` / `steerCutVerdict`〔域 16〕,`readSteerDelivery`(🔧 0.92.0 退出公面)/ `readSteerReceiptStatus`(🔧 0.92.0 退出公面)〔域 15〕;CC-371 / CC-370:六只码与闭集常量〔域 16〕+ `operatorGateRefusalContent` / `runDeathVerdictNoteOf`〔域 16〕+ `askGoneFromError` / `askGoneContent`〔域 3〕+ 四只能力位读器二十四名〔域 9〕+ core 值级端口读口 `mintNamespacePrefix`〔域 14〕;CC-367 重放出的审批帧判活口 `replayedApprovalDisposition` 与清单读不到时那一句 `REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT`〔域 3〕;CC-369 ⑦ 内联图片被拒码 `CONFIG_IMAGE_INVALID` 与出路句 `imageInvalidFailureNoteOf`〔域 16〕;CC-368 自动车道单一判定 `automaticAnswerVerdict`〔域 3〕;CC-401 allow 层让位披露读口 `readApprovalAllowRuleShadow` 与证据口 `approvalAllowRuleShadowed`〔域 3〕;§118);0.91.0 +7 常量 +25 函数(CC-303 点名坏轮句 `toolHistoryBadTurnSentence`;CC-304 行键读口 `readToolHistoryMismatchKey`;CC-306 hooks matcher 受理判定 `hookMatcherVerdict`〔域 9〕;CC-307 steer 拒收合成口 `steerRefusalAdviceOf` 与「先账后引擎」判定 `steeringRefusedBeforeEngine`;CC-310 崩溃遗留通告句序 `NEEDS_HUMAN_REASON_ORDER` + 按因由一句 `crashConvergedNeedsHumanSentence` + 整行 `crashConvergedNotice`〔域 3〕;CC-311 能力位有界等待 `disableSkillsDeclarationSettled`〔域 6〕;CC-314 权限装配的筛选理由报告口 `permissionsDeclarationReport` 与理由闭集 `PERMISSIONS_KEPT_REASONS`〔域 6〕;CC-315 / CC-297 信封铸点与提交装配 `mintUserAttachmentEnvelope` / `encodeHumanTurn` / `deliveredUuidsOf` / `imageVisionOf`〔域 6〕与附件席位读器三口 `noteEngineCapsForAttachmentSeat` / `observedAttachmentSeat` / `forgetAttachmentSeatReading`(0.95.0 退出公面)〔域 9〕;CC-317 `abortableSleep` / `isAlreadyResolvedFailure`;CC-318 两张闭集表 `ASK_EVIDENCE_ABSENCE_VALUES` / `SYSTEM_INJECTION_PRIORITIES`;CC-322 ① 问类仲裁表 `MODE_ARBITRATION` + 判定 `askSurvivesStandingAnswer`(0.94.0 退出公面);CC-327 读拒两张词表 `READ_DENY_BUILTIN_TIERS` / `READ_DENY_DEFAULT_TIERS` + 部署键串校验口 `parseReadDenyBuiltinTiers`;CC-328 `sessionPolicyReadNotice`〔域 3〕;CC-337 `attachmentsSubmitVerdict`〔域 9〕;CC-339 续跑被拒「按存下的样子续不了」读口与出句口 `checkpointUnsupportedVersionFromError` / `checkpointUnsupportedVersionContent`〔域 16〕+ matcher 拒体事后读口 `hookMatcherRefusalFromError`〔域 9〕;§117);0.90.0 +16 −1 函数 +2 常量 +1 类(CC-291:引擎 7.39.0 退役通告码 `resume.legacy_mode_seed_migrated`,其事实读器 `readLegacyModeSeedMigrated` 退出公面(退出根入口),逐名见 §2z;CC-294 文件历史一句:`fileHistoryLegNoticeVerdict` / `fileHistoryLegNoticeSentence` / `fileHistoryDeclarationOfBody` / `createFileHistoryDeclarationLedger` + `FILE_HISTORY_LEG_VERDICTS`;CC-298 hooks matcher 工具别名读口 `hookToolAliasesOf` / `canonicalHookToolName`;CC-299 支持底线声明:`SUPPORT_FLOOR` / `supportFloorOf` / `engineVersionTier`;CC-302 请求体权限三桶装配口 `permissionsDeclaration` 与 allow 放行能力位读器 `projectPermissionsAllowGrantCapability` / `noteEngineCapsForPermissionsAllowGrant` / `observedPermissionsAllowGrant` / `forgetPermissionsAllowGrantReading`(0.95.0 退出公面) / `permissionsAllowGrantAvailable` / `permissionsAllowGrantDoctorDetail`;CC-309 错误载体铸口 `toolHistoryErrorCarrierOf`;CC-316 `attachments` 声明拒绝的具名类 `AttachmentsSpecRefused`;§116);0.89.0 +8 函数 −1 常量(CC-282 通告 / 终局 / 省略成因:`readToolTurnIncomplete` / `readUserInputUndrained` / `userInputUndrainedNotice` / `providerRejectionResend`(0.95.0 退出公面) / `taskRequestOmissionCausePhrase`,`SERVER_NOTICE_AUDIENCE` 🔧 0.89.0 退出公面,逐名见 §2z;CC-277 `disableSkillsDeclaration`;CC-287 `settingsHooksKeptLocally`;CC-289 `isReadCredentialRefusal`);0.88.0 +12 函数 +4 常量(CC-270 ① 服务端自铸通告事实读器 `readModelUnreachable`;CC-272 放行原因闭集镜像 `GATE_MODE_RELEASE_REASON_WORDS` + 判词谓词 `isGateModeReleaseReasonWord` + 修复通告事实读器 `readToolTurnRepaired`;CC-264 会话记忆抹除调用口 `eraseSessionMemory` + 判定口 `sessionMemoryEraseOutcome` + 三只闭集镜像;CC-280 registry 409 判别 `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面);CC-281 被拒读口 `requireExistingSessionRefusalFromError` + 一句 `requireExistingSessionRefusalContent`;CC-271 `createPromptDeliveryLedger` / `promptKnownUndelivered` / `withoutUndeliveredPrompts`);0.87.0 +2 函数(CC-268 会话历史 tool_use 错配的判型口 `classifyToolHistoryMismatch` + 回退节点解析口 `resolveToolHistoryRewindTarget`);0.86.0 +40 函数 +6 常量 −1 函数 −1 常量(CC-249 引擎 7.34.0 提货:六只通告事实读器 + 权限模式折回原因闭集 + 门记录模式放行读口;CC-251 写口拒名码常量 + `rules.` 族前缀谓词;CC-252 凭据没被接受那一句;CC-253 `APPROVER_POSTURE_BYPASS` / `approverPostureDeclarationField` 🔧 0.86.0 退出公面,逐名见 §2z;CC-250 存储姿态六口 + 中心接线六口 + 计费入口 503 码常量 + 读口 + 一句;CC-256 本机无 OS 沙箱判定 + 一句 + 诊断面车道段读口;CC-257 `inheritEnv` 两词闭集 + 判词口 + 版本地板常量 + 版本闸 + 片段口 + 不发那一句 + 两只拒各读口与一句;CC-262 / CC-263 / CC-265 权限规则表 · 工具声明族 · 键形拒两张键表各一读口一句 / 谓词;CC-266 `-p` 首帧来源超集键铸口);0.85.1 +2 函数 +1 常量(CC-248 回执省略成因的终端用户向取句口 + 句表;CC-259 按会话呈现回执登记口复活,0.72.0 退出过);0.85.0 +26 函数 +9 常量 −2 函数 −1 常量(CC-241 plan-review 决断台账六口;CC-246 会话后台任务停止口 + 受据归类口 + 三态闭集;CC-217 / CC-243 服务端 7.104.0 会话侧:存档读不出三载体读口 + 判定 + 人话 + 码常量、跳过记录通告读器 + 补句、删会话 409 读口 + 措辞 + 码常量、停驻挪动族读口 + 措辞 + 判定 + 闭集 + 三码常量;CC-243 能力 / 同步体侧:公钥发现四口、文件历史请求词片段口 + 常量、粗码识别表 + 判定;CC-221 三个运行期名字退出公面,逐名见 §2z);0.84.1 +11 函数 +4 常量(CC-210 开标签定位口 / CC-219 detach 400 纯判定 / CC-213 服务端自铸码受众表 + 事实读器 / CC-214 按码派发口 + 派发表 / CC-225 停泊决断 422 读口 + 措辞 + 码优先判定 + 码常量 / CC-229 撤销动词 + 措辞 + 出路句 + 判据本体 + 码常量);0.84.0 +8 函数 −7 常量 −19 函数(CC-194 B 半登记读数五口 / CC-185 读目录授权结论通告读口 / CC-206 `hands` 段读口与措辞两口;CC-223 收回 0.71.3 预告的 26 个 `export *` 放大件,🔧 0.84.0 退出公面,逐名见 CHANGELOG 0.84.0);0.83.5 +1 函数(CC-204 字符面标记位置读口 `displayUntrustedMarks`);0.83.4 +4 函数(CC-205 `<system-reminder>` 剥离 / 解包两口;CC-203 座位过境口;CC-201 清「用户关卡」记号口);0.83.2 +15 函数 +4 常量(CC-193 姿态放行谓词 / CC-195 强制词闭集 + 成员判据 + 读口 + 措辞 / CC-194 缺席行判定 11 函数 + 3 常量);0.83.1 +10 函数 +6 常量(CC-112 展示层安全出口 `displayUntrusted` / CC-117 会话规则记录无损判定 + 措辞单源 + 五词成因闭集 / CC-174 插件 hook 每轮计划 + 查询口 + 事件判定口 + 四只措辞口 + 五张闭集);0.83.0 −3 函数(联网搜索旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 🔧 0.83.0 退出公面)+1 函数(CC-175 `terminalReasonForResult`);0.82.7 +5 函数(CC-182 每请求联网搜索配置三态判决:段判决 / env 判决 / 两车道合成 / 措辞单源 / endpoint 显示形);0.82.5 +5 函数 +1 常量(CC-169 print 车道 init 帧工具面:流包装器 / 判定闸 / 名册信号分类口 / 判定口 / 留痕措辞单源 + 等待上界常量);0.82.2 +1 函数(CC-164 云控制面有效配置回体措辞单源 `cloudEffectiveNotices`);0.82.1 +15 函数(CC-154 续跑折叠码读口 + 措辞 / CC-163 文件历史捕获读口六口 / CC-151 模型身份可解析判据五口 / CC-161 自定义代理载荷作废重投口 / 决断失败码「门还在」判定;测试钩 +1);0.82.0 +17 函数 +1 常量(CC-146 `/rewind` 代码档与对话档可用性读口投影 + 三口读账 + 两只判据 + 三句措辞 / CC-150 额度投影三口 / CC-152 装配期无手两口 / CC-154 取码单源 + 折叠码常量 / CC-156 坏档行坐标读口 + 措辞);0.80.0 +1 常量 +10 函数(CC-133 结算词表镜像 `SETTLEMENT_KIND_WORDS` + 五函数 / CC-134 三函数 / CC-132 两函数);0.79.0 +8 常量 +21 函数 +1 类(CC-74 MCP 状态面两张词表 + 九函数 / CC-110 `approvalIsMandated` + `mandatedApprovalDetail` / CC-116 · 118 · 123 `APPROVER_POSTURE_BYPASS`(🔧 0.86.0 退出公面)+ `REQUEST_LANES` + 三函数 / CC-125 拒因两面四常量 `HITL_POLICY_DENY_MESSAGE` `APPROVAL_DENY_SETTLED_BY_WORDS` `SEMA_DENIAL_KIND_KEY` `CC_TOOL_DENIAL_KINDS` + 四函数 / CC-128 会话 bundle 面转口 `pushSessionBundle` `pullSessionBundle` `importSessionBundle` + 错误类 `APIError`;测试钩 +1);0.78.1 +2 常量 +9 函数(CC-113 displayBody / CC-97 b 五动词 + 判官 + 覆盖面判词 / CC-121 readSubmitWiringManifest);0.77.0 +2 常量 +2 函数(CC-101)+ 5 常量 +12 函数(CC-105 / CC-103;测试钩 +1);0.76.1 +1 常量 +4 函数(CC-36)+ 13 函数(CC-102;测试钩 +2)+ 1 常量 +20 函数(CC-97a;测试钩 +2)+ 2 函数(身份快照助手上公面);0.76.0 +8 常量 +8 函数(CC-77 ① 2+4 / CC-96 6+4);0.74.5 +2 常量 +2 函数(CC-87 / CC-88);0.74.3 +2 常量 +7 函数(CC-70 / CC-71 / CC-72 / CC-73 / CC-80;测试钩 +1);0.74.2 +6 函数(CC-69;测试钩 +1);0.74.1 +1 常量(CC-67);0.74.0 +1 函数(CC-66);0.73.5 +8 常量 +3 函数(CC-58);0.73.4 +1 常量(CC-34);0.73.3 +6 函数(CC-61;测试钩 +1);0.73.1 +2 常量 +5 函数(CC-56 / CC-57;测试钩 +1);0.72.14 +1 常量 +7 函数(CC-55);0.72.13 +4 常量 +14 函数(CC-46 / CC-54 / CC-53 / CC-50 缺席口);0.72.12 +2 常量 +2 函数(CC-50);0.72.10 +2 常量 +2 函数(CC-41);0.72.9 +2 常量 +6 函数(CC-30 / CC-39②);0.72.8 +2 常量 +4 函数(CC-39③ / CC-43);0.72.7 +1 常量 +1 函数(CC-42);0.72.6 +1 函数(CC-40);0.72.5 +1 常量 +5 函数(CC-31);0.72.3 +1 常量(CC-39①);0.72.2 +1 函数(CC-37);0.72.1 +1 常量 +3 函数(CC-33);0.72.0 −23 常量 −16 函数(CC-32 退役批);0.71.3 +4 常量 +5 函数(CC-06);0.71.0 −2 常量 `MAX_AGENT_SKILLS` / `DECIDE_WORKFLOW_HOST_NOT_PARKED` +2 函数 `projectToolRosterDelta` / `mcpEngineLegPresence`;0.70.0 起 +1 函数;0.69.2 起 +3:常量 1 / 函数 2):**3890.94.0(未发布,读口 / 端口车道)+16 函数(§121 RP 行:结果帧读口族四名与指令文件归属两名〔域 1〕· `callerCwd` 读器五名〔域 9〕· 路由判官五只读口〔域 14〕);0.94.0(未发布,请求装配车道)+1 常量 +5 函数(§121 RQ 行:`WIRE_RULE_TRUST_ORDER`〔域 6〕· `approvalReachDeclaration` / `approvalReachDeclarationSettled`〔域 6〕· `isApproverUnavailableGate`〔域 3〕· `effortLevelsOf` / `effortLevelHonored`〔域 11〕);0.94.0 +2 函数(CC-447 ⑦ §121 CP-7 `mandatedApprovalDetailOf`〔域 3〕;CC-356 ① §121 CP-12 `compileAllowList`〔域 14〕);0.94.0 +2 常量 +11 函数(§121 SV-4 / SV-5 两只能力位读器各五名在域 9;SV-1 通告事实读器 `readAllowedToolNotGranted` 与 SV-5 / SV-7 两只码常量在域 16);0.94.0 +12 函数(HD 行:`classifyDecisionRefusal` / `liveAskPendingReading` / `decisionRefusalClosesOut` / `undeliverableDecisionContent` / `noAllowCauseOf` / `policyDenyReason` / `permissionRequestHookScope` / `readApprovalBoundGrants` / `readApprovalClassifierNoRuling` / `approvalBoundGrantsDetail` / `classifierNoRulingDetail` / `approvalPriorCardsDetail`,全在域 3,逐名见 §121a);0.93.0 +5 常量 +18 函数 −6 常量 −15 函数(CC-454 §119 DX-2:+1 函数 `deviceLaneOpen`〔域 9〕;CC-403 §119 DB-1 / DB-2:+6 函数,逐名见 119a〔五名读面 + 判据在域 9、决定函数在域 3〕;CC-451 §119 PM-1 / SA-1:+1 常量 +6 函数,逐名见 119a;CC-431 §119 RT-1 … RT-8 到期登记物硬删,逐名见 §2z〔−6 / −15 即这 21 名〕;+4 / +5:CC-364 `PROMPT_BLOCK_CAUSES`〔域 1〕;CC-429 `MCP_RECONNECT_UNSETTLED_NOTICE`〔域 15〕;CC-363 `transportFailureScene`〔域 15〕;CC-331 `detectEngineBgShellDetach`〔域 8〕;CC-323 ② `readEngineConfigApplyState` / `configDriftVerdict`〔域 15〕;CC-355 `coreVersionTier`〔域 16〕;CC-430 workflow 子代审批决定口两只 409 码常量 `DECIDE_WORKFLOW_PARKS_UNREADABLE` / `DECIDE_WORKFLOW_PARK_FORKED`〔域 3〕;§119);0.92.0 +9 常量 +47 函数 −2 函数(CC-295:`ABORT_CAUSES` / `readAbortCause` / `abortCauseNoteOf`〔域 16〕;CC-374 / CC-353:`fleet.steerPriority` 读器六名〔域 9〕+ `steerBodyOf` / `readSteerReceipt`〔域 15〕+ `readTurnInterrupted` / `turnInterruptedNotice` / `steerCutVerdict`〔域 16〕,`readSteerDelivery`(🔧 0.92.0 退出公面)/ `readSteerReceiptStatus`(🔧 0.92.0 退出公面)〔域 15〕;CC-371 / CC-370:六只码与闭集常量〔域 16〕+ `operatorGateRefusalContent` / `runDeathVerdictNoteOf`〔域 16〕+ `askGoneFromError` / `askGoneContent`〔域 3〕+ 四只能力位读器二十四名〔域 9〕+ core 值级端口读口 `mintNamespacePrefix`〔域 14〕;CC-367 重放出的审批帧判活口 `replayedApprovalDisposition` 与清单读不到时那一句 `REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT`〔域 3〕;CC-369 ⑦ 内联图片被拒码 `CONFIG_IMAGE_INVALID` 与出路句 `imageInvalidFailureNoteOf`〔域 16〕;CC-368 自动车道单一判定 `automaticAnswerVerdict`〔域 3〕;CC-401 allow 层让位披露读口 `readApprovalAllowRuleShadow` 与证据口 `approvalAllowRuleShadowed`〔域 3〕;§118);0.91.0 +7 常量 +25 函数(CC-303 点名坏轮句 `toolHistoryBadTurnSentence`;CC-304 行键读口 `readToolHistoryMismatchKey`;CC-306 hooks matcher 受理判定 `hookMatcherVerdict`〔域 9〕;CC-307 steer 拒收合成口 `steerRefusalAdviceOf` 与「先账后引擎」判定 `steeringRefusedBeforeEngine`;CC-310 崩溃遗留通告句序 `NEEDS_HUMAN_REASON_ORDER` + 按因由一句 `crashConvergedNeedsHumanSentence` + 整行 `crashConvergedNotice`〔域 3〕;CC-311 能力位有界等待 `disableSkillsDeclarationSettled`〔域 6〕;CC-314 权限装配的筛选理由报告口 `permissionsDeclarationReport` 与理由闭集 `PERMISSIONS_KEPT_REASONS`〔域 6〕;CC-315 / CC-297 信封铸点与提交装配 `mintUserAttachmentEnvelope` / `encodeHumanTurn` / `deliveredUuidsOf` / `imageVisionOf`〔域 6〕与附件席位读器三口 `noteEngineCapsForAttachmentSeat` / `observedAttachmentSeat` / `forgetAttachmentSeatReading`(0.95.0 退出公面)〔域 9〕;CC-317 `abortableSleep` / `isAlreadyResolvedFailure`;CC-318 两张闭集表 `ASK_EVIDENCE_ABSENCE_VALUES` / `SYSTEM_INJECTION_PRIORITIES`;CC-322 ① 问类仲裁表 `MODE_ARBITRATION` + 判定 `askSurvivesStandingAnswer`(0.94.0 退出公面);CC-327 读拒两张词表 `READ_DENY_BUILTIN_TIERS` / `READ_DENY_DEFAULT_TIERS` + 部署键串校验口 `parseReadDenyBuiltinTiers`;CC-328 `sessionPolicyReadNotice`〔域 3〕;CC-337 `attachmentsSubmitVerdict`〔域 9〕;CC-339 续跑被拒「按存下的样子续不了」读口与出句口 `checkpointUnsupportedVersionFromError` / `checkpointUnsupportedVersionContent`〔域 16〕+ matcher 拒体事后读口 `hookMatcherRefusalFromError`〔域 9〕;§117);0.90.0 +16 −1 函数 +2 常量 +1 类(CC-291:引擎 7.39.0 退役通告码 `resume.legacy_mode_seed_migrated`,其事实读器 `readLegacyModeSeedMigrated` 退出公面(退出根入口),逐名见 §2z;CC-294 文件历史一句:`fileHistoryLegNoticeVerdict` / `fileHistoryLegNoticeSentence` / `fileHistoryDeclarationOfBody` / `createFileHistoryDeclarationLedger` + `FILE_HISTORY_LEG_VERDICTS`;CC-298 hooks matcher 工具别名读口 `hookToolAliasesOf` / `canonicalHookToolName`;CC-299 支持底线声明:`SUPPORT_FLOOR` / `supportFloorOf` / `engineVersionTier`;CC-302 请求体权限三桶装配口 `permissionsDeclaration` 与 allow 放行能力位读器 `projectPermissionsAllowGrantCapability` / `noteEngineCapsForPermissionsAllowGrant` / `observedPermissionsAllowGrant` / `forgetPermissionsAllowGrantReading`(0.95.0 退出公面) / `permissionsAllowGrantAvailable` / `permissionsAllowGrantDoctorDetail`;CC-309 错误载体铸口 `toolHistoryErrorCarrierOf`;CC-316 `attachments` 声明拒绝的具名类 `AttachmentsSpecRefused`;§116);0.89.0 +8 函数 −1 常量(CC-282 通告 / 终局 / 省略成因:`readToolTurnIncomplete` / `readUserInputUndrained` / `userInputUndrainedNotice` / `providerRejectionResend`(0.95.0 退出公面) / `taskRequestOmissionCausePhrase`,`SERVER_NOTICE_AUDIENCE` 🔧 0.89.0 退出公面,逐名见 §2z;CC-277 `disableSkillsDeclaration`;CC-287 `settingsHooksKeptLocally`;CC-289 `isReadCredentialRefusal`);0.88.0 +12 函数 +4 常量(CC-270 ① 服务端自铸通告事实读器 `readModelUnreachable`;CC-272 放行原因闭集镜像 `GATE_MODE_RELEASE_REASON_WORDS` + 判词谓词 `isGateModeReleaseReasonWord` + 修复通告事实读器 `readToolTurnRepaired`;CC-264 会话记忆抹除调用口 `eraseSessionMemory` + 判定口 `sessionMemoryEraseOutcome` + 三只闭集镜像;CC-280 registry 409 判别 `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面);CC-281 被拒读口 `requireExistingSessionRefusalFromError` + 一句 `requireExistingSessionRefusalContent`;CC-271 `createPromptDeliveryLedger` / `promptKnownUndelivered` / `withoutUndeliveredPrompts`);0.87.0 +2 函数(CC-268 会话历史 tool_use 错配的判型口 `classifyToolHistoryMismatch` + 回退节点解析口 `resolveToolHistoryRewindTarget`);0.86.0 +40 函数 +6 常量 −1 函数 −1 常量(CC-249 引擎 7.34.0 提货:六只通告事实读器 + 权限模式折回原因闭集 + 门记录模式放行读口;CC-251 写口拒名码常量 + `rules.` 族前缀谓词;CC-252 凭据没被接受那一句;CC-253 `APPROVER_POSTURE_BYPASS` / `approverPostureDeclarationField` 🔧 0.86.0 退出公面,逐名见 §2z;CC-250 存储姿态六口 + 中心接线六口 + 计费入口 503 码常量 + 读口 + 一句;CC-256 本机无 OS 沙箱判定 + 一句 + 诊断面车道段读口;CC-257 `inheritEnv` 两词闭集 + 判词口 + 版本地板常量 + 版本闸 + 片段口 + 不发那一句 + 两只拒各读口与一句;CC-262 / CC-263 / CC-265 权限规则表 · 工具声明族 · 键形拒两张键表各一读口一句 / 谓词;CC-266 `-p` 首帧来源超集键铸口);0.85.1 +2 函数 +1 常量(CC-248 回执省略成因的终端用户向取句口 + 句表;CC-259 按会话呈现回执登记口复活,0.72.0 退出过);0.85.0 +26 函数 +9 常量 −2 函数 −1 常量(CC-241 plan-review 决断台账六口;CC-246 会话后台任务停止口 + 受据归类口 + 三态闭集;CC-217 / CC-243 服务端 7.104.0 会话侧:存档读不出三载体读口 + 判定 + 人话 + 码常量、跳过记录通告读器 + 补句、删会话 409 读口 + 措辞 + 码常量、停驻挪动族读口 + 措辞 + 判定 + 闭集 + 三码常量;CC-243 能力 / 同步体侧:公钥发现四口、文件历史请求词片段口 + 常量、粗码识别表 + 判定;CC-221 三个运行期名字退出公面,逐名见 §2z);0.84.1 +11 函数 +4 常量(CC-210 开标签定位口 / CC-219 detach 400 纯判定 / CC-213 服务端自铸码受众表 + 事实读器 / CC-214 按码派发口 + 派发表 / CC-225 停泊决断 422 读口 + 措辞 + 码优先判定 + 码常量 / CC-229 撤销动词 + 措辞 + 出路句 + 判据本体 + 码常量);0.84.0 +8 函数 −7 常量 −19 函数(CC-194 B 半登记读数五口 / CC-185 读目录授权结论通告读口 / CC-206 `hands` 段读口与措辞两口;CC-223 收回 0.71.3 预告的 26 个 `export *` 放大件,🔧 0.84.0 退出公面,逐名见 CHANGELOG 0.84.0);0.83.5 +1 函数(CC-204 字符面标记位置读口 `displayUntrustedMarks`);0.83.4 +4 函数(CC-205 `<system-reminder>` 剥离 / 解包两口;CC-203 座位过境口;CC-201 清「用户关卡」记号口);0.83.2 +15 函数 +4 常量(CC-193 姿态放行谓词 / CC-195 强制词闭集 + 成员判据 + 读口 + 措辞 / CC-194 缺席行判定 11 函数 + 3 常量);0.83.1 +10 函数 +6 常量(CC-112 展示层安全出口 `displayUntrusted` / CC-117 会话规则记录无损判定 + 措辞单源 + 五词成因闭集 / CC-174 插件 hook 每轮计划 + 查询口 + 事件判定口 + 四只措辞口 + 五张闭集);0.83.0 −3 函数(联网搜索旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 🔧 0.83.0 退出公面)+1 函数(CC-175 `terminalReasonForResult`);0.82.7 +5 函数(CC-182 每请求联网搜索配置三态判决:段判决 / env 判决 / 两车道合成 / 措辞单源 / endpoint 显示形);0.82.5 +5 函数 +1 常量(CC-169 print 车道 init 帧工具面:流包装器 / 判定闸 / 名册信号分类口 / 判定口 / 留痕措辞单源 + 等待上界常量);0.82.2 +1 函数(CC-164 云控制面有效配置回体措辞单源 `cloudEffectiveNotices`);0.82.1 +15 函数(CC-154 续跑折叠码读口 + 措辞 / CC-163 文件历史捕获读口六口 / CC-151 模型身份可解析判据五口 / CC-161 自定义代理载荷作废重投口 / 决断失败码「门还在」判定;测试钩 +1);0.82.0 +17 函数 +1 常量(CC-146 `/rewind` 代码档与对话档可用性读口投影 + 三口读账 + 两只判据 + 三句措辞 / CC-150 额度投影三口 / CC-152 装配期无手两口 / CC-154 取码单源 + 折叠码常量 / CC-156 坏档行坐标读口 + 措辞);0.80.0 +1 常量 +10 函数(CC-133 结算词表镜像 `SETTLEMENT_KIND_WORDS` + 五函数 / CC-134 三函数 / CC-132 两函数);0.79.0 +8 常量 +21 函数 +1 类(CC-74 MCP 状态面两张词表 + 九函数 / CC-110 `approvalIsMandated` + `mandatedApprovalDetail` / CC-116 · 118 · 123 `APPROVER_POSTURE_BYPASS`(🔧 0.86.0 退出公面)+ `REQUEST_LANES` + 三函数 / CC-125 拒因两面四常量 `HITL_POLICY_DENY_MESSAGE` `APPROVAL_DENY_SETTLED_BY_WORDS` `SEMA_DENIAL_KIND_KEY` `CC_TOOL_DENIAL_KINDS` + 四函数 / CC-128 会话 bundle 面转口 `pushSessionBundle` `pullSessionBundle` `importSessionBundle` + 错误类 `APIError`;测试钩 +1);0.78.1 +2 常量 +9 函数(CC-113 displayBody / CC-97 b 五动词 + 判官 + 覆盖面判词 / CC-121 readSubmitWiringManifest);0.77.0 +2 常量 +2 函数(CC-101)+ 5 常量 +12 函数(CC-105 / CC-103;测试钩 +1);0.76.1 +1 常量 +4 函数(CC-36)+ 13 函数(CC-102;测试钩 +2)+ 1 常量 +20 函数(CC-97a;测试钩 +2)+ 2 函数(身份快照助手上公面);0.76.0 +8 常量 +8 函数(CC-77 ① 2+4 / CC-96 6+4);0.74.5 +2 常量 +2 函数(CC-87 / CC-88);0.74.3 +2 常量 +7 函数(CC-70 / CC-71 / CC-72 / CC-73 / CC-80;测试钩 +1);0.74.2 +6 函数(CC-69;测试钩 +1);0.74.1 +1 常量(CC-67);0.74.0 +1 函数(CC-66);0.73.5 +8 常量 +3 函数(CC-58);0.73.4 +1 常量(CC-34);0.73.3 +6 函数(CC-61;测试钩 +1);0.73.1 +2 常量 +5 函数(CC-56 / CC-57;测试钩 +1);0.72.14 +1 常量 +7 函数(CC-55);0.72.13 +4 常量 +14 函数(CC-46 / CC-54 / CC-53 / CC-50 缺席口);0.72.12 +2 常量 +2 函数(CC-50);0.72.10 +2 常量 +2 函数(CC-41);0.72.9 +2 常量 +6 函数(CC-30 / CC-39②);0.72.8 +2 常量 +4 函数(CC-39③ / CC-43);0.72.7 +1 常量 +1 函数(CC-42);0.72.6 +1 函数(CC-40);0.72.5 +1 常量 +5 函数(CC-31);0.72.3 +1 常量(CC-39①);0.72.2 +1 函数(CC-37);0.72.1 +1 常量 +3 函数(CC-33);0.72.0 −23 常量 −16 函数(CC-32 退役批);0.71.3 +4 常量 +5 函数(CC-06);0.71.0 −2 常量 `MAX_AGENT_SKILLS` / `DECIDE_WORKFLOW_HOST_NOT_PARKED` +2 函数 `projectToolRosterDelta` / `mcpEngineLegPresence`;0.70.0 起 +1 函数;0.69.2 起 +3:常量 1 / 函数 2):**406** 项是 `SCREAMING_SNAKE` 常量数据表/词汇表
169
+ 1713 项的内部构成(帮助端估读表大小;0.98.0(RB 行)−19 函数(§126 RB-1:十九只能力位读器的探测闭包 tee 口〔0.95.0 起即空调用,到期退役;逐名见 §2z〕,域 9 −16、域 15 −3);0.98.0(HK 行)−1 函数(§126 HK-2:`taskRequestOmissionCausePhrase`(0.98.0 退出公面)〔省略成因的从句口,三端零读者,到期退役〕,域 6);0.98.0(BA 行)+1 常量(§126 BA-1:`BUILTIN_SUBAGENT_TYPES`〔内建子代理名表,构建期取自引擎包根〕,域 16);0.98.0(PN 行)+1 函数(§126 PN-4:`isToolApprovalRespondReplayed`〔respond 回执首决回放臂的判别口〕,域 3);0.98.0(HM-R 行)−2 函数 +1 常量 +1 函数的净 0(§126 HM-R1 / HM-R2 / HM-R4:退 `approvalResolutionOf`(已退役) / `approvalOutcomeNoteOf`(已退役) / `readToolApprovalRespondRefusal`(已退役) 三函数,进常量 `APPROVAL_RESOLUTION_LANES` 与函数 `approvalResolutionDetail` / `readDecisionRefusalReading`,域 3);0.98.0(ID 行)+2 函数(§126 ID-3:`engineRefOf` / `sameEngineRef`〔转录身份引用位的读口与「是不是同一件引擎事」三态判定〕,域 2);0.98.0(WD 行)+14 函数(§126 WD-1…WD-8:持久规则来源 / 作用域 / 撤销结局 / 匹配形人话五口、卡面出身一行与缺席句 / 未覆盖因由句三口、崩溃遗留逐行句 / 成因句两口、结局成因一行句表四口,域 3);0.98.0(GT 行)+1 函数(§126 GT-2:`toolKillCauseAcrossEngineIdentity`〔引擎在一只被杀的工具调用跑着时换代了的成因读数薄壳〕,域 8);0.98.0(AC 行)+9 函数 +2 常量(§126 AC-1…AC-7:`approvalCardFactsOfFrame` / `approvalCardFactsOfGeneric`〔三载体一只投影核〕· `approvalWindowKeysOf`〔窗三键〕· `probeCauseRowsOf`〔探针成因两行〕· `approvalCardReasons` / `denialLimitFallbackDetail` / `APPROVAL_CARD_REASON_SOURCES` / `APPROVAL_CARD_REASONS_DEFAULT_MAX_LINES`〔原因格〕· `readRequiresRealApproval` / `countOwnedPendingRows` / `pendingRowIsOwnedAndDecidable`〔真人位 / 属主计数〕,域 3);0.98.0(TP 行)+4 函数(§126 TP-1 – TP-4:`normalizeEngineBaseUrl` / `engineUrlTransportVerdict`〔引擎地址规范化与传输闸〕· `submitStreamWithBoundedReopen`〔流式提交同键有界重开〕· `createStreamDrainingLegs`〔排空收场账〕,域 15);0.98.0(DU 行)+1 函数(§126 DU-8:`isDiagnosticValueWord`〔诊断词判定口〕,域 5);0.98.0(TH 行)+1 函数 +1 常量(§126 TH-3:`wireFailureTextsOf` / `WIRE_FAILURE_UNRENDERABLE_TEXT`,域 15)+1 函数 +1 常量(§126 TH-4:`turnFailurePresentation` / `TURN_FAILURE_CATEGORIES`,域 15)+1 函数 +2 常量(§126 TH-5:`runReattachPolicy` / `REATTACH_MAX_TRIES` / `REATTACH_BUDGET_FRESH`,域 15)+1 常量(§126 TH-6:`SANDBOX_HINT_HOSTS`,域 10);0.98.0(CP 行)+4 函数 −1 函数(§126 CP-8 `inheritEnv` 能力词读器 / 意图判定 / 告知句两口,域 9;0.98.0(HL 行)+9 函数 +2 常量(§126 HL-1 – HL-13:`claimApprovalCard`〔宿主腿持有登记动词〕· `approvalSupersedesDetail` · `approvalParkingNoticeText` · `answerPayloadFor` · `answerCarriage` · `observeApprovalAnswerCommitted` · `rememberOfferable` · `localAllowRuleEnforceable` · `lateDecideOutcomeOf` 与常量 `LATE_DECIDE_OUTCOMES` / `RESPOND_DECISIONS`,域 3);0.98.0(ST 行)域 13 +5(§126 ST-2 / ST-4:回执因由词表与句口、分片线形常量与铸口 / 读口)、域 1 +1(`projectEngineSessionMessages`,ST-5)、域 9 −2(`noteEngineCapsForAttachmentSeat` / `observedAttachmentSeat`(退役),ST-3);0.98.0(UP 行)+9 函数(§126 UP-1…UP-4:跨 run 统一收件箱读器与续读位置读口,域 3 +2;0.98.0(PK 行)+2 函数(§126 PK-2 / PK-3:`readMcpHttpIdentityHeaders` / `mcpAssertionHeaderNotSentNotice`,域 9);0.98.0(LF 行)+7 函数(§126 LF-1…LF-5:`readOwnDataNonEmptyString` / `readOwnDataFiniteNumber` / `guardedRead` / `wireFailureCoreOf`〔外来体窄读四口,域 15〕· `readTaskNotificationXml`〔转录通知 XML 单条回读口,域 7〕· `contextUsageReadingOf`〔`context_usage` 载荷唯一窄读口,域 1〕· `planReviewOfferedModeOf`〔计划审阅卡已呈档位三态读口,域 3〕);0.98.0(CS 行)+2 函数 +1 常量(§126 CS-1 / CS-2:`connectorStatusOf` / `connectorStatusLine` / `CONNECTOR_STATUS_UNKNOWN_WHYS`〔连接器状态里只由读者铸的两态读口、三端同句与「说不出」成因闭集〕,域 15);0.98.0(TK 行)−4 常量 +3 函数 +1 常量(§126 TK-6:`MAX_AGENT_TOOLS` / `MAX_AGENT_TOOL_NAME_CHARS`(0.98.0 退出公面)与同轴孪生 `MAX_AGENT_NAME_CHARS` / `MAX_AGENT_MAX_TURNS`(0.98.0 退出公面)退役,域 9;进:`assemblyRefusalOf` / `ASSEMBLY_REFUSAL_CAUSES` / `seatTurnFailureOf` / `readSeatTurnFailure`);0.98.0(SC 行)+2 函数 +1 常量(§126 SC-2 / SC-6 / SC-7:`isReplayMarked`〔提交幂等重放的事实读口〕· `toolResultRowFlagsOf`〔工具结果行四件读口〕· `TRANSCRIPT_ROW_SIDECAR_KEYS`〔转录行侧挂键全集〕);0.98.0(TX 行)+11 函数 +1 常量 −1 常量(§126 TX-1…TX-6:`EN_MESSAGES` / `ZH_MESSAGES` 两张冻结表算常量之外,`translate` / `createTranslator` / `createMissLedger` / `msg` / `renderMessage` / `resolveUiLanguageFrom`〔消息目录与界面语言解析链,域 3〕· `resolveSubagentModelWord` / `subagentModelWordProblemLine`〔子代理模型词,域 7〕· `uiMissLedger`〔台账对象〕· `DATA_FACE_LANGUAGE`〔常量 `'en'`〕;0.98.0(RT 行)+1 函数(§126 RT-1:`retryStatusNotice`〔重试行人话单源〕,域 1);0.98.0(LG 行)+2 常量 +3 函数(§126 LG-1 / LG-2:`EVENT_LEG_KINDS` / `EVENT_LEG_TABLE` / `composeEventLeg` / `frameBindingOf` / `inheritFrameBinding`〔事件腿组合器的腿表、组合器与按帧绑定两口〕,域 1);0.98.0(RC 行)−6 函数(§126 RC-1:`isAlreadyResolvedGateReason` / `isGateStandingErrorCode` / `isCodeClassifiedGateFailure`(0.98.0 退出公面)〔「门已决」三只拼装件,包内照用〕,域 3;0.98.0(RA 行)−2 函数(§126 RA-1 / RA-2:`subscribeEngineAgentPanel`(0.98.0 退出公面) / `subscribeEngineAgentPanelAbsence`(0.98.0 退出公面)〔面板旧事件订阅口 / 缺席订阅口,退役账到期硬退〕,域 4);0.98.0(RD 行)−1 函数 −1 常量(§126 RD-4 / RD-5:`excludeToolsAgainstDirectory`(0.98.0 退出公面)〔run 级目录判官,域 9〕/ `RULES_LEGACY_TOOL_NAME`(0.98.0 退出公面)〔会话规则写口老码常量,域 16〕);0.97.1(AD 行)+2 函数(§125 AD-3 / AD-4:`engineToolDirectoryOf`〔本跑声明的 MCP 服务器读口〕· `excludeToolsAgainstDirectory`(0.98.0 退出公面)〔run 级 excludeTools 判官〕,域 9);0.97.0(PK 行)+1 函数(§124 PK-7:`readApprovalCardWord`,域 3)+1 常量 +2 函数(§124 PK-5:`CONFLICT_IDEMPOTENCY_PAYLOAD_MISMATCH` / `isIdempotencyPayloadMismatchCode` / `idempotencyPayloadMismatchContent`,域 16)+2 函数(§124 PK-11:`modelCandidateRejectedOf` / `modelCandidateRejectedContent`,域 11)−1 +1 常量(§124 PK-4 / §2z:`ASK_PARK_GATE_KINDS`(0.97.0 退出公面) 退出根入口、`APPROVAL_DECIDE_GATE_KINDS` 经 sdk 转口上根入口,域 15,净零);0.97.0(SR 行)+1 函数 +1 常量(§124 SR-1:`isSdkRunParked` / `SDK_PARKED_RUN_STATUSES`〔sdk 停驻 run 词表与谓词,属主模块 `terminalStatuses`〕,域 1);0.97.0(CL 行)+2 函数(§124 CL-1 / CL-3:`engineCapsLandingOf`〔整份能力位读数,取落地的唯一读法〕· `rotateEngineCapsProbe`〔同一台引擎换探测闭包:更新重探登记而不失效〕,域 9);0.97.0(HT 行)−1 函数(§124 HT-1 / §2z:`isFsApprovalGate`(0.97.0 退出公面)〔域 3〕退出根入口);0.96.0(FA 行)−1 常量(§123z / §2z:`CONFIG_REFUSAL_CODES`(0.96.0 退出公面)〔域 16〕退出根入口);0.96.0(WD 行)+2 常量(§123 WD-1 / WD-4:`PROVIDER_REJECTION_KINDS`〔服务商拒绝分类词闭集〕· `CAPABILITY_IMAGE_INDEX_REQUIRED`〔501 镜像索引缺席码〕,域 16);0.96.0(HW 行)+1 常量(§123 HW-2:`APPROVAL_PARKING_WARN_TEXT`)+3 函数(§123 HW-3 / HW-4 / HW-5:`modeReleaseReasonSentence` / `createReleaseDisclosureLedger`〔域 3〕· `replayedApprovalClosesCardFrame`〔域 3〕);0.96.0(FL-6 行)+7 函数 +1 常量(§123 FL-6:`isAgentHandle` / `nonAgentHandleKind` / `isBackgroundSubagentRow` / `isBackgroundWorkRow` / `isOwnBackgroundSubagentRow` / `liveBgRowOwnership` / `liveBgRowOwnershipFor` 与持久句柄正则 `DURABLE_AGENT_HANDLE_RE`,域 5;`*For` 变体 +1 即 `liveBgRowOwnershipFor`);0.96.0(HJ 行)+1 函数(§123 HJ-1:`decisionRefusalAskReading`〔「这一问是否已决」唯一判官〕,域 3);0.96.0(CL 行)+4 函数(§123 CL-1 / CL-3 / CL-4:`projectEngineDirectory` / `projectMeEngine` / `decideMeEngine` / `engineOverrideOf`,域 15);0.96.0(DC 行)+2 函数(§123 DC-1 / DC-2:`displayConfiguredUrl`〔配置地址展示口〕· `queryCarriesCredential`〔上传判据〕,域 5);0.96.0(NT 行)+4 常量(§123 NT-3 / NT-4 / NT-5 / NT-6:`NOTICE_SEAT_CLASS`〔座位类表〕· `OUTLET_KINDS`〔出路种类闭集〕· `NOTICE_FULL_TEXT_CAP`〔通告正文防御栏〕· `PRINT_PERMISSION_OUTCOME_FORMS`〔`-p` 权限结局行形闭集〕,域 16 三名、域 3 一名)+7 函数(§123 NT-1 / NT-2 / NT-3 / NT-4 / NT-5 / NT-6:`cutForDisplay` / `noticePresentationFacts` / `noticeSeatClassOf` / `outletReachable` / `planOutletRendering` / `noticePrintLine`〔域 16〕· `printPermissionOutcomeOf`〔域 3〕);0.96.0(RT-6 行)−9 函数(§123z / §2z:九只 `noteEngineCapsFor*`〔域 9〕退出根入口);0.96.0(RT 行)−1 函数(§123z / §2z:`recordBgTerminalFacts`(0.96.0 退出公面)〔域 4〕退出根入口);0.96.0(PC 行)−1 函数(§123 PC-4 / §2z:`discussionWorkflowName`(0.96.0 退出公面)〔域 14〕退出根入口);0.96.0(PT 行)−1 函数 +1 函数(§123 PT-2 / §2z:`retiredToolNames`(0.96.0 退出公面)〔域 14〕退出根入口;§123 PT-1:读口 `ruleToolNameJudgement`〔域 14〕进根入口 —— 域 14 与总数不变);0.96.0(S2 行)+2 函数(§123 S2-2:`recentFoldersOf`〔最近目录唯一读法〕· `readRecentFolders`〔能力位三态与动词调用的编排口〕,域 13);0.96.0(CD 行)+2 函数(§123 CD-1 / CD-2:`approvalCardFactsOfV1`〔v1 呈卡帧卡面 → 卡入参事实〕· `standingRowsOf`〔卡上三行放行的判官〕,域 3);0.96.0(FS 行)+1 函数(§123 FS-1:`scenarioNotAllowedContent`〔场景拒出句单源〕,域 15);0.96.0(KY 行)+2 函数(§123 KY-3 / KY-4:`readFinishReasonUnknown` / `readStreamEndIgnored`〔服务商收尾异常两通告的事实读器〕,域 16);0.96.0(CV 行)+1 函数 +1 常量(§123 CV-1:`credentialProvenance`〔凭据来源纯判词〕· `CREDENTIAL_ATTACH_WORDS`〔四词冻结表〕,域 15);0.96.0(PB 行)+1 常量 +2 函数(§123 PB-4:`SESSION_ROW_PATCH_REQUEST_KEYS`〔会话行改名 / 置顶动词入参键集〕· `checkSessionRowPatchRequest` / `isSessionRowPatchRequest`〔入站判官〕,域 13);0.96.0(FH 行)+2 常量 +6 函数(§123 FH-1 – FH-5:`FILE_HISTORY_SKIPPED_NOTICE`〔「文件历史没搬」那一句〕· `FILE_HISTORY_TIGHTEN_VERDICTS`〔收紧判定四词闭集〕· `fileHistorySyncNotice` / `fileHistorySyncNoticeIdentity` / `isFileHistoryBlobMissing` / `fileHistoryTightenVerdict` / `fileHistoryUnjudgedRefusal` / `judgeFileHistoryTighten`,域 9);0.96.0(EF 行)+1 函数(§123 EF-1:`engineSupportFloorEffective`〔`engineVersionTier` 有效门槛读口〕,域 16);0.96.0(PP 行)+1 函数(§123 PP-4:`durableDecideLegOf`〔域 15〕);0.95.0(FX-E 行)+3 函数(§122 FX-E2a / FX-E2b / FX-E4:`engineCredentialRequirementOf`〔域 15〕· `storePostureHeadWord`〔域 9〕· `isSessionIdPathSegment`〔域 15〕);0.95.0(FX-F1 行)+2 函数(§122 FX-F1:`forgetSettledTerminalRow` / `forgetSettledTerminalRowFor`〔按行 id 摘已结算的终态行〕,域 5););0.95.0(FX-H 行)+3 函数 −2 函数(§122 FX-H4:`engineRewindRefusedNow` / `decideRewindEngineAction` / `previewEngineRewind`〔域 9〕;§122 FX-H2:`classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面)〔域 15〕退出根入口,逐名见 §2z;0.95.0(FX-D 行)+3 函数(§122 FX-D2:`refusedParkFromError` / `refusedParkContent` / `refusedParkBlockedContent`〔续跑被拒那一族的读口与两句出句口,域 16〕);0.95.0(FX-A 行)+2 函数(§122 FX-A2 / FX-A3:`readApprovalRememberRefused`〔审批卡上「引擎声明本会话放行记不住」那一位的读口〕/ `rememberRefusalOf`〔remember 专属拒绝判官〕,域 3);0.95.0(FX-G 行)+3 函数(§122 FX-G1 / FX-G2:`permissionsAllowKeptNotice`〔域 6〕· `limitsSupportNotice` / `explicitLimitFlagNames`〔域 10〕);0.95.0(PK7 行)+1 函数(§122 PK7-3:`approvalCompleteCauseOf`〔域 3〕);0.95.0(XH 行)+1 函数(§122 XH-1:`joinApprovalHolder`〔同一只审批的持有者读口〕,域 3);0.95.0(TW 行)−6 常量 −4 函数 +5 常量 +9 函数(§122 TW-1 / TW-2:终态词表与谓词改名带属主 —— 十个旧名退出根入口〔逐名见 §2z〕,新增五张属主表、八只谓词与 CC 行词投影 `ccTaskTerminalStatusOf`〔域 1 / 5 / 8 / 15 / 16〕);0.95.0(RS 行)+2 函数(§122 RS-1 / RS-3:`runningAttachOffered`〔忙卡与 resume 三选卡同一只 attach 判定〕/ `resumeRunningCancelConfirmedRow`〔Cancel 已受理确认句〕,域 3);0.95.0(SB 行)+4 函数(§122 SB-3 / SB-4:`mcpEngineLegConnectionOf`〔域 9〕· `modelSwitchProbeOutcomeOf` / `runModelSwitchProbe` / `createModelSwitchFallbackLedger`〔域 11〕);0.95.0(RX 行)−30 函数(§122 RX-1 / RX-2:`providerRejectionResend`(0.95.0 退出公面)〔域 1〕与二十九只逐只失效口 `forget*Reading`〔域 9 二十六只 / 域 15 三只〕退出根入口,逐名见 §2z);0.95.0(SA 行)+8 函数(§122 SA-1:`fireInteractiveInterrupt`;0.95.0(归层读口)+4 函数(§122 RD-3:`classifyApprovalCompleteFrame` / `parkRowDeadlineState` / `lateDecideRoute` / `runReapedByDeadline`〔域 3〕);0.95.0(归层读口)+2 常量 +11 函数(§122 RD-2:`USAGE_SENTENCES` / `USAGE_HEATMAP_MAX_DAYS` / `readUsageSummary` / `readUsageSeries` / `readUsageBreakdown` / `projectUsageSummary` / `projectUsageSeries` / `projectUsageBreakdown` / `classifyUsageFailure` / `projectUsageAnalytics` / `readUsageAnalytics` / `usageBoundPrefix` / `usageWindowOfRange`〔域 11〕);0.95.0(WB 行)+3 常量 +8 函数 −1 函数(§122 WB-1 – WB-8:`readLiveModelCatalog` / `liveDefaultModelOf` / `atMentionOf` / `modelCompatOf` / `liveModelRowsOf`〔域 11〕· `checkSendMessageRequest` / `isSendMessageRequest` / `SEAT_REWIND_INTENT_KEYS` / `SEAT_TURN_SETTINGS_ORIGINS`〔域 13〕· `REWIND_MODES`〔域 9〕· `approvalCompleteParked`〔域 3〕;`isSeatModelCatalog`(0.95.0 退出公面)〔域 13〕退出根入口,逐名见 §2z);0.95.0(WC 行)+3 函数(§122 WC-1 / WC-2 / WC-3:`hasLedgerPositionKey` / `replayedApprovalSentence` / `allowRuleShadowSentence`〔域 3〕);0.95.0(KA 行)+1 函数(§122 KA-6:`stripToolUseSideChannels`〔域 1〕);0.95.0(换钉批)+1 函数(§122 UP-1:`droppedModelEntriesOf`〔域 11〕);0.95.0(面板行归约口)+1 常量 +3 函数(§122 PR 行:`PANEL_DELTA_OPS` / `reducePanelFrame` / `createPanelReduceState` / `subscribeEnginePanelRows`〔域 4〕);0.94.0 −2 函数(§121 RX-4 / RX-5:`askSurvivesPosture`(0.94.0 退出公面) / `askSurvivesStandingAnswer`(0.94.0 退出公面)〔域 3〕退出根入口,逐名见 §2z);0.94.0 +1 函数(§121 PK-2:`readToolApprovalRespondParking`〔域 3〕)· 0.94.0(未发布,§121 SP2 行)+2 常量 +5 函数(`REQUEST_AUTONOMY_LANE_REFUSED`〔域 16〕· `STREAM_DRAINING_RECONNECT_MAX` / `isInStreamDrainingEnd` / `streamDrainingDecision` / `autonomyLaneRefusalFromError` / `autonomyLaneRefusalContent`〔域 15〕· `agentToolListFlaws`〔域 9〕);0.94.0(未发布,座位 / 读口车道)+1 常量 +4 函数(§121 ST 行:`SEAT_CAPABILITY_NAMES` / `seatCapability` / `watchSeatCapability` / `seatCapabilityUnavailableDetail`〔域 13〕· `deviceFlowPollingPlan`〔域 150.94.0 +2 函数(§121 HW2 行:`askProbeReasonDetail`〔域 3〕· `subagentStateDetail`〔域 4〕;CC-514 初版加的常量 `APPROVAL_NOTE_ABORTED_DETAIL` 随发版复核定形撤回,未发布);0.94.0(未发布,请求装配车道)+1 常量 +5 函数(§121 RQ 行:`WIRE_RULE_TRUST_ORDER`〔域 6〕· `approvalReachDeclaration` / `approvalReachDeclarationSettled`〔域 6〕· `isApproverUnavailableGate`〔域 3〕· `effortLevelsOf` / `effortLevelHonored`〔域 11〕);0.94.0 +2 函数(CC-447 ⑦ §121 CP-7 `mandatedApprovalDetailOf`〔域 3〕;CC-356 ① §121 CP-12 `compileAllowList`〔域 14〕);0.94.0 +2 常量 +11 函数(§121 SV-4 / SV-5 两只能力位读器各五名在域 9;SV-1 通告事实读器 `readAllowedToolNotGranted` 与 SV-5 / SV-7 两只码常量在域 16);0.94.0 +12 函数(HD 行:`classifyDecisionRefusal` / `liveAskPendingReading` / `decisionRefusalClosesOut` / `undeliverableDecisionContent` / `noAllowCauseOf` / `policyDenyReason` / `permissionRequestHookScope` / `readApprovalBoundGrants` / `readApprovalClassifierNoRuling` / `approvalBoundGrantsDetail` / `classifierNoRulingDetail` / `approvalPriorCardsDetail`,全在域 3,逐名见 §121a);0.93.0 +5 常量 +18 函数 −6 常量 −15 函数(CC-454 §119 DX-2:+1 函数 `deviceLaneOpen`〔域 9〕;CC-403 §119 DB-1 / DB-2:+6 函数,逐名见 119a〔五名读面 + 判据在域 9、决定函数在域 3〕;CC-451 §119 PM-1 / SA-1:+1 常量 +6 函数,逐名见 119a;CC-431 §119 RT-1 … RT-8 到期登记物硬删,逐名见 §2z〔−6 / −15 即这 21 名〕;+4 / +5:CC-364 `PROMPT_BLOCK_CAUSES`〔域 1〕;CC-429 `MCP_RECONNECT_UNSETTLED_NOTICE`〔域 15〕;CC-363 `transportFailureScene`〔域 15〕;CC-331 `detectEngineBgShellDetach`〔域 8〕;CC-323 ② `readEngineConfigApplyState` / `configDriftVerdict`〔域 15〕;CC-355 `coreVersionTier`〔域 16〕;CC-430 workflow 子代审批决定口两只 409 码常量 `DECIDE_WORKFLOW_PARKS_UNREADABLE` / `DECIDE_WORKFLOW_PARK_FORKED`〔域 3〕;§119);0.92.0 +9 常量 +47 函数 −2 函数(CC-295:`ABORT_CAUSES` / `readAbortCause` / `abortCauseNoteOf`〔域 16〕;CC-374 / CC-353:`fleet.steerPriority` 读器六名〔域 9〕+ `steerBodyOf` / `readSteerReceipt`〔域 15〕+ `readTurnInterrupted` / `turnInterruptedNotice` / `steerCutVerdict`〔域 16〕,`readSteerDelivery`(🔧 0.92.0 退出公面)/ `readSteerReceiptStatus`(🔧 0.92.0 退出公面)〔域 15〕;CC-371 / CC-370:六只码与闭集常量〔域 16〕+ `operatorGateRefusalContent` / `runDeathVerdictNoteOf`〔域 16〕+ `askGoneFromError` / `askGoneContent`〔域 3〕+ 四只能力位读器二十四名〔域 9〕+ core 值级端口读口 `mintNamespacePrefix`〔域 14〕;CC-367 重放出的审批帧判活口 `replayedApprovalDisposition` 与清单读不到时那一句 `REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT`〔域 3〕;CC-369 ⑦ 内联图片被拒码 `CONFIG_IMAGE_INVALID` 与出路句 `imageInvalidFailureNoteOf`〔域 16〕;CC-368 自动车道单一判定 `automaticAnswerVerdict`〔域 3〕;CC-401 allow 层让位披露读口 `readApprovalAllowRuleShadow` 与证据口 `approvalAllowRuleShadowed`〔域 3〕;§118);0.91.0 +7 常量 +25 函数(CC-303 点名坏轮句 `toolHistoryBadTurnSentence`;CC-304 行键读口 `readToolHistoryMismatchKey`;CC-306 hooks matcher 受理判定 `hookMatcherVerdict`〔域 9〕;CC-307 steer 拒收合成口 `steerRefusalAdviceOf` 与「先账后引擎」判定 `steeringRefusedBeforeEngine`;CC-310 崩溃遗留通告句序 `NEEDS_HUMAN_REASON_ORDER` + 按因由一句 `crashConvergedNeedsHumanSentence` + 整行 `crashConvergedNotice`〔域 3〕;CC-311 能力位有界等待 `disableSkillsDeclarationSettled`〔域 6〕;CC-314 权限装配的筛选理由报告口 `permissionsDeclarationReport` 与理由闭集 `PERMISSIONS_KEPT_REASONS`〔域 6〕;CC-315 / CC-297 信封铸点与提交装配 `mintUserAttachmentEnvelope` / `encodeHumanTurn` / `deliveredUuidsOf` / `imageVisionOf`〔域 6〕与附件席位读器三口 `noteEngineCapsForAttachmentSeat` / `observedAttachmentSeat` / `forgetAttachmentSeatReading`(0.95.0 退出公面)〔域 9〕;CC-317 `abortableSleep` / `isAlreadyResolvedFailure`;CC-318 两张闭集表 `ASK_EVIDENCE_ABSENCE_VALUES` / `SYSTEM_INJECTION_PRIORITIES`;CC-322 ① 问类仲裁表 `MODE_ARBITRATION` + 判定 `askSurvivesStandingAnswer`(0.94.0 退出公面);CC-327 读拒两张词表 `READ_DENY_BUILTIN_TIERS` / `READ_DENY_DEFAULT_TIERS` + 部署键串校验口 `parseReadDenyBuiltinTiers`;CC-328 `sessionPolicyReadNotice`〔域 3〕;CC-337 `attachmentsSubmitVerdict`〔域 9〕;CC-339 续跑被拒「按存下的样子续不了」读口与出句口 `checkpointUnsupportedVersionFromError` / `checkpointUnsupportedVersionContent`〔域 16〕+ matcher 拒体事后读口 `hookMatcherRefusalFromError`〔域 9〕;§117);0.90.0 +16 −1 函数 +2 常量 +1 类(CC-291:引擎 7.39.0 退役通告码 `resume.legacy_mode_seed_migrated`,其事实读器 `readLegacyModeSeedMigrated` 退出公面(退出根入口),逐名见 §2z;CC-294 文件历史一句:`fileHistoryLegNoticeVerdict` / `fileHistoryLegNoticeSentence` / `fileHistoryDeclarationOfBody` / `createFileHistoryDeclarationLedger` + `FILE_HISTORY_LEG_VERDICTS`;CC-298 hooks matcher 工具别名读口 `hookToolAliasesOf` / `canonicalHookToolName`;CC-299 支持底线声明:`SUPPORT_FLOOR` / `supportFloorOf` / `engineVersionTier`;CC-302 请求体权限三桶装配口 `permissionsDeclaration` 与 allow 放行能力位读器 `projectPermissionsAllowGrantCapability` / `noteEngineCapsForPermissionsAllowGrant`(0.98.0 退出公面) / `observedPermissionsAllowGrant` / `forgetPermissionsAllowGrantReading`(0.95.0 退出公面) / `permissionsAllowGrantAvailable` / `permissionsAllowGrantDoctorDetail`;CC-309 错误载体铸口 `toolHistoryErrorCarrierOf`;CC-316 `attachments` 声明拒绝的具名类 `AttachmentsSpecRefused`;§116);0.89.0 +8 函数 −1 常量(CC-282 通告 / 终局 / 省略成因:`readToolTurnIncomplete` / `readUserInputUndrained` / `userInputUndrainedNotice` / `providerRejectionResend`(0.95.0 退出公面) / `taskRequestOmissionCausePhrase`(0.98.0 退出公面),`SERVER_NOTICE_AUDIENCE` 🔧 0.89.0 退出公面,逐名见 §2z;CC-277 `disableSkillsDeclaration`;CC-287 `settingsHooksKeptLocally`;CC-289 `isReadCredentialRefusal`);0.88.0 +12 函数 +4 常量(CC-270 ① 服务端自铸通告事实读器 `readModelUnreachable`;CC-272 放行原因闭集镜像 `GATE_MODE_RELEASE_REASON_WORDS` + 判词谓词 `isGateModeReleaseReasonWord` + 修复通告事实读器 `readToolTurnRepaired`;CC-264 会话记忆抹除调用口 `eraseSessionMemory` + 判定口 `sessionMemoryEraseOutcome` + 三只闭集镜像;CC-280 registry 409 判别 `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面);CC-281 被拒读口 `requireExistingSessionRefusalFromError` + 一句 `requireExistingSessionRefusalContent`;CC-271 `createPromptDeliveryLedger` / `promptKnownUndelivered` / `withoutUndeliveredPrompts`);0.87.0 +2 函数(CC-268 会话历史 tool_use 错配的判型口 `classifyToolHistoryMismatch` + 回退节点解析口 `resolveToolHistoryRewindTarget`);0.86.0 +40 函数 +6 常量 −1 函数 −1 常量(CC-249 引擎 7.34.0 提货:六只通告事实读器 + 权限模式折回原因闭集 + 门记录模式放行读口;CC-251 写口拒名码常量 + `rules.` 族前缀谓词;CC-252 凭据没被接受那一句;CC-253 `APPROVER_POSTURE_BYPASS` / `approverPostureDeclarationField` 🔧 0.86.0 退出公面,逐名见 §2z;CC-250 存储姿态六口 + 中心接线六口 + 计费入口 503 码常量 + 读口 + 一句;CC-256 本机无 OS 沙箱判定 + 一句 + 诊断面车道段读口;CC-257 `inheritEnv` 两词闭集 + 判词口 + 版本地板常量 + 版本闸 + 片段口 + 不发那一句 + 两只拒各读口与一句;CC-262 / CC-263 / CC-265 权限规则表 · 工具声明族 · 键形拒两张键表各一读口一句 / 谓词;CC-266 `-p` 首帧来源超集键铸口);0.85.1 +2 函数 +1 常量(CC-248 回执省略成因的终端用户向取句口 + 句表;CC-259 按会话呈现回执登记口复活,0.72.0 退出过);0.85.0 +26 函数 +9 常量 −2 函数 −1 常量(CC-241 plan-review 决断台账六口;CC-246 会话后台任务停止口 + 受据归类口 + 三态闭集;CC-217 / CC-243 服务端 7.104.0 会话侧:存档读不出三载体读口 + 判定 + 人话 + 码常量、跳过记录通告读器 + 补句、删会话 409 读口 + 措辞 + 码常量、停驻挪动族读口 + 措辞 + 判定 + 闭集 + 三码常量;CC-243 能力 / 同步体侧:公钥发现四口、文件历史请求词片段口 + 常量、粗码识别表 + 判定;CC-221 三个运行期名字退出公面,逐名见 §2z);0.84.1 +11 函数 +4 常量(CC-210 开标签定位口 / CC-219 detach 400 纯判定 / CC-213 服务端自铸码受众表 + 事实读器 / CC-214 按码派发口 + 派发表 / CC-225 停泊决断 422 读口 + 措辞 + 码优先判定 + 码常量 / CC-229 撤销动词 + 措辞 + 出路句 + 判据本体 + 码常量);0.84.0 +8 函数 −7 常量 −19 函数(CC-194 B 半登记读数五口 / CC-185 读目录授权结论通告读口 / CC-206 `hands` 段读口与措辞两口;CC-223 收回 0.71.3 预告的 26 个 `export *` 放大件,🔧 0.84.0 退出公面,逐名见 CHANGELOG 0.84.0);0.83.5 +1 函数(CC-204 字符面标记位置读口 `displayUntrustedMarks`);0.83.4 +4 函数(CC-205 `<system-reminder>` 剥离 / 解包两口;CC-203 座位过境口;CC-201 清「用户关卡」记号口);0.83.2 +15 函数 +4 常量(CC-193 姿态放行谓词 / CC-195 强制词闭集 + 成员判据 + 读口 + 措辞 / CC-194 缺席行判定 11 函数 + 3 常量);0.83.1 +10 函数 +6 常量(CC-112 展示层安全出口 `displayUntrusted` / CC-117 会话规则记录无损判定 + 措辞单源 + 五词成因闭集 / CC-174 插件 hook 每轮计划 + 查询口 + 事件判定口 + 四只措辞口 + 五张闭集);0.83.0 −3 函数(联网搜索旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 🔧 0.83.0 退出公面)+1 函数(CC-175 `terminalReasonForResult`);0.82.7 +5 函数(CC-182 每请求联网搜索配置三态判决:段判决 / env 判决 / 两车道合成 / 措辞单源 / endpoint 显示形);0.82.5 +5 函数 +1 常量(CC-169 print 车道 init 帧工具面:流包装器 / 判定闸 / 名册信号分类口 / 判定口 / 留痕措辞单源 + 等待上界常量);0.82.2 +1 函数(CC-164 云控制面有效配置回体措辞单源 `cloudEffectiveNotices`);0.82.1 +15 函数(CC-154 续跑折叠码读口 + 措辞 / CC-163 文件历史捕获读口六口 / CC-151 模型身份可解析判据五口 / CC-161 自定义代理载荷作废重投口 / 决断失败码「门还在」判定;测试钩 +1);0.82.0 +17 函数 +1 常量(CC-146 `/rewind` 代码档与对话档可用性读口投影 + 三口读账 + 两只判据 + 三句措辞 / CC-150 额度投影三口 / CC-152 装配期无手两口 / CC-154 取码单源 + 折叠码常量 / CC-156 坏档行坐标读口 + 措辞);0.80.0 +1 常量 +10 函数(CC-133 结算词表镜像 `SETTLEMENT_KIND_WORDS` + 五函数 / CC-134 三函数 / CC-132 两函数);0.79.0 +8 常量 +21 函数 +1 类(CC-74 MCP 状态面两张词表 + 九函数 / CC-110 `approvalIsMandated` + `mandatedApprovalDetail` / CC-116 · 118 · 123 `APPROVER_POSTURE_BYPASS`(🔧 0.86.0 退出公面)+ `REQUEST_LANES` + 三函数 / CC-125 拒因两面四常量 `HITL_POLICY_DENY_MESSAGE` `APPROVAL_DENY_SETTLED_BY_WORDS` `SEMA_DENIAL_KIND_KEY` `CC_TOOL_DENIAL_KINDS` + 四函数 / CC-128 会话 bundle 面转口 `pushSessionBundle` `pullSessionBundle` `importSessionBundle` + 错误类 `APIError`;测试钩 +1);0.78.1 +2 常量 +9 函数(CC-113 displayBody / CC-97 b 五动词 + 判官 + 覆盖面判词 / CC-121 readSubmitWiringManifest);0.77.0 +2 常量 +2 函数(CC-101)+ 5 常量 +12 函数(CC-105 / CC-103;测试钩 +1);0.76.1 +1 常量 +4 函数(CC-36)+ 13 函数(CC-102;测试钩 +2)+ 1 常量 +20 函数(CC-97a;测试钩 +2)+ 2 函数(身份快照助手上公面);0.76.0 +8 常量 +8 函数(CC-77 ① 2+4 / CC-96 6+4);0.74.5 +2 常量 +2 函数(CC-87 / CC-88);0.74.3 +2 常量 +7 函数(CC-70 / CC-71 / CC-72 / CC-73 / CC-80;测试钩 +1);0.74.2 +6 函数(CC-69;测试钩 +1);0.74.1 +1 常量(CC-67);0.74.0 +1 函数(CC-66);0.73.5 +8 常量 +3 函数(CC-58);0.73.4 +1 常量(CC-34);0.73.3 +6 函数(CC-61;测试钩 +1);0.73.1 +2 常量 +5 函数(CC-56 / CC-57;测试钩 +1);0.72.14 +1 常量 +7 函数(CC-55);0.72.13 +4 常量 +14 函数(CC-46 / CC-54 / CC-53 / CC-50 缺席口);0.72.12 +2 常量 +2 函数(CC-50);0.72.10 +2 常量 +2 函数(CC-41);0.72.9 +2 常量 +6 函数(CC-30 / CC-39②);0.72.8 +2 常量 +4 函数(CC-39③ / CC-43);0.72.7 +1 常量 +1 函数(CC-42);0.72.6 +1 函数(CC-40);0.72.5 +1 常量 +5 函数(CC-31);0.72.3 +1 常量(CC-39①);0.72.2 +1 函数(CC-37);0.72.1 +1 常量 +3 函数(CC-33);0.72.0 −23 常量 −16 函数(CC-32 退役批);0.71.3 +4 常量 +5 函数(CC-06);0.71.0 −2 常量 `MAX_AGENT_SKILLS` / `DECIDE_WORKFLOW_HOST_NOT_PARKED` +2 函数 `projectToolRosterDelta` / `mcpEngineLegPresence`;0.70.0 起 +1 函数;0.69.2 起 +3:常量 1 / 函数 2):**3890.94.0(未发布,读口 / 端口车道)+16 函数(§121 RP 行:结果帧读口族四名与指令文件归属两名〔域 1〕· `callerCwd` 读器五名〔域 9〕· 路由判官五只读口〔域 14〕);0.94.0(未发布,请求装配车道)+1 常量 +5 函数(§121 RQ 行:`WIRE_RULE_TRUST_ORDER`〔域 6〕· `approvalReachDeclaration` / `approvalReachDeclarationSettled`〔域 6〕· `isApproverUnavailableGate`〔域 3〕· `effortLevelsOf` / `effortLevelHonored`〔域 11〕);0.94.0 +2 函数(CC-447 ⑦ §121 CP-7 `mandatedApprovalDetailOf`〔域 3〕;CC-356 ① §121 CP-12 `compileAllowList`〔域 14〕);0.94.0 +2 常量 +11 函数(§121 SV-4 / SV-5 两只能力位读器各五名在域 9;SV-1 通告事实读器 `readAllowedToolNotGranted` 与 SV-5 / SV-7 两只码常量在域 16);0.94.0 +12 函数(HD 行:`classifyDecisionRefusal` / `liveAskPendingReading` / `decisionRefusalClosesOut` / `undeliverableDecisionContent` / `noAllowCauseOf` / `policyDenyReason` / `permissionRequestHookScope` / `readApprovalBoundGrants` / `readApprovalClassifierNoRuling` / `approvalBoundGrantsDetail` / `classifierNoRulingDetail` / `approvalPriorCardsDetail`,全在域 3,逐名见 §121a);0.93.0 +5 常量 +18 函数 −6 常量 −15 函数(CC-454 §119 DX-2:+1 函数 `deviceLaneOpen`〔域 9〕;CC-403 §119 DB-1 / DB-2:+6 函数,逐名见 119a〔五名读面 + 判据在域 9、决定函数在域 3〕;CC-451 §119 PM-1 / SA-1:+1 常量 +6 函数,逐名见 119a;CC-431 §119 RT-1 … RT-8 到期登记物硬删,逐名见 §2z〔−6 / −15 即这 21 名〕;+4 / +5:CC-364 `PROMPT_BLOCK_CAUSES`〔域 1〕;CC-429 `MCP_RECONNECT_UNSETTLED_NOTICE`〔域 15〕;CC-363 `transportFailureScene`〔域 15〕;CC-331 `detectEngineBgShellDetach`〔域 8〕;CC-323 ② `readEngineConfigApplyState` / `configDriftVerdict`〔域 15〕;CC-355 `coreVersionTier`〔域 16〕;CC-430 workflow 子代审批决定口两只 409 码常量 `DECIDE_WORKFLOW_PARKS_UNREADABLE` / `DECIDE_WORKFLOW_PARK_FORKED`〔域 3〕;§119);0.92.0 +9 常量 +47 函数 −2 函数(CC-295:`ABORT_CAUSES` / `readAbortCause` / `abortCauseNoteOf`〔域 16〕;CC-374 / CC-353:`fleet.steerPriority` 读器六名〔域 9〕+ `steerBodyOf` / `readSteerReceipt`〔域 15〕+ `readTurnInterrupted` / `turnInterruptedNotice` / `steerCutVerdict`〔域 16〕,`readSteerDelivery`(🔧 0.92.0 退出公面)/ `readSteerReceiptStatus`(🔧 0.92.0 退出公面)〔域 15〕;CC-371 / CC-370:六只码与闭集常量〔域 16〕+ `operatorGateRefusalContent` / `runDeathVerdictNoteOf`〔域 16〕+ `askGoneFromError` / `askGoneContent`〔域 3〕+ 四只能力位读器二十四名〔域 9〕+ core 值级端口读口 `mintNamespacePrefix`〔域 14〕;CC-367 重放出的审批帧判活口 `replayedApprovalDisposition` 与清单读不到时那一句 `REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT`〔域 3〕;CC-369 ⑦ 内联图片被拒码 `CONFIG_IMAGE_INVALID` 与出路句 `imageInvalidFailureNoteOf`〔域 16〕;CC-368 自动车道单一判定 `automaticAnswerVerdict`〔域 3〕;CC-401 allow 层让位披露读口 `readApprovalAllowRuleShadow` 与证据口 `approvalAllowRuleShadowed`〔域 3〕;§118);0.91.0 +7 常量 +25 函数(CC-303 点名坏轮句 `toolHistoryBadTurnSentence`;CC-304 行键读口 `readToolHistoryMismatchKey`;CC-306 hooks matcher 受理判定 `hookMatcherVerdict`〔域 9〕;CC-307 steer 拒收合成口 `steerRefusalAdviceOf` 与「先账后引擎」判定 `steeringRefusedBeforeEngine`;CC-310 崩溃遗留通告句序 `NEEDS_HUMAN_REASON_ORDER` + 按因由一句 `crashConvergedNeedsHumanSentence` + 整行 `crashConvergedNotice`〔域 3〕;CC-311 能力位有界等待 `disableSkillsDeclarationSettled`〔域 6〕;CC-314 权限装配的筛选理由报告口 `permissionsDeclarationReport` 与理由闭集 `PERMISSIONS_KEPT_REASONS`〔域 6〕;CC-315 / CC-297 信封铸点与提交装配 `mintUserAttachmentEnvelope` / `encodeHumanTurn` / `deliveredUuidsOf` / `imageVisionOf`〔域 6〕与附件席位读器三口 `noteEngineCapsForAttachmentSeat` / `observedAttachmentSeat` / `forgetAttachmentSeatReading`(0.95.0 退出公面)〔域 9〕;CC-317 `abortableSleep` / `isAlreadyResolvedFailure`;CC-318 两张闭集表 `ASK_EVIDENCE_ABSENCE_VALUES` / `SYSTEM_INJECTION_PRIORITIES`;CC-322 ① 问类仲裁表 `MODE_ARBITRATION` + 判定 `askSurvivesStandingAnswer`(0.94.0 退出公面);CC-327 读拒两张词表 `READ_DENY_BUILTIN_TIERS` / `READ_DENY_DEFAULT_TIERS` + 部署键串校验口 `parseReadDenyBuiltinTiers`;CC-328 `sessionPolicyReadNotice`〔域 3〕;CC-337 `attachmentsSubmitVerdict`〔域 9〕;CC-339 续跑被拒「按存下的样子续不了」读口与出句口 `checkpointUnsupportedVersionFromError` / `checkpointUnsupportedVersionContent`〔域 16〕+ matcher 拒体事后读口 `hookMatcherRefusalFromError`〔域 9〕;§117);0.90.0 +16 −1 函数 +2 常量 +1 类(CC-291:引擎 7.39.0 退役通告码 `resume.legacy_mode_seed_migrated`,其事实读器 `readLegacyModeSeedMigrated` 退出公面(退出根入口),逐名见 §2z;CC-294 文件历史一句:`fileHistoryLegNoticeVerdict` / `fileHistoryLegNoticeSentence` / `fileHistoryDeclarationOfBody` / `createFileHistoryDeclarationLedger` + `FILE_HISTORY_LEG_VERDICTS`;CC-298 hooks matcher 工具别名读口 `hookToolAliasesOf` / `canonicalHookToolName`;CC-299 支持底线声明:`SUPPORT_FLOOR` / `supportFloorOf` / `engineVersionTier`;CC-302 请求体权限三桶装配口 `permissionsDeclaration` 与 allow 放行能力位读器 `projectPermissionsAllowGrantCapability` / `noteEngineCapsForPermissionsAllowGrant`(0.98.0 退出公面) / `observedPermissionsAllowGrant` / `forgetPermissionsAllowGrantReading`(0.95.0 退出公面) / `permissionsAllowGrantAvailable` / `permissionsAllowGrantDoctorDetail`;CC-309 错误载体铸口 `toolHistoryErrorCarrierOf`;CC-316 `attachments` 声明拒绝的具名类 `AttachmentsSpecRefused`;§116);0.89.0 +8 函数 −1 常量(CC-282 通告 / 终局 / 省略成因:`readToolTurnIncomplete` / `readUserInputUndrained` / `userInputUndrainedNotice` / `providerRejectionResend`(0.95.0 退出公面) / `taskRequestOmissionCausePhrase`(0.98.0 退出公面),`SERVER_NOTICE_AUDIENCE` 🔧 0.89.0 退出公面,逐名见 §2z;CC-277 `disableSkillsDeclaration`;CC-287 `settingsHooksKeptLocally`;CC-289 `isReadCredentialRefusal`);0.88.0 +12 函数 +4 常量(CC-270 ① 服务端自铸通告事实读器 `readModelUnreachable`;CC-272 放行原因闭集镜像 `GATE_MODE_RELEASE_REASON_WORDS` + 判词谓词 `isGateModeReleaseReasonWord` + 修复通告事实读器 `readToolTurnRepaired`;CC-264 会话记忆抹除调用口 `eraseSessionMemory` + 判定口 `sessionMemoryEraseOutcome` + 三只闭集镜像;CC-280 registry 409 判别 `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面);CC-281 被拒读口 `requireExistingSessionRefusalFromError` + 一句 `requireExistingSessionRefusalContent`;CC-271 `createPromptDeliveryLedger` / `promptKnownUndelivered` / `withoutUndeliveredPrompts`);0.87.0 +2 函数(CC-268 会话历史 tool_use 错配的判型口 `classifyToolHistoryMismatch` + 回退节点解析口 `resolveToolHistoryRewindTarget`);0.86.0 +40 函数 +6 常量 −1 函数 −1 常量(CC-249 引擎 7.34.0 提货:六只通告事实读器 + 权限模式折回原因闭集 + 门记录模式放行读口;CC-251 写口拒名码常量 + `rules.` 族前缀谓词;CC-252 凭据没被接受那一句;CC-253 `APPROVER_POSTURE_BYPASS` / `approverPostureDeclarationField` 🔧 0.86.0 退出公面,逐名见 §2z;CC-250 存储姿态六口 + 中心接线六口 + 计费入口 503 码常量 + 读口 + 一句;CC-256 本机无 OS 沙箱判定 + 一句 + 诊断面车道段读口;CC-257 `inheritEnv` 两词闭集 + 判词口 + 版本地板常量 + 版本闸 + 片段口 + 不发那一句 + 两只拒各读口与一句;CC-262 / CC-263 / CC-265 权限规则表 · 工具声明族 · 键形拒两张键表各一读口一句 / 谓词;CC-266 `-p` 首帧来源超集键铸口);0.85.1 +2 函数 +1 常量(CC-248 回执省略成因的终端用户向取句口 + 句表;CC-259 按会话呈现回执登记口复活,0.72.0 退出过);0.85.0 +26 函数 +9 常量 −2 函数 −1 常量(CC-241 plan-review 决断台账六口;CC-246 会话后台任务停止口 + 受据归类口 + 三态闭集;CC-217 / CC-243 服务端 7.104.0 会话侧:存档读不出三载体读口 + 判定 + 人话 + 码常量、跳过记录通告读器 + 补句、删会话 409 读口 + 措辞 + 码常量、停驻挪动族读口 + 措辞 + 判定 + 闭集 + 三码常量;CC-243 能力 / 同步体侧:公钥发现四口、文件历史请求词片段口 + 常量、粗码识别表 + 判定;CC-221 三个运行期名字退出公面,逐名见 §2z);0.84.1 +11 函数 +4 常量(CC-210 开标签定位口 / CC-219 detach 400 纯判定 / CC-213 服务端自铸码受众表 + 事实读器 / CC-214 按码派发口 + 派发表 / CC-225 停泊决断 422 读口 + 措辞 + 码优先判定 + 码常量 / CC-229 撤销动词 + 措辞 + 出路句 + 判据本体 + 码常量);0.84.0 +8 函数 −7 常量 −19 函数(CC-194 B 半登记读数五口 / CC-185 读目录授权结论通告读口 / CC-206 `hands` 段读口与措辞两口;CC-223 收回 0.71.3 预告的 26 个 `export *` 放大件,🔧 0.84.0 退出公面,逐名见 CHANGELOG 0.84.0);0.83.5 +1 函数(CC-204 字符面标记位置读口 `displayUntrustedMarks`);0.83.4 +4 函数(CC-205 `<system-reminder>` 剥离 / 解包两口;CC-203 座位过境口;CC-201 清「用户关卡」记号口);0.83.2 +15 函数 +4 常量(CC-193 姿态放行谓词 / CC-195 强制词闭集 + 成员判据 + 读口 + 措辞 / CC-194 缺席行判定 11 函数 + 3 常量);0.83.1 +10 函数 +6 常量(CC-112 展示层安全出口 `displayUntrusted` / CC-117 会话规则记录无损判定 + 措辞单源 + 五词成因闭集 / CC-174 插件 hook 每轮计划 + 查询口 + 事件判定口 + 四只措辞口 + 五张闭集);0.83.0 −3 函数(联网搜索旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 🔧 0.83.0 退出公面)+1 函数(CC-175 `terminalReasonForResult`);0.82.7 +5 函数(CC-182 每请求联网搜索配置三态判决:段判决 / env 判决 / 两车道合成 / 措辞单源 / endpoint 显示形);0.82.5 +5 函数 +1 常量(CC-169 print 车道 init 帧工具面:流包装器 / 判定闸 / 名册信号分类口 / 判定口 / 留痕措辞单源 + 等待上界常量);0.82.2 +1 函数(CC-164 云控制面有效配置回体措辞单源 `cloudEffectiveNotices`);0.82.1 +15 函数(CC-154 续跑折叠码读口 + 措辞 / CC-163 文件历史捕获读口六口 / CC-151 模型身份可解析判据五口 / CC-161 自定义代理载荷作废重投口 / 决断失败码「门还在」判定;测试钩 +1);0.82.0 +17 函数 +1 常量(CC-146 `/rewind` 代码档与对话档可用性读口投影 + 三口读账 + 两只判据 + 三句措辞 / CC-150 额度投影三口 / CC-152 装配期无手两口 / CC-154 取码单源 + 折叠码常量 / CC-156 坏档行坐标读口 + 措辞);0.80.0 +1 常量 +10 函数(CC-133 结算词表镜像 `SETTLEMENT_KIND_WORDS` + 五函数 / CC-134 三函数 / CC-132 两函数);0.79.0 +8 常量 +21 函数 +1 类(CC-74 MCP 状态面两张词表 + 九函数 / CC-110 `approvalIsMandated` + `mandatedApprovalDetail` / CC-116 · 118 · 123 `APPROVER_POSTURE_BYPASS`(🔧 0.86.0 退出公面)+ `REQUEST_LANES` + 三函数 / CC-125 拒因两面四常量 `HITL_POLICY_DENY_MESSAGE` `APPROVAL_DENY_SETTLED_BY_WORDS` `SEMA_DENIAL_KIND_KEY` `CC_TOOL_DENIAL_KINDS` + 四函数 / CC-128 会话 bundle 面转口 `pushSessionBundle` `pullSessionBundle` `importSessionBundle` + 错误类 `APIError`;测试钩 +1);0.78.1 +2 常量 +9 函数(CC-113 displayBody / CC-97 b 五动词 + 判官 + 覆盖面判词 / CC-121 readSubmitWiringManifest);0.77.0 +2 常量 +2 函数(CC-101)+ 5 常量 +12 函数(CC-105 / CC-103;测试钩 +1);0.76.1 +1 常量 +4 函数(CC-36)+ 13 函数(CC-102;测试钩 +2)+ 1 常量 +20 函数(CC-97a;测试钩 +2)+ 2 函数(身份快照助手上公面);0.76.0 +8 常量 +8 函数(CC-77 ① 2+4 / CC-96 6+4);0.74.5 +2 常量 +2 函数(CC-87 / CC-88);0.74.3 +2 常量 +7 函数(CC-70 / CC-71 / CC-72 / CC-73 / CC-80;测试钩 +1);0.74.2 +6 函数(CC-69;测试钩 +1);0.74.1 +1 常量(CC-67);0.74.0 +1 函数(CC-66);0.73.5 +8 常量 +3 函数(CC-58);0.73.4 +1 常量(CC-34);0.73.3 +6 函数(CC-61;测试钩 +1);0.73.1 +2 常量 +5 函数(CC-56 / CC-57;测试钩 +1);0.72.14 +1 常量 +7 函数(CC-55);0.72.13 +4 常量 +14 函数(CC-46 / CC-54 / CC-53 / CC-50 缺席口);0.72.12 +2 常量 +2 函数(CC-50);0.72.10 +2 常量 +2 函数(CC-41);0.72.9 +2 常量 +6 函数(CC-30 / CC-39②);0.72.8 +2 常量 +4 函数(CC-39③ / CC-43);0.72.7 +1 常量 +1 函数(CC-42);0.72.6 +1 函数(CC-40);0.72.5 +1 常量 +5 函数(CC-31);0.72.3 +1 常量(CC-39①);0.72.2 +1 函数(CC-37);0.72.1 +1 常量 +3 函数(CC-33);0.72.0 −23 常量 −16 函数(CC-32 退役批);0.71.3 +4 常量 +5 函数(CC-06);0.71.0 −2 常量 `MAX_AGENT_SKILLS` / `DECIDE_WORKFLOW_HOST_NOT_PARKED` +2 函数 `projectToolRosterDelta` / `mcpEngineLegPresence`;0.70.0 起 +1 函数;0.69.2 起 +3:常量 1 / 函数 2):**421** 项是 `SCREAMING_SNAKE` 常量数据表/词汇表
170
170
 
171
171
 
172
172
 
@@ -177,13 +177,13 @@ SDK 核对「本包 import 的每个值级符号仍然导出」「`TaskStats.cos
177
177
 
178
178
  (矩阵、键集、env 名、锚串)而非可调用物;**8** 项是 PascalCase 运行期值
179
179
  (`ControlRouter` / `ControlSafetyError` / `HitlBridge` / `HitlSafetyError` / `DecideTransportRetryExhaustedError` / `APIError` / 0.90.0 CC-316 `AttachmentsSpecRefused`);
180
- **36** 项是 `*For(sessionKey, …)` 的 per-session 变体(0.96.0 +1:`liveBgRowOwnershipFor` 按会话读 fleet 视图的 `sessionScoped`〔§123 FL-6〕;0.95.0 +1:`forgetSettledTerminalRowFor` 按会话摘终态保留行〔§122 FX-F1〕;0.93.0 −1:`wireAuthTokenFor` 退出公面〔§119 RT-2〕;0.85.1 +1:`registerArmedGateFromQuestionIdFor` 复活,多会话宿主的按会话呈现回执登记口,§110;0.84.0 −3:`notePlanReviewAnsweredFor` / `planReviewArmedKeyFor` / `waitForGateArmedFor` 🔧 0.84.0 退出公面;0.72.0 −4:`clearArmedGateFor` / `onGateArmedFor` / `notePlanReviewAnsweredIfDecisiveFor` 退出公面,第四名 `registerArmedGateFromQuestionIdFor` 即 0.85.1 复活的那一只)(§6;其中 `engineNamespaceKeyFor` 是命名巧合 —— 参数是 baseUrl 不是 sessionKey,见域 14)。
180
+ **37** 项是 `*For(sessionKey, …)` 的 per-session 变体(0.96.0 +1:`liveBgRowOwnershipFor` 按会话读 fleet 视图的 `sessionScoped`〔§123 FL-6〕;0.95.0 +1:`forgetSettledTerminalRowFor` 按会话摘终态保留行〔§122 FX-F1〕;0.93.0 −1:`wireAuthTokenFor` 退出公面〔§119 RT-2〕;0.85.1 +1:`registerArmedGateFromQuestionIdFor` 复活,多会话宿主的按会话呈现回执登记口,§110;0.84.0 −3:`notePlanReviewAnsweredFor` / `planReviewArmedKeyFor` / `waitForGateArmedFor` 🔧 0.84.0 退出公面;0.72.0 −4:`clearArmedGateFor` / `onGateArmedFor` / `notePlanReviewAnsweredIfDecisiveFor` 退出公面,第四名 `registerArmedGateFromQuestionIdFor` 即 0.85.1 复活的那一只)(§6;其中 `engineNamespaceKeyFor` 是命名巧合 —— 参数是 baseUrl 不是 sessionKey,见域 14)。
181
181
 
182
182
 
183
183
 
184
184
 
185
185
 
186
- ### 2b. 域图(16 域,逐域计数之和 = 1641)
186
+ ### 2b. 域图(16 域,逐域计数之和 = 1713)
187
187
 
188
188
 
189
189
 
@@ -192,37 +192,37 @@ SDK 核对「本包 import 的每个值级符号仍然导出」「`TaskStats.cos
192
192
 
193
193
  | # | 域 | 名数 | 承重导出 | 用途 | 实现锚 |
194
194
  |---|---|---|---|---|---|
195
- | 1 | **适配内核(下行主链)** | 88 | `isSdkRunParked` / `SDK_PARKED_RUN_STATUSES`(0.97.0 §124 SR-1:sdk 停驻 run 词表〔suspended / needs_review〕与谓词上根,终端壳侧并集退役)· `stripToolUseSideChannels`(0.95.0 CC-385:`tool_use` 块三只非 CC 键 `label` / `eventId` / `parentToolCallId` 的唯一摘除口,适配层 `sanitizeToolUseBlock` 与 print 车道出帧共用;§122 KA-6)· `resultErrorCodeOf` / `resultSelectedModelOf` / `resultSalvagedResultOf` / `resultParkFailedReasonOf`(0.94.0 CC-312:结果帧 `_sema_` 串型超集键的读口族 —— 只认自有数据位的非空串、旧名不并读、永不抛;§121 RP-1)· `legCwdOfBody` / `engineSelectedInstructionsFile`(0.94.0 CC-313:出站体上引擎明说照它起腿的 cwd、接线回执指令文件的归属读口;§121 RP-2)· `readToolHistoryMismatchKey`(0.91.0 CC-304:合成终局行顶层错配键的读口上根入口,含 CC-305 事实位 `rewindOffered`「这一行补没补出路句」;§117)· `toolHistoryBadTurnSentence`(0.91.0 CC-303:错配出路「点名坏轮」那一句,坏轮 prompt 先洗后截前 60 码点;§117)· `fileHistoryLegNoticeVerdict` / `fileHistoryLegNoticeSentence` + `FILE_HISTORY_LEG_VERDICTS` / `createFileHistoryDeclarationLedger` / `fileHistoryDeclarationOfBody`(0.90.0 CC-294:接线回执 `fileHistory` 段的五态判定与两句措辞单源,只有「带了声明仍在捕获」与「按会话关不掉」两态出句 + 「这条 run 的提交带没带关断声明」的进程内账本与出站体读口,绑定判据与投递账本同一只;§116)· `toolHistoryErrorCarrierOf`(0.90.0 CC-309:同一终局的错误载体〔终局码 / 服务商状态 / 失败句原值,只读自有数据位〕铸口 —— 本包终局行判会话历史 tool_use 错配与「改了重发」判定口的让位读同一只;§116)· `providerRejectionResend`(🔧 0.95.0 退出公面;0.89.0 CC-282 加的「改了重发」判定口 —— 铸点留在包内,端读合成终局行上的 `_sema_provider_rejection_resend`;`readRunTerminal` 的 `failed` 臂同批多可选位 `detail?` 不变;§115 · §122 RX-1)· `classifyToolHistoryMismatch` / `resolveToolHistoryRewindTarget`(0.87.0 CC-268:会话历史 tool_use 错配的判型口 —— 与合成终局错误行超集键 `_sema_tool_history_mismatch` 同一只判型,只认 HTTP 400 且 provider 那句话在消息开头,永不抛 —— 与回退节点解析口 —— 宿主转录行 + 错配 ⇒ 坏轮 prompt 行 / 从头开始 / 六理由判不了,不越过没有引擎句柄的 prompt;§113)· `handsSeamReadingOf` / `handsSeamDetail`(0.84.0 CC-206:接线回执 `hands` 段三态读口 + 措辞单源,「没有自带工具」那一句与 `handsMountedDetail` 同句首句尾,两者不是同一个事实;§107)· `terminalReasonForResult`(0.83.0 CC-175:结果帧 CC 键 `terminal_reason` 的读口,与铸点同一只判据,给端自拼的结果帧与旧转录;§100)· `handsMountedFromManifest` / `handsMountedDetail`(0.82.0 CC-152:装配期「这一 run 有没有手」三态判据 + 措辞单源,读 `wiring_manifest` 名册的 `mountedBy`;§92)· `readSubmitWiringManifest`(0.78.1 CC-121:非流式提交 200 体 `TaskResult.wiringManifest` 的三态读口,view 与流式腿 chrome 臂同一张;§83)· `TOOL_INPUT_JOIN_MAX_CALLS`(0.73.4 CC-34:终帧拒绝清单第三键的本流快照上限;§66)· `OUTCOME_UNKNOWN_ROW_PREFIX` / `isOutcomeUnknownRowText`(0.72.12 CC-50:第三条中性终局行「结局不知道」,读结果帧 `_sema_outcome`;§59)· `MODEL_OUTPUT_ERROR_PREFIX` / `isModelOutputErrorText` / `isModelOutputErrorRowText`(0.72.8 CC-43:runStream 第二条中性臂 —— core malformed tool-call 一族的行身份;§55)· `readEffectiveReasoning` · `readEffectiveMemoryScopes`(0.71.3 CC-06:终帧 `_sema_effective_reasoning` / `_sema_effective_memory_scopes` 的窄读器,§45)· `isSubFlowSegmentEnd` · `SEGMENT_END_IDENTITY_KEYS` · `droppedWhySentence`(0.69.2 CC-13:三件出公面,§38)· `adapt` · `createWireToCcAdapter` · `runStream` · `eventToSdkMessage` · `terminalToSdkResult` · `SEMA_SEGMENT_ID_KEY`(0.68.2 CC-01:committed assistant 文本行顶层段身份键的唯一字面量出处,壳只读)· `projectMcpSection`(0.68.2 CC-03:`wiring_manifest.mcp[]` 与 `/mcp` 面板 `lastLegMcp.mcp[]` 共用的同一只条目读器)· `readRunCostFacts`(0.66.0:终局成本事实的**唯一读器** —— `TaskStats.costBreakdown` / `nested` 逐键窄读 + 对账三段(own/nested/compaction)与两个「没定价」判别位;终帧的两个超集键与 chrome 臂 `run_cost_reconciled` **共用它**,两面不会各算各的,详见 §31c)· `CORE_TERMINAL_CAUSE_KINDS`/`isCoreTerminalCauseKind`(0.95.0 CC-78:**core 终局因由**闭集,四词 `completed|failed|blocked|paused`;旧名 `TERMINAL_CAUSE_KINDS`/`isTerminalCauseKind`(0.95.0 退出公面))· `SDK_RUN_TERMINAL_STATUSES`/`isSdkRunTerminal`/`isSdkRunTerminalNotSuccess`/`ccTaskTerminalStatusOf`(0.95.0 CC-78:run 行状态终态分区 + 历史行 `timeout`,不含 `killed`;CC 本地行词投影;§122 TW-1 / TW-2)· `RUN_TERMINAL_NOT_SUCCESS_STATUSES`/`isTerminalNotSuccess`/`RUN_TERMINAL_STATUSES`/`isTerminalStatus`(0.95.0 退出公面)(L-215② 终局词汇的**单铸谓词**,0.68.0 随 L-247 **两表分源**更名 —— `killed` 属 server run 行状态面、`paused` 属 core 因由面,合成一张会让两边加词时都读不出该改哪儿;`blocked` 是 agent 自报终态,`suspended`/`needs_review` 刻意不在表里,详见 §33b / §30j)· `SEMA_SUBAGENT_USAGE_PARTIAL_KEY`/`subagentUsageIsPartial`(0.68.0 / L-244:子代用量下界位的**自有名**与唯一判据,与终帧 `_sema_usage_lower_bound` 分名,详见 §33g) · `turnUsageToModelUsage` · `isRunStreamActive` · `ADAPTER_DIVERGENCES` · `readRunTerminal` / `runTerminalCode` / `runTerminalGateKind` / `runTerminalGateToolName` / `isReviewPark` / `REVIEW_PARK_GATE_KINDS`(0.60.0 / engine ≥7.64.0:一次 run **怎么结束的**唯一读器 —— 终局从八个平面键换成一条带标因由 `terminal`,四臂 + `unknown` 防御臂 + `plane` 两代字节标;🔴 不认识的终态词绝不折成成功、本包不提供「因由→五词 status」的兼容投影,详见 §24b)| 引擎 SSE `AgentEvent` → 端要渲的**双面输出**:transcript(`SDKMessage`)+ chrome(瞬态 `ChromeEvent`)。**本包存在的理由** | `src/adapt.ts`、`src/adapt/{arms,wireShapes,panelTasks}.ts`(经 `adapt.ts` 再导出)、`src/adapter/runStream.ts`、`src/adapter/downstream/*`、`src/adapter/types.ts`、`src/runTerminal.ts` |
196
- | 2 | **seam 公共契约** | 4(其余为 type-only) | `CHROME_ARMS` · `deriveTranscriptId` · `snapshotSegmentIdentity` / `snapshotIsSubFlow`(0.76.1:身份四键一次性快照助手,投影口与 adapt 侧全部臂的唯一身份读点;§77)| 公共词汇 + **id 确定性不变量**(同一条流重放 ⇒ 同一串 id)。`CHROME_ARMS` = 端「我要消费哪些 chrome 臂」的对照清单 | `src/seam.ts` |
197
- | 3 | **HITL 决断卡链**(§4/§5 主战场) | 281 | 0.97.0(PK 行,§124)+1 函数(`readApprovalCardWord`:审批卡词闭集读口)· 0.97.0(TN 行,§124)−1 +1 函数(`isEngineRefusedToolName`(0.97.0 退出公面)/ `ruleToolNameVerdictOf` 上根入口,净零)· 0.97.0(HT 行,§124)−1 函数(`isFsApprovalGate`(0.97.0 退出公面):停驻门判定只读门种表,同词腿退役)· 0.96.0(CD 行,§123)+2 函数(`approvalCardFactsOfV1`〔CD-1:v1 呈卡帧卡面按活卡帧腿同一批读器投成卡入参事实〕· `standingRowsOf`〔CD-2:卡上三行放行的单一判官,放宽方向闭合失败〕)· 0.96.0(NT 行,§123)+2 函数 / 常量(`printPermissionOutcomeOf`〔NT-6:`-p` 权限结局行句口,只读引擎门记录结局、三形闭集一张句表;取代终端壳按「旗 + 壳本地视角」两源读模式〕· `PRINT_PERMISSION_OUTCOME_FORMS`〔NT-6〕)· 0.96.0(HW 行,§123)+4 函数 / 常量(`APPROVAL_PARKING_WARN_TEXT`〔HW-2〕· `modeReleaseReasonSentence`〔HW-3〕· `createReleaseDisclosureLedger`〔HW-4〕· `replayedApprovalClosesCardFrame`〔HW-5〕)· `readApprovalRememberRefused` / `rememberRefusalOf`(0.95.0 CC-442 / CC-486:审批卡上「引擎声明本会话放行记不住」那一位的唯一读口、带 remember 的那一发被服务端专属拒绝的唯一判官〔五码表只在包里一处〕;§122 FX-A2 / FX-A3)· `joinApprovalHolder`(0.95.0 CC-593:同一只审批的持有者读口 —— 耐久路开卡前问本进程是否持有这只审批的活卡,持有中等它放手;§122 XH-1)· `runningAttachOffered` / `resumeRunningCancelConfirmedRow`(0.95.0 CC-536:「run 还在跑且可接管 ⇒ 给 attach」resume 三选卡与 Leave 之后再撞 running 的忙卡同一只判定 + Cancel 已受理确认句与未确认句互斥同一处铸;§122 RS-1 / RS-3)· `classifyApprovalCompleteFrame` / `parkRowDeadlineState` / `lateDecideRoute` / `runReapedByDeadline`(0.95.0 CC-550:窗到期转 durable 队列链上的四件判定读口,自终端壳半场同名上收 —— 闭合帧三态、durable 行到期三档、迟到决断端点、decide 的 404 族先读 run 终态码;§122 RD-3)· `approvalCompleteParked`(0.95.0 CC-466:审批收口帧「转停驻」的唯一读法 —— `outcome === "expired"` ∧ `parked === true`,适配层撤卡与座位 `tool_permission_resolved.parked` 同读;§122 WB-8)· `replayedApprovalSentence`(0.95.0 CC-464 / CC-467:重放审批帧「现在不能决」那一句的唯一铸点 —— `decided` 按成因三向〔无成因 / 进程崩了 / 有序关停〕、`unknown` 一句、`live` 不出句,崩溃收敛行恒 denied 任何路径都不说成已批;§122 WC-2)· `hasLedgerPositionKey`(0.95.0 CC-464:账本位置谓词上根入口 —— `id` 或 `seq` 任一键在场且非 null,与判定口的 `live_leg` 闸同一件事;端不再自写第二份;§122 WC-1)· `allowRuleShadowSentence`(0.95.0 CC-468:allow 规则清不掉这只 ask 的披露句唯一铸点,两代键同句、已过显示消毒;§122 WC-3)· `readToolApprovalRespondParking`(0.94.0 CC-535:202 停驻体窄读上根,§121 PK-2)· `mandatedApprovalDetailOf`(0.94.0 CC-447 ⑦:强制卡「清不掉」那句的按问类版 —— 卡上问类的折叠行不放自动检查时句子不提自动检查,读不出问类 ⇒ 通用句;§121)· `decisionAttributionKeyOf`(0.93.0 CC-403:策略拒绝的 deny 体放哪一把出处键的唯一决定函数 —— 耐久 `decide` 与活卡 `respond` 两条决断腿共用,位真 `decidedBy`、否则旧键 `settledBy`、人拒 / 缺席不带键;包外的第三个发送点要同一个答案;§119)· `DECIDE_WORKFLOW_PARKS_UNREADABLE` / `DECIDE_WORKFLOW_PARK_FORKED`(0.93.0 CC-430:workflow 子代审批决定口两只 409 的码常量,进既有闭集 `DECIDE_WORKFLOW_LANE_CODES` 末尾,读口仍是 `decideRefusalFromError`;§119)· `automaticAnswerVerdict`(0.92.0 CC-368:「这张卡能不能被常驻的放行替人答掉」两条车道的唯一判定 —— 问类集合按引擎仲裁表折叠读本车道那一列,可放只有一条路径;旧口 `askSurvivesPosture`(0.94.0 退出公面) / `askSurvivesStandingAnswer`(0.94.0 退出公面) 过渡一版取较严者,0.94.0 退出公面〔§121 RX-4 / RX-5〕;§118)· `readApprovalAllowRuleShadow` / `approvalAllowRuleShadowed`(0.92.0 CC-401:allow 层让位披露两代同一只读口与让位证据;§118)· `askGoneFromError` / `askGoneContent`(0.92.0 CC-371:流内问已在没有人决定的情况下收场的 410 `gone.ask` 读口与唯一一句,「进程没了」两词与崩溃收敛成因同一张闭集表;§118)· `replayedApprovalDisposition`(0.92.0 CC-367:账本里读回来的审批帧「现在还能不能决」的唯一判定口 —— 帧到手之后读的待决清单 + 本连接 preamble,三态 `live` / `decided` / `unknown`;本包流内审批帧那一路内建同一只)· `REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT`(同票:清单读不到时上屏那一句;§118)· `crashConvergedNotice` / `crashConvergedNeedsHumanSentence` / `NEEDS_HUMAN_REASON_ORDER`(0.91.0 CC-310:崩溃遗留通告那一行话的唯一说话人 —— 整行 / 按因由一句 / 句序;分桶仍只信 `projectCrashConverged`,端只决定何时读、送哪个口、哪些行已经说过;§117)· `isAlreadyResolvedFailure`(0.91.0 CC-317:决断失败是不是「这张门早就被解决了」—— 码优先、码说清了自己的两类〔门还在 / 续跑启动期失败〕不扫文案、停驻挪动族按码、文案四词兜底;受保护读,读不出答 `false`;§117)· `GATE_MODE_RELEASE_REASON_WORDS` / `isGateModeReleaseReasonWord`(0.88.0 CC-272:门记录放行账 `released.reason` 的闭集镜像与判词谓词,值取构建期生成物;读口 `gateModeRelease` 仍按开集透传;§114)· `gateModeRelease`(0.86.0 CC-249:门记录放行臂上「权限模式替人答掉一问」那一条账的具名读口,与 `gateOutcomeOf` 同一只窄读器;缺席不是「没经过模式放行」;§112)· `registerArmedGateFromQuestionIdFor`(0.85.1 CC-259:多会话宿主在自己的会话键上登记呈现回执,`reopenPlanReviewCard` 回执形等的就是这个会话键上的回执;0.72.0 退出公面的名字复活;§110)· `decideParkMovedFromError` / `decideParkMovedContent` / `isDecideParkMovedCode` / `DECIDE_PARK_MOVED_CODES` + `DECIDE_NOT_PARKED` / `DECIDE_GATE_MOVED` / `DECIDE_CLAIM_LOST`(0.85.0 CC-243:`/decide` 停驻挪动三码的读口、按码分说的一句与判定,四个决断出口补句、停泊腿按码续读流;`isCodeClassifiedGateFailure` 不收本族;§109)· `notePlanReviewDecisionHandedOver` / `planReviewPendingReadMark` / `planReviewDecisionInFlight` / `notePlanReviewDecisionNotApplied` / `notePlanReviewGateLeft` / `latestPlanReviewDecisionMark`(0.85.0 CC-241:plan-review 决断台账 —— 交出登记 + 读起点刻度 + 拒开判据 + 「没生效」与「离门」两只说一声的口 + 交出刻度;`reopenPlanReviewCard` 按它拒开;§109)· `isCodeClassifiedGateFailure`(0.84.1 CC-225:这枚决断失败码自己说清了处置、失败文字不许再按「门已决」词表扫 —— `isGateStandingErrorCode` 的两码 ∪ 422 `parked_resume.startup_failed`;§108)· `removeRefusedSessionRules` / `sessionPolicyRemovalNotice` / `isEngineRefusedToolName`(0.97.0 退出公面;0.84.1 CC-229:会话规则记录里引擎会拒启的条目的窄撤销动词 + 八臂措辞单源 + 引擎准备期按名字拒启的判据本体,比 `sessionPolicyDeliverable` 的 `legacy_tool_name` 判词宽;撤销动词必交这台部署一跑的工具名册,名册里的名与别名不撤;§108)· `toolPermissionRequestAskBits` / `clearPlanReviewUserDismissals`(0.83.4 CC-203 / CC-201:卡请求 → 座位请求的四位过境口,与卡请求同一把窄读;会话换代时清「用户关卡」记号;§104)· `readApprovalMandate`(0.83.2 CC-195:卡上强制词读口,缺席答缺席;§102;同批的姿态谓词 `askSurvivesPosture` 0.94.0 已退出公面,§121 RX-4)· `sessionPolicyDeliverable` / `sessionPolicyWithheldNotice` / `SESSION_POLICY_WITHHELD_WHY`(0.83.1 CC-117:一批规则串能不能无损写进会话规则记录 —— 整批可送才送、五词成因闭集、每词一句措辞单源;宿主侧那一份的继任;§101)· `isPolicyRefusedGate` / `denyAttributionRefusalFromError` / `denyAttributionRefusalContent` / `removalConsequenceLineForBehavior` / `ruleRemovalBehaviorOf`(0.80.0 CC-133 · CC-132:策略拒谓词 + 归因键三码读口与人话 + 删除规则后果句铸点与闭集读口;§87)· `HITL_POLICY_DENY_MESSAGE` / `APPROVAL_DENY_SETTLED_BY_WORDS` / `readApprovalDenySettledBy` / `SEMA_DENIAL_KIND_KEY`(0.79.0 CC-125:deny 收口帧按 `settledBy` 分两串的冻结句、决断对象归因位的两词可达子集与只认自有数据属性的读器、分类词信封键名;§85)· `approvalIsMandated`(0.79.0 CC-110:审批卡「清不掉」判据口,帧位 ∨ 寄存行缺席词两条腿一个真源;§85)· `readSessionPolicy` / `tightenSessionPolicy` / `tightenedSessionRules` / `classifySessionPolicyFailure` / `sessionPolicyTightenNotice` / `SESSION_POLICY_RULE_FIELDS` / `SESSION_POLICY_TIGHTEN_UNKNOWN_WHY`(0.77.0 CC-105:会话策略窄读 + 收紧编排五臂判别联合)· `writePersistedRule` / `PERSISTED_RULE_WRITE_BEHAVIORS` / `PERSISTED_RULE_WRITE_REFUSAL_CAUSES` / `PERSISTED_RULE_WRITE_UNKNOWN_REASONS`(0.77.0 CC-103:持久规则单步写面,词表派生不手抄;§79)· `persistedRulesWriteAvailable`(0.76.1 CC-102:单步写入口便利口,只派生自写键自己的四态,不与撤销面那只合取;§77)· `approvalResolutionOf` / `isApprovalDecided` / `approvalNotSentCause` / `approvalUnsettledCause` / `APPROVAL_NOT_SENT_CAUSES` / `APPROVAL_UNSETTLED_CAUSES`(CC-77 ①:「一次审批决断最后怎么了」的单源判别联合 `decided` / `not_sent` / `unsettled`,两条腿的结局对象一次判别;既有结局型面一字不动)· `approvalOutcomeNoteOf` / `APPROVAL_NOTE_RETRACTED_DETAIL` / `APPROVAL_NOTE_EDIT_REFUSED_DETAIL`(0.74.5 CC-88:审批结局便签单源;§73)· `decideReceiptReopen` / `suspendedReopenOf`(0.74.3 CC-73:reopen 族第二臂;§71)· `RETRACTED_CARD_DECISION_KIND`(0.74.1 CC-67:卡口无决断收口;§69)· `planReviewOutcomeTail`(0.73.1 CC-57:outcome 尾句六态单铸点;投递口闩;§63)· `readLivePendingRows` / `suspendedSubagentAsks` / `countApprovalsAwaitingDecision` / `createSuspendedAskTracker` / `livePendingRowToApprovalFrame` / `surfaceSuspendedAskAndRespond` / `surfaceEditRefusedOnBlindAsk` + `EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT`(0.72.14 CC-55:悬挂的流内 ask 读面 / 视图 / 去重账 / 决断口;§61)· `planReviewCardOptions` / `planReviewChoiceFromAnswer` / `isPlanReviewModeAfter` + `PLAN_REVIEW_APPROVE_AUTO_LABEL` / `PLAN_REVIEW_APPROVE_MANUAL_LABEL` / `PLAN_REVIEW_MODE_AFTER_WORDS`(0.72.13 CC-46:plan_review 批准后模式 `permissionModeAfter` 发口与三选卡;0.93.0 起三选卡只剩宿主声明一闸,引擎版本闸两名退出公面〔§119 RT-6〕;§60)· `makeHitlCanUseTool` · `HitlBridge` · `findPendingForTask` · `readDecideReceipt`/`decideAcceptedNotResolved`/`decideRefusalFromError`(B-070:`/decide` 200 = **投递受理**不是「门已解决」;`executionOutcome` 缺席 = 未知,详见 §30h) · `HitlSafetyError` · `bridgeAskUserQuestionGates` · `surfaceToolApprovalFrameAndRespond` / `surfaceFsApprovalAndDecide` · `readToolApprovalRespondAck` · `installApprovalCardPort(For)` · `installHitlHostSurface(For)` · `armPlanReviewApproval` · `reopenPlanReviewCard` · `decidePlanReview` · `startApprovalsFeed` · `pendingRowIsOwnedByThisSession` · `approvalCallKey`/`liveFrameCallKey`/`planReviewQuestionId` · `registerArmedGateFor`/`wasGateArmedFor` · `waitForGateArmed`/`onGateArmed`/`gateArmedWaitMs`(#244 F1 呈现回执事件源) · `planReviewArmedKey`/`notePlanReviewAnswered`/`notePlanReviewAnsweredIfDecisive`(A-024.4 plan 呈现分代;`waitForGateArmed` / `planReviewArmedKey` / `notePlanReviewAnswered` 三只的 `*For` 变体 0.84.0 退出公面) · `toolEndOutputText` · `waitForParkRowBirth` · `classifyAskParkRows` / `askParkRowArm` / `classifyAskParkChainFailure` · `readDecisionNoteAudit` / `decisionNoteAuditLine` · `resumeRunningOptions` / `resumeChoiceFromLabels` · `persistedRulesLaneAvailable`/`persistedRulesGovernanceAvailable` · `classifyRulesFailure` · `listAllPersistedRules` · `classifySkippedReason` · `readRulePersistOutcome`(#244 F2:persist-ack 读口与 `readToolApprovalRespondAck` 合成一处) · `parseLocalAllowRule`(durable 腿本地落规则窄化骨架,谓词经 `LocalAllowRuleDeps` 注入) · `readToolApprovalRespondRefusal`(#225 件5,0.42.0:respond 抛错的结构化原文读口 —— 三位各自防御读、各自缺席不铸、**三位皆缺席时整只返 `undefined`**;原样交还零加工,UNTRUSTED-for-display)· `installEditedRuleTextPrechecker` / `hasEditedRuleTextPrechecker` / `precheckEditedRuleText`([5076] 转出口,0.42.0:core 5.57.0 `precheckEditedRuleText` 的**端口注入形** —— 类型面 + 注入口 + 诚实缺席读口。🔴 **不是** value 级 re-export,理由见 §7 缺口 **P-34**;未装 ⇒ 返 `undefined`,绝不编一个 `{ok:true}`)· `RULE_NOT_SENT_WARN_TEXT` + `RULE_NOT_SENT_REJECTED_WARN_TEXT`(#334,0.43.0:人在卡上按下的「不再询问」被整条丢弃时的诚实告知(文案两句;发告知的两只函数 0.84.0 起是包内件)——**两条刻意分开**:前者=**引擎能力位未确认**(换台引擎/等探测就好),后者=**这次选择没过包内表核/互斥核**(表外文本/坏下标/两臂同场,换引擎也不会变) —— 编辑臂 `respondFreeFormRules` 与批臂 `respondBatchRuleOffers` 两条同形存量共用一条,与 `surfaceRememberNotApplied` 同族纪律:决断照送、只是规则没存,静默丢掉用户明确意图 = 让人以为功能坏了)· `projectCrashConverged`(L-38,0.49.0:`/v1/approvals` additive 键 `crashConverged` 的分桶投影 —— 崩溃收敛的孤儿审批读面,**缺席 ≠ 空数组**、分桶恰一个合取、坏行丢弃并计数,详见 §12;同批把 `ApprovalsResourceLike.list()` 的返回位 additive 放宽成 `ApprovalsListEnvelope`,老形 `{pending}` 仍可赋值)· `readRuleOffers` / `readRuleOfferSupply`(L-103/[C228],0.57.0 additive 导出:「不再询问」候选两代 wire 键的窄读器**公面化** —— 此前只经卡端口出包,不走卡端口架构的宿主只能自己重铸一把,而它承载的是兑付安全判据(原始下标不前移/逐条丢坏/闭集 kind/两代取舍序),详见 §20)· `RULE_OFFERS_ABSENCE_REASONS` / `DENIAL_LIMIT_KINDS`〔后者 🔧 0.85.0 退出公面,值改从 `@sema-agent/sdk` 根入口取〕(0.59.0 / sdk 8.3.0 提货:`ruleOffersAbsence` 三词与 `denialLimitFallback.limit` 二词的**运行期**闭词表再导出 —— 与 0.58.0 那三张同一条纪律:端拿它做判定别再手抄字面量。⚠️ **本包自己不拿这两张表做窄读判定**(两处都按开集透传,词表属主是 core、server 已按闭集拒过),再导出只是给端的 `switch` 一份可数的表,端仍必须带 `default` 臂,详见 §23a)· `DecideTransportRetryExhaustedError`(Inkglow-1085 P0a:decide 出站瞬断重试耗尽的 typed 判别 —— HitlBridge 内建单次退避重试,耗尽走重呈臂不判死 turn;端一般只消费行为,不需要 instanceof) · `gateOutcomeOf` / `isDeniedGate` / `gateDeniedBy` / `gateApprover` / `isApprovalWindowExpiredGate` / `isDenialLimitAutoDeniedGate` / `isParkSlaExpiredGate` / `isHumanSettledGate`(0.60.0 / engine ≥7.64.0:`tool_end.gate` 整条门记录的窄读器 + 判定谓词 —— 取代退役的四个正交词 `settledBy`/`resolution`/`autoDenied`/`approver`。🔴 **判定归包**:「是不是审批窗自己走完的拒绝」旧形上是端各自拼的两键合取,而三条窗词现在分得开、合并读回去等于把刚修好的判别力扔掉;⚠️ 公面型一律带 `View` 后缀 —— 本文件的 `GateOutcome`(决断腿结局)与 sdk 的 `GateOutcome`(引擎门记录)**同名不同义**,详见 §24c)· `isGateParkedToolEnd`(「这次调用没在这里结算」的**第二形**谓词:gate 缺席 + `errorCode:"gate.parked"`;端判这件事必须与 `isApprovalWindowExpiredGate` **两形合读**) · `readWireErrorCode`(B-037 候包件②:decide/取件失败上引擎 wire 机器码的单源读口,结构视图读不 `instanceof`;与本包铸的 `code` 是两个命名空间,详见 §24g)| suspended→decide→resume 环。🔴 **D-1 两元组 verbatim 回显**是字节级断言的安全不变量,端**不许重实现它的任何一段**。🔴 键空间边界(web [C1] d3 拦截):`gateIdentity` 四常量两函数只覆盖 HITL questionId/callKey 空间;seat 的 `TOOL_PERMISSION_REQUEST_ID_DOMAINS`(`plan:` 等)是另一键空间,**两者绝不合并**(合并=座位校验器静默拒全部 plan-review 卡) · `approvalCompleteCauseOf`(0.95.0 CC-570:活卡结局帧 `cause` 读口,十四词闭集,只读自有数据位;§122 PK7-3) | `src/hitl/hitlBridge.ts`、`toolApprovalWire.ts`、`askGateWire.ts`、`planReviewWire.ts`、`hitlHostSurface.ts`、`gateIdentity.ts`、`armedGateRegistry.ts`、`parkOwnership.ts`、`parkResolver.ts`、`approvalsFeed.ts`、`frameRouter.ts`(**只挑名导出** `toolEndOutputText`/`ENGINE_ABORT_TOOL_RESULT`/`HITL_REJECT_MESSAGE`/`HITL_INTERRUPT_MESSAGE_FOR_TOOL_USE`)、`parkRowBirthWait.ts`、`approvalDecisionNoteAudit.ts`、`askParkRowRouting.ts`、`resumeRunningCard.ts`(#265 上收的判定层)、`persistedRulesWire.ts`、`localAllowRule.ts`(#244 F2 规则侧)、`crashConverged.ts`(L-38 崩溃收敛读面)、`crashConvergedNotice.ts`(0.91.0 CC-310 崩溃遗留通告那一行话)、`sessionPolicyDeliverable.ts`(0.83.1 CC-117 会话规则无损判定)、`src/gateOutcome.ts` |
195
+ | 1 | **适配内核(下行主链)** | 96 | 0.98.0(RT 行,§126)+1 函数(`retryStatusNotice`:重试行那一句话的唯一铸点,入参 `mapBrainStatusToRetry` 的结果,出 `{ line, recourse?, phase }`;§126 RT-1)· `isSdkRunParked` / `SDK_PARKED_RUN_STATUSES`(0.97.0 §124 SR-1:sdk 停驻 run 词表〔suspended / needs_review〕与谓词上根,终端壳侧并集退役)· `stripToolUseSideChannels`(0.95.0 CC-385:`tool_use` 块三只非 CC 键 `label` / `eventId` / `parentToolCallId` 的唯一摘除口,适配层 `sanitizeToolUseBlock` 与 print 车道出帧共用;§122 KA-6)· `resultErrorCodeOf` / `resultSelectedModelOf` / `resultSalvagedResultOf` / `resultParkFailedReasonOf`(0.94.0 CC-312:结果帧 `_sema_` 串型超集键的读口族 —— 只认自有数据位的非空串、旧名不并读、永不抛;§121 RP-1)· `legCwdOfBody` / `engineSelectedInstructionsFile`(0.94.0 CC-313:出站体上引擎明说照它起腿的 cwd、接线回执指令文件的归属读口;§121 RP-2)· `readToolHistoryMismatchKey`(0.91.0 CC-304:合成终局行顶层错配键的读口上根入口,含 CC-305 事实位 `rewindOffered`「这一行补没补出路句」;§117)· `toolHistoryBadTurnSentence`(0.91.0 CC-303:错配出路「点名坏轮」那一句,坏轮 prompt 先洗后截前 60 码点;§117)· `fileHistoryLegNoticeVerdict` / `fileHistoryLegNoticeSentence` + `FILE_HISTORY_LEG_VERDICTS` / `createFileHistoryDeclarationLedger` / `fileHistoryDeclarationOfBody`(0.90.0 CC-294:接线回执 `fileHistory` 段的五态判定与两句措辞单源,只有「带了声明仍在捕获」与「按会话关不掉」两态出句 + 「这条 run 的提交带没带关断声明」的进程内账本与出站体读口,绑定判据与投递账本同一只;§116)· `toolHistoryErrorCarrierOf`(0.90.0 CC-309:同一终局的错误载体〔终局码 / 服务商状态 / 失败句原值,只读自有数据位〕铸口 —— 本包终局行判会话历史 tool_use 错配与「改了重发」判定口的让位读同一只;§116)· `providerRejectionResend`(🔧 0.95.0 退出公面;0.89.0 CC-282 加的「改了重发」判定口 —— 铸点留在包内,端读合成终局行上的 `_sema_provider_rejection_resend`;`readRunTerminal` 的 `failed` 臂同批多可选位 `detail?` 不变;§115 · §122 RX-1)· `classifyToolHistoryMismatch` / `resolveToolHistoryRewindTarget`(0.87.0 CC-268:会话历史 tool_use 错配的判型口 —— 与合成终局错误行超集键 `_sema_tool_history_mismatch` 同一只判型,只认 HTTP 400 且 provider 那句话在消息开头,永不抛 —— 与回退节点解析口 —— 宿主转录行 + 错配 ⇒ 坏轮 prompt 行 / 从头开始 / 六理由判不了,不越过没有引擎句柄的 prompt;§113)· `handsSeamReadingOf` / `handsSeamDetail`(0.84.0 CC-206:接线回执 `hands` 段三态读口 + 措辞单源,「没有自带工具」那一句与 `handsMountedDetail` 同句首句尾,两者不是同一个事实;§107)· `terminalReasonForResult`(0.83.0 CC-175:结果帧 CC 键 `terminal_reason` 的读口,与铸点同一只判据,给端自拼的结果帧与旧转录;§100)· `handsMountedFromManifest` / `handsMountedDetail`(0.82.0 CC-152:装配期「这一 run 有没有手」三态判据 + 措辞单源,读 `wiring_manifest` 名册的 `mountedBy`;§92)· `readSubmitWiringManifest`(0.78.1 CC-121:非流式提交 200 体 `TaskResult.wiringManifest` 的三态读口,view 与流式腿 chrome 臂同一张;§83)· `TOOL_INPUT_JOIN_MAX_CALLS`(0.73.4 CC-34:终帧拒绝清单第三键的本流快照上限;§66)· `OUTCOME_UNKNOWN_ROW_PREFIX` / `isOutcomeUnknownRowText`(0.72.12 CC-50:第三条中性终局行「结局不知道」,读结果帧 `_sema_outcome`;§59)· `MODEL_OUTPUT_ERROR_PREFIX` / `isModelOutputErrorText` / `isModelOutputErrorRowText`(0.72.8 CC-43:runStream 第二条中性臂 —— core malformed tool-call 一族的行身份;§55)· `readEffectiveReasoning` · `readEffectiveMemoryScopes`(0.71.3 CC-06:终帧 `_sema_effective_reasoning` / `_sema_effective_memory_scopes` 的窄读器,§45)· `isSubFlowSegmentEnd` · `SEGMENT_END_IDENTITY_KEYS` · `droppedWhySentence`(0.69.2 CC-13:三件出公面,§38)· `adapt` · `createWireToCcAdapter` · `runStream` · `eventToSdkMessage` · `terminalToSdkResult` · `SEMA_SEGMENT_ID_KEY`(0.68.2 CC-01:committed assistant 文本行顶层段身份键的唯一字面量出处,壳只读)· `projectMcpSection`(0.68.2 CC-03:`wiring_manifest.mcp[]` 与 `/mcp` 面板 `lastLegMcp.mcp[]` 共用的同一只条目读器)· `readRunCostFacts`(0.66.0:终局成本事实的**唯一读器** —— `TaskStats.costBreakdown` / `nested` 逐键窄读 + 对账三段(own/nested/compaction)与两个「没定价」判别位;终帧的两个超集键与 chrome 臂 `run_cost_reconciled` **共用它**,两面不会各算各的,详见 §31c)· `CORE_TERMINAL_CAUSE_KINDS`/`isCoreTerminalCauseKind`(0.95.0 CC-78:**core 终局因由**闭集,四词 `completed|failed|blocked|paused`;旧名 `TERMINAL_CAUSE_KINDS`/`isTerminalCauseKind`(0.95.0 退出公面))· `SDK_RUN_TERMINAL_STATUSES`/`isSdkRunTerminal`/`isSdkRunTerminalNotSuccess`/`ccTaskTerminalStatusOf`(0.95.0 CC-78:run 行状态终态分区 + 历史行 `timeout`,不含 `killed`;CC 本地行词投影;§122 TW-1 / TW-2)· `RUN_TERMINAL_NOT_SUCCESS_STATUSES`/`isTerminalNotSuccess`/`RUN_TERMINAL_STATUSES`/`isTerminalStatus`(0.95.0 退出公面)(L-215② 终局词汇的**单铸谓词**,0.68.0 随 L-247 **两表分源**更名 —— `killed` 属 server run 行状态面、`paused` 属 core 因由面,合成一张会让两边加词时都读不出该改哪儿;`blocked` 是 agent 自报终态,`suspended`/`needs_review` 刻意不在表里,详见 §33b / §30j)· `SEMA_SUBAGENT_USAGE_PARTIAL_KEY`/`subagentUsageIsPartial`(0.68.0 / L-244:子代用量下界位的**自有名**与唯一判据,与终帧 `_sema_usage_lower_bound` 分名,详见 §33g) · `turnUsageToModelUsage` · `isRunStreamActive` · `ADAPTER_DIVERGENCES` · `readRunTerminal` / `runTerminalCode` / `runTerminalGateKind` / `runTerminalGateToolName` / `isReviewPark` / `REVIEW_PARK_GATE_KINDS`(0.60.0 / engine ≥7.64.0:一次 run **怎么结束的**唯一读器 —— 终局从八个平面键换成一条带标因由 `terminal`,四臂 + `unknown` 防御臂 + `plane` 两代字节标;🔴 不认识的终态词绝不折成成功、本包不提供「因由→五词 status」的兼容投影,详见 §24b)| 引擎 SSE `AgentEvent` → 端要渲的**双面输出**:transcript(`SDKMessage`)+ chrome(瞬态 `ChromeEvent`)。**本包存在的理由** | `src/adapt.ts`、`src/adapt/{arms,wireShapes,panelTasks}.ts`(经 `adapt.ts` 再导出)、`src/adapter/runStream.ts`、`src/adapter/downstream/*`、`src/adapter/types.ts`、`src/runTerminal.ts` |
196
+ | 2 | **seam 公共契约** | 8(其余为 type-only) | `CHROME_ARMS` · `deriveTranscriptId` · `engineRefOf` / `sameEngineRef`(0.98.0 CC-455:转录身份引用位 `_sema_engine_ref` 的读口与三态判定;§126 ID-3)· `snapshotSegmentIdentity` / `snapshotIsSubFlow`(0.76.1:身份四键一次性快照助手,投影口与 adapt 侧全部臂的唯一身份读点;§77)| 公共词汇 + **id 确定性不变量**(同一条流重放 ⇒ 同一串 id;0.98.0 起扩到「同一条 wire 事件流经投影口重投 ⇒ 同一串 id」,§126 ID-1)。`CHROME_ARMS` = 端「我要消费哪些 chrome 臂」的对照清单 | `src/seam.ts` |
197
+ | 3 | **HITL 决断卡链**(§4/§5 主战场) | 318 | 0.98.0(PN 行,§126)+1 函数(`isToolApprovalRespondReplayed`:respond 回执首决回放臂的判别口;§126 PN-4)· 0.98.0(HM-R 行,§126)−3 +3(退 `approvalResolutionOf`(已退役) / `approvalOutcomeNoteOf`(已退役) / `readToolApprovalRespondRefusal`(已退役);进 `APPROVAL_RESOLUTION_LANES` / `approvalResolutionDetail` / `readDecisionRefusalReading`)· 0.98.0(WD 行,§126)+14 函数(`persistedRuleOriginsLabel` / `persistedRuleAddOriginLabel` / `persistedRuleScopeLabel` / `persistedRuleRevokeOutcome` / `persistedRuleMatchLabel`:持久规则治理行人话;`askOriginNoteOf` / `ruleOffersAbsenceDetail` / `ruleOfferUncoveredDetail`:卡面三行说明读口;`crashConvergedRowSentence` / `crashConvergedCauseSentence`:崩溃遗留逐行句与成因句;`askEndingCauseClause` / `askSettlementLine` / `askAcceptedLine` / `askParkedCardNote`:结局一行句表 / 受理句 / 停驻重开接替卡面句)· 0.97.0(PK 行,§124)+1 函数(`readApprovalCardWord`:审批卡词闭集读口)· 0.97.0(TN 行,§124)−1 +1 函数(`isEngineRefusedToolName`(0.97.0 退出公面)/ `ruleToolNameVerdictOf` 上根入口,净零)· 0.97.0(HT 行,§124)−1 函数(`isFsApprovalGate`(0.97.0 退出公面):停驻门判定只读门种表,同词腿退役)· 0.96.0(CD 行,§123)+2 函数(`approvalCardFactsOfV1`〔CD-1:v1 呈卡帧卡面按活卡帧腿同一批读器投成卡入参事实〕· `standingRowsOf`〔CD-2:卡上三行放行的单一判官,放宽方向闭合失败〕)· 0.96.0(NT 行,§123)+2 函数 / 常量(`printPermissionOutcomeOf`〔NT-6:`-p` 权限结局行句口,只读引擎门记录结局、三形闭集一张句表;取代终端壳按「旗 + 壳本地视角」两源读模式〕· `PRINT_PERMISSION_OUTCOME_FORMS`〔NT-6〕)· 0.96.0(HW 行,§123)+4 函数 / 常量(`APPROVAL_PARKING_WARN_TEXT`〔HW-2〕· `modeReleaseReasonSentence`〔HW-3〕· `createReleaseDisclosureLedger`〔HW-4〕· `replayedApprovalClosesCardFrame`〔HW-5〕)· `readApprovalRememberRefused` / `rememberRefusalOf`(0.95.0 CC-442 / CC-486:审批卡上「引擎声明本会话放行记不住」那一位的唯一读口、带 remember 的那一发被服务端专属拒绝的唯一判官〔五码表只在包里一处〕;§122 FX-A2 / FX-A3)· `joinApprovalHolder`(0.95.0 CC-593:同一只审批的持有者读口 —— 耐久路开卡前问本进程是否持有这只审批的活卡,持有中等它放手;§122 XH-1)· `runningAttachOffered` / `resumeRunningCancelConfirmedRow`(0.95.0 CC-536:「run 还在跑且可接管 ⇒ 给 attach」resume 三选卡与 Leave 之后再撞 running 的忙卡同一只判定 + Cancel 已受理确认句与未确认句互斥同一处铸;§122 RS-1 / RS-3)· `classifyApprovalCompleteFrame` / `parkRowDeadlineState` / `lateDecideRoute` / `runReapedByDeadline`(0.95.0 CC-550:窗到期转 durable 队列链上的四件判定读口,自终端壳半场同名上收 —— 闭合帧三态、durable 行到期三档、迟到决断端点、decide 的 404 族先读 run 终态码;§122 RD-3)· `approvalCompleteParked`(0.95.0 CC-466:审批收口帧「转停驻」的唯一读法 —— `outcome === "expired"` ∧ `parked === true`,适配层撤卡与座位 `tool_permission_resolved.parked` 同读;§122 WB-8)· `replayedApprovalSentence`(0.95.0 CC-464 / CC-467:重放审批帧「现在不能决」那一句的唯一铸点 —— `decided` 按成因三向〔无成因 / 进程崩了 / 有序关停〕、`unknown` 一句、`live` 不出句,崩溃收敛行恒 denied 任何路径都不说成已批;§122 WC-2)· `hasLedgerPositionKey`(0.95.0 CC-464:账本位置谓词上根入口 —— `id` 或 `seq` 任一键在场且非 null,与判定口的 `live_leg` 闸同一件事;端不再自写第二份;§122 WC-1)· `allowRuleShadowSentence`(0.95.0 CC-468:allow 规则清不掉这只 ask 的披露句唯一铸点,两代键同句、已过显示消毒;§122 WC-3)· `readToolApprovalRespondParking`(0.94.0 CC-535:202 停驻体窄读上根,§121 PK-2)· `mandatedApprovalDetailOf`(0.94.0 CC-447 ⑦:强制卡「清不掉」那句的按问类版 —— 卡上问类的折叠行不放自动检查时句子不提自动检查,读不出问类 ⇒ 通用句;§121)· `decisionAttributionKeyOf`(0.93.0 CC-403:策略拒绝的 deny 体放哪一把出处键的唯一决定函数 —— 耐久 `decide` 与活卡 `respond` 两条决断腿共用,位真 `decidedBy`、否则旧键 `settledBy`、人拒 / 缺席不带键;包外的第三个发送点要同一个答案;§119)· `DECIDE_WORKFLOW_PARKS_UNREADABLE` / `DECIDE_WORKFLOW_PARK_FORKED`(0.93.0 CC-430:workflow 子代审批决定口两只 409 的码常量,进既有闭集 `DECIDE_WORKFLOW_LANE_CODES` 末尾,读口仍是 `decideRefusalFromError`;§119)· `automaticAnswerVerdict`(0.92.0 CC-368:「这张卡能不能被常驻的放行替人答掉」两条车道的唯一判定 —— 问类集合按引擎仲裁表折叠读本车道那一列,可放只有一条路径;旧口 `askSurvivesPosture`(0.94.0 退出公面) / `askSurvivesStandingAnswer`(0.94.0 退出公面) 过渡一版取较严者,0.94.0 退出公面〔§121 RX-4 / RX-5〕;§118)· `readApprovalAllowRuleShadow` / `approvalAllowRuleShadowed`(0.92.0 CC-401:allow 层让位披露两代同一只读口与让位证据;§118)· `askGoneFromError` / `askGoneContent`(0.92.0 CC-371:流内问已在没有人决定的情况下收场的 410 `gone.ask` 读口与唯一一句,「进程没了」两词与崩溃收敛成因同一张闭集表;§118)· `replayedApprovalDisposition`(0.92.0 CC-367:账本里读回来的审批帧「现在还能不能决」的唯一判定口 —— 帧到手之后读的待决清单 + 本连接 preamble,三态 `live` / `decided` / `unknown`;本包流内审批帧那一路内建同一只)· `REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT`(同票:清单读不到时上屏那一句;§118)· `crashConvergedNotice` / `crashConvergedNeedsHumanSentence` / `NEEDS_HUMAN_REASON_ORDER`(0.91.0 CC-310:崩溃遗留通告那一行话的唯一说话人 —— 整行 / 按因由一句 / 句序;分桶仍只信 `projectCrashConverged`,端只决定何时读、送哪个口、哪些行已经说过;§117)· `isAlreadyResolvedFailure`(0.91.0 CC-317:决断失败是不是「这张门早就被解决了」—— 码优先、码说清了自己的两类〔门还在 / 续跑启动期失败〕不扫文案、停驻挪动族按码、文案四词兜底;受保护读,读不出答 `false`;§117)· `GATE_MODE_RELEASE_REASON_WORDS` / `isGateModeReleaseReasonWord`(0.88.0 CC-272:门记录放行账 `released.reason` 的闭集镜像与判词谓词,值取构建期生成物;读口 `gateModeRelease` 仍按开集透传;§114)· `gateModeRelease`(0.86.0 CC-249:门记录放行臂上「权限模式替人答掉一问」那一条账的具名读口,与 `gateOutcomeOf` 同一只窄读器;缺席不是「没经过模式放行」;§112)· `registerArmedGateFromQuestionIdFor`(0.85.1 CC-259:多会话宿主在自己的会话键上登记呈现回执,`reopenPlanReviewCard` 回执形等的就是这个会话键上的回执;0.72.0 退出公面的名字复活;§110)· `decideParkMovedFromError` / `decideParkMovedContent` / `isDecideParkMovedCode` / `DECIDE_PARK_MOVED_CODES` + `DECIDE_NOT_PARKED` / `DECIDE_GATE_MOVED` / `DECIDE_CLAIM_LOST`(0.85.0 CC-243:`/decide` 停驻挪动三码的读口、按码分说的一句与判定,四个决断出口补句、停泊腿按码续读流;`isCodeClassifiedGateFailure`(0.98.0 退出公面)不收本族;§109)· `notePlanReviewDecisionHandedOver` / `planReviewPendingReadMark` / `planReviewDecisionInFlight` / `notePlanReviewDecisionNotApplied` / `notePlanReviewGateLeft` / `latestPlanReviewDecisionMark`(0.85.0 CC-241:plan-review 决断台账 —— 交出登记 + 读起点刻度 + 拒开判据 + 「没生效」与「离门」两只说一声的口 + 交出刻度;`reopenPlanReviewCard` 按它拒开;§109)· `isCodeClassifiedGateFailure`(0.98.0 退出公面,RL-103;0.84.1 CC-225:这枚决断失败码自己说清了处置、失败文字不许再按「门已决」词表扫 —— `isGateStandingErrorCode`(0.98.0 退出公面)的两码 ∪ 422 `parked_resume.startup_failed`;§108)· `removeRefusedSessionRules` / `sessionPolicyRemovalNotice` / `isEngineRefusedToolName`(0.97.0 退出公面;0.84.1 CC-229:会话规则记录里引擎会拒启的条目的窄撤销动词 + 八臂措辞单源 + 引擎准备期按名字拒启的判据本体,比 `sessionPolicyDeliverable` 的 `legacy_tool_name` 判词宽;撤销动词必交这台部署一跑的工具名册,名册里的名与别名不撤;§108)· `toolPermissionRequestAskBits` / `clearPlanReviewUserDismissals`(0.83.4 CC-203 / CC-201:卡请求 → 座位请求的四位过境口,与卡请求同一把窄读;会话换代时清「用户关卡」记号;§104)· `readApprovalMandate`(0.83.2 CC-195:卡上强制词读口,缺席答缺席;§102;同批的姿态谓词 `askSurvivesPosture` 0.94.0 已退出公面,§121 RX-4)· `sessionPolicyDeliverable` / `sessionPolicyWithheldNotice` / `SESSION_POLICY_WITHHELD_WHY`(0.83.1 CC-117:一批规则串能不能无损写进会话规则记录 —— 整批可送才送、五词成因闭集、每词一句措辞单源;宿主侧那一份的继任;§101)· `isPolicyRefusedGate` / `denyAttributionRefusalFromError` / `denyAttributionRefusalContent` / `removalConsequenceLineForBehavior` / `ruleRemovalBehaviorOf`(0.80.0 CC-133 · CC-132:策略拒谓词 + 归因键三码读口与人话 + 删除规则后果句铸点与闭集读口;§87)· `HITL_POLICY_DENY_MESSAGE` / `APPROVAL_DENY_SETTLED_BY_WORDS` / `readApprovalDenySettledBy` / `SEMA_DENIAL_KIND_KEY`(0.79.0 CC-125:deny 收口帧按 `settledBy` 分两串的冻结句、决断对象归因位的两词可达子集与只认自有数据属性的读器、分类词信封键名;§85)· `approvalIsMandated`(0.79.0 CC-110:审批卡「清不掉」判据口,帧位 ∨ 寄存行缺席词两条腿一个真源;§85)· `readSessionPolicy` / `tightenSessionPolicy` / `tightenedSessionRules` / `classifySessionPolicyFailure` / `sessionPolicyTightenNotice` / `SESSION_POLICY_RULE_FIELDS` / `SESSION_POLICY_TIGHTEN_UNKNOWN_WHY`(0.77.0 CC-105:会话策略窄读 + 收紧编排五臂判别联合)· `writePersistedRule` / `PERSISTED_RULE_WRITE_BEHAVIORS` / `PERSISTED_RULE_WRITE_REFUSAL_CAUSES` / `PERSISTED_RULE_WRITE_UNKNOWN_REASONS`(0.77.0 CC-103:持久规则单步写面,词表派生不手抄;§79)· `persistedRulesWriteAvailable`(0.76.1 CC-102:单步写入口便利口,只派生自写键自己的四态,不与撤销面那只合取;§77)· `approvalResolutionOf`(0.98.0 已退役)/ `isApprovalDecided` / `approvalNotSentCause` / `approvalUnsettledCause` / `APPROVAL_NOT_SENT_CAUSES` / `APPROVAL_UNSETTLED_CAUSES`(CC-77 ①:「一次审批决断最后怎么了」的单源判别联合 `decided` / `not_sent` / `unsettled`,两条腿的结局对象一次判别;既有结局型面一字不动)· `approvalOutcomeNoteOf`(0.98.0 已退役)/ `APPROVAL_NOTE_RETRACTED_DETAIL` / `APPROVAL_NOTE_EDIT_REFUSED_DETAIL`(0.74.5 CC-88:审批结局便签单源;§73)· `decideReceiptReopen` / `suspendedReopenOf`(0.74.3 CC-73:reopen 族第二臂;§71)· `RETRACTED_CARD_DECISION_KIND`(0.74.1 CC-67:卡口无决断收口;§69)· `planReviewOutcomeTail`(0.73.1 CC-57:outcome 尾句六态单铸点;投递口闩;§63)· `readLivePendingRows` / `suspendedSubagentAsks` / `countApprovalsAwaitingDecision` / `createSuspendedAskTracker` / `livePendingRowToApprovalFrame` / `surfaceSuspendedAskAndRespond` / `surfaceEditRefusedOnBlindAsk` + `EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT`(0.72.14 CC-55:悬挂的流内 ask 读面 / 视图 / 去重账 / 决断口;§61)· `planReviewCardOptions` / `planReviewChoiceFromAnswer` / `isPlanReviewModeAfter` + `PLAN_REVIEW_APPROVE_AUTO_LABEL` / `PLAN_REVIEW_APPROVE_MANUAL_LABEL` / `PLAN_REVIEW_MODE_AFTER_WORDS`(0.72.13 CC-46:plan_review 批准后模式 `permissionModeAfter` 发口与三选卡;0.93.0 起三选卡只剩宿主声明一闸,引擎版本闸两名退出公面〔§119 RT-6〕;§60)· `makeHitlCanUseTool` · `HitlBridge` · `findPendingForTask` · `readDecideReceipt`/`decideAcceptedNotResolved`/`decideRefusalFromError`(B-070:`/decide` 200 = **投递受理**不是「门已解决」;`executionOutcome` 缺席 = 未知,详见 §30h) · `HitlSafetyError` · `bridgeAskUserQuestionGates` · `surfaceToolApprovalFrameAndRespond` / `surfaceFsApprovalAndDecide` · `readToolApprovalRespondAck` · `installApprovalCardPort(For)` · `installHitlHostSurface(For)` · `armPlanReviewApproval` · `reopenPlanReviewCard` · `decidePlanReview` · `startApprovalsFeed` · `pendingRowIsOwnedByThisSession` · `approvalCallKey`/`liveFrameCallKey`/`planReviewQuestionId` · `registerArmedGateFor`/`wasGateArmedFor` · `waitForGateArmed`/`onGateArmed`/`gateArmedWaitMs`(#244 F1 呈现回执事件源) · `planReviewArmedKey`/`notePlanReviewAnswered`/`notePlanReviewAnsweredIfDecisive`(A-024.4 plan 呈现分代;`waitForGateArmed` / `planReviewArmedKey` / `notePlanReviewAnswered` 三只的 `*For` 变体 0.84.0 退出公面) · `toolEndOutputText` · `waitForParkRowBirth` · `classifyAskParkRows` / `askParkRowArm` / `classifyAskParkChainFailure` · `readDecisionNoteAudit` / `decisionNoteAuditLine` · `resumeRunningOptions` / `resumeChoiceFromLabels` · `persistedRulesLaneAvailable`/`persistedRulesGovernanceAvailable` · `classifyRulesFailure` · `listAllPersistedRules` · `classifySkippedReason` · `readRulePersistOutcome`(#244 F2:persist-ack 读口与 `readToolApprovalRespondAck` 合成一处) · `parseLocalAllowRule`(durable 腿本地落规则窄化骨架,谓词经 `LocalAllowRuleDeps` 注入) · `readToolApprovalRespondRefusal`(0.98.0 已退役;#225 件5,0.42.0:respond 抛错的结构化原文读口 —— 三位各自防御读、各自缺席不铸、**三位皆缺席时整只返 `undefined`**;原样交还零加工,UNTRUSTED-for-display)· `installEditedRuleTextPrechecker` / `hasEditedRuleTextPrechecker` / `precheckEditedRuleText`([5076] 转出口,0.42.0:core 5.57.0 `precheckEditedRuleText` 的**端口注入形** —— 类型面 + 注入口 + 诚实缺席读口。🔴 **不是** value 级 re-export,理由见 §7 缺口 **P-34**;未装 ⇒ 返 `undefined`,绝不编一个 `{ok:true}`)· `RULE_NOT_SENT_WARN_TEXT` + `RULE_NOT_SENT_REJECTED_WARN_TEXT`(#334,0.43.0:人在卡上按下的「不再询问」被整条丢弃时的诚实告知(文案两句;发告知的两只函数 0.84.0 起是包内件)——**两条刻意分开**:前者=**引擎能力位未确认**(换台引擎/等探测就好),后者=**这次选择没过包内表核/互斥核**(表外文本/坏下标/两臂同场,换引擎也不会变) —— 编辑臂 `respondFreeFormRules` 与批臂 `respondBatchRuleOffers` 两条同形存量共用一条,与 `surfaceRememberNotApplied` 同族纪律:决断照送、只是规则没存,静默丢掉用户明确意图 = 让人以为功能坏了)· `projectCrashConverged`(L-38,0.49.0:`/v1/approvals` additive 键 `crashConverged` 的分桶投影 —— 崩溃收敛的孤儿审批读面,**缺席 ≠ 空数组**、分桶恰一个合取、坏行丢弃并计数,详见 §12;同批把 `ApprovalsResourceLike.list()` 的返回位 additive 放宽成 `ApprovalsListEnvelope`,老形 `{pending}` 仍可赋值)· `readRuleOffers` / `readRuleOfferSupply`(L-103/[C228],0.57.0 additive 导出:「不再询问」候选两代 wire 键的窄读器**公面化** —— 此前只经卡端口出包,不走卡端口架构的宿主只能自己重铸一把,而它承载的是兑付安全判据(原始下标不前移/逐条丢坏/闭集 kind/两代取舍序),详见 §20)· `RULE_OFFERS_ABSENCE_REASONS` / `DENIAL_LIMIT_KINDS`〔后者 🔧 0.85.0 退出公面,值改从 `@sema-agent/sdk` 根入口取〕(0.59.0 / sdk 8.3.0 提货:`ruleOffersAbsence` 三词与 `denialLimitFallback.limit` 二词的**运行期**闭词表再导出 —— 与 0.58.0 那三张同一条纪律:端拿它做判定别再手抄字面量。⚠️ **本包自己不拿这两张表做窄读判定**(两处都按开集透传,词表属主是 core、server 已按闭集拒过),再导出只是给端的 `switch` 一份可数的表,端仍必须带 `default` 臂,详见 §23a)· `DecideTransportRetryExhaustedError`(Inkglow-1085 P0a:decide 出站瞬断重试耗尽的 typed 判别 —— HitlBridge 内建单次退避重试,耗尽走重呈臂不判死 turn;端一般只消费行为,不需要 instanceof) · `gateOutcomeOf` / `isDeniedGate` / `gateDeniedBy` / `gateApprover` / `isApprovalWindowExpiredGate` / `isDenialLimitAutoDeniedGate` / `isParkSlaExpiredGate` / `isHumanSettledGate`(0.60.0 / engine ≥7.64.0:`tool_end.gate` 整条门记录的窄读器 + 判定谓词 —— 取代退役的四个正交词 `settledBy`/`resolution`/`autoDenied`/`approver`。🔴 **判定归包**:「是不是审批窗自己走完的拒绝」旧形上是端各自拼的两键合取,而三条窗词现在分得开、合并读回去等于把刚修好的判别力扔掉;⚠️ 公面型一律带 `View` 后缀 —— 本文件的 `GateOutcome`(决断腿结局)与 sdk 的 `GateOutcome`(引擎门记录)**同名不同义**,详见 §24c)· `isGateParkedToolEnd`(「这次调用没在这里结算」的**第二形**谓词:gate 缺席 + `errorCode:"gate.parked"`;端判这件事必须与 `isApprovalWindowExpiredGate` **两形合读**) · `readWireErrorCode`(B-037 候包件②:decide/取件失败上引擎 wire 机器码的单源读口,结构视图读不 `instanceof`;与本包铸的 `code` 是两个命名空间,详见 §24g)| suspended→decide→resume 环。🔴 **D-1 两元组 verbatim 回显**是字节级断言的安全不变量,端**不许重实现它的任何一段**。🔴 键空间边界(web [C1] d3 拦截):`gateIdentity` 四常量两函数只覆盖 HITL questionId/callKey 空间;seat 的 `TOOL_PERMISSION_REQUEST_ID_DOMAINS`(`plan:` 等)是另一键空间,**两者绝不合并**(合并=座位校验器静默拒全部 plan-review 卡) · `approvalCompleteCauseOf`(0.95.0 CC-570:活卡结局帧 `cause` 读口,十四词闭集,只读自有数据位;§122 PK7-3) | `src/hitl/hitlBridge.ts`、`toolApprovalWire.ts`、`askGateWire.ts`、`planReviewWire.ts`、`hitlHostSurface.ts`、`gateIdentity.ts`、`armedGateRegistry.ts`、`parkOwnership.ts`、`parkResolver.ts`、`approvalsFeed.ts`、`frameRouter.ts`(**只挑名导出** `toolEndOutputText`/`ENGINE_ABORT_TOOL_RESULT`/`HITL_REJECT_MESSAGE`/`HITL_INTERRUPT_MESSAGE_FOR_TOOL_USE`)、`parkRowBirthWait.ts`、`approvalDecisionNoteAudit.ts`、`askParkRowRouting.ts`、`resumeRunningCard.ts`(#265 上收的判定层)、`persistedRulesWire.ts`、`localAllowRule.ts`(#244 F2 规则侧)、`crashConverged.ts`(L-38 崩溃收敛读面)、`crashConvergedNotice.ts`(0.91.0 CC-310 崩溃遗留通告那一行话)、`sessionPolicyDeliverable.ts`(0.83.1 CC-117 会话规则无损判定)、`src/gateOutcome.ts` |
198
198
 
199
199
 
200
200
 
201
201
 
202
- | 4 | **子代 wire + 面板侧信道台账** | 114 | `reducePanelFrame` / `createPanelReduceState` / `PANEL_DELTA_OPS` / `subscribeEnginePanelRows`(0.95.0 CC-76 + CC-114:面板行归约口 —— 一帧进 → 行差分出的纯函数、差分臂闭集、行差分订阅口;§122)· `stopEngineSessionBackground` / `engineSessionBackgroundReceiptReadingOf` / `ENGINE_SESSION_BACKGROUND_RECEIPT_STATES`(0.85.0 CC-246:会话后台任务停止口 + 受据三态归类口与闭集镜像,三端公共转调与单源措辞;认不出的受据词一律归「可能仍在跑」;§109)· `readEngineAgentRegistry` / `isEngineAgentRegistryListingSuperseded` / `engineAgentRegistryReadingOf` / `engineAgentRegistryKeyOf` / `engineAgentRegistryRowsMissingFromHost`(0.84.0 CC-194 B 半:后台代理登记读口 + 取代判定 + 归类口 + 登记键桥 + 补行谓词,宿主据此给缺席行回收入参的 `registry` 位填真读数;§107)· `isEngineAgentAbsentRow` / `engineAgentAbsenceMarkOf` / `engineAgentAbsenceClockStopMs` / `engineAgentPanelEventClearsAbsence` / `engineAgentRowCountsAsRunning` / `tallyEngineAgentRows` / `engineAgentTurnSweepSettles` / `reapEngineAgentAbsentRows` / `engineAgentAbsenceTtlDueAtMs` / `engineAgentAbsenceDroppedLine` / `engineAgentTerminalAfterDropLine` + `ENGINE_AGENT_ABSENT_ROW_TEXT` / `ENGINE_AGENT_ABSENCE_TTL_MS` / `ENGINE_AGENT_REGISTRY_READINGS`(0.83.2 CC-194:后台子代缺席行的判定 / 计数 / sweep 豁免 / 回收 / 措辞单源,回收只在后台代理登记确认离场时;§102)· `isNewEngineAgentPanelCycle`(0.74.5 CC-87:新周期单源判据;§73)· `resolveEnginePanelTaskId` / `MAX_HELD_WIRE_TICK_BEATS` / `clearEnginePanelTaskResidentByWire`(0.74.3 CC-70:子代身份归一读口、缓一拍节拍上限、按 wire id 清常驻标(前代终态不清当代);§71)· `isStaleEngineAgentPanelEnd`(0.74.0 CC-66:面板 end 的周期身份判据;§68)· `subscribeEngineAgentPanelAbsence` / `publishEngineAgentPanelAbsence`(0.72.13:fleet 行缺席上报的**独立订阅口** —— 不上主通道,老消费者结构上收不到;§60 S-5)· `tailEngineSubagent` · `installSubagentActivitySink` · `installSubagentTailMetaSink`(#280 件2:tail meta 帧发布口,`contentFrames` 判别位载体)· `stopEngineTask` + `classifyTaskStopConflict` · `fetchEngineSubagentReport` · `steerEngineSubagent`(0.32.0 未发布 #280 件A:additive 第三参 `childTaskId` —— 端有行上下文时**应当**传,传了就走「台账优先 / 缺席即诚实缺席 + 缺席留痕」的 Q3 口径,与 tail·taskOutput·subagentOutput 三腿同姿势、与孪生 resume 腿共用同一个 `resolveOwnerRunId` 判据;**不传**则逐字维持旧行为=回落在飞 run)· `resumeSettledSubagent` + `resolveSubagentResumeContext` + `resolveOwnerRunId` + `classifySubagentResumeFailure` + `subagentResumeAvailable`(#242 批 2 A-028.7:resume 判定半场上收,与 steer 孪生同居;取址三态 = 台账有行用行值 / 指名了行但台账缺席则**诚实缺席绝不回落在飞 run** / 没指名行才回落。出路文案归端)· `recordSubagentOwnerFromProgress` + `getBgParentRunOwner`(A-028.6:「子代 → 宿主 run」**单表**,宿主 run 必须由持 stream-local 值的调用方显式传入,包内绝不从 `activeEngineRunId()` 推断)· `auditRetainWithoutWake`([4000] Q5:引擎宣示 `subagentResume` + 本端在付 `retainSubagentSessions` + 端未实现 `wakeSubagent` ⇒ 响亮一条;`CLIENT_VERBS.wakeSubagent` 维持 fail-soft)· `subscribeSubagentContent` · `subscribeEngineAgentPanel` · `publishQuestionFrame` / `respondToQuestion` · `configureSubagentContentStore` / `subagentContentStoreConfig` / `SUBAGENT_CONTENT_STORE_DEFAULTS`(0.62.0:子代内容账本的**字节预算** —— 此前只有条数帽而单条无上限,一条 base64 工具结果就能让一个子代槽吃到十几 MB;越限从最早的内容开始丢并留一条可渲染的 `truncated` 记录,总帽淘汰整条最久未用的账本。配置面 fail-loud,详见 §26②)| 驱动与观测委派子代;经 module 级台账喂活体 agent/task 面板。全部**能力位 gate**(§5b) | `src/subagent/*.ts`、`src/subagentContentStore.ts`、`src/engineAgentPanelStore.ts`、`src/engineAgentAbsence.ts`(0.83.2 CC-194 缺席行判定与措辞)、`src/agentSession/engineAgentRegistryRead.ts`(0.84.0 CC-194 B 半登记读口)、`src/engineInlineTaskStats.ts`、`src/engineToolLabelStore.ts`、`src/liveQuestionStore.ts` |
203
- | 5 | **fleet 投影** | 52 | `forgetSettledTerminalRow` / `forgetSettledTerminalRowFor`(0.95.0 CC-332:按行 id 摘掉一条已结算的终态行 —— 与 `task_remove` 结算级离场自摘走同一只实现;仍在飞 / 通知车道推定行不摘;§122 FX-F1)· `SDK_FLEET_TASK_TERMINAL_STATUSES` / `isSdkFleetTaskTerminal` / `isSdkFleetTaskTerminalNotSuccess`(0.95.0 CC-78:sdk `FleetTaskStatus` 终态分区,冻结数组;§122 TW-1)· `displayUntrustedMarks`(0.83.5 CC-204:同一只出口另报每一枚字符面标记的 UTF-16 区间,`text` 与同选项的出口逐字节同;§105)· `displayUntrusted`(0.83.1 CC-112:wire 派生文本上屏前的合成出口三端单源 —— 凭据两网 ∘ 字符三网,选项按载体选;本域 `escapeDisplayControlChars` / `collapseLabel` / `capForDisplay` 三只旧口改由同一只字符面引擎实现、输出逐字节不变,字符集窄于新口默认;§101)· `createFleetLedger` · `projectTasks` · `projectWorkflows` · `projectFleetAgentRows` · `readEngineActiveBgTasks` · `FLEET_TASK_VIEW_KEYS` · `escapeDisplayControlChars`(不可见字符可见化,行标签/描述消毒的共享底座)· `capForDisplay`(0.62.0:呈前**消毒 + 封长**的共用铸点 —— 先转义、后按转义结果封长,截点避开半截转义 token 与合法代理对;本包该族四处此前各写一份、其中三份顺序是反的,详见 §26⑦) | 老 `fleetClient` 那一刀的成品:**帧体归库、连接归端** —— 端持 SSE 连接,库做行投影 + 保留台账 | `src/fleet/fleetProjection.ts`、`src/fleet/fleetLedger.ts`、`src/fleetAgentPanelProjection.ts`、`src/fleetTaskDesc.ts`、`src/displayUntrusted.ts`(0.83.1 CC-112:展示层安全出口单源,本域三只旧口的字符面引擎) |
202
+ | 4 | **子代 wire + 面板侧信道台账** | 111 | 0.98.0(RA 行,§126)−2 函数(`subscribeEngineAgentPanel`(0.98.0 退出公面) / `subscribeEngineAgentPanelAbsence`(0.98.0 退出公面):面板旧事件订阅口与缺席订阅口退役账到期硬退,RL-89 / RL-90;面板唯一出口 = 行差分口 `subscribeEnginePanelRows`)· 0.98.0(CP 行,§126)−1 函数(`resetManualCompactCapability` 到期退役,RL-101)· `reducePanelFrame` / `createPanelReduceState` / `PANEL_DELTA_OPS` / `subscribeEnginePanelRows`(0.95.0 CC-76 + CC-114:面板行归约口 —— 一帧进 → 行差分出的纯函数、差分臂闭集、行差分订阅口;§122)· `stopEngineSessionBackground` / `engineSessionBackgroundReceiptReadingOf` / `ENGINE_SESSION_BACKGROUND_RECEIPT_STATES`(0.85.0 CC-246:会话后台任务停止口 + 受据三态归类口与闭集镜像,三端公共转调与单源措辞;认不出的受据词一律归「可能仍在跑」;§109)· `readEngineAgentRegistry` / `isEngineAgentRegistryListingSuperseded` / `engineAgentRegistryReadingOf` / `engineAgentRegistryKeyOf` / `engineAgentRegistryRowsMissingFromHost`(0.84.0 CC-194 B 半:后台代理登记读口 + 取代判定 + 归类口 + 登记键桥 + 补行谓词,宿主据此给缺席行回收入参的 `registry` 位填真读数;§107)· `isEngineAgentAbsentRow` / `engineAgentAbsenceMarkOf` / `engineAgentAbsenceClockStopMs` / `engineAgentPanelEventClearsAbsence` / `engineAgentRowCountsAsRunning` / `tallyEngineAgentRows` / `engineAgentTurnSweepSettles` / `reapEngineAgentAbsentRows` / `engineAgentAbsenceTtlDueAtMs` / `engineAgentAbsenceDroppedLine` / `engineAgentTerminalAfterDropLine` + `ENGINE_AGENT_ABSENT_ROW_TEXT` / `ENGINE_AGENT_ABSENCE_TTL_MS` / `ENGINE_AGENT_REGISTRY_READINGS`(0.83.2 CC-194:后台子代缺席行的判定 / 计数 / sweep 豁免 / 回收 / 措辞单源,回收只在后台代理登记确认离场时;§102)· `isNewEngineAgentPanelCycle`(0.74.5 CC-87:新周期单源判据;§73)· `resolveEnginePanelTaskId` / `MAX_HELD_WIRE_TICK_BEATS` / `clearEnginePanelTaskResidentByWire`(0.74.3 CC-70:子代身份归一读口、缓一拍节拍上限、按 wire id 清常驻标(前代终态不清当代);§71)· `isStaleEngineAgentPanelEnd`(0.74.0 CC-66:面板 end 的周期身份判据;§68)· `publishEngineAgentPanelAbsence`(0.72.13:fleet 行缺席上报的发布口 —— 不上主通道,老消费者结构上收不到;0.98.0 起宿主从行差分口 `upsert{ fields.absence }` 读;§60 S-5)· `tailEngineSubagent` · `installSubagentActivitySink` · `installSubagentTailMetaSink`(#280 件2:tail meta 帧发布口,`contentFrames` 判别位载体)· `stopEngineTask` + `classifyTaskStopConflict` · `fetchEngineSubagentReport` · `steerEngineSubagent`(0.32.0 未发布 #280 件A:additive 第三参 `childTaskId` —— 端有行上下文时**应当**传,传了就走「台账优先 / 缺席即诚实缺席 + 缺席留痕」的 Q3 口径,与 tail·taskOutput·subagentOutput 三腿同姿势、与孪生 resume 腿共用同一个 `resolveOwnerRunId` 判据;**不传**则逐字维持旧行为=回落在飞 run)· `resumeSettledSubagent` + `resolveSubagentResumeContext` + `resolveOwnerRunId` + `classifySubagentResumeFailure` + `subagentResumeAvailable`(#242 批 2 A-028.7:resume 判定半场上收,与 steer 孪生同居;取址三态 = 台账有行用行值 / 指名了行但台账缺席则**诚实缺席绝不回落在飞 run** / 没指名行才回落。出路文案归端)· `recordSubagentOwnerFromProgress` + `getBgParentRunOwner`(A-028.6:「子代 → 宿主 run」**单表**,宿主 run 必须由持 stream-local 值的调用方显式传入,包内绝不从 `activeEngineRunId()` 推断)· `auditRetainWithoutWake`([4000] Q5:引擎宣示 `subagentResume` + 本端在付 `retainSubagentSessions` + 端未实现 `wakeSubagent` ⇒ 响亮一条;`CLIENT_VERBS.wakeSubagent` 维持 fail-soft)· `subscribeSubagentContent` · `publishQuestionFrame` / `respondToQuestion` · `configureSubagentContentStore` / `subagentContentStoreConfig` / `SUBAGENT_CONTENT_STORE_DEFAULTS`(0.62.0:子代内容账本的**字节预算** —— 此前只有条数帽而单条无上限,一条 base64 工具结果就能让一个子代槽吃到十几 MB;越限从最早的内容开始丢并留一条可渲染的 `truncated` 记录,总帽淘汰整条最久未用的账本。配置面 fail-loud,详见 §26②)| 驱动与观测委派子代;经 module 级台账喂活体 agent/task 面板。全部**能力位 gate**(§5b) | `src/subagent/*.ts`、`src/subagentContentStore.ts`、`src/engineAgentPanelStore.ts`、`src/engineAgentAbsence.ts`(0.83.2 CC-194 缺席行判定与措辞)、`src/agentSession/engineAgentRegistryRead.ts`(0.84.0 CC-194 B 半登记读口)、`src/engineInlineTaskStats.ts`、`src/engineToolLabelStore.ts`、`src/liveQuestionStore.ts` |
203
+ | 5 | **fleet 投影** | 53 | `isDiagnosticValueWord`(0.98.0 CC-683:展示出口诊断词闭集的判定口,读出口自己那一张表;§126 DU-8)· `forgetSettledTerminalRow` / `forgetSettledTerminalRowFor`(0.95.0 CC-332:按行 id 摘掉一条已结算的终态行 —— 与 `task_remove` 结算级离场自摘走同一只实现;仍在飞 / 通知车道推定行不摘;§122 FX-F1)· `SDK_FLEET_TASK_TERMINAL_STATUSES` / `isSdkFleetTaskTerminal` / `isSdkFleetTaskTerminalNotSuccess`(0.95.0 CC-78:sdk `FleetTaskStatus` 终态分区,冻结数组;§122 TW-1)· `displayUntrustedMarks`(0.83.5 CC-204:同一只出口另报每一枚字符面标记的 UTF-16 区间,`text` 与同选项的出口逐字节同;§105)· `displayUntrusted`(0.83.1 CC-112:wire 派生文本上屏前的合成出口三端单源 —— 凭据两网 ∘ 字符三网,选项按载体选;本域 `escapeDisplayControlChars` / `collapseLabel` / `capForDisplay` 三只旧口改由同一只字符面引擎实现、输出逐字节不变,字符集窄于新口默认;§101)· `createFleetLedger` · `projectTasks` · `projectWorkflows` · `projectFleetAgentRows` · `readEngineActiveBgTasks` · `FLEET_TASK_VIEW_KEYS` · `escapeDisplayControlChars`(不可见字符可见化,行标签/描述消毒的共享底座)· `capForDisplay`(0.62.0:呈前**消毒 + 封长**的共用铸点 —— 先转义、后按转义结果封长,截点避开半截转义 token 与合法代理对;本包该族四处此前各写一份、其中三份顺序是反的,详见 §26⑦) | 老 `fleetClient` 那一刀的成品:**帧体归库、连接归端** —— 端持 SSE 连接,库做行投影 + 保留台账 | `src/fleet/fleetProjection.ts`、`src/fleet/fleetLedger.ts`、`src/fleetAgentPanelProjection.ts`、`src/fleetTaskDesc.ts`、`src/displayUntrusted.ts`(0.83.1 CC-112:展示层安全出口单源,本域三只旧口的字符面引擎) |
204
204
 
205
- | 6 | **请求装配(上行唯一构造口)** | 52 | `disableSkillsDeclarationSettled`(0.91.0 CC-311:`disableSkillsDeclaration` 的有界异步变体 —— 先有界等能力探测落定再答,同步口不动,到时仍没读到与同步口同答;§117)· `permissionsDeclarationReport` + `PERMISSIONS_KEPT_REASONS`(0.91.0 CC-314:与 `permissionsDeclaration` 同一次遍历的报告口 —— `permissions` 与投口逐字节同,另给每一条没随请求发出的规则与理由〔十二词闭集〕、写法变了的投出规则、投出了但没过规则编译器的 deny / ask;入参 `settingsRead` 只有 `'clean'` 才投 allow;§117)· `encodeHumanTurn` / `deliveredUuidsOf` / `imageVisionOf` / `mintUserAttachmentEnvelope`(0.91.0 CC-297 / CC-315:人类一次提交 → 请求载体的唯一投影 —— `objective` / `steer` 两载体、图片座位计划、8 MiB 请求体核算、steer 三级处置、份额与降级清单;没有附件席位的引擎上 `@` 附件的数据信封唯一铸点,边界三规则只在铸点里;§117)· `permissionsDeclaration`(0.90.0 CC-302:请求体 `settings.permissions` 三桶装配口 —— 每只桶按来源信任序排、过与引擎同一只的安全投影;allow 只在能力位读到「按放行规则编」时才发;§116)· `disableSkillsDeclaration`(0.89.0 CC-277:请求键 `disableSkills` 的唯一取值口,读能力位给 `{ disableSkills: true }` 片段或 `withheld` 一句;车道表 45 → 46 行;§115)· `taskRequestOmissionCausePhrase`(0.89.0 CC-282:回执省略成因的从句短语口,与整句表同表派生;§115)· `requireExistingSessionRefusalFromError` / `requireExistingSessionRefusalContent`(0.88.0 CC-281:请求键 `requireExistingSession` 被服务端拒 —— 会话不在 / 没给会话 id —— 的读口与一句,粗码形读消息尾括注、带码形直接认;§114)· `inheritEnvDeclaration` / `inheritEnvWithheldNotice` / `isInheritEnvWord` + `INHERIT_ENV_WORDS`(0.86.0 CC-257:请求键 `inheritEnv` 的片段口 —— 服务端版本读得懂才给 `{ inheritEnv }`,读不出则空片段 + 回执成因与一句终端用户面话;两词闭集与判词口;缺席 = 缺省清洗且清掉本会话上一条声明;0.93.0 起版本地板常量与三态判定口退出公面〔§119 RT-8〕;§112)· `taskRequestOmissionCauseNotice` / `TASK_REQUEST_OMISSION_CAUSE_NOTICES`(0.85.1 CC-248:回执省略成因的终端用户向取句口与句表,与接入方那只同源于同一成因闭集、逐词不同句;表外 / 读不出 ⇒ 一句通用句,不抛、不回显;§110)· `fileHistoryDeclarationField` / `FILE_HISTORY_DISABLED`(0.85.0 CC-243:「这一次运行别捕获文件历史」请求词片段口 —— 只在能力读数是 `on-optional` 且宿主意图是别捕获时给 `{ fileHistory: 'disabled' }`,老服务端对这一键整条 400;字面常量供断言锚;§109)· `REQUEST_LANES` / `APPROVER_POSTURE_BYPASS` / `approverPostureDeclarationField`〔后两者 🔧 0.86.0 退出公面:请求键 `approverPosture` 退役,宿主仍给即构造期按名拒;§112〕/ `taskRequestOmissionCauseDetail` / `parseMaxCostUsd`(0.79.0 CC-116 · 118 · 123:第三条车道清单、审批姿态声明的唯一铸点与意图位片段、回执成因人话、花费上限文本解析;§85)· `assembleTaskRequest` / `taskRequestSeatOf` / `TASK_REQUEST_OMISSION_CAUSES` / `UPSTREAM_ABSENT_REQUEST_INTENTS`(0.77.0 CC-101:逐键去向回执 + 座位读数 + 成因词表 + 上游无对位表;§79)· `readAgentMemorySpec` / `unknownMemorySpecKeys` / `unknownMemorySpecKeysNote` / `memoryConfigRefusalNoteOf` / `KNOWN_AGENT_MEMORY_SPEC_KEYS` / `PENDING_MEMORY_SPEC_KEYS` / `RETIRED_MEMORY_SPEC_SINGULAR_KEY` / `MAX_UNKNOWN_MEMORY_SPEC_KEYS`(CC-96:`agents[].memory` 记忆 spec 的三态读口与闭白名单判官 —— 未列键拒掉的是**整只 agent 定义**)· `MEMORY_OFF` / `memoryOffDeclarationField` / `memoryOffDeclared`(0.72.8 CC-39③:`memory:"off"` 请求级整面关的意图位片段;§55)· `buildTaskRequest` · `REQUEST_FIELD_MATRIX` · `unregisteredRequestKeys` · `applyLiveRequestDefaults` · `taskNotificationToPrintFrame` | 两条车道(`interactive`/`print`)出站请求的**唯一**构造器;`unregisteredRequestKeys` 是可执行门 —— 端偷带一个未登记键上 wire 就红 | `src/request/taskRequest.ts`、`src/request/printNotification.ts` |
205
+ | 6 | **请求装配(上行唯一构造口)** | 53 | 0.98.0(HK 行,§126)−1 函数(`taskRequestOmissionCausePhrase`(0.98.0 退出公面):省略成因的从句口到期退役,RL-119;整句口与整句表照旧)· 0.98.0(TK 行,§126)+1 函数 +1 常量(`assemblyRefusalOf` / `ASSEMBLY_REFUSAL_CAUSES`:装配口与代理就绪门失败的拒装机读身份,只读自有数据位)· `disableSkillsDeclarationSettled`(0.91.0 CC-311:`disableSkillsDeclaration` 的有界异步变体 —— 先有界等能力探测落定再答,同步口不动,到时仍没读到与同步口同答;§117)· `permissionsDeclarationReport` + `PERMISSIONS_KEPT_REASONS`(0.91.0 CC-314:与 `permissionsDeclaration` 同一次遍历的报告口 —— `permissions` 与投口逐字节同,另给每一条没随请求发出的规则与理由〔十二词闭集〕、写法变了的投出规则、投出了但没过规则编译器的 deny / ask;入参 `settingsRead` 只有 `'clean'` 才投 allow;§117)· `encodeHumanTurn` / `deliveredUuidsOf` / `imageVisionOf` / `mintUserAttachmentEnvelope`(0.91.0 CC-297 / CC-315:人类一次提交 → 请求载体的唯一投影 —— `objective` / `steer` 两载体、图片座位计划、8 MiB 请求体核算、steer 三级处置、份额与降级清单;没有附件席位的引擎上 `@` 附件的数据信封唯一铸点,边界三规则只在铸点里;§117)· `permissionsDeclaration`(0.90.0 CC-302:请求体 `settings.permissions` 三桶装配口 —— 每只桶按来源信任序排、过与引擎同一只的安全投影;allow 只在能力位读到「按放行规则编」时才发;§116)· `disableSkillsDeclaration`(0.89.0 CC-277:请求键 `disableSkills` 的唯一取值口,读能力位给 `{ disableSkills: true }` 片段或 `withheld` 一句;车道表 45 → 46 行;§115)· `taskRequestOmissionCausePhrase`(0.98.0 已退役)(0.89.0 CC-282:回执省略成因的从句短语口,与整句表同表派生;§115)· `requireExistingSessionRefusalFromError` / `requireExistingSessionRefusalContent`(0.88.0 CC-281:请求键 `requireExistingSession` 被服务端拒 —— 会话不在 / 没给会话 id —— 的读口与一句,粗码形读消息尾括注、带码形直接认;§114)· `inheritEnvDeclaration` / `inheritEnvWithheldNotice` / `isInheritEnvWord` + `INHERIT_ENV_WORDS`(0.86.0 CC-257:请求键 `inheritEnv` 的片段口 —— 服务端版本读得懂才给 `{ inheritEnv }`,读不出则空片段 + 回执成因与一句终端用户面话;两词闭集与判词口;缺席 = 缺省清洗且清掉本会话上一条声明;0.93.0 起版本地板常量与三态判定口退出公面〔§119 RT-8〕;§112)· `taskRequestOmissionCauseNotice` / `TASK_REQUEST_OMISSION_CAUSE_NOTICES`(0.85.1 CC-248:回执省略成因的终端用户向取句口与句表,与接入方那只同源于同一成因闭集、逐词不同句;表外 / 读不出 ⇒ 一句通用句,不抛、不回显;§110)· `fileHistoryDeclarationField` / `FILE_HISTORY_DISABLED`(0.85.0 CC-243:「这一次运行别捕获文件历史」请求词片段口 —— 只在能力读数是 `on-optional` 且宿主意图是别捕获时给 `{ fileHistory: 'disabled' }`,老服务端对这一键整条 400;字面常量供断言锚;§109)· `REQUEST_LANES` / `APPROVER_POSTURE_BYPASS` / `approverPostureDeclarationField`〔后两者 🔧 0.86.0 退出公面:请求键 `approverPosture` 退役,宿主仍给即构造期按名拒;§112〕/ `taskRequestOmissionCauseDetail` / `parseMaxCostUsd`(0.79.0 CC-116 · 118 · 123:第三条车道清单、审批姿态声明的唯一铸点与意图位片段、回执成因人话、花费上限文本解析;§85)· `assembleTaskRequest` / `taskRequestSeatOf` / `TASK_REQUEST_OMISSION_CAUSES` / `UPSTREAM_ABSENT_REQUEST_INTENTS`(0.77.0 CC-101:逐键去向回执 + 座位读数 + 成因词表 + 上游无对位表;§79)· `readAgentMemorySpec` / `unknownMemorySpecKeys` / `unknownMemorySpecKeysNote` / `memoryConfigRefusalNoteOf` / `KNOWN_AGENT_MEMORY_SPEC_KEYS` / `PENDING_MEMORY_SPEC_KEYS` / `RETIRED_MEMORY_SPEC_SINGULAR_KEY` / `MAX_UNKNOWN_MEMORY_SPEC_KEYS`(CC-96:`agents[].memory` 记忆 spec 的三态读口与闭白名单判官 —— 未列键拒掉的是**整只 agent 定义**)· `MEMORY_OFF` / `memoryOffDeclarationField` / `memoryOffDeclared`(0.72.8 CC-39③:`memory:"off"` 请求级整面关的意图位片段;§55)· `buildTaskRequest` · `REQUEST_FIELD_MATRIX` · `unregisteredRequestKeys` · `applyLiveRequestDefaults` · `taskNotificationToPrintFrame` | 两条车道(`interactive`/`print`)出站请求的**唯一**构造器;`unregisteredRequestKeys` 是可执行门 —— 端偷带一个未登记键上 wire 就红 | `src/request/taskRequest.ts`、`src/request/printNotification.ts` |
206
206
 
207
- | 7 | **通知与 outstanding 台账** | 49 | `noteOwnWorkflowRun`(0.72.2 CC-37:own 台账显式登记口,adapter workflow lane 门在 own-run 正向证明下同拍调;§49)· `installNotificationQueuePort` · `normalizeTaskNotification` · `taskNotificationDedupKeyFromWire` · `registerOutstandingBgTask` / `registerOutstandingWorkflowRun` · `notificationQueuePortMisses` · `subscribeOutstandingWorkflows` · `outstandingDeliverableWorkflowCount` | `task_notification` 归一 + 去重 + 投递进宿主命令队列的**一把闸**;`outstandingDeliverableWorkflowCount()` 是 headless `-p` 的**退出门** · `classifyPeerNotification` / `renderPeerFrameTranscriptText` / `parsePeerFrameText` / `peerFrameDisplayName` + 三张闭集表(design/385,0.54.0:同一条 `task_notification` 车道上三条**引擎注入帧**的类型化投影 —— 判别位=载体在场而非 summary 文本,详见 §17) | `src/notifications.ts`(11 个 module 台账) |
208
- | 9 | **能力/旋钮 wire 门族** | 249 | `engineToolDirectoryOf` / `excludeToolsAgainstDirectory`(0.97.1 CC-729 / CC-730:本跑声明的 MCP 服务器读口〔三态〕与 run 级 excludeTools 判官;代理工具清单只投这一跑里可能有工具应答的名;§125 AD-3 / AD-4)· `engineCapsLandingOf` / `rotateEngineCapsProbe`(0.97.0 CC-690 / CC-692:整份能力位读数三态〔取落地的唯一读法,缺键极性在它的型注上成文〕/ 同一台引擎换探测闭包时更新重探登记而不失效;§124 CL-1 / CL-3)· `mcpEngineLegConnectionOf`(0.95.0 CC-325:引擎托管 MCP 连接态三态读口 —— 只读这条腿 `wiring_manifest.mcp[]` 这一台的 `status`,与活性读口共用按名找行;§122 SB-3)· 🔧 0.95.0 退出公面:逐只失效口 `forget*Reading` 二十六只(逐名见 §2z;§122 RX-2;换代失效只剩 `invalidateEngineCaps`)· `REWIND_MODES`(0.95.0 CC-466:回退档位词唯一运行期元组,`RewindMode` 由它派生,投影口 `rewindSpecForMode` 与座位回退载体同读;§122 WB-6)· `agentToolListFlaws` / `__`(0.94.0 SV / SP2)· `projectCallerCwdCapability` / `noteEngineCapsForCallerCwd`(0.96.0 退出公面) / `observedCallerCwd` / `callerCwdAdmitted`(0.94.0 CC-313:能力位 `callerCwd` 读器,工厂族第二十九只;§121 RP-2)· `deviceLaneOpen`(0.93.0 CC-454:device 车道开没开的三态判据单源 —— 与 `deviceManagementVerbsAvailable`〔管理动词能不能用〕分开答两问,读数来自同一只 `deviceExecutor` 读器的 `present` / `lane_absent`;§119)· `projectApprovalDecidedByCapability` / `noteEngineCapsForApprovalDecidedBy` / `observedApprovalDecidedBy` / `approvalDecidedByAdmitted`(0.93.0 CC-403:审批决定口出处键 `approvalDecidedBy` 位的三态读面 + 判据单源;§119)· `projectPermissionModesCapability` / `noteEngineCapsForPermissionModes`(0.96.0 退出公面) / `observedPermissionModes` / `permissionModeAdmitted`(0.93.0 CC-451 ③:请求面权限模式词表 `permissionModes` 的三态读面 + 判据单源,`dontAsk` 按位发词;§119)· `projectSteerPriorityCapability` / `noteEngineCapsForSteerPriority` / `observedSteerPriority` / `steerPriorityMode` / `steerPriorityDoctorDetail`(0.92.0 CC-374:`fleet.steerPriority` 三态读面,开集收词、判据只认精确的 engine / advisory;唯一用处是 steer 体铸点判 `now` / `later` 能不能进体;§118)· `projectSessionSyncFileHistoryCapability` / `projectWorkflowsJournalCapability` / `projectUserInvokedSkillsCapability` / `projectSkillToolListsCapability` 四族(0.92.0 CC-371:四只能力位四态读器,各带 tee / 读口 / 三态判据 / doctor 句 / 失效口;§118)· `hookMatcherRefusalFromError`(0.91.0 CC-339:hooks matcher 别名拒的事后读口 —— 服务端 7.115.0 起 400 体 `field: "settings.hooks"` 时交出 `detail` 的 `{ event, alias, canonical }`,老服务端 / 坏形 `undefined`、不读句子;§117)· `hookMatcherVerdict`(0.91.0 CC-306:hooks matcher 受理判定 —— 工具事件的 matcher 选中工具别名而选不中正名 ⇒ `refused`,读法与服务端受理面同一套,别名表读同一张生成表;正则形先过静态回溯上界,判不了落 `unjudged`、不是受理;§117)· `noteEngineCapsForAttachmentSeat` / `observedAttachmentSeat`(0.91.0 CC-315 ③:附件席位能力位读器,今天恒 `not_reported`,`present` 臂候引擎席位到货;§117)· `AttachmentsSpecRefused`(0.90.0 CC-316:`attachments` 声明被拒时 `SEMA_ATTACHMENTS` 与请求装配两处抛的同一个具名类,`TypeError` 的子类;自有位 `token` / `why` / `allowed` / `key?`;§116)· `canonicalHookToolName` / `hookToolAliasesOf`(0.90.0 CC-298:hooks matcher 的工具别名读口,别名 → 引擎内置工具规范名,表由构建期从已装引擎的静态工具目录生成、不手抄;只含内置工具的别名;§116)· `projectPermissionsAllowGrantCapability` / `noteEngineCapsForPermissionsAllowGrant` / `observedPermissionsAllowGrant` + `permissionsAllowGrantAvailable` / `permissionsAllowGrantDoctorDetail`(0.90.0 CC-302:「allow 规则按放行规则编」能力位三态读器 + 判据单源 + doctor 句;位名候定;§116)· `settingsHooksKeptLocally`(0.89.0 CC-287:hooks 设置来源条目的本端跳过口,按 matcher + 条目身份对照计划的请求体,判给引擎的不跑;§115)· `projectStorePostureCapability` / `noteEngineCapsForStorePosture`(0.96.0 退出公面) / `observedStorePosture` + `storePersistence` / `storePostureDoctorDetail`(0.86.0 CC-250:caps `store` 存储姿态四态读口与读账、持久判据三值、doctor 一行;键缺席 = 老引擎没报,不是「不持久」;§112)· `projectCenterWiringCapability` / `noteEngineCapsForCenterWiring`(0.96.0 退出公面) / `observedCenterWiring` + `callerQuotaLease` / `centerWiringDoctorDetail`(0.86.0 CC-250:caps `centerWiring` 中心接线读口,缺席按同体 `store` 分 `none` / `not_reported`,调用方租约六词判决,doctor 一行;§112)· `noOsSandboxOnThisHost` / `noOsSandboxContent` / `projectExecutionLaneWiring`(0.86.0 CC-256:`executionLane.isolated` 读进车道读数后的「本机无 OS 沙箱」三值判定与那一句,operator 诊断面车道段同一份判据;§112)· `projectSealedKeyCapability` / `noteEngineCapsForSealedKey`(0.96.0 退出公面) / `observedSealedKey`(0.85.0 CC-243:能力面公钥发现段 `sealedKey` 的四态读口与读账,只出公钥三键、键缺席 = 不要封;§109)· `hooksWirePlan` / `pluginHookVerdictOf` / `hooksNotRunNotice` / `pluginHookExecutorLabel` / `pluginHookReasonText` / `settingsHookDropText` / `isEngineFiredHookEvent` + `ENGINE_FIRED_HOOK_EVENTS` / `PLUGIN_HOOK_DISPOSITIONS` / `PLUGIN_HOOK_REASONS` / `PLUGIN_HOOK_EXCLUSION_REASONS` / `SETTINGS_HOOK_DROP_REASONS`(0.83.1 CC-174:插件 hook 每轮计划 —— 逐条判「投给引擎 / 本客户端执行 / 如实不跑」,请求体 hooks 与本地跳过用同一份,开机「不会执行」清单与 `/hooks` 标注措辞单源,五张闭集;读口是 `SettingsPort` 的可选成员 `enabledPluginHooks`(型面,不计名数);§101)· `invalidateTaskAgentsWire`(0.82.1 CC-161:自定义代理载荷作废并重投,就绪门等最新一代,§93 S-14)· `projectFileHistoryCaptureCapability` / `noteEngineCapsForFileHistoryCapture` / `observedFileHistoryCapture` / `fileHistoryCaptureMode` / `fileHistoryCaptureDoctorDetail`(0.82.1 CC-163:`capabilities.fileHistoryCapture` 四态读口 + 判据 + 措辞单源;§93)· `observedRewindArchive` / `rewindCodeArchiveAvailability` / `rewindConversationAvailability` / `rewindArchiveDoctorDetail` / `rewindConversationDoctorDetail`(0.82.0 CC-146:`/rewind` 代码档与对话档可用性四位窄读口 + 端判据三态 + 措辞单源,替掉壳侧「本地备份表非空」那条判据;§92)· `mcpEngineLegLivenessOf` / `mcpDetailLegNote` / `isMcpLivenessState`(0.80.0 CC-134:引擎腿活性六档读口 + 九句范围说明铸点 + 活性三词判据上公面;§87)· `projectMcpProbeCapability` / `noteEngineCapsForMcpProbe`(0.96.0 退出公面) / `observedMcpProbe` / `mcpProbeAvailable` / `mcpProbeDoctorDetail`(0.79.0 CC-74:`capabilities.mcpProbe` 四态读口 + 「这次调用要不要上 wire」三态 + doctor 句;§85)· `projectSessionPolicyCapability` / `observedSessionPolicy` / `sessionPolicyFaceAvailable`(0.77.0 CC-105:`capabilities.sessionPolicy` 四态读口 + 渲不渲写入口三态;§79)· `projectMemoryComplianceCapability` / `memoryComplianceVerbsAvailable` · `projectMemoryOriginCapability` / `memoryOriginVerbsAvailable`(0.76.1 CC-97a:`capabilities.memoryCompliance` / `memoryOrigin` 两只四态读口,同判据不同位、各持一张表;§77)· `projectPeerLaneCapability` / `observedPeerLane` / `peerLaneAvailable`(0.76.1 CC-102:`capabilities.peerLane` 四态读口 + 露不露跨会话入口的三态判据;非 HTTP 面)· `projectPermissionRulesWriteCapability` / `observedPermissionRulesWrite` / `permissionRulesWriteAvailable`(0.76.1 CC-102:`capabilities.permissionRulesWrite` 四态读口 —— 键缺席 = 二进制比单步写口老、藏入口;在场按本键的值判这次够不够得着;§77)· `projectDeviceExecutorManagementCapability` / `noteEngineCapsForDeviceExecutorManagement` / `observedDeviceExecutorManagement` / `deviceExecutorManagementDoctorDetail` / `deviceManagementVerbsAvailable`(0.74.2 CC-69;§70)· `projectApprovalsStreamLiveCapability` / `noteEngineCapsForApprovalsStreamLive` / `observedApprovalsStreamLive` / `approvalsStreamLiveDoctorDetail` / `livePendingNeedsReconcile`(0.73.3 CC-61;§65)· `projectExecutionLaneCapability` / `noteEngineCapsForExecutionLane` / `observedExecutionLane` / `executionLaneDoctorDetail` / `toolsRunHereFromExecutionLane`(0.72.13 CC-54:`capabilities.executionLane` 四态读面,键缺席 ≠ 不是本机车道;§60)· `AGENT_MEMORY_WORDS`(0.72.3 CC-39①:`memory: user|project|local` 三词;`projectAgentsForWire` 把它们同映射为 `agents[].memory = { scopes:[agent:<type>], writeScope }`;§50)· `skillBaseDirOf`(0.72.1 CC-33:`SkillSpec.baseDir` 窄读 = server 顶层门同一只结构判据;`skillCommandsToSpecs` 第三参 `{ toolsRunHere }` 只在本机车道带;§48)· `projectAgentsForWire` / `awaitTaskAgentsWire` · `hooksForWire` · `mcpConfigsToSpecs` · `ultracodeForRequest` · `buildWebSearchEnv`(`resolveWebSearch` 🔧 0.83.0 退出公面,换读域 15 的 `resolveWebSearchVerdict`) · `attachmentsForRequest` · `projectEffectiveBody` · `classifySelfOrchestrationRefusal` / `stripSelfOrchestrationIntent` / `projectWorkflowsGate` / `SELF_ORCHESTRATION_RETRY_WITHOUT`(S-81,server 7.57.0:上面两条 stamp 腿的**背面** —— 半配置多租户形态下 server 把带 `selfOrchestration` / `settings.ultracode` 的提交 501 拒掉,判型/去键/caps 闸三处都是判定不是文案,详见 §13) · `engineCapsGeneration`(0.60.0,异源对抗复审 [medium] 逼出:caps 探测的**当代号**读口 —— 代际闸在 probe **返回之后**才跑,而宿主的读面 tee 是在 probe **内部**落地的 ⇒ 一次慢的旧探测能把上一台引擎的读数写回来。宿主在**起探测那一刻**抓号、tee 时交回 `{generation}`,陈旧那一发整只丢掉;不传 = 逐字节同行为,详见 §24e)| 逐功能的「引擎有没有这个能力 + 这个字段怎么上 wire」投影器,由 `buildTaskRequest` 组装。🔴 `hooksForWire()` 是 **fail-closed**:无 `SettingsPort` ⇒ 返回 `undefined`(信任门,不是取值) | 17 个 `src/*WireCaps.ts` + `src/scratchpadWireCaps.ts`、`src/hooksWireCaps.ts`、`src/goalStopHook.ts`、`src/websearch/searchProviderPresets.ts`、`src/selfOrchestrationDenial.ts`(S-81 拒绝判定层)、`src/pluginHooksWire.ts`(0.83.1 CC-174:插件 hook 判定 / 措辞 / 闭集,经 `src/hooksWireCaps.ts` 编排)、`src/hookToolAliases.ts`(0.90.0 CC-298:hooks matcher 工具别名读口;表是生成物 `src/generated/engineFactTables.ts` 的 `CORE_HOOK_TOOL_ALIASES`) |
207
+ | 7 | **通知与 outstanding 台账** | 50 | `noteOwnWorkflowRun`(0.72.2 CC-37:own 台账显式登记口,adapter workflow lane 门在 own-run 正向证明下同拍调;§49)· `installNotificationQueuePort` · `normalizeTaskNotification` · `taskNotificationDedupKeyFromWire` · `registerOutstandingBgTask` / `registerOutstandingWorkflowRun` · `notificationQueuePortMisses` · `subscribeOutstandingWorkflows` · `outstandingDeliverableWorkflowCount` | `task_notification` 归一 + 去重 + 投递进宿主命令队列的**一把闸**;`outstandingDeliverableWorkflowCount()` 是 headless `-p` 的**退出门** · `classifyPeerNotification` / `renderPeerFrameTranscriptText` / `parsePeerFrameText` / `peerFrameDisplayName` + 三张闭集表(design/385,0.54.0:同一条 `task_notification` 车道上三条**引擎注入帧**的类型化投影 —— 判别位=载体在场而非 summary 文本,详见 §17) | `src/notifications.ts`(11 个 module 台账) |
208
+ | 9 | **能力/旋钮 wire 门族** | 229 | 0.98.0(TK 行,§126)−4 常量(`MAX_AGENT_TOOLS` / `MAX_AGENT_TOOL_NAME_CHARS` / `MAX_AGENT_NAME_CHARS` / `MAX_AGENT_MAX_TURNS` 均已退出公面:服务端代理受理口帽的手抄,TK-6)· 0.98.0(RB 行,§126)−16 函数(十六只能力位读器的探测闭包 tee 口退出根入口,逐名见 §2z)· 0.98.0(CP 行,§126)+4 函数(`observedInheritEnvOwnCredentialsWithheld` / `inheritEnvIntentOf` / `inheritEnvNotConfirmedNotice` / `inheritEnvNoticeOf`:`inheritEnv` 能力词读器、交互车道意图判定与告知句,CC-747)· `engineToolDirectoryOf` / `excludeToolsAgainstDirectory`(0.98.0 退出公面)(0.97.1 CC-729 / CC-730:本跑声明的 MCP 服务器读口〔三态〕与 run 级 excludeTools 判官;代理工具清单只投这一跑里可能有工具应答的名;§125 AD-3 / AD-4)· `engineCapsLandingOf` / `rotateEngineCapsProbe`(0.97.0 CC-690 / CC-692:整份能力位读数三态〔取落地的唯一读法,缺键极性在它的型注上成文〕/ 同一台引擎换探测闭包时更新重探登记而不失效;§124 CL-1 / CL-3)· `mcpEngineLegConnectionOf`(0.95.0 CC-325:引擎托管 MCP 连接态三态读口 —— 只读这条腿 `wiring_manifest.mcp[]` 这一台的 `status`,与活性读口共用按名找行;§122 SB-3)· 🔧 0.95.0 退出公面:逐只失效口 `forget*Reading` 二十六只(逐名见 §2z;§122 RX-2;换代失效只剩 `invalidateEngineCaps`)· `REWIND_MODES`(0.95.0 CC-466:回退档位词唯一运行期元组,`RewindMode` 由它派生,投影口 `rewindSpecForMode` 与座位回退载体同读;§122 WB-6)· `agentToolListFlaws` / `__`(0.94.0 SV / SP2)· `projectCallerCwdCapability` / `noteEngineCapsForCallerCwd`(0.96.0 退出公面) / `observedCallerCwd` / `callerCwdAdmitted`(0.94.0 CC-313:能力位 `callerCwd` 读器,工厂族第二十九只;§121 RP-2)· `deviceLaneOpen`(0.93.0 CC-454:device 车道开没开的三态判据单源 —— 与 `deviceManagementVerbsAvailable`〔管理动词能不能用〕分开答两问,读数来自同一只 `deviceExecutor` 读器的 `present` / `lane_absent`;§119)· `projectApprovalDecidedByCapability` / `noteEngineCapsForApprovalDecidedBy`(0.98.0 退出公面) / `observedApprovalDecidedBy` / `approvalDecidedByAdmitted`(0.93.0 CC-403:审批决定口出处键 `approvalDecidedBy` 位的三态读面 + 判据单源;§119)· `projectPermissionModesCapability` / `noteEngineCapsForPermissionModes`(0.96.0 退出公面) / `observedPermissionModes` / `permissionModeAdmitted`(0.93.0 CC-451 ③:请求面权限模式词表 `permissionModes` 的三态读面 + 判据单源,`dontAsk` 按位发词;§119)· `projectSteerPriorityCapability` / `noteEngineCapsForSteerPriority`(0.98.0 退出公面) / `observedSteerPriority` / `steerPriorityMode` / `steerPriorityDoctorDetail`(0.92.0 CC-374:`fleet.steerPriority` 三态读面,开集收词、判据只认精确的 engine / advisory;唯一用处是 steer 体铸点判 `now` / `later` 能不能进体;§118)· `projectSessionSyncFileHistoryCapability` / `projectWorkflowsJournalCapability` / `projectUserInvokedSkillsCapability` / `projectSkillToolListsCapability` 四族(0.92.0 CC-371:四只能力位四态读器,各带 tee / 读口 / 三态判据 / doctor 句 / 失效口;§118)· `hookMatcherRefusalFromError`(0.91.0 CC-339:hooks matcher 别名拒的事后读口 —— 服务端 7.115.0 起 400 体 `field: "settings.hooks"` 时交出 `detail` 的 `{ event, alias, canonical }`,老服务端 / 坏形 `undefined`、不读句子;§117)· `hookMatcherVerdict`(0.91.0 CC-306:hooks matcher 受理判定 —— 工具事件的 matcher 选中工具别名而选不中正名 ⇒ `refused`,读法与服务端受理面同一套,别名表读同一张生成表;正则形先过静态回溯上界,判不了落 `unjudged`、不是受理;§117)· `noteEngineCapsForAttachmentSeat`(0.98.0 退出公面,RL-41) / `observedAttachmentSeat`(0.98.0 退出公面,RL-41)(0.91.0 CC-315 ③:附件席位能力位读器,今天恒 `not_reported`,`present` 臂候引擎席位到货;§117)· `AttachmentsSpecRefused`(0.90.0 CC-316:`attachments` 声明被拒时 `SEMA_ATTACHMENTS` 与请求装配两处抛的同一个具名类,`TypeError` 的子类;自有位 `token` / `why` / `allowed` / `key?`;§116)· `canonicalHookToolName` / `hookToolAliasesOf`(0.90.0 CC-298:hooks matcher 的工具别名读口,别名 → 引擎内置工具规范名,表由构建期从已装引擎的静态工具目录生成、不手抄;只含内置工具的别名;§116)· `projectPermissionsAllowGrantCapability` / `noteEngineCapsForPermissionsAllowGrant`(0.98.0 退出公面) / `observedPermissionsAllowGrant` + `permissionsAllowGrantAvailable` / `permissionsAllowGrantDoctorDetail`(0.90.0 CC-302:「allow 规则按放行规则编」能力位三态读器 + 判据单源 + doctor 句;位名候定;§116)· `settingsHooksKeptLocally`(0.89.0 CC-287:hooks 设置来源条目的本端跳过口,按 matcher + 条目身份对照计划的请求体,判给引擎的不跑;§115)· `projectStorePostureCapability` / `noteEngineCapsForStorePosture`(0.96.0 退出公面) / `observedStorePosture` + `storePersistence` / `storePostureDoctorDetail`(0.86.0 CC-250:caps `store` 存储姿态四态读口与读账、持久判据三值、doctor 一行;键缺席 = 老引擎没报,不是「不持久」;§112)· `projectCenterWiringCapability` / `noteEngineCapsForCenterWiring`(0.96.0 退出公面) / `observedCenterWiring` + `callerQuotaLease` / `centerWiringDoctorDetail`(0.86.0 CC-250:caps `centerWiring` 中心接线读口,缺席按同体 `store` 分 `none` / `not_reported`,调用方租约六词判决,doctor 一行;§112)· `noOsSandboxOnThisHost` / `noOsSandboxContent` / `projectExecutionLaneWiring`(0.86.0 CC-256:`executionLane.isolated` 读进车道读数后的「本机无 OS 沙箱」三值判定与那一句,operator 诊断面车道段同一份判据;§112)· `projectSealedKeyCapability` / `noteEngineCapsForSealedKey`(0.96.0 退出公面) / `observedSealedKey`(0.85.0 CC-243:能力面公钥发现段 `sealedKey` 的四态读口与读账,只出公钥三键、键缺席 = 不要封;§109)· `hooksWirePlan` / `pluginHookVerdictOf` / `hooksNotRunNotice` / `pluginHookExecutorLabel` / `pluginHookReasonText` / `settingsHookDropText` / `isEngineFiredHookEvent` + `ENGINE_FIRED_HOOK_EVENTS` / `PLUGIN_HOOK_DISPOSITIONS` / `PLUGIN_HOOK_REASONS` / `PLUGIN_HOOK_EXCLUSION_REASONS` / `SETTINGS_HOOK_DROP_REASONS`(0.83.1 CC-174:插件 hook 每轮计划 —— 逐条判「投给引擎 / 本客户端执行 / 如实不跑」,请求体 hooks 与本地跳过用同一份,开机「不会执行」清单与 `/hooks` 标注措辞单源,五张闭集;读口是 `SettingsPort` 的可选成员 `enabledPluginHooks`(型面,不计名数);§101)· `invalidateTaskAgentsWire`(0.82.1 CC-161:自定义代理载荷作废并重投,就绪门等最新一代,§93 S-14)· `projectFileHistoryCaptureCapability` / `noteEngineCapsForFileHistoryCapture`(0.98.0 退出公面) / `observedFileHistoryCapture` / `fileHistoryCaptureMode` / `fileHistoryCaptureDoctorDetail`(0.82.1 CC-163:`capabilities.fileHistoryCapture` 四态读口 + 判据 + 措辞单源;§93)· `observedRewindArchive` / `rewindCodeArchiveAvailability` / `rewindConversationAvailability` / `rewindArchiveDoctorDetail` / `rewindConversationDoctorDetail`(0.82.0 CC-146:`/rewind` 代码档与对话档可用性四位窄读口 + 端判据三态 + 措辞单源,替掉壳侧「本地备份表非空」那条判据;§92)· `mcpEngineLegLivenessOf` / `mcpDetailLegNote` / `isMcpLivenessState`(0.80.0 CC-134:引擎腿活性六档读口 + 九句范围说明铸点 + 活性三词判据上公面;§87)· `projectMcpProbeCapability` / `noteEngineCapsForMcpProbe`(0.96.0 退出公面) / `observedMcpProbe` / `mcpProbeAvailable` / `mcpProbeDoctorDetail`(0.79.0 CC-74:`capabilities.mcpProbe` 四态读口 + 「这次调用要不要上 wire」三态 + doctor 句;§85)· `projectSessionPolicyCapability` / `observedSessionPolicy` / `sessionPolicyFaceAvailable`(0.77.0 CC-105:`capabilities.sessionPolicy` 四态读口 + 渲不渲写入口三态;§79)· `projectMemoryComplianceCapability` / `memoryComplianceVerbsAvailable` · `projectMemoryOriginCapability` / `memoryOriginVerbsAvailable`(0.76.1 CC-97a:`capabilities.memoryCompliance` / `memoryOrigin` 两只四态读口,同判据不同位、各持一张表;§77)· `projectPeerLaneCapability` / `observedPeerLane` / `peerLaneAvailable`(0.76.1 CC-102:`capabilities.peerLane` 四态读口 + 露不露跨会话入口的三态判据;非 HTTP 面)· `projectPermissionRulesWriteCapability` / `observedPermissionRulesWrite` / `permissionRulesWriteAvailable`(0.76.1 CC-102:`capabilities.permissionRulesWrite` 四态读口 —— 键缺席 = 二进制比单步写口老、藏入口;在场按本键的值判这次够不够得着;§77)· `projectDeviceExecutorManagementCapability` / `noteEngineCapsForDeviceExecutorManagement`(0.98.0 退出公面) / `observedDeviceExecutorManagement` / `deviceExecutorManagementDoctorDetail` / `deviceManagementVerbsAvailable`(0.74.2 CC-69;§70)· `projectApprovalsStreamLiveCapability` / `noteEngineCapsForApprovalsStreamLive`(0.98.0 退出公面) / `observedApprovalsStreamLive` / `approvalsStreamLiveDoctorDetail` / `livePendingNeedsReconcile`(0.73.3 CC-61;§65)· `projectExecutionLaneCapability` / `noteEngineCapsForExecutionLane`(0.98.0 退出公面) / `observedExecutionLane` / `executionLaneDoctorDetail` / `toolsRunHereFromExecutionLane`(0.72.13 CC-54:`capabilities.executionLane` 四态读面,键缺席 ≠ 不是本机车道;§60)· `AGENT_MEMORY_WORDS`(0.72.3 CC-39①:`memory: user|project|local` 三词;`projectAgentsForWire` 把它们同映射为 `agents[].memory = { scopes:[agent:<type>], writeScope }`;§50)· `skillBaseDirOf`(0.72.1 CC-33:`SkillSpec.baseDir` 窄读 = server 顶层门同一只结构判据;`skillCommandsToSpecs` 第三参 `{ toolsRunHere }` 只在本机车道带;§48)· `projectAgentsForWire` / `awaitTaskAgentsWire` · `hooksForWire` · `mcpConfigsToSpecs` · `ultracodeForRequest` · `buildWebSearchEnv`(`resolveWebSearch` 🔧 0.83.0 退出公面,换读域 15 的 `resolveWebSearchVerdict`) · `attachmentsForRequest` · `projectEffectiveBody` · `classifySelfOrchestrationRefusal` / `stripSelfOrchestrationIntent` / `projectWorkflowsGate` / `SELF_ORCHESTRATION_RETRY_WITHOUT`(S-81,server 7.57.0:上面两条 stamp 腿的**背面** —— 半配置多租户形态下 server 把带 `selfOrchestration` / `settings.ultracode` 的提交 501 拒掉,判型/去键/caps 闸三处都是判定不是文案,详见 §13) · `engineCapsGeneration`(0.60.0,异源对抗复审 [medium] 逼出:caps 探测的**当代号**读口 —— 代际闸在 probe **返回之后**才跑,而宿主的读面 tee 是在 probe **内部**落地的 ⇒ 一次慢的旧探测能把上一台引擎的读数写回来。宿主在**起探测那一刻**抓号、tee 时交回 `{generation}`,陈旧那一发整只丢掉;不传 = 逐字节同行为,详见 §24e)| 逐功能的「引擎有没有这个能力 + 这个字段怎么上 wire」投影器,由 `buildTaskRequest` 组装。🔴 `hooksForWire()` 是 **fail-closed**:无 `SettingsPort` ⇒ 返回 `undefined`(信任门,不是取值) | 17 个 `src/*WireCaps.ts` + `src/scratchpadWireCaps.ts`、`src/hooksWireCaps.ts`、`src/goalStopHook.ts`、`src/websearch/searchProviderPresets.ts`、`src/selfOrchestrationDenial.ts`(S-81 拒绝判定层)、`src/pluginHooksWire.ts`(0.83.1 CC-174:插件 hook 判定 / 措辞 / 闭集,经 `src/hooksWireCaps.ts` 编排)、`src/hookToolAliases.ts`(0.90.0 CC-298:hooks matcher 工具别名读口;表是生成物 `src/generated/engineFactTables.ts` 的 `CORE_HOOK_TOOL_ALIASES`) |
209
209
 
210
- | 8 | **工具结果卡** | 32 | `readToolCardOutcome`(0.97.0 CC-697:工具结果卡「结局」读口 —— 占位标记 / 引擎明说没执行 / 真结果 三态 + 成因 + 一句话,两车道同答;§124 NC-2)· `CORE_SEMA_TASK_TERMINAL_STATUSES` / `isCoreSemaTaskTerminal`(0.95.0 CC-78:TaskOutput 卡 / 登记任务的终态分区;§122 TW-1)· `detectEngineBgShellDetach`(0.93.0 CC-331:交出后台的引擎 Bash 的登记判读口 —— 只读结构化 `detached` 位,与回执臂同一只登记体、同一条 chrome 臂 `bgshell_register`;一张卡至多一条;§119)· `findSystemReminderOpenTag`(0.84.1 CC-210:开标签定位口,与剥离 / 解包同一个判定,文法常量不上公面;§108)· `stripSystemReminderBlocks` / `unwrapSystemReminder`(0.83.4 CC-205:引擎 `<system-reminder>` 信封壳的剥离与整条解包,开标签只认引擎铸的两形,线性时间;§104)· `displayBody`(0.78.1 CC-113:工具结果正文的人类面读口,剥本包铸的不可信围栏,三形互不折叠;§83)· `structuredToToolUseResult` · `readAsyncLaunchedAgentReceipt` · `wireOutputToBody` · `parseModelFacingBash` · `getPatchFromContents` · `toolEndResultToUserFrame` · `flattenToolOutput` | 铸端要渲的 `tool_result` 卡体,含客户端 diff hunk(唯一 runtime dep 的用处) | `src/toolResult.ts`、`src/printToolResultFrame.ts`、`src/diff/patch.ts` |
210
+ | 8 | **工具结果卡** | 34 | `toolResultRowFlagsOf`(0.98.0 CC-675:工具结果行四件行级事实的唯一读口;§126 SC-6)· `toolKillCauseAcrossEngineIdentity`(0.98.0 CC-714:退出码 137 的归因句里「引擎在这只调用跑着时换代了」的成因读数薄壳 —— 两侧代际锚按 `engineIdentityVerdict` 判 `changed` 才答 `'engine_restarted'`,判不出答缺席;宿主放进适配上下文的 `toolKillCause`;§126 GT-2)· `readToolCardOutcome`(0.97.0 CC-697:工具结果卡「结局」读口 —— 占位标记 / 引擎明说没执行 / 真结果 三态 + 成因 + 一句话,两车道同答;§124 NC-2)· `CORE_SEMA_TASK_TERMINAL_STATUSES` / `isCoreSemaTaskTerminal`(0.95.0 CC-78:TaskOutput 卡 / 登记任务的终态分区;§122 TW-1)· `detectEngineBgShellDetach`(0.93.0 CC-331:交出后台的引擎 Bash 的登记判读口 —— 只读结构化 `detached` 位,与回执臂同一只登记体、同一条 chrome 臂 `bgshell_register`;一张卡至多一条;§119)· `findSystemReminderOpenTag`(0.84.1 CC-210:开标签定位口,与剥离 / 解包同一个判定,文法常量不上公面;§108)· `stripSystemReminderBlocks` / `unwrapSystemReminder`(0.83.4 CC-205:引擎 `<system-reminder>` 信封壳的剥离与整条解包,开标签只认引擎铸的两形,线性时间;§104)· `displayBody`(0.78.1 CC-113:工具结果正文的人类面读口,剥本包铸的不可信围栏,三形互不折叠;§83)· `structuredToToolUseResult` · `readAsyncLaunchedAgentReceipt` · `wireOutputToBody` · `parseModelFacingBash` · `getPatchFromContents` · `toolEndResultToUserFrame` · `flattenToolOutput` | 铸端要渲的 `tool_result` 卡体,含客户端 diff hunk(唯一 runtime dep 的用处) | `src/toolResult.ts`、`src/printToolResultFrame.ts`、`src/diff/patch.ts` |
211
211
 
212
- | 10 | **headless / 部署旋钮 wire** | 57 | `isDetachDurableOff400`(0.84.1 CC-219:detach durable-off 400 纯判定,不带进程门,只认锚句不认码,一律不抛;§108)· `lastFlagValue`(0.74.3 CC-80:argv 末次旗值扫描原语上公面;§71)· `parseSandboxArgv` / `sandboxRequestFields` · `parseLimitsArgv` / `limitsForPrint` · `resolveHeadlessFinalVerify` · `resolveHeadlessPermissionMode` · `resolveHeadlessInteractiveTools` · `armDetachCancel` + `detachCancelArm` + `isDetachArmed` · `withHeadlessR1Reconnect`(0.93.0:limits / detach 两只引擎版本门与 `/health` 探测八名退出公面,`resolveHeadlessDetach` 只剩 env 一道〔§119 RT-5〕) | `-p`/headless 车道的 env+argv 旋钮。🔴 `detachWire` 是**拆**的补偿:判定与 cancel-arm 台账在库,信号路径的裸 fetch 留宿主(`detachCancelArm()` 是取件口) | `src/sandboxWire.ts`、`scenarioWire.ts`、`finalVerifyWire.ts`、`limitsWire.ts`、`interactiveToolsWire.ts`、`headlessPermissionModeWire.ts`、`headlessReconnectWire.ts`、`detachWire.ts` |
212
+ | 10 | **headless / 部署旋钮 wire** | 58 | `isDetachDurableOff400`(0.84.1 CC-219:detach durable-off 400 纯判定,不带进程门,只认锚句不认码,一律不抛;§108)· `lastFlagValue`(0.74.3 CC-80:argv 末次旗值扫描原语上公面;§71)· `parseSandboxArgv` / `sandboxRequestFields` · `parseLimitsArgv` / `limitsForPrint` · `resolveHeadlessFinalVerify` · `resolveHeadlessPermissionMode` · `resolveHeadlessInteractiveTools` · `armDetachCancel` + `detachCancelArm` + `isDetachArmed` · `withHeadlessR1Reconnect`(0.93.0:limits / detach 两只引擎版本门与 `/health` 探测八名退出公面,`resolveHeadlessDetach` 只剩 env 一道〔§119 RT-5〕) | `-p`/headless 车道的 env+argv 旋钮。🔴 `detachWire` 是**拆**的补偿:判定与 cancel-arm 台账在库,信号路径的裸 fetch 留宿主(`detachCancelArm()` 是取件口) | `src/sandboxWire.ts`、`scenarioWire.ts`、`finalVerifyWire.ts`、`limitsWire.ts`、`interactiveToolsWire.ts`、`headlessPermissionModeWire.ts`、`headlessReconnectWire.ts`、`detachWire.ts` |
213
213
 
214
- | 11 | **模型目录与预算** | 98 | 0.97.0(PK 行,§124)+2 函数(`modelCandidateRejectedOf` / `modelCandidateRejectedContent`:配置候选被整拒的三态读口与措辞)· `modelSwitchProbeOutcomeOf` / `runModelSwitchProbe` / `createModelSwitchFallbackLedger`(0.95.0 CC-324:切模型探活结果分型与编排、切换后首发空流的按会话回落台账;§122 SB-4)· `readUsageAnalytics` / `projectUsageAnalytics` / `readUsageSummary` / `readUsageSeries` / `readUsageBreakdown` / `projectUsageSummary` / `projectUsageSeries` / `projectUsageBreakdown` / `classifyUsageFailure` / `usageBoundPrefix` / `usageWindowOfRange` / `USAGE_SENTENCES` / `USAGE_HEATMAP_MAX_DAYS`(0.95.0 CC-511:引擎用量分析 `GET /v1/usage/summary` · `series` · `breakdown` 三口读器 + 四次读合一张的三态卡 + 用户面四句单源;缺席位不编 0、读失败 ≠ 引擎没有这一面;§122 RD-2)· `readLiveModelCatalog` / `liveDefaultModelOf` / `atMentionOf` / `modelCompatOf` / `liveModelRowsOf`(0.95.0 CC-465:`GET /v1/models` 回体的唯一读口 + 缺省模型〔服务端答案,只读 `defaultModel`,绝不取第一行〕+ @ 三态 + 兼容声明三态 + 行视图;§122 WB-1 – WB-3)· `droppedModelEntriesOf`(0.95.0 CC-540 A:在线目录里哪些条目没被收下、为什么 —— 键缺席读成 `not_reported`、不编空数组;§122 UP-1)· `modelIdentityResolvability` / `modelIdentityDetail` / `modelSetupDecision` / `modelSetupNotice` / `observedEngineAnswer`(0.82.1 CC-151:「引擎启动时拿不拿得到模型名」三态判据 + 向导两位决策 + 措辞单源,§93 S-11)· `routePairingVerdict`(0.71.3 CC-06:`ModelInfo.routePairing` ok / broken / unknown 三态读口,§45)· `resolveModelCatalog` · `loadCatalogWithSources` · `PROVIDER_PRESETS` / `MODEL_FAMILIES` · `defaultMaxTokensFor` · `getLiveModelCatalog` / `setLiveModelCatalogRefresher` · `providerAuthMethods` / `beginDeviceCodeAuth` · `providerCatalogRows` / `providerCatalogRowDetail` / `providerPresetById`(#244 F4 族D A-028.17:46 家表的规范折表层 —— 全表不重排、诚实缺席「model id typed in」,cli 目录/web 向导同一份折表)· `TIER_ORDER` / `CC_TIER_ALIASES` / `isTier` / `resolveTierBinding`(A-028.18:档位词表+校验+fail-open 降档派生单源;settings 存储归宿主)· `resolveEntryVision` / `computeDeleteBlockers` / `computeDeleteWarnings`(0.38.0 #318 件③ 上收:Model Hub 供给面的三端公共判定 —— vision 生效值+来源三态、删除断链核(拒删+指路)、删除降级后果(照删但必说)。**零 IO**,读盘那半场留各端;`doc === null` 的两义在调用方分流) | 三层 provider 目录解析(线上 URL → 包内预设 → 用户覆盖)+ per-model `maxTokens` 封顶。线上腿需注入 `CatalogFetchJson`,缺席 ⇒ 整条不启用(`online.reason='no-fetch-port'`);缓存落盘经 `CatalogCachePort` | `src/model/{catalog,catalogLoader,providerAuth,providerPresets,providerCatalog,tierVocabulary}.ts`、`src/liveModelCatalog.ts`、`src/modelBudgetRule.ts`、`src/sessionModelLatch.ts`、`src/effortWire.ts` |
214
+ | 11 | **模型目录与预算** | 100 | 0.98.0(TX 行,§126)+2 函数(`resolveSubagentModelWord` / `subagentModelWordProblemLine`:子代理模型词 → 请求体的词 + 落点预览,与落不了点 / 多义时的一句;TX-5 / TX-6)· 0.97.0(PK 行,§124)+2 函数(`modelCandidateRejectedOf` / `modelCandidateRejectedContent`:配置候选被整拒的三态读口与措辞)· `modelSwitchProbeOutcomeOf` / `runModelSwitchProbe` / `createModelSwitchFallbackLedger`(0.95.0 CC-324:切模型探活结果分型与编排、切换后首发空流的按会话回落台账;§122 SB-4)· `readUsageAnalytics` / `projectUsageAnalytics` / `readUsageSummary` / `readUsageSeries` / `readUsageBreakdown` / `projectUsageSummary` / `projectUsageSeries` / `projectUsageBreakdown` / `classifyUsageFailure` / `usageBoundPrefix` / `usageWindowOfRange` / `USAGE_SENTENCES` / `USAGE_HEATMAP_MAX_DAYS`(0.95.0 CC-511:引擎用量分析 `GET /v1/usage/summary` · `series` · `breakdown` 三口读器 + 四次读合一张的三态卡 + 用户面四句单源;缺席位不编 0、读失败 ≠ 引擎没有这一面;§122 RD-2)· `readLiveModelCatalog` / `liveDefaultModelOf` / `atMentionOf` / `modelCompatOf` / `liveModelRowsOf`(0.95.0 CC-465:`GET /v1/models` 回体的唯一读口 + 缺省模型〔服务端答案,只读 `defaultModel`,绝不取第一行〕+ @ 三态 + 兼容声明三态 + 行视图;§122 WB-1 – WB-3)· `droppedModelEntriesOf`(0.95.0 CC-540 A:在线目录里哪些条目没被收下、为什么 —— 键缺席读成 `not_reported`、不编空数组;§122 UP-1)· `modelIdentityResolvability` / `modelIdentityDetail` / `modelSetupDecision` / `modelSetupNotice` / `observedEngineAnswer`(0.82.1 CC-151:「引擎启动时拿不拿得到模型名」三态判据 + 向导两位决策 + 措辞单源,§93 S-11)· `routePairingVerdict`(0.71.3 CC-06:`ModelInfo.routePairing` ok / broken / unknown 三态读口,§45)· `resolveModelCatalog` · `loadCatalogWithSources` · `PROVIDER_PRESETS` / `MODEL_FAMILIES` · `defaultMaxTokensFor` · `getLiveModelCatalog` / `setLiveModelCatalogRefresher` · `providerAuthMethods` / `beginDeviceCodeAuth` · `providerCatalogRows` / `providerCatalogRowDetail` / `providerPresetById`(#244 F4 族D A-028.17:46 家表的规范折表层 —— 全表不重排、诚实缺席「model id typed in」,cli 目录/web 向导同一份折表)· `TIER_ORDER` / `CC_TIER_ALIASES` / `isTier` / `resolveTierBinding`(A-028.18:档位词表+校验+fail-open 降档派生单源;settings 存储归宿主)· `resolveEntryVision` / `computeDeleteBlockers` / `computeDeleteWarnings`(0.38.0 #318 件③ 上收:Model Hub 供给面的三端公共判定 —— vision 生效值+来源三态、删除断链核(拒删+指路)、删除降级后果(照删但必说)。**零 IO**,读盘那半场留各端;`doc === null` 的两义在调用方分流) | 三层 provider 目录解析(线上 URL → 包内预设 → 用户覆盖)+ per-model `maxTokens` 封顶。线上腿需注入 `CatalogFetchJson`,缺席 ⇒ 整条不启用(`online.reason='no-fetch-port'`);缓存落盘经 `CatalogCachePort` | `src/model/{catalog,catalogLoader,providerAuth,providerPresets,providerCatalog,tierVocabulary}.ts`、`src/liveModelCatalog.ts`、`src/modelBudgetRule.ts`、`src/sessionModelLatch.ts`、`src/effortWire.ts` |
215
215
 
216
216
  | 12 | **workflow 与后台工作视图** | 38 | `isReadCredentialRefusal`(0.89.0 CC-289:门前只读路「凭据没被接受」判官上根入口,与 workflow 监视器 / 后台视图 fleet 源同一只函数;§115)· `READ_CREDENTIAL_NOT_ACCEPTED_NOTICE`(0.86.0 CC-252:门前只读路「凭据没被接受」那一句,workflow 监视器 `unauthorized` 态与后台视图 fleet 源 `unauthorized` 共用;§112)· `evaluateWorkflowSize` / `readWorkflowSizeWarningEnvCaps` / `workflowSizeWarningTextForWidth` + `WORKFLOW_SIZE_WARNING_AGENT_CAP` / `_TOKEN_CAP` / `_TOKENS_PER_AGENT` / `_ENV_NAMES` / `_TEXT_LONG` / `_TEXT_SHORT` / `_TEXT_MIN` / `WORKFLOW_SIZE_GUIDELINE_AGENT_CAPS`(0.73.5 CC-58:规模告警判定三态;§67)· `projectLeaderConflict` / `leaderConflictDetail` + `LEADER_RUN_STATUSES` / `LEADER_REJ_HEAD_DISPLAY_MAX`(0.72.10 CC-41:leader run 终局 `needs_human` + `result.conflict` 三形读面 none / unreadable / conflict,缺席不可分、filesTruncated 只认 true、salvaged 原样给落盘口;§57)· `projectWorkflowRun` · `readWorkflowResumeAdmissionIncomplete`(0.68.3 CC-05:core 7.18.0 `resumeAdmissionIncomplete` 在场 = 不是 resume 基,与 `readWorkflowParks` 同一条投影义务)· `createLiveWorkflowSource` · `ensureWorkflowActivityLedger` · `readWorkflowActivityLedger` · `stopWorkflowActivityLedger` · `resetWorkflowActivityLedgers` · `createBackgroundView` · `projectBackgroundView` · `recordWorkflowAgentTaskId` · `agentDisplayStatus` | 活过一个 turn 的长任务读面:workflow run + 跨 session 后台任务归一表(`assistant.tasks` 与 fleet SSE **两源独立降级**) | `src/workflow.ts`、`src/workflowClient.ts`、`src/workflowMonitor.ts`、`src/agentSession/backgroundView.ts`(+ 纯类型 `src/agentSession/contract.ts`) |
217
- | 13 | **座位 IPC 契约** | 46 | `checkSessionRowPatchRequest` / `isSessionRowPatchRequest` / `SESSION_ROW_PATCH_REQUEST_KEYS`(0.96.0 CC-634:`patchSession` 的入站判官 + 入参键集;§123 PB-4)· `checkSendMessageRequest` / `isSendMessageRequest` / `SEAT_REWIND_INTENT_KEYS` / `SEAT_TURN_SETTINGS_ORIGINS`(0.95.0 CC-466:`sendMessage` 的唯一入站判官 + 回退载体键集 + settings 子键出身表;§122 WB-5 – WB-7)· `seatCapability` / `watchSeatCapability` / `seatCapabilityUnavailableDetail` / `SEAT_CAPABILITY_NAMES`(0.94.0 CC-469:座位能力表三态读口 + 先订阅再读的订阅口 + 禁用句单源 + 能力名闭集 —— 可缺的座位动词〔今天 `pickFolder`〕能不能用只由宿主发布的能力表答;§121)· `LOCAL_SESSIONS_SPEC` · `SEAT_METHOD_NAMES` · `SEAT_EVENT_TYPES` · `isLocalSessionEvent` · `isToolPermissionRequest` · `toolPermissionRequestId` · `SEAT_VALIDATOR_KEY_COVERAGE` · `SEAT_SEND_MESSAGE_KEY_ORIGINS`(0.62.0:座位载荷**逐键出身**登记 —— 每个位要么写明转投哪个引擎请求位、要么写明为什么不上 wire;常驻门对**装在盘上的** sdk 型面逐名核,详见 §26③)| desktop↔web 座位 IPC 契约的**单一真源**(此前两边各一份、名字零重合 ⇒ 编译器永远不会告诉你它们漂了)。🔴 加 verb 忘了加 `LOCAL_SESSIONS_SPEC` **不报错**:preload 不注册 channel、渲染端读到 `undefined` | `src/seatContract.ts`(**零 import**,纯类型 + 常量 + 纯谓词)。🔴 **证据等级标注(0.42.0,test [5087] 的「语料**种类**缺口」/ cli [5088] 认领件)**:该文件里所有以「CC 如何如何」为形的断言(`212 methods` / `854-channel census` / 方法名逐字保留 / `fQe` 逐字段对照 / 一切 `.vite/build/index.chunk-*.js` 坐标)**证据等级 = 桌面 unpack,本地语料库不可复验** —— 本仓手边可复验的参照语料**只覆盖终端 CLI 形态**的静态产物,拿它去 grep 桌面壳里的符号只会零命中,而零命中在这里**既不证真也不证伪**。复核这些断言**不得**拿本仓语料当反证 |
217
+ | 13 | **座位 IPC 契约** | 51 | `checkSessionRowPatchRequest` / `isSessionRowPatchRequest` / `SESSION_ROW_PATCH_REQUEST_KEYS`(0.96.0 CC-634:`patchSession` 的入站判官 + 入参键集;§123 PB-4)· `checkSendMessageRequest` / `isSendMessageRequest` / `SEAT_REWIND_INTENT_KEYS` / `SEAT_TURN_SETTINGS_ORIGINS`(0.95.0 CC-466:`sendMessage` 的唯一入站判官 + 回退载体键集 + settings 子键出身表;§122 WB-5 – WB-7)· `seatCapability` / `watchSeatCapability` / `seatCapabilityUnavailableDetail` / `SEAT_CAPABILITY_NAMES`(0.94.0 CC-469:座位能力表三态读口 + 先订阅再读的订阅口 + 禁用句单源 + 能力名闭集 —— 可缺的座位动词〔今天 `pickFolder`〕能不能用只由宿主发布的能力表答;§121)· `LOCAL_SESSIONS_SPEC` · `SEAT_METHOD_NAMES` · `SEAT_EVENT_TYPES` · `isLocalSessionEvent` · `isToolPermissionRequest` · `toolPermissionRequestId` · `SEAT_VALIDATOR_KEY_COVERAGE` · `SEAT_SEND_MESSAGE_KEY_ORIGINS`(0.62.0:座位载荷**逐键出身**登记 —— 每个位要么写明转投哪个引擎请求位、要么写明为什么不上 wire;常驻门对**装在盘上的** sdk 型面逐名核,详见 §26③)| desktop↔web 座位 IPC 契约的**单一真源**(此前两边各一份、名字零重合 ⇒ 编译器永远不会告诉你它们漂了)。🔴 加 verb 忘了加 `LOCAL_SESSIONS_SPEC` **不报错**:preload 不注册 channel、渲染端读到 `undefined` | `src/seatContract.ts`(**零 import**,纯类型 + 常量 + 纯谓词)。🔴 **证据等级标注(0.42.0,test [5087] 的「语料**种类**缺口」/ cli [5088] 认领件)**:该文件里所有以「CC 如何如何」为形的断言(`212 methods` / `854-channel census` / 方法名逐字保留 / `fQe` 逐字段对照 / 一切 `.vite/build/index.chunk-*.js` 坐标)**证据等级 = 桌面 unpack,本地语料库不可复验** —— 本仓手边可复验的参照语料**只覆盖终端 CLI 形态**的静态产物,拿它去 grep 桌面壳里的符号只会零命中,而零命中在这里**既不证真也不证伪**。复核这些断言**不得**拿本仓语料当反证 |
218
218
 
219
- | 14 | **宿主端口与会话槽** | 50 | `resolveEngineEnvSourcing` / `engineEnvView`(0.95.0 CC-321:起本机引擎时「全有或全无」组的来源判定 —— 组声明 / 忽略判据 / 别名由宿主给,退役 env 改名表不进包;§122 SA-5)· `compileAllowList`(0.94.0 CC-356 ①:core 值级端口第十二件的读口 —— 引擎 allow 层读 allow 列表的读法,装配口新形整表复核用;§121)· `mintNamespacePrefix`(0.92.0 CC-371:core 值级端口第十一件的读口;§118)· `abortableSleep`(0.91.0 CC-317:abort 感知的 sleep —— 入口先查 `signal.aborted`、等待中 abort 即刻醒来并清掉定时器;§117)· `installHost` · `installHostFor` · `installCoreValuePorts` + 十一读口 + 三存在性口(0.69.0 CC-07:core 值级面端口注入,Node 宿主装配根装、浏览器 lane 恒缺席)· `hostPortMisses(For)` · `DEFAULT_SESSION_KEY` · `hostEnv` · `unrefTimer` · `parseLocaleTag` / `pickUiLanguage`(#244 F4 族D A-028.20:locale tag 手术单源 + UI 语言判定;与 `resolveRegionHint` 双出口成文 —— 语言偏好域 en/zh ≠ 地址可达域 cn/intl/unknown,`zh-Hant` 前者 zh 后者 intl 是设计)· `engineNamespaceKeyFor` / `mergeSessionMapRecord` / `mergeEngineEntry`(A-028.12:会话 id 映射单一键形 + merge 判定;存储经 `SessionMapStorePort` 归端 —— cli 文件锁/原子写,web localStorage)| 进程/端级装配层(settings/fs/queue/timers/session/log/probe),与 per-turn 的 `AdapterContext` **分层**。头注的判定规则:**这个能力每 turn 都会变吗?** 会 ⇒ `ctx`;不会 ⇒ `installHost` | `src/host.ts`、`src/hostEnv.ts`、`src/sessionSlot.ts`、`src/unrefTimer.ts`、`src/env/{localeGeo,localeTag,uiLanguage}.ts`、`src/sessionMap.ts` |
220
- | 15 | **控制面与传输** | 238 | 0.97.0(PK 行,§124)−1 +1 常量(`ASK_PARK_GATE_KINDS`(0.97.0 退出公面) 退出根入口 / `APPROVAL_DECIDE_GATE_KINDS` 经 sdk 转口,同名 `PLAN_REVIEW_GATE_KINDS` 换成 sdk 那一只,净零)· 0.96.0(PP 行,§123)+1 函数(`durableDecideLegOf`〔PP-4:一行待决归哪条耐久决断腿的唯一判定口,五词闭集,永不抛〕)· 0.96.0(CV 行,§123)+1 函数 +1 常量(`credentialProvenance`〔CV-1:云模式凭据来源纯判词 —— 壳给生命周期事实,答 `local-sidecar` / `service-token` / `registry` / `none` 或显式 `unreadable`〕· `CREDENTIAL_ATTACH_WORDS`〔四词冻结表〕)· 0.96.0(CL 行,§123)+4 函数(`projectEngineDirectory` / `projectMeEngine` / `decideMeEngine` / `engineOverrideOf`〔CL-1 / CL-3 / CL-4:云控制面执行体目录与「我的执行体」两条读口回体的纯投影、candidates 判定与 `--engine` 只在名册内的覆盖判定〕)· `fireInteractiveInterrupt`(0.95.0 CC-319:Esc 的 interrupt 发射口,失败与 steer / cancel 同一把至多一次尺,结局即 `planInteractiveHalt` 入参;§122 SA-1)· `listDevices` / `readSessionBinding` / `rebindSession` / `reconcileRebindOutcome` / `rebindProvesRequestNotApplied`(0.95.0 CC-320 ①:设备换绑三只发射口 + 两只纯判定;§122 SA-2)· `isInStreamDrainingEnd` / `streamDrainingDecision` / `STREAM_DRAINING_RECONNECT_MAX` / `autonomyLaneRefusalFromError` / `autonomyLaneRefusalContent`(0.94.0 SV / SP2)· `deviceFlowPollingPlan`(0.94.0 CC-504:设备码登录轮询的握手寿命 / 轮询间隔 —— 响应里的有限正数优先,缺席或坏形取设置契约数,间隔 ≥ 1;§121)· `scenarioAssignmentUnknownFromError`(0.93.0 CC-451 ⑤:场景指派悬空的 `503 state.scenario_assignment_unknown` 按码认的读口;§119)· `readEngineConfigApplyState` / `configDriftVerdict`(0.93.0 CC-323 ②:`/health` 配置落地五键的结构读读器与心跳 configHash 漂移的四态判决;§119)· `transportFailureScene`(0.93.0 CC-363:连接失败现场判读口 —— 一次传输失败的抛出物按「这一发有没有送出」的同一套判据读成机读现场:成因链至多 4 层、每层只取机读位、`provablyNotSent` 与 `noAnswer` 一并给,永不抛、返回物冻结;§119)· `steerRefusalAdviceOf` / `steeringRefusedBeforeEngine`(0.91.0 CC-307:steer 拒收的判别位 + 处置句合成口 —— `ControlRouter.steer` 抛出的 `ControlSafetyError` 的 `code` / `advice` 由它给,不经路由器的 steer 路径拿 sdk 裸错误调同一只;「服务端在交给引擎之前就拒了」判定;§117)· `eraseSessionMemory` / `sessionMemoryEraseOutcome` + `SESSION_MEMORY_ERASE_REFUSAL_REASONS` / `SESSION_MEMORY_ERASE_UNCONFIRMED_WHYS` / `SESSION_MEMORY_ERASE_RETRIES`(0.88.0 CC-264:会话所有者自助记忆抹除 —— 按 wire 直发恰一发,四档判定 + 单源句 + 七值重发姿势;§114)· `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面)(0.88.0 CC-280:registry 同一个 409 的两义判别,与新版 SDK 同名同答;§114)· `createPromptDeliveryLedger` / `promptKnownUndelivered` / `withoutUndeliveredPrompts`(0.88.0 CC-271:提交事实账本与两只按消息行的读口,判据 = 引擎为这次提交建了 run;§114)· `printInitToolFaceSupersetKeys`(0.86.0 CC-266:`-p` 首帧 `system/init` 两只来源超集键 `_sema_tools_source` / `_sema_tools_fallback_reason` 的铸口,`withPrintInitFrame` 已铺在宿主那只首帧对象上;自建首帧的宿主展开它的结果;§112)· `FLEET_LEASE_UNAVAILABLE` / `fleetLeaseUnavailableFromError` / `fleetLeaseUnavailableContent`(0.86.0 CC-250:计费入口 503 `fleet.lease_unavailable` 按码读口与一句话,`classifyTurnWireError` 的 `http` 判决同批带 `leaseUnavailable`;§112)· `hostPostureRefusalFromError` / `hostPostureRefusalContent` · `inheritEnvRefusalFromError` / `inheritEnvRefusalContent` · `settingsPermissionBucketRefusalFromError` / `settingsPermissionBucketRefusalContent` · `toolDeclarationRefusalFromError` / `toolDeclarationRefusalContent` · `bodyShapeRefusalFromError` / `bodyShapeRefusalTouchesSettings`(0.86.0 CC-257 / CC-262 / CC-263 / CC-265:新提交两只拒、权限规则表超帽坏项、工具声明族「不是暂时故障」、请求体键形拒两张键表 —— 五对按码读口与单源句;§112)· `judgeWebSearchSettings` / `webSearchVerdictFromEnv` / `resolveWebSearchVerdict` / `webSearchVerdictMessage` / `webSearchEndpointForDisplay`(0.82.7 CC-182:每请求联网搜索配置三态判决,与 server ≥7.100.0 判官同判;§99)· `withPrintInitFrame` / `createPrintInitGate` / `printInitRosterSignal` / `decidePrintInitToolFace` / `printInitToolFaceDebugLine` / `PRINT_INIT_ROSTER_WAIT_MS`(0.82.5 CC-169:print 车道 init 帧工具面名册优先 —— 流包装器、判定闸、名册信号三态分类、判定口、留痕措辞单源、等待上界;§97)· `projectRegistryQuotaUsage` / `quotaAmountText` / `registryQuotaDoctorDetail`(0.82.0 CC-150:云控制面 quota/usage 回体的纯投影 —— 两种 null 的正面事实与「判不出」三分,措辞零 0;§92)· `pushSessionBundle` / `pullSessionBundle` / `importSessionBundle` / `APIError`(0.79.0 CC-128:会话 bundle 面四名原样转口,与 `AgentClient` 同一张存量转口表;§85)· `readMcpCapabilities` / `probeMcpServers` / `classifyMcpProbeFailure` / `MCP_PROBE_REFUSAL_CAUSES` / `MCP_PROBE_UNKNOWN_WHYS`(0.79.0 CC-74:无 run 可读的 MCP 状态面两只调用口 + 单一失败判官 + 两张闭集词表;§85)· `readEntryProvenance` / `eraseMemoryEntries` / `listExternalOriginEntries` / `listOriginClearances` / `clearEntryOrigin` / `classifyMemoryFailure` / `externalOriginCoverage` / `MEMORY_VERB_REFUSAL_CAUSES` / `MEMORY_VERB_UNKNOWN_WHYS`(0.78.1 CC-97 b:记忆治理面五动词调用口 + 单一失败判官 + 两张闭集 + 覆盖面判词;§83)· `readMemoryExportRows` / `scopeExternalOriginVerdict` / `readMemoryEraseReceipt` / `memoryEraseCounts` / `memoryEraseErasedNothing` / `eraseNotFoundHistoryVerdict` / `memoryEraseReplayPosture` / `readMemoryOriginClearanceReceipt` / `MEMORY_ENGINE_REQUIRED_CODE`(0.76.1 CC-97a:记忆条目面三个回体的窄读口 + 判词口;「空答绝不读作本店干净」的代码落点;§77)· `readMcpLiveness` / `mcpLivenessRollupOf` / `mcpEngineLegHealthOf` / `mcpEngineLegHealthDetail` / `MCP_LIVENESS_STATES`(0.76.1 CC-36:`wiring_manifest.mcp[].liveness` 活性观察的行级三向读口 + 腿级四读数判词 + 措辞铸点;§77)· `readRunCancelContext` / `classifyRunAbortCause` / `RUN_CANCELLED_CODE`(0.74.3 CC-71:run 取消现场与成因;§71)· `cancelConflictFromError` / `cancelConflictContent` / `usageWindowExhaustedFromError` / `usageWindowExhaustedContent` + `CONFLICT_APPROVAL_SETTLED` / `CONFLICT_RUN_NOT_RUNNING`(0.73.1 CC-56:cancel 409 按码分家 + 提交面 429 用量窗;§63)· `reconnectMcpServer` / `projectMcpReconnectResult` / `classifyMcpReconnectFailure` / `projectMcpReconnectCapability` / `mcpReconnectOutcomeDetail` + `MCP_RECONNECT_OUTCOMES` / `MCP_RECONNECT_TRANSACTION_NOTICE`(0.72.9 CC-30:会话内 MCP re-dial 消费口,outcome 三态 / unsupported 恒五键 / 名册按 toolNames 在场性;§56)· `MCP_RECONNECT_UNSETTLED_NOTICE`(0.93.0 CC-429:重拨应答期限先到时给人看的那一句,判决臂 `unsettled` 的措辞单源 —— 这一口没等到结果、不是失败;§119 MU)· `readAutoConsolidationArmed`(0.72.9 CC-39②:memory-status `autoConsolidationArmed` 三态,缺席 = 老 server 判不了;§56)· `steerFollowIntent`(0.72.6 CC-40:steer 后续听意图三态 tail / after-decision / after-wake,按 `SteerReceipt.delivery` 判;§53)· `projectWebSearchBackendCapability` / `observedWebSearchBackend` / `noteEngineCapsForWebSearchBackend` / `forgetWebSearchBackendReading`(0.95.0 退出公面) / `webSearchBackendDoctorDetail` + `WEB_SEARCH_BACKEND_NONE`(0.72.5 CC-31:`capabilities.webSearch.backend` 四态读面 —— 键缺席 = 老引擎判不了 ≠ `none` = 引擎明说没有默认后端;与 `sqlEngineCapability` / `writeProtectionCapability` 同构;§52)· `resumeContextUnavailableFromError` / `resumeContextUnavailableContent`(0.72.1 CC-33:409 `conflict.resume_context_unavailable` 读数 `{ code, staleAfterSec?, runId? }` + 三句人话;§48)· `mcpEngineLegPresence`(0.71.0 CC-19:引擎侧 MCP 在场三值,只从面板视图求;§42)· `ControlRouter`(+ `ControlSafetyError`)· `fetchMcpPanel`(0.69.0:经 sdk `sessions.mcp` 取体 + 投视图,不裸 fetch)· `projectMcpPanel` + `mcpPanelLastLegDetail`(0.68.2 CC-03:`GET /v1/sessions/:id/mcp` 面板体防御读视图 + `lastLegMcp` 一行措辞铸点;缺席 = 键不铸、读不懂 = `lastLegMcpUnreadable`、禁与 `servers[]` 对账)· `makeEngineWireClient` + `resolveWireAuth` · `installEngineWireTarget` · `diagnoseSseIdleTear` / `isSseIdleError` · `attemptActiveRunSelfHeal` + `activeRunBusySignal` + `activeRunSelfHealRow` / `activeRunBusyHeadlessRow` · `kickEngineCapsProbe` / `engineCapTrue` / `invalidateEngineCaps(baseUrl, probe?)`(#307 S25:引擎温切后的 caps 生产失效口 —— kick 自带幂等闸,同 baseUrl 重启后不显式失效就永远读到旧引擎那一版能力位;调用方 = 壳的 respawn/restartEngine。🔴 **推荐两参形**:第二参给替代探测则「推进代际 + 注册新探测」在同一同步块内完成,失效与下一次 kick 之间那个「等待者读到未判」的窗按构造不存在;单参形保留给「只丢缓存、这一刻没有替代探测」的调用方,那种情形下读到未判是诚实结局) · `engineCapValue`(S-131,0.59.0:能力位的**四态**通用读口 `unobserved`/`not_reported`/`null`/`value` —— 既有三口把四种「读不出」全折成 fail-closed 一档,对**放行**问题是对的、对**读面/诊断**问题是错的:`null`(引擎明确说没有,正面事实)会与「老引擎不报」「还没探到」在屏上同形。`value` 位刻意不做形校验,形归各能力位自己的窄读器,详见 §23b)· `projectSqlEngineCapability` / `observedSqlEngine` / `noteEngineCapsForSqlEngine` / `forgetSqlEngineReading`(0.95.0 退出公面) / `sqlEngineDoctorDetail`(S-131,0.59.0:`Capabilities.sql`(server ≥7.60.0)的四态读面**从壳侧上收** —— 归层债,0.58.0 时它长在壳里正是因为包侧没有嵌套对象读口。🔴 **导出名与壳侧那份逐字同名 = drift-lock**;`txnMode: null` 是铸点域内的合法值不是畸形;换代失效口清成未观测而不是留旧值,详见 §23b)· `mapBrainStatusToRetry` · `waitForClaimRelease` + `CLAIM_RELEASED_STATES`(0.95.0 退出公面) / `CLAIM_HELD_STATES`(释放判据改读 `isSdkRunTerminal`) · `atMostOnceFailureClass` / `readSteerReceipt`(0.92.0 CC-374:steer 回执唯一读口,取代 `readSteerDelivery`(🔧 0.92.0 退出公面)/ `readSteerReceiptStatus`(🔧 0.92.0 退出公面);§118)· `steerBodyOf`(0.92.0 CC-374:steer 体唯一铸点,不认档位即抛、零请求;§118)· `clearRunningChoiceOffer`(Inkglow-1085 P0b①:「Do nothing」登记的清口 —— 端的「重新打开操作菜单」入口;登记在场时 attemptActiveRunSelfHeal 不整卡重弹,not-parked 结局带 `alreadyOffered: true` 判别位,端据此降级渲一行)· `INTERACTIVE_WAY_OUT`(默认出路串单源)· `engineSessionParamFor`(design/285 批 0:`?session=` 派生的 **per-key** 形 —— `hostSessionFor(sessionKey)?.currentSessionId()` + [1501] 空串归一;零参 `engineSessionParam()` = 默认槽兼容层,取值链逐字等价)· `normalizeWirePrincipal`(A-028.10:principal 在场性 trim 原语 —— 全空白=缺席不发头,engineWireTarget 两臂/makeEngineWireClient/壳 livePrincipal 同尺)· `readSessionMemoryStatus` / `classifyMemoryStatusFailure` / `readCaptureOptOut` / `readLastCapture`(S-53 会话记忆姿态读面,0.48.0:失败分诊**码优先**——两个 404 分道 `not_found.session` / `not_found.route`,无码 404 不猜落 failed;五键逐键缺席语义两个合读器,`lastCapture` 三态的判别材料是 `committedCount` 不是本键;IO 归宿主注入 `MemoryStatusClientLike`,详见 §11) · `classifyTurnWireError` / `isWireTransportError` / `isPreStreamDrainingReject` / `isResumeAtRejection` / `drainingRetryDelayMs` / `scenarioDenyFromError` + `WIRE_NETWORK_ERROR_PATTERN`(A-028.11/.13:turn 错误分型判定半场,人话文案与渲染归端)· `resumeRetryLaterFromError`(L-102,0.57.0:resume 族**时间性拒绝**二码的判型半场 —— 这一族里唯一**带得出「等多久」**(`retryAfterSec`)的两个码。🔴 闭集**不是**「哪些码可以等」的名单:同族 `resume.row_recycling` 同样可等(窗口自清)只是没有秒数 ⇒ 本读口返回 `null` 只意味着没命中这两码,详见 §21) · `projectWriteProtectionCapability` / `observedWriteProtection` / `noteEngineCapsForWriteProtection` / `forgetWriteProtectionReading`(0.95.0 退出公面) / `writeProtectionDoctorDetail` / `projectWriteProtectionPosture` / `writeProtectionPostureDetail`(S-138,0.60.0:`Capabilities.writeProtection` (engine ≥7.63.0)的**四态**读面 + operator 面行表 —— 与上面 S-131 那一格**同构同纪律**。🔴 三位刻意不合成一个布尔;`not_reported` **不是**「这台部署没有写保护表」(座位缺席恰是缺省表在岗);逐行 name/kind 走**最小披露**只上 operator 面,详见 §24e)· `projectReadFacePosture` / `readFacePostureDetail` / `readFaceDisagreement`(S-167,0.61.0:operator 面 `diagnostics.wiring.readFace`(engine ≥7.65.0)的窄读器 —— 与上面S-138 那一格**同构同纪律**。🔴 三句「答不出来」逐字互异且没有一句等于「没有 READ 档」;`source` 按开集读;与租户面 `capabilities.readFace` 刻意不合流,只带一个纯比较函数,详见 §25)| 上行通道的**监管**半场(submit / steer / kill / 队列命令定序)+ 传输构造、caps 探测、SSE 断流分诊、**409 active-run 自愈** | `src/controlRouter.ts`、`steering.ts`、`sseIdleTriage.ts`、`retryStatus.ts`、`diagnostics.ts`、`engineWireSdk.ts`、`engineWireTarget.ts`、`src/principalWire.ts`、`src/wireErrorTriage.ts`、`engineSessionParam.ts`、`engineCapsCache.ts`、`liveInitToolFace.ts`、`adapter/activeRunSelfHeal.ts`、`src/sessionMemoryStatus.ts`、`src/writeProtectionCapability.ts`、`src/webSearchBackendCapability.ts`、`src/mcpReconnect.ts`、`src/readFacePosture.ts` |
219
+ | 14 | **宿主端口与会话槽** | 59 | 0.98.0(TX 行,§126)+9 函数 / 常量 +1 台账对象 −1 常量(`EN_MESSAGES` / `ZH_MESSAGES` / `translate` / `createTranslator` / `createMissLedger` / `uiMissLedger` / `msg` / `renderMessage` / `DATA_FACE_LANGUAGE`:消息目录;`resolveUiLanguageFrom`:界面语言解析链;退出 `PROBE_HEALTH_DIVERGENCE`(0.98.0 退出公面);TX-1…TX-4)· `resolveEngineEnvSourcing` / `engineEnvView`(0.95.0 CC-321:起本机引擎时「全有或全无」组的来源判定 —— 组声明 / 忽略判据 / 别名由宿主给,退役 env 改名表不进包;§122 SA-5)· `compileAllowList`(0.94.0 CC-356 ①:core 值级端口第十二件的读口 —— 引擎 allow 层读 allow 列表的读法,装配口新形整表复核用;§121)· `mintNamespacePrefix`(0.92.0 CC-371:core 值级端口第十一件的读口;§118)· `abortableSleep`(0.91.0 CC-317:abort 感知的 sleep —— 入口先查 `signal.aborted`、等待中 abort 即刻醒来并清掉定时器;§117)· `installHost` · `installHostFor` · `installCoreValuePorts` + 十一读口 + 三存在性口(0.69.0 CC-07:core 值级面端口注入,Node 宿主装配根装、浏览器 lane 恒缺席)· `hostPortMisses(For)` · `DEFAULT_SESSION_KEY` · `hostEnv` · `unrefTimer` · `parseLocaleTag` / `pickUiLanguage`(#244 F4 族D A-028.20:locale tag 手术单源 + UI 语言判定;与 `resolveRegionHint` 双出口成文 —— 语言偏好域 en/zh ≠ 地址可达域 cn/intl/unknown,`zh-Hant` 前者 zh 后者 intl 是设计)· `engineNamespaceKeyFor` / `mergeSessionMapRecord` / `mergeEngineEntry`(A-028.12:会话 id 映射单一键形 + merge 判定;存储经 `SessionMapStorePort` 归端 —— cli 文件锁/原子写,web localStorage)| 进程/端级装配层(settings/fs/queue/timers/session/log/probe),与 per-turn 的 `AdapterContext` **分层**。头注的判定规则:**这个能力每 turn 都会变吗?** 会 ⇒ `ctx`;不会 ⇒ `installHost` | `src/host.ts`、`src/hostEnv.ts`、`src/sessionSlot.ts`、`src/unrefTimer.ts`、`src/env/{localeGeo,localeTag,uiLanguage}.ts`、`src/sessionMap.ts` |
220
+ | 15 | **控制面与传输** | 262 | 0.98.0(RB 行,§126)−3 函数(SQL 姿态 / 写保护 / WebSearch 后端三只读器的探测闭包 tee 口退出根入口,逐名见 §2z)· 0.98.0(UP 行,§126)+7 函数(`preemptReceiptLine`:优雅让位的一行回执句,配 `ControlRouter.preempt`〔UP-2〕;`issueEnrollToken` / `enrollDevice` / `revokeDevice`:设备注册三动词发射口;`deviceIdentityMismatchOf` / `deviceIdentityMismatchLine`:`device.identity_mismatch` 两读法收一与四段句;`deviceRegistrationOutcomeLine`:三动词结局的一句话〔UP-3〕)· 0.98.0(TP 行,§126)+4 函数(`normalizeEngineBaseUrl` / `engineUrlTransportVerdict` / `submitStreamWithBoundedReopen` / `createStreamDrainingLegs`:引擎地址规范化 / 传输闸、流式提交同键有界重开、排空收场账)· 0.97.0(PK 行,§124)−1 +1 常量(`ASK_PARK_GATE_KINDS`(0.97.0 退出公面) 退出根入口 / `APPROVAL_DECIDE_GATE_KINDS` 经 sdk 转口,同名 `PLAN_REVIEW_GATE_KINDS` 换成 sdk 那一只,净零)· 0.96.0(PP 行,§123)+1 函数(`durableDecideLegOf`〔PP-4:一行待决归哪条耐久决断腿的唯一判定口,五词闭集,永不抛〕)· 0.96.0(CV 行,§123)+1 函数 +1 常量(`credentialProvenance`〔CV-1:云模式凭据来源纯判词 —— 壳给生命周期事实,答 `local-sidecar` / `service-token` / `registry` / `none` 或显式 `unreadable`〕· `CREDENTIAL_ATTACH_WORDS`〔四词冻结表〕)· 0.96.0(CL 行,§123)+4 函数(`projectEngineDirectory` / `projectMeEngine` / `decideMeEngine` / `engineOverrideOf`〔CL-1 / CL-3 / CL-4:云控制面执行体目录与「我的执行体」两条读口回体的纯投影、candidates 判定与 `--engine` 只在名册内的覆盖判定〕)· `fireInteractiveInterrupt`(0.95.0 CC-319:Esc 的 interrupt 发射口,失败与 steer / cancel 同一把至多一次尺,结局即 `planInteractiveHalt` 入参;§122 SA-1)· `listDevices` / `readSessionBinding` / `rebindSession` / `reconcileRebindOutcome` / `rebindProvesRequestNotApplied`(0.95.0 CC-320 ①:设备换绑三只发射口 + 两只纯判定;§122 SA-2)· `isInStreamDrainingEnd` / `streamDrainingDecision` / `STREAM_DRAINING_RECONNECT_MAX` / `autonomyLaneRefusalFromError` / `autonomyLaneRefusalContent`(0.94.0 SV / SP2)· `deviceFlowPollingPlan`(0.94.0 CC-504:设备码登录轮询的握手寿命 / 轮询间隔 —— 响应里的有限正数优先,缺席或坏形取设置契约数,间隔 ≥ 1;§121)· `scenarioAssignmentUnknownFromError`(0.93.0 CC-451 ⑤:场景指派悬空的 `503 state.scenario_assignment_unknown` 按码认的读口;§119)· `readEngineConfigApplyState` / `configDriftVerdict`(0.93.0 CC-323 ②:`/health` 配置落地五键的结构读读器与心跳 configHash 漂移的四态判决;§119)· `transportFailureScene`(0.93.0 CC-363:连接失败现场判读口 —— 一次传输失败的抛出物按「这一发有没有送出」的同一套判据读成机读现场:成因链至多 4 层、每层只取机读位、`provablyNotSent` 与 `noAnswer` 一并给,永不抛、返回物冻结;§119)· `steerRefusalAdviceOf` / `steeringRefusedBeforeEngine`(0.91.0 CC-307:steer 拒收的判别位 + 处置句合成口 —— `ControlRouter.steer` 抛出的 `ControlSafetyError` 的 `code` / `advice` 由它给,不经路由器的 steer 路径拿 sdk 裸错误调同一只;「服务端在交给引擎之前就拒了」判定;§117)· `eraseSessionMemory` / `sessionMemoryEraseOutcome` + `SESSION_MEMORY_ERASE_REFUSAL_REASONS` / `SESSION_MEMORY_ERASE_UNCONFIRMED_WHYS` / `SESSION_MEMORY_ERASE_RETRIES`(0.88.0 CC-264:会话所有者自助记忆抹除 —— 按 wire 直发恰一发,四档判定 + 单源句 + 七值重发姿势;§114)· `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面)(0.88.0 CC-280:registry 同一个 409 的两义判别,与新版 SDK 同名同答;§114)· `createPromptDeliveryLedger` / `promptKnownUndelivered` / `withoutUndeliveredPrompts`(0.88.0 CC-271:提交事实账本与两只按消息行的读口,判据 = 引擎为这次提交建了 run;§114)· `printInitToolFaceSupersetKeys`(0.86.0 CC-266:`-p` 首帧 `system/init` 两只来源超集键 `_sema_tools_source` / `_sema_tools_fallback_reason` 的铸口,`withPrintInitFrame` 已铺在宿主那只首帧对象上;自建首帧的宿主展开它的结果;§112)· `FLEET_LEASE_UNAVAILABLE` / `fleetLeaseUnavailableFromError` / `fleetLeaseUnavailableContent`(0.86.0 CC-250:计费入口 503 `fleet.lease_unavailable` 按码读口与一句话,`classifyTurnWireError` 的 `http` 判决同批带 `leaseUnavailable`;§112)· `hostPostureRefusalFromError` / `hostPostureRefusalContent` · `inheritEnvRefusalFromError` / `inheritEnvRefusalContent` · `settingsPermissionBucketRefusalFromError` / `settingsPermissionBucketRefusalContent` · `toolDeclarationRefusalFromError` / `toolDeclarationRefusalContent` · `bodyShapeRefusalFromError` / `bodyShapeRefusalTouchesSettings`(0.86.0 CC-257 / CC-262 / CC-263 / CC-265:新提交两只拒、权限规则表超帽坏项、工具声明族「不是暂时故障」、请求体键形拒两张键表 —— 五对按码读口与单源句;§112)· `judgeWebSearchSettings` / `webSearchVerdictFromEnv` / `resolveWebSearchVerdict` / `webSearchVerdictMessage` / `webSearchEndpointForDisplay`(0.82.7 CC-182:每请求联网搜索配置三态判决,与 server ≥7.100.0 判官同判;§99)· `withPrintInitFrame` / `createPrintInitGate` / `printInitRosterSignal` / `decidePrintInitToolFace` / `printInitToolFaceDebugLine` / `PRINT_INIT_ROSTER_WAIT_MS`(0.82.5 CC-169:print 车道 init 帧工具面名册优先 —— 流包装器、判定闸、名册信号三态分类、判定口、留痕措辞单源、等待上界;§97)· `projectRegistryQuotaUsage` / `quotaAmountText` / `registryQuotaDoctorDetail`(0.82.0 CC-150:云控制面 quota/usage 回体的纯投影 —— 两种 null 的正面事实与「判不出」三分,措辞零 0;§92)· `pushSessionBundle` / `pullSessionBundle` / `importSessionBundle` / `APIError`(0.79.0 CC-128:会话 bundle 面四名原样转口,与 `AgentClient` 同一张存量转口表;§85)· `readMcpCapabilities` / `probeMcpServers` / `classifyMcpProbeFailure` / `MCP_PROBE_REFUSAL_CAUSES` / `MCP_PROBE_UNKNOWN_WHYS`(0.79.0 CC-74:无 run 可读的 MCP 状态面两只调用口 + 单一失败判官 + 两张闭集词表;§85)· `readEntryProvenance` / `eraseMemoryEntries` / `listExternalOriginEntries` / `listOriginClearances` / `clearEntryOrigin` / `classifyMemoryFailure` / `externalOriginCoverage` / `MEMORY_VERB_REFUSAL_CAUSES` / `MEMORY_VERB_UNKNOWN_WHYS`(0.78.1 CC-97 b:记忆治理面五动词调用口 + 单一失败判官 + 两张闭集 + 覆盖面判词;§83)· `readMemoryExportRows` / `scopeExternalOriginVerdict` / `readMemoryEraseReceipt` / `memoryEraseCounts` / `memoryEraseErasedNothing` / `eraseNotFoundHistoryVerdict` / `memoryEraseReplayPosture` / `readMemoryOriginClearanceReceipt` / `MEMORY_ENGINE_REQUIRED_CODE`(0.76.1 CC-97a:记忆条目面三个回体的窄读口 + 判词口;「空答绝不读作本店干净」的代码落点;§77)· `readMcpLiveness` / `mcpLivenessRollupOf` / `mcpEngineLegHealthOf` / `mcpEngineLegHealthDetail` / `MCP_LIVENESS_STATES`(0.76.1 CC-36:`wiring_manifest.mcp[].liveness` 活性观察的行级三向读口 + 腿级四读数判词 + 措辞铸点;§77)· `readRunCancelContext` / `classifyRunAbortCause` / `RUN_CANCELLED_CODE`(0.74.3 CC-71:run 取消现场与成因;§71)· `cancelConflictFromError` / `cancelConflictContent` / `usageWindowExhaustedFromError` / `usageWindowExhaustedContent` + `CONFLICT_APPROVAL_SETTLED` / `CONFLICT_RUN_NOT_RUNNING`(0.73.1 CC-56:cancel 409 按码分家 + 提交面 429 用量窗;§63)· `reconnectMcpServer` / `projectMcpReconnectResult` / `classifyMcpReconnectFailure` / `projectMcpReconnectCapability` / `mcpReconnectOutcomeDetail` + `MCP_RECONNECT_OUTCOMES` / `MCP_RECONNECT_TRANSACTION_NOTICE`(0.72.9 CC-30:会话内 MCP re-dial 消费口,outcome 三态 / unsupported 恒五键 / 名册按 toolNames 在场性;§56)· `MCP_RECONNECT_UNSETTLED_NOTICE`(0.93.0 CC-429:重拨应答期限先到时给人看的那一句,判决臂 `unsettled` 的措辞单源 —— 这一口没等到结果、不是失败;§119 MU)· `readAutoConsolidationArmed`(0.72.9 CC-39②:memory-status `autoConsolidationArmed` 三态,缺席 = 老 server 判不了;§56)· `steerFollowIntent`(0.72.6 CC-40:steer 后续听意图三态 tail / after-decision / after-wake,按 `SteerReceipt.delivery` 判;§53)· `projectWebSearchBackendCapability` / `observedWebSearchBackend` / `noteEngineCapsForWebSearchBackend`(0.98.0 退出公面) / `forgetWebSearchBackendReading`(0.95.0 退出公面) / `webSearchBackendDoctorDetail` + `WEB_SEARCH_BACKEND_NONE`(0.72.5 CC-31:`capabilities.webSearch.backend` 四态读面 —— 键缺席 = 老引擎判不了 ≠ `none` = 引擎明说没有默认后端;与 `sqlEngineCapability` / `writeProtectionCapability` 同构;§52)· `resumeContextUnavailableFromError` / `resumeContextUnavailableContent`(0.72.1 CC-33:409 `conflict.resume_context_unavailable` 读数 `{ code, staleAfterSec?, runId? }` + 三句人话;§48)· `mcpEngineLegPresence`(0.71.0 CC-19:引擎侧 MCP 在场三值,只从面板视图求;§42)· `ControlRouter`(+ `ControlSafetyError`)· `fetchMcpPanel`(0.69.0:经 sdk `sessions.mcp` 取体 + 投视图,不裸 fetch)· `projectMcpPanel` + `mcpPanelLastLegDetail`(0.68.2 CC-03:`GET /v1/sessions/:id/mcp` 面板体防御读视图 + `lastLegMcp` 一行措辞铸点;缺席 = 键不铸、读不懂 = `lastLegMcpUnreadable`、禁与 `servers[]` 对账)· `makeEngineWireClient` + `resolveWireAuth` · `installEngineWireTarget` · `diagnoseSseIdleTear` / `isSseIdleError` · `attemptActiveRunSelfHeal` + `activeRunBusySignal` + `activeRunSelfHealRow` / `activeRunBusyHeadlessRow` · `kickEngineCapsProbe` / `engineCapTrue` / `invalidateEngineCaps(baseUrl, probe?)`(#307 S25:引擎温切后的 caps 生产失效口 —— kick 自带幂等闸,同 baseUrl 重启后不显式失效就永远读到旧引擎那一版能力位;调用方 = 壳的 respawn/restartEngine。🔴 **推荐两参形**:第二参给替代探测则「推进代际 + 注册新探测」在同一同步块内完成,失效与下一次 kick 之间那个「等待者读到未判」的窗按构造不存在;单参形保留给「只丢缓存、这一刻没有替代探测」的调用方,那种情形下读到未判是诚实结局) · `engineCapValue`(S-131,0.59.0:能力位的**四态**通用读口 `unobserved`/`not_reported`/`null`/`value` —— 既有三口把四种「读不出」全折成 fail-closed 一档,对**放行**问题是对的、对**读面/诊断**问题是错的:`null`(引擎明确说没有,正面事实)会与「老引擎不报」「还没探到」在屏上同形。`value` 位刻意不做形校验,形归各能力位自己的窄读器,详见 §23b)· `projectSqlEngineCapability` / `observedSqlEngine` / `noteEngineCapsForSqlEngine`(0.98.0 退出公面) / `forgetSqlEngineReading`(0.95.0 退出公面) / `sqlEngineDoctorDetail`(S-131,0.59.0:`Capabilities.sql`(server ≥7.60.0)的四态读面**从壳侧上收** —— 归层债,0.58.0 时它长在壳里正是因为包侧没有嵌套对象读口。🔴 **导出名与壳侧那份逐字同名 = drift-lock**;`txnMode: null` 是铸点域内的合法值不是畸形;换代失效口清成未观测而不是留旧值,详见 §23b)· `mapBrainStatusToRetry` · `waitForClaimRelease` + `CLAIM_RELEASED_STATES`(0.95.0 退出公面) / `CLAIM_HELD_STATES`(释放判据改读 `isSdkRunTerminal`) · `atMostOnceFailureClass` / `readSteerReceipt`(0.92.0 CC-374:steer 回执唯一读口,取代 `readSteerDelivery`(🔧 0.92.0 退出公面)/ `readSteerReceiptStatus`(🔧 0.92.0 退出公面);§118)· `steerBodyOf`(0.92.0 CC-374:steer 体唯一铸点,不认档位即抛、零请求;§118)· `clearRunningChoiceOffer`(Inkglow-1085 P0b①:「Do nothing」登记的清口 —— 端的「重新打开操作菜单」入口;登记在场时 attemptActiveRunSelfHeal 不整卡重弹,not-parked 结局带 `alreadyOffered: true` 判别位,端据此降级渲一行)· `INTERACTIVE_WAY_OUT`(默认出路串单源)· `engineSessionParamFor`(design/285 批 0:`?session=` 派生的 **per-key** 形 —— `hostSessionFor(sessionKey)?.currentSessionId()` + [1501] 空串归一;零参 `engineSessionParam()` = 默认槽兼容层,取值链逐字等价)· `normalizeWirePrincipal`(A-028.10:principal 在场性 trim 原语 —— 全空白=缺席不发头,engineWireTarget 两臂/makeEngineWireClient/壳 livePrincipal 同尺)· `readSessionMemoryStatus` / `classifyMemoryStatusFailure` / `readCaptureOptOut` / `readLastCapture`(S-53 会话记忆姿态读面,0.48.0:失败分诊**码优先**——两个 404 分道 `not_found.session` / `not_found.route`,无码 404 不猜落 failed;五键逐键缺席语义两个合读器,`lastCapture` 三态的判别材料是 `committedCount` 不是本键;IO 归宿主注入 `MemoryStatusClientLike`,详见 §11) · `classifyTurnWireError` / `isWireTransportError` / `isPreStreamDrainingReject` / `isResumeAtRejection` / `drainingRetryDelayMs` / `scenarioDenyFromError` + `WIRE_NETWORK_ERROR_PATTERN`(A-028.11/.13:turn 错误分型判定半场,人话文案与渲染归端)· `resumeRetryLaterFromError`(L-102,0.57.0:resume 族**时间性拒绝**二码的判型半场 —— 这一族里唯一**带得出「等多久」**(`retryAfterSec`)的两个码。🔴 闭集**不是**「哪些码可以等」的名单:同族 `resume.row_recycling` 同样可等(窗口自清)只是没有秒数 ⇒ 本读口返回 `null` 只意味着没命中这两码,详见 §21) · `projectWriteProtectionCapability` / `observedWriteProtection` / `noteEngineCapsForWriteProtection`(0.98.0 退出公面) / `forgetWriteProtectionReading`(0.95.0 退出公面) / `writeProtectionDoctorDetail` / `projectWriteProtectionPosture` / `writeProtectionPostureDetail`(S-138,0.60.0:`Capabilities.writeProtection` (engine ≥7.63.0)的**四态**读面 + operator 面行表 —— 与上面 S-131 那一格**同构同纪律**。🔴 三位刻意不合成一个布尔;`not_reported` **不是**「这台部署没有写保护表」(座位缺席恰是缺省表在岗);逐行 name/kind 走**最小披露**只上 operator 面,详见 §24e)· `projectReadFacePosture` / `readFacePostureDetail` / `readFaceDisagreement`(S-167,0.61.0:operator 面 `diagnostics.wiring.readFace`(engine ≥7.65.0)的窄读器 —— 与上面S-138 那一格**同构同纪律**。🔴 三句「答不出来」逐字互异且没有一句等于「没有 READ 档」;`source` 按开集读;与租户面 `capabilities.readFace` 刻意不合流,只带一个纯比较函数,详见 §25)| 上行通道的**监管**半场(submit / steer / kill / 队列命令定序)+ 传输构造、caps 探测、SSE 断流分诊、**409 active-run 自愈** | `src/controlRouter.ts`、`steering.ts`、`sseIdleTriage.ts`、`retryStatus.ts`、`diagnostics.ts`、`engineWireSdk.ts`、`engineWireTarget.ts`、`src/principalWire.ts`、`src/wireErrorTriage.ts`、`engineSessionParam.ts`、`engineCapsCache.ts`、`liveInitToolFace.ts`、`adapter/activeRunSelfHeal.ts`、`src/sessionMemoryStatus.ts`、`src/writeProtectionCapability.ts`、`src/webSearchBackendCapability.ts`、`src/mcpReconnect.ts`、`src/readFacePosture.ts` |
221
221
 
222
222
 
223
223
 
224
224
 
225
- | 16 | **引擎词汇表与包自检** | 193 | 0.97.0(PK 行,§124)+1 常量 +2 函数(`CONFLICT_IDEMPOTENCY_PAYLOAD_MISMATCH` / `isIdempotencyPayloadMismatchCode` / `idempotencyPayloadMismatchContent`:提交幂等同键换体的码、判定与措辞)· 0.96.0(EF 行,§123)+1 函数(`engineSupportFloorEffective`〔EF-1:`engineVersionTier(version, floor?)` 实际门槛的读口 —— 声明的服务端底线与 `floor` 取高,同一次计算;拒句渲它而不渲壳常量〕)· 0.96.0(KY 行,§123)+2 函数(`readFinishReasonUnknown`〔KY-3:`route.finish_reason_unknown` 通告的事实读器〕· `readStreamEndIgnored`〔KY-4:`route.stream_end_ignored` 通告的事实读器〕,均挂 `ENGINE_NOTICE_FACT_READERS` 派发表)· 0.96.0(NT 行,§123)+9 函数 / 常量(`cutForDisplay`〔NT-1:句界截断原语〕· `noticePresentationFacts`〔NT-2:通告呈现事实〕· `NOTICE_SEAT_CLASS` / `noticeSeatClassOf`〔NT-3:座位类表〕· `outletReachable` / `OUTLET_KINDS` / `planOutletRendering`〔NT-4:出路可达判官〕· `noticePrintLine` / `NOTICE_FULL_TEXT_CAP`〔NT-5:`-p` stderr 行铸点〕)· `REQUEST_AUTONOMY_LANE_REFUSED`(0.94.0 SV / SP2)· `SCENARIO_ASSIGNMENT_UNKNOWN_ERROR_CODE`(0.93.0 CC-451 ⑤:场景指派悬空的 503 码常量;§119)· `coreVersionTier`(0.93.0 CC-355:引擎装机里 core 包版本的三态判定,与 `engineVersionTier` 同一只解析、同一个三态型 `EngineVersionTier`,只差门槛下限来源 —— 取声明的引擎一项 `SUPPORT_FLOOR.core`、调用方只能抬不能降;§119)· `ABORT_CAUSES` / `readAbortCause` / `abortCauseNoteOf`(0.92.0 CC-295:服务端发起的中止在取消终局上留下的成因三词、四落点唯一读口〔表外词不折〕与成因那一句〔本包合成终局行与结果帧 `errors[0]` 补的就是它〕;§118)· `readTurnInterrupted` / `turnInterruptedNotice` / `steerCutVerdict`(0.92.0 CC-374:一次真切断的通告读器、用户面一句与对 steer 回执的对账判词;§118)· `RUN_DEATH_VERDICT_CODES` / `runDeathVerdictNoteOf` + 三码 · `ASK_GONE` · `CAPABILITY_OPERATOR_PRINCIPALS_REQUIRED` / `operatorGateRefusalContent`(0.92.0 CC-371 / CC-370:run 死亡判决三码两类出路句、410 码、运维名单为空码与运维门两句;§118)· `CONFIG_IMAGE_INVALID` / `imageInvalidFailureNoteOf`(0.92.0 CC-369 ⑦:内联图片被拒码进配置拒绝识别表 + 唯一一句出路,只按码判;§118)· `checkpointUnsupportedVersionFromError` / `checkpointUnsupportedVersionContent`(0.91.0 CC-339:续跑被拒 409 `checkpoint.unsupported_version` 的读口与出句口,与 reopen 族同形 —— 读口只在 `retriable: true` 时认领,停驻种类与 run id 是出句口的入参;§117)· `SUPPORT_FLOOR` / `supportFloorOf` / `engineVersionTier`(0.90.0 CC-299:本包机读支持底线声明 —— 服务端 / 引擎 / sdk 三项「仍然支持的最老一版」,冻结对象 + 组件读口;引擎(服务端)版本串三态判定,只认纯 `x.y.z`,门槛 = 声明的服务端底线、调用方只能抬不能降;§116)· `readToolTurnIncomplete`(0.89.0 CC-282:`task.tool_turn_incomplete` 的事实读器,受众 user;§115)· `readUserInputUndrained` / `userInputUndrainedNotice`(0.89.0 CC-282:`task.user_steer_undrained` / `task.user_followup_undrained` 的一只读器两臂与四句用户面话;§115)· `readModelUnreachable`(0.88.0 CC-270 ①:服务端自铸通告 `server.model_unreachable` 的事实读器,受众 user;§114)· `readToolTurnRepaired`(0.88.0 CC-272:`context.tool_turn_repaired` 的事实读器,受众运维面;§114)· `readRuleStoreUnavailable` / `readClassifierUnavailable` / `readPermissionModeUnavailable` / `readAskReleasedByMode` / `readReadDenyUnapplied` / `readLegacyModeSeedMigrated`〔🔧 0.90.0 退出公面,见 §2z〕 + `PERMISSION_MODE_FOLD_REASONS`(0.86.0 CC-249:引擎 7.34.0 新铸六条通告的事实读器,挂进按码派发口;分支键按闭集读、描述性词原样透传;§112)· `RULES_LEGACY_TOOL_NAME` / `isRulesRefusalCode`(0.86.0 CC-251:会话规则写口拒名码常量与 `rules.` 族前缀谓词,开集;§112)· `isCorruptSessionError` / `isCorruptSessionResult` / `isCorruptSessionRunRow` / `isCorruptSessionCode` / `corruptSessionContent` / `CORRUPT_SESSION_ERROR_CODE`(0.85.0 CC-217:会话存档读不出在 HTTP 拒体 / 终局因由 / run 行三处载体同一判定 + 单源人话;§109)· `readSessionRecordsSkipped` / `sessionRecordsSkippedNote`(0.85.0 CC-217:服务端自铸通告 `session.records_skipped` 的事实读器,计数读不出答 `'unknown'` 不折 0;§109)· `sessionDeleteConflictFromError` / `sessionDeleteConflictContent` / `CONFLICT_SESSION_CHILDREN_ALIVE`(0.85.0 CC-243:删会话 409 按码分三形与三句;§109)· `STATUS_DERIVED_COARSE_CODES` / `isStatusDerivedCoarseCode`(0.85.0 CC-243:服务端分发器按状态补的粗码识别表与判定,以铸点为准;§109)· `readInstructionsSourceChanged`(0.84.1 CC-213:`instructions.source_changed` 的事实读器;服务端自铸码的受众手写表 `SERVER_NOTICE_AUDIENCE` 已于 0.89.0 退出公面,逐名见 §2z,受众与在册改读 `noticeAudienceOf` / `engineNoticeInCatalog`;§108 / §115)· `readEngineNoticeFacts` / `ENGINE_NOTICE_FACT_READERS`(0.84.1 CC-214:按码派发的 typed 通告事实口 + 派发表,七只读器八个码,只有受众 `user` 的六码属用户面;§108)· `PARKED_RESUME_STARTUP_FAILED` / `parkedResumeStartupFromError` / `parkedResumeStartupContent`(0.84.1 CC-225:停泊审批决断 422 的码常量、读口与按成因分说的一句话,同一个决定不重发、deny 照开;§108)· `CONFIG_LEGACY_TOOL_NAME` / `legacyToolNameFailureNoteOf`(0.84.1 CC-229:拒启码常量与启动失败出路句,只按码判,列四处可能的位置;§108)· `readReadRootGrantNotice`(0.84.0 CC-185:读目录授权两枚结论通告 `approval.read_root_granted` / `approval.read_root_grant_rejected` 的事实读口,按 `toolCallId` 对卡,没有 granted 通告 = 什么都没加;§107)· `APPROVAL_MANDATE_WORDS` / `isApprovalMandateWord` / `approvalMandateDetail`(0.83.2 CC-195:强制位站在哪一个词上的六词闭集,与引擎型面编译期双向钉;成员判据;每词一句说明;§102)· `resumePolicyBlockFromError` / `resumePolicyBlockContent`(0.82.1 CC-154:续跑折叠码 `resume_blocked_by_policy` 自己的读数与措辞,原码三态;§93)· `corruptStoredRowWhere` / `corruptStoredRowContent`(0.82.0 CC-156:续跑上下文坏档时引擎点名的那一行的读口与措辞单源;§92)· `effectiveWireErrorCode` / `RESUME_POLICY_FOLD_CODE`(0.82.0 CC-154:政策折叠码与「按原码判」的取码单源;§92)· `SETTLEMENT_KIND_WORDS` / `ccToolDenialKindForSettledBy` / `ccToolDenialKindForToolEnd`(0.80.0 CC-133:结算词十三词镜像 + 「谁结算的」→ CC 分类词单铸映射 + `tool_end` 帧合流读口;§87)· `CC_TOOL_DENIAL_KINDS` / `isCcToolDenialKind` / `isCcToolDenialKindADenial` / `isGateDeniedByWord`(0.79.0 CC-125:上游转录记录键 `toolDenialKind` 七词镜像 + 两只谓词 + `DeniedBy` 十词成员谓词;§85)· `mandatedApprovalDetail`(0.79.0 CC-110:「这张卡清不掉」那一句的唯一铸点;§85)· `CONFIG_MEMORY_PROJECT_KEY_SPELLING` / `CONFIG_MEMORY_WRITE_SCOPE_MISMATCH`(CC-96:记忆面两个**构造期**拒码,进既有 `config.` 族识别表;400 拼写 / 409 冲突,分诊归引擎)· `CORE_TASK_NOTIFICATION_TERMINAL_STATUSES` / `isCoreTaskNotificationTerminal` / `isCoreTaskNotificationTerminalNotSuccess`(0.95.0 CC-78 改名带属主;§122 TW-1)· `TASK_NOTIFICATION_TERMINAL_STATUSES` / `isTaskNotificationTerminalStatus`(0.95.0 退出公面)(0.72.12 CC-50:通知自己的四终态词,含 `cancelled`;与 run 级终态表两张表;§59)· `ENGINE_NOTICE_CODES` 71(0.83.0 CC-186:引擎 7.30.0 / 7.31.0 +2 `config.context_settings_swapped` / `config.secret_env_scrubbed`,均 operator;§100。历史:0.82.1 69、0.79.0 68、0.72.11 CC-49 67 —— core 7.23.0 +1 `config.write_protection_unresolved`,operator,兄弟码 `target_view_absent` 之后;§58)· `MCP_REDIAL_OUTCOMES` / `readMcpServerRedialed`(0.72.7 CC-42:通告 `mcp.server_redialed` 事实读器,outcome 三词闭集、added/removed 计数;§54)· `RESUME_CONTEXT_UNAVAILABLE`(0.72.1 CC-33;不进两个 resume 闭集:不可等、也不是换参数)· `RESUME_REOPEN_CODES` / `RESUME_ENV_FAILED` / `RESUME_TOOL_UNAVAILABLE` / `RESUME_TOOL_CONTRACT_MISMATCH` · `resumeReopenFromError` / `resumeReopenContent`(0.71.3 CC-06:resume reopen 族三码闭集 + 读口 + 三句,§45)· `readSkillsListingTruncated`(0.70.0 CC-04:`skills.listing_truncated` 事实读器,§39)· `CONFIG_REFUSAL_CODES`(0.96.0 退出公面) / `isConfigRefusalCode` · `DECIDE_WORKFLOW_LANE_CODES`(+ 三个具名码;`/decide` workflow 车道,三条出路刻意不合并,详见 §30h)· `STOP_CONFLICT_CODES` · `isInterruptedToolEndCode` · `isRewindFamilyCode` · `CLIENT_VERBS` · `compensationSplitViolations` · `DELEGATION_CAP_CODES` / `isDelegationCapCode` / `DELEGATION_CONCURRENCY_CAP` / `DELEGATION_SESSION_CAP`(0.38.0 #318 件④:core 5.48.0 design/323 委派席位到限**两码,处置不对称禁合并** —— 并发帽=**可等**(兄弟结束即有位)/ 会话累计帽=**等也没用**(这条会话的配额用尽))· `CONFIG_DELEGATION_ENTRY_CAPS`(同批入 `CONFIG_REFUSAL_CODES`(0.96.0 退出公面) 识别表)· `delegationCapDispositionOf` / `MCP_SERVER_REVOKED`(0.39.0 载体到货消费件:core 5.50.0 补 `{ error: code, code }` 孪生拼法后两码真上 `tool_end.errorCode`,0.38.0「先立词不落消费分支」的已知局限自此解除;处置轴 `wait-for-slot` / `reuse-existing-or-await-reap` 机器可读(累计帽=retained-window 帐,行回收配额即回,处置=SendMessage 复用,**非**「换会话/永久耗尽」——0.38.0 段该句系勘误),未知 `delegation.*` 码 ⇒ `undefined`;`mcp.server_revoked` = 操作员 mid-session 吊销 server 后的工具面本地闸(被吊销的 server **名**今天不过 wire 境:detail.server 是进程内位,抬升腿只 lift code——归因渲染候 core 补 typed detail,已点名);载体门 = engine-vocab G3 腿锚 core dist 铸点)· `CAPABILITY_SELF_ORCHESTRATION_REQUIRED`(S-81,server 7.57.0:提交面的 selfOrchestration 准入拒绝码。🔴 **复用码** —— 与其它 `capability.*` 501 同体形而处置不同,消费点必须按**恰等**判、绝不放宽成前缀判;判型与「去键重发一次」归 `src/selfOrchestrationDenial.ts`,详见 §13) · `GATE_PARKED_ERROR_CODE`(0.60.0:「门把这次调用 park 了」的机读码单源 —— `frameRouter` 的连坐/中断判据与 `gateOutcome.isGateParkedToolEnd` 读同一个常量;真机黑盒直证 park 短路帧上**没有 `gate`**,这个码是那一形唯一的信号,详见 §24c)| 三端分臂共用的**去字面化** `errorCode` 词表(病根正是三端各抄一份字面);编译期 verb 闭合门;搬迁补偿登记表 | `src/engineErrorCodes.ts`(计数以 `scripts/public-export-baseline.json` 为准,别手抄;A-028.11/.13 补 `DRAINING_ERROR_CODE`/`SCENARIO_NOT_ALLOWED_ERROR_CODE`/`RESUME_AT_ERROR_CODE_PREFIX`;#318 件④ 补 `delegation.*` 族四位 + `config.delegation_entry_caps`;0.39.0 补三新码消费件三位);S-81 补 `capability.self_orchestration_required` 一位;L-102 补 `resume.*` 时间性拒绝二码 + 闭集 `RESUME_RETRY_LATER_CODES` 三位)、`src/classifierVerdictWire.ts`、`src/compensations.ts`、`src/clientSlice.ts`;**0.67.0 补锚**(这三件的导出一直计在本域,而本表此前没有它们的锚行 —— 如实补上,不是搬家):`src/gateVocabulary.ts`(`GATE_DENIED_BY_WORDS`/`gateDeniedByDetail`/`ASK_ORIGIN_WORDS`/`askOriginDetail`〔0.93.0 起单参〕;0.67.0 补入的 `ruleStoreUnreadable` 一族三名 0.93.0 退出公面,§119 RT-1)、`src/autoModeUnavailable.ts`(`AUTO_MODE_UNAVAILABLE_CAUSES` + 🆕 `CLASSIFIER_DENY_CAUSES`/`isClassifierDenyCause`/`classifierDenyCauseOf`/`classifierDenyCauseDetail`;🔴 同批**删**`classifierUnavailableOf`/`classifierUnavailableDetail`,详见 §32b)、`src/classifierStatus.ts`(`CLASSIFIER_STATUS_STATES`/`classifierStatusOf`/`classifierStatusDetail`)|
225
+ | 16 | **引擎词汇表与包自检** | 193 | 0.98.0(BA 行,§126)+1 常量(`BUILTIN_SUBAGENT_TYPES`:内建子代理名表〔Explore / Plan / fork / general-purpose,构建期取自引擎包根,名随引擎〕;§126 BA-1)· 0.97.0(PK 行,§124)+1 常量 +2 函数(`CONFLICT_IDEMPOTENCY_PAYLOAD_MISMATCH` / `isIdempotencyPayloadMismatchCode` / `idempotencyPayloadMismatchContent`:提交幂等同键换体的码、判定与措辞)· 0.96.0(EF 行,§123)+1 函数(`engineSupportFloorEffective`〔EF-1:`engineVersionTier(version, floor?)` 实际门槛的读口 —— 声明的服务端底线与 `floor` 取高,同一次计算;拒句渲它而不渲壳常量〕)· 0.96.0(KY 行,§123)+2 函数(`readFinishReasonUnknown`〔KY-3:`route.finish_reason_unknown` 通告的事实读器〕· `readStreamEndIgnored`〔KY-4:`route.stream_end_ignored` 通告的事实读器〕,均挂 `ENGINE_NOTICE_FACT_READERS` 派发表)· 0.96.0(NT 行,§123)+9 函数 / 常量(`cutForDisplay`〔NT-1:句界截断原语〕· `noticePresentationFacts`〔NT-2:通告呈现事实〕· `NOTICE_SEAT_CLASS` / `noticeSeatClassOf`〔NT-3:座位类表〕· `outletReachable` / `OUTLET_KINDS` / `planOutletRendering`〔NT-4:出路可达判官〕· `noticePrintLine` / `NOTICE_FULL_TEXT_CAP`〔NT-5:`-p` stderr 行铸点〕)· `REQUEST_AUTONOMY_LANE_REFUSED`(0.94.0 SV / SP2)· `SCENARIO_ASSIGNMENT_UNKNOWN_ERROR_CODE`(0.93.0 CC-451 ⑤:场景指派悬空的 503 码常量;§119)· `coreVersionTier`(0.93.0 CC-355:引擎装机里 core 包版本的三态判定,与 `engineVersionTier` 同一只解析、同一个三态型 `EngineVersionTier`,只差门槛下限来源 —— 取声明的引擎一项 `SUPPORT_FLOOR.core`、调用方只能抬不能降;§119)· `ABORT_CAUSES` / `readAbortCause` / `abortCauseNoteOf`(0.92.0 CC-295:服务端发起的中止在取消终局上留下的成因三词、四落点唯一读口〔表外词不折〕与成因那一句〔本包合成终局行与结果帧 `errors[0]` 补的就是它〕;§118)· `readTurnInterrupted` / `turnInterruptedNotice` / `steerCutVerdict`(0.92.0 CC-374:一次真切断的通告读器、用户面一句与对 steer 回执的对账判词;§118)· `RUN_DEATH_VERDICT_CODES` / `runDeathVerdictNoteOf` + 三码 · `ASK_GONE` · `CAPABILITY_OPERATOR_PRINCIPALS_REQUIRED` / `operatorGateRefusalContent`(0.92.0 CC-371 / CC-370:run 死亡判决三码两类出路句、410 码、运维名单为空码与运维门两句;§118)· `CONFIG_IMAGE_INVALID` / `imageInvalidFailureNoteOf`(0.92.0 CC-369 ⑦:内联图片被拒码进配置拒绝识别表 + 唯一一句出路,只按码判;§118)· `checkpointUnsupportedVersionFromError` / `checkpointUnsupportedVersionContent`(0.91.0 CC-339:续跑被拒 409 `checkpoint.unsupported_version` 的读口与出句口,与 reopen 族同形 —— 读口只在 `retriable: true` 时认领,停驻种类与 run id 是出句口的入参;§117)· `SUPPORT_FLOOR` / `supportFloorOf` / `engineVersionTier`(0.90.0 CC-299:本包机读支持底线声明 —— 服务端 / 引擎 / sdk 三项「仍然支持的最老一版」,冻结对象 + 组件读口;引擎(服务端)版本串三态判定,只认纯 `x.y.z`,门槛 = 声明的服务端底线、调用方只能抬不能降;§116)· `readToolTurnIncomplete`(0.89.0 CC-282:`task.tool_turn_incomplete` 的事实读器,受众 user;§115)· `readUserInputUndrained` / `userInputUndrainedNotice`(0.89.0 CC-282:`task.user_steer_undrained` / `task.user_followup_undrained` 的一只读器两臂与四句用户面话;§115)· `readModelUnreachable`(0.88.0 CC-270 ①:服务端自铸通告 `server.model_unreachable` 的事实读器,受众 user;§114)· `readToolTurnRepaired`(0.88.0 CC-272:`context.tool_turn_repaired` 的事实读器,受众运维面;§114)· `readRuleStoreUnavailable` / `readClassifierUnavailable` / `readPermissionModeUnavailable` / `readAskReleasedByMode` / `readReadDenyUnapplied` / `readLegacyModeSeedMigrated`〔🔧 0.90.0 退出公面,见 §2z〕 + `PERMISSION_MODE_FOLD_REASONS`(0.86.0 CC-249:引擎 7.34.0 新铸六条通告的事实读器,挂进按码派发口;分支键按闭集读、描述性词原样透传;§112)· `RULES_LEGACY_TOOL_NAME`(0.98.0 退出公面) / `isRulesRefusalCode`(0.86.0 CC-251:会话规则写口拒名码常量〔0.98.0 RD-5 退〕与 `rules.` 族前缀谓词,开集;§112)· `isCorruptSessionError` / `isCorruptSessionResult` / `isCorruptSessionRunRow` / `isCorruptSessionCode` / `corruptSessionContent` / `CORRUPT_SESSION_ERROR_CODE`(0.85.0 CC-217:会话存档读不出在 HTTP 拒体 / 终局因由 / run 行三处载体同一判定 + 单源人话;§109)· `readSessionRecordsSkipped` / `sessionRecordsSkippedNote`(0.85.0 CC-217:服务端自铸通告 `session.records_skipped` 的事实读器,计数读不出答 `'unknown'` 不折 0;§109)· `sessionDeleteConflictFromError` / `sessionDeleteConflictContent` / `CONFLICT_SESSION_CHILDREN_ALIVE`(0.85.0 CC-243:删会话 409 按码分三形与三句;§109)· `STATUS_DERIVED_COARSE_CODES` / `isStatusDerivedCoarseCode`(0.85.0 CC-243:服务端分发器按状态补的粗码识别表与判定,以铸点为准;§109)· `readInstructionsSourceChanged`(0.84.1 CC-213:`instructions.source_changed` 的事实读器;服务端自铸码的受众手写表 `SERVER_NOTICE_AUDIENCE` 已于 0.89.0 退出公面,逐名见 §2z,受众与在册改读 `noticeAudienceOf` / `engineNoticeInCatalog`;§108 / §115)· `readEngineNoticeFacts` / `ENGINE_NOTICE_FACT_READERS`(0.84.1 CC-214:按码派发的 typed 通告事实口 + 派发表,七只读器八个码,只有受众 `user` 的六码属用户面;§108)· `PARKED_RESUME_STARTUP_FAILED` / `parkedResumeStartupFromError` / `parkedResumeStartupContent`(0.84.1 CC-225:停泊审批决断 422 的码常量、读口与按成因分说的一句话,同一个决定不重发、deny 照开;§108)· `CONFIG_LEGACY_TOOL_NAME` / `legacyToolNameFailureNoteOf`(0.84.1 CC-229:拒启码常量与启动失败出路句,只按码判,列四处可能的位置;§108)· `readReadRootGrantNotice`(0.84.0 CC-185:读目录授权两枚结论通告 `approval.read_root_granted` / `approval.read_root_grant_rejected` 的事实读口,按 `toolCallId` 对卡,没有 granted 通告 = 什么都没加;§107)· `APPROVAL_MANDATE_WORDS` / `isApprovalMandateWord` / `approvalMandateDetail`(0.83.2 CC-195:强制位站在哪一个词上的六词闭集,与引擎型面编译期双向钉;成员判据;每词一句说明;§102)· `resumePolicyBlockFromError` / `resumePolicyBlockContent`(0.82.1 CC-154:续跑折叠码 `resume_blocked_by_policy` 自己的读数与措辞,原码三态;§93)· `corruptStoredRowWhere` / `corruptStoredRowContent`(0.82.0 CC-156:续跑上下文坏档时引擎点名的那一行的读口与措辞单源;§92)· `effectiveWireErrorCode` / `RESUME_POLICY_FOLD_CODE`(0.82.0 CC-154:政策折叠码与「按原码判」的取码单源;§92)· `SETTLEMENT_KIND_WORDS` / `ccToolDenialKindForSettledBy` / `ccToolDenialKindForToolEnd`(0.80.0 CC-133:结算词十三词镜像 + 「谁结算的」→ CC 分类词单铸映射 + `tool_end` 帧合流读口;§87)· `CC_TOOL_DENIAL_KINDS` / `isCcToolDenialKind` / `isCcToolDenialKindADenial` / `isGateDeniedByWord`(0.79.0 CC-125:上游转录记录键 `toolDenialKind` 七词镜像 + 两只谓词 + `DeniedBy` 十词成员谓词;§85)· `mandatedApprovalDetail`(0.79.0 CC-110:「这张卡清不掉」那一句的唯一铸点;§85)· `CONFIG_MEMORY_PROJECT_KEY_SPELLING` / `CONFIG_MEMORY_WRITE_SCOPE_MISMATCH`(CC-96:记忆面两个**构造期**拒码,进既有 `config.` 族识别表;400 拼写 / 409 冲突,分诊归引擎)· `CORE_TASK_NOTIFICATION_TERMINAL_STATUSES` / `isCoreTaskNotificationTerminal` / `isCoreTaskNotificationTerminalNotSuccess`(0.95.0 CC-78 改名带属主;§122 TW-1)· `TASK_NOTIFICATION_TERMINAL_STATUSES` / `isTaskNotificationTerminalStatus`(0.95.0 退出公面)(0.72.12 CC-50:通知自己的四终态词,含 `cancelled`;与 run 级终态表两张表;§59)· `ENGINE_NOTICE_CODES` 71(0.83.0 CC-186:引擎 7.30.0 / 7.31.0 +2 `config.context_settings_swapped` / `config.secret_env_scrubbed`,均 operator;§100。历史:0.82.1 69、0.79.0 68、0.72.11 CC-49 67 —— core 7.23.0 +1 `config.write_protection_unresolved`,operator,兄弟码 `target_view_absent` 之后;§58)· `MCP_REDIAL_OUTCOMES` / `readMcpServerRedialed`(0.72.7 CC-42:通告 `mcp.server_redialed` 事实读器,outcome 三词闭集、added/removed 计数;§54)· `RESUME_CONTEXT_UNAVAILABLE`(0.72.1 CC-33;不进两个 resume 闭集:不可等、也不是换参数)· `RESUME_REOPEN_CODES` / `RESUME_ENV_FAILED` / `RESUME_TOOL_UNAVAILABLE` / `RESUME_TOOL_CONTRACT_MISMATCH` · `resumeReopenFromError` / `resumeReopenContent`(0.71.3 CC-06:resume reopen 族三码闭集 + 读口 + 三句,§45)· `readSkillsListingTruncated`(0.70.0 CC-04:`skills.listing_truncated` 事实读器,§39)· `CONFIG_REFUSAL_CODES`(0.96.0 退出公面) / `isConfigRefusalCode` · `DECIDE_WORKFLOW_LANE_CODES`(+ 三个具名码;`/decide` workflow 车道,三条出路刻意不合并,详见 §30h)· `STOP_CONFLICT_CODES` · `isInterruptedToolEndCode` · `isRewindFamilyCode` · `CLIENT_VERBS` · `compensationSplitViolations` · `DELEGATION_CAP_CODES` / `isDelegationCapCode` / `DELEGATION_CONCURRENCY_CAP` / `DELEGATION_SESSION_CAP`(0.38.0 #318 件④:core 5.48.0 design/323 委派席位到限**两码,处置不对称禁合并** —— 并发帽=**可等**(兄弟结束即有位)/ 会话累计帽=**等也没用**(这条会话的配额用尽))· `CONFIG_DELEGATION_ENTRY_CAPS`(同批入 `CONFIG_REFUSAL_CODES`(0.96.0 退出公面) 识别表)· `delegationCapDispositionOf` / `MCP_SERVER_REVOKED`(0.39.0 载体到货消费件:core 5.50.0 补 `{ error: code, code }` 孪生拼法后两码真上 `tool_end.errorCode`,0.38.0「先立词不落消费分支」的已知局限自此解除;处置轴 `wait-for-slot` / `reuse-existing-or-await-reap` 机器可读(累计帽=retained-window 帐,行回收配额即回,处置=SendMessage 复用,**非**「换会话/永久耗尽」——0.38.0 段该句系勘误),未知 `delegation.*` 码 ⇒ `undefined`;`mcp.server_revoked` = 操作员 mid-session 吊销 server 后的工具面本地闸(被吊销的 server **名**今天不过 wire 境:detail.server 是进程内位,抬升腿只 lift code——归因渲染候 core 补 typed detail,已点名);载体门 = engine-vocab G3 腿锚 core dist 铸点)· `CAPABILITY_SELF_ORCHESTRATION_REQUIRED`(S-81,server 7.57.0:提交面的 selfOrchestration 准入拒绝码。🔴 **复用码** —— 与其它 `capability.*` 501 同体形而处置不同,消费点必须按**恰等**判、绝不放宽成前缀判;判型与「去键重发一次」归 `src/selfOrchestrationDenial.ts`,详见 §13) · `GATE_PARKED_ERROR_CODE`(0.60.0:「门把这次调用 park 了」的机读码单源 —— `frameRouter` 的连坐/中断判据与 `gateOutcome.isGateParkedToolEnd` 读同一个常量;真机黑盒直证 park 短路帧上**没有 `gate`**,这个码是那一形唯一的信号,详见 §24c)| 三端分臂共用的**去字面化** `errorCode` 词表(病根正是三端各抄一份字面);编译期 verb 闭合门;搬迁补偿登记表 | `src/engineErrorCodes.ts`(计数以 `scripts/public-export-baseline.json` 为准,别手抄;A-028.11/.13 补 `DRAINING_ERROR_CODE`/`SCENARIO_NOT_ALLOWED_ERROR_CODE`/`RESUME_AT_ERROR_CODE_PREFIX`;#318 件④ 补 `delegation.*` 族四位 + `config.delegation_entry_caps`;0.39.0 补三新码消费件三位);S-81 补 `capability.self_orchestration_required` 一位;L-102 补 `resume.*` 时间性拒绝二码 + 闭集 `RESUME_RETRY_LATER_CODES` 三位)、`src/classifierVerdictWire.ts`、`src/compensations.ts`、`src/clientSlice.ts`;**0.67.0 补锚**(这三件的导出一直计在本域,而本表此前没有它们的锚行 —— 如实补上,不是搬家):`src/gateVocabulary.ts`(`GATE_DENIED_BY_WORDS`/`gateDeniedByDetail`/`ASK_ORIGIN_WORDS`/`askOriginDetail`〔0.93.0 起单参〕;0.67.0 补入的 `ruleStoreUnreadable` 一族三名 0.93.0 退出公面,§119 RT-1)、`src/autoModeUnavailable.ts`(`AUTO_MODE_UNAVAILABLE_CAUSES` + 🆕 `CLASSIFIER_DENY_CAUSES`/`isClassifierDenyCause`/`classifierDenyCauseOf`/`classifierDenyCauseDetail`;🔴 同批**删**`classifierUnavailableOf`/`classifierUnavailableDetail`,详见 §32b)、`src/classifierStatus.ts`(`CLASSIFIER_STATUS_STATES`/`classifierStatusOf`/`classifierStatusDetail`)|
226
226
 
227
227
 
228
228
 
@@ -236,6 +236,17 @@ SDK 核对「本包 import 的每个值级符号仍然导出」「`TaskStats.cos
236
236
 
237
237
  | 退役 | 名 | 退出版本 | 改用什么 |
238
238
  |---|---|---|---|
239
+ | 🔧 退出公面 | 十九只能力位读器的探测闭包 tee 口:`noteEngineCapsForApprovalDecidedBy` / `noteEngineCapsForApprovalsStreamLive` / `noteEngineCapsForDeviceExecutorManagement` / `noteEngineCapsForExecutionLane` / `noteEngineCapsForFileHistoryCapture` / `noteEngineCapsForOutputStyleSeat` / `noteEngineCapsForPeerLane` / `noteEngineCapsForPermissionRulesWrite` / `noteEngineCapsForPermissionsAllowGrant` / `noteEngineCapsForRewindArchive` / `noteEngineCapsForSessionPolicy` / `noteEngineCapsForSessionSyncFileHistory` / `noteEngineCapsForSkillToolLists` / `noteEngineCapsForSqlEngine` / `noteEngineCapsForSteerPriority` / `noteEngineCapsForUserInvokedSkills` / `noteEngineCapsForWebSearchBackend` / `noteEngineCapsForWorkflowsJournal` / `noteEngineCapsForWriteProtection`(0.95.0 起即空调用) | 0.98.0 | 无替代:删掉调用即可 —— 读数只从总缓存的落地派生,`observed*` 读口与上一版逐字节同;探测闭包里同拍要用读数的宿主读手上这一发的投影 `project*Capability(caps)`(型面 BREAKING:按名 import 的端编译红一次,ES 模块宿主绕过类型检查直接具名 import 则模块加载失败;终端 49 处代码位,见 §126 RB-1) |
240
+ | 🔧 退出公面 | 十四只能力位读器的测试钩:`__resetApprovalDecidedByReadingsForTests` / `__resetApprovalsStreamLiveReadingsForTests` / `__resetDeviceExecutorManagementReadingsForTests` / `__resetExecutionLaneReadingsForTests` / `__resetFileHistoryCaptureReadingsForTests` / `__resetPeerLaneReadingsForTests` / `__resetPermissionRulesWriteReadingsForTests` / `__resetPermissionsAllowGrantReadingsForTests` / `__resetRewindArchiveReadingsForTests` / `__resetSessionPolicyReadingsForTests` / `__resetSqlEngineReadingsForTests` / `__resetWebSearchBackendReadingsForTests` / `__resetWorkflowsJournalReadingsForTests` / `__resetWriteProtectionReadingsForTests` | 0.98.0 | `__resetEngineCapsCacheForTests`(总缓存的重置,连落地一起清;读器的记忆表按落地记录记忆化,下一次落地重新投影)—— 只为让读器重新投影而调的那几处直接删掉(它从来不改读数)。测试钩,不在 `names` 里;终端测试五文件 39 处与十只壳侧转口模块,见 §126 RB-2 |
241
+ | 🔧 退出公面 | `subscribeEngineAgentPanel`(面板旧事件订阅口) | 0.98.0 | 行差分口 `subscribeEnginePanelRows(fn)`(按 `canonicalId` 维护行表;订阅即按当前行表回放快照;陈旧 / 同代重复终态在包内判完)。型面 BREAKING:按名 import 的端编译红一次,见 §126 RA-1 |
242
+ | 🔧 退出公面 | `subscribeEngineAgentPanelAbsence` / `__resetEngineAgentPanelAbsenceForTests`(缺席订阅口与它的测试钩) | 0.98.0 | 行差分口的 `upsert{ fields.absence }`(`null` = 撤标;真终态 ⇒ `terminal`);发布口 `publishEngineAgentPanelAbsence` 与载荷型不变。型面 BREAKING,见 §126 RA-2 |
243
+ | 🔧 退出公面 | `excludeToolsAgainstDirectory`(run 级 `excludeTools` 的目录判官;+ 具名型 `ExcludeToolsAgainstDirectory`) | 0.98.0 | 无替代:`excludeTools` 原样交引擎(无应答的名它告一句、不拒);还想给用户看「这个服务器没声明」的,读 `engineToolDirectoryOf` 自己比(型面 BREAKING:按名 import 的端编译红一次,三端零调用,见 §126 RD-4) |
244
+ | 🔧 退出公面 | `RULES_LEGACY_TOOL_NAME`(会话规则写口老码 `rules.legacy_tool_name` 的常量) | 0.98.0 | 无替代:服务端 7.129.0 起该码退役、同一族落 `rules.inert_entry`(`RULES_INERT_ENTRY`,失败臂 `inert-entry` / 结局 `inert_entry`);底线以下的老服务端仍发它时落通用结局(型面 BREAKING:按名 import 的端编译红一次,三端零命中,见 §126 RD-5) |
245
+ | 🔧 退出公面 | `MAX_AGENT_TOOLS` / `MAX_AGENT_TOOL_NAME_CHARS` / `MAX_AGENT_NAME_CHARS` / `MAX_AGENT_MAX_TURNS`(服务端代理受理口帽的手抄:工具清单条数 / 单条工具名长 / agent 名长 / 轮数) | 0.98.0 | 无替代:本包不再按这些帽剔截或丢弃代理定义 —— 超长名 / 超长清单条目 / 越界 `maxTurns` 原样上体,服务端 400 点名字段(`agent.name` / `agent.maxTurns` 等);`MAX_TASK_AGENTS`(32 只)暂留(型面 BREAKING:按名 import 的端编译红一次,读点也要删;终端 `sema/agentsWire.test.ts:21` / `:24` 的 import 与 `:129` 的读点,见 §126 TK-6;前两名此前登在 §126 TK-6,后两名是同轴孪生、同批退) |
246
+ | 🔧 退出公面 | `taskRequestOmissionCausePhrase`(省略成因的从句口:只交「为什么」那半句,小写起头、无句点) | 0.98.0 | 整句口 `taskRequestOmissionCauseNotice(cause)` 或整句表 `TASK_REQUEST_OMISSION_CAUSE_NOTICES`(四句与表外兜底句逐字节不变;从句只住在整句里,要接在自家「没发出去」行形之后的直接渲整句;型面 BREAKING:按名 import 的端编译红一次,三端生产与测试源零调用,见 §126 HK-2) |
247
+ | 🔧 退出公面 | `approvalResolutionOf` / `approvalOutcomeNoteOf` / `readToolApprovalRespondRefusal`(审批决断结局的派生映射口 / 结局便签口 / 活卡拒绝便签读口;+ 具名型 `FsApprovalOutcome` / `ToolApprovalFrameOutcome` / 本包 `GateOutcome` / `ApprovalLegOutcome` / `StreamApprovalOutcomeNote` / `ToolApprovalRespondRefusal` / `HitlFailureStage`) | 0.98.0 | 三条决断车道直接返回 `ApprovalResolution`(§126 HM-R1):结局读联合本身;便签那几位改读 `approvalResolutionDetail(r)` 与 `unsettled.refusal`;一发被拒的决断的读数读 `readDecisionRefusalReading(err, context)`(型面 BREAKING:按名 import 的端编译红一次;退役登记 RL-152) |
248
+ | 🔧 退出公面 | `resetManualCompactCapability`(`/compact` 能力位的重置口;0.95.0 起即空调用) | 0.98.0 | 无替代:`/compact` 的能力读数只在总缓存里、只随 `invalidateEngineCaps(baseUrl, probe)` 换代(引擎温切处只调它);能力失效从不动 `/compact` 的待发台账(型面 BREAKING:按名 import 的端编译红一次,三端实际零调用,见 §126 CP 段) |
249
+ | 🔧 退出公面 | `noteEngineCapsForAttachmentSeat` / `observedAttachmentSeat` / `__resetAttachmentSeatReadingsForTests`(+ 具名型 `AttachmentSeatReading`) | 0.98.0 | 无(附件席位能力位的占位读器:恒 `not_reported`、三端零读点,已退役;上游席位能力位到货时按到货的键名新写一只读器。编码口 `encodeHumanTurn` 本来就只读入参 `caps`,分流零变;型面 BREAKING:终端 `sema/liveClient.ts` 的一处 import 与一处调用编译红一次,见 §126 ST-3) |
239
250
  | 🔧 退出公面 | `ASK_PARK_GATE_KINDS`(审批腿受理门种的手写副本;0.96.0 出公面) | 0.97.0 | 成员表读根入口 `APPROVAL_DECIDE_GATE_KINDS`(sdk 21.1.0 那一只,原样转口);判「一行 / 一道门归哪只决断口」读 `durableDecideLegOf({ gateKind })`。同名 `PLAN_REVIEW_GATE_KINDS` 仍在根入口,0.97.0 起就是 sdk 那一只(型收窄为字面元组) |
240
251
  | 🔧 退出公面 | `isFsApprovalGate`(停驻门的「fs 写审批门」谓词;首行认门种位 `tool_approval`) | 0.97.0 | `isToolApprovalGate(gate)`(停驻门是不是工具审批停驻:门种归审批腿 `human` / `irreversible_ask` 的任意非问答工具;门种读不出时退回 fs 写 / shell 名字族)或 `durableDecideLegOf({ gateKind })`(门种 → 耐久决断腿);只问工具名是不是 fs 写用 `toolNameIsFsWrite(name)`。`tool_approval` 不是门种(审批门的 pending 种),wire 的门种位上从不出现(型面 BREAKING:按名 import 或原名转出的端编译红一次,见 §124 HT-1) |
241
252
  | 🔧 退出公面 | `isEngineRefusedToolName`(引擎准备期按名字拒启的判据本体:构建期退役名表 + 「含 `__` 无协议前缀」两臂) | 0.97.0 | `ruleToolNameVerdictOf(name)`(引擎判官 `judgeRuleToolName` 的五态读法):`.kind` 既非 `current` 也非 `unknown` = 引擎会拒;`unknown` = 这里判不出(判官端口没装 / 答不上来)。另认段铸不出 `unmintable_segment` 这一类(引擎 7.48.0 起同样拒启)(§124 TN-3) |
@@ -247,6 +258,8 @@ SDK 核对「本包 import 的每个值级符号仍然导出」「`TaskStats.cos
247
258
  | 🔧 退出公面 | 14 只测试钩 `__reset<X>ReadingsForTests`(X 取 CallerCwd / UserInvokedSkills / StorePosture / SteerPriority / SkillToolLists / SessionSyncFileHistory / SessionReadRedaction / SealedKey / PermissionModes / OutputStyleSeat / MemoryOrigin / MemoryCompliance / McpProbe / CenterWiring) | 0.96.0 | `__resetEngineCapsCacheForTests`(总缓存的重置;读器的记忆表按落地记录记忆化,总缓存重置之后下一次读重新投影)。测试钩,不在 `names` 里,三端零读点;见 §123 RT-7 |
248
259
  | 🔧 退出公面 | `TERMINAL_CAUSE_KINDS` / `RUN_TERMINAL_STATUSES` / `RUN_TERMINAL_NOT_SUCCESS_STATUSES` / `TASK_NOTIFICATION_TERMINAL_STATUSES` / `TERMINAL_FLEET_TASK_STATUSES` / `CLAIM_RELEASED_STATES` / `isTerminalCauseKind` / `isTerminalStatus` / `isTerminalNotSuccess` / `isTaskNotificationTerminalStatus`(+ 具名型 `TerminalCauseKind` / `RunTerminalStatus` / `RunTerminalNotSuccessStatus`) | 0.95.0 | 按读的那一面换属主名(型面 BREAKING,逐名对照见 §122 TW-1):因由 `CORE_TERMINAL_CAUSE_KINDS` / `isCoreTerminalCauseKind`;run 行 `SDK_RUN_TERMINAL_STATUSES` / `isSdkRunTerminal` / `isSdkRunTerminalNotSuccess`(没有 `killed`、多历史行 `timeout`);fleet 行 `SDK_FLEET_TASK_TERMINAL_STATUSES` / `isSdkFleetTaskTerminal` / `isSdkFleetTaskTerminalNotSuccess`;通知 `CORE_TASK_NOTIFICATION_TERMINAL_STATUSES` / `isCoreTaskNotificationTerminal` / `isCoreTaskNotificationTerminalNotSuccess`;登记任务 / TaskOutput 卡 `CORE_SEMA_TASK_TERMINAL_STATUSES` / `isCoreSemaTaskTerminal` |
249
260
  | 🔧 退出公面 | `providerRejectionResend`(具名型 `ProviderRejectionResend` 仍在根入口:合成终局行上 `_sema_provider_rejection_resend` 键的值就是它) | 0.95.0 | 合成终局行上的 `_sema_provider_rejection_resend`(`{ resend, text }`,`text` 非空串即那一句,同一行行尾另起一行已经带着它)与 `-p` 车道结果帧 `errors[0]`;包内铸点照用同一只函数、句子与键的形不变(0.93.0 起弃用预告;型面 BREAKING,见 §122 RX-1) |
261
+ | 🔧 退出公面 | `isAlreadyResolvedGateReason` / `isGateStandingErrorCode` / `isCodeClassifiedGateFailure`(「门已决」判据的三只拼装件:失败文字扫词表 / 两只码判官) | 0.98.0 | `isAlreadyResolvedFailure(failure)` —— 入参是 catch 到的整只抛出物(不是 `e.message`)或决断腿交回的结局,码优先、码说清了处置就不扫文字(三只在包内照用、判据不变;型面 BREAKING:按名 import 的端编译红一次,桌面端会话宿主一处,见 §126 RC-1) |
262
+ | 🔧 退出公面 | `projectSessionReadRedactionCapability` / `observedSessionReadRedaction` / `sessionReadRedactionAdmitted`(+ 具名型 `SessionReadRedactionReading`;会话历史读面脱敏位的读器) | 0.98.0 | 无:布尔能力位答不了按叶的脱敏射程,读器整只退役;服务端「真正过了脱敏的叶名表」到货前本包不出脱敏读数,端回放历史时推理 / 工具输出 / `errorMessage` 一律按「未证明已脱敏」处置(过 `displayUntrusted`);三端零读点,见 §126 RC-4 |
250
263
  | 🔧 退出公面 | `forgetApprovalDecidedByReading` / `forgetApprovalsStreamLiveReading` / `forgetAttachmentSeatReading` / `forgetCallerCwdReading` / `forgetCenterWiringReading` / `forgetDeviceExecutorManagementReading` / `forgetExecutionLaneReading` / `forgetFileHistoryCaptureReading` / `forgetMcpProbeReading` / `forgetMemoryComplianceReading` / `forgetMemoryOriginReading` / `forgetOutputStyleSeatReading` / `forgetPeerLaneReading` / `forgetPermissionModesReading` / `forgetPermissionRulesWriteReading` / `forgetPermissionsAllowGrantReading` / `forgetRewindArchiveReading` / `forgetSealedKeyReading` / `forgetSessionPolicyReading` / `forgetSessionReadRedactionReading` / `forgetSessionSyncFileHistoryReading` / `forgetSkillToolListsReading` / `forgetSqlEngineReading` / `forgetSteerPriorityReading` / `forgetStorePostureReading` / `forgetUserInvokedSkillsReading` / `forgetWebSearchBackendReading` / `forgetWorkflowsJournalReading` / `forgetWriteProtectionReading` | 0.95.0 | `invalidateEngineCaps(baseUrl)`(换代失效的唯一口:读器的格随能力缓存代际自动失效,不调任何逐只失效口读数同;0.92.0 起可选、0.92.0 / 0.93.0 / 0.94.0 三版预告;型面 BREAKING,见 §122 RX-2) |
251
264
  | 🔧 退出公面 | `isSeatModelCatalog`(+ 具名型 `SeatModelCatalog` / `SeatModelInfo`) | 0.95.0 | 座位 `listModels()` 交在线目录 `LiveModelCatalog`(宿主把回体过 `readLiveModelCatalog`);渲染端读 `liveModelRowsOf` / `liveDefaultModelOf`;行键是 `name`(型面 BREAKING,见 §122 WB-4) |
252
265
  | 🔧 退出公面 | `classifyRegistryConflict`(0.95.0 退出公面) / `isScopeGoneError`(0.95.0 退出公面)(+ 具名型 `RegistryConflictClass`) | 0.95.0 | 判读口 `classifyRegistryConflict`(0.95.0 退出公面)、型 `RegistryConflictClass` 改从子路径入口 `@sema-agent/client-core/registry` 取(原样转口上游 `@sema-agent/sdk/registry` 的同一函数,调用与返回值逐字不变);`isScopeGoneError`(0.95.0 退出公面) 无替代 —— 对上游两只 scope-gone 错误类做 `instanceof`,或拿原始 `(status, 已解析体)` 调判读口(型面 BREAKING,见 §122 FX-H2) |
@@ -279,6 +292,7 @@ SDK 核对「本包 import 的每个值级符号仍然导出」「`TaskStats.cos
279
292
  | 标签 | 文件 | 删除版本 | 改看 |
280
293
  |---|---|---|---|
281
294
  | 已删文件 | `src/panelRunningHistory.ts` | 0.95.0 | running 历史 / ended 账 / 缓着的首见终态行三本账成为面板记录的字段,在归约口模块 panelReduce.ts(PR-3) |
295
+ | 已删文件 | `src/hitl/approvalOutcomeNote.ts` | 0.98.0 | 结局便签口 `approvalOutcomeNoteOf`(已退役)与便签型零别名退;两句常量搬进 `src/hitl/approvalResolution.ts`(同名照旧在根入口),便签三位改读结局本身(§126 HM-R1 / HM-R4) |
282
296
 
283
297
 
284
298
  ## §3 事件投影契约(下行)
@@ -823,7 +837,7 @@ persistRule !== undefined
823
837
 
824
838
  **实现锚**:`src/hitl/toolApprovalWire.ts`(`ApprovalCardAllowDecision.persistRuleEdited` /
825
839
  `RespondToolApprovalOpts.persistRuleEdited` / `ToolApprovalFrameLaneOpts.respondFreeFormRulesCapable` /
826
- `ToolApprovalRespondRefusal` / `readToolApprovalRespondRefusal` / `surfaceToolApprovalFrameAndRespond`
840
+ `ApprovalResolution` 的 `unsettled.refusal`(0.98.0 起;旧便签读口 `readToolApprovalRespondRefusal` 已退役)/ `surfaceToolApprovalFrameAndRespond`
827
841
  的兑付段与 catch 段)、`src/hitl/editedRuleTextPrecheck.ts`(预检转出口)。
828
842
  **常驻门**:`scripts/run-hitl-gate-honesty-test.mjs` 的 **F12** 三腿(能力位缺席不发 / 表核让位负控 /
829
843
  400 原文可达),各带负控。
@@ -1463,7 +1477,7 @@ HITL 面有 `hitlHostSurfaceFor` —— 见 §5a 的 (a) 表;队列口没有,登
1463
1477
  - `own_root` 是**内容自校臂** —— 拿通知里的 `rootSessionId` 与**本 ledger 的会话锚**逐值比对。
1464
1478
  宿主就算把 A 会话的流喂进 B 的 ingress,A 的通知带 `rootSessionId = sid-A ≠ sid-B` ⇒ 值不等,自动拒。
1465
1479
  ⇒ 锚一换成 per-key,这一臂就**真的可信**:默认槽恒可信;keyed ledger 上帧经
1466
- `ledger.issueStream()` 的 ingress 到达即可信,走兼容入口 `ledger.applyFrame` 仍封顶(没有通道证据)。
1480
+ `ledger.issueStream()` 的 ingress 到达即可信(🔁 0.98.0 RL-105 起帧只经 ingress 进账;兼容入口 `ledger.applyFrame` 与它那一格封顶随之退役)。
1467
1481
  - `server_fail_closed` **零内容自校** —— 只读 meta 两个布尔位,不读任何会话、不比对任何值,而
1468
1482
  **任何**一条 session-bound 流的 meta 都长这样。跨-key 误接流时它会替别的会话作证,而 ingress
1469
1483
  证明不了帧的来源连接。⇒ **keyed ledger 上这一臂恒封顶**,直到上游在 fleet `meta` 帧上回显本连接的
@@ -1491,7 +1505,7 @@ ingress.close() // 收流;此后的
1491
1505
  `sessionAnchorEpoch`(**`0` = 不在流模式**:从未 `issueStream()`,或当代 stream 已 `close()`)/
1492
1506
  `droppedStaleIngress`。`sessionAnchor` 是**三态**:①有 live stream ⇒ 它开流那一刻的捕获;②无流但账里
1493
1507
  **有内容** ⇒ 内容归属锚(绝不改报一个还没被用过的现读值 —— 否则「`close()` 之后槽会话轮换」那一刻
1494
- `status()` 就会报新会话而账里装的还是旧会话的行);③空账无流 ⇒ 兼容入口下一帧会现读的那个值。
1508
+ `status()` 就会报新会话而账里装的还是旧会话的行);③空账无流 ⇒ 下一次开流会捕获的那个现读值(🔁 0.98.0 RL-105:此前写作「兼容入口下一帧会现读的那个值」,兼容入口已退役)。
1495
1509
 
1496
1510
  🔴 **空锚(`session === undefined`,principal 级流)只挡得住 `own_root`** —— 那一臂要拿 `rootSessionId`
1497
1511
  与本锚**逐值比对**,没有锚就结构性比不了。`server_fail_closed` **不受空锚影响**:它的前提是「这条流是
@@ -1517,9 +1531,8 @@ snap.close()
1517
1531
  1. stream 模式下 `issueSnapshot()` **继承** stream 的捕获,不自己现读;
1518
1532
  2. `issueStream()` **作废**在飞的 snapshot ingress;
1519
1533
  3. **换会话必清内容**:`issueStream()`(以及无 live stream 时的 `issueSnapshot()`)发放前先判「账里的
1520
- 内容还算不算数」——**经 ingress 落的**内容有确切归属锚,按「捕获值变没变」判;**经兼容入口
1521
- `ledger.applyFrame()` 落的**内容归属**不可知**(兼容入口每帧现读槽会话,库里不留锚),不可知就
1522
- 不能替它背书 ⇒ 一律清。判为不算数就把上一会话的行/留存清掉 —— 否则 `status().sessionAnchor` 报 B 而
1534
+ 内容还算不算数」——内容只经 ingress 落,归属锚在**落账之前**就记下(帧处理中途抛错的部分落账也带锚),按「捕获值变没变」判
1535
+ (🔁 0.98.0 RL-105:此前还有「经兼容入口落的内容归属不可知 ⇒ 一律清」那一格,随兼容入口退役)。判为不算数就把上一会话的行/留存清掉 —— 否则 `status().sessionAnchor` 报 B 而
1523
1536
  `project()` / 在飞读面还在渲 A 的行。⚠️ **同会话重开流(真正的重连)内容一行不清**:留存池是渲染层
1524
1537
  宽限窗,重连不该抽走已完成行。判据是**捕获的会话变没变**,不是「有没有重开流」。
1525
1538
  🔴 snapshot-only 车道同样要走这条 —— 快照的 REPLACE 只换活跃集、**刻意不清留存**,不清账的话
@@ -1540,15 +1553,14 @@ snap.close()
1540
1553
  而 `status().sessionAnchor` 只报一个 ⇒ 混合态从读面上看不出来。**要切会话就先 `issueStream()`**。
1541
1554
 
1542
1555
  🔴 **快照落账的两道闸**(任一不满足即丢弃 + 计 `droppedStaleIngress`):①**发放那一刻有活流的快照一律不落账**
1543
- (「活流」含两形:`issueStream()` 发过的 ingress 流,**以及**兼容入口消费、由 `setConnected(true)`
1544
- 自报的流 —— ⚠️ 后一形**只对纯兼容入口宿主**成立:采用过 ingress 之后流的存活由 epoch 说了算,
1545
- `close()` 不替宿主改 `connected`,拿一个陈旧的 true 当活流会把「开流 → close → 一次性快照兜底」这条
1546
- **合法降级序列**的快照永久判废;判据固化在**发放**时,不是落账时现查 —— 否则「流活着时签发 → 快照在路上、流先 `close()`
1556
+ (「活流」= 本账开着的 stream ingress,在连或已连;🔁 0.98.0 RL-105 起只此一形 —— 此前还有「兼容入口消费、由宿主
1557
+ 自报连接位声称的流」与配套的「采用过 ingress 就不信那一位」修补,随兼容入口与宿主自报连接位一起退役;
1558
+ 「开流 → close → 一次性快照兜底」这条**合法降级序列**的快照照常落账;判据固化在**发放**时,不是落账时现查 —— 否则「流活着时签发 → 快照在路上、流先 `close()`
1547
1559
  → 落账」会因 close 把流模式位清零而反而通过闸,而那只快照跳过过连接级 meta 复位、会沿用一条已关
1548
1560
  连接的信任位);
1549
- ②**账本写序号**——快照 ingress 发放之后,**任何入口**(ingress 或兼容 `ledger.applyFrame`)只要成功落过
1550
- 一帧,这份快照即判过期。第二道是必需的:兼容入口消费活流时 `sessionAnchorEpoch` **恒为 0**,只看它的闸
1551
- 在那条车道上整条落空。副产品(有意):一只快照 ingress 是**一次性**的 —— 要再取一次就再 `issueSnapshot()`。
1561
+ ②**一次性**——一只快照 ingress 落过一帧即自收,再落丢弃并计数(要再取一次就再 `issueSnapshot()`)。
1562
+ 🔁 0.98.0 RL-105:这一道此前是全入口通用的「账本写序号」,为兼容入口消费的活流(`sessionAnchorEpoch` 恒为 0)兜底;
1563
+ 兼容入口退役后,一只快照签发之后还能写账的只剩它自己(别的 stream / snapshot 一发放就把它作废),那道序号只剩「一次性」这一个效果。
1552
1564
 
1553
1565
  第一道闸的两条独立理由,同一个结论:
1554
1566
  ①快照与流是两条连接、两个写者,而 `applySnapshot` 是无条件 REPLACE —— 「服务端取样之后、落账之前」
@@ -1570,8 +1582,8 @@ stream** 的时候。
1570
1582
  | `evidence` | 放行臂 | 强度 | 端该怎么读 |
1571
1583
  |---|---|---|---|
1572
1584
  | `server_fail_closed` | meta `bgNotifyFailClosed` ∧ 本连接 session-bound | **会话级证明** | 最强:server 侧注入路已 fail-closed,到达即**这条流的**会话。⚠️ 这一臂**完全不读会话端口**,信的就是「这条流替谁开的」;生产 meta 组合下它在默认槽恒成立。🔴 **只在默认槽出现** —— keyed ledger 上它恒被封顶(零内容自校,见上);keyed 上生产 meta 若同时满足 `own_root`,报的是 `own_root`(可信臂胜出,见臂序段) |
1573
- | `own_root` | 通知 `rootSessionId` === **本 ledger 的会话锚**(固定点语义) | **会话级证明**(内容自校) | 锚 = 经 ingress 到达时该 ingress 开流那一刻捕获的会话;走兼容入口时 = `engineSessionParamFor(sessionKey)` 现读。默认槽两条路都可信;keyed ledger **必须经 ingress** 才解封(兼容入口无通道证据 ⇒ 封顶) |
1574
- | `session_anchor_untrusted` | 会话级臂放行了,但**那一臂在本 ledger 上不可自校** | **非证据**(封顶词) | 🔴 今天恰有两格产出它:①keyed ledger 上的 `server_fail_closed`(结构性,零内容自校,**待上游 meta 回显 session id 才可能解封**);②keyed ledger **未经 ingress**(宿主直喂 `ledger.applyFrame`)时的 `own_root`。不冒充前两格,也不谎标进程成员(帧的 `parentTaskId` 可能是 foreign)、不标 `absent_parent`(键可能在场)。端按非证据档自裁。**单会话宿主(默认槽)结构性不出现此词** |
1585
+ | `own_root` | 通知 `rootSessionId` === **本 ledger 的会话锚**(固定点语义) | **会话级证明**(内容自校) | 锚 = 这帧经过的 ingress 开流那一刻捕获的会话。🔁 0.98.0 RL-105:帧只经 ingress 进账,默认槽与 keyed 同可信(此前 keyed 直喂兼容入口那一格封顶,随兼容入口退役) |
1586
+ | `session_anchor_untrusted` | 会话级臂放行了,但**那一臂在本 ledger 上不可自校** | **非证据**(封顶词) | 🔴 今天只有一格产出它:keyed ledger 上的 `server_fail_closed`(结构性,零内容自校,**待上游 meta 回显 session id 才可能解封**;🔁 0.98.0 RL-105 前还有「keyed 未经 ingress 的 `own_root`」一格,随兼容入口退役)。不冒充前两格,也不谎标进程成员(帧的 `parentTaskId` 可能是 foreign)、不标 `absent_parent`(键可能在场)。端按非证据档自裁。**单会话宿主(默认槽)结构性不出现此词** |
1575
1587
  | `own_parent` | `parentTaskId`(spawn 该子代的 leader run)∈ own-run 台账 | **进程级成员证明** | 🔴 只证明「本进程曾亲手驱动过这条 run」,**不区分会话代际** —— own-run 台账是进程级 `Set`、按会话零分区,`/clear` 或换会话后**旧会话**的 run 仍命中(= 在册局限 **P-13** 在通知面的同一张脸)。**不得**当作「属于当前会话」;要按会话归属做事,按 P-13 的出路自注入会话粒度判据,或只认上面两格 |
1576
1588
  | `absent_parent` | 通知**没带** `parentTaskId` | **非证据** | 🔴 absent-放行姿势(老引擎/老帧形不带该键,fail-closed 会把自家通知整批吞掉)。端要拿归属做有副作用的事(落库/跨会话搬运/翻别人的卡)时,这一格应自裁为「未证明」 |
1577
1589
 
@@ -1752,14 +1764,14 @@ reason 里写明「枚举器盲区形」。已知两形:
1752
1764
  - [ ] `installWorkflowStatusProbe` / `installBgTaskStatusProbe` —— 不装 = **workflow / 后台子代的完成通知永远不落地**
1753
1765
  - [ ] **多会话宿主接 fleet 台账时**(0.45.0 / P-31):`createFleetLedger(hooks, { sessionKey })` 之后**必须**用
1754
1766
  `ledger.issueStream()` 拿开流参数、并且**帧只经 `ingress.applyFrame` 进 ledger**(重连即重开 ingress;
1755
- 一次性快照走 `ledger.issueSnapshot(opts)`)。直喂 `ledger.applyFrame` 是**默认槽兼容入口** ——
1756
- keyed ledger 走它会让 `own_root` 一律封顶成 `session_anchor_untrusted`(没有通道证据)。
1767
+ 一次性快照走 `ledger.issueSnapshot(opts)`)。🔁 0.98.0 RL-105 起这是账本唯一的入口(默认槽宿主同样领 ingress;
1768
+ 兼容入口 `ledger.applyFrame` 与宿主自报连接位 `setConnected` 已删;「连着没有」读 `readEngineActiveBgTasks[For]().fresh`)。
1757
1769
  前置:该键的 `installHostFor(key, { session })` 必须已装,否则会话锚为空、两条会话级臂都不解封
1758
1770
  - [ ] **多会话宿主还要每键装 wire target**(0.45.0 / P-31 批 3):`installEngineWireTargetFor(key, target)` —— 子代读面
1759
1771
  (tail / subagentOutput / taskOutput / taskStop / delegatedPrompt)现在按**行登记的槽**取 baseUrl/token/principal;
1760
1772
  漏装该键 ⇒ 那一槽的读面整条走**进程级 env 回落**(= 与默认槽同一条路径),行是 B 的、凭证是 A 的。
1761
- 🔴 只有**经 ingress** 落账的行才带槽键 —— 走兼容入口 `ledger.applyFrame` 的 keyed 宿主拿不到这一位(归属不可知),
1762
- 读侧会回落默认槽:那不是 bug,是「没给通道证据就不替它背书」的同一条纪律
1773
+ 🔴 账本落账的行恒带槽键(帧只经 ingress;🔁 0.98.0 RL-105 前走兼容入口 `ledger.applyFrame` 的行不带这一位、读侧回落默认槽,
1774
+ 随兼容入口退役)
1763
1775
  - [ ] 🔴 **多会话宿主:plan-mode 今天不可用**(0.45.0 / P-31 批 3 的显式豁免,见 §7c P-31 行)——
1764
1776
  `armPlanReviewApproval` / `decidePlanReview` 两处仍读**默认槽**的 wire target,而整条 plan_review
1765
1777
  HITL 链(卡注册 / 退役 / responder 台账)也还是默认槽单会话形。后果两形:**keyed-only 宿主**
@@ -1775,14 +1787,14 @@ reason 里写明「枚举器盲区形」。已知两形:
1775
1787
  - [ ] **启动校验用存在性读口**(§5a 的 (a) 表,🔴 **哨兵逐口不同,逐个照抄别推广**;多会话宿主用 `*For` 那一支):`hasApprovalCardPort() === true` · `hasApprovalCardPortFor(key) === true` · **`hitlHostSurfaceFor(key) !== null`**(哨兵是 `null`,写 `!== undefined` **恒真** = 假绿) · `hostSettings() !== undefined` · `hostSettingsFor(key) !== undefined` · `hostFs() !== undefined` · `hostFsFor(key) !== undefined` · `hostSession() !== undefined` · `hostSessionFor(key) !== undefined` · `engineWireTarget() !== null` · `engineWireTargetFor(key) !== null`(`hostTimers()` / `hostTimersFor(key)` 同为 `!== undefined`,按你真装的挑)
1776
1788
  - [ ] **miss 计数当回归探针,不当装配自检**(#252 复审 R3/R4,§5a (b) / 缺口 **P-29**):`hostPortMisses()` 空 / `notificationQueuePortMisses() === 0` / `approvalCardPortMisses() === 0` / `hitlHostSurfaceMisses() === 0` / `compensationSplitViolations()` 空 —— 🔴 **这几个数初值就是 0/空**,「完全没装口 + 还没发生任何调用」时它们照样全绿,**启动瞬间的断言证明不了装配**。正确用法 = 跑过**一轮真流量**之后再断言它们仍为 0。⚠️ **通知队列口今天没有存在性读口**(P-29),那一条只能靠你自己记得调过
1777
1789
 
1778
- **C. verb 实现(`CLIENT_VERBS`,`src/clientSlice.ts` —— 13 个 verb,以表为准别抄数字)**
1790
+ **C. verb 实现(`CLIENT_VERBS`,`src/clientSlice.ts` —— 12 个 verb,以表为准别抄数字;0.98.0 起 `probeHealth` 不在表里:探活读本包转口的 sdk `probeHealth(baseUrl)`,不是宿主要实现的 verb)**
1779
1791
  - [ ] 五个 `required: true` **必须**实现:
1780
1792
  `streamTask`(turn 入口)· `cancelRun`(不实现 = Esc 只停渲染、**引擎照跑**)·
1781
1793
  `respondApproval`(两元组 verbatim 回显,**安全不变量**)· `respondQuestion`(不实现 = **问了没法答,turn 挂死**)·
1782
1794
  `capabilities`(所有能力门的数据源,不实现 = **门全判假**)
1783
1795
  - [ ] 其余 `required:false` 的不实现**不是报错**,是「那个面在该端是哑的」—— 但要**知道自己哑了哪些**
1784
1796
  (`respondPlanReview` / `tailSubagent` / `steerSubagent` / `wakeSubagent` / `streamFleet` /
1785
- `listSessions` / `readSession` / `probeHealth`)
1797
+ `listSessions` / `readSession`)
1786
1798
  - [ ] 编译期闭合门:`ClientSliceLike` 与 `CLIENT_VERBS` 是**双向**钉死的 —— 加 verb 忘了加表(或反过来)编译期就红
1787
1799
 
1788
1800
  **D. 下行投影**
@@ -4661,7 +4673,7 @@ core 7.9.0 各加一词:`DeniedBy` **+`persisted_rule`**(这个人自己名下
4661
4673
  ```ts
4662
4674
  GATE_DENIED_BY_WORDS: readonly GateDeniedByWord[] // 10 词(0.92.0 起 = 引擎 7.34.0 入口十词、原序;0.86.0–0.91.x 另并老引擎退役词 plan_mode 在后共 11 词;0.78.0–0.85.x 为 sdk DeniedBy 十词)
4663
4675
  gateDeniedByDetail(deniedBy: unknown): string
4664
- ASK_ORIGIN_WORDS: readonly string[] // 11 词,顺序同源
4676
+ ASK_ORIGIN_WORDS: readonly string[] // 12 词,顺序同源(0.98.0 起:就是消费端装的 sdk 的 `ASK_ORIGINS` 数组 —— sdk 22.x 十二词 +`plan_review`,装 21.1 仍是 11 词;§126 PK-1)
4665
4677
  askOriginDetail(origin: unknown): string
4666
4678
  ```
4667
4679
 
@@ -4767,7 +4779,7 @@ an argument」。audience 答另一问:这条事实**说给谁听**。
4767
4779
  **签名**
4768
4780
 
4769
4781
  ```ts
4770
- ENGINE_NOTICE_CODES: readonly string[] // 90 码,顺序同源(core 7.49.0 改名一码:config.write_protection_unresolved → config.path_view_unresolved〔同位;老引擎发旧码 ⇒ 按册外码处置〕,+3:route.finish_reason_unknown / route.stream_end_ignored〔受众 user〕/ route.extra_body_reserved_dropped〔受众 operator〕;本包只登记、端渲引擎原句;0.96.0。此前 core 7.46.0 +1:permission.rule_row_dropped〔一条路径规则行在装入时被丢的那一枚通告,受众 user;本包只登记、端渲引擎原句〕;0.94.0。此前 core 7.42.0 +1:permission.allowed_tool_not_granted〔allow 列表里读成什么都不授予的条目那一枚通告,受众 user;7.41.x 的旧名本包从没登记过〕;0.92.0。此前 core 7.39.0 −1:resume.legacy_mode_seed_migrated〔那条一次性迁移删了,通告码退出码册;老引擎仍可能发它,按册外码处置〕;0.90.0。此前 core 7.38.0 +5:task.tool_turn_incomplete / instructions.source_changed / session.records_skipped / memory.layer_locked_legacy / server.model_unreachable;0.89.0。此前 core 7.37.1 +1:context.tool_turn_repaired;0.88.0。此前 core 7.36.0 +1:route.tool_call_id_folded;0.86.0。此前 core 7.34.0 +6:config.permission_mode_unavailable / permission.ask_released_by_mode / permission.read_deny_unapplied / permission.rule_store_unavailable / resume.legacy_mode_seed_migrated / classifier.unavailable;0.86.0。此前 core 7.32.0 +2:approval.read_root_granted / approval.read_root_grant_rejected;0.83.2。此前 core 7.31.0 +2:config.context_settings_swapped〔7.30.0〕/ config.secret_env_scrubbed;0.83.0。此前 core 7.29.0 +1 route.response_model_mismatch;0.82.1)
4782
+ ENGINE_NOTICE_CODES: readonly string[] // 93 码,顺序同源(core 7.51.0 +3:config.read_deny_swapped〔受众 operator〕/ tool_result.media_refused〔受众 operator〕/ permission.entry_mode_clamped〔服务端自铸,受众 user〕;本包只登记、端渲原句;0.98.0。此前 core 7.49.0 改名一码:config.write_protection_unresolved → config.path_view_unresolved〔同位;老引擎发旧码 ⇒ 按册外码处置〕,+3:route.finish_reason_unknown / route.stream_end_ignored〔受众 user〕/ route.extra_body_reserved_dropped〔受众 operator〕;本包只登记、端渲引擎原句;0.96.0。此前 core 7.46.0 +1:permission.rule_row_dropped〔一条路径规则行在装入时被丢的那一枚通告,受众 user;本包只登记、端渲引擎原句〕;0.94.0。此前 core 7.42.0 +1:permission.allowed_tool_not_granted〔allow 列表里读成什么都不授予的条目那一枚通告,受众 user;7.41.x 的旧名本包从没登记过〕;0.92.0。此前 core 7.39.0 −1:resume.legacy_mode_seed_migrated〔那条一次性迁移删了,通告码退出码册;老引擎仍可能发它,按册外码处置〕;0.90.0。此前 core 7.38.0 +5:task.tool_turn_incomplete / instructions.source_changed / session.records_skipped / memory.layer_locked_legacy / server.model_unreachable;0.89.0。此前 core 7.37.1 +1:context.tool_turn_repaired;0.88.0。此前 core 7.36.0 +1:route.tool_call_id_folded;0.86.0。此前 core 7.34.0 +6:config.permission_mode_unavailable / permission.ask_released_by_mode / permission.read_deny_unapplied / permission.rule_store_unavailable / resume.legacy_mode_seed_migrated / classifier.unavailable;0.86.0。此前 core 7.32.0 +2:approval.read_root_granted / approval.read_root_grant_rejected;0.83.2。此前 core 7.31.0 +2:config.context_settings_swapped〔7.30.0〕/ config.secret_env_scrubbed;0.83.0。此前 core 7.29.0 +1 route.response_model_mismatch;0.82.1)
4771
4783
  ENGINE_NOTICE_AUDIENCE: Readonly<Record<string, 'user' | 'operator'>>
4772
4784
  noticeAudienceOf(code: unknown): 'user' | 'operator'
4773
4785
  engineNoticeInCatalog(code: unknown): boolean
@@ -9729,6 +9741,1201 @@ installCoreValuePorts({ resolveAutonomousLoopPrompt, loosenReasons, combinePolic
9729
9741
 
9730
9742
  **包侧缺口:** ① 出包面注释存量(别仓名 / 票号 / 帖号 / 过程词)与卫生门判据太窄(CC-100)—— 方案候拍板(dist 去注释 vs 手清),0.77.2 · ② `DeniedBy` 第十词 `read_boundary` / `teamName` / `stillLive` 三词随 sdk 10 型面在 0.78.0 吸收(CC-106)· ③ `capabilities.mcpProbe` 候 core 7.26.0 #951 → server 7.93.0(CC-74)。
9731
9743
 
9744
+ ## §126 🆕 0.98.0(2026-10-16)— 句表单源:持久规则人话五口 · 卡面三行说明读口 · 崩溃遗留逐行句 · 结局成因一行句表 · `policy` 出身句补半边 · 退出码 137 的归因句 · 工具结果卡「未执行」位读不出 · 值级端口严格档 · run 行在飞词表单源 · 清账版 · 引擎地址一处真源 · 流式提交同键有界重开 · 排空收场账上根入口 · 展示出口凭据网:五类语料 · 配置地址展示口四形 · 诊断词判定口 · 抛出物读法单源 · 失败句上公面 · turn 失败呈现与重连预算(第一程) · 沙箱降级句按宿主分段 · 座位 chrome 词表 +6(CH) · 能力位单源余项与 `inheritEnv` 意图判定(CP) · HITL 决断链:持有表三臂 · 人答一包 · 迟到结局五档(HL) · 座位契约卫生:出站门全族普通记录判据 · 模型配置回执 reason 闭集 · 座位死位退役 · 流式分片与会话历史投影归包(ST) · 换钉 sdk 22 与 MCP 断言头过境(PK) · 窄读工具集与通知单条回读 · context_usage 读口与工具结果行门记录视图 · 计划审阅已呈档位 · 重开口同步重载退役(LF) · 连接器状态两态读口(CS) · 收紧约束原样上体 · 拒装机读身份 · 座位 turn 失败判决过境(TK) · HITL 单一读法收口(HM) · 转录行侧挂位与自愈分诊复证(SC) · 面板归约口每只子代一条记录(PL) · 会话规则读改写口不改一行的文法(GR) · 消息目录席位 · 子代理模型词解析口 · 判活语义单源(TX) · sdk 23 / 引擎 7.51 一代的读法(PN) · 事件腿组合器 `composeEventLeg`(LG) · 与 sdk 同名的公面型就是 sdk 那一只(TS) · 重试行人话单源 `retryStatusNotice`(RT) · 内置子代类型词表 `BUILTIN_SUBAGENT_TYPES`(BA) · 设置来源 `mcp_tool` hook 条目处置(HK) · 能力位读器 tee 口与测试钩退役(RB) · 门已决三拼装件 / hooksForWire 必带计划 / 让位披露老两键 / 脱敏布尔读器退役(RC) · 面板旧事件口与缺席口 / fleet 账本兼容入口与 connected 退役(RA) · 底线 server 7.129.1 / deny 侧扣送与目录省略退役(RD) · 授予绑定三态按载体读(RE)
9745
+
9746
+
9747
+
9748
+
9749
+
9750
+
9751
+
9752
+ > 本段一组行前缀 WD(CC-663 / CC-665 / CC-666 / CC-612 / CC-623 / CC-628)。病是同一件事在三端各写一份人话:同一出处词终端说「added by you」、网页端(止血前)说「approved on a card」(单步写口落的行同样铸 `user`,那条路上没弹过卡);撤销结局(状态 × 存活)两张表;作用域判别式串逐字两份;合法的出身词在网页端(止血前)渲成「an unrecognized origin」;网页端(止血前)对每一条需人工的崩溃遗留行都说「was already approved and may have partially run」,含从未开始的行。网页端 2026-10-12 / 10-13 的止血版已把上述几处改到与终端大体一致,但都是各写一份、注释自称「到货删」—— 本版就是那个到货。收口:句子只有一个铸点,形是键表(`satisfies Record<闭集型, …>` 挂在表字面量自己身上:上游加词而句子没跟 ⇒ 编译红),表外词 / 缺席 / 非串一律走中性句或 `undefined`,**不回显原词**;读口只认自有数据位、取值器不执行、读就抛按缺席读。三端只渲。
9753
+ > 本段一组行前缀 GT(CC-723 / CC-714 / CC-716 / CC-724)。门卫生两票(CC-559 / CC-594:门脚本里手写的注释识别与能力位读点普查换成语法层读法)只动包内门脚本、出包面零变化,不进本段,见 CHANGELOG 0.98.0 `### Gates`。四行里三行是行为修复(GT-1 / GT-2 / GT-4)、一行是型面(GT-3);只有 GT-2 多出公面(根入口运行期导出 +1、型 +1、`AdapterContext` 多一个可选位)。
9754
+ > 本段一组行前缀 AC(CC-657 / CC-658 / CC-659 / CC-713 / CC-608 / CC-669):**审批卡读法单源** —— 一件卡事实一只读器,载体差只写在一张腿表里;三种载体(活卡帧 `tool_approval` / v1 呈卡帧的 `card` / 未知形呈卡帧的 `card`)同一只投影核;窗三键、真人位、探针成因两行、「为什么问你」那一格、属主待决行计数各一只出口。端只渲,不再各自窄读 / 拼句。
9755
+ > 本段一组行前缀 TP(CC-664 / CC-568 / CC-600)。三件事共一条线:**三端各写一份的「客户端侧判定」收进包里,端只剩接线**。① 用户给的引擎地址收不收、存成什么串、非本机能不能走明文:终端 `normalizeEngineUrl` + `validateEngineUrlTransport` 与桌面端 `normalizeUrl` 各写一份、判法相反,现在只有 `normalizeEngineBaseUrl` + `engineUrlTransportVerdict` 一对;② 流式提交在绑 run 之前连接被关:sdk 流式腿构造即单发、键每次现铸,三端要「同键重开」只能各写一圈,现在是 `submitStreamWithBoundedReopen` 一只(包自己调 `client.tasks.stream`,键与响应头钩子都由包装,宿主漏不了接线);③ 订阅腿的排空收场账此前不在根入口,自读 `runs.events` 的端各写一份连续计数,现在读 `createStreamDrainingLegs`。
9756
+ > 本段全部 additive(公面 +4 函数 +9 型);行为变只发生在端换读之后(126y)。
9757
+ > 本段一组行前缀 DU(CC-721 / CC-731 / CC-683 / CC-677)。规则只立在扫描器自己的两张终止集上:词级面的裸值停字符(`, ; " ' \ ( ) [ ] { } < >` 与空白)与 URL 片段终止集(空白 / 控制符与 `" < > | \ ^ { }` 及反引号);「下一对键值」只用逗号清单那一只判官(`名=` / `名:`)与凭据标签 / 方案词。
9758
+ > 「整串是一条地址」只立一次:配置地址展示口与上传判据按它读,自由文本出口(`displayUntrusted`、机读口、本包铸点)的读法与字节契约不动。
9759
+ > 本段一组行前缀 TH(CC-722 / CC-727 / CC-676 / CC-667 / CC-720)。同版其它条目由各自的行并入 §126。
9760
+ > 本段一组行前缀 CP(CC-624 ① ③ ⑥ ⑦ ⑧ · CC-726 · CC-639 · CC-747 · 能力重置过渡口到期退役)。病是同一件能力事实有两处存、两条读法:代理能力判定在总缓存之外另存一份自探的判定(同址换代不跟)、后台登记读口读宿主另存的一份 caps 回体、任务句柄能力有两只判官、中心接线的缓存读数带着按身份成立的调用方租约;另有两处成文例外(执行车道隔离位读就抛按位降级、可落地判据与快照对「普通记录」各判各的)。收口形 = 只读总缓存一份落地、一把证据键、一只判官。CP-8 是新口:`inheritEnv` 能力词读器与交互车道意图判定(三端各写一份的「只认布尔 true」判定与告知句归包)。
9761
+ > 病形一句话:**同一只抛出物,在不同端、不同构建里被读出不同的答案**。① 终端(不压缩)里 sdk 错误实例的类名是字面类名,网页端与桌面端渲染层(压缩生产包)里它是单字母短名 —— 拿字面类名当判据的「码被剥掉时按类名兜底」臂,在压缩包里对真实例永不触发(CC-722);② 判官与分型读口读机读位只认自有数据位,另有几只读口仍沿原型链普通取值、执行访问器(CC-727);③ 失败句的取句口在包内,端各自再写一份,`{}` 渲成 `[object Object]`、空 Error 渲成空串(CC-676);④ turn 失败「算哪一类 · 给不给重试 · 等多久 · 连接错怎么说 · 重连预算」三端各写(CC-667);⑤ 沙箱降级句把终端才有的出路写进了单一一句(CC-720)。
9762
+ > 本段一组行前缀 ID(CC-190 / CC-455;设计 [10226] 与其追记 #1 #2,三端表态 [10229] / [10268])。**规则一句**:本包交出的出口对象(投影信封 / 转录行 / 段身份 / attachment 事件 id / 每响应 `message.id`)的 `uuid` 是它承载的**引擎身份**的确定性函数;引擎身份只在**投影口出口**读一次、铸在信封顶层 `_sema_engine_ref`,转录行只抄开场那一帧的;**去重只读 `uuid`,「是不是同一件引擎事」只读 `engineRefOf` / `sameEngineRef`**。引擎身份缺席 ⇒ `uuid` 现铸、引用位整键缺席。
9763
+ > 收口后不再存在的规则:§100a-6「跨重投射程」例外与「重投请按 wire 事件身份去重」第二读法 · `deriveTranscriptId` 的 `seq` 档 · 段身份里的窗口序号 · `-p` 工具结果帧与交互转录工具结果行两种取 id 法 · 两处「终局 run id」读法。新增只有一个键、两只读口、`EmitContext` 一个可选位;不设 `blockId`(文本段读 `_sema_segment_id`、工具块读 `tool_use.id`)。
9764
+ > 本段一组行前缀 TK(CC-378)。**规则一句**:收紧约束 —— 设置桶的 deny / ask(含命令行 deny)、代理定义的工具清单与定义本身 —— 本包不删、不截、不省、不扣,也不替服务端预言受理结局;只做信息对等的等价改写,改写不出的原样上请求体,能不能收由受理它的那一代服务端 / 引擎答(编不出 ⇒ 整请求 422 / 400 点名那一条)。病是同一问两个答案:本包对「一条编不出的收紧规则这一发该不该跑」答「扣下 + 报告口点名 + 请求照跑」,服务端答「不带着它跑」—— 只调投口的宿主以为在场的 deny 实际没发,`~/` 规则在有家目录的本机车道上也被扣掉(本可生效)。同一律推出另三件:包拒装要能被宿主认出来(机读身份,宿主只对这一类不提交);代理就绪门失败不再「照放」(那一发不带自定义代理 = 内置同名版顶掉用户的覆盖);座位上的 turn 失败带上呈现判决(否则拒收句里用户写的词会被渲染端按词扫成「连接断」)。🔴 型面 BREAKING 与行为变,先读 126y TK 段。随上游到货才落的三处(扣送开关 · 代理 `tools` 里判官问题条目的省略 · 目录省略两半在支持底线越过服务端 7.129.0 那一版;32 只代理帽在服务端给出每请求代理上限新语义那一版)本版照旧,各登已知限制与退役登记。
9765
+
9766
+ > 本段一组行前缀 LF(CC-680 / CC-682 / CC-670 / CC-681;退役账 RL-116)。病形一句话:**包里早有读器,端上却各写一份** —— 抛出物三位核(`shapeOf`)终端两份、网页端一份逐字同形;一条通知 XML 终端自写线性回读;`context_usage` 的三标量与段行终端旁观者、网页端各写一遍窄读;工具结果行上止步于卡之前的门记录被网页端在 `adapt()` 之前截裸帧再读;计划审阅卡呈的是几选,终端自记一本台账并复算判序。本版把这五件各收成包里的**一条读法**(窄读四口 / 通知单条口 / `context_usage` 一口 + 一键 `_sema_gate` / 已呈档位一口),并按退役账把 `reopenPlanReviewCard` 的同步重载退役(型面 BREAKING,126y)。RL-89 / RL-90 两只旧订阅口原定本版保留(LF-7),🔁 本版改为硬退(RA)。
9767
+
9768
+ > 本段一组行前缀 GR(CC-771)。**规则一句**:会话规则的读改写口(收紧 `tightenSessionPolicy` / 撤销 `removeRefusedSessionRules`)**不改一行的文法**。服务端 7.129.0 起会话规则行带规则文法戳 `grammar`(引擎写口判官是唯一铸点,本版引擎写下的每一行都是当前文法),没有戳的存量行引擎按旧文法读 —— 那里 `toolAllow` 中写成工具自己规则形的条目(`Bash(git:*)` 一类)什么都不放行。0.97.1 读回时丢掉戳、再整份回写,写下的行盖当前文法,那几条就成了真放行规则(普通身份被方向门拒,运维身份写成)。收口:读回带戳 ⇒ 回写原样带同一个戳(判官是引擎);读回无戳 ⇒ 本包不编戳,回写前若要带回去的本行 `toolAllow` 有括号形条目就一个写都不发,机读交回那几条。
9769
+
9770
+ > 本段一组行前缀 BA(CC-748)。病是同一张表在引擎之外被人再写一遍:引擎包根(core 7.51.2 起)导出内建子代理名表 `BUILTIN_SUBAGENT_TYPES`(Explore / Plan / fork / general-purpose,冻结),而本包 `sanitizeToolUseBlock` 的 `subagent_type` 过滤手写了 `fork` / `general-purpose` / `worker` 三词(与引擎表只交两词、缺 Explore / Plan),桌面端 `agents-wire` 另有一张五词本地表靠离线门对引擎实拆反钉。收口:构建期从引擎包根生成(名随引擎),根入口 +1 常量,过滤改读生成物;`worker` 不是引擎词(引擎仓:它是外壳的编队角色名),不并进表。
9771
+ > 本段一组行前缀 RD(退役登记 RL-142 / RL-143 / RL-144 / RL-164)。**规则一句**:支持底线抬到服务端 **7.129.1** / 引擎 **7.51.2**(sdk 一项不动,23.0.2)、**收回对服务端 7.126.0 – 7.129.0 的支持承诺**;随底线越过 7.129.0 当版退四件过渡物 —— 代理清单原样上体:不扣整只代理(扣送开关退)、不单条省 allow 侧判官问题条目、不按本跑声明的 MCP 服务器省 `mcp__` 条目(目录省略两半与 run 级判官退),「这一条有没有工具应答」只由引擎答;deny 侧拼法问题不再出告警句(大小写孪生 / 退役拼法在 deny 名单里的拦截归服务端 7.131.0);会话规则写口老码 `rules.legacy_tool_name`(服务端 7.129.0 退役、零别名)的读法同退、到达即落「引擎带码答了」那一臂。读口 `engineToolDirectoryOf`(本跑声明集这一件事实的唯一读法)保留。收口后不再存在的规则:扣送开关、deny 侧告警句、allow 侧判官单条省、目录省略两半、run 级目录判官、老码具名臂与它的两句人话。
9772
+
9773
+ ### 126a. 处置表(逐键 consumed / declined / pending)
9774
+
9775
+ | 键 / 口 | 来源 | 处置 | 变化 | cli | web-admin | web-client | desktop | 判据 | 缺席语义 |
9776
+ |---|---|---|---|---|---|---|---|---|---|
9777
+ | **WD-1** `persistedRuleOriginsLabel(rule)` · `persistedRuleAddOriginLabel(origin)` · `persistedRuleScopeLabel(scope)` | 本包(CC-663) | consumed(公面 +3 函数 +1 型) | 来源词(整条规则 / 单个词两口,同一张键表)与作用域人话;取代终端 `originsLabel` / `scopeLabel` / `ruleAddOriginLabel` 与网页端同名两份 | 换读,删三处本地实现(126d;`ruleAddOriginLabel` 另供「Ignored declarations」页,换读 `persistedRuleAddOriginLabel`) | 不涉及 | 换读,删两处本地实现 | 零读点 | G-WD1 | 126b WD-1 |
9778
+ | **WD-2** `persistedRuleRevokeOutcome(ruleText, result)` | 本包(CC-663) | consumed(公面 +1 函数 +3 型) | 撤销 200 体 `status` × `stillLive` 3 × 3 全表 + 表外 / 缺席状态第三种结局;屏上句与变更清单行同表一次铸两句;取代终端 `removalOutcome` / `revokeResultCopy` 与网页端 `revokeOutcomeCopy` | 换读,删本地全表与 `removalLiveness` 包装 | 不涉及 | 换读,删简表 | 零读点 | G-WD2 | 126b WD-2 |
9779
+ | **WD-3** `persistedRuleMatchLabel(ruleOrMatch)` | 本包(CC-628 ⑥);服务端 7.118.0 起持久规则 `match` 多 `name` / `name_prefix` | consumed(公面 +1 函数 +1 型) | 七词键表(含两个新词);老 worker 行没有该键 ⇒ 未报 | 治理行 `${rule.match} match` 换读 | 不涉及 | 同(治理表 / 详情行) | 零读点 | G-WD3 | 126b WD-3 |
9780
+ | **WD-4** `askOriginNoteOf(origin)` | 本包(CC-665) | consumed(公面 +1 函数) | 卡面「为什么问你」一行:静默表读口 + 出身句读口合一;静默 `content_question` / `ask_rule` / `policy`,**`ancestor_marked` 不静默** | 换读,删 `QUIET_ASK_ORIGINS` 与 `askOriginNote` | 不涉及 | 换读,删 `ROUTINE_ASK_ORIGINS` 与 `askOriginLabel`(网页端静默表多静默了 `ancestor_marked`) | 零读点(经网页端) | G-WD4 | 126b WD-4 |
9781
+ | **WD-5** `ruleOffersAbsenceDetail(reason, opts?)` · `ruleOfferUncoveredDetail(reason)` | 本包(CC-665) | consumed(公面 +2 函数) | 「为什么没有『不再询问』这一格」与「这一段为什么仍逐次问」两张键表;`mandated` 由 `mandatedApprovalDetail` 一个说话人说 | 换读,删 `ruleOffersAbsenceNote` | 不涉及 | 换读,删两张手抄表 | 零读点 | G-WD5 | 126b WD-5 |
9782
+ | **WD-6** `crashConvergedRowSentence(projection, row)` · `crashConvergedCauseSentence(cause)` | 本包(CC-666) | consumed(公面 +2 函数) | 崩溃遗留逐行半句(入参是投影 + 行,桶归属只信投影)与成因句;与整行口 / 计数句口读同一张键表;`crashConvergedNotice` / `crashConvergedNeedsHumanSentence` 输出逐字节不变 | 逐行明细的句子半场换读(数据字段明细仍是终端呈现,126y ②) | 不涉及 | 换读,删「was already approved …」一律句与成因两句 | 零读点 | G-WD6 | 126b WD-6 |
9783
+ | **WD-7** `askEndingCauseClause(cause)` · `askSettlementLine({ cause, toolName, parked? })` | 本包(CC-612) | consumed(新模块 `hitl/askSettlementLine`;公面 +2 函数 +1 型) | 结局成因十四词 → 半句键表;非人结局的整句;**转停驻的结局帧不是结局**(`parked` 真 ⇒ 不出句) | 换读,删 `approvalEngineEndedRow` 的 13 句 | 不涉及 | 可选接(网页端此前没有这一句) | 零读点 | G-WD7 | 126b WD-7 |
9784
+ | **WD-8** `askAcceptedLine(accepted)` · `askParkedCardNote(form, toolName?)` | 本包(CC-612) | consumed(公面 +2 函数 +3 型) | 决断被受理那一行(只证送达);停驻 / 重开 / 接替卡面说明:窗关接替卡与停驻行重开卡同一句,三形 | 换读,删 `parkReopenCardNote` / `parkReopenQuestionNote` / `parkQueueNoDeadlineRow` 与 `lateDecideOutcomeRow` 受理臂的句子 | 不涉及 | 可选接 | 零读点 | G-WD8 | 126b WD-8 |
9785
+ | **WD-9** `askOriginDetail('policy')` 句 | 本包(CC-623 ⒜);引擎侧 `policy` = 部署 `ToolPolicy` 的 ask 或模式缺省的 ask | consumed(出包句改口,行为变) | `this deployment’s permission policy asks about this call` → `this deployment’s permission policy, or the permission mode’s default, asks about this call` | 零改码(静默词,卡面不渲;别处渲则读到新句) | 不涉及 | 同 | 零读点 | G-WD9 | 不涉及 |
9786
+ | **WD-10** RULED-1 源码注释 · 已知限制档 KL-122 | 本包(CC-623 ⒝ ⒞) | consumed(内部件,不涉及三端) | 注释改成 core #1111 之后的事实;KL-122 行退役(判定口真帧三车道读数替代) | 不涉及 | 不涉及 | 不涉及 | 不涉及 | G-WD10 | 不涉及 |
9787
+ | **WD-11** 「由模式放行」句 / 问类句表(ASK_CLASSES) | 本包(CC-623 余项) | **pending**(不铸) | 现状:终端对 run 级通告走引擎整句、对逐调用放行账零渲染,`gateModeRelease` 三端零调用 | 表态:渲不渲「由模式放行」 | 不涉及 | 同 | 同 | 到货判据见 126b WD-11 | 126b WD-11 |
9788
+ | **WD-12** 条数帽 1000 读点 | 本包(CC-628 ⑤) | **pending**(改挂,不铸本地镜像) | 帽只在服务端一处(7.106.0 起超 1000 整请求 400,拒而不截);本包 `permissionsDeclaration` 不截断 = 现状;铸 1000 会造出第二份真源 | 零动作 | 不涉及 | 零读点 | 零读点 | G-WD12 | 126b WD-12 |
9789
+ | **GT-1** 工具结果卡「未执行」位读不出(`readToolCardOutcome` 对 `_sema_not_executed` 的读法) | 本包(CC-723);0.97.0 发版审查记 | consumed(行为修复;`src/toolResult.ts` 的 `#readToolCardOutcome`,读法单源 `src/ownKey.ts` 的 `#readFrameTrueMarkReading`) | 位是自有访问器 / 读描述符抛(代理陷阱 / 已撤销代理)⇒ 读数 `unreadable`(修前读成 `normal`,带占位标记的卡读成占位成因);位读得到而值不是字面 `true` 仍是「没有这个正证据」。线上 JSON 解析出来的帧没有访问器,实际触发面只有手搓记录与代理 | 零读点(`readToolCardOutcome` 终端零引用,见 126d) | 不涉及 | 零读点 | 零读点 | G-GT1 | 126b GT-1 |
9790
+ | **GT-2** 退出码 137 的归因句(`Command was killed …`)+ 成因读口 `AdapterContext.toolKillCause` + 薄壳 `toolKillCauseAcrossEngineIdentity` + 型 `ToolKillCause` | 本包(CC-714);终端请托(退出码 137 说成内存不足) | consumed(🔴 行为变;公面 +1 函数 +1 型;`src/toolResult.ts` 的 `#wireOutputToBody`,薄壳 `src/engineIdentity.ts` 的 `#toolKillCauseAcrossEngineIdentity`) | 句子按**宿主给的成因事实**出:`engine_restarted` ⇒ `Command was killed when the engine restarted (exit 137)`;`memory_pressure` ⇒ `Command was killed (exit 137 — the system ran out of memory; consider lowering build parallelism e.g. make -j2)`;缺省 ⇒ 中性句 `Command was killed by signal 9 (exit 137)`。修前一律 `… possibly out-of-memory; consider lowering build parallelism e.g. make -j2`。读口只在这张卡退出码恰为 137 时才问(含只有结构化退出码、正文反解不出框架槽的溢写卡;修前这一支没有归因句) | 适配上下文装配点接读口:调用开始时快照一份代际锚、被杀时比(见 126d);测试里钉旧句的一格须改钉 | 不涉及 | 可选接(不托管引擎进程,无本机代际事实) | 可选接(托管本机引擎时同终端做法) | G-GT2 | 126b GT-2 |
9791
+ | **GT-3** `CoreValuePorts.combinePolicies` / `validatePermissionRules` 在严格档下装得进引擎原件 | 本包(CC-716);0.96.0 验收读数(`strict: true` 下 2 × TS2322) | consumed(型面:函数型属性 → 方法签名;`src/coreValuePorts.ts` 的 `#CoreValuePorts`) | 镜像入参型(不透明句柄 / 视图)比引擎原件的入参型宽,函数型属性在 `strictFunctionTypes` 下按入参逆变拒;方法签名按双变比,三档编译(`strict: true`;`strict` + `exactOptionalPropertyTypes` + `noUncheckedIndexedAccess`;`strict: false`)引擎包根十六件原样装进完整型零错。宿主为此写的型断言可删。代价:方法双变放过参数位收窄的替代品(已知限制 KL-761;装配根传引擎包根原件,不传替代品) | 零动作(`strict: false`,装配根本来零断言) | 不涉及 | 零读点(不装端口) | 可删 `validatePermissionRules as CoreValuePorts["validatePermissionRules"]` 型断言(见 126d) | G-GT3 | 无运行期缺席语义(纯型面);端口没装 ⇒ 读口 `undefined`(不变) |
9792
+ | **GT-4** run 行「还在飞」词表单源(`classifyRunAbortCause` 的 `run_still_live` 与 `CLAIM_HELD_STATES`) | 本包(CC-724);0.97.0 发版审查记 | consumed(行为变一处;`src/runCancelContext.ts` 的 `#classifyRunAbortCause`,词表属主 `src/terminalStatuses.ts` 的 `#isSdkRunLive`) | 取消成因模块手抄的四词集(`running` / `queued` / `suspended` / `needs_review`)删去,改读属主模块在飞表(`running` + park 两词,编译期钉在 sdk `RunStatus` 减终态分区上);`CLAIM_HELD_STATES` 就是同一个对象(公面名与成员不变)。`queued` 既不在 sdk `RunStatus` 也不在服务端 run 状态类 ⇒ 记录状态为 `queued` 读成 `unknown`(修前 `run_still_live`) | 零读点(`classifyRunAbortCause` 终端零引用);`CLAIM_HELD_STATES` 读点成员不变 | 不涉及 | 读 `classifyRunAbortCause` 但只取 `cancelled` 臂,零影响 | 零读点 | G-GT4 | 126b GT-4 |
9793
+ | **AC-1** `approvalCardFactsOfFrame(frame, opts?)` | 本包(CC-657) | consumed(公面 +1 函数 +2 型 `ApprovalCardFacts` / `ApprovalCardFrameFactsOptions`) | 活卡帧 → 卡入参事实纯投影;出参带 `allowSessionCarried` / `grantBinding` / `unreadableEvidence`;本包活卡帧腿改调同一只核 | 零读点(走本包卡口) | 不涉及 | 活卡帧腿换读后删手抄(126d) | 零读点 | G-AC1 | 126b AC-1 |
9794
+ | **AC-1′** 座位过境口加 `allowSessionCarried` / `grantBinding` / `unreadableEvidence` 三位 | 本包(CC-657 票面) | declined | 不加 —— 座位「本会话放行」已是结果位 `sessionRow`(0.97.0),再搬卡腿通路位上座 = 同一档两种读法;只搬授予绑定会让座位持久行在缺 `argsUnavailable` / 候选的座位上判出(放宽方向)。端自拼卡的三位由 AC-1 出口给 | 不涉及 | 不涉及 | 不涉及 | 不涉及 | — | — |
9795
+ | **AC-2** `approvalCardFactsOfGeneric(card)` + 卡入参位 `cardPayloadUnreadable?: true` | 本包(CC-659) | consumed(公面 +1 函数 +1 位) | 未知形呈卡帧 → 通用卡入参事实;同核同读器、只读与版本无关的位;不盖通路位;判定口三车道答 unknown `card_unreadable` | 通用卡腿换读后删手抄(126d) | 不涉及 | 通用卡腿换读(126d) | 零读点 | G-AC2 | 126b AC-2 |
9796
+ | **AC-3** `approvalWindowKeysOf(carrier, opts)` | 本包(CC-658);上游 `expiresInMs = max(0, expiresAtMs − serverNowMs)` 铸点 | consumed(公面 +1 函数 +2 型) | 窗三键 + 本地锚唯一读器;本包活卡帧腿本地锚改为帧到手那一拍 | v1 腿 / 通用卡腿两处投影换读(126d) | 不涉及 | v1 腿 / 活卡帧腿两处投影换读(126d) | 零读点 | G-AC3 | 126b AC-3 |
9797
+ | **AC-4** `probeCauseRowsOf(card)` | 本包(CC-713);上游 `ProbeCauseSchema` | consumed(公面 +1 函数) | `roots` / `further` 两行渲口;`ApprovalCardRequest.probeCause` 头注「呈现归端」改口 | 操作数段换读(126d) | 不涉及 | 卡上路径列表回来(126d) | 零读点 | G-AC4 | 126b AC-4 |
9798
+ | **AC-5** `approvalCardReasons(card, opts?)` / `APPROVAL_CARD_REASON_SOURCES` / `APPROVAL_CARD_REASONS_DEFAULT_MAX_LINES` / `denialLimitFallbackDetail(v)` + 卡入参位 `message?: string` | 本包(CC-608) | consumed(公面 +2 函数 +2 常量 +3 型 +1 位) | 「为什么问你」一格单一聚合口;引擎问句原文上卡;限额那一句包内铸 | 原因格换读、退本地限额句与出身静默表(126d) | 不涉及 | 原因格换读(126d) | 零读点 | G-AC5 | 126b AC-5 |
9799
+ | **AC-5′** 显式拒绝 `guard` 投影 | 票面(CC-608) | declined | 不进卡:那四值本身就是问类,卡上已由 `askClass` / `classes` 携带(同一事实第二读法) | 不涉及 | 不涉及 | 不涉及 | 不涉及 | — | — |
9800
+ | **AC-6** `readRequiresRealApproval(carrier)` | 本包(CC-669);上游顶层 `requiresRealApproval?: true`(帧 / 行)与 `risk.requiresRealApproval`(v1 卡) | consumed(公面 +1 函数) | 真人位唯一读器;包内六处读点改读它;v1 口读卡顶层(收紧) | 自有同名读器删(126d) | 不涉及 | 自有同名读器 + v1 腿内联读删(126d) | 零读点 | G-AC6 | 126b AC-6 |
9801
+ | **AC-7** `countOwnedPendingRows(listed, deps?)` / `pendingRowIsOwnedAndDecidable(row, deps?)` | 本包(CC-669) | consumed(公面 +2 函数 +1 型 `OwnedPendingListView`) | 属主待决行计数单源(归属 ∧ 可决) | 计数口与两把闸删(126d) | 不涉及 | 计数口换读(126d;多一把可决闸) | 零读点 | G-AC7 | 126b AC-7 |
9802
+ | **TP-1** `normalizeEngineBaseUrl(raw)` + 型 `EngineBaseUrlReading` / `EngineBaseUrlRefusalReason` | 本包(CC-664;a-parity-0960 N4 / X-10 / X-11) | consumed(公面 +1 函数 +2 型) | 规范化一处:裁外层空白、去全部尾斜杠、保留用户拼写;五个拒因闭集 `empty` / `scheme` / `unparseable` / `userinfo` / `query_or_fragment`;出参无消息正文 | 换读 `sema/engineTarget.ts` 的 `normalizeEngineUrl`(`:112-127`);行为变:带 query / fragment 的地址拒(此前收) | 不涉及 | 零读点(无引擎地址规范化,见 126d) | 换读 `main/engine-target.ts` 的 `normalizeUrl`(`:154-173`)里规范化半;规则与此前同(桌面端旧答已拒 query) | G-TP1 | 126b TP-1 |
9803
+ | **TP-2** `engineUrlTransportVerdict(url)` + 型 `EngineUrlTransportVerdict` / `EngineUrlTransportRefusalReason` | 本包(CC-664);本机判定只读设置契约 `isLoopbackAuthHost` 一只 | consumed(公面 +1 函数 +2 型) | 传输闸一处:`https:` 恒过,`http:` 只在主机是本机时过;两个拒因 `plaintext_remote` / `not_http_url`;过时照实报 `loopback` | 换读 `validateEngineUrlTransport`(`:133-143`);规则与此前同(终端旧答即窄谓词) | 不涉及 | 零读点 | 换读 `normalizeUrl` 里传输闸半(`:168`)并删自带的 `isLoopbackHost`(`:148-151`);行为变:`http://127.0.0.2` 一类非字面本机的明文地址拒(此前收) | G-TP2 | 126b TP-2 |
9804
+ | **TP-3** `submitStreamWithBoundedReopen({ client, request, options })` + 型 `SubmitStreamReopenDeps` / `SubmitStreamOptions` / `SubmitStreamReading` / `BoundedSubmitStream` | 本包(CC-568);cli 请托(提交口不重开);服务端 7.125.0「同键 = run 行唯一键」 | consumed(公面 +1 函数 +4 型) | 流式提交在绑 run 之前连接关闭 ⇒ 同一枚 `Idempotency-Key` 重开恰一次;本口自己调 `client.tasks.stream`(键与 `onResponse` 接线由包装);第二发再失败原样抛;已绑 run 之后 / 引擎答了 / 取消 / 连接被拒 / 静默撕裂不重开;读数 `{ idempotencyKey, attempts, reopened, replay }` | 待表态:`sema/liveClient.ts:1943` 的 `client.tasks.stream(liveBody, {…})` 换成本口(见 126d) | 不涉及 | 待表态:`ui/lib/engine/engine-session-transport.ts:434` 的 `client.tasks.stream(…)` 换成本口 | 待表态:`main/session-host.ts:1816` 的 `this.deps.client.tasks.stream(…)` 换成本口 | G-TP3 | 126b TP-3 |
9805
+ | **TP-4** `createStreamDrainingLegs()` + 型 `StreamDrainingLegs` 上根入口 | 本包(CC-600;KL-732 删行) | consumed(公面 +1 函数 +1 型) | 排空收场账本身(每条订阅一只):`see(frame)` 判排空终帧并归零计数,`legEnded('returned' / 'threw')` 在排空收场时按梯给等待或放弃 | 零读点(经包内 `withHeadlessR1Reconnect` 已受益) | 不涉及 | 待表态:`ui/lib/engine/engine-session-transport.ts:459` / `:535-541` 自记的 `drainingAttempts` 换读此账 | 待表态:`main/session-host.ts:1960-1984` 自写的 `drainConsecutive` + 字段 `:764-773` / 判型点 `:2327-2335` 换读此账 | G-TP4 | 126b TP-4 |
9806
+ | **DU-1** 标签 / 方案词的值:分号紧贴的值、花括号 / 尖括号包着的值(全部出口) | 本包(CC-721 ①;桌面端 [10394] 原话) | consumed(行为面收紧) | 裸值停在 `;` 上而其后不是边界 ⇒ 值跨过它续扫(值首的分号同判,连同值一枚记号;括号里同判;逗号读法不动);值位 `{` / `<` 与 `(` / `[` 同一只包裹值判官(括号留在记号外;占位形不遮) | 零改码,受益 | 不涉及 | 零改码,受益 | 本地网可删两条(126d) | G-DU1 / G-DU2 | 126b DU-1 |
9807
+ | **DU-2** env 赋值形凭据名的值恰是 `Basic` / `Bearer` | 本包(CC-721 ②;KL-757 升级) | consumed(行为面收紧;下一个赋值不再当载荷遮) | `NAME=Basic` 后是串尾 / 行断 / 下一个 `NAME=<值>`(同行或下一行;只有尾部 `=` 填充的 token68 串不算赋值)⇒ 这个词就是值,遮;`TOKEN=Basic <载荷>` 照遮载荷、留方案词;换行后跟的不是赋值 ⇒ 方案词与载荷都遮 | 零改码 | 不涉及 | 零改码 | 同 DU-1 | G-DU3 | 126b DU-2 |
9808
+ | **DU-3** 方案词 `bearer` / `basic` 作凭据标签的值时其后那一词 | 本包(CC-721 ③) | consumed(行为面收紧) | 不再按「普通英文词」放行(`Authorization: Bearer configuration` ⇒ 遮);诊断词闭集照放;无标签散文不变 | 零改码 | 不涉及 | 零改码 | 同 DU-1 | G-DU4 | 126b DU-3 |
9809
+ | **DU-4** `displayConfiguredUrl` / `queryCarriesCredential`:停字符之后的尾段 | 本包(CC-731 ①) | consumed(行为修复) | URL 片段延到串尾;query / 片段 / 路径段参数的值整只进记号;路径里凭据标签(含粘连名,计量单位不算)之后夹停字符 ⇒ 路径余段一枚记号;上传判据的值判官按停字符切块、每块照原判 | 配置地址展示口换读(126d,`displaySafeBaseUrl` 退役路径) | 不涉及 | 零读点 | 零读点 | G-DU5 / G-DU9 | 126b DU-4 |
9810
+ | **DU-5** 同上:TAB / LF / CR 切开的令牌 | 本包(CC-731 ②) | consumed(行为修复) | 多一只删 TAB / LF / CR 的解析器读面,遮盖映回原文字节;判「串首是不是 scheme」也看解析器读面(首部 TAB 的单斜杠写法一遍即遮,修既有不幂等) | 同 DU-4 | 不涉及 | 零读点 | 零读点 | G-DU6 | 126b DU-5 |
9811
+ | **DU-6** 同上:相对引用(`/` `?` `#` 起头) | 本包(CC-731 ③) | consumed(行为修复) | 按地址切分,query 值逐值遮;`//` 起头的 authority 照判 userinfo / 主机 | 同 DU-4 | 不涉及 | 零读点 | 零读点 | G-DU7 | 126b DU-6 |
9812
+ | **DU-7** 同上:authority 恰是 `host[:端口]` | 本包(CC-731 ④) | consumed(放宽:不再多遮) | 主机名像标签(`my-api-key:443`)不再读成「标签 + 值」;端口非 1 – 5 位数字 / 超 65535 / 带 `@` / 带停字符 / 冒号来自百分号解码(`%3A`)⇒ 照旧遮;自由文本口不放(KL-325) | 同 DU-4 | 不涉及 | 零读点 | 零读点 | G-DU8 | 126b DU-7 |
9813
+ | **DU-8** `isDiagnosticValueWord(value)` | 本包(CC-683) | consumed(公面 +1 函数) | 诊断词闭集判定口,读展示出口那一张表 | 自持的同一张表删掉改读(126d) | 不涉及 | 零读点 | 零读点 | G-DU10 | 126b DU-8 |
9814
+ | **DU-9** 设置文档的凭据键名词表(终端自持)与展示出口的凭据变量名段表 | 本包(CC-677)射程答复 | pending(两问:见 126d DU-9) | 零改码:前者回答「这个键名可能装凭据吗」(用于藏值,取宽),后者回答「反引号里的这个名字是在点名一个凭据变量吗」(用于放行,取窄)—— 同一张表在两向上必有一向错 | 零改码(归宿见包侧缺口 ③) | 不涉及 | 零读点 | 零读点 | — | — |
9815
+ | **TH-1** 「码被剥掉时按 sdk 类名兜底」族(决断拒收分码判官 · 安全停绑定判官 · steering 判别位 · 取消 404 / 409 判官 · 删会话 409 判官 · 提交面 429 判官 · 决断拒收三类名臂) | 本包(CC-722);0.97.0 发布后的既有项 | consumed(行为变;读法单一化) | 类名只对**重建形**(码被剥掉、只剩 `name` 的普通对象)当族证据,比一张闭集表里的字面协议名(十六个字面串只住 `wireFailureShape` 一处,唯一读口 `protocolErrorNameOf`);**真 sdk 实例一律按机读码 / 状态码认**,名字不是证据 ⇒ 不压缩 / 压缩 / 压缩加 keepNames 三种构建读数逐位同;sdk 把 core 原码 `checkpoint.invalid_outcome` 也铸成绑定不符类,这一形安全停判官现在按**码**认(此前靠类名,压缩包里不认) | 零读点(终端未压缩,真实例按码本就命中);终端自有的类名表见 126d | 不涉及 | 零读点 | 零读点 | G-TH1 | 126b TH-1 |
9816
+ | **TH-2** 抛出物机读位读法 F8 射程外四处 | 本包(CC-727);0.97.0 修复批回执列出未修 | consumed(行为变;读法单一化) | `effectiveWireErrorCode` · 场景拒读口 `scenarioDenyFromError` · `readBlockedBy` · `denyAttributionRefusalFromError` 的机读位改自有数据位(原型链 ⇒ 缺席;访问器 / 描述符陷阱抛 ⇒ 读不出,取值器不执行);同函数族同形的取消 / 删会话 409 判官、提交面 429 判官、工具声明门拒读口、租约确认不了读口、`sandboxDegradeHint` 的状态与码位一并收口 | 零读点 | 不涉及 | 零读点 | 零读点 | G-TH2 | 126b TH-2 |
9817
+ | **TH-3** `wireFailureTextsOf` / `WIRE_FAILURE_UNRENDERABLE_TEXT` | 本包(CC-676);终端 [10280] (b) S-8 | consumed(公面 +1 函数 +1 常量 +1 型) | 失败句唯一取句口上根入口:`{ reason, log }`;终端 `failOpen.ts` 的 `describeThrown` 可删(`reason` 对位无名版,`log` 对位带名版) | 删 `describeThrown`,改读本口(126d) | 不涉及 | 可选(`String(error)` 兜底处,126d) | 可选(`e instanceof Error ? e.message : String(e)` 处,126d) | G-TH3 | 126b TH-3 |
9818
+ | **TH-4** `turnFailurePresentation(err)` | 本包(CC-667 第一程);普查 N7 | consumed(公面 +1 函数 +1 常量 +3 型;pending:补充句链编排与配额文案) | turn 失败呈现判定:类别(十个闭集词)· 给不给重试(服务端自述优先)· 等多久(只在服务端真给时在场)· 连接断 / 流静默 / park / 内部错的宿主中性一句话。建在 `classifyTurnWireError` 之上,只读线上事实 | 读点见 126d | 不涉及 | 读点见 126d | 读点见 126d | G-TH4 | 126b TH-4 |
9819
+ | **TH-5** `runReattachPolicy(budget, event)` | 本包(CC-667 第一程) | consumed(公面 +1 函数 +2 常量 +4 型;pending:终端窗口式重连机) | 重连预算纯函数决策:普通预算 5 次(掉线与流帽共花)· 掉线等待 `1000 × n`(提交前被排空拒收 ⇒ 包排空退避)· 流帽立即 · 排空终帧不花普通预算、梯用尽按一次普通流帽 · 放弃 `no_run_id` / `budget_exhausted`(结局未知,不是失败判决)。**消去网页端 / 桌面端的一处真分叉**:排空梯用尽后网页端放弃、桌面端当流帽 —— 本包取桌面端读法 | 不涉及(窗口式重连机仍归终端,126d) | 不涉及 | 换读(126d) | 换读(126d) | G-TH5 | 126b TH-5 |
9820
+ | **TH-6** `sandboxDegradeHint(err, host?)` 第二参宿主位(`SandboxHintHost` · `SANDBOX_HINT_HOSTS`) | 本包(CC-720);网页端 [10384] ④(b) | consumed(additive:第二参可选,公面 +1 常量 +1 型) | 五臂句子分「事实段 + 出路段」,出路段按宿主铸;缺席 ⇒ 终端,五臂逐字节同 0.97.1 | 零动作(缺席即终端) | 不涉及 | 传 `'web'`;删 123d 的 501 过渡分支(126d) | 传 `'desktop'`(目前零读点) | G-TH6 | 126b TH-6 |
9821
+ | **CH-1** `retry_status` 进座位词表 | web-client(PR;CC-741 前置) | consumed(型面 additive:`ChromeEventKind` +1) | 座位出站门放行;渲染端重试横幅消费 | 随 0.98.0 提货,`.includes` 转发零改码 | 零动作 | 已接消费臂 | 已接消费臂 | G-CH1 | `status: null` = 清横幅,不是「没在重试」的证据 |
9822
+ | **CH-2** `context_usage` 进座位词表 | 同上 | consumed(additive) | 上下文环 / 用量节 | 同上 | 零动作 | 已接 | 已接 | G-CH1 | 各键缺席 = 引擎没报,不是零 |
9823
+ | **CH-3** `last_turn_usage` 进座位词表 | 同上 | consumed(additive) | 用量节 | 同上 | 零动作 | 已接 | 已接 | G-CH1 | 带 `usageMissing` 时同行用量不是已知的账;`engineUsage` 整对象原形过门 —— 载荷闭形归 CC-738 |
9824
+ | **CH-4** `bgshell_register` 进座位词表 | 同上 | consumed(additive;**只覆盖义务 ①「行可见」**) | 后台命令行可见 | 同上 | 零动作 | 已接 | 已接 | G-CH2 | 缺席 = 面板看不到这条后台命令(不是没有后台命令);义务 ②(`recordBgParentRun` 宿主记账)**仍归宿主进程**,座位无停止动词前潜伏(desktop 记账 D-BGSHELL-PARENT-RUN) |
9825
+ | **CH-5** `bgshell_settle` 进座位词表 | 同上 | consumed(additive) | 后台命令收尾 | 同上 | 零动作 | 已接 | 已接 | G-CH2 | 缺席 ≠ 还在跑 |
9826
+ | **CH-6** `memory_saved` 进座位词表 | 同上 | consumed(additive;**改口**:§100a-2 ⑥ / §123 SC 行曾写「不在词表、须宿主侧还原成行」) | 「Saved N memories」行改由渲染端呈现 | 同上 | 零动作 | 已接 | 已接(按 K-24 在主进程侧还原过行的宿主**必须停那条路**,否则同一写入渲两行) | G-CH3 | 缺席 ≠ 没写记忆 |
9827
+ | **CH-7** `workflow_notification_enqueue` **刻意不进**座位词表 | 同上 | declined(成文) | 投递义务只许一个 = 持有会话空闲自动提交、装着 `NotificationQueuePort` 的宿主进程(Path-A 回声清扫 `dropQueuedNotificationsForRun` 清的就是这条队列) | — | — | — | 主进程裸入队(已合 desktop main) | G-CH4(负控:真铸出的 workflow 臂**不**过座位出站门) | 座位缺席语义 = 宿主进程已入队 |
9828
+ | **CH-8** required 臂座位去向成文表 + required 下限钉 | 同上 | consumed(门 M5 / M6) | 新加 required 臂不裁去向 ⇒ 门红;`required: true → false` ⇒ 编译红(`satisfies` 钉在 `CHROME_ARM_TABLE` 自身) | — | — | — | — | G-CH5 | — |
9829
+ | **ID-1** 出口对象的 `uuid` 值形:投影信封 · 转录行 · 段身份(`_sema_segment_id` / `text_segment_end.segmentId` / `committedUuid(s)` / `committedRows[].uuid`)· attachment 事件 `id` · 每响应 `message.id`(`msg_sema_…`)· 结果帧 · 合成终局行 · `-p` 工具结果帧 | 本包(CC-190) | consumed(🔴 值形变更,行为面;型面零变) | 事件带 `eventId` ⇒ 信封 `uuid` 按它确定性派生(派生名含信封类型:durable `text` 与本轮首块 `text_delta` 同 eventId、两个 uuid);行 / 段身份 / attachment id / `message.id` 经既有派生器由开场那一帧的信封派生(增量腿的文本 / 思考行 = 开场帧 + 收口帧〔最后一只贡献字节的帧;段末权威全文改写了字节时是段末帧〕,所以同 `uuid` 恒同正文);`done` 帧带 run 身份 ⇒ 结果帧与合成终局行按它派生;段身份 = 窗口锚 + 固定标签(去窗口序号;durable 整条消息腿的内容帧也当窗口锚);工具结果行 = 引擎 `eventId`(恒等;空串当缺席);`-p` 工具结果帧与交互行同一只身份 | 零改码(按 `uuid` 去重读点本版起对重投真生效;126d) | 不涉及 | 零改码(三处按 id 读点本版起才真幂等;126d) | 补一处按 `uuid` 去重(已认领 [10229];126d) | G-ID1 / G-ID2 / G-ID2b – 2d / G-ID3 / G-ID5 / G-ID6 / G-IDT / G-IDP | 126b ID-1 |
9830
+ | **ID-2** 超集键 `_sema_engine_ref: { eventId?, taskId?, sessionId? }` + 投影上下文可选位 `EmitContext.boundRun?(frame: AgentEvent): EngineBoundRun \| undefined`(按帧问) | 本包(CC-455) | consumed(additive:键 +1、可选位 +1、型 `EngineRowRef` / `EngineBoundRun`) | 投影口出口(`eventToSdkMessage` 外壳)每个带 `eventId` 的帧恰读一次事件身份、恰调一次 `boundRun(这一帧)`(入参就是正在投影的那一只帧,`runStream` 交来的与事件源交出的是同一个对象),铸在该帧信封顶层;转录行在 `adapt()` 出口抄开场那一帧信封上的那一只(行不重铸、段末不重读);`-p` 工具结果帧带与行 `uuid` 同源那一帧的;`-p` 车道原样上 stdout 的信封同带 | 要 `taskId` / `sessionId` ⇒ 开流 ctx 给 `boundRun`(可选;不给 ⇒ 只有 `eventId`) | 不涉及 | 同(可选) | 同(可选) | G-ID4 / G-IDE / G-IDP | 126b ID-2 |
9831
+ | **ID-3** `engineRefOf(row)` / `sameEngineRef(a, b)` + 型 `SameEngineRefVerdict` | 本包(CC-455) | consumed(公面 +2 函数 +1 型) | 「是不是同一件引擎事 / 同一个 run」的唯一读口:`'same'` / `'different'` / `'unknown'`;入参是行 / 信封 / `-p` 帧本身 | 零读点(要跨行对齐时接) | 不涉及 | 零读点 | 回灌行与重放行对齐可接(126d) | G-ID4 | 126b ID-3 |
9832
+ | **ID-4** `deriveTranscriptId` 入参去 `seq` 键 | 本包(CC-190) | consumed(🔴 型面 BREAKING 一处) | 稳定键梯「帧 id > seq > toolCallId」收成「帧 id > toolCallId」;只带 `seq` 的帧得 `ctx.uuid()` 当次返回值 | 零调用点 | 不涉及 | 零调用点 | 零调用点 | G-ID7 | 126b ID-4 |
9833
+ | **ID-5** 三端去重读法(成文契约,零型面) | 本包(CC-190 / CC-455;[10226] ②) | consumed | ① 转录行去重键 = 行 `uuid`(整串、不透明、不解析、不从它反推 wire 键;游标只是传输优化,不再是正确性的唯一保证);② 「是不是同一件引擎事 / 同一个 run」只读 `engineRefOf` / `sameEngineRef`,不读 `message.id` / `_sema_segment_id`、不从 `uuid` 推;③ 段归属照旧读 `_sema_segment_id` + 行 `uuid` | ① ③ 现状即是 | 不涉及 | ① ③ 现状即是 | ① 补按 `uuid` 去重 | G-ID2 系列 | 126b ID-5 |
9834
+ | **CP-1** 代理能力判定(`capabilities.taskAgents`)读总缓存:`prepareTaskAgentsWireWith` / `invalidateTaskAgentsWire` / `taskAgentsField` / `awaitTaskAgentsWire` · 单发口 `engineSupportsTaskAgents` | 本包(CC-624 ①) | consumed(行为修正;型面零变) | 判定只读总缓存那一份落地(宿主探测已落地 ⇒ 零额外请求;没落地 ⇒ 用准备口这条连线 kick 一次、有界等 3 s);同址失效换代后跟着新引擎走;同步读面当拍按判定(确证不收 ⇒ 不带、置空);单发口经同一条无键读法 | 零动作(接口不变;准备口按「地址 × 能力代际」认世代:同址失效换代后宿主重建客户端再准备 ⇒ 起新的一代、有界等新引擎能力,就绪后的第一次提交就按新引擎判) | 不涉及 | 零读点 | 零读点 | G-CP1 | 126b CP-1 |
9835
+ | **CP-2** `readEngineAgentRegistry(client, sessionId, capsBaseUrl, opts?)` | 本包(CC-624 ③) | consumed(型面 BREAKING:第三参) | 读总缓存里证据键上的 `background.listFace`(与后台停止口 `wire.capsBaseUrl` 同一把键);新成因 `capability_unknown` | **编译红必改**:第三参由 caps 对象换成能力证据键;删宿主另存的「最近一次能力回体」 | 不涉及 | 零读点 | 零读点 | G-CP2 | 126b CP-2 |
9836
+ | **CP-3** 任务句柄能力一只判官(`engineTaskHandlesCapable`) | 本包(CC-624 ⑥) | consumed(行为零变) | 读输出 / 停止两只动词的宿主连线形改经它判(连线形没点名证据键照旧不判、不发) | 零动作 | 不涉及 | 零读点 | 零读点 | G-CP3 | 不变 |
9837
+ | **CP-4** `observedCenterWiring` 读数不带 `caller` | 本包(CC-624 ⑦) | consumed(行为变) | 按地址的缓存答不了按身份的问题:缓存读数剥掉调用方租约;对本身份回体直调 `projectCenterWiringCapability` 照带 | 零动作(终端只读 `worker`;直调投影的那一处不受影响) | 不涉及 | 零读点 | 零读点 | G-CP4 | 126b CP-4 |
9838
+ | **CP-5** `rewindRestoreFilesEpochDetail` 的 `not_reported` 句 | 本包(CC-624 ⑧) | consumed(措辞) | 去掉「(older engine)」:支持底线以上的服务端恒铸这一位,缺席不是版本信号 | 零动作 | 不涉及 | 只渲(`rewind-checkpoint-wire.ts:113`) | 零读点 | G-CP5 | 不变 |
9839
+ | **CP-6** 能力回体「普通记录」判据单源 | 本包(CC-726) | consumed(行为修正) | 可落地判据与快照的原型分类读同一只跨 realm 判据:别的 realm 解析出的回体与本 realm 同一份 JSON 逐读器同答 | 零动作 | 不涉及 | 零动作 | 零动作 | G-CP6 | 126b CP-6 |
9840
+ | **CP-7** 执行车道 `isolated` 位读就抛 ⇒ 整格畸形 | 本包(CC-639) | consumed(行为修正,收紧方向) | 自有访问器 / 描述符陷阱抛不再按位降级:读口 `unreadable`、`toolsRunHereFromExecutionLane` 答 `false`、`noOsSandboxOnThisHost` 答 `unknown`;值不是严格布尔仍按位 `unreadable` | 零动作(线上回体无访问器) | 不涉及 | 零动作 | 零动作 | G-CP7 | 126b CP-7 |
9841
+ | **CP-8** `observedInheritEnvOwnCredentialsWithheld(baseUrl?)` · `inheritEnvIntentOf(input)` · `inheritEnvNotConfirmedNotice(lang?)` · `inheritEnvNoticeOf(intent, lang?)` | 本包(CC-747);能力词铸点在引擎(7.51.1 起),服务端投成 `GET /v1/capabilities` 顶层布尔键(7.129.0 起) | consumed(公面 +4 函数 +5 型) | 能力词读器(四态 + 没落地态) + 交互车道 `inheritEnv:"all"` 意图判定(车道 ∧ projectContext ∧ 能力词确证 ∧ 身份已核)+ 那一句告知与「该不该说」 | 换读:删本地判定与告知句(126d) | 不涉及 | 零读点 | 换读:删本地读法与告知句(126d) | G-CP-IE1(本版证明)/ G-CP-IE2(候服务端 7.129.0) | 126b CP-8 |
9842
+ | **CP-9** `resetManualCompactCapability`(到期退役,退出公面)| 本包(到期退役) | consumed(型面 BREAKING;三端零调用) | 0.95.0 起即空调用;`/compact` 能力读数只随 `invalidateEngineCaps` 换代 | 零动作(零调用) | 不涉及 | 零动作(只剩注释) | 零读点 | G-CP9 | — |
9843
+ | **HL-1** 审批持有表三臂 + 登记动词 `claimApprovalCard(identity, signal?)`;型 `ApprovalCardClaim` / `HostApprovalCardHold` | 本包(CC-607;终端 [10087] ③(1)) | consumed(公面 +1 函数 +2 型;行为面:活卡入口对偶查) | **成文契约**:持有表 = 进程级一张表,三臂(活卡 / 停驻行 / 宿主),每只持有带身份(`ApprovalHolderIdentity` 四分量)与相位(`card` 卡在等人 / `respond` 决断在送);**匹配律唯一一只、对称**:两侧都有 `approvalId` ⇒ 只比它;否则同 `taskId` ∧ 同 `toolCallId`(两侧非空)∧(两侧都在场时)同 `sessionId` ∧(两侧都在场时)同一件事(问类集 + 出身词 + 强制词,与同一调用卡账本同一只签名;宿主经公开口给的身份没有这一位),且只认持有者在 `card` 相位;任一分量读不出 ⇒ 不匹配。**对偶查**:活卡入口查停驻行 / 宿主持有,停驻行腿查活卡 / 宿主持有,宿主腿经 `claimApprovalCard` 查三臂;匹配到 ⇒ 等它放手:被它结算(活卡:已结表行且不转停驻;停驻行:决断落定且回执不说重开 / 中断拒绝被收下;宿主:`release('answered' \| 'interrupted')`;转停驻那一行可被随后确定的结算推进)⇒ 本路不呈卡不发、拿结局拷贝(`joinedInFlight`);没结算 ⇒ 本路重查接手。宿主路:`held` ⇒ 开卡,决断出站前 `hold.sending()`,落定 `hold.release(settled?)`(幂等;只在确定结算时给 `settled`,带 `approvalId` 时记进已结表)| 问车道 / 悬挂 ask / 404 重出三条宿主腿开卡前改调 `claimApprovalCard`、落定调 `release`;删流级去重集与本管线活卡在飞账(126d) | 不涉及 | 零读点(座位审批走包内腿) | 零读点 | G-HL1 – G-HL3 | 126b HL-1 |
9844
+ | **HL-2** 卡入参 `supersedes?: ApprovalCardSupersedes`(`approvalId?` / `parked?: true` / `priorAnswer?`)+ 句口 `approvalSupersedesDetail(card)` | 本包(CC-607) | consumed(additive;公面 +1 函数 +1 型) | 同一调用上**同一件事**(问类集 + 出身 + 强制词)再呈一张 = 接替卡,由同一调用卡账本(CC-283)派生;`parked` 读进程级已结表那一只的转停驻位;`priorAnswer` = 被接替那张卡上的答复词且那一答没被引擎收下 —— **只披露,不预选、不自动送**;句子唯一铸点 | 卡面可渲接替句(换掉壳侧停驻 / 接替说明句的自铸,126d) | 不涉及 | 可选接 | 零读点 | G-HL4 | 126b HL-2 |
9845
+ | **HL-3** 卡入参 `parkRow?: ApprovalCardParkRow`(`taskId` / `gatedCallId?` / `deadlineMs?`) | 本包(CC-607) | consumed(additive;公面 +1 型) | 只在停驻行腿铸的卡上在场(在场 ⇔ 停驻行卡);`deadlineMs` 经 `parkRowDeadlineState` 判(缺席 / 荒谬值 / 串形 ⇒ 不带);与活卡窗三键是两种时间源、两个字段,不合并 | 删停驻行卡交接表(`registerParkRowCard` / `isParkRowCard` / `parkRowDeadlineHandoff`),改读卡入参 | 不涉及 | 零读点 | 零读点 | G-HL5 | 126b HL-3 |
9846
+ | **HL-4** `approvalParkingNoticeText(retryAfterMs?)` 上根入口 | 本包(CC-607) | consumed(公面 +1 函数) | 停驻告警的函数形(无参 ≡ `APPROVAL_PARKING_WARN_TEXT`;带服务端建议间隔 ⇒ 句尾秒数);基句常量照旧,函数由它派生 | 可换读(回落腿那一句) | 不涉及 | 零读点 | 零读点 | G-HL6 | 126b HL-4 |
9847
+ | **HL-5** `answerPayloadFor(answer, lane, caps?)`;型 `AnswerPayloadLane` / `AnswerPayloadCaps` / `RespondAnswerPayload` / `DecideApprovePayload` / `DecideDenyPayload` / `DecideAnswerPayload`;放行臂 `ApprovalCardAllowDecision.note?` | 本包(CC-610;终端 [10087] ③(4)) | consumed(公面 +1 函数 +6 型;放行臂 +1 可选位) | 人答 → 决断体基形的唯一装配口:`respond` ⇒ `{ decision, updatedInput?, note? }`(拒因过能力位 + 2048 上限两道门);`decide` ⇒ 放行 `{ decision: 'approve', remember?: 'session', updatedInput? }` / 拒 `{ decision: 'deny', reason }`;非人答臂 ⇒ `undefined`。包内两条腿的决断体基形改由它取(规则臂与归因键仍由腿按帧事实另加);放行备注不上 wire | 回落腿的三词映射与放行体改读(126d) | 不涉及 | 回落映射改读(126d) | 回落映射改读(126d) | G-HL7 | 126b HL-5 |
9848
+ | **HL-6** `answerCarriage(card)`;型 `AnswerCarriage` | 本包(CC-610) | consumed(公面 +1 函数 +1 型) | `{ allowNote: 'model' \| 'none' }`:放行备注带不带得到模型;上游放行反馈位(CC-585)到货前**恒 `'none'`** | Yes 上的备注入口按它开关(`none` ⇒ 不开) | 不涉及 | 同 | 同 | G-HL8 | 126b HL-6 |
9849
+ | **HL-7** `observeApprovalAnswerCommitted(listener)`;型 `ApprovalAnswerCommitted` | 本包(CC-610) | consumed(公面 +1 函数 +1 型) | 每张卡的人答在**第一发**出站前恰一次(`{ callKey, lane, answer, payload }`,冻结);重发 / 去键重发 / 去 remember 回退不再发;撤卡 / 中止 / 卡口失败 / 编辑被拒不发;监听器抛不打断决断 | 本地会话立场(切模式 / 加目录)在这一拍应用,不绑执行结算 | 不涉及 | 可选接 | 可选接 | G-HL9 | 126b HL-7 |
9850
+ | **HL-8** `rememberOfferable(card, host?)`;型 `RememberOffer` / `RememberOfferable` | 本包(CC-611) | consumed(公面 +1 函数 +2 型) | 「不再询问」三档(会话 / 持久规则 / 名单会话)的三态 `offerable` / `refused` / `unknown`,**读的是 `standingRowsOf` 同一份读数**(两张映射表,`satisfies` 钉在表上);记不住位 ⇒ 会话档 / 名单会话档 `refused`、持久规则档 `unknown`(上游未给这一档的语义) | 端否决谓词改读(126d) | 不涉及 | 可选接(座位已有 `sessionRow`) | 零读点 | G-HL10 | 126b HL-8 |
9851
+ | **HL-9** `localAllowRuleEnforceable(rule, caps, host?)`;型 `LocalAllowRuleEnforcement` / `LocalAllowRuleHostFacts` | 本包(CC-611) | consumed(公面 +1 函数 +2 型) | 本地要写的 allow 规则写下去会不会被执行:宿主阶梯(`hostLadderEnforces === true`)∨ 引擎随请求收到这条 allow(只问装配判官 `permissionsDeclarationReport`,单条规则、设置读按干净算);判官抛 / 规则读不出 ⇒ 不可执行 | 本地写那一档出档前问它(不可执行 ⇒ 不出档) | 不涉及 | 零读点 | 零读点 | G-HL11 | 126b HL-9 |
9852
+ | **HL-10** `lateDecideOutcomeOf(reply, opts?)`;`LATE_DECIDE_OUTCOMES`;型 `LateDecideOutcome` / `LateDecideOutcomeReading` / `LateDecideReply` | 本包(CC-673;终端 [10280] H-10) | consumed(公面 +2 运行期名 +3 型) | 迟到决断回包 → 五档(`accepted-not-resolved` / `resumed` / `expired-reaped` / `settled-elsewhere` / `unknown`,词与终端现形同);收割码读包常量,「别处已决」读唯一判官(不读失败散文),三只「仍待决」读口先判;`settled-elsewhere` 上 404 / 410 / `not_found.*` 带 `probeWorthy` | 删 `classifyLateDecideOutcome` 与 `REAPED_CODES`,改读(126d) | 不涉及 | 零读点 | 零读点 | G-HL12 | 126b HL-10 |
9853
+ | **HL-11** `replayedApprovalClosesCardFrame` 收进确定结局;处置 `decided` 臂 +`parked?: true` | 本包(CC-725 ②) | consumed(行为面,成文改口;型面 additive) | 答 `true`:崩溃收敛行(同前)**或**本进程已结且不转停驻(`settled` ∈ 结局词闭集 ∧ 无 `parked`);转停驻 / 坏形 ⇒ `false` | 删「确认已结就收口」的壳臂(到货即退) | 不涉及 | 读点行为随包(126d) | 零读点 | G-HL13 | 126b HL-11 |
9854
+ | **HL-12** `fileHistoryUnjudgedRefusal` / `judgeFileHistoryTighten` 拒句第四句 | 本包(CC-725 ③) | consumed(行为面,出包字面量变) | 读到了一个本端不认识的捕获词(含老一代 worker 铸过的「捕获且关不掉」那个词)⇒ 说「报了一个不认识的模式」,不再说「没报」;判定不变(仍 `unjudged` ⇒ 拒) | 依赖旧句的断言改钉(126y) | 不涉及 | 不涉及 | 不涉及 | G-HL14 | 126b HL-12 |
9855
+ | **HL-13** `RESPOND_DECISIONS` 上根入口;型 `ToolApprovalRespondDecision` 改取 sdk `ToolApprovalDecision` | 本包(CC-679;终端 [10280] D-23) | consumed(公面 +1 常量;型面恒等) | 冻结元组 `['allow', 'allow_session', 'deny']`,与 sdk 型两向编译期钉;三端「人答 → 决断词」改调 HL-5(唯一映射点),不按三词自己映射 | 改读(126d) | 不涉及 | 改读(126d) | 改读(126d) | G-HL15 | 126b HL-13 |
9856
+ | **HL-14** `joinApprovalHolder` 过渡口(复核期 0.99.0) | 本包(CC-607) | consumed(行为面:看得见三臂;登退役行) | 本口不登记 —— 与 HL-1 `claimApprovalCard` 是同一问的两条读法;退役条件 = 终端问车道改调 `claimApprovalCard` 之后的下一个本包版本 | 改调 HL-1 | 不涉及 | 零读点 | 零读点 | G-HL1 | 126b HL-1 |
9857
+ | **ST-1** 出站门全族「普通记录」判据 | 本包(CC-656) | consumed(行为变:收紧) | 出站门全族(25 处判点:记录行 / 审批请求 / 事件 / 上传回执 / 模型配置回执 / 在线目录 / 发送回执 / 三只裸回执 / 转录信封 / 搜索信封与行 / 会话态 / 聚焦态 / 能力表,及嵌套的队列行 · 命中行 · 绑定对 · 车道证明 · chrome 信封)与能力表读口 `seatCapability` 由「是对象」改判唯一一只 `isPlainRecord`(对象、非数组、原型是 `null` 或「原型自己的原型是 `null`」—— 任一 realm 的 `Object.prototype`,另一个 vm 上下文里的普通对象照过):`Date` / `Map` / `Set` / 数组 / 类实例 / 自定义原型带合法自有位不再过门;在线目录 `listModels` 的行与缺省位也先判原始载体(行判据复制后再判、不看原型)。0.96.0 的三形与 0.97.0 的入站判官早已如此(当时比本 realm 的 `Object.prototype`,本版同批放成跨 realm),本版收齐,没有「是对象」那条旁路;射程:判原型链形状、不判内部槽,刻意改过原型的内建对象判不出(KL-770) | 零动作(无座位 lane) | 不涉及 | 零动作(读端,不构造座位载荷) | 核实后零动作:36 处事件站点与各 verb 返回值全是对象字面量或本包读口产物(126d ST-1);若某处故意发类实例,那一形会在宿主门口被拒并点名 | G-ST1 | 126b ST-1 |
9858
+ | **ST-2** `ApplyModelConfigResult.reason` 闭集 · `detail` · 人话句单源 | 本包(CC-728;桌面端请托) | consumed(🔴 型面 BREAKING:`reason` 由 `string` 窄成闭集型;公面 +1 常量 +1 函数 +1 型) | `reason?: ApplyModelConfigReason`(五词:`shadowed_by_models_json` / `cheap_provider_unsupported` / `invalid_request` / `write_failed` / `unavailable`,常量 `APPLY_MODEL_CONFIG_REASONS`);新可缺位 `detail?: string`(自由文本细节,仅展示、不可据以分支);人话句 `applyModelConfigReasonDetail(reason)`(单源;前两句与网页端既有句表逐字同,零体验变化);出站门拒表外词、拒 `ok:false` 缺 `reason`、拒非串 `detail` | 不涉及(无座位 lane) | 不涉及 | 换读:删本地 `MODEL_CONFIG_REASON_COPY` 句表,改读句口(+ 可选渲 `detail`)(126d) | **运行期必改**(编译不红):两条自由文本 `reason` 改发 `invalid_request` / `write_failed` + `detail`,否则出站门拒整条回执;删两处私有词字面量,改读包常量;云绑定分支可回 `unavailable` 代替抛错(126d) | G-ST2 | 126b ST-2 |
9859
+ | **ST-3** 座位死面退役 | 本包(CC-737;网页端接线缺口普查) | consumed(🔴 型面 BREAKING:删;公面运行期 −2 函数 −1 测试钩、型 −1) | 删 `LocalSessionEvent` 的 `hasPreClearSession` / `data` / `messages` / `permissionMode` 四位(型 · 键集 `LOCAL_SESSION_EVENT_KEYS`〔18 → 14〕· 出站门判据 · 覆盖表同批摘;发端三端零、读端三端零);删附件席位能力位占位读器 `noteEngineCapsForAttachmentSeat` / `observedAttachmentSeat` / `__resetAttachmentSeatReadingsForTests` 与型 `AttachmentSeatReading`(退役;恒 `not_reported`,三口退役后「席位在不在」没有读口,上游席位到货时按到货的键名新写一只读器) | 编译红一次:删 `liveClient.ts` 的一处 import 与一处调用,及随之失效的测试与登记行(126d) | 不涉及 | 零动作(零命中) | 零动作(零命中) | G-ST3 | 126b ST-3 |
9860
+ | **ST-4** 座位流式分片线形 | 本包(CC-668;普查 D-14) | consumed(公面 +1 常量 +2 函数 +7 型) | `SEAT_STREAM_DELTA_TYPE_OF_CHANNEL`(`text` → `text_delta` / `thinking` → `thinking_delta`,冻结)· 铸口 `seatStreamDeltaMessage(event, { uuid, sessionId })`(`stream_delta` 臂 → 放在 `message` 事件 `message` 位的消息体,字节与桌面端旧构造逐字同含键序)· 读口 `readSeatStreamDelta(message)`(四态 `delta` / `unknown_event` / `malformed` / `not_stream_event`);事件名 `stream_event` **不是**分片的载体 | 不涉及 | 不涉及 | 换读:`processMessage` 里的就地反解改读句口(126d) | 换铸:`onChrome` 里的就地构造改调铸口;铸口答 `undefined` 就不发这一条预览(126d) | G-ST4 | 126b ST-4 |
9861
+ | **ST-5** 引擎会话历史投影 | 本包(CC-668;普查 D-15) | consumed(公面 +1 函数 +14 型) | `projectEngineSessionMessages(rows, { sessionId })`:引擎存档行(`user` / `assistant` / `toolResult`)→ CC 词汇转录消息(user 行按**引擎出身元数据**〔`engineMinted` / `engineSegments` / `enginePrefixChars`,服务端会话读口逐字透传〕剪掉引擎前置内容 —— 元数据划界、绝不看文本形状,元数据缺席 ⇒ 原文留下;`toolResult` 收成 `user` 腿的 `tool_result` 块、引擎块词汇映成 CC 块词汇、时间戳只取行上真有的、`tool_use.input` 与表外块型走 JSON 快照、读不出的行 / 块进跳过账);桌面端旧口只收 user / assistant、`content` 原样、不剪引擎前置、丢 toolResult、时间戳全盖重建那一刻 | 不涉及(会话搬运 pull 另有一份同形块映射,不在本版射程,见包侧缺口) | 不涉及 | 零动作(其引擎车道投影的是自家回放记录词汇,不换 —— 它按标签形状剥提醒,与本口按出身元数据剪有别,见 KL-771;座位转录读口天然兼容缺席的 `timestamp`) | 换读:`rehydrateFromEngine` 里的就地重建改调投影口(126d) | G-ST5 | 126b ST-5 |
9862
+ | **UP-1** `readAssistantInbox(assistant, opts?)` | 本包(CC-566);服务端 `GET /v1/assistant/inbox`(契约 §2) | consumed(公面 +1 函数 +4 型 `AssistantInboxVerb` / `AssistantInboxEntry` / `AssistantInboxReading` / `AssistantInboxUnavailableReason`) | 三态读数 `present` / `unavailable` / `not-reported`;`entries` 次序逐位 = 服务端次序(包不排序不重排);车道在不在只问这一发自己的答复(501 ⇒ 不报),不读能力位;后台视图 assistant 腿与本口共用内部判官 `isAssistantLaneAbsent`(不上根入口) | 终端建 `/inbox` 视图与状态栏待办计数时读本口(不再拿「审批列表 + fleet 帧」拼两本账、不在壳里排序) | 不涉及 | 可选接(零读点) | 零读点 | G-UP1 | 126b UP-1 |
9863
+ | **UP-2** `ControlRouter.preempt(opts?)` · `preemptReceiptLine(outcome)` | 本包(CC-567);服务端 `POST /v1/assistant/tasks/:id/preempt`(契约 §4d) | consumed(公面 +1 函数 +4 型 `PreemptOutcome` / `PreemptParkedStatus` / `PreemptOptions` / `AssistantPreemptLike`;`ControlClientLike` +可选位 `assistant`) | 十一形结局(恒是值、绝不抛);🔴 202 不等于让位成功(判别位是回体 `status`:`preempting` = 收下;`running` = 这条 run 不可让位、什么都没动);至多一次(与 steer / cancel 同一把尺);车道不可用(这一口自己答 501 / 客户端没有 `assistant` 切片)缺省回落 cancel(硬停,语义不变),`onUnavailable: 'report'` 则不动 run;每个结局恰一句回执 | 壳只留 REPL 入口,删自拼回执句 | 不涉及 | 可选接 | 零读点 | G-UP2 | 126b UP-2 |
9864
+ | **UP-3** `issueEnrollToken` · `enrollDevice` · `revokeDevice` · `deviceIdentityMismatchOf` · `deviceIdentityMismatchLine` · `deviceRegistrationOutcomeLine` | 本包(CC-573);服务端设备管理面 §14.4 / §14.5 | consumed(公面 +6 函数 +10 型 `DeviceIssueEnrollTokenVerb` / `DeviceEnrollVerb` / `DeviceRevokeVerb` / `DeviceEnrollOptions` / `DeviceRateLimited` / `DeviceEnrollTokenOutcome` / `DeviceEnrollOutcome` / `DeviceRevokeOutcome` / `DeviceRegistrationVerb` / `DeviceIdentityMismatch`) | 三只发射口经 sdk 客户端 `devices` 切片发(与换绑三口同一份拒码闭集 / 至多一次尺);一次性令牌只在签发口 `ok` 结局里出现;身份不符两条读法(机读码 / 工具错误正文方括号前缀)收一只读口;三动词结局的呈现句 | 终端 `sema/devicesWire.ts` 三动词 + `deviceRejectFromError` / `deviceRejectContent` 换读,删裸 fetch 与本地分型,**网络面豁免整撤** | 不涉及 | 管理面三动词与句子换读(`engine-session-transport.ts` 的 `settleDeviceCall` 分型是自写的一份) | 零读点 | G-UP3 | 126b UP-3 |
9865
+ | **UP-4** `durableSeqOf(ev)` 上根入口 | 本包(CC-571);契约 §0.6(续流游标只有 `id:` 行) | consumed(公面 +1 函数;读法收紧一处:三种代际号事件的体 `seq` 不再当游标,名册由门对已装 sdk 声明逐臂核对) | 桌面端主进程自带的 `durableEventId` 与包内续读位置读口对同一帧答案不同(分歧九形,126b UP-4);包读数是真值 | 零读点 | 不涉及 | 零读点 | 改读包口并删自算(`main/session-host.ts` 三处) | G-UP4 | 126b UP-4 |
9866
+ | **UP-5** 页脚 fleet 列表行并集判定 | 本包(CC-599);终端 `footerAppStateAgentRows.ts` | **declined**(登已知限制 KL-772,关票) | 只终端有这一判定,且是按上游到货退役的过渡臂,输入是终端的任务店形;网页端 / 桌面端零读点 ⇒ 没有第二份读法 | 不动(并集臂随终端自己的退役登记到期退) | 不涉及 | 零读点 | 零读点 | 126d 零命中命令 | 不涉及 |
9867
+ | **UP-6** `hookMatcherVerdict` 对编不过的正则判拒 · `HookMatcherRefusal` 带理由词 | 本包(CC-717);服务端受理面对编不过 / 求值超时的正则形整请求拒 | consumed(🔴 型面 BREAKING;公面 +1 型 `HookMatcherRefusedReason`) | `refused` 臂按 `reason` 分两形:`alias_without_canonical`(带别名对)/ `invalid_regex`(编不过,不带别名对);`unjudged` 理由词去掉 `invalid_pattern`;事后读口 `hookMatcherRefusalFromError` 读数改判别联合,理由词多 `invalid_regex` / `over_budget`(带组下标)。**求值超时那一半本口不判拒**(静态上界不是墙钟,会把服务端受理的形圈进去),仍答 `unjudged / over_budget` | 终端 `sema/hookToolAliasMatcher.ts` 按 `reason` 窄化(126y ①);提交 400 的补充行按新理由词出句 | 不涉及 | 零读点 | 零读点 | G-UP6 | 126b UP-6 |
9868
+ | **UP-7** 兼容入口 `ledger.applyFrame` 与 `connected` 判活读法的退役 | 本包(退役登记 RL-105) | **pending**(不执行,留登记行)→ 🔁 本版改为硬退(RA-3) | 前提只成立一半:终端生产代码已改走 ingress,但仍有生产调用 `setConnected` 五处并读 `connected`,另有测试文件走兼容入口;「连接态由宿主报」与「流活着由 ingress 代次定」是两条读法,收成一条要先设计,不是删码 | 先设计(126b UP-7 到货判据) | 不涉及 | 零读点 | 零读点 | 126d 命令 | 126b UP-7 |
9869
+ | **PK-1** 开发依赖 sdk `^22.0.3`(写下时 peer `>=21.1.0`;同版随 PN-2 抬到 `>=23.0.2`) | sdk 22.0.0 – 22.0.3 | consumed(换钉;公面零删、句表 +3 行) | 出身词 `plan_review`(第十二词):一句 + 静默(计划审阅卡本身就是那一问);匹配形 `host` / `subdomain` 两句(两张表键型取词表属主 core);`task_started` 帧在投影入口按类型守卫认出、分类 `unsupported_arm`;源码对 21.1.0 与 22.0.3 两份 sdk 都零诊断 ⇒ 强制词的 sdk 滞后登记、`status` 帧四位的结构视图读、`task_started` 守卫三处留着,退出条件改为 peer 地板越过 sdk 22.0.0(退役登记 RL-139 / RL-08 / RL-09 / RL-140;同版 peer 地板抬到 `>=23.0.2` 即越过,由 PN-10 执行) | 零动作(自家 sdk 换钉时按 sdk 迁移表改) | 不涉及 | 零动作 | 零动作 | G-PK1 | 句表 / 静默表键型取 core ⇒ 不随消费端装哪一代 sdk 变(`plan_review` 照样有句、照样静默;`ASK_ORIGIN_WORDS` 是消费端 sdk 的数组,sdk 21.1 里没有这个词 —— 已低于 peer 地板 `>=23.0.2`);卡上 `host` / `subdomain` 规则候选按消费端 sdk 窄读,sdk 21.1 上仍被丢掉(同样低于 peer 地板) |
9870
+ | **PK-2** `readMcpHttpIdentityHeaders(transport)` + 两条腿的身份头过境 + `McpConfigLike.principalHeader?` / `assertionHeader?` | 本包(CC-735);契约 settings-schema 12.2.x;请求面 sdk 22.0.3 | consumed(公面 +1 函数 +1 型;**行为变**) | 云配置腿:`assertionHeader` 由剥掉改原样过境;本地 `.mcp.json` 腿:两个身份头由都剥掉改按同一读法过境;两位同在 ⇒ 这一条不进请求面;`toolAxes` / `toolFaces` 两腿仍只原样过境,不开第三只读器 | 本地腿经 `mcpConfigToSpec` / `mcpConfigsToSpecs` 自动生效 | 不涉及 | 零读点 | 本地腿自动生效;预扫计数可改读本口(126d) | G-PK2 | 非空串才算在场;空串 / 非串 / 缺席 ⇒ 不过境、不构成同在 |
9871
+ | **PK-3** `mcpAssertionHeaderNotSentNotice(specs)` + `cloudEffectiveNotices` 入参可选位 `mcp` | 本包(CC-735) | consumed(公面 +1 函数);**能力位 pending**(服务端尚无「这台发不发断言头」的位) | 声明了 `assertionHeader` 的服务器 ⇒ 一句披露(射程写在句子里:服务端版本至 7.129.1 接受但不发送 —— 🔁 同版支持底线抬到 7.129.1 后由「至 7.128.0」改说,§126 RD-1);云配置告示同一句(`warn`) | 云配置告示经 `cloudEffectiveNotices` 自动出;本地腿可调同一句口 | 不涉及 | 零读点 | 可调同一句口 | G-PK3 | `mcp` 位缺席 / 读不出 ⇒ 不出这一句(判不出,不编);没有服务器声明 ⇒ `undefined` |
9872
+ | **PK-4** 影子 models 文档写出数据副本 | 本包(CC-736) | consumed(行为修复) | `roles` 每一位与 `models` 每一条都是写盘 JSON 形的副本、每个键只读一次;`model` 钉在首读那一次;回体有条目却一条都写不成 JSON 形 ⇒ 投影抛(进程内对象才可达) | 零动作(写影子文件前不再受入参事后改动影响) | 不涉及 | 零读点 | 零读点 | G-PK4 | 写不成 JSON 形(进程内对象)⇒ 角色记 `unreadable`、条目按拒收处置,不抛 |
9873
+ | **PK-5** 会话镜像地址读 `normalizeEngineBaseUrl` | 本包(CC-746) | consumed(行为:合形地址零变) | 尾斜杠规范化的手抄正则退役;外层空白裁掉;规范化口拒的地址原样交出、`required` 照旧 | 零动作(信任落账 / 路由闸读到的串:合形地址逐字节同) | 不涉及 | 零读点 | 零动作(既有地址闸照旧拒坏地址) | G-PK5 | 地址缺席 / 空串 / 非串 ⇒ 仍 `sessionMirror: null`(读法未变) |
9874
+ | **PK-6** 卡面原因格出身一行改读 `askOriginNoteOf` | 本包(同形收口) | consumed(行为变一处) | 静默表与卡面一行口同一张(四词);表外出身词那一行不回显线上的词 | 零读点 | 不涉及 | 零读点 | 零读点 | G-PK6 | 出身缺席 ⇒ 不出行(同此前) |
9875
+ | **PK-7** settings-schema 10 一代 models 输入臂退役(RL-95) | 本包 | consumed(**型面 BREAKING**) | `models.default` / `atModelAllowlist` 不读;`CloudModelRefIssue.reason` −`shadowed`;`DeleteWarningsInput.doc` −`atModelAllowlist`、`DeleteBlockersInput.doc` −`default` | 删除判定传整份文档(非字面量,不红);本地池已在 11 一代 | 不涉及 | 零读点 | 零读点 | G-PK7 | 两把旧键到达不读:带 / 不带它们逐字节同答 |
9876
+ | **PK-8** 在线目录 id 形老键退役(RL-107) | 本包 | consumed(**型面 BREAKING**) | `LiveModelCatalog.default` 删;`readLiveModelCatalog` 不要求它、不带它;原因词 `default_missing` 退;座位 `listModels` 出站门不要求它 | 零读点 | 不涉及 | 零读点(**升级次序见 126y**) | 零读点(座位交的就是读口产物) | G-PK8 | 回体上的 `default` 怎样都不影响读数 |
9877
+ | **PK-9** sdk 22 其余加性面(`question` 两键 / `GET /v1/approvals` 具名信封 / 终局 `completed.detail` / 问类 `unverifiable_shell_text` / `tool_end.output` 块型)与 `task_started` 的投影 | sdk 22.0.0 | pending(本版不消费) | 本包不读这些位(`status` 帧四位不在此列:本包早已按结构视图读并投影,sdk 22 只是补了声明);`tool_end.output` 原样过境到内部臂(压平由宿主注入的口做) | — | — | — | — | — | 本包投影里缺席 = 本包没读,不是服务端没发 |
9878
+ | **LF-1** `readOwnDataNonEmptyString(obj, key)` · `readOwnDataFiniteNumber(obj, key)` · `guardedRead(read)` · `wireFailureCoreOf(e)` + 型 `WireFailureCore` | 本包(CC-680;终端 [10280] 普查 X-15) | consumed(公面 +4 函数 +1 型) | 外来体窄读四口:自有数据位的非空串 / 有限数(取值器不执行、原型链上的位不算;`0` 是真值、空串按缺席)、受保护读、抛出物三位核(`status` 数才在场 / `errorCode` 串才在场 / `message` 恒在且永不空串,取句与 `wireFailureTextsOf(e).reason` 同一只函数)。取代端上逐字同形的三份 `shapeOf(e)`(`message` 缺席时退 `String(e)` —— 对象渲成 `[object Object]`)与 `typeof o.x === 'string' && o.x !== ''` / `Number.isFinite` 的单位读法。不出:执行自有访问器的孪生读法(包内私有)、带 `unknown` 位的 `isPlainObject` / `asRecord` 守卫(类型棘轮不许新增 `unknown` 位;端上改经读口读字段) | 换读:两份 `shapeOf` 删(126d);`projectPolicy` 里的单位读法可选换读 | 不涉及 | 换读:`shapeOf` 删;`finiteOrUndefined` 随 LF-3 删 | 零读点 | G-LF1 | 126b LF-1 |
9879
+ | **LF-2** `readTaskNotificationXml(xml)` + 型 `TaskNotificationXmlRead` | 本包(CC-682;终端 [10280] 查漏 B-6) | consumed(公面 +1 函数 +1 型) | 单条通知 XML 回读口:`{ taskId?, status?, external }` \| `undefined`(串里没有通知块);批量口 `parseTranscriptNotificationSeeds` 改调同一个**线性**块解析器(读数对 0.97.1 的整串正则实现逐形不变;未闭合开标签 / 带空白无 `>` 的开标签 / 同名前缀候选不再平方)。取代终端 `firstTagBody` / `unescapeXmlText` / `cardRunIdOf` / `cardStatusOf` | 换读,删四个本地函数(126d);两处差异见 126b LF-2(`status` 不再 `trim`、要求包着它的 `<task-notification>` 块在场) | 不涉及 | 零读点 | 零读点 | G-LF2 | 126b LF-2 |
9880
+ | **LF-3** `contextUsageReadingOf(载荷)` + 型 `ContextUsageReading`;`context_usage` chrome 臂 `sections[]` 逐行重建 | 本包(CC-670;终端 S-3 / 网页端 W-19) | consumed(公面 +1 函数 +1 型;chrome 臂行为变) | 唯一窄读口(载荷 = wire 原始帧 / 内部臂 / chrome 事件,同一份读数):三标量各自独立 finite 门、`sections` 逐行 `{id, tokens}` 必填门、全丢光 ⇒ 键缺席、四位都缺席 ⇒ `undefined`;投影口与 chrome 臂都经它 —— 直喂 `adapt()` 的毒行修前原样进 chrome,现在与投影口同律逐行重建 | 换读:`runStream` 旁观者里三标量的 `finiteOrUndefined` 门删,原始帧过本口(车道无关);压缩记录不在本口(126y 包侧缺口 ①) | 不涉及 | 换读:`readContextUsage` / `readSections` / `finiteOrUndefined` / `isPlainObject` 删,chrome 载荷过本口 | 零读点 | G-LF3 | 126b LF-3 |
9881
+ | **LF-4** 超集键 `_sema_gate`(交互转录的工具结果行 + `-p` 工具结果帧的信封顶层) | 本包(CC-670「门拆分投影」;网页端 W-14) | consumed(additive 键;根入口零新名) | 值 = `gateOutcomeOf` 的门记录视图(处置〔放行 / 被哪一层拒〕+ 结算十四词 + 出身),present-iff 视图读得出;不进 `tool_result` block。`deniedBy` 十个细分词与结算词不再止步于卡之前(此前只折成 7 值 `_sema_denial_kind`) | 零动作(读臂上的 `gate`,不读行信封) | 不涉及 | 换读:三处裸帧 tap 删(126d),判官改对 `row._sema_gate` 调 | 零读点 | G-LF4 | 126b LF-4 |
9882
+ | **LF-5** `planReviewOfferedModeOf(卡 \| 帧 \| questionId)` + 型 `PlanReviewOfferedMode` / `PlanReviewCardLike`;已呈档位台账 | 本包(CC-681;终端 [10280] 查漏 B-5) | consumed(公面 +1 函数 +2 型) | 计划审阅卡「已呈档位」三态读口:`'three_choice'` \| `'two_choice'` \| `'unknown'`,只由正面证据给出(卡面标签 > `questionId`:重开身份恒两选、其余查本包发布时记的台账〔答后不清、有界 64〕);取代终端自记的 taskId → 档位台账与「重开身份恒两选 / 台账缺席落两选 / 在场卡不被重放改写」整套复算 | 换读:`planReviewModeAfterOffer.ts` 台账与复算删,取标签集改 `planReviewCardOptions(mode === 'three_choice')`(126d;`submittedInPlanMode()` 宿主声明照留) | 不涉及 | 零读点 | 零读点(座位并集读法不在本口) | G-LF5 | 126b LF-5 |
9883
+ | **LF-6** `reopenPlanReviewCard` 同步重载退役 + `ReopenPlanReviewOpts.presentationReceiptMs` 必填 | 本包(RL-116 / CC-396;退役账 retireBy 0.98.0) | consumed(🔴 型面 BREAKING 一处) | 恒返回 `Promise<ReopenCardVerdict>`;纯 JS 宿主不带回执窗(或不是数)⇒ 不呈卡、resolved `{ reopened: false }`;公面名不动 | 零动作(`planReviewReopen.ts:145` 已带回执窗) | 不涉及 | **编译红必改一处**:`engine-self-heal.ts` 的 `reopenPlanReviewViaCard` 补 `presentationReceiptMs`(126y) | 零调用 | G-LF6 | 126b LF-6 |
9884
+ | **LF-7** 面板两只旧订阅口 `subscribeEngineAgentPanel` / `subscribeEngineAgentPanelAbsence`(RL-89 / RL-90 —— 0.98.0 到期硬退、退出公面,见 RA-1 / RA-2) | 本包(CC-114;退役账) | pending(本版保留,不改窗、不删码)→ 🔁 本版改为硬退(RA-1 / RA-2) | RL-89 / RL-90 退役条件 = 终端删掉 `chrome-agentprogress.tsx` 三处调用之后的下一个本包版本(CC-556 设计定),本版保留 | 删三处调用、改订 `subscribeEnginePanelRows`(已认领 [10585]) | 不涉及 | 126d LF-7(一处调用另记) | 零读点 | — | 不涉及 |
9885
+ | **CS-1** `connectorStatusOf({ name, mountFace })` + 成因闭集 `CONNECTOR_STATUS_UNKNOWN_WHYS` + 型 `ConnectorStatusInput` / `ConnectorStatusReading` / `ConnectorStatusUnknownWhy`;契约型 `ReaderMintedStatus` / `ReaderMintedState` 自 `@sema-agent/connectors-contract` 原样转口;`readMcpCapabilities` 返回型收窄为 `McpDeploymentOutcome`(face 臂 +1 自有位 `declaredBy: 'deployment'`) | 契约 `@sema-agent/connectors-contract` 0.1.1(`schemas/connector-status-v1.json` 的 `ReaderMintedState` = `unmounted` / `unreachable`);挂载面 = 服务端 `GET /v1/capabilities/mcp`(7.126.0:这台部署缺省场景的声明,逐台现拨);活性 = 行上 `liveness`(引擎 7.49.5 `LIVENESS_BY_FAILURE_KIND`) | consumed(公面 +2 运行期名 +6 型;新运行依赖,只用其类型) | 读者两态的唯一铸点:名单读完而名字不在 ⇒ `unmounted`;恰一行且活性 `unreachable` ⇒ `unreachable`;恰一行且 `reachable` ⇒ `self_reported`;其余 `unknown` + 六成因。拨号判词 `status` 不参与。`mountFace` 只收带 `declaredBy: 'deployment'` 的结局(探测口 `probeMcpServers` 的结局型交不进、运行期读不出) | 零读点(无连接器面) | 不涉及 | 零动作(连接器状态词零读点;设置页 Connectors 节今渲拨号判词,见 126d) | 零动作(同上;见 126d) | G-CS1 / G-CS2 / G-CS3 | 见 126b CS-1 |
9886
+ | **CS-2** `connectorStatusLine(reading, lang?)` | 本包 | consumed(公面 +1 运行期名) | 三端同一句英文:十句(两读者态 + 自报 + 六成因 + 兜底),不带名字;`lang` 缺省 / 任意值同句;句子出函数不出常量 | 零读点 | 不涉及 | 零读点 | 零读点 | G-CS4 | 坏读数 ⇒ 兜底句,不抛 |
9887
+ | **CS-3** 连接器自报三态(`unauthorized` / `authorized` / `expired`) | 契约 `ConnectorMintedState`;读法候引擎结构化未授权态(core #1495) | pending | `self_reported` 臂今天恒 `state: 'unknown'` —— 挂着且够得着不等于已授权 | 零读点 | 不涉及 | 零读点 | 零读点 | G-CS2(第三格) | 见 126b CS-3 |
9888
+ | **TK-1** `permissionsDeclaration` / `permissionsDeclarationReport` 的 deny / ask(含命令行 deny) | 本包(CC-378);服务端受理口:收紧规则编不出 ⇒ 整请求 422 | consumed(**行为变**) | 收紧桶不再扣规则:`~/` 路径 / 编译器拒收 / 括号 · 无前缀 `__` · 不完整协议名 · 段铸不出 / 无现名的退役名(及内容形)照投;只做等价改写(退役名 → 判官现名〔现名须过名字关〕、`X(*)` / `X()` ⇒ `X`、整服务器 / 整 peer ⇒ `__*`、去两端空白);报告口 `kept` 在这两桶只剩 `empty_rule` / `duplicate`。allow 桶逐字节不变 | 删 deny / ask 死规则三类行;allow 改按 allow 桶 `kept` 分类(须交一份「grants 在场」的读数只供分类);删 `~/` 出路句与编译器拒因自问 | 不涉及 | 先决见 TK-8 / TK-9 | 计数行自然消失;先决见 TK-8 / TK-9 | G-TK1 – G-TK4 | 126b TK-1 |
9889
+ | **TK-2** `PermissionsDeclarationReport.unchecked` · 型 `PermissionsUncheckedRule` | 本包(CC-378) | consumed(**型面 BREAKING**,删) | 收紧桶不再问规则编译器,表恒空 ⇒ 退役 | 零读点 | 不涉及 | 零读点 | 删一段(编译红) | G-TK5 | 键缺席 |
9890
+ | **TK-3** `PermissionsDeclarationReport.unreachable` · 型 `PermissionsUnreachableRule` | 本包(CC-378) | consumed(**型面 BREAKING**,删) | 「服务端会不会收这一条」只由服务端答(支持底线上服务端的拒收句本身给出铸出的拼法);发出前要提示的读 `ruleToolNameVerdictOf` | 测试改断言(编译红) | 不涉及 | 零读点 | 删一段(编译红) | G-TK5 | 键缺席 |
9891
+ | **TK-4** `projectAgentsForWire`:代理工具清单与定义 | 本包(CC-378);服务端受理口对代理形与帽整请求 400,引擎对清单名字开跑前判 | consumed(**行为变**;三处随上游) | 本版:清单条目不按长度剔、不按条数截;`tools` 写了(任何数组)⇒ `allowTools` 恒在场(`[]` = 什么都不给);名长 / `maxTurns` 原样;deny 里判官给了现名的退役名**只在宿主交了名册、且名册里没有这个名**时改写成现名(`toolListFlaws` 行带 `rewritten: true`);`isolation` 非 `"worktree"` 照旧丢键(KL-781)。随上游:32 只截断(每请求代理上限新语义);扣送开关 / `tools` 里判官问题条目的省略 / 目录省略两半已随支持底线抬到 7.129.1 同版退(§126 RD-2 – RD-4) | 要改写就交名册(今天名册只随一次成功开跑的流到达) | 不涉及 | 零读点 | 删 `reservedNames` 整只不送与字节预算挤掉代理(改「这一发不提交 + 告」);要改写就交名册 | G-TK6 | 126b TK-4 |
9892
+ | **TK-5** `ProjectAgentsDeps.withholdRefusedDenyLists` | 本包(CC-378) | consumed(🔁 同版执行:支持底线抬到 7.129.1 当版删,§126 RD-2;退役登记 RL-142) | 扣下整只定义在它覆盖内置代理名时等于把内置版放回来;同版删开关后代理一律照送、deny 条目原样(deny 名单孪生 / 退役拼法的拦截归服务端 7.131.0) | 编译红一次(见 RD-2) | 不涉及 | 零读点 | 编译红一次(`main/agents-wire.ts:587`,见 RD-2) | G-RD2 | 126b RD-2 |
9893
+ | **TK-6** `MAX_AGENT_TOOLS` · `MAX_AGENT_TOOL_NAME_CHARS` · `MAX_AGENT_NAME_CHARS` · `MAX_AGENT_MAX_TURNS` 退役;`MAX_TASK_AGENTS` 与 32 只截断 | 本包(CC-378);服务端每请求代理上限新语义(候) | 四帽常量 consumed(**型面 BREAKING**,删;后两只是前两只的同轴孪生、包内同样零读点,同批删);32 只一格 pending(到期条件 = 服务端新语义到货;退役登记 RL-145) | 四只是服务端常量的手抄,本包不再用它们剔截或丢弃;32 只暂缓期间截断 + 一行照旧 | 测试改(`agentsWire.test.ts:21` / `:24` import 编译红,`:129` 读点另有 `:148–153` 四格运行期红,126d) | 不涉及 | 零读点 | `MAX_TASK_AGENTS` 暂留 | G-TK6 | 126b TK-6 |
9894
+ | **TK-7** 目录省略两半(§125 AD-1)· `excludeToolsAgainstDirectory`(0.98.0 退出公面) · 型 `ExcludeToolsAgainstDirectory`;§125 AD-4 / G-AD6 过滤契约 | 本包(CC-378);引擎对无应答名只告不拒(随底线到货) | consumed(🔁 同版执行:支持底线抬到 7.129.1 当版退,§126 RD-4;退役登记 RL-144) | 省掉一条本跑无应答的条目由引擎自己的「只告」取代;调用点改传原名单;宿主不得把旧过滤器搬到自己那一侧 | 撤在飞叶(见 RD-4) | 不涉及 | 零读点 | 编译红一次(`main/agents-wire.ts:591`,见 RD-4) | G-TK6 | 不涉及 |
9895
+ | **TK-8** 座位 turn 失败呈现(TH-4 换读) | 本包(CC-667 第一程,本版已出) | consumed(先决) | 桌面端以 TK-9 的键填座位失败;网页端直读、不按句子分类;`connection_lost` 臂改读新键 | 不涉及 | 不涉及 | 改传输层、`classifyWireTurnError` 座位支与 `connection_lost` 臂 | 改 `classifyStreamFailure` | G-TK8 | 座位契约原句 |
9896
+ | **TK-9** 座位 `error` 臂超集键 `_sema_turnFailure` · `seatTurnFailureOf(err)` · `readSeatTurnFailure(event)` · 型 `SeatTurnFailure` | 本包(CC-378;承 CC-667) | consumed(**型面 additive + 契约改口**) | TH-4 的类别 / 重试判决 / 等待窗 / 句 / 机读码随座位过境(五位 Pick;文本在 `error`、状态码在 `code`);互斥 = 产出方不变量(turn 失败不铸 `errorCategory`)+ 渲染端优先序(新键在场即以它为准);出站校验器只登键、不加拒臂 | 不涉及 | 不涉及 | 传输层原样转、渲染端经读口直读 | 填它 | G-TK8 | 126b TK-9 |
9897
+ | **TK-10** 包拒装 ⇒ 这一发不提交(契约) | 本包(CC-378) | consumed(契约成文) | 只罩带 `assemblyRefusalOf` 身份的失败(装配口的抛 / 代理就绪门的 `{ ok: false }`);宿主不得折成「不带它照跑」;别的失败按各端既有处置 | 首发设置装配的照发臂等出口按身份分 | 不涉及 | 不涉及 | 两处 catch 臂按身份分 | G-TK9 | 126b TK-10 |
9898
+ | **TK-11** `assemblyRefusalOf(x)` · `ASSEMBLY_REFUSAL_CAUSES` · 型 `AssemblyRefusal` | 本包(CC-378) | consumed(公面 additive) | 拒装的机读身份(自有数据位读;压缩包里同判);装配口的外来抛出物在边界同样带上身份 | 读 | 不涉及 | 不涉及 | 读 | G-TK9 | 126b TK-11 |
9899
+ | **TK-12** `awaitTaskAgentsWire()` 回结局;本包准备 / 作废重投不再吞失败 | 本包(CC-378) | consumed(**型面改口 + 行为变**) | 投影抛 ⇒ `{ ok: false, refusal }`(`agents_projection_failed`);到点无结论 ⇒ `agents_not_ready`;引擎确证不收代理 / 未 prepare ⇒ `{ ok: true }`;失败的那一代下一次就绪门重投一次、到点踢一次后台刷新 | 两条提交腿读回值(`ok: false` ⇒ 不提交 + 告) | 不涉及 | 不涉及 | 零读点(每回合直调投影) | G-TK10 | 126b TK-12 |
9900
+ | **HM-1** 连坐位 `_sema_collateral_abort`(停驻带调用身份时)| 本包(CC-625)| consumed(行为变,零公面变化)| 停驻自带的调用身份(`done{suspended}.result.toolCallId` / 耐久 `suspended.toolCallId`)在场 ⇒ 这一批的主角就是它,其余宿主车道、收口帧没有指向别的门的扣留帧盖位 | 读位不变(折叠连坐簇的端多看到一些带位帧)| — | — | — | G-HM1 | 身份缺席 ⇒ 推断臂(本批唯一同族)不变;判不出整批不标 |
9901
+ | **HM-2** 会话放行回退(包内停泊腿)| 本包(CC-625;RL-146)| consumed(行为变)| 回退只认 remember 专属五码(`rememberRefusalOf`);无机读码的 400 不回退 | 零读点(包内腿)| — | — | — | G-HM2 | 码读不出 ⇒ 不是专属码 ⇒ 不回退 |
9902
+ | **HM-3** `reopenPlanReviewCard` 参数(`ReopenPlanReviewOpts` 两臂)| 本包(CC-625)| consumed(🔴 型面 BREAKING,+3 型)| `mintFreshQuestionId: false` 与注入投递三位互斥;运行期同给当场拒 | `sema/planReviewReopen.ts` 只给 `deliverDecision` ⇒ 零动作 | — | 零调用 | 零调用 | G-HM3 | 两臂都不给 ⇒ 缺省铸新身份(与修前同)|
9903
+ | **HM-4** `SuspendedAskDelta`(去 `upgraded`)| 本包(CC-625;RL-148)| consumed(🔴 型面 BREAKING)| delta 只有 `appeared` / `gone` | `sema/suspendedSubagentAskWire.ts:410` 读 `delta.upgraded` ⇒ 编译红必改 | — | `ui/lib/engine/engine-session-transport.ts:298`、`ui/lib/engine/suspended-subagent-ask-feed.ts:104` 读它 ⇒ 编译红必改 | 零读点 | G-HM4 | 行上 `frame` 缺席 ⇒ 坏形,出一次盲卡、不再报任何臂 |
9904
+ | **HM-5** `isFromSubagent(frame)` | 本包(CC-625;RL-147)| consumed(行为变,只在坏帧 / 注入面)| 只认 `fromSubagent === true` | `sema/liveClient.ts:1761`、`sema/approvalStreamWire.ts:893`(两键同传)⇒ 零动作 | — | `ui/lib/engine/engine-hitl-frames.ts:267` ⇒ 零动作 | 零读点 | G-HM5 | 显式位缺席 / 非 `true` ⇒ 非子代(只带 `sourceTaskId` 也不算)|
9905
+ | **HM-6** `startApprovalsFeed` 的 `pending` 段 | 本包(CC-625)| consumed(行为变)| 坏形一个判官:整段读不出 ⇒ 逃逸进熔断;半坏 ⇒ 提交 + `pendingDropped` | 读位不变 | — | 读位不变 | 读位不变 | G-HM6 | `pendingDropped > 0` ⇒ 计数口 durable 格答 `null`(不是确数)|
9906
+ | **HM-7** 分类器拒绝回调 `ctx.args`(gated 调用)| 本包(CC-625)| consumed(行为变,更全)| 入参快照一张表;gated 调用的快照不被在飞容量淘汰 | 读位不变 | — | 读位不变 | 读位不变 | G-HM7 | 没记过 ⇒ `ctx` 只带 `toolCallId`(与修前同)|
9907
+ | **HM-8** 面板行绑定 | 本包(CC-625)| consumed(规则成文,零行为变)| 第一次 typed 绑定即定 | 零读点 | — | — | — | G-HM8 | 父键缺席 ⇒ 不绑(与修前同)|
9908
+ | **HM-9** `CONTROL_TOOL_VERBS` / `projectDescription` | 本包(CC-627;RL-149)| consumed(行为变,公面集合少两员)| 压制集去掉 `Task` / `Fork` | 零读点 | — | 零读点 | `main/agents-wire.ts:87` 另并 `SUBAGENT_TOOL_NAMES`(仍含两名)⇒ 零动作 | G-HM9 | — |
9909
+ | **HM-10** `GateOutcomeView.unreadable` · `GateRecordSeat` | 本包(CC-395;RL-150)| consumed(+1 可选位 +1 型;臂少一键)| 视图自带「在场读不出」证据;臂标记 `_sema_denial_unclassified` 退役 | `sema/seamQueryEngine.ts:2037` 对臂调读器 ⇒ 判词不变,零动作 | — | 零读点 | 零读点 | G-HM10 | 成形记录上整键缺席;三座三态(视图有 = 在场 / 在本位 = 在场读不出 / 两处都无 = 原本没有)|
9910
+ | **HM-11** `coerceOutput` | 本包(CC-627)| consumed(行为变)| 对象 / 数 / 布尔形 ⇒ `undefined`(与 `flattenWireOutput` / 转录投影同一只读法)| `components/tasks/AsyncAgentDetailDialog.tsx:329` 读子代结果串 ⇒ 对象形结果不再显示(零编译变化)| — | 零读点 | 零读点 | G-HM11 | `undefined` / `null` ⇒ `undefined`(与修前同)|
9911
+ | **HM-R1** 三条决断车道的返回值 = `ApprovalResolution`(`surfaceFsApprovalAndDecide` / `surfaceToolApprovalFrameAndRespond` / `surfaceSuspendedAskAndRespond` / 停驻解析问答腿;`onToolApprovalOutcome(frame, resolution)`;`joinApprovalHolder` / `claimApprovalCard` 的 `joined.outcome`)| 本包(CC-77 第二步;CC-625 ④)| consumed(🔴 型面 BREAKING:删 7 型 3 口,+`APPROVAL_RESOLUTION_LANES` / `ApprovalResolutionLane` / `ApprovalDenyFacts`)| 一次决断一个值:做(或 join)这次决断的那条车道铸它一次;join 拿持有者那一个值(+`joinedInFlight`;活卡持有者的值上没有 `gatedCallId` 时补 join 方那一行的被门住调用)。旧形 `FsApprovalOutcome` / `ToolApprovalFrameOutcome` / ask 腿 `GateOutcome` / `ApprovalLegOutcome` / `StreamApprovalOutcomeNote` / `ToolApprovalRespondRefusal` / `HitlFailureStage` 与 `approvalResolutionOf`(已退役) / `approvalOutcomeNoteOf`(已退役) / `readToolApprovalRespondRefusal`(已退役) 零别名退 | 编译红必改(126d HM-R1 逐行)| 不涉及 | 零代码读点 | 零代码读点 | G-AR1 / G-AR2 | 126b HM-R1 |
9912
+ | **HM-R2** `DecisionRefusalReading` · `readDecisionRefusalReading(err, context?)` · 唯一的 `cause` 读法 | 本包(CC-77)| consumed(公面 +1 函数 +2 型;`HitlSafetyError` +标准 `cause`)| 拒绝读数在决断车道铸点对原抛出物判一次、冻结进 `unsettled.refusal`;判官四口(`classifyDecisionRefusal` / `decisionRefusalAskReading` / `decisionRefusalSaysAskGone` / `isAlreadyResolvedFailure`)收联合只读存值;包装 `HitlSafetyError` 带 `cause`(引擎答了的绑定不符)⇒ 事实与状态码读 `cause`、本地闭集码读包装;不补造 409 | 活卡拒绝分类改读联合上存好的位 | 不涉及 | 交抛出物给判官照旧,零动作 | 同左 | G-AR2 | 126b HM-R2 |
9913
+ | **HM-R3** cause 两张表(`APPROVAL_NOT_SENT_CAUSES` / `APPROVAL_UNSETTLED_CAUSES`)| 本包(CC-77)| consumed(词表变)| `not_sent` 八词(+`wrong_gate` +`safety_stop`);`unsettled` 八词(`engine_refused` / `engine_error` / `no_answer` 由读数投影,`respond_failed` / `decide_failed` / `safety_stop` 出)| 零代码读点(句尾 cause 词行为变,126y)| 不涉及 | 零读点 | 零读点 | G-AR3 | 126b HM-R3 |
9914
+ | **HM-R4** `approvalResolutionDetail(r)` | 本包(CC-77)| consumed(公面 +1 函数;两句常量搬家同名)| 可呈现的那一句:`not_sent` 八词各一句(撤卡 / 编辑被拒两句与退役便签逐字同),`unsettled` = 码 · 原文;拼不出 ⇒ `undefined` | 回交口两处改调 | 不涉及 | 零读点 | 零读点 | — | 126b HM-R4 |
9915
+ | **HM-R5** 唯一送达判点(先验证据表 × 可选路由上下文 `RefusalRouteContext`);计划审阅 / 手动压缩改读 | 本包(CC-77 / F-166)| consumed(行为差:计划审阅两格、压缩口两格 + `unconfirmed` 一位;审批面零)| 「引擎拿这一发怎么了」只一个判点:状态码 400–499 / 501 ⇒ 处理前拒收;先验证据表命中(`corrupt` 500 × 计划审阅 / 审批决定 / 活卡答复路由)⇒ 拒收;其余 5xx ⇒ 说不准 | 两处可见:计划审阅退档句 + 压缩文案(126y)| 不涉及 | 零读点 | 零读点 | G-AR5 | 126b HM-R5 |
9916
+ | **HM-R6** 停驻挪动族 +2 码 · 续跑预检永久形 | 本包(CC-768;终端 / 桌面端请托)| consumed(行为变;`DECIDE_PARK_MOVED_CODES` 加员)| `conflict.not_resumable` / `gate_not_tool_approval` 读成「门已走」;`resume.preflight_rejected` 体上机读结算位在场 ⇒ 按位读门已走,两位缺席时 `retriable` 严格非 `true` ⇒ 门已走(过渡读法) | 读 `isAlreadyResolvedFailure` 的跟跑口判词变(126d)| 不涉及 | 零读点 | 读同一判官的会话宿主判词变(126d)| G-AR6 | 126b HM-R6 |
9917
+ | **HM-T1** 工具行终态随执行腿 + chrome 臂 `tool_parked`(必接) | 本包(CC-613)| consumed(行为面 + chrome 臂 +1;座位 chrome 词表 +1)| 被停驻扣住、还没结算的那只调用(`gate.parked` ∧ `gatedCallId === toolCallId` ∧ 没有本包拒绝戳)不铸终态行(交互转录与 `-p` 同一判官);摘卡那一拍发 `tool_parked { toolUseId, rowUuid? }`;唯一终态由执行腿的结果铸 | 「Operation aborted」行不再出现;`tool_parked` 可不接(退出 turn 后本来是静态暗点)| 不涉及 | **接 `tool_parked`**(否则停驻期间卡停在「运行中」)| 热态扣留成死代码(建议删)| G-TR1 – G-TR7 | 126b HM-T1 |
9918
+ | **HM-T2** 认领要见证:`AdapterContext.continuesPark` · 实例停驻行登记(`exportLedger().parkedToolRows`)| 本包(CC-613)| consumed(行为面 + 型 additive)| 同 id 的续跑帧只在带见证时认领原卡:宿主声明 `continuesPark`(身份由包核对)或问答桥在同一次投影里拼进来的续跑;无见证 ⇒ 新调用一行;登记按适配器实例、跨实例只经 export / import | 跟跑口声明 `continuesPark` | 不涉及 | 不宣称闭环:要接回原行需改实例生命周期并声明 | 同网页端 | G-TR1 / G-TR8 | 126b HM-T2 |
9919
+ | **HM-T3** 开始 / 结果配对法(成文契约,零型面)| 本包(CC-613 / CC-455)| consumed | 调用 occurrence 的行身份 = 开始行 `uuid`;结果行配到同 `tool_use_id`、在前、最近、未配对的开始行;包的产物恒满足它(认领只在被扣行仍是本实例为这只调用 id 铸的**最近一只**开始行时发生 —— 与登记先后无关:两次投影交错、同 id 的新开始行先于停驻登记上屏,那条登记同样认领不了)| 消息索引按 id 的两只表同病(KL-789)| 不涉及 | **必改**:转录 reducer 与运行期事件 id 不按 `tool.id` 合卡(KL-789)| 用网页端座位 UI,同网页端 | G-TR7 / G-TR8 | — |
9920
+ | **HM-T4** 问答桥排水与停驻卡上 Esc | 本包(CC-613)| consumed(行为面)| 排水不把被扣主角记已收口(之后到达的执行腿结果放行);停驻卡上 Esc(包自发中断拒绝)那一行照铸「Interrupted」并带分类词 `_sema_denial_kind: 'interrupted'`(本包拒绝戳 = 结算事实,规则 1 不碰)| 断言改钉(126y)| 不涉及 | 不涉及 | 不涉及 | G-TR4 | 126b HM-T1 |
9921
+ | **SC-1** 超集键 `_sema_replay: true`(结果帧 · 合成终局行 · 由二者派生的转录行) | 本包(CC-686;上游真源 = 服务端流式终帧 `done.replay` / 重放体 `result.replay`) | consumed(additive 键 +1) | 服务端说「这条终局不是这次提交真跑出来的」⇒ 结果帧出口与合成终局行铸点末尾追加;`adapt()` 出口给派生行抄同一键(固定序 `_sema_engine_ref` → `_sema_replay`)。事实位,不是渲染信号 | `-p` 输出原样多一键 | 不涉及 | 零读点 | 零读点 | G-SC-RY1 / RY2 / RY4 / RY5 | 126b SC-1 |
9922
+ | **SC-2** chrome 臂 `result_replayed { text }`(**必接**:`required: true`、进必接臂冻结下限;座位词表 +1)+ 读口 `isReplayMarked(message)` | 本包(CC-686) | consumed(臂 +1、型 `ResultReplayedChromeEvent` +1、公面 +1 函数;必接臂 +1) | 每个带键结果帧恰一条(零 / 一 / 多行都一样),`text` = 包的唯一句子;零转录行的重放终局里它是唯一可渲染产出 | `consumeChrome` 接臂渲一行 | 不涉及 | `mapChromeEvent` 接臂 + 登 `WEB_CHROME_ARM_LEDGER`(**编译红必改**,126y) | 零改码(按词表转发) | G-SC-RY1 / RY3 / RY5 / RY6 | 126b SC-2 |
9923
+ | **SC-3** `RunTerminalRead.replay` 退役 | 本包(CC-686) | consumed(🔴 型面 BREAKING 一处) | 只覆盖重放体一形、零读者;「是不是重放」读 SC-1 / SC-2 | 零读点 | 零读点 | 零读点 | 零读点 | 门 row-sidecar G-RY8 | 126b SC-3 |
9924
+ | **SC-4** 包内重放读法单源(成文契约,零型面) | 本包(CC-686) | consumed | 帧位只认自有数据位 ∨ 体位、各自受保护读、永不抛;错配账与 `SubmitStreamReading.replay` 同读 | 不涉及 | 不涉及 | 不涉及 | 不涉及 | 门 row-sidecar G-RY5 / G-RY7 / G-RY10 | 126b SC-4 |
9925
+ | **SC-5** 工具结果行信封四键 `_sema_collateral_abort` · `_sema_interrupted_never_started` · `_sema_approval_window_expired` · `_sema_denial_limit_window_expired` | 本包(CC-675;后三件上游 = 引擎 `tool_end.errorCode` / 门记录结算词) | consumed(additive 键 +3;既有一键从内部臂扩到行) | 交互收口与 `-p` 帧同一只铸口把收卡臂上的四件事搬到行信封(present-iff 严格 `true`,不进块),紧随 `_sema_not_executed` | 删三只按调用 id 的台账与盖章(126d) | 不涉及 | 删自动拒台账、读行(SC-6) | 热态零改码;冷恢复见 126b SC-5 恢复射程 | G-SC-RF1 – RF5 | 126b SC-5 |
9926
+ | **SC-6** `toolResultRowFlagsOf(row)` + 型 `ToolResultRowFlags` | 本包(CC-675) | consumed(公面 +1 函数 +1 型) | 行级四件的唯一读口(「未执行」照旧读 `readToolCardOutcome`) | 折叠器读点换读 | 不涉及 | user 分支换读 | 零改码 | G-SC-RF4 | 126b SC-6 |
9927
+ | **SC-7** `TRANSCRIPT_ROW_SIDECAR_KEYS` | 本包(CC-675 / CC-686) | consumed(公面 +1 常量) | 转录行顶层侧挂键全集(十四个);按白名单重建行的宿主展开它 | 手写白名单换展开 | 不涉及 | 不涉及(不重建行) | 不涉及(原样提交) | 门 cc-message-key-census SK1 | 126b SC-7 |
9928
+ | **SC-8** `RetryStatus.deadline` 的定义 | 本包(CC-626 ①;上游位 = 引擎 `retryAtMs`) | consumed(行为变,型面零变) | 偏移预算(5 s)内取产生者的 `retryAtMs`,否则本机现算;`retryAtMs` 照旧透传 | 换读 `deadline`,删自带的二选一 | 不涉及 | 只读 `deadline`,零改码(锚改善) | 零读点 | G-SC-8 | 126b SC-8 |
9929
+ | **SC-9** 抛出物状态位一只读法(幽灵 404)· `readRunTerminal` park 词先判 | 本包(CC-626 ②) | consumed(行为变两处,型面零变) | 幽灵 404 读 `readThrownStatusSlot`(`statusCode` 退槽、自有数据位);坏因由座 + park 词 ⇒ `paused` | 零读点 | 不涉及 | 零读点 | 零读点 | G-SC-9 | 126b SC-9 |
9930
+ | **SC-10** `ModelUsage` 占位缺席位 `_sema_context_window_absent` / `_sema_max_output_tokens_absent` | 本包(CC-626 ④) | consumed(additive 键 +2;型 +1 `SemaModelUsageAbsenceBits`,`SemaModelUsage` 结构不变) | 同行的两个 `0` 是占位;窗口 / 上限真值在模型目录 | 零读点(状态行分母读本地模型表) | 不涉及 | 零读点(分母读模型目录) | 零读点 | G-SC-10 | 126b SC-10 |
9931
+ | **SC-11** 任务停止 409 只认机读码 · `STOP_CONFLICT_CODES` 预告删(0.99.0,RL-151) | 本包(CC-626 ⑥) | consumed(行为变一处;根入口导出 Deprecated) | 码缺席 ⇒ `unknown_conflict`(不再从 `message` 子串认码) | 经 `classifyTaskStopConflict` 自动生效;`STOP_CONFLICT_CODES` 零读点 | 不涉及 | 零读点 | 零读点 | G-SC-11 | 126b SC-11 |
9932
+ | **SC-12** 成文订正与已收核对(零行为面) | 本包(CC-626 ③ ⑤ ⑦) | consumed | 工具结果块正文恒串 / 块数组(0.96.0 已收,门钉在案);释放判据措辞订正;三条已知限制的承接写清(126b SC-12) | 不涉及 | 不涉及 | 不涉及 | 不涉及 | — | 126b SC-12 |
9933
+ | **SC-13** `not-parked` 结局自带门事实 `pendingGateKind` | 本包(CC-760;[10610] 复现) | consumed(型面 additive 可选位;行为变) | 只在一级分诊、状态与门出自同一份 409 时铸;现状行与「决断入口 / 治理出身」两半句只读它,没有它时按状态词说话;一级分诊读到终态 ⇒ `running-settled`;两选卡卡后复证读回 running ⇒ 零动作 `not-parked` | 经 `activeRunSelfHealRow` 自动生效 | 不涉及 | 宿主覆写的「复证读回 running」那一格可删(126d) | 零读点 | G-SC-SH1 | 126b SC-13 |
9934
+ | **SC-14** 新结局 `ask-run-settled { taskId, status }` | 本包(CC-760;[10610] / [10636] 复现) | consumed(结局联合 +1 臂;行为变) | 陈旧 park 臂卡前 / 卡后复证读回终态 ⇒ 本结局(修前 `ask-reopen-failed`);处置档 `not-delivered` | 经处置档自动生效(不重发,行由包渲) | 不涉及 | **加消费臂**(126y;旧形覆写那一格换读本臂) | 零读点 | G-SC-SH2 / SH3 | 126b SC-14 |
9935
+ | **SC-15** running 三选卡 cancel 开枪前复证 | 本包(CC-760;[10635] 复现) | consumed(行为变) | 选了 cancel ⇒ 先读一发真态:404 ⇒ `running-not-found` · 终态 ⇒ `running-settled` · park ⇒ 对应重开臂 · 读不出 / 已中止 ⇒ 零动作 `not-parked` · 仍在跑才 cancel | 自动生效 | 不涉及 | 宿主自补的「选了 cancel 再读一次」那一层可删(126d) | 零读点 | G-SC-SH4 | 126b SC-15 |
9936
+ | **PL-1** 面板归约口:每只子代恰一条记录 | 本包(CC-556) | consumed(实现收口;🔴 行为变,126y) | 一张身份索引(行 id 尾段与子运行 id 共一个键空间);同一帧说出两把 id(行帧 `{id, transcriptId}` / 锚帧)才绑定,分属两条 ⇒ 合并;委派卡只作展示位与「本进程见过」提示;消费端键第一次交出时冻结(复活含换转录锚落在它上面);同一已知代际内用量单调、有 `cycleSeq` 的子代上 tick 不碰用量、无 `cycleSeq` 的子代上行帧换子运行 id = 换代、终态不冻结用量;首见终态行只在本进程从没见过这只子代(含它的卡)时缓,缓住的只由解析到同一条记录的终态事实放出;常驻标 / 转录锚一只子代一个;整条记录有界 | 零改可跑;旧事件口两处可见变化(126y ②)| 不涉及 | 浏览器车道 `panel_task` 连 fleet 行一起喂归约口、订行差分口之后受益(126d) | 零读点(座位上的行差分另议) | G-PN1 – G-PN8 | 126b PL-1 |
9937
+ | **PL-2** 行差分口 `remove.supersededBy?` · `usage_delta.final?`(逐键);事件形 `fleet-row` 臂入参 `final?`(逐键) | 本包(CC-556) | consumed(型面 additive 三可选位) | `supersededBy`:这一行并进了那一行;`final.totalTokens` / `final.toolUses`:该计数来自引擎标了终态的那一帧;入参 `final` 由本包的 fleet 投影对终态行帧置位(只给那一帧上在场的计数),旧事件口不带 | 零读点(行差分口未订) | 不涉及 | 订差分口时读(126b PL-2) | 零读点 | G-PN1 / G-PN4 | 126b PL-2 |
9938
+ | **PL-3** `resolveEnginePanelTaskId(wireTaskId)` 第二参删除 | 本包(CC-556) | consumed(🔴 型面:传了第二参的调用方编译红) | 委派卡不再参与身份;读口只按转录锚 / 行 id 尾段解析(答尾段 ⇒ `origin: 'fleet-row'`,带把这把 id 绑上来那条行帧的周期身份) | 零调用点 | 不涉及 | 零调用点 | 零调用点 | — | 126b PL-3 |
9939
+ | **GR-1** `readSessionPolicy` 结局 `present.grammar?` | 服务端 ≥7.129.0(引擎写口判官铸戳;[10643])· 本包(CC-771) | consumed(公面:读数型多一可选位) | 行的规则文法戳原样带回(自有数据位、安全非负整数);缺席 = 存量无戳行 | 零动作(记录页只渲 `rules`,不读这一位) | 不涉及 | 零读点 | 零读点 | G-GR1 · G-GR8 | 126b GR-1 |
9940
+ | **GR-2** `tightenSessionPolicy` / `removeRefusedSessionRules`:回写带戳 · 无戳旧行先拒 · 两只结局联合 +`refused`(型 `SessionPolicyEarlierGrammarRefusal`) | 本包(CC-771;[10681]) | consumed(🔴 安全面 · 行为变;型面:结局联合各加一臂) | 读回有戳 ⇒ 回写体带同一戳;无戳 ∧ 要带回去的本行 `toolAllow` 有括号形条目 ⇒ 零 PUT,`{ kind: 'refused', why: 'earlier_grammar_rows', entries }`;两种身份同答 | 零改码(按「不是 `written`、不是 `unknown` ⇒ 确知没写」分档,句子取包);已知限制 KL0234 随换钉删 | 不涉及 | 零读点 | 零读点 | G-GR2 · G-GR3 | 126b GR-2 |
9941
+ | **GR-3** `SessionPolicyFailure` +`earlier-grammar`(`field?` / `entry?`) | 服务端 ≥7.129.0 `400 rules.inert_entry` + `reason: earlier_grammar` | consumed(型面:失败联合加一臂) | 只认「码 ∧ 理由词 ∧ 4xx」;写腿映射到 GR-2 同一臂;同码别的理由词仍落 `error` | 零动作 | 不涉及 | 零读点 | 零读点 | G-GR5 | 126b GR-3 |
9942
+ | **GR-4** `SessionPolicyMalformedWhy` +`grammar_stamp` · 读失败 / 读不懂各 +1 句 | 本包(CC-771) | consumed(型面:位置词 +1) | 戳在场却读不成安全非负整数(含访问器 / 读描述符就抛)⇒ 读不懂、不展示、读改写口零写 | 零改码(读失败句取包) | 不涉及 | 零读点 | 零读点 | G-GR8 | 126b GR-4 |
9943
+ | **RE-1** 授予绑定三态 `grantBinding`(卡入参位)读引擎词 `boundGrantAbsence` —— 活卡帧 / 待决列表行 / v1 呈卡帧 / 未知形呈卡帧同一只读法 | 服务端 ≥7.129.0 · 引擎 7.51.0 #1688(引擎铸的卡恰带摘要与这一位之一);本包(CC-660) | consumed(🔴 放宽方向 · 行为变;公面与型面零变) | 卡上没有摘要时:修前按工具名推(非技能 ⇒ `none`),现在只认自有数据位 `boundGrantAbsence` 恰 `not_bindable` ⇒ `none`,其余 ⇒ `unreadable`;词取自引擎包根闭集(构建期生成),不手抄。`standingRowsOf` 的本地整工具一行随之只在引擎说了 `not_bindable` 的卡上可能给 | 零改码(只读名单会话行;持久行未换读) | 不涉及 | 零读点 | 零读点 | G-RE1 / G-RE2 / G-RE4 | 126b RE-1 技能工具例外:`Skill` 调用上授予绑定 none(本跑零技能 ⇒ `not_bindable`)也**不给**整工具行 —— 裸 `Skill` allow 规则会代答之后带授予的技能激活(core #1938 到货前闭合;G-RE 门 R7)。 读取期间证据变化(带副作用的问类迭代器 / 取值器)⇒ 分流读完复核,两读不一致即 `unreadable`(G-RE 门 R9e)。 |
9944
+ | **RE-2** 授予绑定的分流(服务端看得见的问类里有部署名单那一问的类) | 服务端 `questionGrantBindingOf`(部署名单自己的问按工具名判);本包(CC-660) | consumed(行为变,只收紧) | 服务端读哪一律取决于部署名单问不问这个工具(部署配置,不上线)⇒ 这类卡上两种判法(引擎词 / 工具名)都答 `none` 才 `none`,否则 `unreadable`;服务端看得见的问类里没有名单类(含问类缺席 / `classes` 不是数组)⇒ 只按引擎词(与服务端逐形同答)。名单类集与放宽判官的名单会话行共一份 | 零改码 | 不涉及 | 零读点 | 零读点 | G-RE1 / G-RE3 | 126b RE-2 |
9945
+ | **TX-1** 退役:公面常量 `PROBE_HEALTH_DIVERGENCE` · `ClientSliceLike.probeHealth()` 成员 · `CLIENT_VERBS` 的 `probeHealth` 行 | 本包(CC-605;退役账 RL-155) | consumed(公面 −1 运行期名;🔴 型面 BREAKING) | 判活唯一读法 = 本包原样转口的 sdk `probeHealth`(2xx ∧ `status === "ok"`);运行期零变化;verb 表 13 → 12 行 | 零引用 | 零引用 | 零引用 | 零引用 | G-TX-PH1 – PH3 | 126b TX-1 |
9946
+ | **TX-2** `EN_MESSAGES` · `ZH_MESSAGES` · `translate` · `createTranslator` · `createMissLedger` · `uiMissLedger`(型 `MessageKey` / `MessageParams` / `Translator` / `MissLedger`) | 本包(CC-586 第一批;终端词表上提) | consumed(公面 +6 运行期名 +4 型) | 终端 110 键按终端用户实际看到的字节上提(两键 `doctor.diag.localNotAccessibleAlias.fix` / `doctor.diag.localNotAccessibleNoAlias.fix` 的配置目录路径取终端产物里改写后的 `~/.sema/local/claude`)+ 两句「缺省来源」;两表冻结;`translate` 对表外语言 / 原型链上的名不再抛 | **必改**:换钉 0.98.0 的同一个提交里 `i18n/core` 四文件改转口(126y) | 不涉及 | 可选(采纳界面语言时) | 可选(同左) | G-TX1 / G-TX2 | 126b TX-2 |
9947
+ | **TX-3** `msg` · `renderMessage` · `DATA_FACE_LANGUAGE`(型 `MessageRef` / `MessageParam`) | 本包(CC-586) | consumed(公面 +3 运行期名 +2 型) | 包内铸点的构造口;参数里嵌套的 ref 同语出句;`lang` 缺省 = 数据面英文 | 零动作(本包铸点句本版尚未迁入目录) | 不涉及 | 零动作 | 零动作 | — | 126b TX-3 |
9948
+ | **TX-4** `resolveUiLanguageFrom`(型 `UiLanguageSource` / `UiLanguageResolution`) | 本包(CC-586;终端解析链上提) | consumed(公面 +1 运行期名 +2 型) | 保存值 → 宿主标签序(第一个非空串定终,`C` 也定终)→ `en` | 换读:`languageStore` 的解析链委托本口(126d;壳侧同名读宿主口不必改名) | 不涉及 | 可选(采纳界面语言时) | 可选(同左) | G-TX2 / G-TX3 | 126b TX-4 |
9949
+ | **TX-5** `resolveSubagentModelWord`(型 `SubagentModelWordInput` / `SubagentModelLocalEngine` / `SubagentModelWordReading` / `SubagentModelLanding` / `SubagentModelWordKind` / `SubagentModelWordProblem`) | 本包(CC-587) | consumed(公面 +1 运行期名 +6 型) | 请求体交规范拼写的原词(档位类交小写原词,由目标引擎展开);落点只在宿主交 `local` 时预览 | 换读(薄壳:层序 + 一次性记账留壳;删 `displayAgentModel`;126d / 126y) | 不涉及 | 可选(Agent 卡上的模型词读 `label`) | 换读(删 `catalogModelOf`;126y 行为变) | G-SM1 – G-SM7 | 126b TX-5 |
9950
+ | **TX-6** `subagentModelWordProblemLine` | 本包(CC-587 / CC-586) | consumed(公面 +1 运行期名) | 落不了点三因与多义各一句,经消息目录两语出句;别的态不说 | 换读(替掉解析器里自拼的告警句) | 不涉及 | 不涉及 | 可选 | G-SM7 | 126b TX-6 |
9951
+ | **RT-1** `retryStatusNotice(status, ctx?)` → `{ line, recourse?, phase }` · 型 `RetryStatusNotice` | 本包(CC-775;[10692] 用户报案) | consumed(公面 +1 函数 +1 型;零编译红) | 重试行的一句话收成包里的单源:`providerCondition` 五词(引擎闭集 `PROVIDER_CONDITIONS`)× `errorStatus` × `attempt` / `maxRetries` 选句;等首 token 一句(方向不是错误);终态一句;清行不出句(入参 `null` = 投影的清行结果 ⇒ 空句、`phase` `cleared`;🔁 FX-6);`recourse`(`switch_model` / `wait` / `fix_request`,缺席 = 没有可给的出路)告诉壳摆哪个动作词,`phase` 说这一行描述的相。取代三端各写一份的重试行措辞(`API error` · `transient error, retrying` · `No first token from the model yet` 一类) | 换读:壳只留模型名与动作词(`switch_model` ⇒ 拼 `/model`),删本地标题常量与状态码拼接(126d) | 不涉及 | 换读:横幅正文读本口,按 `error` 结构位自分型的标题可删(126d) | 零读点(座位原样透传 `retry_status` 事件;渲染走网页端同一份) | G-RT1 – G-RT5 | 126b RT-1 |
9952
+ | **LG-1** `composeEventLeg(source, leg, ports)` · `EVENT_LEG_KINDS` · `EVENT_LEG_TABLE`;型 `EventLeg` / `EventLegSpec`(`EventLegLiveSpec` / `EventLegRunSpec`)/ `EventLegKind` / `EventLegStage` / `EventLegRow` / `EventLegPorts` 与五只端口组型(`EventLegRunPorts` / `EventLegOwnerPorts` / `EventLegHitlPorts` / `EventLegIdleTriagePorts` / `EventLegTap` · `EventLegStreamDecorator` · `EventLegStreamContext`)/ 三只帧型(`EventLegQuestionFrame` / `EventLegElicitationFrame` / `EventLegToolApprovalFrame`)/ `EventLegHitlEnvelope` / `EventLegBindCause` / `EventLegBoundInfo` / `EventLegFrameInfo` / `EventLegRefusal` / `EventLegReport` / `EventLegPortName` | 本包(CC-477) | consumed(公面 +3 运行期 +25 型) | sdk 事件流到 `runStream` 之间的腿链收成一张腿表 + 一只组合器:三腿(`live` / `durable` / `continuation`)× 五级(内 → 外 `bindRun` · `stampOwner` · `hitlFrames` · `askBridge` · `idleTriage`);帧级三级每条流(源流与问答桥开的每条续流)各过一次、帧类型域两两不相交;问答桥续流经组合器自组;出口一只终帧端口;HITL 三端口必注 | 改调(按腿替换,126d LG-1)| 不涉及 | 改调(会话采纳与三族 HITL 臂换端口,126d LG-1)| 改调(会话采纳与三族 HITL 臂换端口,126d LG-1)| G-LG1 / G-LG3 / G-LG4 / G-LG5 / G-LG6 | 126b LG-1 |
9953
+ | **LG-2** `frameBindingOf(frame)` · `inheritFrameBinding(from, to)` | 本包(CC-477) | consumed(公面 +2 函数) | 「这一帧属于哪条引擎 run / 会话」按帧对象记、一条读法;问答桥九个产出新帧对象的出口(拒绝盖章 / 中断改写 / 分类器拒绝 / 答案卡 / 终帧 run id 修正 / 连坐标记 / 收场真因信封 / 收场合成 `failed` 两处)一律继承来源帧的绑定;投影端把 `frameBindingOf` 原样交给 `EmitContext.boundRun` | 改调组合器时一并接;`-p` 的会话回显改写包一行 `inheritFrameBinding` | 不涉及 | 改调组合器时一并接 | 改调组合器时一并接 | G-LG6 | 126b LG-2 |
9954
+ | **LG-3** `recordSubagentOwnerFromProgress` · `diagnoseSseIdleTear` · `bridgeAskUserQuestionGates`(根入口);端口位 `EventLegPorts.perStream` | 本包(CC-477) | deprecated(退役登记 RL-156 – RL-159) | 三只级函数今天只有终端手组的腿链在调;组合器到货后包内自用,根入口上的本名是第二条读法;每流装饰位自出生登过渡(住户只有审批卡口一类) | 改调组合器后删直接调用(126d LG-3)| 不涉及 | 零读点 | 零读点 | — | 126b LG-3 |
9955
+ | **TS-1** `WireRuleOffer`(型) | 本包(CC-589;CC-625 ⑨) | consumed(🔴 型面:零别名退) | wire 上的一条规则候选就是 sdk `RuleOffer`;此前本包手写一份只差成员数组 `readonly` 的同形 | 零读点 | 不涉及 | 零读点 | 零读点 | G-TS1 | 126b TS-1 |
9956
+ | **TS-2** `RuleOffer` → `RuleOfferReading` · `MemoryEntryOriginMark` → `MemoryEntryOriginMarkReading` · `CrashConvergedRow` → `CrashConvergedRowReading`(型) | 本包(CC-589) | consumed(🔴 型面:旧名不再出境,零别名) | 三只本包读数改名带后缀,形不变(`RuleOfferReading` 写成 sdk `RuleOffer` 两臂各交叉本包铸的 `offerIndex`、batch 臂明细保持只读数组,与 0.97.x 的 `RuleOffer` 两向恒等);旧名与 sdk 同名而形不同 | 改名(`RuleOffer` 两处 · `CrashConvergedRow` 一处,126d) | 不涉及 | 改名(`RuleOffer` 一处 · `CrashConvergedRow` 一处) | 零读点 | G-TS2 | 126b TS-2 |
9957
+ | **TS-3** 二十三个与 sdk 同名的型改再导出 sdk 同一符号(名单见 CHANGELOG 0.98.0 Changed) | sdk(上游型面) | consumed(型面;十九名形不变,四名形变:`ToolApprovalFrame` / `QuestionFrame` / `AskQuestion` / `AskQuestionOption`) | 端从本包取与从 sdk 取同一个名字拿到同一个型;型跟着消费端装的 sdk 走 | 读点照读;**自造**这些形的代码按 sdk 型给值(126y) | 不涉及 | 读点照读 | 读点照读 | G-TS3 | 126b TS-3 |
9958
+ | **TS-4** `BrainStatusPhase`(型) | 本包(CC-589)⇄ sdk | pending(上游:sdk 同名型补 `waiting_first_token`) | 暂留本包七相(= 引擎闭集);sdk 同名型六相;包侧门登记一行,到期 0.100.0 | 零读点 | 不涉及 | 零读点 | 零读点 | G-TS4 | 126b TS-4 |
9959
+ | **TS-5** 包侧门 `run-upstream-type-shadow-test.mjs` | 本包 | consumed(包侧门,出包面零变化) | 根入口型名与运行期上游同名即须解到同一符号;登记只收一种上游挡路(属主领先),按 (名, 上游入口) 逐对 | 不涉及 | 不涉及 | 不涉及 | 不涉及 | G-TS5 | 126b TS-5 |
9960
+ | **PN-1** 会话规则写口两新码:失败臂 `inert-entry` · 收紧 / 撤销结局 `inert_entry` · 型 `SessionPolicyInertEntryRefusal` / `SessionRuleInertReason`;`rules.invalid_shape` ⇒ `request-rejected`;老码 `rules.legacy_tool_name` 臂 | 服务端 ≥ 7.129.0 / 引擎 7.51.0 #1497;本包(CC-733) | consumed(**型面 BREAKING**:两只结局联合 +1 臂、失败联合 +1 臂);老码臂 pending(退役登记 RL-164,底线越过 7.129.0) | 同码理由词恰 `earlier_grammar` 先判(earlier-grammar 臂),其余进 inert-entry(体源五位各自窄读、`reason` 按引擎七词表);invalid_shape 与老服务端的形问题同处置;句子各一,零用户字节 | 对结局 `kind` 穷尽 switch 的编译红,补 `inert_entry` 一臂(126d) | 不涉及 | 零读点 | 零读点 | G-NG1 | 126b PN-1 |
9961
+ | **PN-2** 开发依赖 sdk `^23.0.2` / 引擎 `^7.51.2`、peer 地板 `>=23.0.2`、支持底线 sdk 23.0.2;生成表重生成(通告 93 码、仲裁表 −1 类、放行理由 −1 词、惰性理由 +1 词、第十六批两张新表) | 引擎 7.51.0 – 7.51.2;sdk 23.0.0 – 23.0.2 | consumed(**peer 地板抬**);服务端 / 引擎两项底线 pending(7.126.0 → 7.129.1 候裁) | `CORE_TASK_NOTIFICATION_TERMINAL_STATUSES` 改取生成物(值不变);`EARLIER_GRAMMAR_REASON` 改从生成表派生 + 编译期钉;`rule_unreadable` bypass 免疫(姿态车道必问);`unverifiable_delete` 不给分类器 | 升 sdk 23(终端 PICKUP150 已认领) | 不涉及 | 升 sdk 23 | 随网页端 | G-NG2 | 126b PN-2 |
9962
+ | **PN-3** `ruleOffersAbsenceDetail` 两新词 · 判定口规则车道第 7 行 | 引擎 7.51.0 #1515(`shadowed` 拆成 `allow_outranked` / `ask_rule_matched`) | consumed(**行为变**;取代本版 WD-2 行里 `shadowed` 两句的说法) | 两新词各一句,名单问那一句挪到 `ask_rule_matched`;旧词落表外中性句;第 7 行改按唯一反面词判:缺席词在场且不是 `lane_cannot_speak` ⇒ 必问 | 换读,删本地 `case 'shadowed'`(126d) | 不涉及 | 零读点 | 零读点 | G-NG3 | 126b PN-3 |
9963
+ | **PN-4** respond 回执首决回放臂:`readToolApprovalRespondAck` 两臂 · `isToolApprovalRespondReplayed(ack)` · 活卡决断结局 | sdk 23.0.0(`ToolApprovalRespondAck` 判别联合)/ 服务端 7.126.0 起同形;本包(CC-733) | consumed(**型面 BREAKING**:`ToolApprovalRespondAckView` = sdk 判别联合,直读 applied 专属位编译红;**行为变**:回放 ⇒ `decided.decision` = 首决) | 回放相关性只核 `approvalId`;applied 专属位与伴随通知 / 拒绝归因不出;读不全 ⇒ 体里的决断词或未落定;点名别的卡 ⇒ 未落定 | 换读(126d:先判别再读 applied 位) | 不涉及 | 换读(126d 三处松形直读) | 零读点 | G-NG4 | 126b PN-4 |
9964
+ | **PN-5** `ParkedResumeStartupDetail.startupCause` 闭集 · `parkedResumeStartupContent` 按词分句 | 引擎 7.51.0 `RESUME_STARTUP_CAUSES`;服务端 ≥ 7.129.0 按它筛后转出 | consumed(**型面收窄** string → sdk `ResumeStartupCause`;**行为变**:有词按词一句) | 表外词 ⇒ 缺席(与 sdk 23 同读);无词照旧两句;`cause` 仍按方向判 | 零改码(句子自动变) | 不涉及 | 零读点 | 零读点 | G-NG5 | 126b PN-5 |
9965
+ | **PN-6** 会话规则桶 `commandAllow` / `commandDeny` 退出桶名集合;记录里认不得的桶形键 ⇒ 读不懂 | 服务端 7.129.0 / 引擎 7.51.0 #1480;sdk 23 删两键 | consumed(**型面 BREAKING**:`SESSION_POLICY_RULE_FIELDS` 五 → 三;**行为变**:带命令桶的老记录读不懂、不回写) | 认得的桶与 `rev` / `gen` / `grammar` 之外的数组值键(空数组也算)或读不出的键 ⇒ `rule_field`;非数组键放过 | 按五只桶写死的读点改三只 | 不涉及 | 零读点 | 零读点 | G-NG6 | 126b PN-6 |
9966
+ | **PN-7** `routePairingVerdict('ok:unpinned')` | 引擎 7.51.0 #1531;sdk 23 删这一词 | consumed(**行为变**:ok → unknown) | 原词照带;新引擎上那一形的部署报 `broken:credential_mismatch` | 零改码(标记随判词) | 不涉及 | 零读点 | 零读点 | G-NG7 | 126b PN-7 |
9967
+ | **PN-8** 卡面单源:`StandingRowsHostFacts.cardFace` 删 · `ToolRosterRenderHintsView.approvalCard` / `ToolShim.approvalCard` 删 · 新理由词 `card_face_absent` | 本包(CC-718 / CC-674) | consumed(**型面 BREAKING**);CC-674 二选一定为「卡上带 `approvalCard`」(0.97.0 起已在卡上),不铸名册折叠口 | 本地整工具一行只读卡上引擎卡词恰 `generic`;卡上没有 / 表外 ⇒ 不给;v1 呈卡帧恒不带(KL-794) | 编译红必改:卡种改读卡上 `approvalCard`,名册等待可删(126d) | 不涉及 | 零读点 | 零读点 | G-NG8 | 126b PN-8 |
9968
+ | **PN-9** 代理 `tools` 写了而什么都不剩(显式空单 / 全非法 / 全被目录省掉)三路同答;`--scenario` 用法句 | 代理定义 `tools` 的通行读法(缺席 = 继承、写了空单 = 不给、`*` = 全部);本包(CC-732);终端 [10691] f | consumed(CC-732 判据门;投影已由 TK-4 做到;用法句 Fixed) | 三路都是 `allowTools: []`(在场、空);没写 ⇒ 继承;用法句改说「unknown names are refused by the engine (scenario_unknown)」 | 零读点(投影随包) | 不涉及 | 零读点 | 零读点 | G-NG9 | 126b PN-9 |
9969
+ | **PN-10** 随 peer 地板越过 sdk 22.x 执行的五处过渡读法(退役登记 RL-08 / 09 / 139 / 140 / 141) | 本包 | consumed(内部;运行期读数逐字不变) | 结构视图改类型面直读 / 守卫回到 switch / 两条 sdk 滞后登记删 | 零动作 | 零动作 | 零动作 | 零动作 | G-NG10 | 不涉及 |
9970
+ | **PN-11** `CrashConvergedRowReading` wire 半改从 sdk 派生;`boundGrantAbsence` 帧键入镜像;能力词 `inherit_env.own_credentials_withheld` 键名型取 sdk `EngineCapabilityWord` | sdk 23(peer 地板 `>=23.0.2`);引擎 7.51.0 #1688 | consumed(形不变);`boundGrantAbsence` 读点本版随底线抬已接(§126 RE-1 / RE-2) | `extends Readonly<CrashConvergedRow>`;键镜像 39 → 40 | 零动作 | 不涉及 | 零动作 | 零动作 | G-NG11 | 126b PN-11 |
9971
+ | **FX-1** `tightenSessionPolicy` 的 `add` · `tightenedSessionRules` 两侧:表外键 ⇒ 抛 | 本包(0.98.0 发版前核对) | consumed(行为收紧) | 桶名与元数据键之外的自有键 ⇒ `TypeError`、零请求(此前丢掉并答 `written`) | 端上若还在送 `commandAllow` / `commandDeny` ⇒ 改成 `toolAllow` / `toolDeny` 的规则条目 | 不涉及 | 同左 | 同左 | G-FX1 | 126b FX-1 |
9972
+ | **FX-2** `composeEventLeg` 的 `run.onRefused` | 本包 | consumed(行为收紧) | 只在活流判;`not_created` 只认完整失败三键;耐久 / 续流腿零 `onRefused` | 零改码 | 不涉及 | 零改码 | 零改码 | G-FX2 | 126b FX-2 |
9973
+ | **FX-3** `preemptReceiptLine` / `ControlRouter.preempt` 的 `already-ended` | 本包 | consumed(型收窄:`status` 恒在、`SdkRunTerminalStatus`) | 表外 / 畸形状态 ⇒ `unconfirmed` | 自拼 `already-ended` 的宿主补 `status` | 不涉及 | 零读点 | 零读点 | G-FX3 | 126b FX-3 |
9974
+ | **FX-4** `retryStatusNotice` 未知臂的 `recourse` | 本包 | consumed | 未知 `kind` / 非对象 ⇒ 无 `recourse`(任何状态码 × 判词) | 零改码 | 不涉及 | 零改码 | 零改码 | G-FX4 | 126b FX-4 |
9975
+ | **FX-5** `lateDecideOutcomeOf(…, { lane: 'respond' })` 的首决回放 | 本包 | consumed | 回放 ⇒ `settled-elsewhere`(不再 `resumed`) | 零改码(句子按档走) | 不涉及 | 零读点 | 零读点 | G-FX5 | 126b FX-5 |
9976
+ | **FX-6** `retryStatusNotice(null)` · `RetryStatusNotice.phase` | 本包 | consumed(闭集词 `recovered` → `cleared`) | `null` ⇒ `{ line: '', phase: 'cleared' }` | 按 `phase === 'recovered'` 分支的换成 `cleared`;空句 ⇒ 收行 | 不涉及 | 同左 | 同左 | G-FX6 | 126b FX-6 |
9977
+ | **FX-7** 面板归约口的 sweep 终态 | 本包 | consumed | 绑卡子代 fleet 行报失败、关卡腿没来 ⇒ sweep 终态 `isError: true` | 零改码 | 不涉及 | 零改码 | 零改码 | G-FX7 | 126b FX-7 |
9978
+ | **FX-8** 本包活卡入口的持有表身份 | 本包 | consumed | 帧绑定优先于调用方给的 run | 零改码(经包内腿受益) | 不涉及 | 零改码 | 零改码 | G-FX8 | 126b FX-8 |
9979
+ | **FX-9** `turnFailurePresentation(err, evidence?)` · `seatTurnFailureOf(err, evidence?)` | 本包 | consumed(两口 +1 可选参) | 连接断缺省 ⇒ 结果未知、`retry.offer: false`;可证没送出且无宿主证据 ⇒ 原句 + 给重发 | 可选:提交 / 续接腿交 `{ bound, reopened }` | 不涉及 | 同左 | 同左 | G-FX9 | 126b FX-9 |
9980
+ | **FX-10** `ApprovalCardSupersedes.priorAnswerOutcome` · `approvalSupersedesDetail` | 本包 | consumed(+1 可选位) | 上一答的去向三词;句子按它三句 | 零改码(句子由本包出) | 不涉及 | 零读点 | 零读点 | G-FX10 | 126b FX-10 |
9981
+ | **LP-1** `LocalSessionRecord.parked` 三值语义(网页端 [10744] 请托) | 本包(文档位) | consumed(头注 + 本段 + 座位记录门三格;类型 / 出站校验零改) | `true` = 开着且 registry 背书的停驻卡;`false` = 写端已对账、确知无待决闸;缺席 = 未知 | 不写这条记录(零读写点) | 不涉及 | 读:`ui/hooks/useRecents.ts:109` · `ui/lib/engine/reload-run-wire.ts`(`seatRunReadingOf`)· `ui/components/shell/AppShell.tsx:233` —— 缺席与 `false` 要分读 | 写:`main/session-host.ts:1085`(现只在有停驻卡时写 `true`;`false` 只许在对账后写)· 读:`main/engine-target.ts:122` | G-LP1 | 126b LP-1 |
9982
+ | **BA-1** `BUILTIN_SUBAGENT_TYPES`(根入口常量) | 引擎 7.51.2(包根导出,#1771);本包(CC-748) | consumed(公面 +1 常量) | 默认部署不自带 agent 定义也接受的 `subagent_type` 词:`Explore` / `Plan` / `fork` / `general-purpose`,逐词逐序同引擎;冻结字面元组,成员型取 `(typeof BUILTIN_SUBAGENT_TYPES)[number]`;构建期取自引擎包根、名随引擎,编译期对引擎型 `BuiltinSubagentType` 两向钉;`worker` 不在表里 | 零读点(终端 CC 原生的 `ONE_SHOT_BUILTIN_AGENT_TYPES` 是另一张表,不换读) | 不涉及 | 零读点 | pending:桌面端 `ENGINE_BUILTIN_AGENT_TYPES` 本地表(含 `worker`)到货换读本表,`worker` 去留桌面端自定(126d) | G-BA1 | 126b BA-1 |
9983
+ | **BA-2** `sanitizeToolUseBlock` 的 `subagent_type` 过滤 | 本包(CC-748) | consumed(**行为变**) | 放行 = `BUILTIN_SUBAGENT_TYPES` 四词 + `worker`(宿主自己的编队角色词,不是引擎词);`Explore` / `Plan` 不再被摘(引擎按内建定义实跑);其余照旧摘 | 零改码(卡头随包变) | 不涉及 | 零改码(卡头随包变) | 零读点 | G-BA2 | 126b BA-2 |
9984
+ | **HK-1** 设置来源 `mcp_tool` hook 条目的处置(`hooksWirePlan()` → `hooksForWire({ plan })`;无参 `hooksForWire()` 已随 RC-2 删,RL-118 已退役) | 本包(RL-117 / CC-396;退役账 retireBy 0.98.0) | consumed(**行为变**;公面与型面零变化 —— 判定件不在根入口) | 任何调用口、任何事件上都拿掉 `mcp_tool` 条目(修前不传计划的老调用口在引擎点亮的事件上照发、由服务端整份拒收请求):计划路径记 `settingsDropped`(`mcp_tool_unsupported`)、本端也跑不了的进开机清单;不传计划那一路(修前按「设置端口 × 事件 × 原因」warn 一次)同版随 RC-2 删除,调用必带 `{ plan }` | 零动作(产品源只走 `{ plan }`;测试里的无参调用见 RC-2) | 不涉及 | 零读点 | 零动作(产品源走 `{ plan }`;门脚本里的无参调用见 RC-2) | G-HK1 | 126b HK-1 |
9985
+ | **HK-2** `taskRequestOmissionCausePhrase(cause)`(0.98.0 退出公面) | 本包(RL-119 / CC-396;退役账 retireBy 0.98.0) | consumed(🔴 型面 BREAKING:公面 −1 函数) | 从句口删除;整句口 `taskRequestOmissionCauseNotice(cause)` 与整句表 `TASK_REQUEST_OMISSION_CAUSE_NOTICES` 逐字节不变 | 零动作(回执行形自 1.0.140 起读整句口;只在自家消费清单 OP-1 行记着这一名,处置 declined) | 不涉及 | 零读点 | 零读点 | G-HK2 | 126b HK-2 |
9986
+ | **RB-1** 十九只能力位读器的探测闭包 tee 口 `noteEngineCapsFor*`(0.95.0 起即空调用;逐名见 §2z)与读器工厂的写口 | 本包(RL-113 / CC-344;退役账到期执行) | consumed(🔴 型面 BREAKING:公面 −19 函数) | 删除;读数只从总缓存的落地派生,宿主的探测闭包不向读器交任何东西;`observed*` 读口与上一版逐字节同 | 编译红必改:`sema/liveClient.ts` 删 19 处 import 与探测闭包里 19 处调用,十一只壳侧转口模块删转出,测试三文件改;另有五只按正则读 `liveClient.ts` 源码的测试在删调用后运行期红(126d RB) | 不涉及 | 零读点(两处只在注释里) | 零读点 | G-RB1 / G-RB3 | 126b RB-1 |
9987
+ | **RB-2** 十四只能力位读器测试钩 `__reset*ReadingsForTests`(逐名见 §2z)与读器工厂的记忆表重置口 | 本包(RL-114 / CC-344;退役账到期执行) | consumed(🔴 型面 BREAKING:测试钩 59 → 45;`names` 不变) | 删除;它们只清读器自己的记忆表、从不改读数;要清读数调 `__resetEngineCapsCacheForTests` | 编译红必改:十只壳侧转口模块删转出,测试五文件 39 处删调用或改调总缓存重置口(126d RB) | 不涉及 | 零读点 | 零读点 | G-RB2 / G-RB3 | 126b RB-2 |
9988
+ | **RC-1** `isAlreadyResolvedGateReason` / `isGateStandingErrorCode` / `isCodeClassifiedGateFailure`(0.98.0 退出公面) | 本包(RL-103 / CC-354;退役账,按裁定硬退) | consumed(🔴 型面 BREAKING:公面 −3 函数) | 三只拼装件退出根入口,包内照用、判据逐字不变;「这一问的门是否已决」在公面上只剩 `isAlreadyResolvedFailure(failure)` 一只(入参 = catch 到的抛出物或决断腿的结局) | 零动作(产品源与测试只在注释里提到两名) | 测试普查名单里有两名(登记文本,按 0.93.0 段自证,不红) | 零读点 | 🔴 必改:会话宿主 `session-host.ts:37` 按名 import + `:1593` / `:4875` 两处直调(126d)⇒ 换读 `isAlreadyResolvedFailure(e)`,交整只抛出物;`:4875` 在「4xx 且不是已决」的例外分支条件里,换读先看码会改分支走向(126d) | G-RC1 | 126b RC-1 |
9989
+ | **RC-2** `hooksForWire(opts)`:`HooksForWireOptions.plan` 必填 | 本包(RL-118 / CC-396;退役账,按裁定硬退) | consumed(🔴 型面 BREAKING + **行为变**:坏形入参抛 `TypeError`) | 不传计划那一路删除,请求体只经 `hooksWirePlan()` 的计划;不传 / `null` / 非计划形 / 计划按位置传 / 读 `opts.plan` 就抛 ⇒ `TypeError`(只报形状、点名 `hooksWirePlan()`);不传计划时那条「端口 × 事件 × 原因」warn 随之退场 | 🔴 必改(测试):测试、验证脚本与门里的无参调用(126d)⇒ `hooksForWire({ plan: hooksWirePlan() })`;产品源零改(已走 `{ plan }`) | 不涉及 | 零动作(已走 `{ plan }`) | 🔴 必改(门):自家 hooks 门的参照值是无参调用 ⇒ 运行期抛(126d) | G-RC2 | 126b RC-2 |
9990
+ | **RC-3** 让位披露老两键(活卡帧 `persistedRuleShadowed` / 待决行 `riskDescriptor.shadowedRule`)读法退役;`ApprovalAllowRuleShadow.source` 收成单值 `'allow_rule_shadowed'` | 本包(RL-59 / CC-401;退役账,按裁定硬退) | consumed(**行为变** + 🔴 型面 BREAKING 一处) | 只带老键的载体:读口 / 证据口 / 句口答缺席;本包三条卡腿把老键记进读不出登记 ⇒ 判定口各车道 `unknown`、持久行不给;两键并存只读新键 | 🔴 必改(测试):三份测试拿老键喂读口、断言出披露(126d)⇒ 夹具换新键同形 | 不涉及 | 🔴 必改(测试):老键夹具断言出披露的一格(126d)⇒ 换新键同形 | 零动作(产品源只有注释) | G-RC3 | 126b RC-3 |
9991
+ | **RC-4** 会话历史读面脱敏位读器 `projectSessionReadRedactionCapability` / `observedSessionReadRedaction` / `sessionReadRedactionAdmitted` / `SessionReadRedactionReading`(0.98.0 退出公面) | 本包(RL-92 / CC-540;退役账,按裁定硬退) | consumed(🔴 型面 BREAKING:公面 −3 函数 −1 型) | 布尔读法退役、读器整只删;叶名表到货前本包不出历史读面的脱敏读数(不答已脱敏、不答未脱敏、不编叶) | 零读点 | 不涉及 | 零读点 | 零读点 | G-RC4 | 126b RC-4 |
9992
+ | **RA-1** `subscribeEngineAgentPanel(fn)`(0.98.0 退出公面) | 本包(RL-89 / CC-114;退役账到期硬退) | consumed(🔴 型面 BREAKING:公面 −1 函数) | 旧事件订阅口删除;面板唯一出口 = 行差分口 `subscribeEnginePanelRows`(订阅即回放快照;陈旧 / 同代重复终态包内判完);包内件旧事件投递(单 listener + 合并缓冲)删除,事实流只供折叠 | 编译红必改(面板桥主订阅换订行差分口;五个测试文件) | 不涉及 | 编译红必改(一处探针订阅) | 零读点 | G-RA1 / G-RA2 | 126b RA-1 |
9993
+ | **RA-2** `subscribeEngineAgentPanelAbsence(fn)` · `__resetEngineAgentPanelAbsenceForTests()`(0.98.0 退出公面) | 本包(RL-90 / CC-114;退役账到期硬退) | consumed(🔴 型面 BREAKING:公面 −1 函数、测试钩 −1) | 缺席订阅口与其测试钩删除;缺席只经行差分口 `upsert{ fields.absence }`(`null` = 撤标);发布口 `publishEngineAgentPanelAbsence` 与载荷型 `EngineAgentPanelAbsence` 不变 | 编译红必改(缺席臂订阅换读 `fields.absence`;两个测试文件) | 不涉及 | 零读点(只在注释里提到) | 零读点 | G-RA1 / G-RA2 | 126b RA-2 |
9994
+ | **RA-3** fleet 账本成员 `applyFrame` · `setConnected` 与状态键 `FleetLedgerStatus.connected`;在飞读面 `fresh` 的读法 | 本包(RL-105 / CC-348;退役账到期硬退) | consumed(🔴 型面 BREAKING:两个成员与一个状态键删除;**行为变**:连着由账本自判) | 帧只经 ingress 进账;「连着」= 当代 stream ingress 落过帧且未收,只经在飞读面 `readEngineActiveBgTasks[For]().fresh` 读(状态面同义键删除:同一事实两条读法);快照闸只看流模式;快照 ingress 落账一次即自收;默认槽 `own_root` 锚取开流那一刻的捕获 | 编译红必改(`fleetClient.ts` 删五行 `setConnected`、`:613` 换读 `fresh`;三个测试文件 13 处直喂改走 ingress) | 不涉及 | 零读点 | 零读点 | G-RA3 / G-RA4 | 126b RA-3 |
9995
+ | **RD-1** 支持底线 `SUPPORT_FLOOR` / `supportFloorOf('server' \| 'core')` 抬到 `7.129.1` / `7.51.2`(`scripts/support-floor.json` ⇄ 生成物 ⇄ 运行期常量;README「Support floor」行与 §0a「支持底线」行同批,新门格 SF6 钉四处同步) | 终端表态 [10742] | consumed(🔴 minor:收回对服务端 7.126.0 – 7.129.0 的支持承诺) | `engineVersionTier('7.126.0' … '7.129.0')` 由 `engine` 变 `legacy`、`coreVersionTier('7.49.5' … '7.51.1')` 同理;sdk 一项不动 | 零改码(门槛读 `engineVersionTier`,随常量走) | 零读点 | 零读点 | 零读点 | G-RD1 | 126b RD-1 |
9996
+ | **RD-2** 代理投影扣送开关 `ProjectAgentsDeps.withholdRefusedDenyLists` 与 deny 侧告警句 退(RL-142) | 为什么删:按裁定删臂,deny 名单孪生 / 退役拼法的拦截交服务端受理面(7.131.0);终端侧曾有投影缓存晚一拍(扣送在出站上晚一轮才生效) | consumed(🔴 型面 BREAKING:入参型少一位) | deny 侧拼法问题 ⇒ 代理照送、条目原样(名册在手时判官给现名的整名退役名照旧改写、照旧告一句);deny 侧不再出告警句(修前 deny 侧两句告警都退),读数照在 `toolListFlaws` | 删 `agentsWire.ts:239` 那一位(编译红一次)与只为它存在的判定件 `engineAgentDenyGeneration.ts` | 不涉及 | 零读点 | 编译红必改:`main/agents-wire.ts:587` 删 `withholdRefusedDenyLists: true` 一位(origin/main `ee0d1ab6`) | G-RD2 | 126b RD-2 |
9997
+ | **RD-3** 代理 `tools` 里判官判得出的问题条目单条省掉 退(RL-143) | 引擎 7.51.0(底线那一代对 allow 表只告不拒) | consumed(行为变) | 原样投进 `agents[].allowTools`;告警判得出与判不出同一句条件式「… gives the agent nothing unless this run has a tool with exactly that name」(不再说「it is omitted」,也不断言效果:这一跑恰有同名工具〔挂载 / 委派池〕时引擎照给);`toolListFlaws` 读数不变 | 零改码(读告警原文的断言改钉) | 不涉及 | 零读点 | 零读点 | G-RD3 | 126b RD-3 |
9998
+ | **RD-4** 代理清单目录省略两半 · `ProjectAgentsDeps.toolDirectory` · run 级判官 `excludeToolsAgainstDirectory`(0.98.0 退出公面) + 型 `ExcludeToolsAgainstDirectory` 退(RL-144;撤销 §125 AD-1 / AD-4 / G-AD6 的契约,126z) | 同 RD-1 | consumed(🔴 型面 BREAKING:根入口 −1 函数 −1 型,入参型少一位) | 服务器不在本跑声明里的 `mcp__` 条目原样上体、零披露(「names no tool this deployment answers to — omitted」与「could not be checked」两句都不再出);读口 `engineToolDirectoryOf` 三态照留 | 删 `agentsWire.ts:240` 那一位(编译红一次);`engineToolDirectoryOf` 那次调用可留可删 | 不涉及 | 零读点 | 编译红必改:`main/agents-wire.ts:591` 删 `toolDirectory: engineToolDirectoryOf(...)` 一位(内联在交给 `projectAgentsForWire` 的对象字面量里;那次调用可留可删;origin/main `ee0d1ab6`) | G-RD4 | 126b RD-4 |
9999
+ | **RD-5** 会话规则写口老码 `rules.legacy_tool_name` 的读法退(RL-164):根入口 `RULES_LEGACY_TOOL_NAME`(0.98.0 退出公面) · 失败臂 `legacy-tool-name` · 收紧 / 撤销两只结局的 `legacy_tool_name` 臂与两句人话 · `legacyToolNameFailureNoteOf` 认它的那一支 | 服务端 7.129.0 / 引擎 7.51.0 #1497(老码退役、零别名) | consumed(🔴 型面 BREAKING:根入口 −1 常量,失败联合 −1 臂、两只结局联合各 −1 臂) | 老码到达(底线以下的老服务端)⇒ 失败分类 `error`、收紧 `unknown` / `write_refused`、撤销 `write_refused`(确知没写,不编具名原因);同一族在支持范围内走 `inert-entry` / `inert_entry`(PN-1) | 零读点(生产源零 `'legacy_tool_name'` 分支,PN-1 已核);穷尽 switch 写了那一支的编译红 | 不涉及 | 零读点 | 零读点 | G-RD5 | 126b RD-5 |
10000
+
10001
+
10002
+
10003
+
10004
+
10005
+
10006
+ ### 126b. 缺席语义(逐键)
10007
+
10008
+ - **WD-1 来源**:`persistedRuleAddOriginLabel(origin)`:`user` / `imported-cc` / `starter` ⇒ 各一句,其余(含非串 · 空串)⇒ 中性句,不回显。`persistedRuleOriginsLabel`:`rule` 不是对象 / `adds` 缺席 · 空数组 · 非数组 · 读不动(取值器 / 已撤销代理 / 只在原型链上)⇒ `unknown origin`(不编一个来源);某个 add 的 `origin` 读不出 / 非串 / 空串 / 表外词 ⇒ 中性句 `an origin this build does not know`(**不回显词**,不折成任何已知词),读某一个 add 抛不连坐兄弟;`user` ⇒ `added by you`(**不指认渠道**:审批卡点出来的与单步写口落的行都是 `user`)。`adds` 是真集合:保序、去重、` + ` 连。最多读 256 个元素。
10009
+ - **WD-1 作用域**:`global` ⇒ `all projects`;`project:<root>` ⇒ root(只切第一个冒号;root 过包的展示出口:危险字符转义、凭据形遮蔽、封长 400);表外形 · 空 root · 非串 ⇒ 中性句 `a scope this build does not know`,不回显。**只是展示**:撤销寻址永远用行上 `scope` 的原字节(`revokeTargetFromPersistedRule`),别拿本句回传。
10010
+ - **WD-2 撤销结局**:`status` = `removed` / `no-op` ⇒ 各三格(`stillLive` 三词);**表外词与整键缺席是第三种结局 `unknown-status`**,不折进「删了」,两种说法各说各的(缺席 =「引擎没说这次做了什么」/ 表外词 =「引擎答了本版不认识的状态」),都不回显状态词;`stillLive` 只认 `yes` / `no` / `unknown`,**别的一切(含布尔时代的 `true` / `false`、缺席、表外词)读作 `unknown`** —— 按「仍在」处理、不断言原因(支持范围内的服务端 ≥ 7.126.0 只发三词;`false` 只是「没有它还活着的证据」,不是「已经没了」的证明)。判据律:「a tombstone was written」只属于 `removed` 行,「approved again」只属于 `removed × yes` 一格,`Removed …` 只属于 `removed × no`。规则文本是 UNTRUSTED,进句时放进引号(名字里的整句话冒充不了本句);空白 / 非串 ⇒ `this rule`。`result` 读不出(非对象 / 取值器 / 代理 / 只在原型链上)⇒ `unknown-status` × `unknown`。返回冻结。
10011
+ - **WD-3 匹配形**:入参是 `match` 词或整条规则行(读自有数据位 `match`);七词各一句(`exact` / `prefix` / `wildcard` / `subpath` / `path` / `name` ⇒ `skill name match` / `name_prefix` ⇒ `skill name prefix match`);键缺席 · 空串 · 非串 · 读不出 ⇒ `an unreported match form`(老 worker 行;**不冒充 `exact`**);表外词(比这一端新)⇒ `a match form this build does not know`,不回显。老服务端(< 7.118.0)永远不发那两个新词,所以读口**不按版本分支**:词在场就渲。
10012
+ - **WD-4 出身一行**:`origin` 缺席 · 空串 · 非串 ⇒ `undefined`(缺席零占位,**不是** `policy`);静默三词 ⇒ `undefined`;其余出身词 ⇒ 包的出身句(= `askOriginDetail` 同一张句表);表外词(比这一端新)⇒ 中性句「this call asks; its origin is a word newer than this client, so answer it as usual」,**不回显词**(诊断口 `askOriginDetail` 仍回显词,供日志)。静默表是全键表:出身词闭集加一词而没表态 ⇒ 编译红。
10013
+ - **WD-5 缺席句 / 未覆盖因由句**:`ruleOffersAbsence` 缺席 · 空串 · 非串 ⇒ `undefined`(**缺席不是断言**:缺席同时覆盖「有报价」与三扇结构门);`mandated` ⇒ `undefined`(「这一问清不掉」由 `mandatedApprovalDetail` 一个说话人说);`shadowed` 的部署名单问(`deploymentListSessionRow` 只认自有数据位的严格 `true`)换另一句;表外词 ⇒ 中性句,不回显。未覆盖因由:表外 / 缺席 / 非串 ⇒ 同一句 `a reason this build does not know yet`,不回显。任何一句都不指人去写 / 加一条规则。
10014
+ - **WD-6 崩溃遗留**:`crashConvergedRowSentence(projection, row)` —— 入参是投影(与整行口同一份:`projectCrashConverged` 的产物,或端按 `approvalId` 摘过行、按两桶长度重算过 `total` 的同形投影)+ 要说的行;**桶归属只信投影,不信调用方自报**:行按 `approvalId`(自有数据位的非空串)在投影里找,拷贝行也对得上;投影读不懂(同整行口)· 行不是对象 · 没有 `approvalId` · 在投影里对不上 · 同一 `approvalId` 两桶都有 · 读就抛 ⇒ `undefined`;needsHuman 桶的行因由位缺席 · 表外 · 取值器 · 只在原型链上 ⇒ 兜底半句(保守:说副作用可能落了一半;不回显);`resumeSafe` 桶的行带着任何形态的 `needsHumanReason` ⇒ `undefined`,且行自己的记录位得互证(`orphanState: 'pending'` ∧ `resumeSafe: true` ∧ 无已批证据)—— 真投影的 resumeSafe 行恒满足,手拼的投影把危险行放进 `resumeSafe` 桶也挡得住。**没开始的行不说「partly landed」**:只有 `approved_then_interrupted` 说副作用可能落了一半。`crashConvergedCauseSentence(cause)` —— `cause` 缺席 · 空串 · 非串 ⇒ `undefined`(不编成因);两个合法词各一句(有序关停那句不说崩了);表外词 ⇒ 中性句 `the decision converged automatically`。
10015
+ - **WD-7 结局一行**:`askEndingCauseClause` 表内才答,表外 · 缺席 · 非串 · 原型链名字 ⇒ `undefined`。`askSettlementLine`:`parked === true`(结局帧 `outcome: 'expired'` 带停驻位:这一问转进了引擎的耐久队列、还在等人 —— **不是结局**)⇒ `undefined`,调用方把 `approvalCompleteParked(帧)` 的读数作 `parked` 交进来;`cause` 缺席 · 空串 · 非串 · 非自有数据位 ⇒ `undefined`(**人答的结局没有成因,缺席不是证据**,不反推成某一词;≤ 7.123.x 的服务端也从不发这一键);表外成因词 ⇒ 仍说「引擎结束了它」,成因半句换中性话,不回显;`toolName` 缺席 · 空白 · 非串 · 读不出 ⇒ 主语是 `this approval request`;工具名进句放进引号。非人结局不是拒绝:十四句零 `denied`。`ttl_expired` 也有一句;端另有「窗关了」说话人时由端决定不重复说。
10016
+ - **WD-8 受理句 / 卡面说明**:`askAcceptedLine`:不替端断言 UI 状态与出路(不说「卡还在屏上」、不说「引擎在继续」;200 只证送达,受理后可能停滞、队列行可能已被收割);`follow` 缺席 · 表外 = 没在跟(不许诺「接下来会出现在下面」);`decision` 读不出 · 表外 ⇒ `answered`(不冒充批 / 拒);`late === false` 才不说 late;`taskId` 是 UNTRUSTED(过展示出口、封长 64),非串 / 空 ⇒ 不带 `(task …)`;`executed` 只认 `allowed` / `denied`;入参读不出仍给一句不抛。**只证送达,不断言执行**。`askParkedCardNote(form)`:`form` 缺省 · 表外 ⇒ `approval` 形。
10017
+ - **WD-9 `policy` 句**:不涉及缺席(出身词缺席由 WD-4 的读口答 `undefined`)。
10018
+ - **WD-11 pending**:到货判据 —— 终端或网页端表态「渲不渲『由模式放行』」;有渲才在 `gateVocabulary` 铸句(问类 19 词表进对外措辞前先过中性审)。现状读数见 126d。
10019
+ - **WD-12 pending**:到货判据 —— 受理上限表(服务端上限的机读面)到货当版读;本包不铸 1000 镜像。
10020
+ - **GT-1 `_sema_not_executed`**:位缺席 / 只在原型链上 / 值不是字面 `true`(`false` / 串 / 数 / `null` / 对象 / 数组)⇒ 「没有这个正证据」—— 往下判占位位,**不是**「跑过了」(缺席从来不是关于这次调用的事实);位读不出(自有访问器,取值器**不执行**;读描述符抛)⇒ `unreadable`,且先于占位成因(带占位标记的卡位读不出也答 `unreadable`);记录入参不是带 `tool_result` 块的普通对象 ⇒ `unreadable`(不变)。永不抛。
10021
+ - **GT-2 成因读口**:读口缺席(适配上下文没给 / 位上不是函数)⇒ 中性句 —— 这是「宿主说不出成因」,**不是**「不是重启」;读口抛 / 回表外词(含 `'unknown'`、对象、数)⇒ 同缺席,卡的其余部分照出;退出码不是 137(`143` / `1` / `0` / 无退出码)⇒ 读口不被调用、正文不带这一句。`toolKillCauseAcrossEngineIdentity` 两侧代际锚任一读不出 / 一只可比的锚都没有 / 入参坏形 ⇒ `undefined`(既不说重启也不说没重启,出中性句);永不抛。`-p` 帧里 `tool_result` 的正文是模型面原文,不带这一句(也就没有读口)。
10022
+ - **GT-3**:纯型面,无运行期缺席语义。
10023
+ - **GT-4 在飞谓词**:状态词表外(含 `queued`、历史终态 `timeout`、空串、非串)⇒ 不算在飞 ⇒ 记录没有终局证据时读成 `unknown`;这是「认不出它还在飞」,**不是**「已结束」。记录状态缺席 ⇒ `unknown`(不变)。
10024
+ - **AC-1 活卡帧出口**:入参不是对象 ⇒ `undefined`(不编卡);每一位缺席 / 坏形 ⇒ 那一键不上(不折 false、不编值);`toolName` 非串 ⇒ `''`;入参不是对象 / 缺席 ⇒ 回落形(问句里解出的 path 或 `{}`)+ `argsUnavailable` + 省略说明句(帧带 `argsOmitted` 时);`opts.streamArgs` 是对象 ⇒ 用它、无 `argsUnavailable`;`opts.argsUnavailable === true` ⇒ 恒标、说明句换「本读面不带入参」那一句;一位读就抛 ⇒ 只丢那一位、载体上在场的证据键记进 `unreadableEvidence`;`allowSessionCarried` 恒 `true`、`grantBinding` 恒在(三态)。
10025
+ - **AC-2 通用卡**:入参不是对象 ⇒ `undefined`;治理 / 真人 / 强制 / 出身 / 记不住 / 候选 / 子代 / 探针 / 规则证据 / 让位 **一概不读**(在场也不上卡;未知版本里在不在、叫什么都不知道);`cardPayloadUnreadable` 恒 `true`;`allowSessionCarried` 恒缺席;读出的几位与 v1 口同在同缺同值。
10026
+ - **AC-3 窗三键**:`windowIsCurrent !== true` / opts 缺席 ⇒ 空;一键负数 / 非有限 / 非数 ⇒ 那一键缺席(`0` 在场);锚只在 `expiresInMs` 或 `expiresAtMs` 在场且交入的锚是非负有限数时在场(读器不自取时钟);`unknownShape` ⇒ 三键缺一 / 绝对时刻 ≤ 0 / 恒等式差 > 1s ⇒ 空。
10027
+ - **AC-4 两行**:入参是卡(`Pick<ApprovalCardRequest, 'probeCause'>`),口内只读自有数据属性 `probeCause`;卡不是对象 / 卡上没有这一位(原型链上的 / 取值器不算)/ 那一位不是记录 / `code` 非空串缺席 / `roots` 不成形 / `total` 非安全非负整数或小于 `shown` 数 / `further` 在场而不成形 / 自有访问器 ⇒ `undefined`(整只不渲);`further` 缺席(或自有值是 `undefined`)⇒ 只一行;`shown` 空 ⇒ `roots: N total`。
10028
+ - **AC-5 原因格**:卡不是对象 ⇒ 空数组;每一源读不出 / 读就抛 ⇒ 那一行不出;`message` 非串 / 空白 / 恰是引擎回落问句 `approval required for "<卡上工具名>"`(只复述卡头)⇒ 不出行(待决行腿的卡上恒缺席);回落问句多了别的话(审批席不可达等)照出;`maxLines` 不是安全整数 ≥ 1 ⇒ 缺省 4;`denialLimitFallbackDetail` 读不出(缺成员 / 非对象)⇒ `undefined`,`autoDenyAfterMs` 为 0 ⇒ 不说倒计时那半句。
10029
+ - **AC-6 真人位**:入参不是对象 / 两处都不是严格 `true` ⇒ `false`(缺席不编、`"true"` 不当真);原型链上的严格 `true` ⇒ `true`(必问证据宽读);两处取或 —— 一处读就抛不抹掉另一处读出的 `true`;两处都没读出 `true` 且有一处读就抛 ⇒ 原样外抛(调用方 try 接;自动作答判定口接成 `card_unreadable`,投影口记进 `unreadableEvidence`)。
10030
+ - **AC-7 计数**:回体不是对象 / 是数组 / `pending` 不是数组 / 某一行不是对象 / 行上读就抛 / 会话真源读就抛 ⇒ 抛(不折 0);行归属判不出(会话 id 两侧任一缺席且 own-run 腿不中)⇒ 不算;门种 `other_gate` / 非门种词 ⇒ 不算;问答臂零问句 ⇒ 不算。谓词 `pendingRowIsOwnedAndDecidable` 同律:读就抛 ⇒ 外抛,行不是对象 ⇒ `TypeError`(读不出的行不折成「不是我的」)。
10031
+ - **TP-1 `normalizeEngineBaseUrl`**:入参型只收 `string | null | undefined`(不把 `unknown` 带出境;外来值 —— IPC 载荷 / 设置文件 —— 由端先按 `typeof x === 'string'` 窄一次再交进来);运行期仍对任何值同答:入参不是串(`undefined` / `null` / 数 / 对象 / 数组)或只有空白 ⇒ `{ ok: false, reason: 'empty' }`,**绝不**回 `ok: true` 带空串;解析不了(含 `http://` / `http:///` / `http://@/` / `http://:80`:http(s) 解析成功时主机恒非空,所以没有「无主机」这一臂)⇒ `unparseable`;判序固定 `empty` → `scheme` → `unparseable` → `userinfo` → `query_or_fragment`(同时带用户信息与 query ⇒ `userinfo`)。`ok` 臂的 `url` 恒为非空串。读不出的坏形入参(会抛的代理 / 取值器)不抛,按「不是串」读 ⇒ `empty`。
10032
+ - **TP-2 `engineUrlTransportVerdict`**:非串 / 解析不了 / 不是 `http(s):` ⇒ `not_http_url`(闭合失败:证不出是 https 也证不出是本机,就不放);`http:` 且主机不被窄谓词认作本机 ⇒ `plaintext_remote`;`ok` 臂恒带布尔 `loopback`(`https:` 过时也报,不省)。本机 = 设置契约 `isLoopbackAuthHost` 对 `URL.hostname` 的答复(`127.0.0.1` / `localhost` / `::1` / `[::1]`;`127.1` / `2130706433` 这类 URL 解析器会归一成 `127.0.0.1` 的写法随之为本机;`127.0.0.2` / `localhost.` / `[::ffff:127.0.0.1]` / `0.0.0.0` 不是)。
10033
+ - **TP-3 读数 `reading()`**:迭代前即可读 ⇒ `{ idempotencyKey, attempts: 0, reopened: false, replay: false }`;`attempts` 是已开的发数(0 / 1 / 2),`reopened` ≡ `attempts === 2`;`replay` 只在读到终帧 `done` 且帧上或 `result` 上严格 `replay === true` 时为 `true`(两个来源各自受保护读:一个读坏不连坐另一个)—— **`false` 不证明是新 run**(没读到终帧、或服务端没标;在飞合流到的那一份只有帧上的标)。`reopened` 且 `replay: false` = 说不出首发有没有落地,但同键下只会有一条 run。
10034
+ - **TP-3 「已绑 run」**:响应头 `x-task-id` 为非空串,或已交出任意一帧(meta 或别的)。头由包装的钩子读(宿主漏不了接线);**头读不出 / 响应对象坏形 ⇒ 当作已绑**(闭合失败:重开是放宽方向,证不出没绑上就不重开);空串头不作证。宿主自己的 `onResponse` 接在包的钩子之后调,抛了不影响已绑判据与流。
10035
+ - **TP-3 取消与终止**:`options.signal` 是取消的唯一来源,`aborted` 读不出 ⇒ 当作已取消;消费方对 `frames` 调 `return()` / `throw()` 的那一刻即记下(异步生成器在 `next()` 悬着时只是把它们排队,所以不能等排到),首发随后连接断也不开第二发;分类之后、第二发之前再核一遍取消(分类期间被取消的也挡得住)。
10036
+ - **TP-3 失败分类的读不出**:`transportFailureScene` 的现场 `end` 为 `unreadable`(状态位 / 机读位读抛)⇒ 不重开;错误上带数字 `status`(引擎答了,或宿主管线改写过的错误)⇒ 不重开;没有 `status` 且 `noAnswer` 不是 `connection-lost`(连接被拒 / 取消 / 时限 / 静默撕裂 / 普通错误 / 非 Error)⇒ 不重开。
10037
+ - **TP-3 键**:包铸(`@sema-agent/sdk` 的 `newIdempotencyKey`),构造时一次;宿主选项里没有 `idempotencyKey` 这一位(型上去掉,运行期覆盖:塞了也不生效)。键是这一次提交的标识 —— 宿主要在两发都失败之后查「这把键建过什么」,读 `reading().idempotencyKey` 再用 sdk `runs.getByIdempotencyKey`。
10038
+ - **TP-4 账**:`see` 读口交出的每一帧过一次(心跳也过);`legEnded('returned')` 只有「最后一帧是排空终帧」才答决策(`reconnectAfterMs` 或 `giveUp`),其余答 `undefined`;每次调用都消费本腿记号(下一腿零帧收场不读上一腿残留);`'threw'` 一律 `undefined`。账是纯工厂、零模块状态,两只账互不串。
10039
+ - **DU-1**:① 分号之后是空白 / 串尾 / 别的停字符 / `名=` `名:` / 凭据词 ⇒ 值在分号处止,字节与 0.97.1 同(`token=;`、`Password=<值>;Host=db` 的 `;Host=db`);② 逗号不续扫(单数标签后按散文或下一对键值、复数标签后按清单逐项读 —— `api_key=,<值>` 仍是空值、`token=<值>,<尾>` 只遮逗号前那一截,KL-760);③ 括号里是占位形(全大写下划线名 / 全小写连字符词;花括号 / 尖括号另认全小写下划线名)、不止一个词、没有配对收尾 ⇒ 不当包裹值,读法同 0.97.1;括号里带 `@` 的照当包裹值整只遮(`token:<口令@db>` 与 userinfo 读法取并成一枚记号,主机一起进记号);④ 引号值不在此列。
10040
+ - **DU-2**:名字不是整段 SCREAMING(`dbPassword=Basic`)、`=` 两侧有空白、冒号分隔、同行其后跟着非赋值的词(载荷,含只有尾部 `=` 填充的 `QUI6QQ==`)⇒ 读法同 0.97.1;值是闭集里别的词(`PASSWORD=none`)⇒ 照旧原样;方案词后换行、下一行不是赋值 ⇒ 方案词遮、下一行的载荷照旧按方案词载荷遮(两枚记号)。
10041
+ - **DU-3**:方案词不是凭据标签的值(无标签散文)⇒ 放行表照查;值是诊断词闭集里的词 ⇒ 原样;方案词 `token` 不在此列(它也是名词,放行表射程不动)。
10042
+ - **DU-4 – DU-7**:① 只在配置地址展示口与上传判据上;② 输入不以 `scheme://` 起头、也不以 `/` `?` `#` 起头 ⇒ 不当地址读(单斜杠 / 无斜杠写法仍按解析器组件重建,0.96.0 起同);③ 结构面关着(`credentialUrls: false`)⇒ 这四条一条都不走;④ 非串入参:展示口按 `String(v ?? '')` 归一、上传判据答 `false`(与 0.96.0 同)。
10043
+ - **DU-7**:authority 在最后一枚 `@` 之后的那段不是 `host[:端口]`(含空端口 `h:`、IPv6 方括号不闭合、夹不可见单元)⇒ 不放,词级面照认;百分号解码读面上从不交主机区域(`https://api_key%3A12345/x` 的 `12345` 照遮)。
10044
+ - **DU-8**:非串 ⇒ `false`;剥完尾标点 / 前导点为空 ⇒ `true`(没有可遮的值);判的是一个词,不判语境(DU-2 那一类按语境另判的形不在这只口的射程里)。
10045
+ - **TH-1 协议类名读口 `protocolErrorNameReading` / `protocolErrorNameOf`(包内口,不上根入口)**:四态 —— `named`:抛出物**不是**真 sdk 实例 ∧ 自有数据位 `name` 恰是闭集表里的字面协议名;`absent`:确知没有名字证据(无 `name` · 只在原型链上 · 表外名 · 非对象);`sdk-instance`:抛出物结构上是真 sdk 实例(不是自有 `extra`、最近的持有者是继承内建 `Error` 的类原型上的 `extra` 取值器;不读任何类名)—— 名字不查,身份交机读码 / 状态码;`unreadable`:`name` 是自有访问器或读描述符抛(取值器不执行)。🔴 `sdk-instance` **不等于「确知不是」**:放宽方向的下游遇到它而码也没有时按「身份确认不了」处置 —— 安全停判官在这一形上返回「读不出」(原错上抛、恰一发,**不进瞬断重试**;外部复核采纳:伪造一个「像 sdk 类」的对象、名字是绑定不符类、文字像瞬断,此前一版会被折成「不是绑定拒绝」而自动重发第二发)。读不出的名字**不当证据**(两态便利形答 `undefined`);决断拒收判官保持「名字读不出 ⇒ 整只 `unreadable`」的既有结局。
10046
+ - **TH-1 各判官的名字臂**:码在场只信码(决断拒收分码判官要求码缺席才看名;安全停判官码或名任一正面证据即安全停,放宽方向闭合失败);状态在场只信状态(取消 / 删会话 409 判官与提交面 429 判官只在状态缺席时看名)。绑定不符族的码证据 = `approval_binding_mismatch` ∨ `checkpoint.invalid_outcome`。
10047
+ - **TH-2 四只读口**:机读位(`errorCode` / `status`〔缺席或 `null` 时退旧槽 `statusCode`〕/ `blockedBy` 顶层位 / `extra` 袋里的 `blockedBy`)读自有数据位。`effectiveWireErrorCode`:读不出或原型链 ⇒ 当没带外层码(答 `undefined`;折叠体照旧在外层码为折叠码时才看 `blockedBy`);`scenarioDenyFromError`:状态读不出 / 原型链 ⇒ `null`;`readBlockedBy`:原型链 ⇒ `absent`,自有访问器 / 描述符陷阱抛 ⇒ 显式 `unreadable`(不折成 `absent`);`denyAttributionRefusalFromError`:状态或码读不出 / 原型链 ⇒ `null`。真 sdk 错误上这些位是实例自有数据位,读数不变。
10048
+ - **TH-3 `wireFailureTextsOf(e)` → `{ reason, log }`(永不抛)**:`reason` ① 抛出物自带的非空串 `message` ⇒ 它;② 抛出物本身是非空串 / 数 / 布尔 / bigint ⇒ 它的文本;③ 其余 ⇒ `WIRE_FAILURE_UNRENDERABLE_TEXT`。逐形:`{}` · 空 Error · 带类名而 `message` 为空的错误 · `message` 非串 / 空串 · `message` 取值器抛 · 转换钩子抛的对象 · 已撤销的代理 · 无原型对象 · Symbol · 函数 · 数组 · `null` · `undefined` · 空串 ⇒ 固定句;`'boom'` ⇒ `boom`,`42` ⇒ `42`,`true` ⇒ `true`,`10n` ⇒ `10`。`reason` 永不空串、永不是类名或 `[object Object]`,与结构快照的 `message` 同一只取句函数(逐形相等)。`log` = `String(e)` 截 300 字(`{}` 的 `log` 是 `[object Object]`),转换钩子抛 ⇒ `<unprintable thrown value>`;**只给宿主日志,不上屏**。
10049
+ - **TH-4 `turnFailurePresentation(err)` 读数(冻结;永不抛)**:`category` 恒在(十个闭集词);`kind` 恒在(= `classifyTurnWireError` 的臂);`status` / `errorCode` present-iff `kind === 'http'`(码取折叠体的原码);`detail` 恒在(http:引擎自带 `message`,没有则固定句;transport / internal:传输细节),**未洗** —— 上屏前请过各端的不可信文本面;`headline` present-iff 非 http 四种失败(连接断 / 流静默看门狗 / park 信号 / 客户端内部错;含「2xx / 3xx 走到错误路径」这种本客户端没读懂的应答)—— http 失败缺席(话归引擎原句 + 端的补充);`name` present-iff 内部错;`retry.offer` / `retry.basis`:自有数据位 `retriable === true` ⇒ `offer: true` + `basis: 'wire'`(`false` / 非布尔 / 原型链 / 访问器都不翻案;park 不被翻成「再试一次」;🔴 **「卡仍 pending」族的码不被它翻案** —— `checkpoint.*` 的门还在 · 停泊赎回 · 续跑拒绝两张码表〔包里已有的码族判官 `isCodeClassifiedGateFailure`(0.98.0 退出公面,包内照用)〕上 `retriable: true` 读作「这张卡还能再决」,不是「原样重发这条消息」),其余按类别缺省(`basis: 'category'`:连接断 / 流静默 / 超时 / 限流〔配额耗尽除外〕/ 5xx / 排空 / 租约确认不了 ⇒ 给;鉴权 / 计费 / 请求被拒 / 能力缺席 / 配额耗尽 / 坏存档 / sdk 传输层重试臂按码豁免的确定性 5xx 码〔`corrupt_session` · `corrupt`〔不论带不带 `where`〕· `state.scenario_assignment_unknown` · `internal.memory_control_plane_corrupt`〕/ 工具声明门拒 / park / 内部错 ⇒ 不给);`waitSec` present-iff 服务端真给等待窗:头源 `retryAfterMs`(正数)优先 → 体源 `retryAfterSec`(顶层 / `extra`)→ 配额 `detail.retryAfterSec`,上取整、最小 1;`0` / 负 / `NaN` / 非数 / 原型链 / 访问器 ⇒ 缺席,**绝不渲 0、不编数**。
10050
+ - **TH-4 类别判据(只读线上事实)**:`classifyTurnWireError` 的臂 + 状态码 + 机读码(折叠体按原码):坏存档(`corrupt_session` 或 `corrupt` 带坐标)· 工具声明门拒 ⇒ 确定性(`server_error` / `invalid_request`,不给重试);`quota_exhausted` ⇒ `rate_limited` 不给;`budget.*` / 402 ⇒ `billing`;排空 / 租约确认不了 ⇒ `server_error` 给;501 或 `capability.*` ⇒ `capability_unavailable`;401 / 403 ⇒ `auth`;408 ⇒ `timeout`;429 ⇒ `rate_limited`;≥500 ⇒ `server_error`;其余 4xx ⇒ `invalid_request`;SDK 看门狗(`SseIdleError`)⇒ `timeout`(在 `classifyTurnWireError` 里它是 `internal`,`kind` 仍照那一臂报);park 信号 ⇒ `parked`;传输失败 ⇒ `connection_lost`(判型口的网络词表之外,**浏览器宿主的 fetch 拒绝说法**〔Chrome `Failed to fetch` · Safari `Load failed` · Firefox `NetworkError when attempting to fetch resource.`〕在呈现层同样收成 `connection_lost`);其余 ⇒ `internal`。类别判据读线上事实与判型口的传输词表,**不读别的 `message` 词**(网页端 `looksLikeModelRejection` 的模型拒绝词面推断不进包)。
10051
+ - **TH-5 `runReattachPolicy(budget, event)`(纯函数,永不抛;排空事件的字段是 `madeProgress` —— 只有**推进了耐久游标**的帧算进展,重放的旧帧、无序号前导帧、心跳都不算;自述的进展不能让重连环无界:排空总次数有上限 `REATTACH_MAX_TRIES × 3 = 15`,用尽后的排空终帧按一次普通流帽处置,最坏 20 次重挂就放弃)**:`budget` 是调用方持有的显式状态(首次传 `REATTACH_BUDGET_FRESH`,三个计数 `tries` / `drainingStreak` / `drainingTotal`),决策里的新预算原样传回下一次;`event.hasRunId === false` ⇒ 放弃 `no_run_id`(预算原样);普通预算用尽 ⇒ 放弃 `budget_exhausted`;预算不是非负安全整数 / 事件不是已知形 / `hasRunId` 非布尔 / 读就抛 ⇒ 放弃 `bad_input`(有界:坏入参不许绕成无界环);`stream_draining` 交了不是排空终帧的帧 ⇒ `bad_input`。**放弃不是失败判决**:引擎没有说这条 run 失败了,呈现必须是「结局未知」。
10052
+ - **TH-6 `sandboxDegradeHint(err, host?)`**:`host` 缺席 / `'terminal'` ⇒ 终端句(五臂逐字节同 0.97.1);`'web'` / `'desktop'` ⇒ 事实段 + 图形端出路段(没有 `--sandbox` / `sema cloud …`);给了而不是这三词之一(拼错 / 非串)⇒ **只给事实段**(不替一个认不出的宿主编出路)。两臂(k8s 车道专属 400 与 cascade/verify 冲突 400)的事实段主语称呼「那个选择」按宿主(终端 `--sandbox <profile>` / `--sandbox`,图形端「沙箱镜像档」),其后的事实句三宿主逐字同。判型(锚 / 码 / 状态)不随宿主位变;`status` / `errorCode` 读自有数据位,文字位 `message` 读法不变;读不出 / 取值器抛 ⇒ `undefined`,永不抛。
10053
+ - **CH-1…CH-6 六词**:座位出站门按词表放行,各臂臂注的缺席语义不变(上表末列);六词之外的 `ChromeEvent` 臂仍只在宿主环(`plan_review_park` / `approval_*` / `task_ledger_sync` / `inline_task_stats` 归宿主,理由在门 M5 归宿主表)。
10054
+ - **CH-3 载荷**:`engineUsage` 是引擎 `turn_end.usage` 整对象原形,座位出站门只核信封不核载荷键集 —— 渲染端收到开集对象;闭形 / 逐字通道二选一归 CC-738(设计先行),本版成文。
10055
+ - **ID-1 值形**:事件 `eventId` 只认**自有数据位的非空串**(空串 / 非串 / 取值器 / 读描述符抛 ⇒ 当缺席,取值器不执行)。缺席 ⇒ 信封 `uuid` 现铸(两次投影不同值,与 0.97.x 同),由它开场的行按既有派生器派生(同一份已投影帧序列重放仍同值,§100a-6 承诺 ② 不变)。只带 `seq` 的宿主帧 ⇒ 宿主 `ctx.uuid()` 当次返回值(ID-4)。段窗口始终没有锚 ⇒ 宿主铸号并缓存(同修前)。`done` 帧读不出 run 身份 / `failed` 事件帧(没有终局记录)⇒ 结果帧与合成终局行现铸。工具结果行:收卡帧 `eventId` → 开卡帧 `eventId` → 按调用 id 稳定派生,空串当缺席;`eventId` 的形不验(引擎铸 uuidv7)。**承诺**:P1 同腿重投同值(同一条 wire 事件流 —— live 对 live、durable 对 durable —— 经投影口在两个进程 / 两次重放各投一次,由同一事件开场的每一行 `uuid` 与引用位相等);P2 中途接上(开场帧两边都见过的行相等;开场帧早于起点的那一行不在承诺内);P3 形(本包派生的 id 全是 36 字符小写 UUID 形;宿主交的原样);P4 唯一(同一投影内不同(开场事件, 标签)⇒ 不同 `uuid`)。**不承诺**:跨腿(live 逐段行 ≠ durable 整轮聚合行,KL-762)· 切点不同的两份投影(idle 切分一只切一只不切 / 段中断流的半截与整段重放 / 段末改写字节)两份行 `uuid` 不同,按 `uuid` 去重各留一份(重复一截、不丢正文;**同 `uuid` 恒同正文**,KL-763)· `-p` 工具结果帧在收卡帧缺 `eventId` 而开卡帧有时与交互行不同值(KL-764)。
10056
+ - **ID-2 引用位**:整键缺席 = 本包说不出这一行由哪一件引擎事开场(无事件身份的事件 / 宿主喂进来的行 / 终局行 / 旧行 / 段窗口锚与行不同源的派生 id)。键在场 ⇒ `eventId` 恒在;`taskId` / `sessionId` 各自 present-iff `boundRun(帧)` 交了非空串;不带 `eventId` 的帧不问。`boundRun` 缺席 / 抛 / 返回 thenable(拒绝由本包接住)/ 返回非对象 / 位不是非空串 ⇒ 那一位缺席;它**不影响任何 `uuid`**。行上的绑定 = 开场那一帧被问到的那一拍的答案(段末、轮末、终局都不重问)。`-p` 工具结果帧只在引用位的 `eventId` 与帧 `uuid` 相等时带。
10057
+ - **ID-3 读口**:`engineRefOf` 只读行的自有数据位 `_sema_engine_ref`:入参非对象 / 键缺 / 值不是普通对象(串 / 数 / 数组)/ 取值器(不执行)/ 只在原型链上 / 读描述符抛 ⇒ `undefined`;三位逐位隔离(一位读不出不连坐别的位),都读不出 ⇒ `undefined`;每次交新对象。`sameEngineRef`:两边都有 `eventId` ⇒ 相等 `same`、不等 `different`;否则两边都有 `taskId` 且不等、或两边都有 `sessionId` 且不等 ⇒ `different`;其余 `unknown`(含一边缺 `eventId`、旧行、宿主行、非对象)。**只有两边都有 `eventId` 才可能 `same`**;对称;永不抛。`same` 不等于「`uuid` 相等」(跨腿两行同一件事、两个 `uuid`)。
10058
+ - **ID-4 `seq`**:帧上 `seq` 不再参与派生(带不带后缀都一样);帧 `id` / `toolCallId` 两档答案一字不变;判空规则不变。
10059
+ - **ID-5 去重**:行 `uuid` 恒在(本包铸的行恒铸;宿主喂进来的行原样)。旧转录的前缀形 / 短形 id(`wid_…` / `wseq_…` / `wtc_…` / 16 字符 `wid_err-<8>`)不迁移、不改写:`engineRefOf(旧行) === undefined`、`sameEngineRef(旧, 新) === 'unknown'`;读者按整串处理。
10060
+ - **CP-1 代理能力判定**(读数 → 判定只有一张表):`true` ⇒ 确证支持(带代理);`false` / `null` / 键缺席 / 值不是布尔 ⇒ 确证不支持(不带;准备口有定义时说一次「不会发送」);没落地(没 kick / 在飞 / 探测失败 / 被失效 / 回体不是普通记录)或这一位读不出(访问器 —— 取值器不执行)⇒ **无法确证 ⇒ 照发**(老服务端静默剥这一键)。准备口等能力落定的上限 3 s(到点按无法确证)。单发口 `engineSupportsTaskAgents` 同一张表:回体不是普通记录(含 `null`)⇒ `undefined`(此前非对象答 `false`、类实例照读)。
10061
+ - **CP-2 登记读口能力门**:证据键缺席 / 空串 / 非串 / 这把键上没落地 / 落地在手而 `background` 或 `listFace` 读不出 ⇒ `capability_unknown`(不发请求,读作 `unknown`:不删、不补行);`listFace` 不是字面 `true`(缺席 / `false` / `null` / 串 / `background` 不是分组对象)⇒ `no_list_face`;要等能力落定的宿主先 `await engineCapsSettled(capsBaseUrl, { withinMs })`。
10062
+ - **CP-4 中心接线缓存读数**:`present` 读数恒无 `caller`;`callerQuotaLease(缓存读数)`:配了租约 ⇒ `unknown`(不是「不限额」),没装租约 / 没接中心照答 `no-lease`。
10063
+ - **CP-6 普通记录**:原型为 `null`,或原型的原型为 `null`(任何 realm 的 `Object.prototype`)⇒ 普通记录;类实例 / 自定义原型链 ⇒ 不是(根上 ⇒ 不落地;嵌套位上 ⇒ 读器照判畸形),两个 realm 同答。
10064
+ - **CP-7 执行车道 `isolated`**:严格布尔 ⇒ 原样;缺席 ⇒ 按手分(`no_hands` / `unreadable`);在场而值不是严格布尔 ⇒ 按位 `unreadable`;**读就抛 ⇒ 整格畸形**(读口 `unreadable`,不发 `baseDir`)。
10065
+ - **CP-8 能力词读数**(四态,冻结):`confirmed`(顶层键是自有数据位且字面 `true`)· `absent`(落地在手、键不在 —— 含只在原型链上、自有值 `undefined`、只有嵌套分组形 `{ inherit_env: { … } }`、键名变体)· `declined`(键在而不是 `true`:`valueShape` ∈ `false` / `string` / `number` / `null` / `array` / `object` / `other`,不记值)· `unreadable`(落地在手而这一位读不出)· `unobserved`(没有可读的落地:没 kick / 在飞 / 探测失败 / 被失效;与能力位读器族每只 `observed*` 读口同一律 —— 要分「还在飞」先 `await engineCapsSettled` 再读)。坏地址 ⇒ `unobserved`。**意图判定**:四件齐(`lane === 'interactive'` ∧ `projectContextConfirmed === true` ∧ 读数 `confirmed` ∧ `serviceIdentityVerified === true`)⇒ `{ send: 'all' }`;否则 `{ send: 'omit', reason }`,成因按 `lane` → `project_context` → `capability_absent` / `capability_declined` / `capability_unreadable` → `identity_unverified` 取第一个;入参按键隔离(一位读就抛只作废那一位),整只入参坏形 ⇒ `lane`;`unreadable` / `unobserved` / 读数认不出 ⇒ `capability_unreadable`。**告知**:`inheritEnvNoticeOf` 只在三个 `capability_*` 成因给句(其余 `undefined`);每台引擎一句的去重归宿主。omit = 这一发不带 `inheritEnv`(引擎缺省清洗,并清掉本会话上一条 `"all"`)。
10066
+ - **HL-1 身份分量**:`approvalId` / `taskId` / `toolCallId` / `sessionId` 各自只认自有数据位上的非空串(取值器 / 原型链 / 读就抛 / 非串 / 空串 ⇒ 那一位缺席,别的位照读;整只读不出 ⇒ 全缺席)。缺席 = 不知道 ⇒ 匹配不上 ⇒ 照常开卡(**漏认只多一张卡,答第二张时引擎回已决;认错会压掉唯一一张可答的卡**,两害取前)。相位:宿主不调 `sending()` ⇒ 一直按 `card` 相位(只按调用身份匹配时,同调用的下一只审批在宿主决断在送期间可能被认成这一只 —— 带 `approvalId` 的身份不受影响)。`release()` 不给 `settled` ⇒ 不记已结(撤卡 / 发送失败 / 被拒 / 读不出一律不给)。
10067
+ - **HL-1 同一件事 / 重开 / 推进**:同一调用上问类集、出身词、强制词任一不同 ⇒ 另一件事(CC-283 第二只审批),不并入;一侧读不出签名 ⇒ 这一位不约束。停驻行持有者的 200 回执说「决断没被消费、重开」⇒ 不是结算,等着的路接手呈卡。已结表首个结局为准,唯一例外:转停驻那一行(现场口已关、耐久路仍待决)之后耐久路 / 宿主路确定结算 ⇒ 推进成那一结局。
10068
+ - **HL-1 join 结局**:宿主持有者结算了 ⇒ 交给晚到方的结局是「本路什么都没发」的形(`decision: 'unresolved'` + `retracted` / 中断形 `aborted`),宿主的决断词在宿主里;停驻行持有者 ⇒ 放行 / 拒(+ 拒因、归因)原样;活卡持有者 ⇒ 它那一只。本路在等**宿主**持有者时信号中止 ⇒ 走开(`joined` + 什么都没发),宿主那张卡不归本包撤。
10069
+ - **HL-2 接替位**:缺席 = 本进程调用账本没见过同一件事先呈过(进程重启 / 账本挤出也缺,**不是**「这是第一张」的断言);`priorAnswer` 缺席 = 没答 / 答了且被引擎收下 / 卡口失败 / 撤卡 / 中止;`parked` 缺席 = 不知道或不是转停驻撤的。句口按键隔离读(访问器不执行、原型链不算),表外词不说那半句。
10070
+ - **HL-3 停驻行位**:`parkRow` 缺席 = 不是停驻行腿铸的卡(活卡帧 / v1 / 未知形),**不是**「不知道是不是停驻行」;`deadlineMs` 缺席 = 行上没有可信的 SLA 墙(缺席 / `null` / 非有限 / 非正 / 远于 24 小时 / 串形)⇒ 不渲倒计时,**不是**「马上到期」;它是服务端墙钟,本机时钟没有校偏 ⇒ 到点只摘倒计时、不出「已关」确定句。
10071
+ - **HL-5 决断体**:拒因空白 ⇒ respond 腿不带 `note`、decide 腿落缺省拒因;放行备注(`note`)今天恒不进体(HL-6 `none`);`updatedInput` 原样(不判形)。
10072
+ - **HL-6 载运**:`allowNote: 'none'` = 带不到模型(不是「没写」)—— 端不开那一格输入;到货判据:决断口出放行反馈位(CC-585)且本包读到能力位后按卡答 `model`。
10073
+ - **HL-7 事件**:没有订阅者 ⇒ 不铸事件;事件里的 `answer` 是人答原件的冻结浅拷贝(放行备注照带,便于端自己留痕),`payload` 是这一发的基形(不含规则臂 / 归因键)。
10074
+ - **HL-8 三态**:`unknown` = 读不出或上游没给语义,**一律不给**(放宽方向闭合);持久规则档遇记不住位答 `unknown` 而不是 `refused`,只为端选句(「引擎没说这一档记不记得住」vs「记不住」);三档的给不给与 `standingRowsOf` 逐卡同答(门 HL3-4 自证)。
10075
+ - **HL-9 可执行性**:`engine: 'unreadable'` = 装配判官没装值级端口 / 抛 / 规则不是非空串 ⇒ 不可执行;宿主事实缺席 / 非布尔 / 访问器 ⇒ 当没有宿主阶梯;`by` 两者都成立时报宿主。
10076
+ - **HL-10 五档**:respond 腿的 202 停驻中体(含读不出身份的那一形)⇒ `unknown`(这一发没生效,不说 resumed);抛出物不是对象 ⇒ `unknown`;回执读口对坏形回体抛 ⇒ 只当没有回执(档按腿照给,`taskId` 不带);`taskId` 非空串才带、截 64 字;`executed` 缺席 = 未知(**绝不读成 allowed**);失败文字里的 `already` / `not found` 不是证据。登记分歧一类:404 带「已结束」成因词 —— 包读结构化成因 ⇒ `settled-elsewhere`,终端现形的机读视图丢了成因袋 ⇒ `unknown`。
10077
+ - **HL-11 收口**:`parked` 只跟 `settled: 'closed_by_engine'` 一起、只在为真时在场;转停驻位**任何形**在场(真值 / 访问器 / 原型链 / 坏值)⇒ 不收口(留着卡是保守方向)。
10078
+ - **HL-12 拒句**:四句按读数成因选 —— 没观测 / 敌意读数 ⇒「还没读到」;读到而读不出 ⇒「读不出」;`not_reported` ⇒「没报」;读到了一个不认识的词 ⇒「报了一个不认识的模式」(本版新)。
10079
+ - **HL-13 决断词**:元组与 sdk 型两向编译期钉;运行期值冻结。
10080
+ - **ST-1 出站门**:载荷不是普通记录(`Date` / `Map` / `Set` / 数组 / 类实例 / 自定义原型)⇒ 拒,拒因 `<形> is not a plain object`,`field` 缺席(整体不归属某一个键);`null` 原型对象、普通对象与另一个 realm 里的普通对象照过。嵌套位(队列行 / 命中行 / 绑定对 / 车道证明 / chrome 信封 / 会话行 / 请求 / 在线目录行与缺省位)同一判据;另一个 realm(vm 上下文 / 框架)里的普通对象照过,`field` 路径照旧逐段拼到底。`seatCapability(state, name)` 对非普通记录的态答 `malformed`(不变,现在与出站门同一只判据)。
10081
+ - **ST-2 回执**:`ok:true` ⇒ 不带 `reason`(成功不带因由)也不必带 `detail`;`ok:false` ⇒ `reason` 必在且是五词之一(缺席 · 空串 · 非串 · 表外词 · 大小写变体 · 原型链名一律拒,拒因列出闭集);`detail` 缺席 = 没有细节 ⇒ 渲染端只渲词的那一句(不要渲空串或 `undefined`);`detail` 在场必是串,仅展示。句口 `applyModelConfigReasonDetail(reason)`:表内词 ⇒ 它的那一句;表外词 / 非串 / 空串 / `undefined` ⇒ 同一句中性句 `The seat rejected this configuration.`,**不回显入参**。`requiresRestart` 判据不变:`shadowed_by_models_json` / `cheap_provider_unsupported` 两词宿主**没写盘**,回 `false`。`unavailable` = 宿主此刻没有可写的模型配置落点、这一次什么都没写、没有可重试的修法;铸词条件归宿主,本版词在表里、宿主尚未发(包侧缺口)。
10082
+ - **ST-3 退役后**:四位的发端本来就零(桌面端 36 处事件站点的键集里没有它们),读端本来就零;退役后旧宿主若仍带这几个键,出站门不再判它们,整条事件照过(与其它表外键同,不连坐);读端读到 `undefined`(本来就是缺席)。入站词表 `PERMISSION_MODE_INTENTS` 是 `SendMessageRequest.permissionMode` 的词表,**不动**。附件席位:占位读器退役后,编码口 `encodeHumanTurn` 本来就只读入参 `caps`(设计档撤掉了死入参),分流行为零变;席位到货前一律走数据信封。
10083
+ - **ST-4 分片**:读口四态 —— `delta`(读到一段增量,空串分片也是 `delta`)· `unknown_event`(是 `stream_event` 消息但内层词不在表内:更新的宿主发的新词 / CC 原始 SSE 词 ⇒ **丢弃**,绝不当 committed 消息往转录里映射)· `malformed`(内层缺席 / 非对象 / 词非串 / 已知词的 `delta` 非串 / 取值器 / 读就抛 ⇒ 同样丢弃)· `not_stream_event`(committed 消息、非对象、空值 ⇒ 走消息本来的路径);只读自有数据位,只在原型链上的位不算,永不抛,读数冻结。铸口入参读不成(通道表外 / 文本非串 / `uuid` 或 `sessionId` 缺席或空串 / 取值器 / 读就抛)⇒ `undefined`(不铸半只;预览分片丢一条无碍,committed 消息随后给出完整文本)。分片只活在预览平面,不进转录缓冲。
10084
+ - **ST-5 投影**:**user 行的引擎前置内容由行上的出身元数据划界,绝不看文本形状**:`engineMinted` 为字面 `true` ⇒ 整行是引擎文字(不出消息,记 `noVisibleContent`);`engineSegments` 是拍平文本(文本块的文字以一个换行相连、非文本块贡献空串,与引擎同一拍平法)上的 UTF-16 半开区间,优先;`enginePrefixChars` 是单个头段的糖。区间畸形(非数组 · 项缺位 · 非整数 · 空区间 · 越界 · 降序 · 重叠)与前缀位越界 · 零 · 非整数 ⇒ 整位作废、**原文留下**(`engineSegments` 在场而畸形时不回落前缀位);元数据缺席 ⇒ 原文留下 —— 用户自己写的、形似提醒的字面标签一字不剥,出身元数据落地之前的老会话行因此会带着引擎前置的提醒块(KL-771)。元数据位自己读不出(取值器 · 只在原型链上)⇒ 当缺席。被标明的片段从所在文本块剪掉,剪了东西的块才 trim,剪空的块丢掉;只有图片等非文本块的 user 行不是「不可见」。行上没有可用时间(缺 · 非数 · `NaN` / `Infinity` · 越界)⇒ 产物**没有 `timestamp` 键**(缺席 = 引擎没记,不是「重建那一刻」,也不是上一行 +1 毫秒);`0` 是合法毫秒数(1970 起点)。读不出的行进跳过账不造占位:`unreadable`(非对象 · 读就抛 · 空洞或只在原型链上的下标项 · 取值器槽位 · 无 `toolCallId` 的 toolResult · 内容读不成的 user 行)· `unknownRole` · `noVisibleContent`;入参数组本身也只读自有数据位、`length` 一次定下(取值器槽位不执行,也就缩不短数组吞掉尾行);读不出的块丢并记 `droppedBlocks`(块粒度),表外块型原样过(开集,宁多勿丢)。**透传位是 JSON 快照**:`tool_use.input` 与表外块型只读自有数据位深拷贝(普通记录 / 数组 / 串 / 有限数 / 布尔 / `null`),夹了函数 · 符号 · bigint · 非有限数 · 取值器 · 内建对象 · 环 · 超深嵌套(64 层)的块整块丢并记 `droppedBlocks`(不改写成空入参),产物与入参不共享可变引用 —— 过座位出站门的就是结构化克隆送得出去的那一份。`toolResult` 缺 `content` ⇒ 空块列表(不造文本),`is_error` 只认字面 `true`;助手行 `content` 为串 ⇒ 一个 `text` 块;`toolCall` 的 `arguments` 不是对象 ⇒ `input` 为 `{}`。守恒:消息数 + `unreadable` + `unknownRole` + `noVisibleContent` = 入参行数。`uuid` = `restored-<引擎会话 id>-<产出序号>`(同会话同行同号,重建幂等;**序号按产出序**,toolResult 腿进转录后其后各条序号随之后移)。`rows` 不是数组 / 读不出长度 / `opts.sessionId` 不是非空串 ⇒ `TypeError`(调用方的错,不静默当空历史)。
10085
+ - **UP-1 收件箱读数**:`present` = 回体 `inbox` 是数组;真空清单是 `present` + 零行(**不是缺席**);`entries` 次序逐位等于线上次序,严重度缺席的行(`resource_limit` / `needs_review` / `plan_review` 门不带风险层)在服务端序里排在有档的行之后 —— 那是服务端的排序律,**读数里 `severity` 缺席就是缺席**(不夹逼、不填 0、不取整;只认整数 1–5)。行里 `true` 型位(`requiresRealApproval` / `mandated` / `hasBidiControls`)只认字面 `true`,缺席 ≠ false(「没打标」≠「确认没有」,`hasBidiControls` 缺席尤其不是「已确认干净」);`objective` 线上 `null` ⇒ 缺席;`input` 预览只认串(引擎已脱敏限长);每一位按自有数据位读(取值器不执行、读抛只丢那一位);没有 `sessionId` 的行丢并计入 `dropped`。`unavailable`:`unauthorized`(401 `auth.unauthorized` / 无码 401:引擎要凭据、没接受出示的这一份;身份类两码不算)· `unreadable`(回体没有数组形 `inbox`,**或数组长度读不出 / 不是非负整数** —— 不默认成 0、**不渲成空清单**)· `failed`(其余,带状态码 / 机读码;404 `not_found.route` 也在这一格:车道挂着却 404 是漏注册的真信号,不吞成「不报」)。`not-reported`:这一发自己答 501(车道没挂),或宿主没交 `assistant` 切片 / 切片读就抛(`unarmed`,一发都不打)⇒ **整臂不渲**,不画「0 条」。
10086
+ - **UP-2 让位结局**:`yield-requested` ≠ 已让位(run 在**下一个干净 turn 边界**挂起,可续跑);`not-eligible` = 什么都没动、run 照跑(验证 / 级联腿);`already-ended` 的终态词只在 `[a-z_]{1,32}` 词形时带;`already-parked` 的停驻词只认 `suspended` / `needs_review`(经 sdk 的 `extra` 袋读顶层 `status`;表外 / 读不出 ⇒ 不带词);`approval-settled`(让位与审批决定撞车,run 仍在跑);`not-found` 反枚举同串;`unconfirmed` 三因(传输断 / 5xx / 202 回体读不成形:`taskId` 不回显所问的、`status` 缺席 / 非串 / 空串 / 取值器)—— **至多一次,绝不重发**,处置是先看 run 现在的状态;`refused` 带状态与可上屏词形的机读码(含换行 / 转义序列 / 超长 ⇒ 码照在读数里、句子里省略);`no-run` 零请求。车道不可用 = 这一口自己答 501(`capability.checkpoint_store_required` / `capability.run_store_required` / `feature.preemption_disabled`,都在处理器动手之前)**或**客户端没有 `assistant` 切片:缺省回落 `cancel()`,返回 `cancelled-instead`(带 ack,**这是硬停、不可续跑**);`onUnavailable` 取任何非 `'cancel'` 的值(含拼错、读就抛)⇒ 不动 run,返回 `unavailable`。回落取消的是**入口捕获的那一只 run**(不是此刻的在飞 run:等答复期间新一轮 `submit` 换了在飞 run,迟到的 501 也不会硬停那个新任务);回落里 cancel 自己的失败原样抛(与单独调 cancel 逐字同)。车道判官不读能力位(能力位与 501 是同一只谓词铸的,两处各答一次就是两条读法)。
10087
+ - **UP-3 注册三动词**:签发 `ok` 的令牌必须是非空串(缺 / 取值器 / 只在原型链上 ⇒ `unreadable`,绝不当 `ok`),`ttlSec` 只认正整数、`expiresAt` 只认非空串;429 ∧ `limit.rate_exceeded` ⇒ `rate-limited`,等待秒数取 sdk 从 `Retry-After` 算好的毫秒数上取整,没给 / 读不出 ⇒ **缺席,不编数**;签发不改任何设备行,5xx 也只是没签到(落 `refused`,不落结局不明)。注册:体恰闭形六键(序固定;入参上的多余键、原型键不转发),令牌 / 公钥 / 平台 / 根不是非空串 ⇒ 本地拒(`refused` status 0,零请求,message 不含令牌);`ok` 的 `deviceId` 身份形判官由宿主经 `acceptDeviceId` 交进来(判官说不 / 抛 / 返回非 `true` ⇒ `unconfirmed/accepted-unreadable`,服务端可能真注册了);403 `device.enrollment_invalid` ⇒ `enrollment-invalid`(四因同形,**不分成因**);5xx / 无状态码 ⇒ `unconfirmed`(可能已生效,同令牌同公钥重放幂等);503 凭证闸 ⇒ `refused`(处理器一行没跑,不折结局不明);引擎返回的**每一个**字符串位(拒句 `message` / 机读码 `errorCode` / 错误类名 `detail` / 成功回体的 `deviceId`)只要含本次令牌,整位不进结局(`deviceId` 含令牌 ⇒ 不当 `ok`,按 `unconfirmed/accepted-unreadable`)。吊销:`ok` 必须回显同一个 deviceId ∧ `status === 'revoked'`(否则 `unconfirmed/accepted-unreadable`),404 `not_found.device` ⇒ `not-found`(反枚举同串),429 ⇒ `refused`(吊销没有限速桶),5xx ⇒ `unconfirmed`(二次吊销仍 200,重放安全)。**令牌只交宿主**:不进别的结局、不进呈现句、本模块零日志调用。`deviceIdentityMismatchOf`:机读码腿(自有数据位,不要求状态码)与正文前缀腿(`[device.identity_mismatch] ` 在句首)同答;`boundDeviceId` **只读结构化位**(顶层自有数据位或 sdk `extra` 袋),**绝不从散文里抠**,读不到就缺席;别的 `device.*` 码 / 前缀不在句首 / 取值器 / 已撤销代理 ⇒ `null`、不抛。`deviceRegistrationOutcomeLine(verb, outcome)`:`ok` ⇒ `undefined`(成功怎么渲是宿主的事);认不出的动词 / `kind` ⇒ `undefined`(不编句);机读码与 id 只在安全词形(字母数字与 `._:-`,≤ 64)时进句子。
10088
+ - **UP-4 续读位置**:`id` 优先(串 / 数值都认,空串 / `false` / 对象这类坏形 `id` **遮住**有效 `seq`,游标不记);`id` 缺席时数值有限的 `seq` 才是候选 —— **`task_progress`(子代代际号)· `task_notification`(停止周期批号)· `task_started`(同一代际号,服务端 7.127.0 起)的体 `seq` 是另一条轴,不是游标**(名册在包内,门 DQ6 对已装 sdk 与见证 sdk 的 `AgentEvent` 声明逐臂核对:凡声明了体 `seq` 的臂必须在名册里;`done` / `text_delta` / `tool_start` 这类合法游标事件的数值 `seq` 照旧);无任何位置键的帧(审批卡帧、完成帧等)⇒ `undefined`,沿用上一游标(契约 §0.6「无锚不发行」)。桌面端自算件与包读数不同的九形(门 DQ2 登记):数值 `id` 与数值 `id` 0(包认、桌面端不认)· `id` 为空串 / `false` / 对象时遮住有效 `seq`(包答 `undefined`,桌面端穿透读到 `seq`)· 串 `seq`(包认、桌面端不认)· 三种代际号事件(`task_progress` / `task_notification` / `task_started`)体里的 `seq`(无 `id` 时包答 `undefined`,桌面端答该数)。读位抛 ⇒ 原样抛(调用点在帧循环里,不吞)。
10089
+ - **UP-6 判拒与读数**:`hookMatcherVerdict`:整串当正则编不过(契约 `hookMatcherForm` 答 `invalid`;逐名求值答 `"invalid"` 同落)⇒ `refused / invalid_regex`(`reading` 恒 `pattern`,不带别名对);逐名求值**抛**(契约未成文的结局)⇒ `unjudged / pattern_unsupported`(不当选中也不当没选中);静态上界超预算 ⇒ `unjudged / over_budget`(**仍不判**:服务端判据是墙钟,夹具实读 `(?:.*)*Z` / `(?:L+)+Z` / `(.*)(.*)(.*)(.*)(.*)(.*)Z` / `(?:.|.|.){0,1000}Z` 服务端几毫秒受理而上界超预算 —— 升成判拒 = 对服务端会受理的 matcher 说「会被拒」)。`unjudged` 不是受理。`hookMatcherRefusalFromError`:`detail.reason` 缺席或 `dead_alias`(7.114.x – 7.125.x 的体没有 `reason`)⇒ 别名拒读数(自有 `event` / `alias` / `canonical` 都非空串);`invalid_regex` ⇒ `event` 非空串 ∧ `groupIndex` 非负整数;`over_budget` ⇒ 同上,`budgetMs` 只在正有限数时带;`reason` 在场而是别的词 / 非串 / 空串 ⇒ `undefined`(开集:未来新理由不猜,也不当别名拒读);`groupIndex` 缺 / 负 / 小数 / 串 / 取值器 ⇒ `undefined`。
10090
+ - **UP-7 兼容入口**:本版**不退**。到货判据(两条同时成立):① 终端生产代码不再调 `ledger.setConnected` 且不再读 `status().connected`、测试文件不再喂兼容入口 `ledger.applyFrame`(核法见 126d 命令);② 「流连着没有」归成一条读法 —— 现状是宿主报的 `connected` 与 ingress 代次 `liveStreamEpoch` 两读(`close()` 只退流模式、不替宿主改 `connected`),要先设计「连接态由谁定、`fresh` 位怎么读」,再退入口。🔁 本版改为硬退,设计答案见 RA-3(连接态由账本按当代 stream ingress 自判,`fresh` 读同一只判)。
10091
+ - **PK-1 出身词 / 匹配形 / 帧**:`askOriginNoteOf('plan_review')` ⇒ `undefined`(静默);`askOriginDetail('plan_review')` ⇒ 自己的一句(不是「比这一端新」;两张表键型取 core,装哪版 sdk 都一样);`persistedRuleMatchLabel('host' | 'subdomain')` ⇒ 各一句(本句表不读 sdk 运行期值,装哪版 sdk 都一样);`task_started` 帧 ⇒ `dropped / unsupported_arm`(每类型一行留痕,不铸转录行、不铸 chrome 臂)。
10092
+ - **PK-2 身份头**:`readMcpHttpIdentityHeaders(t)`:`principalHeader` / `assertionHeader` 各读一次;非空串 ⇒ 在场;两位都在场 ⇒ `both_set`(云配置腿记 `principal-and-assertion-header` 丢弃、本地腿 `mcpConfigToSpec` 答 `null`);否则带在场的那几位;stdio 声明两位都不读。读抛照抛(与两条腿读其余键同一姿势)。
10093
+ - **PK-3 披露**:spec 是 http 且 `assertionHeader` 是非空串 ⇒ 点名;读抛的条目跳过、不连坐;零个 ⇒ `undefined`(不是空串)。`cloudEffectiveNotices` 入参不带 `mcp` 位 ⇒ 不出这一句(不是「没有服务器声明它」的断言)。
10094
+ - **PK-4 数据副本**:写出的副本 = 写盘 JSON 形(`undefined` / 函数值的键不写,与写盘同);自有 `__proto__` 键仍是自有数据键;条目数组位、`roles` 整位、每个角色的首读各只一次,`model` 钉在首读那一次(不论读到什么);`droppedModels` 与文档出自同一次读。进程内对象读不出 / 写不成 JSON 形:单个角色 ⇒ 记 `unreadable` 不写;`roles` 整位 ⇒ 记 `roles · models · unreadable` 并出一句;单条模型条目 ⇒ 按拒收处置;**回体里有条目却一条都写不成 ⇒ 投影抛**(不交出会被当成合法空目录的文档)。JSON 回体上这些都不可达。
10095
+ - **PK-5 镜像地址**:`normalizeEngineBaseUrl` 过 ⇒ 它的 `url`;拒(带用户信息 / query·fragment / 非 http(s) / 解析不了)⇒ 原样的串 + `required` 照旧;缺席 / 空串 / 非串 ⇒ `null`。
10096
+ - **PK-7 / PK-8 退役键**:两把 10 一代键与在线目录 `default` 到达一律不读(不报坏形、不记问题账);整份 models 文档读抛仍记 unreadable(云投影)/ 产 unreadable 阻断(删除判定)。
10097
+ - **LF-1 读口 `readOwnDataNonEmptyString` / `readOwnDataFiniteNumber` / `guardedRead`**:入参非对象 / `null` / `undefined` ⇒ `undefined`;键缺席 / 只在原型链上 / 自有访问器(取值器**不执行**)/ 值类型不符(非串 · 非数)/ 空串(非空串口)/ `NaN` · `±Infinity`(有限数口)⇒ `undefined`;`0` 与 `-0` 是真值;数组按下标读自有数据位。读描述符本身会抛的(代理陷阱 / 已撤销代理)原样抛 —— 要把「读不出」收成缺席就用 `guardedRead(() => …)`(JSON 形入参永不抛);`guardedRead` 不抛时原值透传(`0` · `''` · `false` 照透)。
10098
+ - **LF-1 `wireFailureCoreOf(e)`(永不抛)**:`status` 读到**数**才在场(`typeof === 'number'`,`NaN` 也算数),否则键缺席;`errorCode` 读到**串**才在场(空串照样在场,「空串 = 无出处」归各判官),否则键缺席;`message` 恒在、永不空串 —— ① 抛出物自带的非空 `message` ② 抛出物本身是非空串 / 数 / 布尔 / bigint ⇒ 它的文本 ③ 其余(对象没带 `message`、空 Error、带类名而 `message` 为空的错误、`null` / `undefined`、取值器抛、已撤销的代理、转换钩子抛)⇒ `WIRE_FAILURE_UNRENDERABLE_TEXT`,**不退 `String(e)`**。各位独立受保护(一位的取值器抛不连坐别位);键序 `status` → `errorCode` → `message`;每次交新对象。与端上旧 `shapeOf` 的唯一差别:`message` 缺席 / 空串 / 非串时旧写法退 `String(e)`(`[object Object]` / 裸类名上屏)。
10099
+ - **LF-2 `readTaskNotificationXml(xml)`**:非串入参 / 空串 / 没有 `<task-notification …>…</task-notification>` 块(含只有 `<task-id>` 片段、块没有闭标签、`<task-notifications>` 一类同名前缀标签)⇒ `undefined`;有块 ⇒ 取**第一个**块:`taskId` / `status` 是块内各自第一对 `<task-id>` / `<status>` 的块体**反转义后非空**才在场(原字节,**不 `trim`**;块体没有闭标签 ⇒ 那一位缺席),块在场而两位都读不出 ⇒ 只有 `external: false`(**不跳到第二个块**);`external` = 开标签属性段含 `type="external"`(带词边界)。线性扫描,永不抛。与终端旧回读(整串取第一对,不限于块内)的三处差:`status` 不再 `trim`(core 铸的 status 是闭词表,不带首尾空白;批量口的去重键本来就是原字节);本口要求包着 `<task-id>` 的 `<task-notification>` 块在场(裸 `<task-id>` 片段 ⇒ `undefined`;入队载荷恒是 `renderTaskNotificationXml` 铸的整块);旧回读在前置空块之后的块里、或块外的 `<task-id>` / `<status>` 上读得到的值,本口读不到(只读第一个块之内,前置空块 ⇒ 只有 `external: false`)。
10100
+ - **LF-3 `contextUsageReadingOf(载荷)`**:载荷不是普通对象(含数组)/ 读不动 ⇒ `undefined`;三标量 `usedTokens` / `windowTokens` / `compactAtTokens` 各自 finite 门 —— 非有限 / 非数 / `null` / 缺席 ⇒ 键缺席(永不折 0;`0` 与负的有限数是真值);`sections` 逐行 `{id 非空串, tokens 有限数}` 必填门 —— 坏行(缺 `id` · 空 `id` · `tokens` 非有限 · 非对象行 · 数组行 · 行上的访问器 / 陷阱)逐条丢、好行留(`kind` 非空串才带;多余键不过境),全丢光 / 非数组 / 数组读不动 ⇒ `sections` 键缺席(不铸 `[]`),单次至多读 1024 行;四位都缺席 ⇒ `undefined`。只读自有数据位:自有访问器不执行、只在原型链上的位不算;键序 `usedTokens` → `windowTokens` → `compactAtTokens` → `sections`;每次交新对象(行不与入参共享引用)。🔴 `usedTokens > compactAtTokens` 是引擎自己喂 `shouldCompact` 的谓词,别重算;`windowTokens` 是 autocompact 窗,不是模型上下文大小;`sections[].tokens` 与 `usedTokens` 不同坐标系,**禁相减**、禁拿一段比 `compactAtTokens`;`sections` 整键缺席 = 这条腿没装配出段 IR,不是各段为零。子流帧(带 `parentToolCallId`)是不是顶层对话的帧由调用点判(chrome 臂与端旁观者都用 `isSubFlowSegmentEnd`),本口只管载荷本身。
10101
+ - **LF-3 chrome 臂**:行为变在直喂 `adapt()` 的毒行(修前原样进 chrome)与读法收紧(只读自有数据位);经投影口的帧读数不变。四位都缺席 ⇒ 零 chrome(与投影口 `empty_payload` 同);子流帧零 chrome(不变)。
10102
+ - **LF-4 `_sema_gate`**:present-iff `gateOutcomeOf` 读得出视图 —— 门没看见这次调用 / 延后重发 / 对账捡回的孤儿 / 记录过不了引擎的筛 / 处置读不出 ⇒ **整键缺席**(不铸 `null` / `{}`),缺席不带语义,**不许反推「放行过」**;`gate.parked` 形(无 `gate`、只有 `errorCode: "gate.parked"`)键缺席,由 `isGateParkedToolEnd` 读帧上的码回答。视图形与手搓臂的裸 wire 形得同一份(读器对视图幂等);手搓臂上多余的键 / 不成形段不过境。`settlement.who.approver`(通道自报的身份串)与 `settlement.note`(拒批人自写的话)是 **UNTRUSTED-for-display**:只渲染,不回喂模型 / 工具入参,不当鉴权判据(转录不是认证)。两出口(交互行 / `-p` 帧)同在同缺、同值;不在 `tool_result` block 里。手搓臂上的 `gate` 读就抛(自有访问器 / 已撤销代理)⇒ **只缺这一键**,工具结果行 / 帧与既有信封键(含 `_sema_denial_kind`)照出,不抛。旧转录没有此键 ⇒ 读旧转录得缺席(不回填)。
10103
+ - **LF-5 `planReviewOfferedModeOf(卡 | 帧 | questionId)`(永不抛)**:① 入参带选项标签(任一题的任一选项):含 `PLAN_REVIEW_APPROVE_AUTO_LABEL` / `PLAN_REVIEW_APPROVE_MANUAL_LABEL` 之一而没有老 Yes `PLAN_REVIEW_APPROVE_LABEL` ⇒ `three_choice`;含老 Yes 而没有那两个 ⇒ `two_choice`;自相矛盾(两类并存)/ 都没有 ⇒ 不当证据,往下看 `questionId`;② `questionId`:不是计划审阅卡(`plan-review:<taskId>` 族之外)/ 空 ⇒ `unknown`;**先查已呈档位台账的精确记录**(canonical 卡;`taskId` 里恰含 `#reopen-` 子串的 canonical 卡也有精确记录,按记录答);查不到再按构造规则推断 —— 重开身份(`#reopen-` 尾缀)⇒ `two_choice`(本包铸的重开卡恒两选),其余(别的进程呈的 / 被挤出 / 跨进程 resume)⇒ `unknown`;③ 入参读不出(已撤销代理 / 描述符陷阱)⇒ `unknown`,取值器不执行。🔴 `unknown` **不是** `two_choice`:读作答的宿主按保守读域处置(取老两选标签集,与 `planReviewChoiceFromAnswer` 缺省同,缺省不许替卡悄悄扩大批准的输入域)。台账:canonical 身份每次发布题面时记(首呈 / 重放重呈 / 重开口的 canonical 复用臂);重放重呈走在场卡原来的那一档(重放 arm 不升档不降档);卡被关或作答后再 arm 是新卡,按新的宿主声明 `submittedInPlanMode` 记;作答之后**不清**;有界 64,按插入序挤掉最早一笔(KL-765)。
10104
+ - **LF-6 `reopenPlanReviewCard`**:`presentationReceiptMs` 缺席 / 不是数(含 `NaN`)⇒ 不呈卡、不动在场卡、resolved `{ reopened: false }`(闭合方向);`0` 是合法的窗(不等回执);其余判决位(`_sema_noPresentationSurface` · `_sema_decisionInFlight` · `dismissedByUser` · `firstSight`)与 0.97.x 的回执形逐位同。同步形撞「用户关卡」记号即拒的那一支随之退役:自动触发撞记号一律走读门实例的异步判定(没有 `readGateInstanceKeys` ⇒ 证不出是新门 ⇒ 保守拒开,与旧同步形同判)。
10105
+ - **LF-7**:本版两只口与退役账行原样;缺席语义不涉及。🔁 本版改为硬退,以 RA-1 / RA-2 为准。
10106
+ - **CS-1 读者两态**(`connectorStatusOf({ name, mountFace })`;读数冻结、永不抛、入参每键恰读一次且只认自有键,一键读就抛只作废那一键对应的结论): ① `name` 不是非空串(缺席 / 空串 / 非串 / 读就抛 / 只在原型链上)⇒ `unknown` · `name_unreadable` —— **不是** `unmounted`(没查名就不断言)。 ② `mountFace` 不是 `face` 臂(`refused` 任一成因 —— 含 `face_absent`:这台没有这一面 —— / `unknown` 任一成因 / 非对象 / 读就抛),或 `face.servers` 不是一张读得完的名单(非数组 / 谎报长度 / 有行身份读不出)⇒ `unknown` · `mount_face_unreadable` —— **绝不** `unmounted`。 ③ 名单读完而名字不在上面(含 `servers: []`;按恰等匹配,不 trim、不折大小写)⇒ `reader` · `unmounted`。射程:这台部署缺省场景的 MCP 服务器名单(`GET /v1/capabilities/mcp` 的可见集),不是「任何一条 run 都挂不上」(请求级 MCP 注入 / 别的场景可以挂)。 ④ 同名两行及以上 ⇒ `unknown` · `ambiguous`(不挑)。 ⑤ 恰一行:活性格**缺席**(走查没拨到它 / 声明拨不出去;`skipped` 的行与 `invalid_config` 的行都是这一形)⇒ `unknown` · `unobserved`;活性格读不懂(畸形 / 投影器标读不出 / 三词之外的词 / 读就抛)⇒ `unknown` · `probe_face_unreadable`;活性 `unknown`(引擎试过、看不出:网关写的状态 / 非 MCP 载荷 —— 端点答 401 落在这里)⇒ `unknown` · `probe_undecided`;`unreachable` ⇒ `reader` · `unreachable`;`reachable` ⇒ `self_reported` · `state: 'unknown'`。 🔴 行上的 `status` / `errorCode` / `delivered` / `httpStatus` / `toolCount` 一个都不读:`failed` 里有服务器答了的失败(协议错 ⇒ 活性 `reachable`;401 ⇒ 活性 `unknown`),按 `failed` 判会铸一个假的 `unreachable`。 ⑥ 出处:`mountFace` 的 face 臂没有自有位 `declaredBy === 'deployment'`(缺席 / 只在原型链上 / 别的词 / 读就抛)⇒ `unknown` · `mount_face_unreadable`。`readMcpCapabilities` 的结局带这一位;`probeMcpServers` 的结局(调用方自带的申报,不是这台部署挂上的东西)不带,型上也交不进 `mountFace` —— 一张零申报探测的空面不会被读成「没挂上」。
10107
+ - **CS-2 句口**:`connectorStatusLine(reading, lang?)` 十句逐字互异;只有 `unmounted` 那一句说没挂上、只有 `unreachable` 那一句说够不着;坏读数(不是三臂之一 / 读就抛 / 撤销代理 / `self_reported` 带别的 `state`)⇒ 兜底句 `This client cannot tell this connector's status.`;`lang` 今天只有英文。
10108
+ - **CS-3 三态**:`self_reported` 只说「挂着且引擎够得着」;授权与否归连接器自己报,本包今天不读(三态位恒 `unknown`,不是 `authorized`)。
10109
+ - **TK-1**:`permissions.deny` / `.ask` 在场 iff 至少一条非空规则串;体上有它**不等于**服务端会收。报告口 `kept` 在 deny / ask 只可能是 `empty_rule` / `duplicate`;为空 = 每一条非空规则串都上了体(可能改写),**不是**「每一条都能编」。
10110
+ - **TK-2 / TK-3**:键缺席,不表示「没有这类规则」。
10111
+ - **TK-4**:`denyTools` 缺席 = 定义没写或只写了非串 / 空串;**`allowTools` 缺席 iff 定义没写 `tools`**(写了 ⇒ 恒在场,`[]` = 什么都不给,只出自用户写的空表或只写了空串 / 非串);deny 条目与定义里写的不同 ⇒ 只可能是名册在手时的退役名改写(`toolListFlaws` 那一行 `rewritten: true`,告警点名「rewritten to X」);`rewritten` 缺席 = 没改写(名册不在手 / 名册里有这个名 / 内容形 / 不是退役名)。🔁 同版支持底线抬到 7.129.1 后扣送与 `tools` 里问题条目的省略都已退(§126 RD-2 / RD-3):代理照送、条目原样;`isolation` 非 `"worktree"` 仍丢键(一行)。
10112
+ - **TK-6**:32 帽暂缓期间,投出的代理条数 = min(定义条数, 32)(去掉内置与同名重复),被截的按来源优先级取最低的那几只(一行点名);被截的若是覆盖内置名的定义,内置版顶上(KL-777)。四个帽常量(`MAX_AGENT_TOOLS` / `MAX_AGENT_TOOL_NAME_CHARS` / `MAX_AGENT_NAME_CHARS` / `MAX_AGENT_MAX_TURNS`)均已退出公面,不新增缺席分支:纯 JS 宿主按名去取得 `undefined`;超长名 / 超长清单条目 / 越界 `maxTurns` 本包不再丢弃或剪除,原样上体,由服务端 400 点名字段。
10113
+ - **TK-8 / TK-9**:① `_sema_turnFailure` 缺席 = 宿主没交呈现判决 ⇒ 渲染端只渲 `error` 文本,不按文案猜;② `headline` 缺席 = 这是 http 失败 ⇒ `error` 文本就是标题;③ `errorCode` 缺席 = 服务端没给机读码,不是「没有错误」;④ `category` 是渲染端这一版不认得的词(两端各钉包版本时可能出现)⇒ `readSeatTurnFailure` 回 `undefined`、按文本渲、不猜卡型、**不拒事件**;⑤ 非 turn 产出方(计划审阅失败 / 计划未生效 / 审批停驻中 / 流截断结局未知)仍铸 `errorCategory`、不带新键 —— 互斥只约束 turn 失败这一类产出方;两键同在 ⇒ 以新键为准;⑥ `waitSec` 缺席 = 服务端没给等待窗(不渲 0);`code` 缺席 = 没有状态码可报;⑦ 键在非 `error` 事件上 / 只在原型链上 / 是访问器 / 任一层是已撤销的代理 ⇒ 读口 `undefined`(取值器不执行、不抛);⑧ 键(或其下任一层)是**访问器**时,座位通用访问器围栏照旧拒整条事件(与 `message` 等一切键同律:结构化克隆会执行取值器)—— 门对这一键**数据形**的坏形一律放行,宿主经 `seatTurnFailureOf` 铸的恒是纯数据。
10114
+ - **TK-10 / TK-11**:`assemblyRefusalOf(x)` 回 `undefined` = 这不是包拒装(可能是别的失败,宿主按自己的处置),**不是**「可以照发」的证据;`code` 对上而 `detail.cause` 缺席 / 坏形 / 是表外词 ⇒ 仍是拒装(读口回 `{ code, cause: 'unknown' }`),宿主照「不提交」处置。
10115
+ - **TK-12**:就绪门回 `{ ok: true }` = 本代有结论(含「没有自定义代理」与「引擎不收代理」两种,后者照旧一次性告警);`ok: false` 的 `refusal.detail.cause` 两词;mock / 未 prepare 的车道回 `{ ok: true }`(没有可等的东西)。只 `await` 不读回值 = 行为上仍放行。
10116
+ - **HM-1 连坐位**:身份在场 ⇒ 主角 = 身份,其余扣留帧带位(值恒 `true`)—— 但子代车道的帧(`parentToolCallId` 非空)与收口帧上 `gatedCallId` 指向别的调用的帧不带(它们可能是另一张门的主角);身份缺席(服务端 checkpoint 读失败放行 / 不挂工具的停驻:键缺席是现役形)⇒ 本批唯一同族调用的推断臂,判不出 ⇒ 整批不标;一批里两张真停驻 ⇒ 整批不标。**缺席不是「是主角」的断言**:不带位 = 主角或判不出。
10117
+ - **HM-2 回退**:专属五码 ⇒ 去掉 remember 重发恰一次纯批准并告知「没记住」;其余(含无码 400、码读不出)⇒ 不回退,结局 `failed`(机读码照常透传)。
10118
+ - **HM-3 重开**:`mintFreshQuestionId` 缺席 / `true` ⇒ 铸新身份臂(注入三位在这一臂生效);`false` ⇒ 复用同 id 臂(responder 不在 ⇒ 落铸新臂);`false` + 任一注入位 ⇒ `{ reopened: false }`,零帧、error 留痕。
10119
+ - **HM-4 跟踪器**:`frame` 缺席 ⇒ 坏形,出一次盲卡;同一只 ask 之后带上 `frame` ⇒ 不报任何臂(端想刷新入参,等它从列表消失再出现)。
10120
+ - **HM-5 子代判别**:`fromSubagent` 严格 `true` ⇒ 子代;缺席 / `false` / 串 / 数 ⇒ 非子代,不论 `sourceTaskId` 在不在。
10121
+ - **HM-6 pending 段**:不是数组 / 非空却一行都读不出 / 读就抛 ⇒ 「不知道」+ 逃逸;部分行读不出 ⇒ 提交 + `pendingDropped`(读得出的行是真的,缺的那几行不许被当成「没有」),且这一眼不算「完整读过」—— push 模式下照旧退避重取到读完整为止。
10122
+ - **HM-7 入参快照**:非 gated 调用在飞窗内有、收口即无、超容量淘汰最早的非 gated;gated 调用整个 turn 有(首见那一份)。
10123
+ - **HM-9 压制集**:不在集合 ⇒ 描述原样(经展示规整)显示。
10124
+ - **HM-10 证据**:`unreadable` 缺席 ⇒ 视图里缺席的座都是「原本没有」;表外座名 / 非数组 ⇒ 当没有(读器照常按视图判)。
10125
+ - **HM-11 文字读法**:读不出 ⇒ 内容账本 `undefined`、展平口 `''`(同一事实的两种缺席折法)。
10126
+ - **HM-R1 结局**:三臂恰一(`kind`);`lane` 恒在(join 拿到的是持有者的车道;引擎收口而本进程没开卡的那一形是 `respond`;宿主持有者放手 / 本路走开的合成形是问路者自己的车道,宿主口记 `decide`);`gatedCallId` 在场 = 行给出了被门住调用(耐久 / 问答车道;取件没给出行 ⇒ 缺席;活卡车道缺席 = 身份在帧的 `approvalId` 上,**不是**「没有身份」);`joinedInFlight` present-iff join 的那一路。`decided.decision` 闭集、零 `'unresolved'`;`decided.deny`(`ApprovalDenyFacts`)present-iff 拒且至少一位:`settledBy`(卡报的谁拒的,表外词 / 没报 ⇒ 缺席 = 不知道,不是 `human`)/ `reason`(非空白才带,UNTRUSTED-for-display)/ `attributionKey`(`dropped` 去键重发落定 / `renamed` 换名重发落定;首发就落定 ⇒ 缺席);`receipt` / `ack` 缺席 = 未知;`answered` present-iff 问答车道带答案的放行。`not_sent.safetyCode` present-iff `safety_stop`;`not_sent.detail` / `unsettled.detail` 是本包铸的诊断句(活卡车道不铸)。`unsettled.parking` present-iff `parking_in_progress`。
10127
+ - **HM-R2 读数**:`refusal` 缺席 = 没有原抛出物(本地合成的中断 / 编排 / 停驻中 / 停驻体读不出);任何被抛出的值都算原抛出物(含 `null` / 空串 / 读位会抛的对象:读不出的位各自缺席,`refusal.ask` 恒在);`refusal.status` 缺席 = 没应答或原物本无(传输层失败 / 码被剥掉的重建形 / 注入面自抛),**不**反推 0、**不**按 `safetyCode` 补造;包装带 `cause` ⇒ 读 `cause`,不带 ⇒ 本地安全停;读 `cause` 抛 ⇒ 当没有(本地闭集码照用);`refusal.standing` 缺席 = 状态码读不出 ⇒ `classifyDecisionRefusal(r)` 答 `undefined`(`not_sent` 与无 `refusal` 的 `unsettled` 同答 `undefined`);每一位按键隔离读,一位读不出只丢它自己;`ask` 恒在(读不出 ⇒ `unreadable`)。
10128
+ - **HM-R3 cause**:只按铸点存好的读数投:`standing` 是 `refused-pending` / `settled-elsewhere` ⇒ `engine_refused`;`ambiguous` ⇒ `engine_error`;缺席 ⇒ `no_answer`(重试耗尽另落 `transport_exhausted`)。
10129
+ - **HM-R4 句子**:拼不出 ⇒ `undefined`(不编一句、不复述决断词、不摘 ack);`safety_stop` 句尾接 ` (<safetyCode>)`。
10130
+ - **HM-R5 送达判点**:路由上下文缺席 / 表外词 / 读不出 ⇒ 不用任何路由专属证据(只按状态码判);先验证据表的每一项写明覆盖路由与证据坐标,表外路由照状态码判;问答决定口不在 `corrupt` 一项的覆盖面里(那一口不发 `corrupt`)。手动压缩 `failed{status, unconfirmed: true}` = 引擎答了 5xx、说不准这一发生没生效(不是「没压」)。
10131
+ - **HM-R6 门已走**:`resume.preflight_rejected` 体上的机读结算位(`detail.settledBy` / `detail.rowStatus`)在场即按位读;引擎 7.53.0 到货之前两位缺席 ⇒ 按 `retriable` 严格非 `true` 反推永久形(今天服务端续跑腿不接续跑预检,这一码在服务端不可达 ⇒ 永久形今天不可达,按引擎铸点读);`retriable: true` ⇒ 照旧「稍后再试」。
10132
+ - **HM-T1 行终态**:终态行缺席 = 停驻中,或本实例说不出(新实例 / 被挤出 / 无见证 / 读回 / 按 `{role, content}` 重造),**不是**「在跑 / 失败 / 没跑」;停驻被取消 / 过期后引擎不再为被扣调用发帧 ⇒ 那一行永远无终态(诚实缺席),结局一行说取消 / 过期。判官读不出(无 `gatedCallId` / 访问器 / 代理陷阱)⇒ 按修前铸。`tool_parked` 每只被扣调用恰一枚;缺席 = 不是被扣调用(或带本包拒绝戳);`rowUuid` 缺席 = 开卡时没记下(宿主按 `toolUseId` 找最近那一行)。
10133
+ - **HM-T2 认领**:登记缺席 ⇒ 无可认领;`continuesPark` 缺席 / 坏形 / 读就抛 ⇒ 不认领(只剩同一次投影的桥拼续跑);停驻终帧被宿主截掉(没进 `runStream`)⇒ 登记项缺 `checkpointId` / 停驻 run,不作护栏(见证照旧必须);被扣行之后本实例铸过同 id 的新开始行 ⇒ 那条登记不再被认领(比「仍未配对」更保守:被遮住就不认)。
10134
+ - **SC-1 `_sema_replay`**:在场恒 `true`。来源 = 该终局帧上服务端的重放位(帧位 `done.replay`,或终局体自带的体位 `result.replay`;两来源各自只认严格 `true`,帧位只认自有数据位,一个读不出不连坐另一个)。缺席 = 本包没有重放证据 —— 真跑的 live 腿、本包看不到腿种的路径(宿主直调结果帧投影 / 读盘合成终帧 / 续读 run 账本)、同步提交腿的在飞合流三者不可分,**不得**读成「这次真跑出来的」;`failed` 事件帧恒缺席;续读 / 接管 / 断线后从 run 账本重投的行永不带本键。**射程**:键不参与 `uuid`;同一 run 的结果帧之间 `uuid` 相同,但重放回答行(由结果帧派生)与首答回答行(由增量段派生)`uuid` 不同(KL-783)。**恢复**:重放位不在 run 账本里 —— 从账本重投恢复不出;只用 `{role, content}` 重造的行没有它;只有整行信封落盘才留得住。
10135
+ - **SC-2 `result_replayed` / `isReplayMarked`**:每个带 `_sema_replay` 的结果帧恰一条,在适配器终局臂的全部产出之后;零行(空正文成功、停驻)、一行、多行都一样。`text` 只说「这次没有新跑:幂等键命中了更早的一次提交」—— 帧位能证的只有这一件(服务端建行时撞上别副本已落的行,`result` 可以是**本次**请求的拒绝);结局由已有的行与结果帧说。**必接**:零转录行的重放终局里它是这一轮唯一的可渲染产出,宿主不接 = 整轮无提示;宿主按 `CHROME_ARMS` 自检必接臂时会把它报成缺口。适配器被中断时不发。没收到它 ≠「这次真跑」。`isReplayMarked`:只读顶层自有数据位严格 `true`;非普通对象 / 数组 / 访问器(不执行)/ 原型链 / 代理抛 ⇒ `false`;永不抛;`false` 不是「真跑」。
10136
+ - **SC-3**:`readRunTerminal` 对重放体的读法不变,只是读数上不再有 `replay`。
10137
+ - **SC-4**:`SubmitStreamReading.replay` 与 SC-1 同一读法:`false` 照旧不证明「是新 run」;帧位是自有访问器 ⇒ 不执行、当没有。
10138
+ - **SC-5 四键**:各自 present-iff 严格 `true`,来源 = 收卡那一只内部臂:连坐 = 臂上本包问答桥盖的位;开始前被中断 = 臂 `errorCode` 恰为 `interrupted_never_started`(`interrupted_outcome_unknown` 不算 —— 那一员的副作用可能已发生);两只窗 = 臂门记录结算词。缺席 = 包没有这件事的证据,不是反面:连坐键缺席 ≠ 是被门停驻的那一只(宿主没跑本包问答桥时恒缺席,KL-782);开始前被中断缺席 ≠ 跑过了;走停驻路径的窗到期(臂上无门记录、码 `gate.parked`)不铸窗键。收扫关的卡(没有收卡臂)四键恒缺席。键在信封、不在 `tool_result` 块。**恢复**:整行信封落盘读回 ⇒ 四键原样;从 run 账本经本包管线重投 ⇒ 开始前被中断与两只窗照铸,连坐键取决于重投时有没有本包问答桥;只用 `{role, content}` 重造的行四键全缺 —— 这样的行不是「恢复了的行」。
10139
+ - **SC-6**:每位只读行顶层自有数据位严格 `true`;非普通对象 / 访问器(不执行)/ 原型链 / 代理抛 ⇒ 那一位 `false`,逐位隔离;永不抛;每次交新冻结对象。`false` 不是反面。
10140
+ - **SC-7**:元组 = 本包在交互转录 `user` / `assistant` 行与 `-p` 工具结果帧顶层会铸 / 抄的全部 `_sema_` 键;不含结果帧(`type: 'result'`)键与 `system` 行键。本包加行键必同批加入本表。
10141
+ - **SC-8 `deadline`**:恒在(墙钟毫秒)。`retryAtMs` 缺席 / 非有限数 / 与本机现算值相差 > 5 s ⇒ 本机现算值(与修前同);否则 = `retryAtMs`。`retryAtMs` 自身缺席语义不变(没给就整键缺席)。
10142
+ - **SC-9**:幽灵 404 只认读得出的数 404(`status`,缺席退 `statusCode`);访问器 / 读抛 / 串形 `"404"` ⇒ 不是 404(按「没答上来」)。坏因由座 + park 词 ⇒ `paused`,门 / checkpointId 缺席(因由读不出就不编门);坏因由座且无 park 词 ⇒ 照旧 `unknown`。
10143
+ - **SC-10**:两位在 `ModelUsage` 行上恒为 `true`(usage 面没有这两个数);绝不铸 `false`。窗口大小去模型目录取,别等 usage 面补上。
10144
+ - **SC-11**:`errorCode` 是串 ⇒ 按它分五形 / 开集;不是串 ⇒ `unknown_conflict`(不再读 `message`)。
10145
+ - **SC-12**:① 工具结果块正文恒为串或块数组(TaskOutput 臂 0.96.0 起交模型面原文串,对象只在 `tool_use_result` 侧车)—— 已收,门在案;② 会话释放判据的「状态词推断」一路不是老引擎专用路:支持范围内服务端终局不清 `heldBy`(恒非空),状态词是释放的唯一证据;③ 三条已删的已知限制的承接:KL-30(段边界跨工具卡消息界)与 KL-72(帧类型位自带一只控制符消毒)各自的收口(每个引擎段各自一条 committed 消息 / 改走展示出口单源)本版未做,KL-50(Bash 失败判定两份实现)由 0.95.0 的单叶退出码读法收口。
10146
+ - **SC-13 `pendingGateKind`**:在场 = 本结局的状态与门出自同一份 409(未复证):那份 409 指名了一道待决的门(值 = 门种;`null` = 门在场但门种说不出)。缺席 = 没有门,或状态是本包自己读来的新鲜读数(一级分诊自读 / 陈旧 park 臂 / 存活对账腿 / 开枪前复证)—— 那一刻的门不能当现状。行在缺席时按状态词说话:park 词 ⇒「停在一道决定上、不会自己结束」(泛称,不编门种、不给决断入口);running 或表外词 ⇒「在跑」。手搓的 `not-parked` 结局不带这一位 ⇒ 行不读信号上的门。
10147
+ - **SC-14 `ask-run-settled`**:`status` = 复证读回的终态原词(`completed` / `failed` / `blocked` / 历史 `timeout`)。表外词不进本结局(仍 `ask-reopen-failed`,不替引擎断言终结)。不证「锁已落地」:不自动重发。
10148
+ - **SC-15**:开枪前复证读不出(传输失败 / 奇形记录 / 截止)或用户已中止 ⇒ 零动作(`not-parked`,不带门事实),绝不按「读不到 = 可以打」处置;仍 `running` 才进既有的 cancel + 释放确认腿。
10149
+ - **PL-1 最终用量(屏上的数)**:同一会话同一代再来的终态行补来的计数 / 最终性照交(终态不重复);记录被整条淘汰后投影仍在报它 ⇒ 重新成行。到了 = 本代该计数收到过终态载体(差分带 `final`);没到 = 已 `terminal` 而该计数还没有终态载体 —— 屏上是「至少」,之后到了照交(修前丢);说不出 = 有 `cycleSeq` 的子代上只在 tick 上出现过的计数(tick 不带代际,不归属、不交)、终态载体上该键缺席、或记录已被有界淘汰 —— 不编,消费端读法与「没到」相同。**缺席不覆盖在场,绝不补 0**;同一代内只取更大的值(不回退)。
10150
+ - **PL-1 身份**:一帧属哪只子代只看两把强轴(行 id 尾段 / 子运行 id = tick 的 `taskId` = 转录锚)。只带委派卡、不带转录锚的行帧 = 它自己的一只(身份说不清时如实两行,KL-784);两条尾段自称同一个转录锚 = 引擎说是两只 ⇒ 不合并,转录锚留在第一次绑定它的那一只上,另一条也不借那一只的任何事实(跑过 / 结过 / 关卡豁免);宿主自带任务 id 的两类子代(KL-786)⇒ 两行,不经卡猜。两行被证实是同一只时先对齐代际:幸存者那一行是前代、并进来的那一行是当代 ⇒ 幸存者的键上复活成当代那一行(`upsert{revived}` 带当代的结局与用量);有 `cycleSeq` 的子代不并进只来自 tick 的用量。无 `cycleSeq` 的子代上被换掉的会话迟到的行帧整条丢(不发事实、不换代)。
10151
+ - **PL-1 首见终态行**:本进程为这只子代递达过任何东西(在跑过 / 结过 / 消费端见过,按尾段或转录锚解析)⇒ 不是历史行,照发进那条记录;解析不到但这张委派卡本进程见过 ⇒ 照发成**它自己的一行**(卡只回答「是不是本进程的事」);都不是 ⇒ 缓住,只有解析到同一条记录的终态事实放它(终态可证更旧 ⇒ 留着,可证更新 ⇒ 作废)。这只子代本代绑在本 turn 开着的委派卡上(同步委派)⇒ 投影看到的终态行只交用量与最终性,**终态归关卡腿**(只有它带得出最终报告;关卡腿没来 ⇒ turn 末 `sweep` 收)。记录被有界淘汰掉一只还在跑的之后,首见终态行一律照发(保守,直到整表重置)。
10152
+ - **PL-2 `usage_delta.final`**:键在 = 该计数来自终态载体;键缺席 = 不是终态载体 / 该键不在终态载体上;从不铸 `false`;整位缺席 = 这一条差分不涉最终性。在场时是**本代全部**已最终的键(本代内只增不减,`revived` 清空);数值不变而最终性变了,出一条只带 `final` 的 `usage_delta` —— 别读成「数值清零」。终态载体上的值低于屏上已有值时保留屏上的值、该键不置最终。
10153
+ - **PL-2 `remove.supersededBy`**:在场 = 这一行与那一行被证实是同一只子代,已并进那一行 —— 把挂在本键上的附属账(详情页选中态、按键记的锚)移到那一行;缺席 = 有界淘汰(同 KL-660)。旧事件口上合并不发任何东西:败者键此后不再收事实。
10154
+ - **PL-2 入参 `fleet-row.final`**:`true` = 发布方说这一帧上的该计数是终态值;缺席 / 非 `true` = 没说(不当终态)。直接发布行帧的宿主不带它,行为与修前同(只是不出最终性)。
10155
+ - **PL-3 `resolveEnginePanelTaskId`**:这把 id 落到的记录有行 id 尾段 ⇒ 答尾段、`origin: 'fleet-row'`,周期位取把它与尾段绑在一起的那条行帧的(那条行帧没带 ⇒ 缺席);否则原样、`origin: 'wire'`、周期位缺席。
10156
+ - **GR-1 `present.grammar`**:在场 = 记录上自有数据位的安全非负整数,原样(不判「比引擎新」—— 那由引擎答 `400 rules.invalid_shape`,`field: "grammar"`)。**缺席 = 存量无戳行**(引擎按旧文法读;服务端 < 7.129.0 上每一行都缺席;没有记录的会话答的 rev 0 空种子也缺席)—— **不是 0 也不是 1**,本包不补。原型链上的同名键不算在场。戳不在 `rules` 里(`rules` 只装桶)。
10157
+ - **GR-2 `refused.entries`**:本包先拒时 = 本行要带回去的每一条括号形 `toolAllow` 条目(去重、记录序,`rule` 是记录原字节);引擎拒时 = 拒体点名的那一条,拒体读不出桶或条目 ⇒ `[]`(不编)。「括号形」= 按引擎规则文法取出的名字 ≠ 条目本身(首尾带空白的不算);它比引擎在旧文法里读成空的集合宽一点 —— 括号形但在任何文法里都读成空的条目(如 `Monitor(x)`)也点名,那一形引擎在任何文法里都拒写,多点名不挡引擎本会受理的写(门 G-GR14 在 7.129.1 真引擎上钉)。**射程**:只看本行原有的条目;调用方这一次新送来的括号形 allow 条目按当前文法写、不算存量(没有记录的会话照写;方向由引擎按身份判)。终端只往会话规则记录里写 `toolDeny`、从不写 `toolAllow`(本包的可送判定只出 `toolDeny` 一只桶),所以无戳括号形 allow 行只可能来自别的运维身份写者。
10158
+ - **GR-2 回写体**:读回有戳 ⇒ 体里 `grammar` = 读回的值;无戳 ⇒ 体里不带 `grammar`、也不带 `rev`(并发键仍走 `expectedRev`,与修前同)。🔴 **上游预告「写者必须声明文法」(core #1810,7.53.0)到货后**:体里不带 `grammar` 的写会被引擎拒(`grammar_required`,码名候上游铸点)—— 本包**不替引擎推断戳**、不补戳重试,拒因原样交回(今天的落点:`rules.` 族码 ⇒ `unknown` / `write_refused`,裸码 400 ⇒ `unknown` / `request_rejected`,引擎原句在 `message`;门 G-GR15 按两种候选形钉)。那时无戳纯形行与空种子上的收紧都写不进,出路由引擎给。
10159
+ - **GR-2 回执对账**:送出去带戳 ⇒ 回执必须带戳且不比送出的旧;回执丢戳 / 戳退回旧代(不认戳的服务端混跑或回滚)⇒ 落下的行换了读法,收紧答 `unknown` / `write_receipt_mismatch`、撤销答 `write_unconfirmed` / `write_receipt_mismatch`(「可能已经生效,先重读」),不答 `written` / `removed`。回执戳比送出的新(引擎判过每一条再盖当前文法)、或送出去本就不带戳 ⇒ 不算失配。
10160
+ - **GR-3**:`field` 只认 `toolAllow`(这一理由词只出在 allow 桶)、`entry` 只认非空串;读不出 / 越界 ⇒ 键缺席。理由词只从体源槽读(sdk 收在 `extra` 的体键),不读抛出物顶层。同码同词配 5xx / 无状态 ⇒ `no-verdict`(「什么都没写」只许引擎答的 4xx 说)。
10161
+ - **GR-4**:`grammar_stamp` 只在戳**在场**时出现;戳缺席不是读不懂(是 GR-1 的缺席)。
10162
+ - **RE-1 `boundGrantAbsence`**:缺席 = `unreadable`(闭合失败)—— 支持底线 7.129.1 起受支持服务端都在引擎铸的卡上盖这一位(与摘要恰一),缺席只会是坏载体;v1 呈卡帧的卡契约两样都不带 ⇒ 真 v1 卡恒 `unreadable`(本地整工具一行在 v1 卡上本来就因没有卡词不给,理由词改为 `grant_binding`)。`unreadable` / 表外词 / 大小写变体 / 非串 / 访问器 / 只在原型链上 / 读就抛 ⇒ 同 `unreadable`。摘要键在场(含只在原型链上)而不是自有数据位上的非空串 ⇒ `unreadable`(服务端对空串摘要答 `bound`:本包更严,两者都不给本地整工具一行)。放宽方向的 `none` 另要两种读法同答:自有数据位读到 `not_bindable`,普通取值(服务端那一读)也读到它、且读不到摘要;代理 / 取值器上两读说两样 ⇒ `unreadable`。这一位本身不上卡,只折进 `grantBinding`;`grantBinding` 由本包铸卡时恒盖,端自拼的卡缺这一位 ⇒ 判官按读不出处置(不变)。
10163
+ - **RE-2 问类**:按服务端筛问类的那一读看(普通取值 `askClass` / `classes`;`classes` 按下标与按迭代两种读,服务端按迭代建集合)。看不到名单类 ⇒ 只按引擎词,工具名不参与(技能工具 + `not_bindable` ⇒ `none`:引擎在这一跑没有可激活的技能时这么铸,服务端同答);`classes` 缺席 / 不是数组 ⇒ 服务端读不成问类,同此。看得到(或成员超过 64 员 / 迭代不收)⇒ 另要工具名是自有非空串、普通取值读到同一个名字、且不是引擎技能工具,两者都成立才 `none`。
10164
+ - **TX-1**:无运行期缺席面 —— 判活读 `probeHealth(baseUrl)` 的回值:`alive: true` ⇔ HTTP 2xx 且体是 `{"status":"ok", …}`;`alive: false` 的 `reason` 四值:`http`(非 2xx)/ `not_ok`(2xx 而体读不出或不是 `status:"ok"` —— 端口上不是我们的引擎)/ `timeout` / `network`(后两者 = 说不出,不等于死)。「自报 degraded 但可用」不是存活态:要问「能不能接活」读就绪(`/readyz`,或 `/health` 的 `ready` / `reasons`)。
10165
+ - **TX-2**:`translate(lang, key, params?, ledger?)`:`lang` 表外(含非串)⇒ 按英文出句,台账记固定条目 `lang:?`(不回显外来值);键在目标语缺 ⇒ 回落英文并记账;两表都没有(只可能是宿主的运行期键)⇒ **空串**并记账 —— 绝不把键名打上屏;原型链上的名(`toString` / `constructor` / `__proto__` / `hasOwnProperty`)按缺键;缺参 ⇒ 保留 `{name}` 记号并记 `key#name`;参数是访问器 ⇒ 不执行、按缺参;宿主传进来的台账自己抛错 / 不是台账 ⇒ 这一笔记账丢掉、出句不变。永不抛。
10166
+ - **TX-3**:`renderMessage(ref, lang?, ledger?)`:`lang` 缺省 = 英文(数据面);不是 `msg()` 铸出的 ref ⇒ 空串并记 `ref:?`;参数值只认串 / 数(`String()`,不做本地数字整形)/ `msg()` 铸出的 ref(按外层同一语出句),别的值(含手拼的 `{ key }` 对象)⇒ 按缺参。ref 认的是一位不可枚举的全局登记符号记号,同一进程装了两份本包时互认;带记号的伪造对象只读自有数据位、成环时最多展开 8 层,再深一层按缺参。
10167
+ - **TX-4**:`saved` 不是 `en` / `zh`(含非串、访问器、读就抛)⇒ 按没保存过(不当第三种语言)。`hostTags` 缺席 / 不是数组 / 读不动 ⇒ 无宿主标签;空串与非串项跳过;第一个非空串(含 `C` / `POSIX` / 只有空白)定终 ⇒ `pickUiLanguage`(语言子标签是 `zh` ⇒ 中文,其余英文);只读前 64 项。都没有 ⇒ `{ language: 'en', source: 'default' }` —— 呈现读目录键 `config.language.sourceDefault` / `onboard.language.sourceDefault`,不借「按系统语言推断」那一句。
10168
+ - **TX-5**:`word` 缺席 / 空 / 只有空白 / `inherit`(大小写不敏感)⇒ `inherit`,不带 `model`、不带 `label`。目录:`liveCatalog` 在场即只认它(读不动 ⇒ 目录未知,不拿池顶替);缺席时只有带断言词 `engine: 'started-by-this-process'` 的 `local.pool` 算目录;都没有 ⇒ 目录未知 ⇒ 词表外的词 `catalog-unknown`、原样交。档位表:只认带断言词的 `local.tiers`,三态 —— 显式 `undefined` / `null`、空表、全是空串绑定 = 已知惰性;`tiers` 键不在、是访问器(不执行)/ 读就抛、不是普通对象 / 是数组、某一位绑定读不出或不是串 = 读不出(整张表按未知,不跳过那一位去降档);键照引擎读法取全部自有可枚举键(JSON 里的 `__proto__` 与下标形键也是自定义档名)。**预览与预判要档位表和目录都已知**(没有目录就不知道目录键会不会遮蔽同名档位词、也核不了绑定名):两样都已知且落不了点 ⇒ `unbound` + 成因(不带 `model`);缺一样 ⇒ 档位类词交原词、`landing` 缺席、不出 `unbound`(引擎认不得 ⇒ 提交 400,响亮)。`landing` present-iff 档位表与目录都已知且落得了点;`problem` present-iff `kind === 'unbound'`;`label` 在 `inherit` / `ambiguous` 缺席。入参按不可信读:取值器不执行、读就抛按缺席;永不抛。
10169
+ - **TX-6**:`kind` 是 `unbound`(三因)或 `ambiguous` ⇒ 一句;其余 ⇒ `undefined`。`lang` 缺省 / 表外 ⇒ 英文。用户写的词经展示出口引成带双引号的一段(换行 / 控制符标出、引号转义),读不出 ⇒ `""`。
10170
+ - **RT-1 判词位**:`providerCondition` 是 `overloaded` / `throttled` / `quota_exhausted` / `stop_other` ⇒ 各一句(🔴 重试语气与次数由帧自己的相定,不由判词定:引擎允许应答头 `x-should-retry` 覆盖判词的默认可重试性,而重试帧照带判词,判词为 `quota_exhausted` / `stop_other` 的应答可以照样重试 —— 所以非终态帧一律带 `retrying` / `will retry` 与次数;`stop_other` 的「resending will not change it」只在终态句里说);`unknown`、表外词(含大小写变体 · 带空白 · 原型链键名)、空串、非串、缺席 ⇒ **同一读法**:不编原因 —— 句子里不出现 `model service` · `quota` · `overloaded` · `rate limit` 字样,只渲状态码与次数,词不回显。`providerConditionSource` / `errClass` 原词不进句子。词表唯一真源是引擎的 `PROVIDER_CONDITIONS`(句表的键锁在它的类型上),本包不另立判词表。
10171
+ - **RT-1 状态码**:`errorStatus` 是 100 – 999 的整数才渲 `(HTTP n)`;缺席 · 0 · 负数 · 小数 · 数字串 · NaN ⇒ 不渲(不渲 0、不渲 `unknown`),`recourse` 也不据它给。无判词时状态码 5xx / 429 ⇒ `switch_model`(模型服务自身的事),其余状态码(非终态)⇒ `wait`(退避倒计时,不是服务侧的事;终态 ⇒ 缺席);有判词时判词压过状态码。
10172
+ - **RT-1 次数**:`attempt` / `maxRetries` 各自是整数且 ≥ 1 才认(0 · 负数 · 小数 · 串 ⇒ 按缺席);同在 ⇒ `attempt n of m`,只 `attempt` ⇒ `attempt n`,只 `maxRetries` ⇒ `up to m retries`,都缺席 ⇒ 不渲。终态句只用 `attempt`(`after n attempts`),不渲 `maxRetries`。
10173
+ - **RT-1 等首 token(`waiting` 臂)**:方向不是错误 —— 句子零 error · retry · fail · HTTP · attempt 字样,本臂上的错误位(`errorStatus` / `providerCondition` / `attempt` / `error.formatted`)即使被塞进来也不读。`elapsedMs` 是非负有限数 ⇒ `<秒> so far`,`timeoutMs` 是正有限数 ⇒ `limit <秒>`,缺席 · 负数 · NaN · Infinity · 超安全整数 ⇒ 对应段不渲(不渲 0)。已等 ≥ 天花板的一半(阈值是包内常量)∧ 两位都在 ∧ 壳交了模型名 ⇒ 句尾 `; keep waiting or switch model`、`recourse` = `switch_model`,否则 `wait`。已等大于天花板(快照竞态)时两个量并排照写,不拼成「32s of 30s」。
10174
+ - **RT-1 终态与恢复**:`error` 臂带 `terminal` ⇒ `Stopped[ after n attempts][: <判词句>[, and resending will not change it]][ (HTTP n)]`(括号里那一半只有 `stop_other` 有),不接倒计时,`phase` = `gave_up`;**首句不写「Gave up」也不写「Stopped retrying」** —— 引擎的 `gave_up` 相同时盖住重试用尽 · 重试中被取消 · 等首 token 失败 · 等首 token 时被取消四种(后两种压根没重试过),唯一分得开它们的是引擎那句 detail(散文,不许按词分支),所以首句只说四者都成立的事。终态上 `recourse` 只据判词 / 状态码给,无判词无码 ⇒ 缺席(没有下一次了,不给 `wait`)。入参 `null`(投影的清行结果;🔁 FX-6:不只引擎直报恢复,turn 开场 / 中止收尾也铸它)⇒ `line` 空串、`phase` = `cleared`、无 `recourse`、不带模型名前缀。
10175
+ - **RT-1 模型名 / 引擎 detail**:`ctx.modelName` 是非空串(过展示出口、去首尾空白后仍非空)⇒ 句首 `<model>: `;缺席 · 空白 · 非串 · `ctx` 不是对象 ⇒ 不带前缀、不编名(模型名是壳态,包不读)。引擎的中性 detail(`stalled.detail` / `error.formatted`,服务端已脱敏)过展示出口后原样作第二句,以 ` · ` 接在首句后;缺席 · 空白 · 非串 ⇒ 无第二句;`waiting` 臂不附。
10176
+ - **RT-1 未知臂 / 坏形**:未知 `kind`(未来新臂)与非对象入参 ⇒ 按**默认臂**读(`Request failed — retrying`;与引擎新相落默认臂的句子一字相同,G6-d 不变量);每一位按键隔离读(自有数据位:取值器不执行 · 原型链上的键不算 · 一键抛只作废那一键 · 每键至多读一次),永不抛,结果冻结,不读时钟。`phase` 由 `kind` 与 `terminal` 现算:`stalled` ⇒ `reconnecting`,`waiting` ⇒ `waiting_first_token`,`error` ∧ `terminal` ⇒ `gave_up`,其余 `error`(含 `rate_limited` · `circuit_open` · 未知相)⇒ `retrying` —— 引擎相名不进句口,`RetryStatus` 投影不长第二份字段。
10177
+ - **LG-1 腿种**:`leg.kind` 不在 `EVENT_LEG_KINDS` 里、或 `durable` / `continuation` 腿的 `runId` 不是非空串 ⇒ 组装期同步抛 `TypeError`(不开流)。
10178
+ - **LG-1 HITL 三端口(必注)**:`hitl.question` / `hitl.elicitation` 缺席或不是函数 ⇒ 组装期同步抛,错误带自有位 `code: 'host_port_missing'` 与 `ports`(点名缺的端口,闭集 `EventLegPortName`);问答桥不在场时 `hitl.toolApproval` 同此;问答桥在场时它不要求(`tool_approval` 两种归桥),改为要求 `askBridge.respondToolApproval`。端口抛 ⇒ 帧照吞(不进转录)、`report().hitlUndelivered` +1、一行 debug 痕迹;端口返回被拒的 promise ⇒ 只留痕(不计数)。信封 `windowIsCurrent` 取帧所在那条流的腿表列(活流源流真;耐久附着与续流假 —— 重放帧上的倒计时是旧余量)。
10179
+ - **LG-1 `run.headerRunId`**:缺席 ⇒ run id 只从帧取(流首 `meta.taskId` / `done.result.taskId`〔`=== sessionId` 的耐久怪形不采〕/ 耐久与续流腿的 `runId`);返回 `undefined` / `''` = 还不知道,下一帧再读;读位抛 / 不是函数 / 调用抛 / 返回非串 ⇒ 这一读作废、`portFaults['run.headerRunId']` +1,帧照绑。run id 到手之前的帧不登绑定(`frameBindingOf` 答 `undefined`)。
10180
+ - **LG-1 身份成对**:run id 与会话 id 成对取自同一来源,绝不拼接 —— 活流:流首 `meta` 说的 run 与已知(头)不同 ⇒ 整对换成 `meta` 的;终帧 `result.taskId`(不等于 `result.sessionId` 时)与已知不同 ⇒ 整对换成终帧的(**终帧为准**:提交幂等重放在建行那一刻才命中时,头 / `meta` 交的是本腿现铸、没建成的候选,重放体里的 run 才是真的;此时 `run.onBound` 以 `cause:'handoff'` 改报一次);同一条 run 上帧带来的会话 id 补 / 改会话。耐久附着 / 续流:run 恒为附着的那条,帧上的会话只在它说的 run 就是这条(或没说 run)时采。
10181
+ - **LG-1 `run.onBound(binding, { cause, leg })`**:这条腿的绑定**值变化**时调一次 —— `open`(首次知道)/ `frame`(同一条 run 补齐了会话 id)/ `handoff`(问答桥换挂到另一条 run 后首次登记;新 run 不继承旧 run 的会话 id,会话 id 按 run 记,同一条 run 的续流直接带上);缺席 ⇒ 绑定照算、`frameBindingOf` 照答,不持久化,`report().missingPorts` 记 `run.onBound`;抛 ⇒ 隔离(`portFaults` 计数),帧照放。
10182
+ - **LG-1 `run.onTerminal(frame, binding, { leg })`**:每个离开 `events` 的 `done` / `failed` 恰调一次(帧 = 输出那一只对象,绑定 = `frameBindingOf(frame)`,可缺席);问答桥吞掉的停驻终帧不调,桥收场放出的停驻终帧照调;缺席 ⇒ `missingPorts` 记 `run.onTerminal`(宿主要在终帧那一拍记账就得自己在外层认终帧 —— 那是第二条读法,所以推荐注端口)。
10183
+ - **LG-1 `run.onRefused(refusal, { leg })`**:这次提交没有建成 run 的终帧恰调一次 —— `kind:'busy'`(409 在跑拒收,`done` / `failed` 两形,判别只用包件 `activeRunBusySignal`,读数在 `busy`)或 `kind:'not_created'`(`done.result` 是失败三键而没有 run id / 统计 / 因由座 / 占锁位:同键撞行读不到、同键异体、放置拒;机读码在 `errorCode`,读不出缺席);`candidateRunId` = 这条流拒收之前交过的那枚 run id(头 / `meta`;从未建成 ⇒ 宿主据此撤回 `run.onBound` 已报的暂定值;没交过 ⇒ 缺席)。**拒收帧本身不登绑定**(`frameBindingOf` 答 `undefined`,`run.onTerminal` 收到的绑定也缺席),`run.onBound` 不为它调;缺席 ⇒ 拒收仍由投影口投影(既有)。
10184
+ - **LG-1 `run.isCurrent()`**:真缺席 ⇒ 恒当前(单会话宿主);在场但读位抛 / 不是函数 / 调用抛 / 返回非 `true` ⇒ **当作不是当前代**:`onBound` / `onTerminal` / `onRefused` 一律不调,帧照放(旧流写进新会话比不写更坏);抛另计 `portFaults['run.isCurrent']`。每次调用前现问(会话中途切走后的迟到终帧不调)。
10185
+ - **LG-1 `owner.sessionKey`**:非空串 ⇒ 属主盖章带上槽键;缺席 / 空串 / 非串 ⇒ 只带 `{runId, sessionId}`。属主盖章读帧自己的绑定:绑定前的 `task_progress` 不盖(说不出);耐久附着腿没有流首 `meta` 帧 ⇒ 会话 id 到终帧才知道,终帧之前的子代 tick 只盖 `{runId}`(见包侧缺口)。
10186
+ - **LG-1 `askBridge`**:缺席 ⇒ 不装问答桥,停驻终帧原样进 `events`(宿主自己的停驻处置接手),`tool_approval` 两种归 `hitl.toolApproval`;在场 ⇒ 组合器只替换两位 —— `runsEvents` 包成续流腿(续流帧逐级各过一次)、`approvalLane.windowIsCurrent` 按腿表供给(宿主自供的这一位不读);其余每一位(含车道上的其余位)都按宿主对象原样读:取值器的接收者是宿主对象、方法绑回宿主、自有属性描述符原样(访问器仍是访问器,本包按自有数据位读的位不执行它)。
10187
+ - **LG-1 `idleTriage.baseUrl`**:只在 `live` 腿装;缺席 / 空串 ⇒ 空闲断流错误原样抛(不探活)。
10188
+ - **LG-1 `taps` / `perStream`**:缺席 / 空数组 = 无;非函数成员忽略。抽头挂在每条流的帧级出口(登记之后,读得到 `frameBindingOf`),看到未被吞掉的帧,返回值忽略、抛错隔离计 `portFaults.taps`;每流装饰在每条流的帧级最内层(登记之前,读不到绑定),装饰抛 ⇒ 该流按断线处置(本包不兜)。宿主在 `events` 外层套的只读装饰看到的是问答桥放出之后的帧;外层改写帧须经 `inheritFrameBinding`。
10189
+ - **LG-1 `report()`**:`missingPorts` 只列没注的持久化端口(`run.onBound` / `run.onTerminal`;成因词与宿主自供键装配回执同一个 `host_port_missing`);`portFaults` 只为出过错的端口出键;冻结快照,每次调用一份。
10190
+ - **LG-2 `frameBindingOf(frame)`**:三态 —— 组合器登记过的帧对象(或经 `inheritFrameBinding` 继承过的新对象)⇒ 冻结的 `{ taskId, sessionId? }`(两位 present-iff-known;`taskId` 恒在);别的帧(组合器之外铸的、裸展开复制没继承的、run id 到手之前的、拒收帧)⇒ `undefined` = 说不出,**绝不**拿最近一帧的绑定补;非对象入参 ⇒ `undefined`,永不抛。两份包实例并存时,一份登记的帧在另一份里读成 `undefined`(缺席方向,不答错 run)。
10191
+ - **LG-2 `inheritFrameBinding(from, to)`**:把 `from` 的绑定原样给 `to` 并返回 `to`(同一对象);`from` 没有绑定 ⇒ `to` 也没有;`to` 已有绑定 ⇒ 不改(先登者胜);非对象入参原样返回 `to`,永不抛。宿主在组合器之外**合成**的帧(没有来源帧)不给合成口,绑定如实说不出。
10192
+ - **LG-3**:三只级函数与 `perStream` 本版行为一字不变;退役只在条件成立之后的下一个本包版本执行(退役登记 RL-156 – RL-159)。
10193
+
10194
+
10195
+ - **TS-1 `WireRuleOffer`**:名不在本包根入口(引用即编译红 TS2305)。wire 值的读法不变:`readRuleOffers` / `readRuleOfferSupply` 照旧逐条丢坏、保原始下标。
10196
+ - **TS-2 三只读数**:`RuleOfferReading.offerIndex` 恒在场(原始 wire 下标;活卡帧腿 = 选择键,durable 腿 = 展示座,定义与 0.97.x 的 `RuleOffer.offerIndex` 逐字同);`MemoryEntryOriginMarkReading` 三态 `marked` / `unmarked` / `undecidable`(读不出 = `undecidable`,不折成 `unmarked`);`CrashConvergedRowReading.needsHumanReason` 只在 `needsHuman` 桶的行上在场,缺席 ⇔ `resumeSafe` 桶或不经本包投影的行。
10197
+ - **TS-3 二十三名**:型面就是 sdk 的声明,缺席 / 可缺位的读法以 sdk 注为准;运行期读法一字节未改 —— 活卡帧上表外的卡词 / 问类 / 强制词等仍由各读口按开集窄读(表外 ⇒ 卡上不长那一位,不编缺省);`AskQuestion.multiSelect` 缺席 = 不允许多选(本包铸的计划审阅卡恒带 `false`;停驻问答卡的题面原样取自引擎);`QuestionFrame.outcome` 只是收口原因(sdk 注:不据它判 run 结局)。
10198
+ - **TS-4 `BrainStatusPhase`**:本包型七相(含 `waiting_first_token`);`BrainStatusPayload.phase` 仍是开集(`| (string & {})`),表外相落兜底臂(读法不变)。
10199
+ - **TS-5 包侧门**:运行期上游未安装 ⇒ SKIP(exit 3);尺子自证不成立(合成语料任一形没说话 / 真上游型数地板塌)⇒ exit 9,不给判词。
10200
+ - **PN-1**:失败臂五位各自缺席 = 拒体没给 / 越界(`field` 只认两只条目桶、`entry` 非空串、`reason` 引擎七词、`verdict` 判词去现行名、`currentName` 非空串),不编;`alreadyInRecord` 缺席 = 点名的条目读不出或两边都找不到(不猜来源)。老服务端(≤ 7.128.x)不发这两码 ⇒ 这两臂不出现。
10201
+ - **PN-2**:生成表一代 = 开发依赖引擎 7.51.2;支持底线内老服务端的退役词读成表外词(KL-793)。
10202
+ - **PN-3**:`ruleOffersAbsence` 缺席 ⇒ 不是断言(同 WD-2);在场的表外词(含老服务端的 `shadowed`)⇒ 中性句、判定口规则车道必问。
10203
+ - **PN-4**:`ack` 缺席 = 未知(注入面回 void / 相关性门丢弃 / 回放体读不全);回放臂上 `rememberApplied` 只有 `false` 一值(在场 = 这一发问的是 `allow_session`),`decisionNote` 缺席 = 首决没留理由。
10204
+ - **PN-5**:`startupCause` 缺席 = 服务端没说(≤ 7.128.x 恒缺席)或词在五词外 ⇒ 句子按 `cause` 两句回落。
10205
+ - **PN-6**:非数组的认不得的键 = 元数据(放过,不进 `rules`);数组值 / 读不出的认不得的键 = 本包带不回去的桶 ⇒ 整份读不懂。「键」按全部自有串键数(可枚举与否同读)。
10206
+ - **PN-7**:`routePairing` 缺席 / 非串 ⇒ `unknown` 无 posture(不变)。
10207
+ - **PN-8**:卡上 `approvalCard` 缺席(老引擎 / 宿主自建 ask / v1 呈卡帧 / 表外词)⇒ 本地整工具一行不给(`card_face_absent`,三态读数 `unknown`),不编 `generic`。
10208
+ - **LP-1**(2026-10-15 抓取:网页端 `288bbfc`、桌面端 `48d646d`、终端 `6b856ce4`):网页端 `ui/hooks/useRecents.ts:109`(只在 `=== true` 投 `parked`,`false` 与缺席同形 ⇒ 要渲「无待决」须分读)· `ui/lib/engine/reload-run-wire.ts:179`(`seatRunReadingOf`:`parked: false` 已走非停驻读数)· `ui/components/shell/AppShell.tsx:233`(`recentStatusLabel(parked)`);桌面端 `main/session-host.ts:1085`(写端:有停驻卡 ⇒ `true`,`false` 只许对账后写)· `main/engine-target.ts:122`(读 `parked?: boolean`);终端零读写点(`git grep -n parked origin/main -- src` 命中的都是 ask 窗 / 工作流日志 / 交互中断的别位)。
10209
+ - **PN-9**:`tools` 缺席 = 继承全部(键缺席);写了 = `allowTools` 恒在场(空 = 什么都不给)。
10210
+ - **PN-11**:`boundGrantAbsence` 帧键读点本版随底线抬已接(§126 RE-1 / RE-2);缺席语义见 RE-1。
10211
+ - **FX-1**:入参记录上表外键的值是什么都抛(空数组、`undefined`、访问器 —— 访问器不执行);桶名的显式 `undefined` 仍 = 缺席;原型链上的键与符号键不算记录的一部分(不抛、不写);元数据键 `rev` / `gen` / `grammar` 不是桶(不抛、不进提交体)。
10212
+ - **FX-2**:终帧上三键任一读不出(缺 / 非串 / 空串 / 访问器)⇒ 不是拒收形,按普通终帧走(绑定保留);候选 run 缺席时 `candidateRunId` 缺席(不变)。 🔁 验证轮:活流上已有执行痕迹(头 / `meta` / 终帧之外的任何帧)之后再来的拒收信封(完整拒收形 / 忙拒收形)⇒ 不判拒收、按普通终帧走、绑定保留、`onRefused` 零次。
10213
+ - **FX-3**:`status` 缺席 / 非串 / 空串 / 不在四类(`preempting` / `running` / 停驻两词 / run 行终态闭集)里 ⇒ `unconfirmed`(`unreadable-answer`)—— 「没读到办成了什么」,不是「已结束」。
10214
+ - **FX-4**:未知臂上 `recourse` 缺席 = 没有可给的出路(不是「等」),判词与状态码不改这一条。
10215
+ - **FX-5**:回执读不出 / 不是回放 ⇒ 照旧按腿给档;`idempotent` 只认自有数据位的严格 `true`(串 / 数 / 继承来的 ⇒ 不是回放)。 🔁 验证轮:回放位**独立**读(自有数据位、受保护)—— 回执别的键是访问器 / 读就抛 ⇒ 只丢那一键,回放位照认;访问器 `idempotent` 不执行、不算回放。
10216
+ - **FX-6**:`line` 空串 = 没有句子(行该收);`phase` `cleared` 不是「恢复了」的证据。
10217
+ - **FX-7**:fleet 行没报过本代终态 ⇒ sweep 照旧 `isError: false`(sweep 不替引擎下「失败」的结论);关卡腿到了 ⇒ 以它为准(带终报)。 🔁 验证轮:留底与归一漏斗同一把水位 —— 可证更旧的行帧(前代 `cycleSeq` / 无 `cycleSeq` 时已换掉的子运行)不留失败位。
10218
+ - **FX-8**:帧没有登记过绑定(组合器之外造的帧 / 子代帧)⇒ 回落调用方给的 run(子代帧仍取 `sourceTaskId`);两者都缺席 ⇒ 持有表只能按 `approvalId` 认。
10219
+ - **FX-9**:`evidence` 缺席 = 宿主没说(按抛出物自己判);两位只认自有数据位的严格 `true`;浏览器 fetch 拒绝不带成因码 ⇒ 恒「结果未知」。
10220
+ - **FX-10**:`priorAnswerOutcome` 缺席(宿主自拼的接替位)或表外词 ⇒ 句子按 `unconfirmed` 说(未确认、可能已生效),绝不推成「没到引擎」。 🔁 验证轮:去向只往更不确定走 —— 同一件事两腿乱序落定时,已记 `unconfirmed` 的不被迟到的 `not_accepted` / `not_sent` 盖回。
10221
+ - **LP-1**:`LocalSessionRecord.parked` 缺席 = **未知**(旧端 / 旧账本 / 还没对账 / 读不出引擎有没有停驻设施),**不是** `false`;引擎**查实**没有停驻设施(能力位 `approvals: false`,或 `/v1/approvals` 恰回 501 `capability.checkpoint_store_required` / 404 `not_found.route`)⇒ 也是确知无待决闸,写 `false`;`false` 只许由「刚完成一次新鲜且完整的 approvals 读、且无本会话所属待决行」的写端写,读失败 / watcher 停 / 列表不全即撤回为缺席;读端对缺席既不渲停驻也不渲安全,对 `false` 可渲「无待决」。不写 `false` 的写端一律读作未知。
10222
+ - **BA-1**:表是构建期冻结的字面常量,恒非空、恒与构建时装的引擎一致;运行期没有「引擎读不到」这回事。生成器遇到引擎包根没有这个名字(≤ 7.51.1)⇒ 拒生成并点名,**不回落手写**。表是**已知词**清单,不是线上词的闭集判官:引擎之后新增的类型词不在表里,拿本表判「这个词本版认不认得」时表外 = 不认得 ≠ 不合法;同名的部署自定义 agent 会顶替内建项(表不随部署变)。
10223
+ - **BA-2**:`subagent_type` 缺席 / 非串 ⇒ 过滤不动它(只判串);表外词 ⇒ 键整个摘掉(不置 `undefined`、不置空串);只管 `Task` / `Agent` / `Fork` 三个工具名上的入参,别的工具上的同名键不动。
10224
+ - **HK-1 `mcp_tool` 条目**:不新增缺席分支 —— `type` 恰为 `'mcp_tool'` 的条目一律拿掉(其余字段不读,`server` / `tool` 缺席或形坏照拿);`type` 缺席 / 非串 / 别的值照旧按原规则(形坏原样透传,由服务端整份拒)。拿掉后:计划路径上 `notRun` = 引擎点亮的事件 ∧ 本端不跑这一型(交了型表按型问,没交按事件问,与 0.97.x 同);debug 行照旧逐轮点名条数与原因。不传计划那一路(修前的「设置端口 × 事件 × 原因」warn)已随 RC-2 删,无参调用立即抛 `TypeError`。宿主没装设置端口 ⇒ 整体 `undefined`(治理门 fail-closed,不变)。
10225
+ - **HK-2 从句口退出公面**:根入口不再有这一名 —— 按名 import 编译红;纯 JS 宿主按名去取得 `undefined`、一调即 `TypeError`(不是静默兜底)。整句口对表外 / 非串 / 原型链名 / 会抛的对象 / 已撤销代理答兜底整句 `Not sent with this request, for a reason this version does not recognize.`,不抛、不回显那个词(与 0.97.x 同)。
10226
+ - **RB-1 tee 口退出公面**:不新增缺席分支 —— 根入口不再有这十九个名:按名 import 编译红(TS2305 / TS2724);ES 模块宿主绕过类型检查直接具名 import ⇒ 模块链接期报错、整个模块加载失败(不是静默空调用);按命名空间对象去取得 `undefined`、一调即 `TypeError`。读器读数与上一版逐字节同:没有当代落地 ⇒ `unobserved`;落地在手而本只投影没给出读数 ⇒ `unreadable`;探测闭包里(落地之前)同拍读读口仍答 `unobserved`(0.95.0 起即如此,不是本版新变化)。
10227
+ - **RB-2 测试钩退出公面**:根入口键集里没有这十四个名。读器的记忆表按落地记录记忆化:同一次落地上连读交同一只冻结对象;总缓存重置(`__resetEngineCapsCacheForTests`)之后读口答 `unobserved`,下一次落地重新投影 —— 删掉旧测试钩的调用不改任何读数,只差「同一次落地上调过旧钩之后再读会换一只新对象」这一条对象同一性(现在同一次落地上恒交同一只)。
10228
+ - **RC-1 三只拼装件退出公面**:根入口不再有这三名 —— 按名 import 编译红;纯 JS 宿主按名去取得 `undefined`、一调即 `TypeError`。`isAlreadyResolvedFailure` 的缺席语义不变:入参不是对象(含一段字符串)、任一读位抛 ⇒ `false`(「证明不了已决」,不是「确知门还在」);码说清了处置的不再扫文字;没有任何机读位时才按词表扫失败文字(「宁可宽」的续读提示)。
10229
+ - **RC-2 `hooksForWire` 的坏形入参**:不新增缺席分支 —— `opts` 缺席 / `null` / 非对象,`opts.plan` 缺席 / `null` / 不是本包计划形(判形照旧:六只必有键自有在场且形对,`settingsVerdicts` / `settingsExcluded` 缺席当空、在场须是数组),计划本身按位置传,读 `opts.plan` 就抛、判形或取 `wire` 的过程中宿主值抛了什么 ⇒ 一律抛固定文案的 `TypeError`(外来抛出物不外抛、不转串、不进日志),不现算、不告警、不回显值;`opts.plan` 只读一次。认作计划 ⇒ 原样交 `plan.wire`(没有任何 hook 时是 `undefined`,与计划同)。宿主没装设置端口 ⇒ 计划的 `wire` 为 `undefined`(治理门 fail-closed,不变)。计划每轮读一次插件读口:端口没实现它 ⇒ 每个端口一次「插件读口缺席」告警(0.97.x 无参那一路不读插件口、不告警);插件读数只报旧位 `suppressedByStartupMode: true`、没报启动模式词 ⇒ 计划按安全模式只投 policy(无参那一路看不见旧位、照投五源)。
10230
+ - **RC-3 老两键**:只带老键的载体 ⇒ `readApprovalAllowRuleShadow` 答 `undefined`、`approvalAllowRuleShadowed` 答 `false`、`allowRuleShadowSentence` 答 `undefined`(一个字都不渲,不说「你没有规则」)。经本包三条卡腿铸的卡:老键在场(按 `in` 认,原型链上的也算;任何值,含空串 / 非串)而卡上没有 `allowRuleShadow` ⇒ `unreadableEvidence` 含 `persistedRuleShadowed`(活卡帧 / v1 卡)或 `riskDescriptor.shadowedRule`(待决行)⇒ `automaticAnswerVerdict` 各车道答 `unknown`(`card_unreadable`)、`standingRowsOf` 的持久行 `none`。宿主绕过本包卡腿、把**裸**活卡帧或手拼卡直接交判定口:卡上没有可读的新键证据、却带着老键(同一只在场判据)⇒ 同样各车道 `unknown`(`card_unreadable`)—— 不读值,也不放。宿主自盖的 `allowRuleShadow` 带老来源词 `'legacy_shadowed_rule'` ⇒ 整只读不出、仍算证据(句口说「读不出」那一句)。
10231
+ - **RC-4 脱敏读数缺席**:本包不出会话历史读面的脱敏读数 —— 不答「已脱敏」、不答「未脱敏」、不编叶;端回放历史时推理 / 工具输出 / assistant `errorMessage` 一律按「未证明已脱敏」处置(过 `displayUntrusted`)。能力位 `sessionReadRedaction` 本包零读点;叶名表到货的那一版按到货的键名与成员新写读器。
10232
+ - **RA-1 旧事件订阅口退出公面**:`subscribeEngineAgentPanel`(0.98.0 退出公面)按名 import 编译红;纯 JS 宿主按名去取得 `undefined`、一调即 `TypeError`(不是静默兜底)。行差分口不新增缺席分支:快照只回放消费端会有的行(交出过的行);没交出过的行上先到的终态事实静默成形,等第一条行帧 / tick 时整只交出;差分里键缺席 = 没变 / 不知道(用量不补 0)。
10233
+ - **RA-2 缺席订阅口退出公面**:`subscribeEngineAgentPanelAbsence` / `__resetEngineAgentPanelAbsenceForTests`(0.98.0 退出公面)同上编译红 / `TypeError`。缺席标只在消费端已有那一行时进差分(`upsert{ fields.absence: { lastSeenAtMs, absentForMs } }`);没交出过的行上的缺席上报不建行、不出差分;行回来 ⇒ `fields.absence: null`;真终态 ⇒ `terminal`,该行字段里不再带缺席标(快照同答)。迟订阅:快照里的行带着它当时的缺席标。
10234
+ - **RA-3 连着没有**:`status()` 上不再有 `connected` 键(读它的代码编译红;纯 JS 宿主读到 `undefined` —— 不是 `false`,别拿它当「断开」)。在飞读面 `fresh` 只有两态,不编第三态:当代 stream ingress 落过帧且未收 ⇒ `true`;其余一律 `false` —— 从未开流 / 领了 ingress 首帧未到 / 已 `close()` / 旧 ingress 的迟到帧(丢弃并计 `droppedStaleIngress`)/ 一次性快照落账 / 账本已 `dispose()`。`false` 读作「读数可能陈旧」,不读作「确知空闲」。同一只快照 ingress 第二次落账 ⇒ 丢弃并计 `droppedStaleIngress`。「连着」认的是**落过帧**这件事,不看帧是否有用:当代 stream ingress 落过任何首帧 —— 含只带连接级 meta 的帧、坏形帧、未知 `type`、`task_remove` —— 就读 `true`(`null` 帧在处理时抛 `TypeError`,但读位在抛之前已置);所以一条只送坏帧的流也读「连着」。默认槽宿主有两本账,任一本连着 ⇒ `fresh: true`。
10235
+ - **RD-1**:`SUPPORT_FLOOR` 三项恒在(声明读不出 ⇒ 门红,不是运行期缺席);`engineVersionTier` 低于底线 ⇒ `legacy`(= 本包不再见证,不是「不支持」的证明),读不懂 ⇒ `unknown`。
10236
+ - **RD-2 / RD-3**:拼法预判读数 `toolListFlaws` 缺席 = 没有判得出的问题(present-iff 非空,同前);条目在 wire 上恒在(写了什么上什么),「这一条给不给 / 藏不藏工具」只由引擎 / 服务端答;deny 侧没有告警句 ≠ 没有问题(读数里照有)。懒挂载的合法协议名(`mcp__<server>__<tool>` / `a2a__*`,服务器 / 对端不在本跑声明里、也不在名册里)判官答 current:不出读数、不出告警、原样上体 —— 读数缺席在这里就是「没有问题」;真近似名(名册里有 `Bash` 时写 `BASH`)照判 `case_twin`。
10237
+ - **RD-4**:投影器不读目录读数;`engineToolDirectoryOf` 的三态语义不变(`not_landed` ≠ 空集,`unreadable` ≠ 缺席)。
10238
+ - **RD-5**:收紧 / 撤销结局里不再出现 `legacy_tool_name`;老码拒体上的 `field` / `name` / `verdict` / `currentName` 一格都不读(缺席 ≠ 没给:本包不再看这一码的体)。
10239
+
10240
+
10241
+
10242
+
10243
+
10244
+ ### 126c. 黑盒判据(G 骨架;交 test)
10245
+
10246
+ > 纯包层,走根入口公面:`import { persistedRuleOriginsLabel, persistedRuleAddOriginLabel, persistedRuleScopeLabel, persistedRuleRevokeOutcome, persistedRuleMatchLabel, askOriginNoteOf, ruleOffersAbsenceDetail, ruleOfferUncoveredDetail, crashConvergedRowSentence, crashConvergedCauseSentence, askEndingCauseClause, askSettlementLine, askAcceptedLine, askParkedCardNote, askOriginDetail, automaticAnswerVerdict } from '@sema-agent/client-core'`。
10247
+ - **G-WD1(本版证明)**:`persistedRuleOriginsLabel({ adds: [{ origin: 'user' }, { origin: 'imported-cc' }] })` ⇒ `added by you + imported`;`persistedRuleAddOriginLabel('imported-cc')` ⇒ `imported`;`{ adds: [{ origin: 'zz_new' }] }` ⇒ `an origin this build does not know`(不含 `zz_new`);`{}` ⇒ `unknown origin`。`persistedRuleScopeLabel('project:/a:b')` ⇒ `/a:b`;`'weird'` ⇒ `a scope this build does not know`。
10248
+ - **G-WD2(本版证明)**:`persistedRuleRevokeOutcome('Read(x)', { status: 'no-op', stillLive: 'yes' }).notice` ⇒ 以 `"Read(x)": nothing was written, and the rule is still live` 起头(不说 `nothing to remove`、不说墓碑);`{ status: 'removed', stillLive: 'no' }.notice` ⇒ `Removed "Read(x)".`;`{ status: 'zz_new', stillLive: 'no' }` ⇒ `outcome: 'unknown-status'`、句子不含 `zz_new`、不含 `Removed`;`stillLive: false` ⇒ `liveness: 'unknown'`。
10249
+ - **G-WD3(本版证明)**:`persistedRuleMatchLabel({ match: 'name_prefix' })` ⇒ `skill name prefix match`;`{}` ⇒ `an unreported match form`;`'zz_new'` ⇒ `a match form this build does not know`。真 `listAllPersistedRules` 交出的 `match: 'name'` 行直接读。
10250
+ - **G-WD4(本版证明)**:对 `ASK_ORIGIN_WORDS` 每词:`content_question` / `ask_rule` / `policy` ⇒ `undefined`,其余 ⇒ `askOriginDetail(词)`;`askOriginNoteOf('ancestor_marked')` 非 `undefined`;`askOriginNoteOf('rule_store_unavailable')` 不含 `newer than this client`(修前网页端把三个合法词渲成「an unrecognized origin」)。
10251
+ - **G-WD5(本版证明)**:`ruleOffersAbsenceDetail('shadowed', { deploymentListSessionRow: true })` 与不带选项的句不同;`'mandated'` ⇒ `undefined`;`ruleOfferUncoveredDetail('zz_new')` 不含 `zz_new`。
10252
+ - **G-WD6(本版证明)**:真 `projectCrashConverged` 交出的 `pending_unsafe` 行 ⇒ `crashConvergedRowSentence(投影, 行)` = `had not started, based on what was recorded, but the engine did not mark it as safe to re-run`(不含 `partly landed` / `already been approved`);`approved_then_interrupted` 行才含 `partly landed`;行不在投影里 / 空对象 / 显式 `resumeSafe:false` 的行放进手拼的 `resumeSafe` 桶 ⇒ `undefined`。整行口 / 计数句口输出与 0.97.1 逐字节相同。
10253
+ - **G-WD7(本版证明)**:十四个成因词的结局帧 → `approvalCompleteCauseOf(帧)` → `askSettlementLine({ cause, toolName: 'Bash' })` ⇒ 十四句互异、均以 `the approval request for "Bash" ended on the engine without an answer: ` 起头、零 `denied`;帧上没有 `cause` ⇒ `undefined`;**转停驻的帧**(`outcome: 'expired'`、`parked: true`,任一成因词)交 `parked: approvalCompleteParked(帧)` ⇒ `undefined`(不说「请求结束了」)。
10254
+ - **G-WD8(本版证明)**:`askAcceptedLine({ decision: 'approve', taskId: 't-1' })` ⇒ 含 `(task t-1)`、含 `not following that run`、不含 `resumed the parked call` / `is continuing` / `card … still`;`follow: 'following'` ⇒ 才含 `shows up below`;`askParkedCardNote('approval')` 与 `askParkedCardNote(undefined)` 同句(窗关接替卡与停驻行重开卡同一句)。
10255
+ - **G-WD9(本版证明)**:`askOriginDetail('policy')` 同时含 `permission policy` 与 `permission mode’s default`。
10256
+ - **G-WD10(本版证明)**:带 `requiresRealApproval: true` 与问类集 `rule_unreadable` 的 `rule_store_unavailable` 真帧:`automaticAnswerVerdict(card, 'standing_rule')` / `'permission_request_hook'` ⇒ `must_ask`(road `requires_real_approval`);`'mode_posture'`(宿主报没命中)⇒ 0.98.0 起 `must_ask`(road `ask_class`、askClass `rule_unreadable`;PN-2:`rule_unreadable` 不再对姿态车道免疫 —— 0.97.1 答 `may_answer`、`releaseReason: 'rule_unreadable'`,本版证明两版并跑读数);同一张卡去掉问类集 ⇒ 姿态车道 `unknown`(`classes_absent`)。
10257
+ - **G-WD12(本版证明)**:`permissionsDeclaration({ deny: 1001 条, … })` 不截(1001 条原样);`src/permissionsDeclaration.ts` 的代码里零数值帽常量。
10258
+ > 纯包层,走根入口公面:`import { readToolCardOutcome, createWireToCcAdapter, toolKillCauseAcrossEngineIdentity, classifyRunAbortCause, CLAIM_HELD_STATES, installCoreValuePorts } from '@sema-agent/client-core'`;值级端口照宿主惯例装引擎包根原件。引擎侧判据(G-GT2 ④)需要一台本地引擎。
10259
+ - **G-GT1(本版证明)**:取一条交互转录里的 `user` 工具结果记录,在 `_sema_not_executed` 上定义自有访问器(返回 `true`,带计数器)⇒ `readToolCardOutcome` 答 `{ kind: 'unreadable' }`、计数器 0;同一条记录改成数据位 `true` ⇒ `degraded` / `not-executed`;数据位 `false` ⇒ `normal`;在带占位标记 `_sema_degraded: 'wire_carried_no_output'` 的卡上定义同样的访问器 ⇒ `unreadable`(不答 `no-result`)。
10260
+ - **G-GT2(本版证明)**:① Bash 工具 `tool_end`(`output` = `exit code: 137\n--- stdout ---\n(empty)\n--- stderr ---\nkilled\n`)经 `createWireToCcAdapter().adapt` 投成转录行,适配上下文不给 `toolKillCause` ⇒ 块正文含 `Exit code 137` 与 `Command was killed by signal 9 (exit 137)`,**不含** `memory` / `possibly`;② `toolKillCause: () => 'engine_restarted'` ⇒ 含 `Command was killed when the engine restarted (exit 137)`;`'memory_pressure'` ⇒ 含 `ran out of memory` 与 `make -j2`;读口抛 / 回 `'bogus'` / 回 `'unknown'` / 回对象 ⇒ 中性句、不抛;③ 同一张卡换成退出码 `143` / `1` / `0` ⇒ 读口零调用、正文无 `Command was killed`;④ `toolKillCauseAcrossEngineIdentity({ startedAt: 1000, instanceId: 'a' }, { startedAt: 2000, instanceId: 'b' })` ⇒ `'engine_restarted'`;两侧相同 / `{}` 对 `{ startedAt: 1000 }` / `undefined` 对 `null` ⇒ `undefined`;与 `engineIdentityVerdict` 同一组输入逐一致(`changed` ⇔ `'engine_restarted'`)。**引擎侧(live,交 test)**:本地引擎上起一条会被信号杀的 `Bash`(如 `kill -9 $$`)⇒ 退出码 137、屏上是中性句;经确认的引擎重启期间被杀的那一条,宿主用调用开始时与被杀后两份 `/health` 体填读口 ⇒ 重启句(宿主半场,见 126d)。
10261
+ - **G-GT3(本版证明)**:宿主装配根(`const ports: CoreValuePorts = { …引擎包根十六件 }`)在 `strict: true`、`strict` + `exactOptionalPropertyTypes` + `noUncheckedIndexedAccess`、`strict: false` 三档下编译零错;把 `validatePermissionRules` 上的 `as CoreValuePorts["validatePermissionRules"]` 型断言删掉后仍零错。
10262
+ - **G-GT4(本版证明)**:`classifyRunAbortCause({ status })`:`running` / `suspended` / `needs_review` ⇒ `{ kind: 'run_still_live', status }`;`queued` / `timeout` / `weird` / `''` ⇒ `{ kind: 'unknown' }`;`CLAIM_HELD_STATES` 是冻结数组、成员恰为 `running` / `suspended` / `needs_review`。
10263
+ > 纯包层,走根入口公面:`import { approvalCardFactsOfFrame, approvalCardFactsOfGeneric, approvalCardFactsOfV1, approvalWindowKeysOf, probeCauseRowsOf, approvalCardReasons, readRequiresRealApproval, countOwnedPendingRows, standingRowsOf, automaticAnswerVerdict, surfaceToolApprovalFrameAndRespond, installApprovalCardPort } from '@sema-agent/client-core'`。
10264
+ - **G-AC1(本版证明)**:装卡口记下卡入参,`surfaceToolApprovalFrameAndRespond(F, …)` 交给卡口的卡,除 `callKey` / `signal` / 窗三键 / 本地锚 / 同调用前卡之外的每一键,与 `approvalCardFactsOfFrame(F)` 同在同缺同值(F 取正形与坏形各若干);`standingRowsOf({ ...approvalCardFactsOfFrame(F), callKey: 'k' }).sessionRow === true`。
10265
+ - **G-AC2(本版证明)**:`approvalCardFactsOfGeneric({ toolName: 'Bash', args: {}, governanceForced: true, risk: { requiresRealApproval: true }, askClass: 'ordinary', classes: ['ordinary'] })` ⇒ 无 `governanceForced` / `requiresRealApproval`、`cardPayloadUnreadable === true`、无 `allowSessionCarried`;三车道 `automaticAnswerVerdict` 都答 unknown `card_unreadable`;`standingRowsOf` 三行全关。
10266
+ - **G-AC3(本版证明)**:`approvalWindowKeysOf({ expiresInMs: -1, expiresAtMs: T, serverNowMs: T }, { windowIsCurrent: true, receivedAtMs: 5 })` ⇒ 无 `expiresInMs`;`windowIsCurrent` 缺席 ⇒ `{}`;`unknownShape: true` 且恒等式差 > 1s ⇒ `{}`;活卡帧腿(`lane.windowIsCurrent: true`)卡上窗三键与读器读同一帧同答。
10267
+ - **G-AC4(本版证明)**:`probeCauseRowsOf({ probeCause: { code: 'probe.x', roots: { shown: ['/a'], total: 3 }, further: { shown: ['/c'], total: 1 } } })` ⇒ `['roots: /a (+2 more)', 'further: /c']`;`total < shown 数` / `further` 坏形 ⇒ `undefined`。
10268
+ - **G-AC5(本版证明)**:带同调用前卡 / 引擎原文 / 强制位 + 词 / 出身 / 限额回落 / 探针 / 让位 / 分类器 / 授予的卡 ⇒ `approvalCardReasons(card, { maxLines: 20 })` 来源顺序如 126a,每行等于对应铸点;缺省预算 ⇒ 4 行、末行 `more`;活卡帧 `message: 'Dangerous removal: …'` ⇒ 卡入参 `message` 在场、原因格首行来源 `message`。
10269
+ - **G-AC6(本版证明)**:`readRequiresRealApproval({ risk: { requiresRealApproval: true } }) === true`、`({ requiresRealApproval: 'true' }) === false`;`approvalCardFactsOfV1({ toolName: 'Bash', args: {}, requiresRealApproval: true }).requiresRealApproval === true`(0.97.x 上缺席)。
10270
+ - **G-AC7(本版证明)**:`countOwnedPendingRows({ pending: [{ sessionId: 'S1', gateKind: 'resource_limit', toolName: 'Bash' }] }, { currentSessionId: () => 'S1' }) === 0`;`({ pending: null })` 抛;`[{…}]`(数组回体)抛。
10271
+ > TP-1 / TP-2 / TP-4 纯包层,走根入口公面:`import { normalizeEngineBaseUrl, engineUrlTransportVerdict, createStreamDrainingLegs } from '@sema-agent/client-core'`。TP-3 要真引擎(服务端 ≥7.126.0)与一个可掐连接的前置代理。
10272
+ - **G-TP1(本版证明)**:`normalizeEngineBaseUrl(" https://h.example/// ")` ⇒ `{ ok: true, url: "https://h.example" }`;`("https://h.example/?a=1")` ⇒ `{ ok: false, reason: "query_or_fragment" }`;`("https://h.example/?")` 同(空 `?` 也拒);`("https://u:p@h.example")` ⇒ `userinfo`;`("ftp://h.example")` ⇒ `scheme`;`(undefined)` ⇒ `empty`。
10273
+ - **G-TP2(本版证明)**:`engineUrlTransportVerdict("http://127.0.0.1:8794")` ⇒ `{ ok: true, loopback: true }`;`("http://127.0.0.2:8794")` ⇒ `{ ok: false, reason: "plaintext_remote" }`;`("https://h.example")` ⇒ `{ ok: true, loopback: false }`;`("http://h.example")` ⇒ `plaintext_remote`;`("ftp://h.example")` ⇒ `not_http_url`。X-10(`127.0.0.2`)与 X-11(query)两例:两端换读后同答。
10274
+ - **G-TP3(本版证明,黑盒)**:引擎前放一个代理,让它**读完请求、写响应头之前**掐断连接,发一条消息 ⇒ 代理上看到**两次** `POST /v1/tasks/stream`,两次 `Idempotency-Key` 头相同,引擎侧恰一条 run,对话正常收尾。负控:代理在**响应头(含 `x-task-id`)写出之后**才掐 ⇒ 只一次 POST(断开交给 run 事件车道续收,不重新提交)。再一格:代理对两次都掐 ⇒ 恰两次 POST,错误按原失败分类出(抛第二发的错误对象),不出现第三次。
10275
+ - **G-TP4(本版证明)**:`createStreamDrainingLegs()` 造两只账 `a` / `b`:`a.see({ type: 'error', errorCode: 'draining' })` ⇒ `true`,`a.legEnded('returned')` ⇒ `{ reconnectAfterMs: 1000 }`;连着再排空两次 ⇒ `2000` / `4000`,第四次 ⇒ `giveUp`;中间夹一帧别的 ⇒ 计数归零;`b` 不受 `a` 影响。
10276
+ > 纯包层,走根入口公面:`import { displayUntrusted, displayConfiguredUrl, queryCarriesCredential, isDiagnosticValueWord } from '@sema-agent/client-core'`。占位值一律文档形(`FAKE…PLACEHOLDER` / `R7v9mX2q` 一类)。`CRED = { controls: false, bidi: false, foldLines: false }`。
10277
+ - **G-DU1(本版证明)**:`displayUntrusted(x, { foldLines: false, keepLayout: true })`:`PGPASSWORD=;R7v9mX2q` ⇒ `PGPASSWORD=«redacted:secret»`;`PGPASSWORD=sk-abcdef;TAIL123` ⇒ `PGPASSWORD=«redacted:secret»`;`PGPASSWORD={R7v9mX2q}` ⇒ `PGPASSWORD={«redacted:secret»}`(0.97.1:三形原样或尾段原样)。
10278
+ - **G-DU2(本版证明)**:负控逐字节不变:`password=, region=us` · `Password=abc;Host=db` 的 `;Host=db` · `api_key: {api_key}` · `Authorization: Bearer <access_token>` · `token=<YOUR_TOKEN>` · `keys: maxTurns,maxBudgetUsd`。
10279
+ - **G-DU3(本版证明)**:`PGPASSWORD=Basic\n` ⇒ `PGPASSWORD=«redacted:secret»\n`;`PGPASSWORD=Basic PGHOST=db.example` ⇒ `PGPASSWORD=«redacted:secret» PGHOST=db.example`;`password: basic` 原样;`TOKEN=Basic Zx81Kq0pLm` ⇒ `TOKEN=Basic «redacted:secret»`。
10280
+ - **G-DU4(本版证明)**:`Authorization: Bearer configuration` ⇒ `Authorization: Bearer «redacted:secret»`;`Authorization: Bearer undefined` 与 `Bearer configuration is missing` 原样。
10281
+ - **G-DU5(本版证明;终端探针 C7)**:9 枚停字符 × `https://h:1/v1?access_token=1234567<停字符>TAILPLACEHOLDER450` / `https://h:1/v1#api_key=AB<停字符>TAIL…` / `https://h:1/a;sid=AB<停字符>TAIL…/b` 共 27 格,`displayConfiguredUrl(u)` 与 `displayConfiguredUrl(u, { ...CRED, credentialWords: false })` 零格含 `TAILPLACEHOLDER450`(0.97.1:21 / 27);`https://h:1/a;sid=AB"TAIL…/b` ⇒ `https://h:1/a;sid=«redacted:query»/b`。
10282
+ - **G-DU6(本版证明;终端探针 P13b)**:`https://h/s\tk-FAKE-PLACEHOLDER-NOT-A-KEY/../sse` 与 `…s\nk-…/%2e%2E/sse` 过 `displayConfiguredUrl` 不含 `k-FAKE-PLACEHOLDER-NOT-A-KEY`;`displayConfiguredUrl('https://h/a\tb', CRED)` 逐字节不变。
10283
+ - **G-DU7(本版证明;终端探针 C28c)**:`displayConfiguredUrl('/download?sig=FAKEPLACEHOLDERC28C', CRED)` ⇒ `/download?sig=«redacted:query»`;`/v1/chat/completions` 与 `urn:isbn:0451450523` 原样;`//alice:hunter2@h/x` ⇒ `//«redacted:userinfo»@h/x`。
10284
+ - **G-DU8(本版证明;终端探针 C2 / C2b)**:`https://my-api-key:443/status` / `https://api-key:443/v1/chat` / `https://token.example.com/mcp` 过 `displayConfiguredUrl`(任何选项)逐字节不变;`https://api_key:FAKEVALUE/x`、`https://u.v:"FAKEVALUE@h/` 照遮;`displayUntrusted('https://my-api-key:443/status')` 仍多遮(自由文本口不放)。
10285
+ - **G-DU9(本版证明)**:`queryCarriesCredential('x=abc|F4KE0PLACE1HOLDER2FOR3TEST4ONLY5')` ⇒ `true`(0.97.1:`false`);`queryCarriesCredential('tenant={tenant}')` ⇒ `false`。
10286
+ - **G-DU10(本版证明)**:`isDiagnosticValueWord('None.')` ⇒ `true`;`('..The')` ⇒ `true`;`('swordfish')` ⇒ `false`;`('')` ⇒ `true`;`(42)` ⇒ `false`。
10287
+ - **G-DU11(本版证明)**:`AUTHORIZATION=Basic QUI6QQ==` ⇒ `AUTHORIZATION=Basic «redacted:secret»`;`PGPASSWORD={h7N@dB3}` ⇒ `PGPASSWORD={«redacted:secret»}`;`displayConfiguredUrl('https://h/PGPASSWORD=Qwerty7"SECRETTAIL', CRED)` 不含 `SECRETTAIL`;`displayConfiguredUrl('https://api_key%3A12345/x', CRED)` 不含 `12345`;`displayConfiguredUrl('\thttp:/h/?x=R7v9mX2qT8w4zP6aQ9r2')` 一遍即不含该值、两遍同字节。
10288
+ > 纯包层,走根入口公面:`import { wireFailureTextsOf, turnFailurePresentation, runReattachPolicy, REATTACH_BUDGET_FRESH, sandboxDegradeHint, decisionRefusalAskReading } from '@sema-agent/client-core'`。TH-1 的「压缩包」判据:把 `@sema-agent/sdk` 与本包同打进一个 bundle,分别用 `minify: false` / `minify: true` / `minify: true, keepNames: true` 构建后调用,三份读数逐位同。
10289
+ - **G-TH1(本版证明)**:同 bundle 里 `sdk.toApiError(409, { errorCode: 'conflict.ask_decided' })`(真实例)⇒ `decisionRefusalAskReading` 答 `settled`(三种构建同);同一只实例把 `errorCode` / `status` 置空 ⇒ 三种构建都答 `not_settled`(修前:不压缩 `settled`、压缩 `not_settled`);字面重建形 `{ name: 'AskDecidedError' }` ⇒ 三种构建都答 `settled`;`toApiError(409, { errorCode: 'checkpoint.invalid_outcome' })` 经 `HitlBridge.decideTool` ⇒ 三种构建都铸 `binding_mismatch` 安全停(修前压缩包里原错上抛)。
10290
+ - **G-TH2(本版证明)**:`effectiveWireErrorCode(Object.create({ errorCode: 'corrupt' }))` ⇒ `undefined`(修前 `'corrupt'`);自有访问器 `errorCode` ⇒ `undefined` 且取值器不执行(修前执行并回其值);`readBlockedBy` 自有访问器 ⇒ `{ kind: 'unreadable' }`(修前执行取值器);`scenarioDenyFromError` / `denyAttributionRefusalFromError` 把 `status` 放在原型链上 ⇒ `null`(修前认领);真 `toApiError` 实例上四口读数同旧。
10291
+ - **G-TH3(本版证明)**:`wireFailureTextsOf({}).reason` 与 `wireFailureTextsOf(new Error('')).reason` 都是 `the call failed with an error this client could not render`(修前根入口没有这个口;终端自写版答 `[object Object]` / 空串);`wireFailureTextsOf('boom').reason === 'boom'`;`message` 取值器抛的错误 ⇒ 固定句、不外抛。
10292
+ - **G-TH4(本版证明)**:`turnFailurePresentation(toApiError(429, { errorCode: 'usage.window_exhausted', retryAfterSec: 30 }))` ⇒ `{ category: 'rate_limited', retry: { offer: true, basis: 'category' }, waitSec: 30 }`;同 429 `quota_exhausted` ⇒ `retry.offer === false`;401 ⇒ `auth` / 不给;`new TypeError('fetch failed')`(带 `cause`)⇒ `connection_lost` + 宿主中性 `headline`;`retryAfterMs: 2500` ⇒ `waitSec === 3`;`retryAfterMs: 0` ⇒ 无 `waitSec`;`retriable` 放在原型链上 ⇒ 不翻案。
10293
+ - **G-TH5(本版证明)**:从 `REATTACH_BUDGET_FRESH` 起连喂 6 个 `connection_lost`(`hasRunId: true`)⇒ 等待 1000 / 2000 / 3000 / 4000 / 5000 毫秒后第六次放弃 `budget_exhausted`;连喂 4 个 `stream_draining`(同一个排空终帧)⇒ 1000 / 2000 / 4000 毫秒后第四个按一次普通流帽(0 毫秒、花一次预算);`hasRunId: false` ⇒ `no_run_id`;连喂 1000 个 `madeProgress: true` 的排空终帧 ⇒ 至多 20 次重挂后放弃 `budget_exhausted`。
10294
+ - **G-TH6(本版证明)**:`sandboxDegradeHint({ status: 501, errorCode: 'capability.image_index_required' })` 与 0.97.1 逐字节同;加 `'web'` / `'desktop'` ⇒ 句里含同一句事实、不含 `--sandbox` / `sema cloud`;加 `'cli'`(认不出)⇒ 只有事实句。
10295
+ - **G-CH1(本版证明)**:真 `adapt()` 铸出的 `retry_status` / `context_usage` / `last_turn_usage` 带 laneProof 过座位出站门(`isLocalSessionEvent` 判 true);无 laneProof / 空 laneProof 仍拒。
10296
+ - **G-CH2(本版证明)**:`bgshell_register` / `bgshell_settle` 同上过门;主进程不调用 `recordBgParentRun` 时句柄 → run 不可解析(义务 ② 潜伏,desktop 记账行)。
10297
+ - **G-CH3(本版证明)**:`memory_saved` 过门;宿主侧「还原成行」那条路停掉后同一写入恰渲一行。
10298
+ - **G-CH4(本版证明,负控)**:整链真铸出的 `workflow_notification_enqueue`(带 laneProof)**不**过座位出站门;主进程恰一轮自动提交。
10299
+ - **G-CH5(本版证明)**:元组删任一词 ⇒ 门 M1 红;required 臂同时写进座位词表与归宿主表 ⇒ M5 红;把某既有臂 `required: true` 改 `false` ⇒ 编译红(M6)。
10300
+ > ID 一组的判据全部走根入口公面:`import { runStream, createWireToCcAdapter, adapt, eventToSdkMessage, terminalToSdkResult, toolEndResultToUserFrame, deriveTranscriptId, engineRefOf, sameEngineRef } from '@sema-agent/client-core'`。夹具事件的 `eventId` 用 uuidv7 形串。
10301
+ - **G-ID1(本版证明)**:同一组 live 事件(思考段 · 文本段 · 工具卡 · 记忆写入 · 带 `eventId` 的 `compacted` · 第二个文本段 · 带 `runId` 的 `done`)经 `runStream → createWireToCcAdapter().adapt` 两只独立实例(各自的 `ctx.uuid`)各跑一遍 ⇒ 每行 `uuid`、`_sema_engine_ref`、`_sema_segment_id`、`text_segment_end.segmentId` / `committedUuids`、attachment `id`、`message.id`、`memory_saved.id` 逐个相等;durable 一套(`text` / `reasoning` 聚合 · 工具卡 · 分割线 · 任务通知 · 终局)同。0.97.x 上除工具结果行与 `memory_saved.id` 外全不等。
10302
+ - **G-ID2(本版证明,包层)**:两进程同一 run 各投一次、写进同一份按 `uuid` 去重的转录 ⇒ 有身份的行零重复(0.97.x 上每行两份)。**两只交互壳同开一个会话、同一 run 各投一次的黑盒构造请随 0.98.0 发布候选排**(先在 0.97.x 上造出同一事件两行才算有判别力;造不出 ⇒ 这一格换射程,不当空判)。
10303
+ - **G-ID2b(本版证明)**:单壳断线重连 —— 先投到某个结构边界断开,重连后无游标从头重投 ⇒ 断线前已落盘的有身份行零重复。
10304
+ - **G-ID2c(本版证明)**:resume 重放 —— durable 一套原投一遍、换新适配器实例再投一遍 ⇒ 零重复。
10305
+ - **G-ID2d(本版证明)**:桌面端无游标重放 —— 一次性 `adapt()` 入口、durable 两遍 ⇒ 零重复;**射程格**(KL-762):先 live 后 durable 的跨腿重放,文本 / 思考行 `uuid` 不同(结构不同),工具卡与工具结果行同,`sameEngineRef(live 文本行, durable 文本行) === 'same'`。
10306
+ - **G-ID2f(本版证明)**:段中断流(只收到第一块增量就 EOF)的半截行与整段重放行 `uuid` 不同、同 `uuid` 恒同正文;先写者胜合盘(半截先落)后整段仍在盘上;段末权威全文改写了字节 ⇒ 改写后的那一行与未改写的同开场行不同 `uuid`。
10307
+ - **G-ID2g(本版证明)**:同一条流两只订阅者,一只有宿主定时器(idle 切成两行)、一只没有(一行)⇒ 同 `uuid` 恒同正文;两种先后合盘都不丢正文。
10308
+ - **G-ID2x(本版证明)**:两个独立进程(真子进程)投同一组事件 ⇒ 行 `uuid` / 段身份 / 引用位逐个相等。
10309
+ - **G-ID2e(交黑盒,终端)**:同一 run 两进程各投一次 × 续开读口叶优先 —— 盘上零重复,且续开选到同一叶(重投得同 `uuid` 时叶优先与账本序破平局不选错叶)。
10310
+ - **G-ID3(本版证明)**:从第 k 个事件(第一张工具卡)起投 ⇒ 开场帧在 k 之后的行(工具卡 / 工具结果 / 分割线 / 文本行)`uuid`、引用位与全量投影相等;窗口锚在 k 之后的文本行段身份相等;接上点落在段中 ⇒ 那一段的文本行不相等、引用位指向接上后的第一块(射程格)。
10311
+ - **G-ID4(本版证明)**:有身份的行 `engineRefOf(row).eventId === 开场 wire eventId`(思考行 = 段内第一块 `reasoning_delta`,文本行 = 开场那块 `text_delta`,工具卡 = `tool_start`,工具结果行 = `tool_end` 且等于行 `uuid`,durable 文本行 = `text`,任务通知行 = `task_notification`);不给 `boundRun` ⇒ 只有 `eventId`;给 ⇒ 两位原值、不影响任何 `uuid`;`boundRun` 的入参 === 事件源交出的那一只帧,带 `eventId` 的帧各恰一次、不带的零次,行上的绑定是开场帧那一拍的;`boundRun` 抛 / 坏位 ⇒ 流照走、那一位缺席;宿主行 / `wid_err-<8>` 旧行 / 无身份事件 ⇒ `undefined`;`sameEngineRef` 十四格三态表(含坏形、数组、非串 `eventId`、非对象)+ 对称;取值器不执行、原型链不算、已撤销代理不抛、逐位隔离、每次新对象。
10312
+ - **G-ID5(本版证明)**:本包出口 id(行 `uuid`、段身份、段末 `committedUuids`、attachment `id`、`memory_saved.id`、`msg_sema_` 后半段、合成终局行)全是 36 字符小写 UUID 形。
10313
+ - **G-ID6(本版证明)**:同一 `compacted`(带 `eventId`)重放两遍 ⇒ 分割线同 `uuid`、引用位 `eventId` = 它的;不带 ⇒ 两遍不同、引用位缺席。
10314
+ - **G-ID7(本版证明)**:两个 task 同 `seq` 的宿主帧 ⇒ 两个不同 id(0.97.x 上同 id);只带 `seq` ⇒ 宿主铸号;`deriveTranscriptId({ seq: 7 }, { uuid: () => 'h' }) === 'h'`。
10315
+ - **G-IDT(本版证明)**:`done` 带 `runId` ⇒ 结果帧、合成终局行(同一 `runId` 下失败 / 结局不知道两标签不撞;结果帧与合成行不撞)、终答补差行两投同 `uuid`;端直调 `terminalToSdkResult` 与 `runStream` 出口同一 `uuid`;不带 `runId` ⇒ 现铸;终局行无引用位。
10316
+ - **G-IDP(本版证明)**:`toolEndResultToUserFrame(arm).uuid` === 交互转录工具结果行 `uuid` === `tool_end` 的 `eventId`,帧上引用位与行 `sameEngineRef` 答 `same`;无 `eventId` ⇒ 两车道同一稳定派生、两投同值、引用位缺席。
10317
+ - **G-IDU(本版证明)**:同一投影内行 `uuid` 两两不同;段身份轮换后换值。
10318
+ - **G-CP1(本版证明)**:总缓存里先落 `{ taskAgents: true }`(宿主自己的探测)⇒ `prepareTaskAgentsWireWith({ baseUrl }, 投影)` 之后服务端 `/v1/capabilities` 计数不增、`taskAgentsField()` 带代理;同址 `invalidateEngineCaps(baseUrl, () => ({ taskAgents: false }))` 落定后 `taskAgentsField()` 当拍 `{}`;反向(false ⇒ true)作废重投后带代理;同址换代后**再准备**(不调作废口):false ⇒ true 就绪后第一次读就带,true ⇒ false 新探测在飞时就绪门不放行、落定后放行且不带。
10319
+ - **G-CP2(本版证明)**:`readEngineAgentRegistry(client, sid, undefined)` / 没落地的键 ⇒ `{ kind: 'unavailable', why: 'capability_unknown' }` 且零请求;落 `{ background: { listFace: true } }` 的键 ⇒ 恰一次 GET;`invalidateEngineCaps(键)` 之后 ⇒ `capability_unknown`;第三参交 caps 对象 ⇒ `capability_unknown`、零请求。
10320
+ - **G-CP3(本版证明)**:包源码里 `taskHandles` 能力位只在 `engineTaskHandlesCapable` 一处读;连线形 `capsBaseUrl` 缺席 ⇒ 读输出 `null` / 停止 `unavailable`、零请求(与修前同)。
10321
+ - **G-CP4(本版证明)**:落 `{ centerWiring: { …, lease: 'configured', caller: { lease: 'enforced' } } }` ⇒ `observedCenterWiring(键).view` 无 `caller`、`callerQuotaLease` 答 `unknown`;同一回体直调 `projectCenterWiringCapability` ⇒ `enforced`。
10322
+ - **G-CP5(本版证明)**:`rewindRestoreFilesEpochDetail({ kind: 'present', …, restoreFilesEpoch: 'not_reported' })` 不含 `older` / `version` / `upgrade`。
10323
+ - **G-CP6(本版证明)**:同一段 JSON 文本在本 realm 与 `vm.runInContext('JSON.parse(…)')` 各解析一只、各落一个地址 ⇒ 全部能力位读器与按键读口逐值相同(修前附件席位读器 `not_reported` / `unreadable`)。
10324
+ - **G-CP7(本版证明)**:`executionLane.isolated` 换成自有访问器 ⇒ `projectExecutionLaneCapability` 答 `undefined`、取值器零执行;经总缓存 ⇒ `observedExecutionLane` 答 `unreadable`、`toolsRunHereFromExecutionLane` 答 `false`。
10325
+ - **G-CP-IE1(本版证明,absent 腿)**:对支持底线服务端(7.126.0)的真回体:`observedInheritEnvOwnCredentialsWithheld(baseUrl)` ⇒ `{ kind: 'absent' }`;交互车道 ∧ `projectContextConfirmed: true` ∧ 身份已核 ⇒ `{ send: 'omit', reason: 'capability_absent' }`,`inheritEnvNoticeOf` 给出那一句(逐字节);能力探测没落地时读数 `unobserved` ⇒ `capability_unreadable`(同一句)。
10326
+ - **G-CP-IE2(候服务端 7.129.0;本版不可证)**:服务端顶层铸 `"inherit_env.own_credentials_withheld": true` 时读数 `confirmed`,四件齐 ⇒ `{ send: 'all' }`、`inheritEnvNoticeOf` 答 `undefined`;`false` ⇒ `declined`(`valueShape: 'false'`)。支持底线服务端与它精确钉的引擎不铸这把键,本包门里只能用构造回体证这一腿的判定逻辑,真回体待 7.129.0 夹具。
10327
+ - **G-CP9(本版证明)**:`resetManualCompactCapability`(已退役,退出公面)不在根入口;`/compact` 能力读数 `invalidateEngineCaps` 换代后按新读数走。
10328
+ > 纯包层,走根入口公面:`import { claimApprovalCard, joinApprovalHolder, surfaceToolApprovalFrameAndRespond, surfaceFsApprovalAndDecide, approvalSupersedesDetail, approvalParkingNoticeText, answerPayloadFor, answerCarriage, observeApprovalAnswerCommitted, rememberOfferable, standingRowsOf, localAllowRuleEnforceable, lateDecideOutcomeOf, LATE_DECIDE_OUTCOMES, replayedApprovalDisposition, replayedApprovalClosesCardFrame, fileHistoryUnjudgedRefusal, RESPOND_DECISIONS } from '@sema-agent/client-core'`(HL 行)。
10329
+ - **G-HL1(本版证明)**:`claimApprovalCard({ approvalId: 'A' })` ⇒ `held`;随后同一 `approvalId` 的活卡帧进 `surfaceToolApprovalFrameAndRespond` ⇒ 零卡零 respond;`hold.release('answered')` ⇒ 活卡入口 `joinedInFlight`、仍零卡零 respond,`replayedApprovalDisposition(帧)` ⇒ `decided` · `answered`;`joinApprovalHolder({ approvalId: 'B' })` 在 B 被宿主登记期间不答、`release('answered')` 后 `joined`。
10330
+ - **G-HL2(本版证明)**:停驻行卡在屏(同 run 同调用)⇒ 同一只审批的活卡帧零卡、零 respond,停驻行答 allow ⇒ 活卡入口 `{ decision: 'allow', joinedInFlight: true }`(修前:第二张卡 + 一发 respond);停驻行卡已答、决断在送 ⇒ 同调用的下一只审批照常呈卡。
10331
+ - **G-HL3b(本版证明)**:停驻行卡(问类 `ask_rule`)在屏 ⇒ 同调用问类不同的活卡帧照常呈卡、不等;停驻行 decide 回执说重开 ⇒ 等着的活卡不 join、接手呈卡;转停驻收口之后宿主 `release('answered')` ⇒ 再登记 `joined`、收口谓词 `true`。
10332
+ - **G-HL3(本版证明)**:宿主 `release()` 不给结算 ⇒ 等着的活卡入口 / 宿主路之后接手(恰一张卡一发);等另一条宿主路时本路信号中止 ⇒ `joined` + 什么都没发、那一路登记不动;零身份 ⇒ 当拍 `held`。
10333
+ - **G-HL4(本版证明)**:活卡答 allow、respond 回 202 停驻中 ⇒ 同一调用的停驻行卡 `supersedes` = `{ approvalId: <上一张>, priorAnswer: 'allow' }`,`approvalSupersedesDetail` 句含 `(Yes) did not reach the engine`;上一答被收下 ⇒ 接替位不带 `priorAnswer`。
10334
+ - **G-HL5(本版证明)**:停驻行 `deadline = now + 60 s` ⇒ 卡 `parkRow.deadlineMs` 原值;缺席 / 48 h / 串形 ⇒ 不带;活卡不带 `parkRow`。
10335
+ - **G-HL6(本版证明)**:`approvalParkingNoticeText()` 与基句常量逐字同;`(1500)` 句尾 `(the engine suggested waiting about 1.5 s)`。
10336
+ - **G-HL7(本版证明)**:`answerPayloadFor({ kind: 'allow', allowSession: true }, 'decide')` ⇒ `{ decision: 'approve', remember: 'session' }`;`({ kind: 'deny', reason: 'r' }, 'respond')` 无能力位 ⇒ `{ decision: 'deny' }`、能力位真 ⇒ 带 `note`;放行带 `note` 的卡经活卡腿 ⇒ respond 体零额外键。
10337
+ - **G-HL8(本版证明)**:`answerCarriage(任何卡)` ⇒ `{ allowNote: 'none' }`。
10338
+ - **G-HL9(本版证明)**:活卡人答 ⇒ 恰一枚事件(`lane: 'respond'`);耐久腿本会话放行被拒 remember、回退纯批准(决断两发)/ 去归因键重发 ⇒ 仍恰一枚;卡口失败 / 撤卡 ⇒ 零枚;监听器同步抛或 async 拒绝 ⇒ 决断照发、零未处理拒绝;拒因取值器随读变化 ⇒ 上 wire 的 `note` 与交回的拒因同一只读数。
10339
+ - **G-HL10(本版证明)**:带记不住位的卡 ⇒ `{ session: 'refused', persistentRule: 'unknown', deploymentList: 'refused' }`;语料逐卡与 `standingRowsOf` 同答。
10340
+ - **G-HL11(本版证明)**:能力位没观测 ⇒ `{ enforceable: false, engine: 'kept', keptReason: 'allow_capability_off' }`;宿主阶梯真 ⇒ 可执行 `by: 'host_ladder'`;值级端口没装 ⇒ `engine: 'unreadable'`、不可执行。
10341
+ - **G-HL12(本版证明)**:respond 腿 202 停驻中体 ⇒ `unknown`;`409 approval.expired` ⇒ `expired-reaped`;`409 conflict.ask_decided` ⇒ `settled-elsewhere`;`410` ⇒ 带 `probeWorthy`;只有散文 `already resolved` ⇒ `unknown`;与终端现形冻结副本 19 形逐形同答(登记分歧一类见 126b)。
10342
+ - **G-HL13(本版证明)**:进程已结 `answered` 的问 ⇒ 收口谓词 `true`;转停驻收口帧 ⇒ 处置带 `parked: true`、谓词 `false`。
10343
+ - **G-HL14(本版证明)**:读数 `{ kind: 'present', word: 'on-always' }` × 收紧 ⇒ 拒句含 `reported a file-history capture mode this client does not recognize`、不含 `did not report`。
10344
+ - **G-HL15(本版证明)**:`RESPOND_DECISIONS` 冻结且恰三词;`answerPayloadFor(a, 'respond').decision` 对放行 / 本会话放行 / 拒与终端回落腿映射式同答。
10345
+ - **G-ST1(本版证明)**:二十五处出站判点 × 七种非普通载体(`Date` / `Map` / `Set` / 数组 / 原型被摘掉的数组 / 类实例 / 自定义原型)带同一份合法位 ⇒ 全拒且拒因点名普通对象;普通对象与 `null` 原型对象带同一份位 ⇒ 过(正控);九处嵌套位(队列行 / 命中行 / 会话态行 / 搜索信封行 / 绑定对 / 事件的 request · session · chrome · 车道证明)同判;`seatCapability` 对七种载体答 `malformed`;前提格:结构化克隆真的丢掉 `Date` / `Map` / `Set` 上的自有位;跨 realm 普通对象(另一个 vm 上下文里的 `{}`)带同一份位 ⇒ 过(正控);`listModels` 的行与缺省位用 `Date` 带 `name` / `id` ⇒ 拒。负控:把任一处 `isPlainRecord` 换回只判对象 ⇒ 该处格红;把原型判据退回恒等比对本 realm 的 `Object.prototype` ⇒ 跨 realm 正控红。
10346
+ - **G-ST2(本版证明)**:`APPLY_MODEL_CONFIG_REASONS` 冻结恰五词按序;五词各自过出站门;自由文本 · 表外词 · 大小写变体 · 带空白 · 空串 · 数 · `null` · 对象 · `toString` / `__proto__` / `constructor` ⇒ 拒并点名 `reason` 且拒因列出闭集;`ok:false` 缺 `reason` ⇒ 拒;`detail` 非串 ⇒ 拒并点名;五句逐字、两两各异;表外输入(含密钥形的串)⇒ 同一句中性句且不回显;宿主回执 → 出站门 → 结构化克隆 → 渲染端读句口,五词各一遍读到同一句;类型探针:自由文本当 `reason` ⇒ 编译错。
10347
+ - **G-ST3(本版证明)**:`LOCAL_SESSION_EVENT_KEYS` 恰 14 位且不含四个退役位(键集 · 覆盖表 · 构建产物 d.ts 成员三处一致);事件字面量带退役位 ⇒ 编译错;事件带着四个畸形退役位 ⇒ 出站门仍放行;根入口没有名字带 `AttachmentSeat` 的导出、占位源文件不在盘;落过带 `userAttachments` 的能力回体前后同一份入参的 `encodeHumanTurn` 编码逐字节同。
10348
+ - **G-ST4(本版证明)**:铸口产物与桌面端旧构造逐字节同(两通道 × 含空串与多字节的文本);读口四态逐形;铸口产物以 `message` 事件的 `message` 位过座位出站门;真 `adapt()` 铸出的两通道 `stream_delta` 整链 铸 → 过门 → 结构化克隆 → 读,逐通道拼回原文;类型探针:`parent_tool_use_id` 非 `null` · 内层词是 CC 原始 SSE 词 · 不收窄就读 `.channel` ⇒ 编译错。
10349
+ - **G-ST5(本版证明)**:十行引擎行 → 六条消息逐键金样 + 跳过账 + 条数守恒(行 2 / 3 带出身元数据:`engineSegments` 剪掉前置提醒块、`engineMinted` 整行不出消息);**用户字面写的标签(无出身元数据)原文留下、不记不可见**;同一段文字被 `engineSegments` / `enginePrefixChars` 标明为引擎片段才剪;`engineMinted` 不是字面 `true` 不算;片段跨块 / 跨块间换行 / 越过图片块的拍平偏移;`engineSegments` 与前缀位并存时前者赢、前者畸形时作废不回落;元数据位是取值器 / 只在原型链上 ⇒ 当缺席;`toolResult` 不丢;同入同出含 `uuid`;时间戳诚实缺席五形与 `0` 起点;外层数组空洞 · `Array.prototype` 上的同名下标项 · 缩短数组的取值器槽位不伪造行、不吞尾行;`tool_use.input` 与表外块型夹函数 · 符号 · bigint · `NaN` · `Infinity` · `Date` · `Map` · 取值器 · 环 · 5000 层嵌套 ⇒ 该块丢并记账、整批仍可结构化克隆并过 `getTranscript` 出站门,产物与入参不共享引用;每条产物过座位出站门,整批作 `getTranscript` 回执过出站门,结构化克隆后逐字节同。
10350
+ - **G-UP1(本版证明)**:多 run 并发各留一张卡 ⇒ `readAssistantInbox(client.assistant)` 的 `entries` 次序逐位等于线上次序,壳不重排(屏上顺序 = 读数顺序);服务端未挂车道(501)⇒ `not-reported`、整臂不渲;401 ⇒ `unavailable / unauthorized`;回体无 `inbox` ⇒ `unavailable / unreadable`(不是空清单)。交 test:两条 run 同时停在不同严重度的门上,比服务端答、读数、屏上三处顺序。
10351
+ - **G-UP2(本版证明)**:在跑的 run 上 `router.preempt()` ⇒ 恰一发 `POST /v1/assistant/tasks/:id/preempt`、结局 `yield-requested`、回执句「Asked the run to yield …」(**不说已让位**);run 在下一个 turn 边界挂起后再 preempt ⇒ `already-parked` 带真停驻词;不可让位的腿 ⇒ `not-eligible`、run 照跑;preempt 悬着时 `submit` 换了在飞 run、迟到的 501 ⇒ 回落取消的是被要求让位的那一只、新任务一发 cancel 都没有;`RESOURCE_SUSPEND` 未开(501 `feature.preemption_disabled`)⇒ 缺省回落 cancel(`cancelled-instead`,run 终态化),`onUnavailable: 'report'` ⇒ `unavailable`、run 不动;5xx / 断网 ⇒ `unconfirmed`,wire 恰一发。
10352
+ - **G-UP3(本版证明)**:签发 ⇒ `ok` 带令牌(令牌不出现在任何其它结局与句子);限速 ⇒ `rate-limited` 带 `Retry-After` 秒数;注册 403 `device.enrollment_invalid` ⇒ `enrollment-invalid`;吊销回显别的 deviceId ⇒ `unconfirmed`;真 403 `device.identity_mismatch` ⇒ `deviceIdentityMismatchOf` 命中,`boundDeviceId` 只在引擎结构化位给出时才带。
10353
+ - **G-UP4(本版证明)**:同一帧 `{ type: 'task_progress', seq: 2 }`(无 `id`)⇒ 包读数 `undefined`,桌面端换读之前的自算件答 `"2"`;游标 157 之后喂这一帧,`lastSeq()` 仍 157;数值 `id` `7` ⇒ `"7"`。交 test:桌面端换读后,同一帧两端读数逐字节同。
10354
+ - **G-UP6(本版证明)**:`hookMatcherVerdict('PreToolUse', '(')` ⇒ `refused / invalid_regex`(此前 `unjudged / invalid_pattern`),与服务端受理面的真判官 `toolMatcherIssue` 逐形同答(编不过 ⟺ 拒;本口判拒的形服务端同因拒;服务端会拒的形本口一个都不答受理);服务端 7.126.0 真拒体经 sdk 映射后 `hookMatcherRefusalFromError` 读出 `{ reason: 'invalid_regex', event, groupIndex }` / `{ reason: 'over_budget', event, groupIndex, budgetMs }`。
10355
+ - 逐代读法表 G-PK8c 见本节下方(F23 / F32 两格「本口」列改「拒(形)」)。
10356
+ **G-PK8c 逐代读法表**(0.98.0 CC-717;§124 那张 G-PK8 随段冻结、不再读;本张只改「本口」一列的两格 —— F23 / F32 由「不判:invalid_pattern」改「拒(形)」:编不过的正则形本口判拒、理由 `invalid_regex`。「拒(形)」在服务端各列 = 7.126.0 起对编不过的正则形 / 求值超过时限的正则形答 `400 request.field_invalid`〔拒体 `detail.reason` 不是 `dead_alias`〕;F34(求值超时形)本口仍答「不判:over_budget」—— 静态上界会圈进服务端受理的形,不升成判拒,见 126b UP-6)
10357
+ | # | matcher(`PreToolUse` 上;JSON 串写法) | 本口 | ≥7.126.0 | 7.125.x | 7.114.x–7.124.x | 7.113.x | ≤7.111.x |
10358
+ |---|---|---|---|---|---|---|---|
10359
+ | F01 | `"Read"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10360
+ | F02 | `"ListAgents"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10361
+ | F03 | `"ListPeers"` | 拒 | 拒 | 拒 | 拒 | 拒 | 受理 |
10362
+ | F04 | `"Read\|ListPeers"` | 拒 | 拒 | 拒 | 拒 | 拒 | 受理 |
10363
+ | F05 | `"Read,ListPeers"` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10364
+ | F06 | `" ListPeers "` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10365
+ | F07 | `"Read \| ListPeers"` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10366
+ | F08 | `"\|ListPeers"` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10367
+ | F09 | `"ListPeers,,"` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10368
+ | F10 | `"ListAgents\|ListPeers"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10369
+ | F11 | `"ListPeers, ListAgents"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10370
+ | F12 | `"listpeers"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10371
+ | F13 | `"LISTPEERS\|Read"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10372
+ | F14 | `"List Peers"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10373
+ | F15 | `" "` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10374
+ | F16 | `"Foo"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10375
+ | F17 | `"List.*Peers"` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10376
+ | F18 | `"ListP.*"` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10377
+ | F19 | `".*Peers"` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10378
+ | F20 | `"^ListPeers$"` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10379
+ | F21 | `"ListPeers?"` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10380
+ | F22 | `"\\bListPeers"` | 拒 | 拒 | 拒 | 拒 | 受理 | 受理 |
10381
+ | F23 | `"ListPeers)\|(Read"` | 拒(形) | 拒(形) | 受理 | 拒 | 受理 | 受理 |
10382
+ | F24 | `"List.*"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10383
+ | F25 | `"List(Peers\|Agents)"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10384
+ | F26 | `"mcp__srv__.*"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10385
+ | F27 | `"list.*peers"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10386
+ | F28 | `"ListPeers\t"` | 受理 | 受理 | 受理 | 受理 | 受理 | 受理 |
10387
+ | F29 | `""` | 全匹配 | 受理 | 受理 | 受理 | 受理 | 受理 |
10388
+ | F30 | `"*"` | 全匹配 | 受理 | 受理 | 受理 | 受理 | 受理 |
10389
+ | F31 | (键缺席) | 全匹配 | 受理 | 受理 | 受理 | 受理 | 受理 |
10390
+ | F32 | `"("` | 拒(形) | 拒(形) | 受理 | 受理 | 受理 | 受理 |
10391
+ | F33 | `"(?=ListPeers)ListPeers"` | 不判:pattern_unsupported | 拒 | 拒 | 拒 | 受理 | 受理 |
10392
+ | F34 | `"(?:.\|.\|.\|.\|.\|.\|.\|.\|.\|.)*Z"` | 不判:over_budget | 拒(形) | 受理 | 受理 | 受理 | 受理 |
10393
+ | F35 | `"ListPeers"` + 8184 个空格(共 8193 字符) | 不判:oversize | 受理 | 受理 | 受理 | 受理 | 受理 |
10394
+ | F36 | `"ListPee."` | 拒 | 拒 | 拒 | 受理 | 受理 | 受理 |
10395
+ | F37 | `"Peers$"` | 拒 | 拒 | 拒 | 受理 | 受理 | 受理 |
10396
+ | F38 | `"ListPeers\|Agent."` | 受理 | 受理 | 受理 | 拒 | 受理 | 受理 |
10397
+ - **G-PK1(本版证明)**:`askOriginNoteOf('plan_review') === undefined`;`askOriginDetail('plan_review')` 非空、不含 `newer than this client`、不含 `plan_review`;`persistedRuleMatchLabel('host')` 与 `('subdomain')` 互异且都含 `domain`。
10398
+ - **G-PK2(本版证明;行为变)**:`cloudMcpToSpecs([{ name: 'a', transport: { kind: 'http', url: 'https://h', assertionHeader: 'connector-assertion' } }], {})` 的 spec 带 `transport.assertionHeader === 'connector-assertion'`、不记丢弃(0.97.x:不带);同设 `principalHeader` ⇒ 整条丢、成因 `principal-and-assertion-header`;`mcpConfigToSpec('a', { type: 'http', url: 'https://h', assertionHeader: 'connector-assertion' })` 带同一位(0.97.x:不带);两位同设 ⇒ `null`;`readMcpHttpIdentityHeaders` 与两条腿逐形同答。
10399
+ - **G-PK3(本版证明)**:上面那份 spec 交 `mcpAssertionHeaderNotSentNotice` ⇒ 一句、含 `"a"`、`assertionHeader`、`up to 7.129.1`(🔁 同版随支持底线由 `7.128.0` 改说)、`do not send`;`projectEffectiveBody` 的投影交 `cloudEffectiveNotices` ⇒ 恰一条 `warn` 以 `cloud config: ` 起头、以那一句收尾;入参不带 `mcp` ⇒ 不出这一句、不抛。
10400
+ - **G-PK4(本版证明;修 0.96.0 起的 G-WR5)**:`cloudModelsToDoc({ models: [{ name: 'b', id: 'b' }], roles: { default: { model: 'b', effort: 'high' } } }, { entryAccepted: () => true })` ⇒ 文档里的 `roles.default` 不是入参那只对象、入参事后改不影响文档;`model` 是取值器(首读 `b`、再读别的)⇒ 文档里 `model` 是数据位 `b`、取值器只跑一次;`models` 条目同样不是入参对象。
10401
+ - **G-PK5(本版证明)**:`cloudExecutionToPolicy({ sessionMirror: { engineUrl: 'https://h/a//', required: true } }).sessionMirror.engineUrl === 'https://h/a'`(与 0.97.x 同);`'https://u:p@h/'` ⇒ 原样 + `required: true`(0.97.x:去尾斜杠);`' https://h/ '` ⇒ `'https://h'`;中段五万斜杠 + 非斜杠结尾 ⇒ 毫秒级。
10402
+ - **G-PK7(本版证明;型面 BREAKING)**:`computeDeleteBlockers({ id: 'v', doc: { default: 'v' }, rosters: null })` ⇒ `[]`(0.97.x:一条 `default` 阻断);`computeDeleteWarnings({ id: 'v', doc: { atModelAllowlist: ['v'] }, tierGroups: null, survivingIds: [] })` ⇒ `[]`;带 `default` / `atModelAllowlist` 的云回体与去掉它们的同一份回体投影逐字节同(文档 / 问题账 / 告示)。
10403
+ - **G-PK8(本版证明;型面 BREAKING)**:`readLiveModelCatalog({ models: [{ name: 'a' }] })` ⇒ `kind: 'read'`、目录上没有 `default` 键(0.97.x:`unreadable / default_missing`);服务端真回体(带 `default` 与 `defaultModel`)⇒ 目录键 = `models` / `defaultModel` / `droppedEntries`。
10404
+ > LF 组(纯包层,走根入口公面):`import { readOwnDataNonEmptyString, readOwnDataFiniteNumber, guardedRead, wireFailureCoreOf, readTaskNotificationXml, renderTaskNotificationXml, parseTranscriptNotificationSeeds, contextUsageReadingOf, gateOutcomeOf, isDeniedGate, gateDeniedBy, createWireToCcAdapter, eventToSdkMessage, toolEndResultToUserFrame, armPlanReviewApproval, planReviewOfferedModeOf, planReviewCardOptions, planReviewChoiceFromAnswer, reopenPlanReviewCard, respondToQuestion, onQuestionFrame, registerArmedGateFromQuestionId } from '@sema-agent/client-core'`。
10405
+ - **G-LF1(本版证明)**:`readOwnDataNonEmptyString({ k: 'v' }, 'k')` ⇒ `'v'`;`({ k: '' }, 'k')` / 原型链上的 `k` / 自有访问器(取值器零次执行)⇒ `undefined`;`readOwnDataFiniteNumber({ k: 0 }, 'k')` ⇒ `0`,`NaN` · `Infinity` · `'5'` ⇒ `undefined`;`guardedRead(() => { throw new Error() })` ⇒ `undefined`、`guardedRead(() => 0)` ⇒ `0`。`wireFailureCoreOf({ status: 404, errorCode: 'not_found.route', message: 'm' })` ⇒ 恰这三位、键序同;`wireFailureCoreOf({})` ⇒ `{ message: WIRE_FAILURE_UNRENDERABLE_TEXT }`(不是 `[object Object]`);`wireFailureCoreOf('boom').message` ⇒ `'boom'`;`message` 取值器抛的对象 / 已撤销代理 ⇒ 不抛、该位缺席;真 sdk 错误实例读得出三位;对端上旧 `shapeOf` 的 6000 条 JSON 形对拍:`status` / `errorCode` 逐形相等、`message` 给了 ⇒ 相等、没给 ⇒ 固定句(唯一差别)。
10406
+ - **G-LF2(本版证明)**:`readTaskNotificationXml(renderTaskNotificationXml({ taskId: 't', status: 'failed', summary: 's' }))` ⇒ `{ taskId: 't', status: 'failed', external: false }`;`taskType: 'external'` 且有 `externalSource` ⇒ `external: true`;`''` / 普通文本 / 非串 / 只有 `<task-id>t</task-id>` 片段 / 块没有闭标签 / `<task-notifications>…</task-notification>` ⇒ `undefined`;块里缺 `<status>` ⇒ `{ taskId, external }`、两位都缺 ⇒ `{ external: false }`、未闭合的 `<task-id>` ⇒ 该位缺席而 `status` 照读;两块并存读第一块、第一块读不出两位时仍读第一块;渲 → 读对 `< > & " '`、换行、空白逐形互逆(4000 条);批量口读数对 0.97.1 整串正则实现(门内冻结原文)3 万条 × 三种消息形不等 0;四类对抗串(各 40 万候选)单条口 + 批量口在子进程 8 s 内收场(旧实现在其中两类上超时)。
10407
+ - **G-LF3(本版证明)**:`contextUsageReadingOf({ usedTokens: 100, windowTokens: 200, compactAtTokens: 150, sections: [{ id: 'a', tokens: 3, kind: 'k' }] })` ⇒ 原值同序;`{ usedTokens: 0, windowTokens: NaN }` ⇒ `{ usedTokens: 0 }`;`sections` 里 `{ id: '', tokens: 1 }` · `{ id: 'x', tokens: NaN }` · `null` · 数组行逐条丢、`{ id: 'neg', tokens: -2 }` 留、多余键(`chars` · `contentHash`)不过境、`kind: ''` ⇒ 无 `kind` 键;全丢光 ⇒ 无 `sections` 键;四位都缺 ⇒ `undefined`;自有访问器零次执行、原型链上的位不算、行上的陷阱只丢那一行、已撤销代理不抛、5000 行只读 1024 行。同一帧走 `eventToSdkMessage` → `adapt()` 与直喂 `adapt()` 的 chrome 载荷逐字相同(含毒行 / 全坏 / 非有限共 6 帧);直喂毒行 `sections` 只剩好行(修前原样进 chrome);直喂全坏 `sections` 且无标量 ⇒ 零 chrome;带 `parentToolCallId` ⇒ 零 chrome(不变);同一帧「读原始帧」与「读它的 chrome 事件」得同一份读数(车道无关);对网页端旧 `readContextUsage`(冻结原文)8000 条 JSON 形对拍逐形相等(旧口的空数组 `sections` 归一成缺席之后)。
10408
+ - **G-LF4(本版证明)**:`tool_start` + 带 `gate` 的 `tool_end`(人拒 + 结算 / 分类器拒 / 限额窗到点 / 放行 / 放行带模式放行账)经 `eventToSdkMessage` → `adapt()`:工具结果行信封顶层 `_sema_gate` 逐形等于 `gateOutcomeOf(帧)`;`tool_result` block 里没有该键;两次投影不共享引用;无 `gate` / 不成形(`null` · `{}` · 处置读不出 · 只有结算)/ `errorCode: "gate.parked"` ⇒ 键缺席(不铸 `null`);`toolEndResultToUserFrame(臂)` 的 `_sema_gate` 与交互行逐字同;手搓臂上视图形 / 裸 wire 形得同一份、注入的键与不成形的结算段不过境;读器对视图幂等(600 条生成池)、五只判官(`isDeniedGate` · `gateDeniedBy` · `isDenialLimitAutoDeniedGate` · `isApprovalWindowExpiredGate` · `isParkSlaExpiredGate`)对 `row._sema_gate` 与对裸帧视图答案逐帧相同。
10409
+ - **G-LF5(本版证明)**:`armPlanReviewApproval(park, undefined, { submittedInPlanMode: true, wire })` 立卡后 `planReviewOfferedModeOf(帧)` / `(帧.questionId)` / `({ questionId })` 都答 `'three_choice'`;不声明 / 声明 `false` ⇒ `'two_choice'`;`respondToQuestion` 决断性作答(Auto 的 Yes)或 Esc **之后**仍答原档(此时用该档标签集读同一份作答 ⇒ `approve` + `permissionModeAfter: 'acceptEdits'`,缺省两选读域读成 `'dismissed'`);重开卡(`#reopen-*`)与从未见过的重开身份串都答 `'two_choice'`,首呈 canonical id 仍答原档;在场卡被重放 arm(这回声明 `false`)⇒ 屏上重呈的仍是三选、仍答 `'three_choice'`,卡被关后再 arm 按新声明记;canonical 复用重开同首呈档;从未呈过的 `plan-review:*` id / 非计划卡 id / 非串 / 空形 / 坏形 ⇒ `'unknown'`;标签自相矛盾且 id 无记录 ⇒ `'unknown'`;卡面是老两选而台账说三选 ⇒ 看卡面(`'two_choice'`);70 张卡 ⇒ 最早 6 张答 `'unknown'`、后 64 张原档;已撤销代理 / 陷阱 / 访问器 ⇒ `'unknown'` 不抛、取值器零次;与终端自记台账模型(冻结)在 160 步随机序列(arm 声明 · 作答 · Esc · 重开交错 × 3 个任务)上标签集逐步相等。
10410
+ - **G-LF6(本版证明)**:`reopenPlanReviewCard(t, { presentationReceiptMs: 200, … })` 与所有守卫拒绝臂(无呈现端口 · 空 taskId · 非默认槽无投递口)都返回 `Promise`;不带回执窗或回执窗为 `null` · `NaN` · `'200'` · `{}` · `true` ⇒ resolved `{ reopened: false }`、零新帧、在场卡与 responder 不动;`presentationReceiptMs: 0` 照呈卡;`tsc --strict` 下 `reopenPlanReviewCard('t', {})` 编译红且点名 `presentationReceiptMs`、带回执窗的调用得 `Promise<ReopenCardVerdict>`;源里 `reopenPlanReviewCard` 只剩一条声明、返回型 `Promise<ReopenCardVerdict>`、没有「回执窗是否缺席」的同步分支;退役账 RL-116 在已退役栏、锚(同步重载声明)不在源里。
10411
+ > CS 组走根入口:`import { connectorStatusOf, connectorStatusLine, readMcpCapabilities } from '@sema-agent/client-core'`;下文 `face(rows)` = `{ status: 'face', face: { probedAt: 't', ttlSec: 30, servers: rows } }`,行带 `liveness: { state, observedAt: 1 }`。
10412
+ - **G-CS1(本版证明)**:`connectorStatusOf({ name: 'gitea', mountFace: face([]) })` 与 `face([{ name: 'github', status: 'connected', liveness: { state: 'reachable', observedAt: 1 } }])` 两形 ⇒ `{ kind: 'reader', status: { state: 'unmounted' } }`;`status` 合契约 `schemas/connector-status-v1.json` 的 `ReaderMintedStatus`(只带 `state`)。
10413
+ - **G-CS2(本版证明)**:`face([{ name: 'gitea', status: 'failed', errorCode: 'connect_refused', liveness: { state: 'unreachable', observedAt: 1 } }])` ⇒ `{ kind: 'reader', status: { state: 'unreachable' } }`;同一行改 `errorCode: 'http_status', httpStatus: 401, liveness: { state: 'unknown', observedAt: 1 }` ⇒ `{ kind: 'unknown', why: 'probe_undecided' }`(不是 `unreachable`);`status: 'failed'` 而 `liveness.state: 'reachable'` ⇒ `{ kind: 'self_reported', state: 'unknown' }`。
10414
+ - **G-CS3(本版证明;负控)**:`mountFace` 为 `{ status: 'refused', cause: 'face_absent', message: 'm' }` 或 `{ status: 'unknown', why: 'no_verdict', message: 'm' }` ⇒ `{ kind: 'unknown', why: 'mount_face_unreadable' }`(**绝不** `unmounted`);服务端对 `GET /v1/capabilities/mcp` 答 404 `not_found.route` 时经 `readMcpCapabilities` 同落此臂;`name: ''` ⇒ `{ kind: 'unknown', why: 'name_unreadable' }`;`probeMcpServers(client, { specs: [], capability })` 的结局(空面)交 `mountFace` ⇒ 编译红(`McpProbeOutcome` 不可赋给 `McpDeploymentOutcome`),绕过型面运行期交进来 ⇒ `mount_face_unreadable`。
10415
+ - **G-CS4(本版证明)**:`connectorStatusLine` 对上面各读数逐一答互异的一句;`unmounted` 那一句带 `default`(射程:缺省场景的名单);`connectorStatusLine(r, 'zh')` 与缺省同句;`connectorStatusLine(null)` ⇒ 兜底句,不抛。
10416
+ - **G-TK1(host 车道,恢复生效;交 test)**:终端本机引擎,设置 `permissions.deny: ["Read(~/.ssh/**)"]`,`~/.ssh/` 下放探针文件,让模型读它。**期望**:体上含原串;受理;读被拒;开机不再出现「cannot anchor」。**修前**:体上没有,读成功。值形原样存证。
10417
+ - **G-TK2(无家目录车道;交 test)**:同一设置,远端执行车道 ∈ {k8s, local-docker, ssh, device} 且未声明车道家目录 ⇒ 每条消息 `422 request.unprocessable`,句子含 `home-relative path rule (Read(~/.ssh/**))` 与三条出路;零模型调用。另格:声明车道家目录为 `/home/x` ⇒ 受理、按 `/home/x/.ssh` 生效。包侧已在现役服务端夹具上逐条实跑受理读数(门 permissions-declaration TK9:`~/` 无家目录拒、有家目录收)。
10418
+ - **G-TK3(拒收形 / 名字关,任一车道;交 test)**:deny 分别 `Bash(rm * -rf)` / `WebFetch(example.com)` / `MultiEdit` / `foo__bar` ⇒ 每条消息 422 点名该条与判词。
10419
+ - **G-TK4(命令行 deny;交 test)**:`-p --disallowedTools 'Read(~/.ssh/**)'` 两车道,同 G-TK1 / G-TK2(`-p` 非零退出、stderr 带服务端句子)。
10420
+ - **G-TK5(型面;交 test)**:桌面端 / 终端升级前编译 ⇒ 126y TK 段点名各处红;删后绿。
10421
+ - **G-TK6(代理定义;交 test)**:① 129 字符的条目 / 65 条 / `tools` 一条超长名 / 名 65 字符 / `maxTurns: 5000` ⇒ 请求 400 点名字段、零模型调用(修前:受理,约束被本包丢掉)。33 只代理:本版照旧截到 32 + 一行。② `tools: []` 的代理 ⇒ `allowTools: []` 上体(修前继承全部);记录模型看到的代理清单句与子代实际可用工具(KL-778)。③ 非内置 `audit` + `disallowedTools: ["bash"]`:终端同一会话先有过一次成功开跑、之后又重投过(名册在手)⇒ 改写、子代没有 `Bash`;冷会话首发 / 每次 `-p` / 桌面端(名册缺席)⇒ 不改写、原样 `["bash"]`、代理照送(🔁 同版扣送开关已删,§126 RD-2;deny 侧零告警句)。④ 用户级 `general-purpose` + `disallowedTools: ["Bash", "KillShell"]`,名册在手 ⇒ 代理照送(内置版不再顶上)、`KillShell` 改写成 `TaskStop`。包侧证明:门 agents-wire-directory TK6(投出形喂现役服务端受理判据、改写后的载荷过开发依赖引擎的真判官)。
10422
+ - **G-TK7(allow 不变,负控;本版证明)**:设置桶 allow 写 `Read(~/.ssh/**)` / `MultiEdit` ⇒ 体上 allow 不含它们;allow 三形(放行 / allow 层 / 能力位为假)去向与修前逐字节同(门 permissions-declaration TK7)。
10423
+ - **G-TK8(桌面端 → 座位 → 网页端;交 test,先决于两端换读)**:① deny `WebFetch(network error)` 与 `Read(~/timeout/**)`(无家目录车道)各一次 ⇒ 座位事件 `code: 422`、`_sema_turnFailure.category = "invalid_request"`、`retry.offer = false`、无 `errorCategory`;网页端「请求被拒」类卡、不提网络、无「再试一次」、详情是服务端原句(修前:「Connection lost」/ 流静默卡且可重试)。② `429 quota_exhausted` 与 `429 usage.window_exhausted`(带等待窗)⇒ 前者无重试、后者有且显示等待秒数;`500 corrupt_session` 与普通 500 同理(修前同一张卡)。③ 受理形对照:deny `Bash(socket hang up)` 受理 ⇒ 不出任何失败卡。④ 连接断 ⇒ 新键 `category = "connection_lost"`,网页端仍是连接断卡。⑤ 人为构造一条两键同在、类别词表外、`_sema_turnFailure` 坏形的 error 事件 ⇒ 渲染端仍见失败(不是「完成」)。包侧证明:门 turn-failure-presentation TS、seat-contract-keys F-TF0 / F-TF1。
10424
+ - **G-TK9(包拒装 ⇒ 零请求;交 test)**:桌面端 / 终端首发,让值级端口缺席(或判官答表外词)⇒ 这一发零请求、用户看到一句「权限规则装配失败,这一发没有提交」;抛出物 `assemblyRefusalOf` 读得出。对照格:宿主自己的设置读冲突(不是包拒装)⇒ 按各端既有处置,本格只断言两类分得开(修前:照跑、不带 permissions)。包侧证明:门 permissions-declaration TK13(含 esbuild 压缩包对拍)。
10425
+ - **G-TK10(代理就绪门失败 ⇒ 零请求;交 test)**:让代理投影闭包抛(例:代理目录读权限被撤)或挂住超过就绪上限 ⇒ 这一发零请求 + 一句告;恢复后下一次照常发出。用户级 `general-purpose` 覆盖存在时,修前那一发不带它、委派拿到内置全工具版。包侧证明:门 agents-wire-directory TK14。
10426
+ - **成文改口(判据眼)**:旧「`~/` / 编译不了的 deny 不上体、请求照跑」「超帽条目剔掉、请求照跑」「名册在手时拼错 deny 的代理不送」「就绪门超时 / 投影失败照放」作废;新:上体,本该生效的生效,名册在手才改写,其余 422 / 400 / 引擎拒或照跑并告;拒装与就绪门失败 ⇒ 这一发不提交。验收方别把新的 422 / 400 / 「这一发没有发出」判成红。
10427
+ > 纯包层,走根入口公面:`import { bridgeAskUserQuestionGates, surfaceFsApprovalAndDecide, reopenPlanReviewCard, createSuspendedAskTracker, isFromSubagent, startApprovalsFeed, projectDescription, CONTROL_TOOL_VERBS, eventToSdkMessage, gateOutcomeOf, ccToolDenialKindForToolEnd, coerceOutput, flattenWireOutput, SEMA_COLLATERAL_ABORT_KEY } from '@sema-agent/client-core'`。
10428
+ - **G-HM1(本版证明)**:两只 `Bash` 起跑、两只 `Operation aborted` 收口帧、`done{result:{taskId, toolCallId:'bash-g', terminal:{kind:'paused', gate:{kind:'irreversible_ask', toolName:'Bash'}}}}`,取件读面失败 ⇒ 收口帧判词 `bash-g` 无位、`bash-s` 带位;同一流去掉 `toolCallId` ⇒ 两只都无位(对照)。耐久 `suspended{toolCallId:'bash-s'}` 形 ⇒ 判词随身份(`bash-g` 带位)。宿主 `host-a` 停驻 + 子代车道帧 `child-x`(`parentToolCallId`、`gatedCallId:'child-x'`)+ 宿主旁观 `host-b`(`gatedCallId:'host-a'`)+ 宿主帧 `host-c`(`gatedCallId:'elsewhere'`)⇒ 只有 `host-b` 带位。
10429
+ - **G-HM2(本版证明)**:`allowSession` 卡、`decide` 对带 `remember` 那发抛无 `errorCode` 的 400 ⇒ 恰一发、结局 `failed`;抛 `decide.parked_remember_unsupported` ⇒ 两发(第二发无 `remember`)、结局 `decided`。
10430
+ - **G-HM3(本版证明)**:`reopenPlanReviewCard(t, { mintFreshQuestionId: false, deliverDecision })`(canonical responder 绑着)⇒ `{ reopened: false }`、零问题帧;只给 `mintFreshQuestionId: false` ⇒ 同 id 重呈;TS 里同给两者编不过。
10431
+ - **G-HM4(本版证明)**:`createSuspendedAskTracker({ allSessions: true })` 先吞盲行再吞带 `frame` 的同一行 ⇒ 两次 delta 键集都是 `appeared` / `gone`,第二次全空。
10432
+ - **G-HM5(本版证明)**:`isFromSubagent({ type:'tool_approval', approvalId:'a', sourceTaskId:'s' })` ⇒ `false`;加 `fromSubagent: true` ⇒ `true`。
10433
+ - **G-HM6(本版证明)**:`pending: [{ sessionId:'s-1', scope:'_' }, null]` ⇒ 真快照一张、`pending.length === 1`、`pendingDropped === 1`;`pending: [{}]` 持续 ⇒ 「不知道」一张、零真快照、轮询腿连续逃逸到上限转 `idle`、`listErrors` 不涨。push 模式下 `list` 依次「抛 → `[有效行, null]` → 两行完整」、期间只有心跳 ⇒ 第三次取件发生、末张快照两行无 `pendingDropped`。
10434
+ - **G-HM9(本版证明)**:`projectDescription('Task') === 'Task'`、`projectDescription('Agent') === ''`。
10435
+ - **G-HM10(本版证明)**:`eventToSdkMessage` 投影 `tool_end{isError:true, gate:{disposition:{kind:'denied', deniedBy:'persisted_rule'}, settlement:{kind:42}}}` ⇒ 臂上无 `_sema_denial_unclassified`、`arm.gate.unreadable` 为 `['settlement']`、`ccToolDenialKindForToolEnd(arm) === undefined`、`gateOutcomeOf(arm)` 与 `arm.gate` 深等;去掉 `unreadable` 重读 ⇒ `permission-rule`(证据是承重的)。成形记录 ⇒ 视图无 `unreadable` 键。
10436
+ - **G-HM11(本版证明)**:`coerceOutput({ a: 1 }) === undefined`、`flattenWireOutput({ a: 1 }) === ''`;裸串 / 块数组两口同答。
10437
+ - **G-AR1(终端)**:决断三条车道各走一遍(活卡批 / 拒 / 撤卡 / Esc;停驻卡批 / 拒;问答卡答 / 拒答)⇒ 存结局原值(`kind` / `lane` / `cause` / `gatedCallId` / `deny`),零 `'unresolved'`。
10438
+ - **G-AR2(终端)**:同一张卡决断被拒(409 绑定不符 / 404 / 503)⇒ 存 `refusal` 原值,`classifyDecisionRefusal(结局)` 与 `classifyDecisionRefusal(原抛出物)` 同答。
10439
+ - **G-AR3(终端)**:decide 撞 5xx / 503 + `capability.*` / 409 / 断网 / 绑定不符 ⇒ 存 cause、`refusal.status`、`refusal.standing`、`safetyCode` 原值。
10440
+ - **G-AR5(计划审阅 / 压缩)**:决后 / 压缩撞 500 `corrupt` / 501 无码 / 503 + `capability.*` ⇒ 模型尾句与压缩结局原样存(期望见 126y 行为变)。
10441
+ - **G-AR6(桌面端 / 终端)**:停驻卡决断撞 409 `conflict.not_resumable` / `gate_not_tool_approval`(机读形与 sdk 构造形各一)⇒ 宿主收卡、不重抛;`resume.preflight_rejected` 两形(`retriable: true` / 非 true)读数原样存。
10442
+ - **G-TR1(终端)**:卡停过审批窗 ⇒ 停驻 ⇒ 迟批且跟跑(跟跑口声明 `continuesPark`)⇒ Bash 行显示真实输出,零「Operation aborted」;转录 `tool_use` 一条、`tool_result` 一条(不含 `--resume`)。
10443
+ - **G-TR2a / G-TR2b(终端)**:turn 内等卡时那一行的样子 / 退出 turn 后(静态暗点、没有结果)原样存;之后接管 ⇒ 结果落原行还是新行,原样存。
10444
+ - **G-TR4(终端)**:停驻卡上 Esc ⇒ 该行落「Interrupted」(结算事实);结局一行原文存。
10445
+ - **G-TR6(`-p`)**:被扣那只只有 `tool_use`。
10446
+ - **G-TR7(网页端,按真投影)**:停驻期间那张卡的状态(未接 `tool_parked` 时 `running`、接了之后「在等审批」)原样存;批准后结果落原卡还是新卡原样存;复用 id 的新调用 reducer 改前 / 改后各存一份。
10447
+ - **G-TR8(终端)**:复用 id:`call-1` 停驻后取消,下一轮 `call-1` ⇒ 新调用一行;记下消息索引合并后旧行显示什么。
10448
+ - **反向**:任何一端若在 G-HM1 的带身份流上看到主角帧带连坐位 ⇒ 红。
10449
+ - **G-SC-RY1(真服务端 ≥7.126.0)已落行重放**:流式提交带幂等键 K 跑完;同 K 同体再提交 ⇒ 过本包 `runStream` + `adapt`:结果帧与补差回答行末键 `_sema_replay: true`、恰一条 `result_replayed`;第一条流零键零臂。原样存值。
10450
+ - **G-SC-RY2 在飞合流**:同 K 同体并发两条流式提交 ⇒ 后到那条同 RY1 判。先在 0.97.1 产物上存「无任何重放标记」的红基线。
10451
+ - **G-SC-RY3(终端可见,候终端接臂)**:首发送达服务端后、响应头到达前切断 ⇒ 同键有界重开 ⇒ 回答下方一行提示;`-p --output-format stream-json` 的结果帧带键。
10452
+ - **G-SC-RY4(负控)**:正常一轮、续开同一会话(账本回放)⇒ 零提示、零键。
10453
+ - **G-SC-RY5 零行重放**:原 run 以空正文完成(或停在审批上)后同 K 同体再提交 ⇒ 零转录行、仍恰一条 `result_replayed`;网页端 / 桌面端座位上看得见那一行。
10454
+ - **G-SC-RY6 同键异体建行竞态**:两副本、同 K 不同体并发流式提交,后者在建行时撞上前者 ⇒ 帧位 `true` + `conflict.idempotency_payload_mismatch` ⇒ 合成行说服务端原句、提示是同一句「No new run was started…」、不出现 `outcome`。
10455
+ - **G-SC-RF1(终端)连坐**:一只需审批的调用停驻 + 两只并行只读调用;决断后转录落盘行里两只旁观者的工具结果行带 `_sema_collateral_abort: true`、主角不带;续开同一会话后折叠仍在。
10456
+ - **G-SC-RF2(终端)开始前被中断**:排了多只工具调用时中断 ⇒ 未开始的几只行带 `_sema_interrupted_never_started`;先在 0.97.1 上存「修前不折叠」的红基线。
10457
+ - **G-SC-RF3(终端)审批窗走完**:审批卡放到窗过期 ⇒ 行带 `_sema_approval_window_expired`。
10458
+ - **G-SC-RF4(网页端 + 桌面端座位)自动拒**:分类器拒绝上限回落窗走完 ⇒ 行带 `_sema_denial_limit_window_expired`;`toolResultRowFlagsOf(row).denialLimitWindowExpired === true`。
10459
+ - **G-SC-RF5(桌面端冷恢复)**:座位上出现过自动拒那一行的会话 ⇒ 完全退出 ⇒ 重开 ⇒ 打开该会话 ⇒ 同一行仍在、读口同答。今天(冷恢复按 `{role, content}` 重造行)预期红,先存红基线。
10460
+ - **G-SC-8**:带 `retryAtMs` 的重试状态帧(与本机现算差 ≤ 5 s)⇒ `RetryStatus.deadline === retryAtMs`;差 > 5 s / `retryAtMs` 为 epoch 秒 ⇒ `deadline` = 本机现算。
10461
+ - **G-SC-9**:`runs.get` 抛 `{ statusCode: 404 }`(无 `status`)⇒ 陈旧 park 臂判幽灵(`ask-run-not-found`);`readRunTerminal({ status: 'suspended', terminal: null })` ⇒ `kind: 'paused'`、`flatStatus: 'suspended'`。
10462
+ - **G-SC-10**:任一结果帧 `modelUsage[*]` 行带两只缺席位且值为 `true`。
10463
+ - **G-SC-11**:`classifyTaskStopConflict(Object.assign(new Error('… stop.parked …'), { status: 409 })).reason === 'unknown_conflict'`;带 `errorCode: 'stop.parked'` ⇒ `parked`。
10464
+ - **G-SC-SH1(复证读回在跑)**:审批 park 的会话,在别处把那张审批决掉、run 回到 running;宿主不供三选卡 ⇒ 本端再发一条 ⇒ 现状行说「已有一条 run 在跑」,不出现 `waiting on` / `will not finish on its own`。
10465
+ - **G-SC-SH2(复证读回终态,卡前)**:审批 park 的会话,在别处决掉、run 已结束 ⇒ 再发一条 ⇒ 结局 `ask-run-settled`,行说「已结束、再发一次」。
10466
+ - **G-SC-SH3(卡后第二次复证读回终态)**:两选卡上选「停掉它」,卡停留期间 run 自己结束 ⇒ 零 cancel、结局 `ask-run-settled`(completed / failed / blocked / timeout 各一形)。
10467
+ - **G-SC-SH4(三选卡开枪前复证)**:在跑 run 的三选卡停留期间 run 结束 ⇒ 选 cancel ⇒ 零 cancel 请求、结局 `running-settled`;停到门上 ⇒ 零 cancel、交重开臂;仍在跑 ⇒ cancel 照发。
10468
+ > **PL 组**:G-PN1 – G-PN6 是包层判据(归约口 / 行差分口直驱;行差分口今天在终端零消费点,用户可见形待终端迁到行差分口);G-PN7 / G-PN8 是终端用户可见判据(旧事件口)。修前读数在 0.97.1 产物上:G-PN1a – d / 2b / 3a / 3b / 4 / 5a / 5b 红,2a 不红(同一转录锚复活今天就是一行)。
10469
+ - **G-PN1**(短命后台子代):面板行最终 tokens / 工具数 = 引擎终态行上的数,两序各一形(关卡 / 通知先结、终态行后到;终态行先到、终态事实后到);终态行缺某个数时那一个不显示为最终(`final` 不带那一键)。
10470
+ - **G-PN2**(复活):对一只已结的后台子代发 SendMessage ⇒ 同一行回到 running,不新增一行(同一转录锚与换转录锚两形)。
10471
+ - **G-PN3**(扇出 / 同卡多只):没有任何一行被标成别人的结局;身份说不清时允许多一行。
10472
+ - **G-PN4**(重复行):任一只子代结束 30 s 后,行差分口订阅者上不存在一行永远 running 的重复行;被证实重复的那一行收到 `remove` 且带 `supersededBy`。
10473
+ - **G-PN5**(用量不冻结):父 turn 收口后仍在跑的后台子代,面板行的 tokens / 工具数继续涨直到它结束;复活后前一代迟到的进度不把新一代的数顶上去;工作流代理重试(换会话)那一行,第二次 attempt 的用量从新会话起算、第一次的迟到进度不顶回。
10474
+ - **G-PN6**(两把强轴之间没有桥的三类前提格):逐类原样存值、存行数 —— 工作流代理重试(同一尾段先后两个 `transcriptId`:一行、用量从新会话起算);宿主不经治理直驱工作流自带任务 id、续跑腿带配置的任务 id(tick 任务 id 与行帧转录锚原样存值:两行且无错标)。造不出某一类 ⇒ 该类换射程,不当空判。
10475
+ - **G-PN7**(终端用户可见,旧事件口):只带委派卡、不带转录锚的行帧不再被改写到同卡另一只子代的键上 —— 旧口消费端收到它自己尾段键的 `fleet-row` 与 `end`,另一只子代那一行不收到这条 `end`(修前读数:`end` 落在先上屏的那只的键上)。
10476
+ - **G-PN8**(终端用户可见,旧事件口):只带卡的短命子代终态行(本进程见过这张卡)照发成自己的一行 —— 旧口消费端收到 `fleet-row` + `end`(修前读数:零事实)。
10477
+ - (GR 组判据编号与包侧门 `run-session-policy-grammar-test.mjs` 的格族同号。)
10478
+ - **G-GR1**(有戳行读改写 ⇒ 回传同戳,引擎 written):服务端 ≥7.129.0,会话规则记录带 `grammar: 1`;收紧加一条 `toolDeny` ⇒ PUT 体 `rules.grammar === 1`、体里没有 `rev`、`expectedRev` = 读回的 `rev`;结局 `written`;记录仍 `grammar: 1`。撤销动词同(只撤引擎会拒的那条)。
10479
+ - **G-GR2**(无戳旧行 + 括号形 ⇒ 本包不发 PUT):记录无 `grammar`、`toolAllow` 含 `Bash(git:*)`(列外写进店);收紧 / 撤销 ⇒ 零 PUT,结局 `refused` / `earlier_grammar_rows`,`entries` 点名 `Bash(git:*)`;记录逐字节不变;句子以「Nothing was written」起句。
10480
+ - **G-GR3**(运维身份同样不发 —— 负控):同 G-GR2,调用方是运维身份 ⇒ 同样零 PUT。**修前读数**(0.97.1):运维腿 `written`、回传体没有 `grammar`、记录变成 `grammar: 1` 且 `Bash(git:*)` 成了放行规则;非运维腿 `loosen_forbidden`(「widened toolAllow with "Bash(git:*)"」)。
10481
+ - **G-GR5**(显式戳 0):记录 `grammar: 0` + 括号形 allow ⇒ 回传 `grammar: 0` ⇒ 服务端 `400 rules.inert_entry`(`reason: earlier_grammar`)⇒ 结局 `refused`,`entries` 点名那一条;记录不变。
10482
+ - **G-GR8**(坏戳):记录 `grammar: "1"` ⇒ 读口 `malformed` / `grammar_stamp`;收紧 `unknown` / `read_unreadable`、撤销 `read_failed` / `read_unreadable`,零 PUT。
10483
+ - **G-RE1**(本版证明,纯包层;对服务端 7.129.x 夹具):`SEMA_CC_SERVER_FIXTURE` 指向服务端 7.129.x 夹具时 `node scripts/run-standing-rows-test.mjs` exit 0;R9 段 48 形(摘要 × 引擎词 × 工具名 × 问类对)与 R9b 问类读不成 24 形(缺席 / 坏形 / 服务端筛不过的序 / `classes` 不是数组)× 三腿(活卡帧 / 停驻行 / v1 呈卡帧)的 `grantBinding` = 夹具 `questionGrantBindingOf` 在可能分流下的答案(分流由夹具 core `screenAskClassMembers` + 服务端 `carriesDeploymentListQuestion` 现算;同答取其答、不同答 ⇒ `unreadable`);敌意形 22 形(取值器 / 原型链 / 空串 / 非串 / 读就抛)、代理两读不一致 4 形(原件直交三腿)与迭代器问类 1 形上包答 `none` ⇒ 夹具每种可能都答 `none`,且服务端不全答 `none` 时活卡帧 / 停驻行的本地整工具一行不给。夹具缺席或 < 7.129.0 ⇒ `SKIPPED-SECTION standing-rows R9`(必跑档红)。
10484
+ - **G-RE2**(黑盒,活卡帧):帧 `{type:'tool_approval', toolName:'WebFetch', args:{url:'https://e.x'}, askClass:'ordinary', classes:['ordinary'], approvalCard:'generic'}` 不带 `boundGrantAbsence` ⇒ 卡口收到的卡 `grantBinding === 'unreadable'`,`standingRowsOf(card, { wholeToolRuleSent: true })` 的 `persistentRow === 'none'`、`why.persistent === 'grant_binding'`(修前 `local_whole_tool`);同帧带 `boundGrantAbsence: 'unreadable'` / `'later'` / `7` 同答;带 `'not_bindable'` ⇒ `grantBinding === 'none'`、`persistentRow === 'local_whole_tool'`。
10485
+ - **G-RE3**(黑盒,分流):G-RE2 的帧改 `toolName: 'Skill'`、`args: { skill: 'deploy' }`、带 `'not_bindable'`:问类 `['ordinary']` ⇒ `none`;问类 `['ask_rule']` ⇒ `unreadable`;`toolName: 'Bash'` + `['ask_rule']` + `'not_bindable'` ⇒ `none`。
10486
+ - **G-RE4**(黑盒,停驻行):`approvals.list` 交出的待决行不带 `boundGrantAbsence` ⇒ 卡 `grantBinding === 'unreadable'`;带 `'not_bindable'` ⇒ `none`(与活卡帧同一读法)。
10487
+ - **G-TX-PH1(回归守卫,不是红先格)**:假监听在端口上答 `GET /health` ⇒ `200 {"status":"degraded"}`:三端存活面(终端 doctor 的引擎行、桌面端健康判定、网页端设置页「Engine」行)一律读「不活」。0.97.1 上已是这一答;本格钉的是删掉成文例外之后判活语义不回退。
10488
+ - **G-TX-PH2(正控)**:真服务端(≥ 支持底线)⇒ 三端读「活」。
10489
+ - **G-TX-PH3(编译)**:宿主文件 `import { PROBE_HEALTH_DIVERGENCE } from '@sema-agent/client-core'`(该名 0.98.0 退出公面)⇒ 升级后 TS2305;不 import 的宿主零变化。
10490
+ - **G-TX0(判据有效性前提)**:终端已换钉 0.98.0 且 `i18n/core` 四文件已是转口;隔离配置目录写 `semaUiLanguage: 'zh'`,先断屏上出现一条已知的上提中文串(例:`sema config` 页眉「设置」);不出现 ⇒ exit 9,不出产品结论。
10491
+ - **G-TX1(上提逐字节,回归守卫)**:`semaUiLanguage: 'zh'` ⇒ `sema config language` 页与换钉前逐字节同;`'en'` + `LC_ALL=C` ⇒ 同。
10492
+ - **G-TX2(缺省来源;前提:终端解析链已委托 `resolveUiLanguageFrom`)**:不存保存值、`LC_ALL` / `LC_MESSAGES` / `LANG` 全空 ⇒ 配置摘要的来源读「缺省」那一句(`config.language.sourceDefault`),不读「按系统语言推断」;设 `LANG=zh_CN.UTF-8` ⇒ 读「按系统语言推断」。
10493
+ - **G-TX3(POSIX 序)**:无保存值、`LC_ALL=C`、`LANG=zh_CN.UTF-8` ⇒ 界面英文(修前同答 —— 回归守卫)。
10494
+ - **G-SM1(本机,交 `local`)**:档位组 `pro → X`,代理定义 `model: pro` ⇒ 请求体 `agents[].model === 'pro'`;子代完成卡的实际模型 = X(修前请求体 `'X'`,实际模型同 —— 正控)。
10495
+ - **G-SM2**:目录另有条目名 `pro`、档位 `pro → Y` ⇒ 请求体 `'pro'`,实际模型 = 条目 `pro`(修前请求体 `'Y'`、实际 Y)。
10496
+ - **G-SM3**:`model: best` ⇒ 请求体 `'best'`(修前同 —— 正控);徽章显示落点(修前不显示)。
10497
+ - **G-SM4(远端,无 `local`)**:远端 `pro → B`、本机 `pro → A`,`model: pro` ⇒ 请求体 `'pro'`、实际模型 B(修前请求体 `'A'`:远端没有 A ⇒ 400,有 A ⇒ 跑在 A)。**G-SM4c**:远端没有这一档 ⇒ 提交 400 `request.unknown_reference`,终端一行可见。
10498
+ - **G-SM4b**:目录 {`PRO`→A, `B`},档位 `pro → B`:`model: PRO` ⇒ 请求体 `'PRO'`、实际 A(修前请求体 `'B'`);`model: pro` ⇒ 请求体 `'pro'`、实际 B;目录里只差大小写的两键 ⇒ 不带 `model` + 一句(TX-6)。**G-SM2′**:目录 {`pro`→A, `B`} + 档位 `pro → B`:`model: pro` ⇒ 请求体 `'pro'`、实际 A(修前请求体 `'B'`、实际 B)。
10499
+ - **G-SM5**:`model: Opus` ⇒ 请求体 `'opus'`。
10500
+ - **G-SM7(本机交 `local`,档位层惰性)**:`model: pro` ⇒ 不带 `model` + 一句(fail-soft 保住;句子 = TX-6 `tiers-inert`)。
10501
+ - **前提(G-SM 全组)**:终端已换读 `resolveSubagentModelWord`(126d);不成立 ⇒ exit 9。桌面端换读后按同一组跑能观察的格。
10502
+ > RT 组(CC-775)纯包层,走根入口公面:`import { retryStatusNotice, mapBrainStatusToRetry } from '@sema-agent/client-core'`;`now` = 任意毫秒时钟值。
10503
+ - **G-RT1(本版证明)**:`retryStatusNotice(mapBrainStatusToRetry({ phase: 'retrying', retryInMs: 5000, attempt: 2, maxRetries: 10, errClass: 'server', errorStatus: 503, providerCondition: 'overloaded', providerConditionSource: 'status' }, now))` ⇒ `line` = `The model service is overloaded (HTTP 503) — retrying, attempt 2 of 10`(含 `overloaded` · `503` · `2 of 10`),`recourse` = `switch_model`,`phase` = `retrying`;第二参 `{ modelName: 'qwen-max' }` ⇒ 句首多 `qwen-max: `。同形换词:`throttled` + 429 ⇒ 含 `rate limiting` 与 `clears on its own`、`switch_model`;`quota_exhausted` ⇒ 含 `cannot be served`、仍带 `retrying` 与次数(重试帧一律说重试)、`switch_model`;`stop_other` + 401 + `attempt: 1` / `maxRetries: 1` ⇒ `The model service refused this request (HTTP 401) — retrying, attempt 1 of 1`(**不含** `resending will not change it`)、`fix_request`;同一判词的终态帧 ⇒ `Stopped after 2 attempts: the model service refused this request, and resending will not change it (HTTP 401)`。
10504
+ - **G-RT2(本版证明)**:`{ phase: 'waiting_first_token', elapsedMs: 30000, timeoutMs: 600000 }` 经投影 ⇒ `line` = `Waiting for the model's first token — 30s so far, limit 10m 0s`,`recourse` = `wait`,`phase` = `waiting_first_token`,句子不含 error / retry / fail(带着 `errorStatus: 503` · `providerCondition: 'overloaded'` · `attempt` 的怪帧也不含,也不含 `HTTP`);`elapsedMs: 300000` 且第二参带模型名 ⇒ 句尾 `; keep waiting or switch model`、`recourse` = `switch_model`(恰半给,299999 不给;没有模型名一律 `wait`);两位缺席 ⇒ 只有 `Waiting for the model's first token`。
10505
+ - **G-RT3(本版证明)**:缺席位 ⇒ 句子不含 `0` · `unknown` · `quota` · `model service` · `HTTP` · `attempt` 字样:全缺席的 `kind: 'error'` 臂 ⇒ `Request failed — retrying`、无 `recourse`;表外判词 `zz_future_word` + `errorStatus: 502` + `attempt: 1` ⇒ `Request failed (HTTP 502) — retrying, attempt 1`(词不回显)、`switch_model`;`unknown` 与缺席、与表外词同句同 `recourse`;非法状态码 / 次数(0 · 负数 · 小数 · 数字串 · NaN)与缺席同句。
10506
+ - **G-RT4(本版证明)**:`mapBrainStatusToRetry({ phase: 'gave_up', detail: 'retries exhausted' }, now)` ⇒ `line` = `Stopped · retries exhausted`,`phase` = `gave_up`,无 `recourse`;同一帧带 `attempt: 10` + `providerCondition: 'overloaded'` + `errorStatus: 503` ⇒ `Stopped after 10 attempts: the model service is overloaded (HTTP 503) · retries exhausted`、`switch_model`;`stop_other`(终态)⇒ 含 `resending will not change it`、`fix_request`;引擎新相(落默认臂)的句子 ≡ `retrying` 相同位的句子;`retryStatusNotice(null)` ⇒ `line` 空串、`phase` = `cleared`、无 `recourse`(🔁 FX-6)。
10507
+ - **G-RT5(本版证明)**:永不抛:`status` 是 `undefined` · 数 · 串 · 已撤销代理 · 读就抛的代理 / 取值器 ⇒ 按缺席读(默认臂句),一键抛只作废那一键(逐键一行:该键抛 ≡ 该键缺席);每键至多读一次;结果冻结;不读时钟;不改入参;只认自有键。
10508
+ - **G-LG6(本版证明,纯包层)**:根入口 `composeEventLeg` 喂一条合成流 `[{type:'meta',taskId:'A',sessionId:'S'}, {type:'text',…}, {type:'question',questionId:'q1',…}, {type:'done',result:{taskId:'A',sessionId:'S',…}}]`、`{ kind: 'live' }`、三只 HITL 端口 + `run.onBound` / `run.onTerminal` 记账 ⇒ 输出三帧 `meta` / `text` / `done`(`question` 不在输出里、`hitl.question` 恰一次)、`frameBindingOf(text帧)` 等于 `{taskId:'A',sessionId:'S'}`、`onBound` 恰一次 `cause:'open'`、`onTerminal` 恰一次且帧 `===` 输出的 `done`;缺 `hitl.elicitation` 组装 ⇒ 同步抛、`code === 'host_port_missing'`、`ports` 含 `hitl.elicitation`;`inheritFrameBinding(done, {...done, result:{...}})` 的绑定等于原绑定,`{...done}` 裸复制答 `undefined`。
10509
+ - **G-LG1**(终端改调组合器之后,宿主屏):引擎经入站 MCP 发出 `elicitation` ⇒ 终端出对话框或一行明确的「本端不处理、已拒」,不再静默等到超时。前提:先在现役终端上造出这一帧(可达性未在包侧实测)。
10510
+ - **G-LG2**(前提读数格,不判红绿):支持底线引擎上跑一遍全部内置工具,原样存每个 `tool_start.toolName` 的值(不存「符合」结论)—— 供终端判断它的工具名映射表是否可以整张退役(工具名归一不进本包)。
10511
+ - **G-LG3**(终端改调之后):会话切走(`/clear`)时在飞那条流的迟到终帧不写新会话的映射(现行为保持)。
10512
+ - **G-LG4**(网页端 / 桌面端改调之后):后台子代详情页的「继续」腿取得到宿主 run(属主盖章到位)。
10513
+ - **G-LG5**(改调之后):首个 turn 中途宿主崩溃重启 ⇒ 会话可续(会话 id 在流首 `meta` 帧就交 `run.onBound`)。
10514
+
10515
+
10516
+ > 纯包层,编译期判据走根入口公面(在一只装了本包与 sdk 的消费工程里 `tsc --noEmit`):`type Eq<A, B> = [A] extends [B] ? ([B] extends [A] ? true : false) : false`。
10517
+ - **G-TS1(本版证明)**:`import type { WireRuleOffer } from '@sema-agent/client-core'` ⇒ TS2305(无此导出)。修前读数:编译过。
10518
+ - **G-TS2(本版证明)**:`RuleOffer` / `MemoryEntryOriginMark` / `CrashConvergedRow` 三名从 `@sema-agent/client-core` 导入 ⇒ 各 TS2305;`RuleOfferReading` / `MemoryEntryOriginMarkReading` / `CrashConvergedRowReading` 三名在场;`readRuleOffers([{ kind: 'single', rule: 'Bash(ls)', match: 'exact', command: 'ls' }])![0].offerIndex === 0`(运行期与 0.97.1 同答)。
10519
+ - **G-TS3(本版证明)**:对二十三名逐名 `const e: Eq<import('@sema-agent/client-core').X, import('@sema-agent/sdk').X> = true` 编译过(修前读数:`ToolApprovalFrame` / `QuestionFrame` / `AskQuestion` / `AskQuestionOption` 四名编译红,其余十九名修前也过 —— 那十九名修前是同形的第二份声明,本判据看不出差别,差别在 G-TS5)。运行期:同一只活卡帧经 `surfaceToolApprovalFrameAndRespond` 的结局与 0.97.1 逐字节同。
10520
+ - **G-TS4(上游缺口见证)**:`const p: import('@sema-agent/client-core').BrainStatusPhase = 'waiting_first_token'` 编译过;对 sdk 的同名型同一句编译红(sdk 补词那一版本行翻:改为 Eq 成立)。
10521
+ - **G-TS5(包侧门)**:本仓 `node scripts/run-upstream-type-shadow-test.mjs` exit 0,读数「同名自铸 1(登记)」;在 `src/` 任一模块加 `export interface ToolApprovalFrame { x: 1 }` 并经根入口导出 ⇒ exit 1(T1 点名);把十九名之一改回 `export type X = SdkX` 同名别名 ⇒ exit 1(同形也红);根入口加 `export type { RuleOffer as ToolApprovalFrame } from '@sema-agent/sdk'` ⇒ exit 1(解到上游的另一个符号);登记行的 `owner` 改成本包相对路径 ⇒ exit 1。
10522
+ - **G-NG1**:服务端 ≥ 7.129.0:会话规则收紧送一条 `"*"` 进 `toolAllow` ⇒ 结局 `inert_entry`(`reason: wildcard_all`、`field: toolAllow`、`entry: "*"`)、记录不变、恰一写;送一条带空格的名字进 `toolDeny` ⇒ 同臂 `reason: grammar`;回传带 `rev` 无戳且有括号形 allow 条目 ⇒ 仍是 `refused` / `earlier_grammar_rows`(不落 inert_entry)。服务端 ≤ 7.128.x:退役名照旧 `legacy_tool_name`。
10523
+ - **G-NG2**:本包根入口 `ENGINE_NOTICE_CODES.length === 93`,含 `permission.entry_mode_clamped`(受众 user);姿态车道一张类集 `[rule_unreadable]` 的卡 ⇒ 判定口 must_ask(修前 may_answer)。
10524
+ - **G-NG3**:服务端 ≥ 7.129.0 上 allow 规则已命中而问层级更高的卡 ⇒ `ruleOffersAbsence: allow_outranked`、卡注出那一句;部署名单问 ⇒ `ask_rule_matched` × 「本会话放行」⇒ 名单那一句;规则车道判定口两词都 must_ask `allow_rule_shadow`。
10525
+ - **G-NG4**:同一张活卡先在别处答「拒」,本端再按「批」⇒ respond 回 200 回放 ⇒ 结局 `decided{deny}`、`ack.idempotent === true`、没有「没记住 / 编辑没转发 / 规则没存」通知。
10526
+ - **G-NG5**:服务端 ≥ 7.129.0 上停泊赎回在启动期失败且引擎给词(例 `tool_unavailable`)⇒ 决断失败文字补那一词那一句;≤ 7.128.x 照旧两句。
10527
+ - **G-NG6**:服务端 7.126.0 上先写一份带 `commandDeny: ["rm"]` 的会话记录,再用本包收紧 ⇒ `unknown` / `read_unreadable`、零写、记录里命令桶原样。
10528
+ - **G-NG7**:服务端 ≤ 7.128.x 上 key 只在 brain 配置、URL 只在模型条目的部署 ⇒ 模型选单不标坏(`unknown`);≥ 7.129.0 ⇒ `broken`。
10529
+ - **G-NG8**:活卡帧带 `approvalCard: generic` ⇒ 本地整工具一行照常(宿主不再交卡面);帧不带 ⇒ 不给;v1 呈卡帧 ⇒ 不给。
10530
+ - **G-NG9**:代理定义 `tools: []` / `tools: [""]` / `tools: ["mcp__未声明__x"]` 三形 ⇒ 请求体 `agents[].allowTools` 都是 `[]`;`--scenario nosuch` ⇒ 引擎 400 `scenario_unknown`,用法句与之一致。
10531
+ - **G-FX1**:`tightenSessionPolicy(facade, { sessionId, add: { commandDeny: ['rm'], commandAllow: [] }, capability: { kind: 'present' } })` ⇒ 抛 `TypeError`(消息点名 `"commandDeny"`)、facade 零 GET / 零 PUT;`tightenedSessionRules({ commandAllow: [] }, { toolDeny: ['Read'] })` ⇒ 抛(点名 `"prior"` 侧);`add: { toolDeny: ['Read'], rev: 3 }` ⇒ `written`、提交体只有 `toolDeny`。
10532
+ - **G-FX2**:`composeEventLeg(源, { kind: 'durable', runId: 'R' }, 端口)`,源 = meta{R,S} → text → `done{ result: { status: 'failed' } }` ⇒ `onRefused` 零次、`onTerminal` 绑定 `{R,S}`;同源走活流且终帧是完整三键 ⇒ `onRefused` 恰一次 `not_created`;活流终帧 `{ status: 'failed', errorCode: 42, errorMessage: null }` ⇒ 零次、绑定保留。
10533
+ - **G-FX2b**(验证轮;本版证明):`composeEventLeg(源, { kind: 'live' }, 端口)`,源 = meta{A,S} → `tool_end` → `done{ result: { status: 'failed', errorCode: 'conflict.run_exists', errorMessage: '…' } }`(完整拒收形)⇒ `onRefused` 零次、终帧绑 {A,S}、`onTerminal` 绑定在;同源去掉 `tool_end` ⇒ 照旧 `not_created`(候选 A);meta → text → 忙拒收形 同律(零 `onRefused`)。
10534
+ - **G-FX3**:`ControlRouter.preempt` 对 202 `{ taskId, status: ' ' }` / `'future_state'` / `'cancelled'` ⇒ `{ kind: 'unconfirmed', why: 'unreadable-answer' }`,回执句不含 `already ended`;`completed` / `failed` / `blocked` / `timeout` ⇒ `already-ended` 且带该词。
10535
+ - **G-FX4**:`retryStatusNotice({ kind: 'paused', deadline: 0, errorStatus: 503, providerCondition: 'overloaded' })` ⇒ 无 `recourse`,`line` 与同位 `error` 臂一字相同。
10536
+ - **G-FX5**:`lateDecideOutcomeOf({ ok: true, body: { approvalId: 'a', askId: 'k', idempotent: true, decision: 'deny', decidedAtMs: 1 } }, { lane: 'respond' })` ⇒ `settled-elsewhere`;`{ idempotent: 'true' }` ⇒ `resumed`。
10537
+ - **G-FX5b**(验证轮;本版证明):`lateDecideOutcomeOf({ ok: true, body }, { lane: 'respond' })`,body = 自有数据位 `idempotent: true` + `status` 访问器抛 ⇒ `settled-elsewhere`;body = `idempotent` 为访问器(返回 true)⇒ `resumed` 且该访问器零执行。
10538
+ - **G-FX6**:`retryStatusNotice(null, { modelName: 'm' })` ⇒ `{ line: '', phase: 'cleared' }`、无 `recourse`。
10539
+ - **G-FX7**:归约口喂 绑卡 tick(`cardBound`)→ fleet 行 `status: 'failed'` → `{ kind: 'sweep' }` ⇒ 恰一条 `terminal`、`isError: true`、`cause: 'sweep'`;fleet 行 `completed` ⇒ `isError: false`;fleet 行之后关卡 `end{ isError: false, report }` 先到 ⇒ 以它为准、sweep 不再补。
10540
+ - **G-FX7b**(验证轮;本版证明):归约口喂 绑卡 tick → 会话键 k 的行 `{ cycleSeq: 2, status: 'running' }` → 另一会话键首次送来同一行 `{ cycleSeq: 1, status: 'failed' }` → `{ kind: 'sweep' }` ⇒ 恰一条 `terminal`、`isError: false`,快照不标失败(修前 `isError: true`)。
10541
+ - **G-FX8**:宿主 `claimApprovalCard({ taskId: 'R', toolCallId: 'C' })` 答 `held` 后,活流(meta{R,S} → `tool_approval{ toolCallId: 'C' }`)经组合器交到本包活卡入口(无桥 / 有桥两形)⇒ 持卡期间零卡、零决断;宿主 `release('answered')` ⇒ 活卡入口 `joinedInFlight`;宿主持的是别的 run ⇒ 照常一张卡一发。
10542
+ - **G-FX9**:提交口 `submitStreamWithBoundedReopen` 的流交出一只工具结果帧后抛 `TypeError('terminated')`(成因码 `UND_ERR_SOCKET`)⇒ `turnFailurePresentation` 与 `seatTurnFailureOf` 都是 `connection_lost`、句子不含 `did not run`、`retry.offer === false`;建连被拒(`ECONNREFUSED`)⇒ 原句 + `offer: true`;同一抛出物带 `{ reopened: true }` ⇒ 结果未知、`offer: false`。
10543
+ - **G-FX10**:活卡答复口抛 500 `internal.error` 后同一调用的停驻行重呈同一件事 ⇒ 接替位 `{ priorAnswer: 'allow', priorAnswerOutcome: 'unconfirmed' }`、句子含 `may already have taken effect`、不含 `did not reach`;202 停驻中 ⇒ `not_accepted`、句子 `was not accepted by the engine`。
10544
+ - **G-FX10b**(验证轮;本版证明):活卡 A 答 allow、respond 挂起;同调用停驻卡 B 答 allow、decide 抛 500;A 的 respond 这才回 202 `parking_in_progress`;再呈停驻卡 C ⇒ C 的接替位 `{ priorAnswer: 'allow', priorAnswerOutcome: 'unconfirmed' }`(不是 `not_accepted`)。
10545
+ - **G-LP1**(本版证明,纯包层;LP-1):座位记录出站校验 `isLocalSessionRecord` 对最小合法记录加 `parked: false` ⇒ `true`(写端的「已对账无待决闸」断言能出站);`parked` 缺席 ⇒ `true`(未知);`parked: 'yes'` ⇒ `false`(只钉布尔)。三值不是「true / 其余」两值 —— 读端把缺席与 `false` 合成一个读数即违背本段。
10546
+ - **G-BA1**:本包 `node scripts/run-upstream-tables-test.mjs` exit 0(G20 / N20);根入口 `BUILTIN_SUBAGENT_TYPES` 是冻结数组、逐词逐序恰为 `["Explore","Plan","fork","general-purpose"]`;把生成物里任一词改掉、或加一个 `worker` ⇒ 门红(G20-1 / G20-2);在 `src/` 任一非生成模块写一个含两个以上表内词的数组或字面联合型 ⇒ 红(G20-6,部分抄件也算);引擎包根缺该名 ⇒ 生成器 exit 9 并点名、说 core ≥ 7.51.2。
10547
+ - **G-BA2**:`Task` / `Agent` / `Fork` 工具调用入参 `subagent_type` 为 `Explore` / `Plan` / `fork` / `general-purpose` / `worker` ⇒ 经 `sanitizeToolUseBlock` 后键与值原样在;为 `reviewer` / `explore` / `PLAN` / `Plan ` / 空串 / `__proto__` ⇒ 键被摘;值为数字 / `null` / 数组 ⇒ 原样不动;`Bash` 上同名键不动;入参对象不被改写(G20-5)。
10548
+ - **G-HK1**(本版证明,纯包层):用户设置 `PreToolUse:[{ matcher:'Bash', hooks:[{ type:'command', command:'keep-me' }, { type:'mcp_tool', server:'s', tool:'t' }] }]`、`Notification:[{ hooks:[{ type:'mcp_tool', server:'s', tool:'t' }, { type:'command', command:'notify' }] }]`,宿主不实现插件读口 ⇒ `hooksForWire({ plan: hooksWirePlan() })` 的请求体 `PreToolUse` 只剩 `keep-me`、`Notification` 只剩 `notify`,全体零 `mcp_tool`,过服务端 hooks 受理契约零问题(0.97.x:无参 `hooksForWire()` 的 `PreToolUse` 仍带那只 `mcp_tool`,契约恰在 `PreToolUse.0.hooks.1.type` 上整份拒);无参 `hooksForWire()` 抛 `TypeError`(G-RC2),宿主日志零条 `warn`(那条「设置端口 × 事件 × 原因」的 warn 随不传计划那一路退场);`hooksWirePlan()` 同一份设置的 `settingsDropped` 两行 —— `PreToolUse` 一行 `notRun: true`、`Notification` 一行 `notRun: false`,`hooksNotRunNotice(plan)` 只列 `PreToolUse` 一行(与 0.97.x 同)。
10549
+ - **G-HK2**(本版证明):`taskRequestOmissionCausePhrase`(0.98.0 退出公面)按名 import 在 `tsc --strict` 下编译红(TS2724:根入口没有这个导出名);运行期根入口键集里没有它;`taskRequestOmissionCauseNotice('off_lane')` === `Not sent with this request: this kind of request does not carry this setting, so giving it or leaving it out makes no difference to what this request sends.`,`taskRequestOmissionCauseNotice('brand_new_cause')` === `Not sent with this request, for a reason this version does not recognize.`,`TASK_REQUEST_OMISSION_CAUSE_NOTICES` 四键四句 —— 三者与 0.97.x 逐字节同。
10550
+ - **G-RB1**(本版证明,纯包层):在 `tsc --strict` 下按名 import 十九名中任一名编译红(TS2305:根入口没有这个导出名);运行期根入口键集里以 `noteEngineCapsFor` 打头的名为零,构建产物 `.js` / `.d.ts` 全文零出现;读器读数不变 —— 一份回体经 `kickEngineCapsProbe` 落地后 `observedSqlEngine(base)` 与上一版逐字节同(present / not_reported / unreadable 三形),落地之前读 ⇒ `unobserved`。
10551
+ - **G-RB2**(本版证明,纯包层):运行期根入口键集里以 `__reset` 打头、以 `ReadingsForTests` 结尾的名为零;以 `_` 打头的测试钩共 45 个;`__resetEngineCapsCacheForTests()` 之后 `observedSqlEngine(base)` 答 `unobserved`,同一份回体再落地答回同一读数(新对象)。
10552
+ - **G-RB3**(包层,回归约束):同一次落地上任一读器连读两次交同一只冻结对象;两只读器读同一份落地各交各的对象、互不连坐;读器工厂交出的对象只有读口一个成员。
10553
+ - **G-RC1**(本版证明,纯包层):根入口运行期导出与型面导出名里没有 `isAlreadyResolvedGateReason` / `isGateStandingErrorCode` / `isCodeClassifiedGateFailure`(0.98.0 退出公面);`isAlreadyResolvedFailure(new Error('decide failed: approval not found'))` ⇒ `true`(无机读位,落词表);同一抛出物带 `errorCode: 'resume_blocked_by_policy'` ⇒ `false`(码说清了处置,不扫文字);`isAlreadyResolvedFailure('approval not found')` ⇒ `false`(一段文字不是入参形)。
10554
+ - **G-RC2**(本版证明,纯包层):设置端口只给 user `PreToolUse: [{ matcher: 'Bash', hooks: [{ type: 'command', command: 'g' }] }]` ⇒ `hooksForWire()` / `hooksForWire(null)` / `hooksForWire({})` / `hooksForWire({ plan: null })` / `hooksForWire(plan)`(按位置)各抛 `TypeError`,`message` 含 `hooksWirePlan()`、不含任何入参值;`installHost` 不给 `log`、或 `log` 每次抛错时,`hooksForWire()` 与 `hooksForWire({ plan: {} })` 照样抛 `TypeError`(响亮报不经日志口);`hooksForWire({ plan: hooksWirePlan() })` ⇒ `{ PreToolUse: [{ matcher: 'Bash', hooks: [{ type: 'command', command: 'g' }] }] }`,与 0.97.x 无参调用逐字节同。
10555
+ - **G-RC3**(本版证明,纯包层):`readApprovalAllowRuleShadow({ persistedRuleShadowed: 'Bash(ls:*)' })` ⇒ `undefined`;活卡帧 `{ type: 'tool_approval', approvalId: 'a', toolName: 'Bash', args: { command: 'ls' }, persistedRuleShadowed: 'Bash(ls:*)' }` 经 `surfaceToolApprovalFrameAndRespond` 交到卡口的卡请求无 `allowRuleShadow`、`unreadableEvidence` 为 `['persistedRuleShadowed']`、`automaticAnswerVerdict(card, 'standing_rule')` ⇒ `{ kind: 'unknown', why: 'card_unreadable' }`;同一帧改带 `allowRuleShadowed: [{ member: 'persisted', entries: ['Bash(ls:*)'] }]` ⇒ `allowRuleShadowSentence(card)` = `Your saved permission rule "Bash(ls:*)" still exists — it just cannot clear this particular call, so this one is confirmed individually.`
10556
+ - **G-RC4**(本版证明,纯包层):根入口没有 `observedSessionReadRedaction` / `sessionReadRedactionAdmitted` / `projectSessionReadRedactionCapability`(0.98.0 退出公面);本包 src 代码位置零处读能力位 `sessionReadRedaction`。
10557
+ - **G-RA1**(本版证明,纯包层;RA-1 / RA-2):根入口运行期键集里没有 `subscribeEngineAgentPanel` / `subscribeEngineAgentPanelAbsence` / `__resetEngineAgentPanelAbsenceForTests`(0.98.0 退出公面),面板族订阅口恰一只 `subscribeEnginePanelRows`;构建产物里旧事件投递与缺席投递的实现件零留存。
10558
+ - **G-RA2**(本版证明;RA-1 / RA-2):同一段发布序跑两遍 —— 一直挂着订行差分口收差分、发完再订收快照 —— 按 `canonicalId` 折出的行表逐字节同(场景:500 条行帧 / 同 id 五拍 / 200 行 + end + sweep / tick → sweep → tick / 进度 → end → 进度 / 粘性键 / 跨 lane / 200 条互异 end / 200 条 sweep);投影一行 → 消失超宽限窗 ⇒ `upsert{ fields.absence: { lastSeenAtMs = 最后在场钟, absentForMs > 30000 } }`;再投影回来 ⇒ `upsert{ fields.absence: null }`;投影终态 `failed` ⇒ `terminal{ isError: true }`。
10559
+ - **G-RA3**(本版证明;RA-3):`createFleetLedger()` 的对象上没有 `applyFrame` / `setConnected` 两个成员,`status()` 上没有 `connected` 键;`issueStream()` 后首帧前 `readEngineActiveBgTasks().fresh === false`;经该 ingress 落一帧 ⇒ `true`;再 `issueStream()`(重连)⇒ `false`,旧 ingress 再落一帧 ⇒ 仍 `false` 且 `droppedStaleIngress` +1;新 ingress 落帧 ⇒ `true`;`close()` ⇒ `false`;`issueSnapshot().applySnapshot(...)` 落账 ⇒ 仍 `false`。
10560
+ - **G-RA4**(本版证明;RA-3):开流 → 落帧 → `close()` → `issueSnapshot().applySnapshot(...)` ⇒ 行进账(收流即退出流模式);同一只快照 ingress 再 `applySnapshot` ⇒ 丢弃并计 `droppedStaleIngress` +1、账不动,再领一只新的照常落账;活流期间签发的快照 ⇒ 那条流的连接级 meta 与内容原样、快照永久判过期。端侧黑盒(交 test):终端换钉后断开 fleet 流 ⇒ 列表态「fleet stream disconnected · reconnecting…」陈述照旧出现、恢复后首帧到即消失;重连那一窗里温切 / 重启确认把后台任务读成「不知道」而不是「0 个」。
10561
+ - **G-RD1(本版证明)**:`SUPPORT_FLOOR` ⇒ `{ server: '7.129.1', core: '7.51.2', sdk: '23.0.2' }`;`engineVersionTier('7.129.0')` ⇒ `legacy`、`('7.129.1')` ⇒ `engine`;README「Support floor」行与本档 §0a「支持底线」行三个数与声明逐项同(门 SF1f / SF1g / SF6)。服务端 7.129.1 夹具的发布包精确钉引擎 7.51.2(SF3 见证)。
10562
+ - **G-RD2(本版证明)**:代理 `disallowedTools: ["bash"]`,不交名册,另交 `withholdRefusedDenyLists: true`(JS 宿主)⇒ 代理在 wire 上、`denyTools: ["bash"]`、`toolListFlaws` 一条 `retired`、**零告警句**;同一载荷交服务端 7.129.1 夹具捆的引擎判官 ⇒ 受理。另:`disallowedTools: ["mcp__x__y", "a2a__x"]`(服务器 / 对端未声明、不在名册)⇒ 原样、`toolListFlaws` 缺席、零告警句(名册在手 / 不在手 / 宿主照旧交扣送位三形同答;门 AD6h)。
10563
+ - **G-RD3(本版证明)**:代理 `tools: ["Task", "Read", "KillShell"]` ⇒ `allowTools` 逐字同、`toolListFlaws` 两条 `retired`、告警两行条件式「gives the agent nothing unless this run has a tool with exactly that name」;服务端 7.129.1 / 引擎 7.51.2 受理且告。这一跑挂着 `bash`、委派池里有 `Task` 时 `tools: ["bash", "Task", "Read"]` ⇒ 引擎受理且零告、照给(本包告警仍只用条件式)。
10564
+ - **G-RD4(本版证明)**:根入口无 `excludeToolsAgainstDirectory`(0.98.0 退出公面);代理 `disallowedTools: ["mcp__nosuch__x"]` 交任何目录读数(在手 / 空 / 读不出 / 不交)⇒ 投影逐字节同、条目原样、零披露;run 级 `excludeTools: ["mcp__nosuch__x"]` 原样交引擎 ⇒ 受理且告一句。
10565
+ - **G-RD5(本版证明)**:`400 rules.legacy_tool_name`(体带 `field` / `name` / `verdict` / `currentName`)⇒ `classifySessionPolicyFailure` 答 `{ kind: 'error' }`、四格全缺席;收紧撞到它 ⇒ `unknown` / `write_refused`、恰一写、记录不变;撤销 ⇒ `write_refused`;`legacyToolNameFailureNoteOf('rules.legacy_tool_name')` ⇒ `undefined`,`('config.legacy_tool_name')` 那句逐字节不变。
10566
+
10567
+
10568
+
10569
+
10570
+
10571
+ ### 126d. 三端读点(origin/main 坐标;2026-10-14 抓取:终端 `5554ba6a`、网页端 `88e72642`、桌面端 `82b7af79`;终端路径省略各端仓的 `src/` 前缀)
10572
+
10573
+ 🔴 本节坐标与判语是读码所得(只读 origin/main),不是包侧门证据。
10574
+ - **WD-1**:终端 `components/permissions/rules/PersistedRulesTab.tsx:84`(`scopeLabel`)· `:92`(`originsLabel`)· 调用点 `:367` / `:417`,出处词映射 `utils/permissions/withheldDeclarations.ts:72`(`ruleAddOriginLabel`;另供「Ignored declarations」页);网页端 `ui/lib/engine/rules-wire.ts:122`(`scopeLabel`)· `:130`(`originsLabel`;`user` ⇒ `added by you` 是网页端 2026-10-13 的止血版,注释自称「CC-663 到货删」),调用点 `ui/components/overlays/SettingsOverlay.tsx:361` / `:380` / `:381`。桌面端零读点:`git -C <桌面端仓> grep -n -F -e persistedRuleOriginsLabel -e originsLabel -e scopeLabel origin/main -- src` 空输出。
10575
+ - **WD-2**:终端 `PersistedRulesTab.tsx:108`(`removalOutcome`)· `:125`(`revokeResultCopy`,3 × 3 表,取舍时取它)· 调用点 `:326`(`removalLiveness(out.result.stillLive)`),`sema/persistedRulesWire.ts:945`(`removalLiveness`:布尔时代 `true` / `false` 映成 `yes` / `no` —— 换读后这层包装可删,布尔读作 `unknown`);网页端 `ui/lib/engine/rules-wire.ts:157`(`revokeOutcomeCopy`)· 调用点 `ui/components/overlays/SettingsOverlay.tsx:332`。桌面端零读点(`grep -F revokeOutcome` 空输出)。
10576
+ - **WD-3**:终端 `PersistedRulesTab.tsx:367`(`${rule.match} match` 直接拼词);网页端 `ui/components/overlays/SettingsOverlay.tsx:361`(`{rule.match} match`)。两端当前都把 `name_prefix` 这类词原样吐在屏上。桌面端零读点。
10577
+ - **WD-4**:终端 `sema/askFrameNotes.ts:93`(`QUIET_ASK_ORIGINS`,静默三词)· `:149`(`askOriginNote`,调包的 `askOriginDetail`,上屏前消毒);网页端 `ui/components/composer/Composer.tsx:93`(`ROUTINE_ASK_ORIGINS`,静默四词,多了 `ancestor_marked`)· `:102`(`askOriginLabel`:2026-10-12 起读包的 `askOriginDetail`,未知词先加引号再交包口以免撞已知键)· 调用点 `:1774`。桌面端经网页端的 Composer 渲,仓内零调用(`grep -F askOriginDetail` 空输出)。
10578
+ - **WD-5**:终端 `sema/askFrameNotes.ts:168`(`ruleOffersAbsenceNote`,含部署名单问分支);网页端 `ui/components/composer/Composer.tsx:111`(`RULE_OFFERS_ABSENCE_LABELS`,`mandated` 一句自铸)· `:116`(`ruleOffersAbsenceLabel`)· `:122`(`UNCOVERED_REASON_LABELS`)· `:127`(`uncoveredReasonLabel`:表外词原样回显)· 调用点 `:1783` / `:2086` / `:2176`。桌面端 `main/session-host.ts:2608` 只在注释里点名这几位(经网页端渲)。
10579
+ - **WD-6**:终端 `sema/crashConvergedNotice.ts:182`(`crashConvergedRowLine`:数据字段明细)· `:217`(`crashConvergedDetailLines`:两个桶的标题句);网页端 `ui/lib/engine/engine-crash-converged.ts:114`(`crashConvergedNoticeCopy`)含 `:146` 起按因由分组读 `crashConvergedNeedsHumanSentence`(2026-10-13 止血版,注释自称「分桶头句 / resumeSafe 逐行句包无会话作用域口:并入 CC-666,到货删」)· `ui/lib/engine/turn-mapping.ts:612`(`crashConvergedCauseSentence`:成因两句自铸,调用点 `:632`)。桌面端零读点(`grep -F crashConverged` 空输出)。
10580
+ - **WD-7**:终端 `sema/askWindowCountdown.ts:468`(`approvalEngineEndedRow`:13 句 + `ttl_expired` ⇒ `null`)· `:397`(`askRetractionRow` 六个本端归因,不在本表);网页端零读点(`git grep -n -e routing_failure_fail_closed -e orphan_ttl_exceeded origin/main -- ui` 空输出)。桌面端零读点。
10581
+ - **WD-8**:终端 `sema/askFrameNotes.ts:216` / `:241`(`parkReopenCardNote` / `parkReopenQuestionNote`,只给重开卡)· `sema/askParkExpiry.ts:201`(`parkQueueNoDeadlineRow`)· `:558`(`lateDecideOutcomeRow` 的受理臂);网页端 / 桌面端零读点。
10582
+ - **WD-9**:`policy` 在终端与网页端都是静默词,卡面不渲;别处渲该句的端读到新句。
10583
+ - **WD-11**:终端对 run 级通告走引擎整句、对逐调用放行账零渲染;`gateModeRelease` 三端零调用;网页端 / 桌面端零读点 —— 读数:`git -C <各端仓> grep -n -F gateModeRelease origin/main -- src ui` 三仓空输出。
10584
+ 🔴 本节坐标与判语是读码所得(只读 origin/main),不是包侧门证据。
10585
+ - **GT-1**:三端 `readToolCardOutcome` 与 `_sema_not_executed` 零引用(三仓各 `git grep -n -F "readToolCardOutcome" origin/main -- src ui bff` 输出为空;`_sema_not_executed` 同)。端侧要读这个结局时,`unreadable` 臂本来就在三态里,按「不下结论,不渲成功也不渲没结果」渲。
10586
+ - **GT-2**:终端适配上下文装配点 `sema/upstreamBridge.ts:2039`(`const ctx: AdapterContext = {` —— 加 `toolKillCause`);成因事实终端已持有:`sema/engineLifecycleManager.ts:3885`(`baselineStartedAt = engineIdentityOfInstance(instance).startedAt`)与 `sema/engineReplacedGate.ts`(换代判据读点),做法 = 调用开始(收到 `tool_start`)时快照一份代际锚,读口里拿现在的代际锚过 `toolKillCauseAcrossEngineIdentity`;终端测试 `sema/toolResultContentShape.test.ts:195-204`(A4 钉 `possibly out-of-memory`)换钉本版必红,改钉中性句。网页端 `ui/lib/engine/engine-turn-legs.ts:172`(`adapterCtx: {`;网页端不托管引擎进程、无本机代际事实 ⇒ 可选接,不接 = 中性句)。桌面端 `main/session-host.ts:1908` 与 `:3395`(两处 `AdapterContext` 字面量;托管本机引擎时同终端做法,不接 = 中性句)。三端 `toolKillCause` 与 `out-of-memory` 其余零命中。
10587
+ - **GT-3**:终端装配根 `sema/coreValuePortsHost.ts:64`(`const ports: CoreValuePorts = {`;`strict: false`,本来零断言,不动);桌面端 `main/core-rule-ports.ts:40`(`validatePermissionRules: validatePermissionRules as CoreValuePorts["validatePermissionRules"]` —— 注释自述「端口型对齐后删这一处断言」,本版到货,桌面端档为 `strict` + `exactOptionalPropertyTypes` + `noUncheckedIndexedAccess`,包侧门三档实测零错);网页端 `ui/lib/engine/rules-wire.ts:190-201`(自述从未装端口,零读点)。
10588
+ - **GT-4**:网页端 `ui/lib/engine/cancel-context-wire.ts:93-95`(`classifyRunAbortCause(record)` 之后 `reading.kind !== "cancelled"` ⇒ `undefined`:`run_still_live` 与 `unknown` 同归缺席,`queued` 读成 `unknown` 对它零影响);终端 `sema/forkedSessionContinuity.ts:61 / :162`(`new Set(CLAIM_HELD_STATES)`,成员与顺序不变);桌面端 `classifyRunAbortCause` / `CLAIM_HELD_STATES` 零引用。
10589
+ 🔴 本节坐标与判语是读码所得(只读 origin/main),不是包侧门证据。
10590
+ - **AC-1**:网页端活卡帧腿手抄 `ui/lib/engine/engine-hitl-frames.ts:190-330`(`frame.type === "tool_approval"` 臂逐键自读帧位)→ 换读 `approvalCardFactsOfFrame(frame)`,卡上 `standingRowsOf` 三位随之到手;终端零读点(活卡帧走本包卡口);桌面端零读点。
10591
+ - **AC-2**:终端通用卡腿 `sema/approvalStreamWire.ts:927` `genericCardRequestFrom`(壳侧位 `cardPayloadUnreadable` 同名,换读后删包装)· 网页端 `ui/lib/engine/turn-mapping.ts:647-686`(未知形呈卡帧只渲批准 / 拒绝两钮,不读卡键)。
10592
+ - **AC-3**:终端 `sema/approvalStreamWire.ts:678` `windowKeysFrom`(有限数即收 → 非负)与 `:626` `readCoherentEnvelopeWindow`(→ `unknownShape: true`)· 网页端 `ui/lib/engine/engine-hitl-frames.ts:264-271` 与 `ui/lib/engine/turn-mapping.ts:741-746`(`typeof number` 即收、锚在映射时取)。折算(截止时刻)仍在端:终端 `sema/askWindowCountdown.ts:171` `readAskDeadlineMs`、网页端 `ui/components/composer/Composer.tsx:1711` `permissionWindowDeadlineMs`(见本段「包侧缺口」①)。
10593
+ - **AC-4**:终端 `sema/probeCauseNote.ts:65` `readProbeCauseKey` / `:108` `probeCauseOperandsText` → 换读 `probeCauseRowsOf(card)`;网页端 `ui/lib/engine/engine-approval-evidence.ts:104-110`(本地窄读已删,卡上路径列表因此消失)→ 接 `probeCauseRowsOf` 即回来。
10594
+ - **AC-5**:终端 `sema/liveToolApprovalWire.ts:457` `composeCardWireNote` + `sema/askFrameNotes.ts:50` `denialLimitFallbackNote` / `:93` 出身静默表 / `:329` `askFrameNoteParts` → 原因格换读 `approvalCardReasons`(治理句 / 双向字符披露 / 规则证据 / 报价缺席句 / 读根候选句本版不进这一格,端照旧);网页端各卡组件逐位渲 → 换读。
10595
+ - **AC-6**:终端 `sema/engineGateSyncAllow.ts:300` `readRequiresRealApproval`(两处都认,逐字同判)· `sema/approvalStreamWire.ts:812`(v1 腿内联读 `risk`)· 网页端 `ui/lib/engine/engine-approval-evidence.ts:218`(只认顶层)与 `ui/lib/engine/turn-mapping.ts:740`(v1 腿只认 `risk`)。
10596
+ - **AC-7**:终端 `sema/askParkReopen.ts:329` `countOwnedPendingApprovals` · `:353` `rowIsOwnedAndDecidableHere` · `:392` `rowIsDecidableHere` → 换读(`ownershipDeps` 原样交第二参);网页端 `ui/lib/engine/engine-self-heal.ts:177` `countOwnedPendingApprovals`(只比 `sessionId`、数组回体也收)→ 换读,`deps.currentSessionId` 交本条会话的引擎会话 id。
10597
+ 🔴 本节坐标与判语是读码所得(只读 origin/main),不是包侧门证据。
10598
+ - **TP-1 / TP-2**:终端定义 `sema/engineTarget.ts:112-127`(`normalizeEngineUrl`)/ `:133-143`(`validateEngineUrlTransport`);调用点成对:`cli/handlers/cloud.ts:579` + `:586`、`cli/handlers/cloudSessions.ts:667` + `:672`、`cli/handlers/device.ts:128` + `:130`;只调传输闸的一处:`sema/engineTarget.ts:784`(落盘值复验,不先规范化)。桌面端定义 `main/engine-target.ts:148-151`(`isLoopbackHost`,自带回环谓词:`localhost` / `::1` / `127.x.x.x`)、`:154-173`(`normalizeUrl`,规范化 + 传输闸合在一个函数里);调用点 `:476`(Registry)、`:751`(Org engine)、`:864`、`:923`(Engine)、`:1258` / `:1286`(落盘值加载时复验)。网页端零读点:`git -C <网页端> grep -n -i -E "normalizeEngine|isLoopback|must use https|plain http" origin/main -- ui server` 只命中 `ui/lib/tool-registry.ts:819` 一行注释(无关),引擎地址在网页端不经客户端规范化。
10599
+ - **TP-3**:终端 `sema/liveClient.ts:1943`(`const live = client.tasks.stream(liveBody, {…})`;`onResponse` 在 `:1953` 读 `x-task-id` 头登记早绑定;`live` 随后交 `withHeadlessR1Reconnect(live, …)` `:1993`)—— 换成 `submitStreamWithBoundedReopen({ client, request: liveBody, options: { …原有选项(含 onResponse)… } }).frames`,位置在最内层(重开的帧与首发的帧流经同一条下游管线);`onResponse` 里的早绑定登记每发各跑一次(第二发的头到了会再跑一遍,登记口按 run id 幂等即可)。桌面端 `main/session-host.ts:1816`(`this.deps.client.tasks.stream(taskReq, { transientOk, signal, headers })`,不读响应头,run id 取自 `meta` 帧)—— 同样换成本口,`signal` 放 `options.signal`。网页端 `ui/lib/engine/engine-session-transport.ts:434`(`client.tasks.stream(buildTurnTaskRequest(…), …)`)。三处都是直接拿 sdk `AgentClient` 调 `tasks.stream`。
10600
+ - **TP-4**:桌面端 `main/session-host.ts:1960-1984`(排空与流帽两套预算,`drainConsecutive` 自写连续计数,注释自述「re-implemented on its two root-exported reads because the leg ledger itself is not on the root entry, KL-732」)、`:2327-2335`(判型点,标记 `s.streamDraining`)、`:764-773`(字段 `streamDraining` / `legSawOtherFrame`)、`:66-67`(import 两只读口)。网页端 `ui/lib/engine/engine-session-transport.ts:459`(`drainingAttempts` 连续排空计数)、`:535-541`(喂 `streamDrainingDecision`);`ui/lib/engine/engine-turn-legs.ts:301`(判型点)、`:835`(`client.runs.events` 读点)。终端零读点。
10601
+ 🔴 本节坐标与判语是读码所得(只读 origin/main),不是包侧门证据。
10602
+ - **DU-1 – DU-3 · 桌面端**:`main/boot-error-scrub.ts:91 – 99` `redactGenericForms` 的三条本地正则里,`:94`(`Bearer` 六字)与 `:95 – 97`(名字后缀凭据词加 `=` / `:`)本版起可删 —— 包侧复跑桌面端零泄漏语料(桌面端仓 scripts 目录下的 `run-parity-0960-col1-fence-test.mjs:363 – 400` 共 28 形)在「只留 `:93` 的 `sk-` 六字与 env 值一遍」时零泄漏(0.97.1 上漏 7 形);`:93` 不能删(连字符 / 下划线分段的短 `sk-` 值包不遮,KL-756)。删条信号:同一门的反向正控腿(`:438 – 449`)本版起对五形里的四形转红(值首分号 / 值带花括号 / 诊断词当值 / Bearer 词形载荷),分段短 `sk-` 那一形仍绿。
10603
+ - **DU-1 – DU-3 · 终端 / 网页端**:零改码(凭据网经 `displayUntrusted` 已在用的读点自动受益)。
10604
+ - **DU-4 – DU-7 · 终端**:配置地址展示面 `sema/displaySafeUrl.ts:51` `displaySafeBaseUrl` 的八十余处读点(`git grep -n displaySafeBaseUrl origin/main -- src`,如 `cli/handlers/cloud.ts:106`、`cli/handlers/mcp.tsx:262 – 268 / :352 / :379`、`cli/handlers/device.ts:133`)可换读 `displayConfiguredUrl(u, { controls: false, bidi: false, foldLines: false })` 或按载体选项;壳判据组 `sema/displaySafeUrlShape.test.ts` 的 C1 / C1b / C2 / C2b / C7 / C28c / P13b 在包口上零外溢;🔴 成文改口三格(包口是更强形):C7「26 / 27 格零漏」⇒ 27 / 27(反斜杠那一格整只进值,C7b 的「占位尾成了独立路径段」改读为「并进参数值记号」,KL-759 ③);C1 期望的 `https://h/api_key=«redacted:secret»` 与包口同形;C16 / C19 – C21 是壳源码锚,换读后随壳实现删。
10605
+ - **DU-4 – DU-7 · 网页端 / 桌面端**:零读点(网页端 `git grep -n "displayConfiguredUrl\|queryCarriesCredential" origin/main -- src ui`、桌面端同命令 `-- src`,两仓空输出)。
10606
+ - **DU-8 · 终端**:`sema/displaySafeUrl.ts:1101 – 1114` 自持的 `DIAGNOSTIC_VALUE_WORDS`(75 词,与本包逐词同序同值)删掉,`isDiagnosticValue`(`:1160 – 1178`)末行改读 `isDiagnosticValueWord(value)`(它已含「剥尾标点 · 小写 · 空串答真」三步;本包另剥前导点,只多认 `..the` 一类)。网页端 / 桌面端零读点。
10607
+ - **DU-9 · 射程答复(两问)**:终端 `sema/settingsCredentialNames.ts:17 – 45`(`CREDENTIAL_WORDS` / `CREDENTIAL_STEMS` / `CREDENTIAL_SUFFIXES`;读者 `sema/settingsScratchSession.ts:51`、`sema/settingsCredentialMode.ts:26`)回答「设置文档里这个键名可能装凭据吗」,判中 ⇒ 藏值 / 告知,刻意取宽(`SSL_KEY_PATH` 也藏);本包 `CREDENTIAL_NAME_SEGMENTS` 只给「反引号里的 SCREAMING 名点名一个凭据变量 ⇒ 这个标签值是名字不是值、放行」用,取窄。并成一张表:按终端那张放行会变宽(`` `OTP_<随机>` `` 一类被放行)、按本包那张藏值会变窄(`SESSION_COOKIE` / `SSHPASS` / `OTP_SEED` 的值不再藏)。两边零改码;终端那张表的归宿是设置文档凭据键路径判官上收(包侧缺口 ③)。
10608
+ 🔴 本节坐标与判语是读码所得(只读 origin/main),不是包侧门证据。
10609
+ - **TH-1 / TH-2**:构建证据(读 origin/main):终端构建脚本 `build.sema.mjs`(仓内 scripts 目录)第 1960-1965 行只开 `minifySyntax`、刻意不开标识符压缩(类名保活);网页端构建脚本 `build-ui.mjs`(仓内 scripts 目录)第 60 行 `minify: true`(压缩标识符,无 keepNames);桌面端渲染层嵌网页端产物(读码推断,桌面端自己的构建配置里没有压缩键:`git -C ../sema-desktop grep -nE "minify|keepNames" origin/main -- scripts package.json` 空输出)。网页端、桌面端零读点(`git -C ../sema-web-client grep -nE "ApprovalBindingMismatchError|'ConflictError'|SteeringNotRunningError|'NotFoundError'|AskDecidedError" origin/main -- ui lib` 与桌面端同形命令空输出)。终端自有的同族类名表(不经本包读口,同一病形;终端是未压缩的 node 进程,真实例的类名等于字面类名,今天不触发分叉,仍是第二份读法):`sema/approvalStreamWire.ts:364`(`TYPED_NAME_TO_KIND`:`AskDecidedError` / `AskIdempotencyConflictError` / `AskGoneError` / `AskParkingError` / `FeatureDisabledError`,读 `shapeOf(e).name`)与 `sema/decideAlreadyResolved.ts:53`(`PARKED_RESUME_STARTUP_TYPED_ERROR_NAME`)—— 待终端改读本包读口的判决位(`decisionRefusalAskReading` 等)后删。
10610
+ - **TH-3**:终端 `sema/failOpen.ts:62` `describeThrown(e, withName)` 与它的 11 处调用文件(`grep -c describeThrown` 命中 `engineLifecycleManager.ts:1977` · `interactiveSettingsStamp.ts:535 / :819 / :940` · `processBackstop.ts:66 / :82` · `replEntry.tsx:3326 / :3539` · `requestBuildRefusal.ts:29` · `seamQuery.ts:756 / :1442 / :2755 / :3573 / :5577` · `semaUpdater.ts:822` · `sessionPolicyWire.ts:312 / :319 / :405` 等):无名版 `describeThrown(e)` → `wireFailureTextsOf(e).reason`(用户面 / 诊断位),带名版 `describeThrown(e, true)`(`名字: 消息`)→ `wireFailureTextsOf(e).log`(只进日志)。差分:`{}` 此前渲 `[object Object]`、空 Error 渲空串,换读后都是固定句。网页端同形自写点:`ui/lib/engine/engine-session-ops.ts:45 / :83` · `ui/lib/engine/subagent-resume-wire.ts:80` · `ui/components/shell/AppErrorBoundary.tsx:41 / :59`;桌面端:`main/engine-target.ts:146`(`errText`)· `main/index.ts:442 / :569` · `main/browser-mcp.ts:420 / :441 / :1064 / :1073 / :1094` 等 `e instanceof Error ? e.message : String(e)` 形(可选换读;`grep -rn "instanceof Error ? e.message : String(e)" main` 取全表)。
10611
+ - **TH-4**:终端 `sema/apiErrorSupplement.ts:82-95`(`retryAfterHint`:`retryAfterMs` 四舍五入、亚秒取 1 —— 包取上取整)· `:250-428`(`semaApiErrorSupplement` 补充句链,**本程未并入**,仍是终端的编排)· `sema/seamQuery.ts:2102-2175`(`semaSubmitFailureRow`:transport 句「the engine is unreachable — your message did not run」与 internal 句「internal shell error …」—— 包的 `headline` 对位,措辞宿主中性);网页端 `ui/lib/turn-error-classify.ts:321`(`httpShape` 十五形:类别 / 标题 / hint / retryable)· `:233`(`retryAfterMsOf`:包取头源优先)· `:636`(`retryable = serverSaidRetriable ? true : shape.retryable`:对位 `retry`)· `:663`(`withWaitHint`)· `:574`(`classifyThrownTurnError`)· `:711`(`classifyWireTurnError`);桌面端 `main/session-host.ts:261-286`(`isConnectionLost = isWireTransportError(e) || isSseIdleError(e)` ⇒ `errorCategory: 'connection_lost'`:对位 `category === 'connection_lost' || 'timeout'`)。三端换读以 `category` / `retry.offer` / `waitSec` / `headline` 为准;标题 / hint 的英文句子与「换个模型」动线仍是各端的产品文案(网页端 `looksLikeModelRejection` 读 message 词面,不是线上事实,不进包)。
10612
+ - **TH-5**:网页端 `ui/lib/engine/engine-session-transport.ts:511-520`(掉线重挂:`reattachTries >= 5` / `1000 * reattachTries` / 提交前排空拒收取 `drainingRetryDelayMs`)· `:538-560`(排空终帧:`streamDrainingDecision`,梯用尽 ⇒ 放弃 ——**本包改口:按一次普通流帽**)· `:590-591`(流帽 `reattachTries < 5`);桌面端 `main/session-host.ts:144`(`CAP_REATTACH_MAX_TRIES = 5`)· `:1960-1995`(`resumeCappedRun`:排空梯用尽 ⇒ `capAttempts++`,与包同读法);终端 `sema/interactiveReattach.ts:130-179`(窗口式重连机:`REATTACH_WINDOW_MS = 300_000` / 退避 1 – 30 秒 / 「不认识这个 run」连续确认 —— 按墙钟不按次数,**本程不并入**)。
10613
+ - **TH-6**:网页端 `ui/lib/engine/engine-environment-wire.ts:384`(`sandboxDegradeHint(result.error)`)与 123d 的 501 过渡分支 `:98-112` / `:382` / `:408-413`(`IMAGE_INDEX_REQUIRED_ERROR_CODE` · `CLOUD_CAPABILITY_UNAVAILABLE_PREFIX` · `cloudImageIndexRequiredNotice`)及其门内自检 `:625-653`:换读 `sandboxDegradeHint(result.error, 'web')` 后过渡分支可删(包句的出路段已是图形端的话);`ui/lib/turn-error-classify.ts` 的沙箱臂(「句子不照搬包的壳版文案」)同理可换读;终端 `sema/seamQuery.ts:2133` / `sema/seamQueryEngine.ts:2781` 零动作(缺席即终端);桌面端 `git -C ../sema-desktop grep -n "sandboxDegradeHint\|image_index_required" origin/main -- src` 空输出。
10614
+ - **ID-1 / ID-5**(2026-10-14 另行抓取:终端 `d742f6fd`、网页端 `06cb474b`、桌面端 `ea69a6a2`):**终端**按 `uuid` 去重 —— `utils/sessionStorage.ts:2851`(`recordTranscriptInner`:`messageSet.has(m.uuid)`)· `:2659`(`appendEntry`:`isNewUuid`),零改码,重投去重本版起自动生效;`:1213 – 1219` 注「回退身份由 seq 派生、两场会话同值 ⇒ 复合键必要」的前提随 `seq` 档退役不再成立(复合键保留无害,注可改读);`-p` 车道 `sema/seamQueryEngine.ts:2011`(工具结果帧铸点调用)· `:2046 – 2047`(该帧同时进转录行)—— 该行 `uuid` 本版起 = 引擎 `eventId`,与交互车道同值。**网页端**三处按 id 读点零改码:压缩分割线 `ui/lib/engine/turn-mapping.ts:538`(`message.uuid` 当幂等键)→ `ui/lib/session-event-log.ts:240`、记忆块 `session-event-log.ts:225`(`memoryEventId`)、段权威 `session-event-log.ts:187` / `:255`(按行 `uuid`);`ui/lib/engine/engine-turn-legs.ts:174` 的 `ctx.uuid` 本版起只在无稳定键的帧上被调用;游标 `:119` / `:437`(`lastWireId`)照旧是传输优化。**桌面端**无按 `uuid` 去重(路径省略 `src/` 前缀,下同):`main/session-host.ts:3025 – 3031`(`commitTranscriptNow` 直接入缓冲)· `:2161`(`runs.events` 带 `lastEventId`)· `:3311`(缓冲非空即不回灌)· `:3326`(回灌行自铸 `restored-<engineSessionId>-<n>`),两条 `adapt` 循环 `:2002` / `:3472` —— 无游标 / 游标失效的重放仍会重复成行,直到端上补一处按 `uuid` 去重(已认领);回灌行与本包派生行是两个 id 空间,对齐可改读 `engineRefOf`。
10615
+ - **ID-2 / ID-3**:三端 `grep -n -w -e engineRefOf -e sameEngineRef -e _sema_engine_ref`(各端 `src` / `ui` / `main`)空输出 —— 零读点,`boundRun` 三端都没有(可选位)。`-p` 车道原样上 stdout 的信封本版起多一键(终端 `sema/seamQueryEngine.ts` 的兜底原样交出臂)。
10616
+ - **ID-4**:三端 `git grep -n -w deriveTranscriptId origin/main` —— 网页端 / 桌面端空输出;终端只命中它自己的处置表 JSON(`wire-consumption-manifest.json`)里的文字,代码零调用点。终端 `git grep -n "seq:" origin/main -- src | grep -i "adapt\|frame\|transcript"` 三处命中全在测试文件、都不是喂给 `adapt` 的只带 `seq` 的帧(fleet 行帧参 / 同侪帧出处字段 / 输出帧计数)⇒ 本版退役的那一档三端零生产者。
10617
+ - **CP-1**(本组 CP 坐标另行抓取:终端 `d742f6fd`、网页端 `99c522a`、桌面端 `ea69a6a`):终端 `sema/agentsWire.ts:85-86`(引入准备 / 作废两口)· `:265`(`prepareTaskAgentsWireWith(cfg, projectFromProduct)`)· `sema/liveClient.ts:122` / `:791`(`taskAgentsField` / `awaitTaskAgentsWire`);单发口只在测试 `sema/agentsWire.test.ts:27` / `:228`。网页端 / 桌面端零读点(`git grep -n "prepareTaskAgentsWireWith\|engineSupportsTaskAgents" origin/main` 空)。
10618
+ - **CP-2**:终端 `cli/sessionBackgroundStop.ts:207-208`(`plan.caps()` 交第三参)与它读的另存回体 `sema/liveClient.ts:1156`(「这一只客户端最近一次能力回体」)—— 换读:第三参改交 `plan.baseUrl`(停止口同一把 `capsBaseUrl`),另存回体可删;测试 `sema/bgAgentVisibility.test.tsx:463` / `:474`、`sema/engineAgentAbsence.test.tsx:71`。网页端 / 桌面端零读点。
10619
+ - **CP-4**:终端 `cli/handlers/cloudSessions.ts:328-332`(只读 `view.worker`,不受影响)· `cli/handlers/cloud.ts:942-943`(直调投影,照带 `caller`)。网页端 / 桌面端零读点。
10620
+ - **CP-5**:网页端 `ui/lib/engine/rewind-checkpoint-wire.ts:113`(渲包句,自动随包)。
10621
+ - **CP-8**:终端 `sema/inheritEnvWire.ts:61`(能力词常量)· `:67`(告知句常量)· `:84`(`inheritEnvIntentFor`,读 `engineCapState` 只认 `'true'`)· `:128`(`inheritEnvFieldForSubmit`:意图 + 去重说一次)—— 换读:能力那一件读 `observedInheritEnvOwnCredentialsWithheld`、判定改调 `inheritEnvIntentOf`(`projectContextConfirmed` 交它自己的 `projectContext` 读数、`serviceIdentityVerified` 交服务轴身份观测结果)、句子改调 `inheritEnvNoticeOf`,删本地常量与判定;桌面端 `main/inherit-env-wire.ts:35`(能力词常量)· `:40`(告知句常量)· `:85-109`(身份 → projectContext → 能力词三段本地判定)· `:62`(`engineIdentityOf`:与本包无关的宿主身份读口,本包判定只收它算出的布尔)—— 换读同终端,身份位交 `sameIdentity(...) && 代际未变` 的结果;网页端零读点。
10622
+ - **CP-9**:三端零调用 —— 终端只在自家的包消费登记文档与消费清单里提到这一名(登记文本,非调用);网页端 `ui/lib/engine/engine-session-transport.ts:194` / `:197` / `:204` 与 `tests/run-slash-commands-test.mjs:79` / `:253` / `:262` 是注释;桌面端零命中。
10623
+ - **CP-3 / CP-6 / CP-7**:零读点变化(终端 `components/tasks/BackgroundTasksDialog.tsx:442` / `:701` 用槽形 `engineTaskHandlesCapable()`,不受影响;执行车道读口终端 `commands/doctor/axesRows.ts:737`、`sema/backgroundWorkExitFacts.ts:64`,桌面端 `main/mcp-skills-wire.ts:797`,线上回体无访问器,读数不变)。
10624
+ - **HL 行三端坐标**(2026-10-15 抓取:终端 `d742f6fd`、网页端 `99c522a`、桌面端 `ea69a6a`;终端 / 桌面端路径省略 `src/`,网页端无 `src/` 目录、写全路径):
10625
+ - **HL-1 / HL-14 · 终端**:`sema/approvalStreamWire.ts:105`(import `joinApprovalHolder`)· `:1571`(问车道开卡前调)—— 改 `claimApprovalCard` + 落定 `release`;流级去重集与本管线活卡在飞账同批可退(同文件 `legacy*` / `handled` 集)。网页端 / 桌面端:`git -C <端树> grep -n 'joinApprovalHolder' origin/main` 空输出。
10626
+ - **HL-3 · 终端**:`sema/askParkExpiry.ts:277`(`parkRowDeadlineHandoff`)· `:288`(`registerParkRowCard`)· `:300`(`isParkRowCard`);调用 `sema/askParkReopen.ts:1423-1424`;读点 `sema/liveToolApprovalWire.ts` 六处(`:1126` / `:1208` / `:1410` / `:1537` / `:1570` / `:1582`)· `sema/liveApprovalCardHandles.ts:407` · `sema/engineGenerationConvergence.ts:60` —— 改读卡入参 `parkRow`。网页端 / 桌面端零命中。
10627
+ - **HL-5 / HL-13 · 三端回落映射**:终端 `sema/approvalStreamWire.ts:1795-1796`(`decision.kind === 'allow' ? (allowSession ? 'allow_session' : 'allow') : 'deny'`)· `sema/askParkExpiry.ts:1309` · `sema/liveClient.ts:1403` / `sema/persistedRulesWire.ts:514` / `:585` / `:798`(手写三词联合)· `sema/liveToolApprovalWire.ts:1231`(`buildAllowDecision`);网页端 `ui/lib/engine/engine-decision-verbs.ts:678`;桌面端 `main/session-host.ts:3909` —— 映射改调 `answerPayloadFor(answer, 'respond').decision`,型改取 `ToolApprovalRespondDecision`,值域读 `RESPOND_DECISIONS`。`git -C <端树> grep -n 'RESPOND_DECISIONS' origin/main -- .` 三端空输出。
10628
+ - **HL-6 / HL-7 · 终端**:`answerCarriage` / `answerCommitted` 零命中(新口);Yes 备注入口与会话立场应用点在 `sema/liveToolApprovalWire.ts`(本包不点行号:那两处随终端自己的卡口改造改)。
10629
+ - **HL-8 / HL-9 · 终端**:`sema/standingAnswerVeto.ts`(否决闭表)与六处 import(`BashPermissionRequest.tsx:38` 等,在终端仓里 `git grep -n standingAnswerVeto origin/main -- src`)· `sema/liveToolApprovalWire.ts:433`(`req.rememberRefused === true`)—— 改读 `rememberOfferable`;本地写可执行性零命中(新口)。网页端 `ui/lib/engine/engine-hitl-frames.ts:242` / `:258` / `:356` 等读 `readApprovalRememberRefused`(座位已有 `sessionRow`,可不动)。桌面端零命中。
10630
+ - **HL-10 · 终端**:`sema/askParkExpiry.ts:386-392`(本地五 + 一词联合)· `:400`(`REAPED_CODES`)· `:418-484`(`classifyLateDecideOutcome`)· `:489`(`packageSaysStillPending`)· 调用 `:712` / `:1233` / `:1236` —— 删,改读 `lateDecideOutcomeOf`;登记分歧(404 + 已结束成因)换读后由 `unknown` 变 `settled-elsewhere`。网页端 / 桌面端零命中。
10631
+ - **HL-11 · 终端**:`sema/approvalStreamWire.ts:1233` / `:1271`(壳臂注,上收登记 `replayed-confirmed-settle-closes-card-shell-arm`)—— 删壳臂;网页端 `ui/lib/engine/engine-turn-legs.ts:576`(调 `replayedApprovalDisposition`;不调收口谓词,零动作)。桌面端零命中。
10632
+ - **HL-12 · 终端**:`sema/fileHistoryCaptureCapability.ts`(re-export 包同名口)—— 零改码,句子随包;依赖旧句的断言改钉。网页端 / 桌面端无入口。
10633
+ 🔴 ST 各行坐标:2026-10-15 重抓 origin/main —— 终端 `800f2dc8`、网页端 `28b15b33`、桌面端 `b30b0726`;读码所得(只读),不是包侧门证据。
10634
+ - **ST-1**:桌面端 `main/session-host.ts` 的 36 处 `emit({…})` 事件站点逐个读过(行 1054 · 1074 · 1272 · 1294 · 1317 · 1350 · 1372 · 1397 · 1490 · 1663 · 1745 · 1804 · 1818 · 2026 · 2232 · 2266 · 2337 · 2409 · 2463 · 2705 · 2961 · 3030 · 3094 · 3164 · 3290 · 3334 · 3344 · 3411 · 3769 · 3801 · 3818 · 3933 · 4110 · 4219 · 4355 · 4379)全是对象字面量,`:964 – 966` 的 `emit(ev)` 方法只转手;记录行 `:989 projectRecord` 展开成字面量;各 verb 返回值(`main/index.ts:1113 – 1165`、`main/model-config.ts`)是字面量或本包读口产物,没有类实例挂位。网页端是读端(`ui/lib/desktop/local-sessions-transport.ts:1052 – 1229` 只读 `ev.*`);终端无座位 lane(终端仓里 `git grep -n "LocalSessionEvent\|LOCAL_SESSIONS_SPEC" origin/main -- src` 空输出)。结论:三端无故意发类实例的一形,不需要成文改口。
10635
+ - **ST-2 · 桌面端**:`main/model-config.ts:203`(`SHADOWED_BY_MODELS_JSON` 私有字面量)· `:236`(`CHEAP_PROVIDER_UNSUPPORTED`)· `:300`(请求形坏 → 自由文本塞进 `reason`,改 `invalid_request` + `detail`)· `:305` / `:311`(两词返回,改读包常量)· `:320`(写文件失败自由文本,改 `write_failed` + `detail`;`detail` 只引用供应商 / 模型 id,绝不带密钥)· `main/index.ts:1149 – 1153`(`applyModelConfig` verb:云绑定时抛错而非回执,可改回 `{ ok:false, reason:'unavailable', requiresRestart:false }`);测试(桌面端仓的 scripts 目录)`run-model-config-honesty-test.mjs:28` 的独立 oracle 字面量与 `run-model-config-honesty-live-test.mjs:74` / `run-model-config-test.mjs:222` 照旧合法(五词里的两词),自由文本断言的两处须改钉。
10636
+ - **ST-2 · 网页端**:`ui/components/overlays/SettingsOverlay.tsx:1551 – 1559`(`MODEL_CONFIG_REASON_COPY` 两句句表,逐字即本包句表前两句 —— 删,改 `applyModelConfigReasonDetail(result.reason)`)· `:1608`(取句三元式随之简化,可选渲 `detail`);测试 `tests/run-panel-honesty-test.mjs:1848` / `:1896`(假座位回执用两个字面词,仍在闭集内)不红。终端零命中(终端仓里 `git grep -n "applyModelConfig\|ApplyModelConfigResult" origin/main -- src` 空输出)。
10637
+ - **ST-3 · 四位**:各端仓里 `git grep -n hasPreClearSession origin/main -- src ui bff scripts tests` 三端空输出。发端:桌面端 36 处事件站点的键集统计 —— `type` 36 · `sessionId` 36 · `session` 21 · `message` 8 · `error` 5 · `errorCategory` 5 · `userMessageUuid` 4 · `requestId` 3 · `outcome` 1 · `chrome` 1;`messages` / `data` / `permissionMode` / `hasPreClearSession` 为 **0**。读端:网页端 `dispatchSeatEvent` / `noteHostQueue` / `routeQueuedEcho`(`local-sessions-transport.ts:1052 – 1229`)只读 `ev.type` · `sessionId` · `session` · `message` · `userMessageUuid` · `chrome` · `error` · `errorCategory` · `requestId` · `outcome`,零读 `messages` / `data` / `permissionMode` / `hasPreClearSession`(网页端仓里 `git grep -nE "\b(ev|event)\.(permissionMode|hasPreClearSession|messages|data)\b" origin/main -- ui/lib/desktop` 空输出)。
10638
+ - **ST-3 · 附件席位三口(退役)**:终端 `sema/liveClient.ts:183`(`import { noteEngineCapsForAttachmentSeat }` 退役名的具名 import)· `:1341`(对 `noteEngineCapsForAttachmentSeat` 退役名的一处调用 —— 带 `config.baseUrl` · `caps` · `{ generation }` 三参,空转)—— 编译红,两行都删;终端测试 `sema/humanTurnAssembly.test.ts:235`(Z9:断言 `liveClient.ts` 含这条调用)· `:240` / `:243` / `:245`(Z11 / Z11b / Z11c 读 `observedAttachmentSeat` 这只退役名)随退役删;终端仓 scripts 目录下 `wire-consumption-manifest.json:21896 – 21901`(AE-5 接线登记行)删行。网页端 / 桌面端按这三口一型的名字(见上)在 `origin/main` 的 `src` · `ui` · `bff` 里 grep 空输出。
10639
+ - **ST-3 · 同形存量(本版不动,见包侧缺口)**:`LocalSessionEvent.request` · `.code` · `.sources` 三位同样是桌面端 36 处事件站点零发、网页端零读(`request` 位的注释自陈「本宿主从不发,保留只为与 CC 同形」)。
10640
+ - **ST-4**:桌面端 `main/session-host.ts:3082 – 3093`(`onChrome` 里 `stream_delta` 就地构造 `stream_event` 消息体:键序 `type` · `uuid` · `session_id` · `event{type, delta}` · `parent_tool_use_id`)→ 调 `seatStreamDeltaMessage(event, { uuid: randomUUID(), sessionId: s.record.engineSessionId ?? s.record.sessionId })`,答 `undefined` 不发;网页端 `ui/lib/desktop/local-sessions-transport.ts:729 – 750`(`processMessage`:`:731` 首提交前丢预览的守卫、`:733` / `:736` / `:745` 内层反解)→ `readSeatStreamDelta(message)`,`delta` 臂按 `channel` 分流,`unknown_event` / `malformed` 丢弃,`not_stream_event` 走原路径;`:731` 的守卫保留。测试 `tests/run-desktop-seat-transport-test.mjs:159` / `:163`、`tests/run-seat-host-queue-test.mjs:129`(网页端)与 `run-session-turn-test.mjs:154 – 159`(桌面端仓的 scripts 目录)喂的线形字节不变,不红。终端零命中。
10641
+ - **ST-5**:桌面端 `main/session-host.ts:3306`(`rehydrateFromEngine`)· `:3321`(只收 user / assistant)· `:3326`(uuid `restored-<引擎会话 id>-<n>`)· `:3328`(`timestamp: this.nowIso()` 全盖重建那一刻)· `:3332`(推进 `messageBuffer`)→ 取 `projectEngineSessionMessages(rec.messages ?? [], { sessionId: engineSessionId })` 的 `messages` 逐条入缓冲与 `emit`;`skipped` 可进诊断日志。网页端 `ui/lib/engine/engine-history-wire.ts:108`(`engineMessagesToLogRecords`)目标是自家回放记录词汇,本版不换;座位转录读口 `local-sessions-transport.ts:563`(`seatTranscriptToLogRecords`)消费的正是 CC 词汇消息,时间戳读不出时 `:590 – 591` 已兜到 `at + 1`。终端 `sema/sessionSyncTranscript.ts:112`(`syncEntriesToTranscriptLines`:会话搬运 pull 半场,另带 `parentUuid` 链与落盘行字段)是第三份同形块映射,不在本版射程。
10642
+ - **UP-1 / UP-2**(2026-10-15 抓取:终端 `800f2dc8`、网页端 `28b15b3`、桌面端 `b30b072`):三端零读点。核法:`git grep -n "assistant\.inbox\|assistant/inbox\|\.inbox(" origin/main -- src ui` 与 `git grep -n "assistant\.preempt\|/preempt\|\.preempt(" origin/main -- src ui` 在三仓均无输出(网页端 `ui/lib/engine/frame-warnings.ts:25` 的 `preempted` 是注释里的词,与让位口无关)。终端今天用审批列表 + fleet 帧拼两半、只有 cancel 硬停;换读点由终端立票。
10643
+ - **UP-3**:终端 `sema/devicesWire.ts:464` `issueEnrollToken` · `:512` `enrollDevice` · `:549` `revokeDevice`(三只都经同文件 `:308` `deviceFetch` 裸 fetch)· `:747` `deviceRejectFromError` · `:764` `deviceRejectContent`;调用点 `cli/handlers/device.ts:679` / `:716` / `:1051`、`sema/apiErrorSupplement.ts:20` / `:342-343`。换读后删裸 fetch 发射口与本地分型,设备面网络豁免整撤(终端的 sdk 隔离门网络基线里那三条设备面端点)。网页端:`ui/lib/engine/engine-session-transport.ts:1020-1024`(六动词经 `settleDeviceCall` 自写的分型,`:1030`)与 `ui/lib/engine/engine-devices-wire.ts`(面板句);零命中核法:`git grep -n "identity_mismatch" origin/main -- src ui`(网页端无输出)。桌面端:`git grep -n "issueEnrollToken\|enrollDevice\|revokeDevice\|identity_mismatch" origin/main -- src` 无输出。
10644
+ - **UP-4**:桌面端 `main/session-host.ts:191`(`durableEventId` 声明)· `:2369` · `:2521`(两处调用:续读水位与重放去重)· `:829-830` / `:2103-2106` / `:2518`(引用它的注释)。终端 / 网页端:`git grep -n "durableSeqOf\|hasLedgerPositionKey" origin/main -- src ui` 无输出(两端不自读帧位置)。
10645
+ - **UP-5**:终端 `sema/footerAppStateAgentRows.ts:98` `useFleetListStateWithAppStateRows`(页脚树 `sema/fleetFooter.tsx:179`、全屏视图 `sema/overrides/fleet-view-screen.tsx:300`);终端自己的上收退役登记里的 `fleet-list-appstate-union-shell-arm`。网页端:`git grep -n -i "fleet" origin/main -- src` 无输出,`fleetProjection` 只被 `ui/lib/engine/fleet-workflow-adapter.ts` 用于 workflow 行;桌面端:`git grep -n -i "subscribeEnginePanelRows\|fleetProjection\|AppStateAgentRows" origin/main` 无输出,`main/session-host.ts:4455-4462` 自述「桌面端今天没有子代委派 / fleet 支持」。
10646
+ - **UP-6**:终端 `sema/hookToolAliasMatcher.ts:37-38`(import `hookMatcherRefusalFromError` / `hookMatcherVerdict`)· `:96`(逐组问判定口)· `aliasOnlyMatchersIn` / `tallyToolEventMatchers` 在 `v.kind === 'refused'` 上直接读 `v.alias` / `v.canonical`(编译红,126y ①)· `:158` `uncheckedWhy` 的 `case 'invalid_pattern'`(编译红)· `refusalFactsLine` 读 `HookMatcherRefusal` 的 `alias` / `canonical`(编译红)。网页端 / 桌面端:`git grep -n "hookMatcherVerdict\|hookMatcherRefusalFromError\|alias_without_canonical\|invalid_pattern" origin/main -- src ui` 无输出(去掉测试文件后同)。
10647
+ - **UP-7**:终端 `sema/fleetClient.ts:419` / `:450` / `:527` / `:552` / `:554`(`ledger.setConnected`)· `:613`(读 `connected`)· `:523`(已改走 `ingress.applyFrame`,生产代码对兼容入口零调用);测试文件走兼容入口:`sema/bgAgentVisibility.test.tsx`(9 处)· `sema/deferSessionExemption.test.ts`(2)· `sema/engineUpgradeKilledScope.test.ts`(2)· `sema/fleetTokenSource.test.ts`(2)。核法:`git grep -n "ledger\.applyFrame(\|setConnected" origin/main -- src`。网页端 / 桌面端同命令无输出。🔁 本版改为硬退,见 RA-3。
10648
+ - **PK-1**:终端 `800f2dc8`、网页端 `28b15b3`、桌面端 `b30b072`(2026-10-15 抓取)。终端 `sema/askFrameNotes.ts:93`(本地静默表 `QUIET_ASK_ORIGINS`,不含 `plan_review`)/ `:151` / `:154`(调包的 `askOriginDetail`)—— 按 WD-4 换读 `askOriginNoteOf` 后 `plan_review` 自动静默;网页端 `ui/components/composer/Composer.tsx:104-105`(按 `ASK_ORIGIN_WORDS` 判已知词再取句);桌面端零读点。`unknown_arm` / `unsupported_arm` / `onDroppedFrame`:三端 origin/main 零读点(`git grep -n -E "unknown_arm|unsupported_arm|onDroppedFrame" origin/main -- src ui` 三仓空输出)。终端 `cli/print.ts:1166` / `hooks/useRemoteSession.ts:233` 读的是 CC 自己的 `system/task_started`,不是引擎帧。
10649
+ - **PK-2**:终端 `sema/mcpWire.ts:80` / `:110` / `:188`、`sema/mcpEngineProbe.ts:136`(本地腿经 `mcpConfigToSpec` / `mcpConfigsToSpecs`,自动生效);桌面端 `main/mcp-skills-wire.ts:461`(`mcpConfigsToSpecs`)与 `:242-276`(`serversOf` 预扫:只数不支持的传输,两位同设被跳过的条目不进它的计数 —— 可改读 `readMcpHttpIdentityHeaders`);网页端零读点。
10650
+ - **PK-3**:终端 `cli/handlers/cloud.ts:376`、`sema/cloudConfigWire.ts:497` / `:518`(`cloudEffectiveNotices(p)`,`p` 是整份投影,自动带 `mcp`)。网页端 / 桌面端零读点。
10651
+ - **PK-4**:终端 `sema/cloudConfigWire.ts:147-155`(`writeShadowModels`:`JSON.stringify(modelsDoc)` 写盘)。网页端 / 桌面端零读点。
10652
+ - **PK-5**:终端 `cli/handlers/cloud.ts:378` / `:425`、`cli/handlers/cloudSessions.ts:627` / `:799`、`sema/cloudConfigWire.ts:390` / `:427` / `:572`(信任落账)、`sema/engineTarget.ts:409`;桌面端 `main/engine-target.ts:746-758`(先过自家地址闸、拒则不落 org 引擎)。网页端零读点。
10653
+ - **PK-7**:终端 `sema/config/modelChannels.ts:1926`(`computeDeleteBlockers`)/ `:1941`(`computeDeleteWarnings`),传读盘得到的整份文档。网页端 / 桌面端零读点。
10654
+ - **PK-8**:在线目录 `.default` 读点两向零(`git grep -n -E "\.default\b|\[['\"]default['\"]\]"` 于三仓读目录的文件、空输出;网页端 `ui/lib/engine/engine-observability-wire.ts` 里的 `default:` 是自测夹具的回体输入)。回体读口读点:终端 `sema/liveClient.ts:1090`;网页端 `ui/lib/engine/engine-observability-wire.ts:166`、`ui/lib/desktop/local-sessions-transport.ts:469`(读座位 `listModels` 交来的目录);桌面端 `main/session-host.ts:1541`(座位 `listModels`)、`main/agents-wire.ts:453`。
10655
+ - **LF 组坐标的抓取**(2026-10-15,`git fetch` 之后读 origin/main):终端 `92dcdc73`、网页端 `57ca3d30`、桌面端 `8e78c1c5`(下面 LF 行的终端路径与桌面端路径同样省略 `src/`;网页端路径为 `ui/…`)。零命中处给 grep 命令与空输出。
10656
+ - **LF-1**:终端 `sema/enginePolicyWire.ts:124`(`shapeOf`,调用 `:141` 的 `classifyPolicyFailure`)· `sema/workflowJournalWire.ts:98`(`shapeOf`,调用 `:108` 的 `classifyJournalFailure`)—— 两份与网页端 `ui/lib/engine/subagent-resume-wire.ts:75`(`shapeOf`,调用 `:97` / `:100`)逐字同形,都换读 `wireFailureCoreOf` 后删;单位读法(`typeof … === 'number' && Number.isFinite(…)` / `typeof … === 'string' && … !== ''`)可选换读两个读口:终端 `sema/enginePolicyWire.ts:205`(`num`)· `sema/engineContextFrameStore.ts:167`(`finiteOrUndefined`),网页端 `ui/lib/engine/engine-compaction-wire.ts:46 / :42`、`ui/lib/engine/engine-context-usage-wire.ts:49 / :53`(`finiteOrUndefined` / `isPlainObject`;守卫类不在本口、`finiteOrUndefined` 在 `engine-context-usage-wire.ts` 的一处随 LF-3 删)。其余命中以 `git -C <终端仓> grep -n -E "const num = |function finiteOrUndefined|function shapeOf" origin/main -- src` 列全。桌面端零读点:`git -C <桌面端仓> grep -n -E "function shapeOf" origin/main -- src` 空输出。
10657
+ - **LF-2**:终端 `sema/engineTaskNotification.ts:29`(`firstTagBody`)· `:33`(`unescapeXmlText`)· `:41`(`cardRunIdOf`)· `:49`(`cardStatusOf`),调用 `:69` / `:77` —— 换读 `readTaskNotificationXml(cmd.value)` 后四个函数删(`runId` ⇐ 读数的 `taskId`,`status` ⇐ 读数的 `status`;注意 `status` 不再 `trim`、`value` 须是整块,两处差见 126b)。网页端 / 桌面端零读点:`git -C <网页端仓> grep -n -F -e "<task-id>" -e firstTagBody origin/main -- ui` 与 `git -C <桌面端仓> grep -n -F -e "<task-id>" -e firstTagBody origin/main -- src` 均空输出。
10658
+ - **LF-3**:终端 `seam/adapter/runStream.ts:182`(`watchEngineContextFrames`:`:204` 调 `publishEngineContextUsage` 时传原始帧的三标量)· `sema/engineContextFrameStore.ts:167`(`finiteOrUndefined`)/ `:176`(`publishEngineContextUsage`,三标量各过一次 finite 门)—— 换读:旁观者把原始帧交 `contextUsageReadingOf` 取读数、店接已过门的读数(车道无关:交互车道 chrome 事件与 `-p` 车道原始帧过同一个口);`sema/upstreamBridge.ts:2883`(chrome 臂只接 `sections`)可并入同一读数。压缩记录的 `watchEngineContextFrames` `:233`(`noteEngineCompaction`)不在本口(126y 包侧缺口 ①)。网页端 `ui/lib/engine/engine-context-usage-wire.ts:57`(`readSections`)· `:77`(`readContextUsage`)· `:92`(`hasContextUsageReading`),调用点 `ui/lib/engine/turn-mapping.ts:1059` —— 换读后 `readSections` / `readContextUsage` / `finiteOrUndefined` / `isPlainObject` 删(`hasContextUsageReading` ⇒ 读数是否 `undefined`)。桌面端零读点:`git -C <桌面端仓> grep -n -E "readContextUsage|readSections|usedTokens" origin/main -- src` 空输出。
10659
+ - **LF-4**:网页端 `ui/lib/engine/engine-gate-denial.ts:103`(`gateDenialDetailFromRawFrame`)· `ui/lib/engine/engine-auto-denied.ts:88`(`autoDeniedToolCallIdFromRawFrame`),调用点 `ui/lib/engine/engine-turn-legs.ts:594` / `:599`(`tapDeliverables` 里对 `adapt()` 之前的裸 `tool_end` 帧读 `gate`)—— 换读 `row._sema_gate` 后两份 tap 与 `turn-mapping.ts` 里按 `toolCallId` 暂存的 `gateDenialDetailByToolCallId` / `autoDeniedToolCallIds` 两本账可删(判官 `isDeniedGate` · `gateDeniedBy` · `gateDeniedByDetail` · `isDenialLimitAutoDeniedGate` · `isApprovalWindowExpiredGate` · `isParkSlaExpiredGate` 照旧,入参改行上的视图;`gate.parked` 形仍读帧上的 `errorCode` 经 `isGateParkedToolEnd`)。终端:行信封零读点(终端读 `tool_end_result` 臂上的 `gate`,`sema/askParkExpiry.ts:134` 等读的是耐久行,不涉及);桌面端零读点:`git -C <桌面端仓> grep -n -E "gateOutcomeOf|isDenialLimitAutoDeniedGate|gateDeniedBy" origin/main -- src` 空输出。
10660
+ - **LF-5**:终端 `sema/planReviewModeAfterOffer.ts:80`(`planReviewOffersModeAfterNow`)· `:98`(`notePlanReviewOffer`,在场卡不被重放改写的复算)· `:136`(`planReviewShownLabels`:重开身份恒两选 → 台账 → 缺省两选)· `:154`(`planReviewTaskIdFromQuestionId`,与本口无关、包内无对应公面,留),写点 `seam/adapter/runStream.ts:549 / :551`,读点 `sema/planReviewModeExit.ts:55 / :96 / :124 / :150 / :181 / :285 / :318` —— 换读:arm 之后不再自记,取标签集 = `planReviewCardOptions(planReviewOfferedModeOf(questionId) === 'three_choice').map((o) => o.label)`(`unknown` ⇒ 老两选标签集,即传 `planReviewChoiceFromAnswer` / `planReviewDecisionFromAnswer` 的缺省);`submittedInPlanMode()`(宿主声明,只有提交方知道)照留。网页端零读点(座位 `ui/lib/desktop/local-sessions-transport.ts:147` 的 `seatPlanAcceptAnswer` 只构造作答,不复算已呈档位);桌面端 `main/session-host.ts:620 – 622`(`SEAT_PLAN_REVIEW_SHOWN_LABELS` 两形标签并集)读座位作答,不复算已呈档位,不在本口射程。
10661
+ - **LF-6**:网页端 `ui/lib/engine/engine-self-heal.ts:273`(`reopenPlanReviewViaCard`:`reopenPlanReviewCard(taskId, { sessionKey: deps.uiSessionId, ...(wire ? { wire } : {}) })`,头注自述「不传 `presentationReceiptMs` —— 同步形」)—— **同步形的生产调用方**(在册退役行此前写的「网页端 / 桌面端源码零调用」与本次抓取不符,已按实读更正);其问题帧端口 `ui/lib/engine/engine-question-port.ts` 的 handler 已无条件调 `registerArmedGateFromQuestionIdFor(ctx.uiSessionId, questionId)`,回执形的回执会到手。终端 `sema/planReviewReopen.ts:145`(`reopenPlanReviewCardOnShell`)已带 `presentationReceiptMs: gateArmedWaitMs()`(`:153`),零改码。桌面端零调用(`main/session-host.ts:4055` 只有注释)。
10662
+ - **LF-7**:终端 `sema/overrides/chrome-agentprogress.tsx:135 / :136`(import)· `:623`(`subscribeEngineAgentPanel` 0.98.0 退出公面)· `:1092`(`subscribeEngineAgentPanelAbsence` 0.98.0 退出公面);网页端另有一处 RL-89 口的调用 `ui/lib/engine/bg-task-probe.ts:40`(`subscribeEngineAgentPanel` 0.98.0 退出公面,`:11` import)—— CC-556 设计定的退役条件只点名终端三处,网页端这一处的换读口(行差分口 `subscribeEnginePanelRows`)另请该设计核;桌面端零读点(`git -C <桌面端仓> grep -n "subscribeEngineAgentPanel" origin/main -- src` 空输出 —— 该名 0.98.0 退出公面)。🔁 本版改为硬退,坐标以 RA-1 / RA-2 为准。
10663
+ - **CS-1 / CS-2**(终端 `92dcdc73`、网页端 `8153c73c`、桌面端 `d05c1226`,2026-10-15 抓取):三端连接器状态词(`unmounted` / `unreachable`)零读点。终端没有连接器面(`/mcp` 详情卡已读同一只查找 `mcpEngineLegLivenessOf`,`components/mcp/MCPRemoteServerMenu.tsx:43`)。网页端设置页 Connectors 节 `ui/components/overlays/SettingsOverlay.tsx:341-362` 读会话 MCP 面板(`GET /v1/sessions/:id/mcp`,`ui/lib/engine/engine-observability-wire.ts:546` 起),按拨号判词出徽标(`failed` ⇒ 警示)—— 那张面板的行不带活性,出不了两态;要出两态须改读 `readMcpCapabilities` 并把结局交本口。桌面端主进程 `main/index.ts:589-595`(`probeLocalMcpFace`,直调 sdk `mcpCapabilities`)+ `main/local-mcp.ts:34-60`(`projectLocalMcp`,同一面的自写窄化,行上带活性原词)—— 改读 `readMcpCapabilities` 后可把结局交本口,徽标与句子由本包给。三端今天零动作。
10664
+ - **TK 段坐标**(本段另一批抓取:终端 `92dcdc73`、网页端 `57ca3d30`、桌面端 `8e78c1c5`;读码所得):
10665
+ - **TK-1 / TK-2 / TK-3**:终端 `sema/settingsRulesWire.ts:141`(`coreRuleIssue`)· `:291-295`(死规则三类型)· `:308-310`(`kept` 理由 → 三类映射)· `:349-357`(`~/` 出路句「cannot anchor」)· `:364`(编译拒收行),调用点 `replEntry.tsx:3690` / `interactiveSettingsStamp.ts:529` / `printModeEngine.ts:213`;测试 `sema/clientCoreHostAssembly.test.ts:526-527`(`report.unreachable`)。桌面端 `main/permissions-wire.ts:68-76`(kept 计数)· `:77-79`(`report.unchecked`)· `:80-82`(`report.unreachable`)· 投影抛 ⇒ 整份不发 `:207`。网页端 / 管理台零读点(`git -C <网页端> grep -nE "permissionsDeclaration|unreachable" origin/main -- ui src` 空输出)。
10666
+ - **TK-4 / TK-5 / TK-6**:终端 `sema/agentsWire.ts:238`(`toolRoster: getEngineToolRoster() ?? null`)· `:239`(扣送位);测试 `sema/agentsWire.test.ts:20`(`MAX_TASK_AGENTS`)· `:21`(`MAX_AGENT_NAME_CHARS` 退役,与 `:24` 同一条 import)· `:24`(`MAX_AGENT_TOOLS` 退役 ⇒ 编译红)· `:129`(`'x'.repeat(MAX_AGENT_NAME_CHARS + 1)`〔该名 0.98.0 退出公面〕:读点;名字取不到值 ⇒ `:148–153` 四格运行期红,不只是编译红 —— 按终端测试源推断,未实跑;删读点)· `:141` / `:156`(64 条截断断言)· `:204` / `:209`(32 帽)· `:330` / `:383`(扣送位)。桌面端(origin/main `ee0d1ab6`)`main/agents-wire.ts:48`(`MAX_TASK_AGENTS`)· `:546-549` / `:634`(`reservedNames` 整只不送)· `:564` / `:639`(自截 32)· `:587`(`withholdRefusedDenyLists: true`,RD-2)· `:591`(`toolDirectory: engineToolDirectoryOf(...)`,RD-4)· `:597-599`(按拼法预判再扣整只)。
10667
+ - **TK-8 / TK-9**:桌面端 `main/session-host.ts:270-289`(`classifyStreamFailure`,铸 `turn_failed` / `connection_lost`)· `:2058-2060`(发座位 `error` 事件,不填 `code`);别的产出方 `:2266`(`stream_capped_unknown_outcome`)等照旧。网页端 `ui/lib/desktop/local-sessions-transport.ts:1257-1265`(只转 `message` / `errorCategory`;settle 臂 `:1272`)· `ui/lib/turn-error-classify.ts:711`(`classifyWireTurnError`)· `:730`(`connection_lost` 臂只认 `errorCategory`)· `:738`(落 `wireMessageFallbackShape` 词扫,`:685`)。
10668
+ - **TK-10 / TK-11 / TK-12**:终端 `sema/interactiveSettingsStamp.ts:914`(首发照发臂 `failOpen`)· `sema/liveClient.ts:2110` / `:2227`(两条提交腿 `await awaitTaskAgentsWire()`,不读回值)· `sema/agentsWire.ts:342`(投影输入读抛照发)。桌面端 `main/permissions-wire.ts:207`(装配抛 ⇒ 整份不发)。
10669
+ - **HM-1 / HM-10**(2026-10-15 抓取:终端 `92dcdc73`、网页端 `9c7a6244`、桌面端 `d264afcc`):终端 `sema/seamQueryEngine.ts:2037` 对 `tool_end_result` 臂调 `ccToolDenialKindForToolEnd(msg)`(判词不变);三端 `git grep -n _sema_denial_unclassified origin/main -- src ui` 零命中。连坐位的读者沿用各端既有折叠(本版只是更多帧带位)。
10670
+ - **HM-3**:终端 `sema/planReviewReopen.ts:152`(`reopenPlanReviewCardOnShell` 只给 `deliverDecision` / `presentationReceiptMs` / `trigger` / `readGateInstanceKeys`,不给 `mintFreshQuestionId`);网页端 / 桌面端 `git grep -n "mintFreshQuestionId\|reopenPlanReviewCard(" origin/main` 零产品调用。
10671
+ - **HM-4**:终端 `sema/suspendedSubagentAskWire.ts:410`(`for (const row of delta.upgraded)`,只计数 + debug 行);网页端 `ui/lib/engine/engine-session-transport.ts:298`(`[...delta.appeared, ...delta.upgraded]`)、`ui/lib/engine/suspended-subagent-ask-feed.ts:104`(`delta.upgraded.length > 0`);桌面端零读点。
10672
+ - **HM-5**:终端 `sema/liveClient.ts:1761`、`sema/liveToolApprovalWire.ts:132`(import)、`sema/approvalStreamWire.ts:893`(v1 卡两键同传);网页端 `ui/lib/engine/engine-hitl-frames.ts:267`。
10673
+ - **HM-9**:桌面端 `main/agents-wire.ts:87`(`CONTROL_TOOL_VERBS.has(name) || SUBAGENT_TOOL_NAMES.has(name)`,后者仍含 `Task` / `Fork`);终端 / 网页端零读点。
10674
+ - **HM-11**:终端 `components/tasks/AsyncAgentDetailDialog.tsx:329`(子代结果串的展示提取;注释仍写块数组被串化,那是 0.30.0 之前的形);网页端 `ui/lib/engine/subagent-content-wire.ts:114` 的入参串化与本口无关(它服务 `input` 位)。
10675
+ - **HM-R1 – HM-R6 / HM-T1 – HM-T4**(2026-10-15 抓取:终端 `92dcdc73`、网页端 `fc2372dc`、桌面端 `4a52975b`):终端编译红必改 —— `sema/liveToolApprovalWire.ts:142`(`FsApprovalOutcome` 转出)/ `sema/liveHitlAskWire.ts:74`(本包 `GateOutcome` 转出)/ `sema/liveClient.ts:72` / `:1742-1743`(便签口 + `classifyDecisionRefusal(outcome.respondRefusal)` ⇒ 改 `classifyDecisionRefusal(r)`、便签三位见 HM-R1 读法)/ `sema/suspendedAskPort.ts:31` / `:208` / `:451-461`(便签型)/ `sema/suspendedSubagentAskWire.ts:66` / `:79` / `:449` / `:729`(映射口 / 便签)/ `sema/askParkReopen.ts:1590-1608`(`out.kind !== 'failed'` / `editRefused` / `reason` / `stage` 旧位)/ `sema/approvalStreamWire.ts:1546-1554`(join 结局);**编译不红、静默变**:`sema/decideForensics.ts:189-205`(结构读去键位 ⇒ 改读 `deny?.attributionKey === 'dropped'`)、`sema/decideAlreadyResolved.ts:166-189`(全可选键结构参数,与 `unsettled` 共有 `safetyCode`,`errorCode` / `currentPending` 改从 `refusal` 取);零改码:`sema/approvalStreamWire.ts:1839`(交抛出物给判官)。CC-768:终端 `sema/askParkExpiry.ts:471`(`isAlreadyResolvedFailure` 判词变)与 `:820-831` / `:1236` 两处注释改口(永久形今天按码 / 位判,不靠文案);桌面端会话宿主的中断拒绝撞「门已走」与 Stop 两处改读 `isAlreadyResolvedFailure` 的改动候本版两码(origin/main 今天仍按自己的读法:`main/session-host.ts:1210-1222`),提货后两码各一形翻绿(G-AR6)。CC-613:`utils/messages.ts:1198`(`buildMessageLookups` 按 id 的两只表,KL-789)、跟跑口声明 `continuesPark`。网页端:旧结局形零代码读点;`ui/lib/runtime-transcript-projection.ts:243`(`updateTool` 按 id)/ `:398`(`tool/use`)/ `:434`(`tool/result`)与 `ui/lib/engine/engine-turn-legs.ts:262`(截停驻终帧)⇒ 按开始行 `uuid` 认 occurrence、接 `tool_parked`。桌面端:旧结局形零代码读点;`main/session-host.ts:133` / `:200-225` / `:3036-3060`(热态扣留「Operation aborted」行)成死代码。
10676
+ - **SC 组**(2026-10-15 抓取:终端 `92dcdc73`、网页端 `743e18bd`、桌面端 `d264afcc`;终端路径省 `src/`):
10677
+ - **SC-2**:终端 `sema/upstreamBridge.ts:2209` `consumeChrome`(`switch` 认不得的臂落 `default` 静默丢;按 `CHROME_ARMS` 遍历断言零臂落 `default` 的终端自测会在到货当天红 = 提货通知);网页端 `ui/lib/engine/chrome-arm-ledger.ts:48` `WEB_CHROME_ARM_LEDGER: Readonly<Record<ChromeArmKind, …>>`(**编译红**:少一键)、`ui/lib/engine/turn-mapping.ts:793` `mapChromeEvent`(引擎车道与座位车道 `ui/lib/desktop/local-sessions-transport.ts:1266` 共用);桌面端 `main/session-host.ts:3207` 按 `CHROME_EVENT_KINDS` 转发(零改码)。
10678
+ - **SC-3**:`RunTerminalRead.replay` 三端零读点(`git grep -nE "\.replay\b" origin/main -- src ui`:终端 `sema/engineSideChannel.ts:826` 读的是 sdk `SyncSubmitOutcome.replay`,不是本位;网页端 / 桌面端空输出)。
10679
+ - **SC-5 / SC-6 / SC-7**:终端按调用 id 的三只台账与盖章 `sema/upstreamBridge.ts:575` / `:600` / `:634` / `:662`、记账 `:3630` / `:3638` / `:3647`、盖章 `:3665` / `:3677`(全部可删,改读 `toolResultRowFlagsOf`);折叠器 `utils/collapseRepeatedToolErrors.ts:221` / `:234`(读口)· `:102` / `:122`(壳自有键名常量,其中审批窗那一只拼法 `_sema_timeout_window_expired` 与包键不同,换读后删)· `:338`(剥连坐键);白名单 `utils/messages.ts:727` `SEMA_RENDER_SIDECAR_KEYS`(换展开 `TRANSCRIPT_ROW_SIDECAR_KEYS`)。网页端自动拒台账 `ui/lib/engine/engine-turn-legs.ts:594-595`(记)、`ui/lib/engine/turn-mapping.ts:214`(集合)、`ui/lib/engine/engine-auto-denied.ts:91`(判)—— 删台账,在 user 分支读 `toolResultRowFlagsOf(message).denialLimitWindowExpired`。桌面端热态零读点;冷恢复 `main/session-host.ts:3350` `rehydrateFromEngine`(只用 `{role, content}` 重造行,全部行侧挂键丢失)。
10680
+ - **SC-8**:终端 `components/Spinner/SpinnerAnimationRow.tsx:811-836`(`etaAtMs` 二选一)与 `:615` `RETRY_AT_MS_SANITY_SLACK_MS` —— 换读 `status.deadline` 后两处删;网页端 `ui/lib/engine/turn-mapping.ts:850` 只读 `deadline`(零改码);桌面端零读点。
10681
+ - **SC-10**:`modelUsage[*].contextWindow` 三端零读点(终端状态行分母读本地模型表 `components/StatusLine.tsx:62`;网页端分母读模型目录 `ui/components/composer/Composer.tsx:1049` / `:1066`)。
10682
+ - **SC-11**:终端 `sema/engineTaskHandleWire.ts:30`(经 `classifyTaskStopConflict`,自动生效)· `sema/stopConflictCopy.ts`(按具名 reason 渲句,`unknown_conflict` 臂已有);`STOP_CONFLICT_CODES` 三端零读点(终端 `sema/wireAnchorContract.test.ts:381` 是词法规则夹具里的字样,不是读点)。
10683
+ - **SC-13 / SC-14 / SC-15**:终端 `sema/seamQuery.ts:3620-3626` 按 `selfHealSubmissionDisposition` 分(`ask-run-settled` ⇒ `not-delivered`,行由包渲,零改码);网页端 `ui/lib/engine/engine-self-heal.ts` 三处宿主补丁在本版之后与包同答、可删:`:752-760`(复证读回终态时覆写 `ask-reopen-failed` 的行 ⇒ 改读 `ask-run-settled`)· `:806-808`(复证读回 running 而 409 带门时覆写 `not-parked` 的行 ⇒ 包行已不读旧门)· `:473-488` `offerRunningChoiceVia`(选了 cancel 再读一次现态 ⇒ 包已开枪前复证);`:706-707`(终态时决定重发)须**改成** `outcome.kind === "ask-run-settled"`(与同文件 `:705` 对 `running-settled` 的重发臂同形)。网页端那句「may be stalled rather than actively waiting on a decision」是网页端自家对旧结局的渲染,不是本包句。桌面端零读点。
10684
+ - **PL 组**(2026-10-15 抓取:终端 `dbc10fb9`、网页端 `fc2372dc`、桌面端 `4a52975b`;终端路径省 `src/`):
10685
+ - **PL-1**:终端 `sema/overrides/chrome-agentprogress.tsx:135` / `:623` 订旧事件口、`:136` / `:1092` 订缺席口,`:471` `fleetOwnedRowIds` / `:477` `tickLaneRowIds` / `:496` `fleetRowCycleIdentities` 三本端侧账,`:827-828` 按事件键登转录锚(本版起锚帧与行帧同是身份事件,登的是同一只子代的同一把锚,零改码)、`:1044` 读锚;`sema/upstreamBridge.ts:2329` 转发 `panel_task` 进归约口;`sema/turnEndEnginePanelSettle.ts:42` 发 `sweep`。零改可跑:旧口上可见的变化只有 126y ② 两条;行差分口 `subscribeEnginePanelRows` 三端零订阅(`git grep -n subscribeEnginePanelRows origin/main -- src ui` 三端空输出)。网页端 `ui/lib/engine/turn-mapping.ts:883` 把 `panel_task` 按 wire `taskId` 建后台行(不经归约口)、`ui/lib/engine/bg-task-probe.ts:11` / `:40` 订旧事件口、`ui/components/SemaApp.tsx:825` 委派卡 → 后台行映射 `taskIdByToolUseId`、`:1869` `backgroundTaskAliases`;要拿到本版的一只子代一行与最终用量,浏览器车道须把 `panel_task` **连 fleet 行一起**喂归约口(只喂 `panel_task` 时,通知终态按后台句柄键、tick 按子会话键,两把之间没有桥 ⇒ 两行)。桌面端 `main/session-host.ts:3207` 按 `CHROME_EVENT_KINDS` 原样转 `panel_task` 给渲染端(渲染端 = 网页端同一份映射),零面板读点。
10686
+ - **PL-2**:`supersededBy` / `final` 三端零读点(`git grep -nE "supersededBy|usage_delta" origin/main -- src ui` 三端空输出)。
10687
+ - **PL-3**:`resolveEnginePanelTaskId` 三端零调用点(`git grep -n resolveEnginePanelTaskId origin/main -- src ui` 三端空输出)。
10688
+ - **GR 组**(2026-10-15 抓取:终端 `ae223c9a`、网页端 `0575592`、桌面端 `f5c739c`;终端路径省 `src/`):
10689
+ - **GR-2**:终端 `sema/sessionPolicyWire.ts:301`(收紧调用)/ `:307`(取包句)/ `:235-243` `outcomeWroteNothingForSure`(`refused` 落「确知没写」那一档,零改码)/ `:402` · `:414` 与 `:490-491`(撤销两处,取包句);`docs/KNOWN-LIMITS.md` KL0234 随换钉删。
10690
+ - **GR-1 / GR-4**:终端 `sema/sessionPolicyWire.ts:466`(读口;只渲 `rules`,不读戳)· `components/permissions/rules/SessionRecordTab.tsx:94`(读失败句取包,新两句零改码)。
10691
+ - **网页端 / 桌面端**:零读点(`git grep -n "tightenSessionPolicy\|removeRefusedSessionRules\|readSessionPolicy\|sessionPolicyReadNotice\|SessionPolicyMalformedWhy\|/policy" origin/main` 两仓空输出)。
10692
+ - **RE 组坐标**(本机 origin/main 引用,未抓取:终端 `5ad9141e`、网页端 `d839790`、桌面端 `ee0d1ab`):
10693
+ - **RE-1 / RE-2**:终端 `sema/liveToolApprovalWire.ts:436` 只读 `standingRowsOf(req).deploymentListSessionRow`(名单会话行不读 `grantBinding`,零改码);同文件 `:430` 自注会话行 / 持久行来源尚未换读 `standingRowsOf` ⇒ 本版持久行的收紧今天在终端屏上不可见,换读那一拍随之生效;`sema/standingAnswerVeto.ts` 与 `components/permissions/` 零 `grantBinding` / 工具名推断。网页端 / 桌面端 `git grep -n "standingRowsOf\|grantBinding\|boundGrantAbsence\|persistentRow"` 空输出。
10694
+ - **TX(终端 origin/main `92dcdc73`;网页端 `fc2372dc`;桌面端 `4a52975b`;2026-10-15 抓取)**:
10695
+ - **TX-1**:三端与管理台 `git grep -nE "ClientSliceLike|CLIENT_VERBS|PROBE_HEALTH_DIVERGENCE" origin/main -- src ui` 空输出(第三个名 0.98.0 退出公面)。判活读点全是 sdk `probeHealth`(本包转口或 sdk 直导,同一函数):终端 `sema/engineTarget.ts` · `sema/engineLifecycleManager.ts` · `sema/engineConnectForensics.ts` · `cli/handlers/cloudOps.ts` · `sema/engineUpgradeCoordinator.ts` · `sema/seamQuery.ts` · `sema/engineTargetIdentity.ts`;网页端 `ui/lib/engine/engine-observability-wire.ts:13` / `:554`;桌面端 `main/health-probe.ts:11`。桌面端 `main/local-engine.ts:331` `waitForOwnEngine`(`:341` 以 `res.ok` 判后读 `pid` / `dataRoot`)是端侧另一条读法,可改成 `probeHealth` 的 `alive` 再读体(不阻塞)。
10696
+ - **TX-2**:终端 `sema/i18n/core/messages.en.ts` · `messages.zh.ts` · `translate.ts` · `index.ts` 四文件改成本包转口(`uiLanguage.ts` 已是转口,先例),零 key 变化;各界面经 `useT` / `createTranslator` 的调用点零改(同名同物)。网页端 `navigator.language` 零命中、桌面端 `getLocale` 零命中 ⇒ 两端今天没有界面语言,零动作。
10697
+ - **TX-4**:终端 `sema/i18n/languageStore.ts:63` `resolveUiLanguageWithSource` 改委托 `resolveUiLanguageFrom({ saved: <已存值>, hostTags: [LC_ALL, LC_MESSAGES, LANG] })`(来源 `system` ⇒ `host` / `default`,`default` 呈现读两句缺省来源键);`:73` `resolveUiLanguage` 是读设置 + 环境的宿主适配口,不必改名;`:25` 设置键名待设置契约声明后改取上游;`sema/i18n/hostLocale.ts:22` 标签来源留壳。
10698
+ - **TX-5 / TX-6**:终端 `sema/agentModelResolver.ts:241` `resolveAgentModel` 改薄壳(层序 env > 调用参 > frontmatter、同词只警一次、调用参 fail-loud 留壳),`:280` `displayAgentModel` 删(显示读 `label` / `landing`);`sema/agentsWire.ts:235`(代理定义 ⇒ `agents[].model`)读 `model` 位(缺席 ⇒ 不带键),只在本进程亲起的引擎上交 `local`(表取该引擎配置根下活动档位组);`sema/subagentModelRouting.ts:149` / `:222` 徽章读 `label` / `landing`;`-p` 车道装在线目录之前不换读(终端自定)。网页端不发 `agents`(`ui/lib/engine/turn-request-ledger.ts:315`),零动作。桌面端 `main/agents-wire.ts:408` `catalogModelOf`(调用点 `:579`)换读本口并删本地实现(行为变见 126y)。
10699
+ - **RT 组**(2026-10-15 抓取:终端 `08da8210`、网页端 `fc9ade7e`、桌面端 `a8cd68e2`;终端路径省 `src/`):
10700
+ - **RT-1**:终端 `components/Spinner/SpinnerAnimationRow.tsx:625`(`WAITING_FIRST_TOKEN_HEADLINE`)· `:662`(`STALL_WATCHDOG_HEADLINE`)· `:688`(`RETRY_ROW_THROTTLE_HEADLINE`)· `:728`(`retryRowHeadline`:非终态恒 `API error [状态码]`,attempt ≥ min(3, maxRetries) 后换成 `error.formatted` —— 引擎对 5xx 重试帧恒写的 `transient error, retrying`,用户屏上看到的就是这句,没有过载词 · 状态码 · 模型名)· `:787`(`WaitingFirstTokenByline`)· `:804`(`RetryStatusRow`)· 挂载点 `:1289`(非 `waiting` ⇒ 整行)/ `:1314`(`waiting` ⇒ byline);状态入口 `sema/upstreamBridge.ts:2319`(`setRetryStatus`)。换读后壳只留模型名与动作词(`switch_model` ⇒ 拼 `/model`),四个标题常量与状态码拼接可删。网页端 `ui/lib/engine/turn-mapping.ts:807 – 877`(retry 臂按 `kind` 分型成 `assistant/retry` 事件)· `ui/lib/session-transport.ts:165`(事件型)· `ui/components/transcript/Transcript.tsx:687`(`retryLabel`:`Model overloaded` / `Rate limited` / `Service temporarily unavailable` / `Request failed` 四选)· `:711`(横幅正文,终态 `Retries exhausted`)· `ui/hooks/useTurnControl.ts:697 / :718` 与 `ui/hooks/useTranscriptReplay.ts:263 / :272`(直播与回放同形)。桌面端 `main/session-host.ts:3158 / :3240`(座位 chrome 闭集原样透传 `retry_status`,零读点),渲染走网页端同一份。
10701
+ - **LG 组**(2026-10-15 抓取:终端 `08da8210`、网页端 `fc9ade7e`、桌面端 `a8cd68e2`;终端路径省 `src/`):
10702
+ - **LG-1 终端**:三处组合 + 一处账本生读 —— 活流 `sema/liveClient.ts:2039-2052`(`diagnoseSseIdleTear` ∘ `normalizeToolNames` ∘ `tapAutoDeniedToolEnds` ∘ `captureSessionId` ∘ `bridgeAskUserQuestionGates` ∘ `demuxQuestionFrames` ∘ `consumeStreamApprovalFrames` ∘ `stampSubagentOwners` ∘ `bindRunFileHistoryDeclarations`)· 耐久 `:2147-2160` · 续流 `composeHitlContinuationEvents` `:617`(装进桥 `:1675`)· 账本生读 `:2268`;腿级函数 `stampSubagentOwners` `:586` · `demuxQuestionFrames` `:638`(只吞 `question` 两种,`elicitation` 无人收)· `captureSessionId` `:959`(会话 id 只读 `done.result.sessionId`,不读 `meta` 帧)· `normalizeToolNames` `:508`;`-p` 会话回显改写 `sema/seamQueryEngine.ts:339`(调用 `:1757`)。端口怎么注:`run.headerRunId` = 开流头 run id 闭包;`run.onBound` = 会话 id 持久化;`run.onTerminal` = `captureSessionId` 的终帧记账半场;`run.onRefused` = 拒收回滚;`run.isCurrent` = 开流代际比较;`hitl.question` = `publishQuestionFrame`;`hitl.elicitation` = 新接(显式拒或对话框);`askBridge` = 现问答桥依赖(去掉自持的窗闩);`perStream` = [`consumeStreamApprovalFrames`];`taps` = [`bindRunFileHistoryDeclarations`(改读 `frameBindingOf(帧)?.taskId`)];`tapAutoDeniedToolEnds` 留在 `events` 外层;`withShellSessionEcho` 包一行 `inheritFrameBinding`;工具名映射不进包(G-LG2)。
10703
+ - **LG-1 网页端**:`ui/lib/engine/engine-turn-legs.ts:431`(`tapIdentity`:`meta` / `done` 采会话 → `rememberSession` `:446` / `:452`)· `:619-621`(`handleToolApprovalFrame` / `handleQuestionFrame` / `handleElicitationFrame` 三族臂)· 组合处 `:750-753`(`filterLegFrames` → `observer.observe` → `tapDeliverables` → `runStream`)。组合器放在 `filterLegFrames` 之后、`observer.observe` 之前;不注 `askBridge`(停驻走传输层)。属主盖章今天零调用点(`git grep -n recordSubagentOwnerFromProgress origin/main -- ui src` 空输出)。
10704
+ - **LG-1 桌面端**:`main/session-host.ts:2560`(`observeWire`)—— 会话 / run 采纳 `:2652`(`meta`)/ `:2663`(`done`)、HITL 三族 `:2690`(`tool_approval`)/ `:2698`(`question`)/ `:2712`(`elicitation`);组合处活流 `:2055`、耐久重挂 `:3541`。多会话宿主:端口按会话状态闭包注,不用模块级单例。属主盖章零调用点(同上 grep 空输出)。
10705
+ - **LG-2**:`frameBindingOf` / `inheritFrameBinding` / `composeEventLeg` 三端零读点(`git grep -nE "composeEventLeg|frameBindingOf|inheritFrameBinding" origin/main -- src ui` 三端空输出)。
10706
+ - **LG-3**:`recordSubagentOwnerFromProgress` 终端 `sema/liveClient.ts:592`;`diagnoseSseIdleTear` 终端 `:2039`;`bridgeAskUserQuestionGates` 终端 `:2045` / `:2149`;网页端 / 桌面端三名零读点(同 LG-2 形 grep 空输出)。
10707
+
10708
+
10709
+ - **TS 组坐标**(2026-10-15 抓取 origin/main:终端 `08da8210`、网页端 `fc9ade7e`、桌面端 `a8cd68e2`):
10710
+ - **TS-1**:`WireRuleOffer` 三端零代码读点(`git grep -nw WireRuleOffer origin/main -- src ui`:终端只在 `sema/approvalStreamWire.ts:869` 的注释里提到,网页端 / 桌面端空输出)。
10711
+ - **TS-2**:`RuleOffer` —— 终端 `components/permissions/PermissionRequest.tsx:7`(导入)· `:199` · `:220`,`components/permissions/engineRuleSuggestions.tsx:46`(导入)· `:72`;网页端 `ui/lib/engine/engine-rule-suggestions.ts:70`(`RuleOffer as PackageRuleOffer`);桌面端零读点。`CrashConvergedRow` —— 终端 `sema/crashConvergedNotice.ts:51`(导入块,名在 `:56`)· `:182` · `:198`;网页端 `ui/lib/engine/engine-crash-converged.ts:19`(导入)· `:29` · `:31` · `:58` · `:59` · `:153`;桌面端零读点。`MemoryEntryOriginMark` 三端零读点(`git grep -nw MemoryEntryOriginMark origin/main -- src ui` 三端空输出)。
10712
+ - **TS-3**:形变的四名 —— `ToolApprovalFrame`:终端 `sema/liveToolApprovalWire.ts:141`(转口块,名在 `:147`)+ 测试夹具 17 处(`engineGateSyncAllow.test.ts` / `suspendedSubagentAskWire.test.ts` / `standingRowVeto.test.tsx` / `bashDenyCommandSubstitution.test.ts` 自造帧);桌面端 `main/session-host.ts:27`(导入块,名在 `:63`)· `:2838`(`onLiveToolApproval` 入参)。问答三型:终端 `hooks/useLiveQuestionOverlay.ts:42`(导入)· `:77` · `:146` · `:166` · `:195` · `:230`,`sema/askParkReopen.ts:167` · `:1183`,`sema/activeRunRunningChoice.ts:52`,`sema/liveClient.ts:63`,`sema/planReviewModeExit.ts:48`;网页端 `ui/lib/engine/engine-question-port.ts:39` · `:64`;桌面端 `main/session-host.ts:27`(名在 `:64`–`:66`)· `:431` · `:436` · `:2699` · `:2703` · `:2983` · `:4076`。形不变的十九名里有读点的(换成同一符号,零动作):`McpServerSpec`(终端 `sema/mcpDispatchRefilter.ts:17` · `sema/mcpEngineProbe.ts:33` · `sema/mcpWire.ts:47` / `:50` · `sema/seamQuery.ts:51`;桌面端 `main/mcp-skills-wire.ts:49` · `main/permissions-wire.ts:45`)· `StampedAgentEvent`(终端 `seam/adapter/types.ts:35` 转口)· `DenialLimitFallback`(终端 `sema/askFrameNotes.ts:25`;网页端 `ui/lib/composer-surfaces.ts:6`)· `RuleOfferBatchMember` / `RuleOfferUncoveredReason`(网页端 `ui/lib/engine/engine-rule-suggestions.ts:70`)。终端的 `PermissionMode` 读点全部取自终端自己的类型或 CC 型面,不经本包;`FleetTaskStatus` 终端 `sema/overrides/fleet-tree.tsx` 是本地声明,不经本包。
10713
+ - **TS-4**:`BrainStatusPhase` 三端零读点(`git grep -nw BrainStatusPhase origin/main -- src ui` 三端空输出)。
10714
+ - **PN-1**:终端零 `kind === 'legacy_tool_name'` 分支读点(终端仓 `git grep -n "'legacy_tool_name'" origin/main -- src` 只命中注释);对两只结局穷尽 switch 的宿主编译红。网页端 / 桌面端零读点(同命令空输出)。
10715
+ - **PN-3**:终端 `sema/askFrameNotes.ts:175`(`case 'shadowed'`;origin/main 33d330a0)—— 换读 `ruleOffersAbsenceDetail` 或补两新词臂。网页端 / 桌面端零读点。
10716
+ - **PN-4**:终端 `sema/persistedRulesWire.ts:720` / `:741` / `:824`(`readToolApprovalRespondAck(ack)` 之后直读 applied 专属位 ⇒ 编译红,先 `isToolApprovalRespondReplayed`)· `sema/liveClient.ts:1553`(注释点名);网页端 `ui/lib/engine/engine-decision-verbs.ts:769`(`(ack as { rememberApplied?: boolean })?.rememberApplied` 松形直读;另 `:722` / `:745-770` 与 `ui/lib/engine/engine-session-transport.ts:94`,[10633] 点名)⇒ 改读本包读口;桌面端零读点。
10717
+ - **PN-5**:终端 `sema/askParkExpiry.ts:1080`(`parkedResumeStartupContent(detail)`;零改码,句子随词变)。
10718
+ - **PN-6**:三端零 `commandAllow` / `commandDeny` 读点(`git grep -n "commandAllow\|commandDeny" origin/main -- src ui` 三端空输出)。
10719
+ - **PN-7**:终端 `sema/modelOptionsSeam.ts:166`(`routePairingVerdict(...).verdict === 'broken'`;零改码)。
10720
+ - **PN-8**:终端 `sema/approvalCardFace.ts:58`(`toolShimFromRoster(entry)?.approvalCard` ⇒ 编译红)· `sema/approvalCardRosterWait.ts`(名册等待)· `sema/liveToolApprovalWire.ts:216`(注释)⇒ 卡种改读卡请求上的 `approvalCard`,名册等待与 `_sema_cardFaceNote` 的名册缺席句可删;`standingRowsOf` 调用点 `sema/liveToolApprovalWire.ts:436` 不交宿主事实(零改码)。网页端 / 桌面端零读点。
10721
+ - **BA 组坐标**(2026-10-15 22:5x fetch 后复核:终端 `6b856ce4`、网页端 `e76f44c`、桌面端 `e853105` —— 桌面端 `main/agents-wire.ts:84` / `:531` 仍在,网页端 / 终端零读点):
10722
+ - **BA-1**:桌面端 `main/agents-wire.ts:84`(`ENGINE_BUILTIN_AGENT_TYPES`:`Explore` / `Plan` / `general-purpose` / `fork` / `worker` 五词本地表,头注自称「包没有导出这张表」「client-core `wireShapes` 另认 `worker`」)· 读点 `:531`(`ENGINE_BUILTIN_AGENT_TYPES.has(a.def.agentType)` ⇒ 项目层 agent 取内建名不投)⇒ 到货换读本包 `BUILTIN_SUBAGENT_TYPES`;表里的 `worker` 是桌面端自己的取舍(包表不含它;本包 `sanitizeToolUseBlock` 放行 `worker` 只为不误伤卡头,不等于引擎保留名);桌面端离线门 `run-agents-wire-test` 的 C1 格(第 473 行起,对引擎 `builtinAgentDefinitions()` + 两条内建路由实拆)可随换读收窄。终端零读点:`git -C <终端仓> grep -n -F BUILTIN_SUBAGENT_TYPES origin/main -- src` 空输出;`tools/AgentTool/constants.ts:9` 的 `ONE_SHOT_BUILTIN_AGENT_TYPES`(`Explore` / `Plan`)是 CC 原生「单发内建代理不回传句柄」常量,与本表是两件事、不换读;`sema/overrides/agent.tsx:215` 的 `isCustomSubagentType`(`worker` / `general-purpose` 折叠)同为 CC 渲染口径。网页端零读点(`git -C <网页端仓> grep -n -E "BUILTIN_SUBAGENT|subagent_type" origin/main -- ui bff` 空输出)。
10723
+ - **BA-2**:三端仓内零直调 `sanitizeToolUseBlock`(终端只在一条测试注释与一份历史勘察文档里点名;网页端 / 桌面端整树 `git grep` 空输出),卡头随包换版自动变;终端 / 网页端 / 桌面端对 `Explore` / `Plan` 卡头的渲染口径本节未逐端核(读码推断:终端是 CC 原生 AgentTool 渲染,本来就认这两个类型名)。
10724
+ - **HK 组坐标**(本机 origin/main 引用,与 2026-10-15 23:1x 抓取同:终端 `6b856ce4`、网页端 `e76f44c6`、桌面端 `e853105d`):
10725
+ - **HK-1**:三端全树 `failLoudMcpTool` / `filterSettingsHookGroups(` / `keepMcpTool` 零命中。终端产品源 `hooksForWire(` 只有 `{ plan }` 两处(`sema/pluginHooksWirePlan.ts:542` / `:780`),不传计划的调用只在测试与门脚本里,这些文件零 `mcp_tool` 夹具;网页端零调用;桌面端只在自家门脚本 `run-hooks-wire-test.mjs` 里无参调用,零 `mcp_tool` 夹具。无参调用已随 RC-2 删,这些调用方的迁移坐标见 RC-2。
10726
+ - **HK-2**:三端生产与测试源零调用;终端只在自家消费清单 `wire-consumption-manifest.json` 的 OP-1 行记着 `taskRequestOmissionCausePhrase`(0.98.0 退出公面)这一名(处置 declined,登记文本、不是读点),回执行形读整句口 `taskRequestOmissionCauseNotice`(`printLaneOmissionLine`)。
10727
+ - **RB 组坐标**(本机 origin/main 引用,2026-10-16 未另抓取:终端 `5ad9141e`、网页端 `d8397901`、桌面端 `ee0d1ab6`;语法树计数,注释不算):
10728
+ - **RB-1**:终端产品源 49 处代码位 —— `sema/liveClient.ts` 具名 import 19 处(`:161` – `:197`:十一处经壳侧转口模块、八处从包根直取)与探测闭包里的调用 19 处(`:1253` – `:1354`);十一只壳侧转口模块各一处转出(`sema/approvalsStreamLiveCapability.ts:32` / `sema/deviceExecutorManagementCapability.ts:30` / `sema/executionLaneCapability.ts:41` / `sema/fileHistoryCaptureCapability.ts:42` / `sema/peerLaneCapability.ts:44` / `sema/permissionRulesWriteCapability.ts:46` / `sema/rewindArchiveCapability.ts:41` / `sema/sessionPolicyCapability.ts:38` / `sema/sqlEngineCapability.ts:53` / `sema/webSearchBackendCapability.ts:38` / `sema/writeProtectionCapability.ts:34`);测试三文件 11 处(`commands/doctor/axesRows.test.ts:354` / `:563`、`commands/doctor/doctorEngineCaps.test.ts:487` / `:882` / `:885` / `:893` / `:901`〔字符串里的名〕、`sema/workflowJournalWire.test.ts:38` / `:43`);另有五只测试按正则读 `sema/liveClient.ts` 源码、断言这些 tee 调用在场(运行期红,不是编译红;origin/main `bd22e088`):`sema/engineCapsRespawnArm.test.ts:364-367`(五读器 `SteerPriority` / `SessionSyncFileHistory` / `WorkflowsJournal` / `UserInvokedSkills` / `SkillToolLists`)· `sema/engineOwnedReminderRetire.test.ts:484`(`OutputStyleSeat`)· `sema/rewindCaptureLive.test.ts:179`(`FileHistoryCapture`)· `sema/wiringManifestArm.test.ts:1670`(`FileHistoryCapture` 紧随 `PermissionsAllowGrant` 两连)· `commands/doctor/doctorEngineCaps.test.ts:907-908`(`PeerLane` / `PermissionRulesWrite` / `SessionPolicy` / `RewindArchive` 四读器循环)。网页端两处只在注释里(`ui/lib/engine/engine-session-transport.ts:213`、`ui/lib/session-transport.ts:602`),零代码读点;桌面端零。
10729
+ - **RB-2**:终端 49 处代码位 —— 十只壳侧转口模块各一处转出(上列十一只除 `sema/rewindArchiveCapability.ts`),测试五文件 39 处(`commands/doctor/axesRows.test.ts` 5 / `commands/doctor/doctorEngineCaps.test.ts` 21 / `sema/remoteEngineConnect.test.ts` 4 / `sema/wiringManifestArm.test.ts` 6 / `sema/workflowJournalWire.test.ts` 3);网页端 / 桌面端零。
10730
+ - **RC 组坐标**(本机 origin/main 引用,未另抓取;路径省略各端仓的 `src/` 与 `scripts/` 前缀:终端 `5ad9141e`、网页端 `d8397901`、桌面端 `ee0d1ab6`、管理台 `004e8191`):
10731
+ - **RC-1**:桌面端 `main/session-host.ts:37`(按名 import `isAlreadyResolvedGateReason`(0.98.0 退出公面))· `:1593`(同一名的扫词直调,入参是 catch 到的 `e` 的 message)· `:4875`(同一名的第二处扫词直调,在「4xx 且不是已决」的例外分支条件里(条件 = `status` 为 400 – 499 的数且该名对 `reason` 答假;origin/main `ee0d1ab6`)—— 换读 `isAlreadyResolvedFailure(e)`;`:4875` 换读后判据先看机读码,与修前只扫 `e.message` 文字相比,同一只 4xx 抛出物上这一支的判定可能翻、分支走向随之变(不是机械替换);它前面那一臂(`'not found'` ⇒ 取消 run)是桌面端自家的取消语义,与本口无关。终端产品源只在 `sema/askParkExpiry.ts:976` 注释里提到 `isGateStandingErrorCode`(0.98.0 退出公面);网页端零命中;管理台 `test/pickup1018-dependency-pickup.test.ts:404` 普查名单 `CC_SURVEY` 里有两只码判官的名字(`:361` 按 0.93.0 段自证)。
10732
+ - **RC-2**:终端产品源 `sema/pluginHooksWirePlan.ts:542` / `:780` 已走 `{ plan }`;无参调用在 `sema/cc220CClassFixes.test.ts` · `trustGate.test.ts` · `mergedDisableAllHooks.test.ts` · `clientCoreHostAssembly.test.ts` · `flagHooksWire.test.ts` · `pluginHooksNotRunNotice.test.ts` · `utils/settings/hooksEntrySalvage.test.ts` · `verify/_hooks-trust-gates-entry.ts` · `verify/attic/_hooks-trust-gates-unit.mjs` · `run-flag-hooks-wire-test.mjs` · `run-merged-disable-all-hooks-test.mjs`。桌面端产品源 `main/hooks-wire.ts:194` 已走 `{ plan }`;门 `run-hooks-wire-test.mjs:164` 的参照值 `cc.hooksForWire()`。网页端 `bff/settings-projection.mjs:421` 已走 `{ plan }`。
10733
+ - **RC-3**:三端产品源零直读老键(都经本包读口)。测试拿老键喂读口断言出披露:终端 `components/permissions/engineRuleSuggestionsCard.test.tsx:186 – 187` / `:719` / `:760` / `:839` / `:854` / `:998` · `sema/approvalStreamWire.test.ts:2284` / `:2349` · `sema/engineGateSyncAllow.test.ts:114` / `:143`;网页端 `tests/run-retry-terminal-governance-test.mjs:396 – 403`(D1a)。桌面端只在 `main/session-host.ts:3162` / `:3168` 注释里提到。
10734
+ - **RC-4**:三端零读点(终端 `wire-consumption-manifest.json:27252` 的死名正则里只有 `forgetSessionReadRedactionReading`(0.95.0 已退役),登记文本)。
10735
+ - **RA 组坐标**(本机 origin/main 引用:终端 `5ad9141e`、网页端 `d839790`、桌面端 `ee0d1ab`;与 2026-10-15 22:5x – 23:1x 抓取的 `6b856ce4` / `e76f44c` / `e853105` 逐条同读数;只读 `git grep`):
10736
+ - **RA-1**:终端 `sema/overrides/chrome-agentprogress.tsx:623`(面板桥主订阅)· 测试 `sema/bgAgentPanelFleetLane.test.tsx:180` · `sema/bgAgentPanelHostLane.test.tsx:813` · `sema/currentActionWire.test.ts:149` · `sema/frameLaneGuards.test.ts:194` · `sema/seamQueryTurnBoundary.test.ts:262`;网页端 `ui/lib/engine/bg-task-probe.ts:40`;桌面端零。
10737
+ - **RA-2**:终端 `sema/overrides/chrome-agentprogress.tsx:136`(import)· `:1092`(缺席臂订阅)· 测试 `sema/bgAgentPanelFleetLane.test.tsx:67` / `:177` · `sema/engineAgentAbsence.test.tsx:42` / `:387`(测试钩);网页端只在 `ui/lib/engine/engine-hitl-frames.ts:37` 的注释里提到;桌面端零。
10738
+ - **RA-3**:终端 `sema/fleetClient.ts:419` / `:450` / `:527` / `:552` / `:554`(`ledger.setConnected`)· `:613`(读 `status().connected` ⇒ 编译红;换读 `readEngineActiveBgTasks().fresh`,`false` = 断流 —— 它经终端自家 `status()` 喂断流陈述读面 `sema/fleetFooterSource.ts:80`,渲点 `components/tasks/BackgroundTasksDialog.tsx:282` / `sema/overrides/fleet-view-screen.tsx:303`)· `:429` / `:523` / `:574`(已走 `issueStream()` / `ingress.applyFrame` / `ingress.close()`);测试直喂 `sema/bgAgentVisibility.test.tsx`(9)· `sema/deferSessionExemption.test.ts`(2)· `sema/engineUpgradeKilledScope.test.ts`(2);`fresh` 的下游 `sema/engineAutoRestartArm.ts:215` · `sema/engineRestartConfirm.tsx:85` · `sema/engineSwapGate.ts:123`(读法不变,重连那一窗读数变 —— 见 126y RA 行为变);网页端 / 桌面端零调用。
10739
+ - **RD-1 – RD-5**(各端仓坐标:终端 main `5ad9141e`、网页端 `8153c73`、桌面端 `ee0d1ab6`、管理台 `b73c00d9`):终端 `sema/agentsWire.ts:239`(`withholdRefusedDenyLists:` 一位,RD-2)· `:240`(`toolDirectory,` 一位,RD-4)· `:84` / `:229`(`engineToolDirectoryOf` 读口调用,可留)· `sema/engineAgentDenyGeneration.ts`(只为 RD-2 那一位存在的判定件)· `sema/agentsWireToolDirectory.ts`(目录读数装配;RD-4 后投影不再读它,只剩读口一路);`RULES_LEGACY_TOOL_NAME`(0.98.0 退出公面) / `'legacy_tool_name'` 分支 / `excludeToolsAgainstDirectory`(0.98.0 退出公面) 生产源零命中(`git grep` 只中注释与自家消费清单)。网页端 / 管理台:五件全零命中;桌面端 `main/agents-wire.ts:587`(`withholdRefusedDenyLists: true`,RD-2)与 `:591`(`toolDirectory: engineToolDirectoryOf({...})`,RD-4)各命中一位(交给 `projectAgentsForWire` 的内联对象字面量,`git -C <桌面端仓> grep -n "withholdRefusedDenyLists\|toolDirectory" origin/main -- src/main/agents-wire.ts`),其余三件零命中。
10740
+
10741
+
10742
+
10743
+
10744
+ ### 126y. 三端升级必读(编译红必改 / 行为变 / 零动作)
10745
+
10746
+ 1. **编译红必改**:无(全部 additive:公面运行期导出 +14 个函数,+9 个类型 `PersistedRuleRevokeOutcome` / `PersistedRuleRevokeOutcomeWord` / `AskAcceptedFollow` / `AskParkedCardForm`,以及五只只读入参型 `PersistedRuleOriginsRow` / `PersistedRuleRevokeResultBody` / `PersistedRuleMatchRow` / `AskSettlementInput` / `AskAcceptedInput`;新模块 `hitl/askSettlementLine`)。新口的入参都是具名窄型(词级口收 `string | undefined`,行级口收只读入参型,逐行句与行定位口收 `Pick<CrashConvergedRowReading, 'approvalId'>`),不收 `unknown`:从 `JSON.parse` 之类拿到 `unknown` 值的端在调用点先窄成串 / 行形再交入;运行期读法不变 —— 入参仍按不可信读(自有数据位、取值器不执行、读就抛按缺席),类型只说「调用方能交什么」。
10747
+ 2. **行为变**:① `askOriginDetail('policy')` 的句子改了(出包字面量;读到原文的端注意);② 换读后的**句子本身**由本包定:撤销结局句取终端的 3 × 3 表(网页端的简表措辞不同,`no-op × yes` 不再说 `nothing to remove`);规则文本进句时带引号;表外词不再回显(终端 `ruleAddOriginLabel` 的表外来源词原样回显、网页端 `uncoveredReasonLabel` 的表外词原样回显、`askOriginNote` 表外出身词带词的句子 ⇒ 都改为不带词的中性句;要看词用诊断口 `askOriginDetail`);③ 网页端的出身静默表多静默了 `ancestor_marked`,换读后该词渲出一行(终端本来就渲);④ `stillLive` 的布尔时代映射(`true` ⇒ `yes` / `false` ⇒ `no`)不再有:布尔读作 `unknown`(支持范围内的服务端只发三词);⑤ 终端逐行明细里的**数据字段**(工具名 / approvalId / taskId / 两个时刻)仍是终端自己的呈现,换读的只是句子半场;`askAcceptedLine` 只证送达,终端接在句后的「再发一条消息会先对账」那一段出路是终端自己的行为,本包不替它断言;⑥ 逐行句 / 成因句 / 结局一行 / 受理句 / 卡面说明句都是**新口**,不接就和 0.97.1 一样;接的端删本地同义实现(`pending` 之前不删)。
10748
+ 3. **零动作**:管理台 · 桌面端(零读点;经网页端 Composer 的行随网页端换读自动生效)。
10749
+ 1. **编译红必改**:无。`CoreValuePorts` 两成员由函数型属性改方法签名(类型形态仍是函数类型,按完整型建袋 / 取成员类型的宿主零变化),`AdapterContext` 多一个可选位,`toolKillCauseAcrossEngineIdentity` / `ToolKillCause` 是新增名。
10750
+ 2. **行为变**:① 退出码 137 的失败卡归因句:缺省(没接 `toolKillCause`)由 `… possibly out-of-memory; consider lowering build parallelism e.g. make -j2` 变中性句 `Command was killed by signal 9 (exit 137)` —— 依赖旧句的断言(终端 `toolResultContentShape.test.ts:195-204`)须改钉;想把重启说成重启的端接读口(126d);② 取消成因判定对状态词 `queued` 的记录由 `run_still_live` 变 `unknown`(没有支持范围内的服务端会铸这个词;网页端只取 `cancelled` 臂,零影响);③ `readToolCardOutcome` 对「未执行」位读不出的记录由 `normal` 变 `unreadable`(只有手搓记录与代理才触发,线上 JSON 帧不触发)。
10751
+ 3. **零动作**:管理台 · 网页端(三处都是零读点 / 可选接)· 桌面端(除可删一处型断言与可选接读口外)· 终端 `strict: false` 装配根。
10752
+ 1. **编译红必改**:无(全部 additive:公面 +9 函数 +2 常量 +8 型;`ApprovalCardRequest` +2 可选位)。终端与网页端各有一只与本版新导出**同名**的 `readRequiresRealApproval`(126d AC-6):换读后删(端侧同名影子门会点名);两端的 `countOwnedPendingApprovals` 不同名,换读后删。
10753
+ 2. **行为变**:① 本包活卡帧腿交给卡口的卡:帧上 `toolName` 非串 ⇒ 卡上 `''`(此前 `'Write'`);帧上读就抛的键只丢那一键、记进 `unreadableEvidence`、卡照呈(此前整只活卡失败、不 respond);卡上多 `message` 位(引擎原文,只进原因格);窗三键本地锚取帧到手那一拍(此前装配时)。② `approvalCardFactsOfV1` 读卡顶层 `requiresRealApproval === true`(此前不读)、出参多 `message`。③ `automaticAnswerVerdict` 读 `risk.requiresRealApproval`(此前只读顶层);对带 `cardPayloadUnreadable` 的卡,以及读不出登记 `unreadableEvidence` 含「记不住位 / 候选」之外任一键(或登记位坏形)的卡,三车道都答 unknown `card_unreadable`(此前不读登记:投影口按键隔离丢掉的治理 / 真人 / 强制 / 出身位在判定口洗成缺席)。④ `ApprovalCardRequest.probeCause` 头注改口:两行呈现归包(`probeCauseRowsOf`),不再「全部归端」。⑤ 换读 `countOwnedPendingRows` 的网页端:门种两条决断腿都不收 / 问答臂零问句的本会话行不再计数;数组回体改为抛。
10754
+ 3. **零动作**:管理台 · 桌面端(座位过境口不变;AC-1′ declined)。
10755
+ 1. **编译红必改**:无(全部 additive:公面 +4 函数 +9 型)。
10756
+ 2. **行为变**(只发生在换读之后;本包不替端换):① **桌面端**:换读 `engineUrlTransportVerdict` 之后,`http://127.0.0.2` 一类非字面本机的明文地址被拒(此前收;这些写法与终端同拒、与出站凭证围栏同判)。读码推断(未实测):落盘值加载时 `engine-target.ts:1258` / `:1286` 按同一判法复验 ⇒ 升级后已存的这类地址会在加载时被丢,用户需重配 —— 桌面端自行评估要不要先迁移提示;② **终端**:换读 `normalizeEngineBaseUrl` 之后,带 query / fragment 的地址(含空 `?` / `#`)在 `connect` / 设备 / 云会话入口被拒(此前收下后每个请求都拼错)。落盘值只复验传输闸(`:784`),已存的 query 地址不会在加载时被丢,仍按此前行为在使用时出错;③ **TP-3 接线**:换读后 `tasks.stream` 由包来调 —— 宿主选项里别再给 `idempotencyKey`(型上没有这一位,运行期也被覆盖);宿主自己的 `onResponse` 照给(包的钩子先跑、它后跑,每发各一次);取消信号放 `options.signal`。接入后「首个请求撞上被对端关掉的空闲连接」这一形由包重开一次;两发都失败时错误照旧按原失败分类出(抛第二发的错误对象),端上分诊不变。
10757
+ 3. **零动作**:管理台;网页端的 TP-1 / TP-2(零读点);终端的 TP-4(经包内腿已受益)。
10758
+ 1. **编译红必改**:无(公面 +1 函数 `isDiagnosticValueWord`,只增)。
10759
+ 2. **行为变**:① 全部展示出口:分号紧贴的值整只遮(`api_key=<值>;owner@…` 的邮箱随值进记号,KL-760);花括号 / 尖括号里不像占位的值遮;`NAME=Basic` / `NAME=Bearer` 的值遮、其后的下一个赋值不再遮;`Authorization: Bearer <英文词>` 遮那个词 —— 快照里有这几形的端改期望;② 配置地址展示口:带停字符 / TAB 的地址、相对地址的输出变(多遮),`https://<像标签的主机>:<端口>/…` 的输出变(少遮,回到原样);上传判据对含停字符的 query 值可能由 `false` 变 `true`(更严)。
10760
+ 3. **零动作**:网页端(零读点之外全部经 `displayUntrusted` 自动受益)· 管理台;终端与桌面端的删壳 / 删条是可选的单一真源收口(126d),不删不红。
10761
+ 1. **编译红必改**:无(全部 additive:公面 +8 个运行期名 —— `wireFailureTextsOf` · `WIRE_FAILURE_UNRENDERABLE_TEXT` · `turnFailurePresentation` · `TURN_FAILURE_CATEGORIES` · `runReattachPolicy` · `REATTACH_MAX_TRIES` · `REATTACH_BUDGET_FRESH` · `SANDBOX_HINT_HOSTS`,+ 型 `WireFailureTexts` / `TurnFailureCategory` / `TurnFailurePresentation` / `TurnFailureRetry` / `ReattachBudget` / `ReattachDecision` / `ReattachEvent` / `ReattachGiveUp` / `SandboxHintHost`;`sandboxDegradeHint` 第二参可选)。
10762
+ 2. **行为变**:① **类名兜底臂改判(TH-1)**:真 sdk 实例不再按类名认族 —— 在终端(未压缩)里,「码与状态都被剥掉的真实例」(只在人造夹具里出现:真 sdk 的类由码 / 状态铸出,实例上这两位恒在)此前被类名认出、现在不认;**码 `checkpoint.invalid_outcome` 的真实例(sdk 铸成绑定不符类)改由码认**,终端行为不变、网页端 / 桌面端渲染层由「原错上抛」变为「铸安全停」(收紧方向);重建形(只剩字面 `name` 的普通对象)行为不变。② **读法单一化(TH-2)**:四只读口(及同函数族同形的几只)对**原型链上的机读位**与**自有访问器**的答案变了 —— 原型链上的 `errorCode` / `status` / `blockedBy` 不再被信,访问器不再被执行(只影响人造的畸形抛出物;真 sdk 错误零变);测试夹具里「把 `errorCode` 放在原型上或用访问器模拟 sdk 错误」的写法会读成缺席,改成自有数据位。③′ **安全停判官新增一臂(TH-1)**:抛出物结构上像 sdk 实例而没有机读码 ⇒ 原错上抛、恰一发(不进瞬断重试)—— 只影响人造的畸形抛出物,真 sdk 错误恒带码;③ **排空梯用尽后的分叉消去(TH-5)**:换读 `runReattachPolicy` 的网页端,连续三次排空终帧后不再放弃(「结局未知」),改按一次普通流帽立即重挂并花一次普通预算(桌面端读法,有界:梯 3 次 + 普通预算 5 次)。④ 换读 `turnFailurePresentation` 的端:等待秒数一律上取整(终端此前四舍五入、网页端上取整)、`0` 不渲;`SseIdleError` 归 `timeout` 类(给重试);连接错 / 内部错 / park 三句改用包的宿主中性句。
10763
+ 3. **零动作**:管理台 · 终端的 `sandboxDegradeHint`(缺席即终端)· 桌面端的沙箱句(零读点);三端的 `classifyTurnWireError` 现有读点(不动,新口建在它之上)。
10764
+
10765
+ - **编译红必改:无**(`ChromeEventKind` 联合 +6 为 additive;三端 origin/main 零穷举 `switch` / `Record<ChromeEventKind>` 命中)。
10766
+ - **行为变**:desktop 以 `.includes(event.kind)` 转发的宿主升级后六种事件自动过座位 —— 渲染端须有对应消费臂(已接);按 K-24 在主进程侧把 `memory_saved` 还原成行的路**必须停**;`workflow_notification_enqueue` 仍由宿主进程裸入队(已合 desktop main)。
10767
+ - **零动作**:cli / web-admin(无座位 lane)。
10768
+ 1. **编译红必改**(ID):以对象字面量 `{ seq: n }` 调 `deriveTranscriptId` 的宿主编译红一次(三端 origin/main 零调用点);删掉 `seq` 即可 —— 它是续流游标,不是身份。其余 additive:公面 +2 函数 `engineRefOf` / `sameEngineRef`,+3 型 `EngineRowRef` / `SameEngineRefVerdict` / `EngineBoundRun`,`EmitContext` 一个可选位 `boundRun(frame)`(按帧问)。
10769
+ 2. **行为变**(ID):① 有引擎事件身份的出口对象 `uuid` 由随机变确定(信封 / 转录行 / 段身份 / attachment id / `msg_sema_…` / 压缩分割线;`done` 帧带 run 身份时的结果帧与合成终局行);② 纯 JS 宿主 / 喂只带 `seq` 的自建帧:不再派生稳定 id,得 `ctx.uuid()` 当次返回值(此前按 `seq` 派生,两个 run 的同一 `seq` 撞同一 id);③ 段身份值变(去窗口序号;durable 整条消息腿起有窗口锚);④ `-p` 工具结果帧的 `uuid` 改为引擎 `eventId`(与交互转录同值;此前是内部臂信封的 id);⑤ `-p` 车道原样上 stdout 的信封与工具结果帧多一键 `_sema_engine_ref`;⑥ 收卡帧 `eventId` 为空串时工具结果行不再落空 `uuid`;⑦ 升级边界:0.97.x 与本版投同一段事件得两套 id(工具结果行与 `memory_saved` 事件的 `id` 除外,跨版本同值),旧转录不迁移 —— 宿主处置不变:不重投已落盘区间,或接受升级当拍一次性重复。
10770
+ 3. **零动作**(ID):带帧 `id` 或 `toolCallId` 调 `deriveTranscriptId` 的,答案一字不变;终端 / 网页端按 `uuid` 去重的读点零改码;管理台。
10771
+ **包侧缺口:** ① 人答的结局(批了 / 拒了 / 迟批跑了一次)与「已执行」的措辞没有铸:那要一只「问」的生命周期状态机(同一审批跨七条来路与跨代持有、接替关联)与执行事件才答得出「已执行」,本包还没有那一台机器;到货判据 = 持有表扩射程(CC-593)与接替关联 `supersedes` 进卡入参,到货当版补 `askSettlementLine` 的人答臂与接替卡上「窗关于何时」的那一行。② 决断尝试被拒(`decideAttemptRefusal`)的待决 / 终态句不另立判官:「这一问是否已决」只有 `decisionRefusalAskReading` 一只,它的读数怎么出句等端点名要哪几个出路再铸。③ 「由模式放行」句与问类句表(WD-11)候终端 / 网页端表态。④ 条数帽(WD-12)候受理上限表。⑤ 终端逐行明细里的数据字段行(工具名 / approvalId / taskId / 时刻)是终端的呈现,不是句子,本版不铸;若第二个端要同样的明细行再立票。⑥ 网页端「Sema recovered N pending approvals …」那三种头句带品牌名与「归属别的会话」计数,本包只给整行口(`crashConvergedNotice`)与逐行句,会话作用域的分桶头句留端。 ‖ ① 退出码 137 的成因事实今天只能由宿主提供:引擎线上没有前台工具调用「被谁杀」的位(`tool_end` 不带重启 / 内存证据;后台任务通知的 `diagnostics: 'oom'` 是另一条路、不在这条路上),所以 `memory_pressure` 在包内没有自产来源,宿主没有内存证据就永远走不到它;待上游给一只随 `tool_end` 的被杀成因位,读口换源、薄壳退役。② 成因读口只在交互车道(退出码恰为 137 的失败卡含无框架槽的溢写卡,都经同一只句子铸点):`-p` 帧里 `tool_result` 的正文是模型面原文、本来不带归因句;`-p` 要这一句要先在帧上多铸一个归因位(新的超集键),不在本版。③ 「调用开始时快照代际锚」是宿主半场:包不持有 per-call 的开始时刻与代际快照(`AdapterContext` 没有按调用的生命周期钩),读口的实参只有 `{ toolCallId, toolName }`。④ `CoreValuePorts` 两件成员改方法签名(参数位双变)后,参数位**收窄**的替代品(只收 deny 规则的函数、要求策略额外必填字段的函数)装进端口不再告警(已知限制 KL-761):要收紧要么把镜像入参型收窄成引擎型的子类型(放弃策略句柄不透明与宿主独立性),要么待引擎包根导出这两件的名义入参型;装配根传引擎包根原件即不受影响。 ‖ ⓪ 逗号起头 / 逗号紧贴的凭据尾段(`api_key=,<值>`、`token=<值>,<尾>`)仍按 0.97.1 读(KL-760:单数标签后的逗号按散文或下一对键值读是既有读法,改它会改动全部「值 + 逗号 + 词」诊断句);① 不以 `/` `?` `#` 起头的相对路径(`download?sig=<值>`)在配置地址口上按散文读,query 值只在键名是凭据标签时遮(KL-759 ①);② 连字符 / 下划线分段的短 `sk-` 值仍不遮,桌面端 `sk-` 本地条不能删(KL-756);③ 设置文档凭据键名词表(DU-9)的归宿是「一份设置文档里哪些键装着凭据」判官上收本包(CC-335,设计先行),本版不动。 ‖ ① **CC-667 仍开**:`turnFailurePresentation` 本程只含类别 / 重试 / 等待 / 非 http 失败的句子;结构化拒绝的补充句链(配额 / 场景 / 续跑拒 / 坏存档 / 租约 / 工具声明门 / 受理期 422 …)的**编排**(段序与互斥)与配额文案(`quotaExhaustedContent` 及其时刻格式化,终端本地)仍在终端,网页端另写一套 —— 下一程把这条链与配额读口 / 文案并入同一口(`notes`),并入前三端的补充句仍各自编排。到货判据:链上每一臂的读口 / 句子都在包、`turnFailurePresentation` 带 `notes`,终端 `semaApiErrorSupplement` 退成「本地臂 + 包的 `notes`」。② **终端窗口式重连机**(`interactiveReattach.ts`:5 分钟窗 · 1 – 30 秒退避 · 不认识的 run 连续确认)是另一种预算(按墙钟),未并入 `runReattachPolicy`;待终端 / 包两侧表态是否收成同一份状态机。③ **同形存量**(本程扫出、未入四口,下一版按台账收):`errCodes`(`controlRouter.ts` 的判型单源,公面,普通取值读 `status` / `statusCode` / `errorCode` / `name`)· `isSseIdleError`(`sseIdleTriage.ts:85`,`instanceof` 与 `name` 普通取值,对已撤销的代理会外抛)· `resumeRefusalCopy.ts:376` · `detachWire.ts:138` · `interactiveHalt.ts:156-158` · `usageAnalytics.ts:172-173` · `sessionMemoryStatus.ts:87-88` · `selfOrchestrationDenial.ts:146-147` · `memoryEntriesWire.ts:483` · `agentSession/engineSessionBackgroundStop.ts:295-298` · `subagent/engineSubagentResume.ts:223-224` · `hitl/hitlBridge.ts:680-682`(瞬断分诊读 `status` / `name`)· `engineWireFor.ts:496` · `toolHistoryMismatch.ts:306` 各自仍按普通取值读 `status` / `errorCode` / `retryAfterMs`。④ TH-1 的上游请托(单一真源):sdk 的 `APIError` 族若把实例 `name` 改成**字面赋值**(像 `AttachmentRejectedError` / `SseIdleError` 那样),类名就成为压缩包里同样可靠的判据,届时「真实例不按名认」的限制可撤、重建形与真实例收成一条读法 —— 到货即退役本段的挡板(`isSdkErrorInstance`)。
10772
+ - **AC-6 两端同名读器与桌面端同名不同物(合车补;包侧豁免行 dueBy 0.99.0)**:终端 `sema/engineGateSyncAllow.ts:300` 与网页端 `ui/lib/engine/engine-approval-evidence.ts:237`(端仓路径,省略 `src/` 前缀)各有一份本地 `readRequiresRealApproval`(终端:顶层一抛不看 `risk`;网页端:只读顶层、返回 `true | undefined`)—— 两端消费本版后删本地改读本包 AC-6(网页端调用点按 boolean 接,缺席 = `false`),删行期限 = 删掉包装之后的下一个本包版本;桌面端 `main/inherit-env-wire.ts:62` 的 `engineIdentityOf(handle, spawnedAt)`(宿主自起引擎句柄的进程身份)与本包 `engineIdentityOf(health)` 同名不同物,请改名(如 `localEngineIdentityOf`),CC-747 意图判定的「身份已核」入参按改名后的宿主口接。
10773
+ 1. **编译红必改**:① `readEngineAgentRegistry` 第三参由 caps 对象换成能力证据键 `capsBaseUrl: string | undefined`(终端 `cli/sessionBackgroundStop.ts:207-208` 与三个测试文件);`EngineAgentRegistryUnavailableWhy` 多一词 `capability_unknown`(按它穷举 `switch` 的端补一臂;三端零穷举);② `resetManualCompactCapability`(到期退役,退出公面;三端零调用)。其余 additive:公面 +4 函数(CP-8)+5 型(`InheritEnvOwnCredentialsReading` / `InheritEnvValueShape` / `InheritEnvIntent` / `InheritEnvIntentInput` / `InheritEnvOmitReason`),另 `EngineAgentRegistryUnavailableWhy` 扩员。
10774
+ 2. **行为变**:① 代理能力判定跟总缓存走:同址换代后按新引擎判(终端同址重启引擎时,上一台的「不收 / 收」不再残留);宿主已落地能力时准备口零额外请求;② `observedCenterWiring` 读数不带 `caller`(要调用方租约请直调投影);③ 执行车道隔离位、能力回体普通记录两处只在宿主自造回体(访问器 / 别的 realm)上有差;④ 换读 CP-8 之后:告知句只在能力那一件不成立时说 —— 终端此前在「身份没核上」时也说,桌面端此前在「projectContext 不成立 / 身份没核上」时也说,换读后这几种 omit 不出句(机读调试行照旧由端记)。
10775
+ 3. **零动作**:管理台;网页端(CP-5 自动随包,其余零读点);终端 / 桌面端在换读 CP-8 之前零变化。
10776
+ **HL 行(CC-607 / CC-610 / CC-611 / CC-673 / CC-725 / CC-679)**
10777
+ 1. **编译红必改**:无(公面 additive:运行期 +11 名 —— `claimApprovalCard` · `approvalSupersedesDetail` · `approvalParkingNoticeText` · `answerPayloadFor` · `answerCarriage` · `observeApprovalAnswerCommitted` · `rememberOfferable` · `localAllowRuleEnforceable` · `lateDecideOutcomeOf` · `LATE_DECIDE_OUTCOMES` · `RESPOND_DECISIONS`;型 +19);`ToolApprovalRespondDecision` 改为 sdk 型别名,值域恒等;`ReplayedApprovalDisposition` 的 `decided` 臂 +1 可选位、`ApprovalCardRequest` +2 可选位、放行臂 +1 可选位)。
10778
+ 2. **行为变**:① 活卡入口与停驻行腿对宿主经 `claimApprovalCard` 登记的卡对偶查(只在宿主改调登记动词之后发生);停驻行卡在屏时,同 run 同调用的活卡帧不再呈第二张卡、不再发 respond(join 停驻行的结局);② `replayedApprovalClosesCardFrame` 对本进程已结且不转停驻的处置答 `true`(修前 `false`)—— 按它去重卡帧的宿主,换钉后已结的问的重复卡帧被收口;③ 文件历史拒句:读到不认识的捕获词时句子改(出包字面量;依赖旧句 `did not report whether it can stop` 的断言改钉);④ `joinApprovalHolder` 也看得见停驻行 / 宿主持有(修前只看活卡)。
10779
+ 3. **零动作**:管理台;网页端 / 桌面端(除回落映射可换读外零必改)。
10780
+ - **ST · 编译红必改**:① **终端**:`sema/liveClient.ts:183` 的 `noteEngineCapsForAttachmentSeat` 具名 import 与 `:1341` 的调用(三口一型退役,126d ST-3);随之删终端测试 `humanTurnAssembly.test.ts` 的 Z9 / Z11 / Z11b / Z11c 与 `wire-consumption-manifest.json` 的 AE-5 行。② **三端**:`LocalSessionEvent` 删四位 —— 带这几个键的对象字面量编译红、读这几个位的代码编译红(三端实测零命中)。③ **`ApplyModelConfigResult.reason` 窄成闭集型**:把任意 `string` 当 `reason` 构造回执的宿主编译红(桌面端 `main/model-config.ts` 的两条自由文本回执,126d ST-2);只读 `reason` 当 `string` 用的端(网页端)不红。④ 其余全部 additive(公面 +1 常量 +1 函数 +1 型〔ST-2〕、+1 常量 +2 函数 +7 型〔ST-4〕、+1 函数 +14 型〔ST-5〕)。
10781
+ - **ST · 行为变**:① **出站门收紧(ST-1)**:`Date` / `Map` / `Set` / 数组 / 类实例 / 自定义原型带合法位的载荷此前过门、现在被拒 —— 三端实测不发这类载荷,若有宿主测试夹具用 `Object.assign(new Date(), …)` 之类造载荷,改成对象字面量;② **桌面端 `applyModelConfig` 回执**:自由文本 `reason` 现在被出站门拒整条回执(宿主会抛 `Result from method "applyModelConfig" … failed to pass validation`)—— 必须同批改发闭集词 + `detail`;③ **重建转录的差异(ST-5,换读之后)**:引擎前置内容按出身元数据剪掉(元数据缺席的老会话行原文留下,KL-771)、`toolResult` 进转录(`user` 腿的 `tool_result` 块)、重建出的消息不再带「此刻」的 `timestamp`、`uuid` 序号随 toolResult 腿后移 —— 同一会话重启前后看到的转录变成同一份;④ 四位事件死位退役后,旧宿主若仍带这几个键,出站门不再判它们(整条事件照过)。
10782
+ - **ST · 零动作**:管理台 · 终端的 ST-1 / ST-2 / ST-4 / ST-5(无座位 lane)· 网页端的 ST-1 / ST-3 / ST-5(其引擎车道回放口径不动)· 桌面端的 ST-3(零命中)。
10783
+ 1. **编译红必改**(UP-6,🔴 型面 BREAKING):① `HookMatcherVerdict` 的 `refused` 臂变判别联合 —— 在 `v.kind === 'refused'` 上直接读 `v.alias` / `v.canonical` 的点先按 `v.reason === 'alias_without_canonical'` 窄化(终端 `sema/hookToolAliasMatcher.ts` 的 `aliasOnlyMatchersIn` / `tallyToolEventMatchers`);② `HookMatcherUnjudgedReason` 去掉 `invalid_pattern`(终端 `uncheckedWhy` 的 `case 'invalid_pattern'`、键型含它的表一律编译红);③ `HookMatcherRefusal` 变判别联合,读 `alias` / `canonical` 前先按 `reason` 窄化(终端 `refusalFactsLine`)。其余(UP-1 – UP-4)全部 additive:公面运行期导出 +9 函数 —— `readAssistantInbox` · `preemptReceiptLine` · `issueEnrollToken` · `enrollDevice` · `revokeDevice` · `deviceIdentityMismatchOf` · `deviceIdentityMismatchLine` · `deviceRegistrationOutcomeLine` · `durableSeqOf`;类型 +19;`ControlClientLike` +可选位 `assistant`。终端 `sema/devicesWire.ts` 与本版新导出 `issueEnrollToken` / `enrollDevice` / `revokeDevice` **同名**:换读后删本地声明(同名影子门会点名)。
10784
+ 2. **行为变**:① 编不过的正则 matcher:`hookMatcherVerdict` 由「不判」变「拒」—— 把 `unjudged` 当「交服务端判」的壳现在会先看到拒(终端 doctor 行的「会被拒」计数多出这几条,「没核」计数少);② `hookMatcherRefusalFromError` 对服务端 7.126.0 的 `invalid_regex` / `over_budget` 拒体由 `undefined` 变有读数(旧读数是别名拒体专属);别名拒体的读数多一个 `reason` 键;③ 续读位置:`task_progress` / `task_notification` / `task_started` 三种事件体里的 `seq` 不再当游标 —— 修前一帧子代代际号 `2` 能把续读位从 `157` 拉回 `2`(重挂从陈旧位置重放);其余事件的数值 `seq` 照旧;④ `ControlRouter.preempt` 在车道不可用时**缺省回落 cancel**(硬停、不可续跑)—— 想先问用户的宿主传 `onUnavailable: 'report'`;⑤ 内部:决断拒收句 / 让位回执句 / 设备面呈现句共用一只「机读码可否上屏」判官 `isDisplayableWireCode`(词形不变,不是公面)。
10785
+ 3. **零动作**:管理台 · 网页端的 UP-1 / UP-2 / UP-4 / UP-6(零读点;UP-3 的 `settleDeviceCall` 分型可选换读)· 桌面端除 UP-4 的 `durableEventId` 换读外。
10786
+ 1. **编译红必改**(PK-7 / PK-8):手拼 `LiveModelCatalog` 字面量带 `default` 的(多余属性)、`switch` 到 `CloudModelRefIssue.reason === 'shadowed'` 或 `LiveModelCatalogReading.why === 'default_missing'` 的、给 `DeleteWarningsInput.doc` / `DeleteBlockersInput.doc` 写 `atModelAllowlist` / `default` 字面量的 —— 删掉;三端 origin/main 零命中(126d)。PK-2 / PK-3 新增名与 `McpConfigLike` 两个可选位只增。
10787
+ 2. **行为变**:① **MCP 身份头(PK-2)**:本地 `.mcp.json` 里写了 `principalHeader` / `assertionHeader` 的 http 条目开始被带上请求面(此前都剥掉);两位都写的条目不再进请求面(此前剥掉两位照挂)—— 服务端 7.128.0 起对同设整只请求答 400,跳过这一条是为了不让整只请求失败。云配置下发的 `assertionHeader` 开始过境;支持范围内的服务端都不发送它(7.126.0 / 7.127.x 剥掉,7.128.0 只承载)⇒ 云配置告示多一句 `warn`。② **会话镜像地址(PK-5)**:合形地址零变;外层带空白的地址裁掉空白;规范化口拒的地址不再去尾斜杠(原样交出,端上地址闸照旧拒)。③ **在线目录(PK-8)**:🔴 **座位两侧的升级次序**:桌面端主进程升到 0.98.0 后交给渲染端的目录**不再带 `default`**,渲染端(网页端 `local-sessions-transport.ts:469`)若仍是 0.97.x 的 `readLiveModelCatalog` 会答 `unreadable / default_missing`、模型选单变空 —— **网页端先升或与桌面端同批升**(0.98.0 的读口对带不带 `default` 都照读)。④ **出身一行(PK-1 / PK-6)**:`plan_review` 静默;原因格里表外出身词不再回显。⑤ `task_started` 留痕的分类词由 `unknown_arm` 变 `unsupported_arm`(只影响留痕文案)。
10788
+ 3. **零动作**:管理台;三端的 sdk 换钉(各端自家换 sdk 22 / 23 时按 sdk 迁移表改 `target_unresolved` 等,与本包无关;本包 peer 地板同版随 PN-2 抬到 `>=23.0.2`,装 sdk 21.1 或 22.x 的端要先升到 `>=23.0.2`,见 PN 组);PK-4(数据副本)。
10789
+ 1. **编译红必改**(LF):网页端一处 —— `ui/lib/engine/engine-self-heal.ts:273` 的 `reopenPlanReviewViaCard` 调 `reopenPlanReviewCard(taskId, { sessionKey, wire? })` 不带 `presentationReceiptMs`;换钩 `^0.98.0` 后该点编译红一次(LF-6),补 `presentationReceiptMs`(毫秒数;其问题帧端口的 handler 已无条件登记呈现,回执会到手)。🔴 硬破坏三句:`reopenPlanReviewCard` 的同步重载与 `presentationReceiptMs` 的可选性删除;不改就编译红(网页端一处);纯 JS 宿主不改不会抛,但那一次重开 resolved `{ reopened: false }` 且不呈卡 —— 网页端自愈腿会因此对计划卡一律答「没能重开」,所以换钩当拍必须同批补回执窗。终端 `sema/planReviewReopen.ts:145` 已带回执窗,桌面端零调用。其余全部 additive:公面 +7 个运行期名(`readOwnDataNonEmptyString` · `readOwnDataFiniteNumber` · `guardedRead` · `wireFailureCoreOf` · `readTaskNotificationXml` · `contextUsageReadingOf` · `planReviewOfferedModeOf`)+ 5 个型(`WireFailureCore` · `TaskNotificationXmlRead` · `ContextUsageReading` · `PlanReviewOfferedMode` · `PlanReviewCardLike`)+ 工具结果行 / `-p` 帧信封超集键 `_sema_gate`;`ContextUsageSectionView` 改为类型别名(同形,零编译变化)。
10790
+ 2. **行为变**(LF):① `context_usage` chrome 臂的 `sections[]` 逐行重建 —— 直喂 `adapt()` 的毒行(注入的键 / 非有限 `tokens` / `null` 行)修前原样进 chrome,现在与投影口同律丢行;全丢光的 `sections` 键缺席、四位都缺席零 chrome;经投影口的帧读数不变(LF-3)。② `context_usage` 的读法收紧:只读自有数据位(只在原型链上的位、自有访问器不再被读),`sections` 单次至多读 1024 行(修前投影口无上限);JSON 形帧(`JSON.parse` 产物)且不超过 1024 行时读数零变化。③ 工具结果行与 `-p` 工具结果帧多信封键 `_sema_gate`(旧转录无此键;对 `user` 信封做键集严格相等 / 白名单的宿主会看到新键 —— 与 `_sema_denial_kind` 同层,不进 `tool_result` block)(LF-4)。④ 重开口:自动触发撞「用户关卡」记号一律走读门实例的判定(没有 `readGateInstanceKeys` ⇒ 保守拒开,与旧同步形同判)(LF-6)。⑤ 转录通知 XML 批量口读数不变(线性块解析器,LF-2)。⑥ 终端换读 `readTaskNotificationXml` 后,入队载荷的 `status` 不再 `trim`、`value` 须是整块(LF-2,126b)。
10791
+ 3. **零动作**(LF):管理台;桌面端(LF-1 – LF-6 零读点);终端的 LF-4(读臂上的 `gate`);LF-7 —— 终端按 CC-556 设计在自己的节拍删 `chrome-agentprogress.tsx` 的订阅调用(不删不红,两只口本版保留 —— 🔁 本版改为硬退,改读 RA 组「编译红必改」);终端的 LF-1 / LF-2 / LF-3 / LF-5 与网页端的 LF-1 / LF-3 / LF-4 是**换读后删本地实现**的单一真源收口,不换读也不红。
10792
+ **CS 行(CC-520)**
10793
+ 1. **编译红必改**:无(公面 additive:运行期 +3 名 `connectorStatusOf` · `connectorStatusLine` · `CONNECTOR_STATUS_UNKNOWN_WHYS`,+6 型 `ConnectorStatusInput` · `ConnectorStatusReading` · `ConnectorStatusUnknownWhy` · `ReaderMintedStatus` · `ReaderMintedState` · `McpDeploymentOutcome`;`readMcpCapabilities` 的返回型收窄为 `McpDeploymentOutcome`,仍可赋给 `McpProbeOutcome`,按后者存放的调用点零改)。本包多一只运行依赖 `@sema-agent/connectors-contract`(`^0.1.1`;它自己零依赖,本包只用其类型):三端装本包时随之多装一只包;声明面引用它,装包即解析,零编译红。
10794
+ 2. **行为变**:`readMcpCapabilities` 的 face 臂多一个自有键 `declaredBy: 'deployment'`(对整只结局做逐键快照 / 深比较的测试会看到多一键;三端零读点)。其余为新口。
10795
+ 3. **零动作**:终端 · 网页端 · 桌面端 · 管理台(126d:连接器状态词零读点;要出两态时改读本口)。
10796
+ 1. **编译红必改**(TK):① 读 `report.unchecked` / `report.unreachable` 的宿主(桌面端 `main/permissions-wire.ts:77-82`;终端测试 `sema/clientCoreHostAssembly.test.ts:526-527`)—— 删这两段,发出前要提示的改读 `ruleToolNameVerdictOf`;`PermissionsUncheckedRule` / `PermissionsUnreachableRule` 四端零 import。② `MAX_AGENT_TOOLS` / `MAX_AGENT_TOOL_NAME_CHARS`(0.98.0 退出公面)与同轴孪生 `MAX_AGENT_NAME_CHARS` / `MAX_AGENT_MAX_TURNS` 退役(终端测试 `sema/agentsWire.test.ts:21` / `:24` import 编译红;`:129` 还拿 `MAX_AGENT_NAME_CHARS`〔0.98.0 退出公面〕加 1 造超长名,名字取不到值时 `:148–153` 四格运行期红 —— 按终端测试源推断,未实跑;`:141` / `:156` 的「截到 64」断言改成「原样上、服务端 400」)。🔴 硬破坏三句:删了四个帽常量;按名 import 的编译红,读点另有运行期红;删掉读点即可(超长名 / 越界 `maxTurns` 原样上体,服务端 400 点名字段)。③ `awaitTaskAgentsWire()` 回值由 `void` 改结局 —— 只 `await` 不读回值的调用点不红,但**行为上仍放行**,要拿到「这一发不提交」必须读回值。扣送位已于本版删除(随 §126 RD-2):终端 `sema/agentsWire.ts:239`、桌面端 `main/agents-wire.ts:587` 的 `withholdRefusedDenyLists: true` 编译红(`toolDirectory` 一位同理,桌面端 `:591`;见 RD 组 ①);`MAX_TASK_AGENTS`(桌面端 `:48`)本版**不红**(随上游那一版)。其余 additive:公面 +4 运行期名(`assemblyRefusalOf` / `ASSEMBLY_REFUSAL_CAUSES` / `seatTurnFailureOf` / `readSeatTurnFailure`)+ 型 `AssemblyRefusal` / `SeatTurnFailure`,`LocalSessionEvent` 一个可选键,`AgentToolListFlaw` 一个可选位。
10797
+ 2. **行为变**(TK):① 设置桶 deny / ask / `--disallowedTools` 里的 `~/` 路径规则、编译器拒收规则、括号 / 无前缀 `__` / 不完整协议名 / 段铸不出 / 无现名的退役名(及其内容形)原样上请求体:本机引擎与沙箱、声明了家目录的远端车道上 `~/` 规则开始由引擎执行;其余每一形整请求 422,句子点名规则(服务端每次只点名先撞上的一条,KL-773)。② 代理定义:超 128 字符的清单条目、超 64 条的清单、超 64 字符的代理名、`maxTurns` 越界,本包都不再剔 / 截 / 丢,原样上体,由服务端整请求 400 点名字段;`tools` 写了(含 `[]` / `['']`)就恒有 `allowTools`,只有没写 `tools` 才继承全部;deny 表里判官给了现名的退役名只在宿主交了名册、且这一跑名册里没有这个名时改写成现名(改写过的不再触发扣送)。**本版不动**:超 32 只照旧截断 + 一行;扣送开关、`tools` 里判官问题条目的省略、目录省略两半照旧(随支持底线越过服务端 7.129.0 那一版退;那一版起原样投,服务端照跑 + 引擎通告一次,该条不起作用);`isolation` 非 `"worktree"` 照旧丢键(KL-781)。③ **座位 turn 失败载荷(先决,网页端 + 桌面端)**:TH-4 的字段从此是座位契约面(改名 = 座位 BREAKING)。桌面端以 `seatTurnFailureOf(e)` 填座位 `error` 事件的 `_sema_turnFailure`、`code` 填状态码、turn 失败不再铸 `turn_failed` / `connection_lost`(`main/session-host.ts:270-289` / `:2058-2060`;别的产出方照旧铸 `errorCategory`);网页端传输层原样转这两键(`local-sessions-transport.ts:1257-1265`),渲染端经 `readSeatTurnFailure` 取值、读得出就直读类别 / 重试判决 / 等待窗 / 句,不再按句子词扫、不另判(`turn-error-classify.ts:711-748`);**`connection_lost` 臂(`:730`)改读新键**,否则桌面端停铸 `errorCategory` 后连接断卡退回成文本。两键同在 ⇒ 以新键为准;读不出 ⇒ 只渲 `error` 文本。出站校验器对这一键只登键、不拒整条 error 事件。**先换读、再放 ① ② 到桌面端用户**:不先换读,拒收句里用户写的词会把 422 渲成「Connection lost / 可重试」;同类同码的 `429 quota_exhausted` 与 `429 usage.window_exhausted`、`500 corrupt_session` 与普通 500 分不出给不给重试。④ **包拒装 ⇒ 这一发不提交**:只对带 `assemblyRefusalOf(err)` 身份的失败 —— 装配口的抛与代理就绪门的 `{ ok: false }`;宿主不得把这一类折成「这一发不带 permissions / 不带代理照跑」(点名桌面端 `main/permissions-wire.ts:207`,终端首发照发臂 `sema/interactiveSettingsStamp.ts:914` 与终端自列的另几组出口)。别的失败(例:终端的设置读冲突)不在射程,按各端既有处置。⑤ **代理就绪门回结局**:终端两条提交腿(`sema/liveClient.ts:2110` 流式、`:2225-2227` 耐久)开流前读回值,`ok: false` ⇒ 这一发不提交 + 告(「自定义代理没装配好,这一发没有发出」);修前到点照放 = 这一发不带自定义代理、内置同名版顶上用户覆盖。⑥ 终端:死规则三类行对 deny / ask 恒空 ⇒ 删;allow 改按 allow 桶 `kept` 分类(须交一份「grants 在场」的读数只供分类 —— 照字面交「未观测」会让 allow 行全成 `allow_capability_off`、死规则行静默消失);`~/` 出路句(`settingsRulesWire.ts:349-357`)与 `coreRuleIssue`(`:141`)删。桌面端:设置桶 deny / ask 计数行消失;`reservedNames` 整只不送(`main/agents-wire.ts:532-535` / `:608`)与字节预算挤掉代理删 —— 超预算改「这一发不提交 + 告」;要改写退役名就交名册(今天交 `null` ⇒ 不改写)。
10798
+ 3. **零动作**(TK):管理台;设置桶 allow(含客户端自挂服务器的表态 `clientOwned`)、`rewritten[]` 对修前已投出规则逐字节不变;`MAX_TASK_AGENTS` 本版不动(扣送位同版随 RD-2 删,见 RD 三端必读)。
10799
+ 1. **编译红必改(HM-4 / HM-3)**:`SuspendedAskDelta` 没有 `upgraded` 了 —— 终端 `sema/suspendedSubagentAskWire.ts:410`、网页端 `ui/lib/engine/engine-session-transport.ts:298` 与 `ui/lib/engine/suspended-subagent-ask-feed.ts:104` 删掉那一段(「先盲后全」在受支持的服务端上不出现);跳过类型检查直接读 `delta.upgraded` 会在运行期抛。`reopenPlanReviewCard` 同给 `mintFreshQuestionId: false` 与注入投递三位编不过(三端今天零调用)。
10800
+ 2. **行为变**:① 停驻带调用身份时(服务端 ≥7.41.0 的常态)同批旁观调用的 abort 帧带上连坐位 —— 折叠连坐簇的端会看到更少的同文红字(HM-1);② 会话放行那一发被无码 400 拒时不再自动补发纯批准(HM-2);③ 待决清单整段读不出连续若干次 ⇒ 订阅口转 `idle`,半坏的清单提交可读行(HM-6);④ fleet 行描述里名为 `Task` / `Fork` 的工具不再被压掉(HM-9);⑤ 子代内容账本对对象形结果不再出 JSON 正文(HM-11)。
10801
+ 3. **零动作**:读连坐位 / 门记录视图 / 分类词读器的端(视图上多一个可选位);桌面端全部;管理台全部。
10802
+ 1. **编译红必改(HM-R1 / HM-R2)**:三只决断入口、回交口 `onToolApprovalOutcome` 第二参、`joinApprovalHolder` / `claimApprovalCard` 的 join 结局改为 `ApprovalResolution`;七个型(`FsApprovalOutcome` / `ToolApprovalFrameOutcome` / 本包 `GateOutcome` / `ApprovalLegOutcome` / `StreamApprovalOutcomeNote` / `ToolApprovalRespondRefusal` / `HitlFailureStage`)与三只口(`approvalResolutionOf`(已退役) / `approvalOutcomeNoteOf`(已退役) / `readToolApprovalRespondRefusal`(已退役))零别名退出根入口;活卡拒绝分类改读联合上存好的位(`classifyDecisionRefusal(r)`)。逐行见 126d。
10803
+ 2. **行为变**:① **有两处编译不红、迁移不能靠编译报警**:旧形结构读(去键位)静默不命中,改读 `deny.attributionKey`;全可选键的失败事实参数与 `unsettled` 共有 `safetyCode`,`errorCode` / `currentPending` 会静默读成缺席,改从 `refusal` 取(HM-R1);② 本地安全停搬进 `not_sent`;取件「行在等、门不对」读成 `wrong_gate`;`not_sent{fetch_failed}` 不再按诊断句扫「门早已决」词表;决断失败带状态码时同样不扫(状态码在场 = 服务端判决已读;修前拍平结局丢了状态码才落进扫词臂)(HM-R3);③ 计划审阅决后 503 + `capability.*` / `feature.*` 尾句由「没生效」变「未确认」、501 无码由「未确认」变「没生效」;手动压缩 501 无码由「失败」变「被拒」、503 + `capability.*` 由「被拒」变「失败」,5xx 失败带 `unconfirmed: true`(HM-R5);④ `conflict.not_resumable` / `gate_not_tool_approval` 与续跑预检永久形读成「门已走」,两码的失败句多一句出路(HM-R6);⑤ 被停驻扣住的那只调用行上不再出现「Error: Operation aborted」(`-p` 流里只有它的 `tool_use`),包同时发一枚 `tool_parked`;批准后它的结果**只在**包认得出这是那次停驻的续跑时(宿主声明 `continuesPark` / 问答桥在同一次投影里拼进来的续跑)接回原行,认不出时按一次新调用出现;停驻卡上 Esc 那一行照旧落「Interrupted」并多带 `_sema_denial_kind: 'interrupted'`;终端 `--resume` 之后那只还在等审批的调用的行不显示,批准并跟跑后出现一条新开始行连同真结果(KL-788)(HM-T1 – HM-T4);⑥ **网页端两处必改**:转录 reducer 与运行期事件 id 按开始行 `uuid` 认 occurrence、按配对法落结果;截停驻终帧的路径接 `tool_parked`;终端消息索引同形(KL-789)。
10804
+ 3. **零动作**:网页端 / 桌面端的结局形读点(零代码读点;交抛出物给判官照旧,审批面读数不变);桌面端热态扣留成死代码(建议删);管理台全部。
10805
+
10806
+ **包侧缺口:** ① CP-8 的 true 腿(`confirmed` ⇒ `all`)只能用构造回体证,真回体候服务端 7.129.0 夹具(G-CP-IE2);能力词键名在本包手写一次,sdk `Capabilities` 声明这一键的那一版改从 sdk 取(届时加编译期钉)。② 「此地址的引擎是否在支持底线之上」不另出读口:终端与本包里那三处同式版本谓词已在此前版本退役 / 并进 `limitsSupportNotice`,今天零实例。③ 能力位读器族里还有八句措辞把缺席说成「引擎比这一位老」(用户自调技能 / 技能工具清单 / 权限规则写口 / 工作流日志 / 会话规则面 / MCP 状态面 / 会话规则卡 / 工具名册的手位一句),这几位在支持底线服务端上恒铸,按本版 CP-5 的读法改口留下一版。 ‖ ① (ST-2)`unavailable` 词本版在表里、宿主尚未发:铸词条件(哪些情形算「宿主此刻没有可写的模型配置落点」)归宿主,桌面端云绑定分支是第一个候选(126d);到货判据 = 桌面端换发。座位与本机引擎设置小窗共用一条写链的根治设计另排,闭集到时按那条写链的结局词增补,不另造第二套。② (ST-3)`LocalSessionEvent.request` / `.code` / `.sources` 三位与本版退役的四位同形(发端零、读端零,位保留靠一段「与 CC 同形」的注释解释),本版按票面只退四位,这三位待裁定后并入下一版的退役。③ (ST-5)终端 `syncEntriesToTranscriptLines` 是第三份同形的块映射(另带 `parentUuid` 链与落盘行字段),本版不换读;换读要先把「块映射」从「落盘行装配」里拆出来。④ (ST-4)分片的通道只有 `text` / `thinking` 两词(适配层 `stream_delta` 臂的两词),子代分片(`parent_tool_use_id` 非 `null`)不走这条口,座位上没有子代预览。 ‖ ① UP-7:兼容入口 `ledger.applyFrame` 与 `connected` 判活读法未退,到货判据见 126b UP-7(终端生产代码仍调 `setConnected` 五处、测试文件仍喂兼容入口;「连接态由谁定」要先设计)。② UP-6:求值超时的正则形(`over_budget`)本口仍答「不判」—— 判据是服务端墙钟,本口只有静态上界;哪天分析器能把「上界超预算而服务端受理」的五个登记形(门 B6)放出来,再议升成判拒。③ UP-3:`acceptDeviceId` 的身份形判官住在 sdk 的 `device` 子路径(Node 专用,`decodeUlid16`),本包不手抄;浏览器宿主要自己的判官。④ UP-5:页脚 fleet 列表并集判定登已知限制 KL-772,第二个读点出现再转票。 ‖ (LF)① 压缩记录仍无投影位:终端压缩记录店 `noteEngineCompaction`(`seam/adapter/runStream.ts:233`)读原始 `compacted` 帧的 `tokensAfter` / `triggerTokensBefore`,而投影出的 `compact_boundary` 只带 `pre_tokens` / `trigger` / `_sema_freed_tokens` 等 —— 水位三标量与段行已有读口(LF-3),压缩记录这一半没有;缺的两位与 `pre_tokens` **不同坐标**(core:`tokensAfter` 配的是 `triggerTokensBefore`、不是 `tokensBefore`,跨坐标相减会出负号),铸成两个超集键还是一个配对对象是设计问题;到货判据 = 设计定形(CC-670 余项)+ 终端认领压缩记录店换读,到货当版补读口并删终端的 `compacted` 旁观腿。② 已呈档位台账进程内、有界 64(KL-765):别的进程呈的卡 / 被挤出的卡 / 跨进程 resume 读到 `unknown`,读作答的宿主按保守读域(老两选)处置 —— 与终端旧台账同射程。③ `_sema_gate` 随转录持久化,视图里的 `settlement.who.approver` / `note` 是 UNTRUSTED-for-display 原文(转录不是认证);要最小暴露的宿主读判官的布尔 / 词答案、不持久化视图本身。④ 终端 `planReviewTaskIdFromQuestionId`(`sema/planReviewModeAfterOffer.ts:154`)是 `questionId` 形的第二份解析(包内 `taskIdFromPlanReviewQuestionId` 不上公面,接入档此前写「三端零解析读点」与此不符)—— 本版不出 `questionId` → `taskId` 的公面口(LF-5 的读口直接收 `questionId`);要不要出该口留给下一版设计。 ‖ (TK)① 服务端每次只点名先撞上的那一条编不出的规则(KL-773):一次列全的机读位到货当版本包出读口、壳按它一次提示全部。② `~/` 规则在无家目录车道上整请求拒(KL-774):本包看不见车道有没有家目录,不按车道推。③ 扣送开关 / 代理 `tools` 里判官问题条目的省略 / 目录省略两半(KL-775 / KL-779,退役登记 RL-142 / RL-143 / RL-144)随支持底线越过服务端 7.129.0 那一版退;32 只代理帽(KL-777,RL-145)随服务端每请求代理上限新语义那一版改。④ 代理 deny 退役名改写只看宿主交的名册(KL-776);代理 `tools` 里的 CC 旧名本包不做无名册改写(没有上游别名表的真源,规则层别名归引擎)。⑤ 代理 `isolation` 非 `"worktree"` 照旧丢键(KL-781):wire 型只有这一个值,放宽本包型会让宿主把投影交给 sdk 请求型的那一行编译红 —— 取舍候定。⑥ 就绪门到点 ⇒ 这一发不提交(KL-780);慢盘上可能更常撞上限,上限是宿主可传参。⑦ 已知限制 KL-414 删行(被规则吸收);KL-396 射程改写(allow 桶不发,deny / ask 原样上体由服务端判)。
10807
+
10808
+
10809
+ 1. **编译红必改**(SC 组):① 网页端 `WEB_CHROME_ARM_LEDGER`(`Record<ChromeArmKind, …>`)少一键 `result_replayed` —— 登成已接(SC-2);对 `ChromeEvent` / `ChromeEventKind` 做穷举 `switch` + `never` 或 `Record<ChromeEventKind, …>` 的宿主同样编译红一次(三端其余处零命中)。② `RunTerminalRead` 少一位 `replay`(三端零读点)。③ `SelfHealOutcome` 多一臂 `ask-run-settled`:对它做穷举 `switch` + `never` 的宿主编译红(三端零命中:终端按处置档分,网页端不枚举)。④ 必接臂 +1:按 `CHROME_ARMS` 自检必接臂的宿主在接上 `result_replayed` 之前自检报缺 —— 这正是要的效果。
10810
+ 2. **行为变**:① 同键重放的终局:结果帧 / 合成终局行 / 补差回答行末尾多 `_sema_replay: true`(`-p` 输出同),每个这样的终局多一条 `result_replayed`;真跑一个字节不变。已有首答的转录再收到同一 run 的重放会多一份带提示的回答(重复,不丢;KL-783)。② 工具结果行(交互 + `-p`)多至四个信封键;**终端**换读键表后,「开始前被中断」「审批窗走完」两族折叠第一次在真管线上生效。③ `RetryStatus.deadline` 在 5 s 预算内改取产生者的 `retryAtMs`(只读 `deadline` 的倒计时锚改善)。④ `readRunTerminal`:park 词 + 坏因由座由 `unknown` 改 `paused`。⑤ 任务停止 409 码缺席 ⇒ `unknown_conflict`(不再从句子认码)。⑥ 自愈分诊:复证之后的 `not-parked` 不再说「在等那道门」;陈旧 park 臂复证读回终态 ⇒ `ask-run-settled`(**网页端:加消费臂,把 `:706-707` 的「终态即重发」改到这个 kind 上,否则这一形不再自动重发**);running 三选卡选 cancel 前先复证。⑦ `modelUsage` 行多两只缺席位。
10811
+ 3. **零动作**:管理台;桌面端热态(按词表转发);终端对 SC-11 / SC-13 / SC-14 / SC-15(经包自动生效)。要渲重放提示:接 `result_replayed`,渲它的 `text`;**不许**从行键现拼句子,**不许**据键缺席渲「这是新跑的」。冷恢复后提示与行级键消失是诚实缺席(126b SC-1 / SC-5 恢复射程)。
10812
+
10813
+ **包侧缺口:** **SC**:① 重放提示 / 行级键的冷恢复只靠「整行信封落盘」或「从 run 账本经本包管线重投」两条路,桌面端冷恢复今天两样都不是;连坐键与重放位不在 run 账本里,账本重投恢复不出(写在 126b)。② 连坐键只在宿主跑本包问答桥时可能在场(KL-782);连坐判定改读引擎证明的停驻主角 id 归 HITL 族另一票。③ 首答行与重放回答行没有共同身份,重复一份不压制(KL-783)。④ 错误对象状态位还有两条读法未收:控制路由的 `errCodes`(读 `status ?? statusCode`,普通取值)与后台任务停止的诊断读法;终局读法里 `kind` / `code` 按属性访问、失败详情只认自有键的「两套在场律」未统一。⑤ KL-30 / KL-72 各自的收口本版未做(126b SC-12)。⑥ `STOP_CONFLICT_CODES` 0.99.0 删(RL-151)。
10814
+ **PL 行(CC-556)**
10815
+ 1. **编译红必改**(PL-3):给 `resolveEnginePanelTaskId` 传了第二参(委派卡 id)的调用方编译红一次,删掉那一参即可(三端 origin/main 零调用点)。PL-2 三位只增(对 `PanelDelta` 穷举 `op` 的宿主不受影响)。
10816
+ 2. **行为变**(PL-1):① **旧事件口两处终端可见**:只带委派卡、不带转录锚的行帧走它自己的尾段、自己的一行(此前改写到同卡最近一只子代的键上,可把别人标成失败 —— 修后多一行、不再错标);只带卡的短命子代终态行(卡本进程见过)照发成它自己的一行(此前永久缓住,数字看不到)。② **行差分口**:同一代的用量在 `terminal` 之后到也照交;同一已知代际内取各载体的最大值(此前同代内 tick 一到行帧用量整代不进、tick 后到者赢);有 `cycleSeq` 的后台子代上 tick 不再改用量(KL-785);两行被证实是同一只 ⇒ `remove{败者, supersededBy: 幸存者}`(此前败者永远 running);逐键最终性出 `usage_delta.final`,数值不变也会出只带它的一条;复活(含换转录锚)落在第一次交出的键上(此前换转录锚的新一代另起一行);有界淘汰按整条记录(KL-664 改口);同步委派子代的终态只由关卡腿铸(投影先看到终态行时只交最终用量,终态与最终报告随关卡腿到)。按 `remove` 释放附属账的宿主遇 `supersededBy` 请移到那把键而不是丢弃;把「`terminal` 之后不会再来用量」写死的宿主请改为照收;只带 `final` 的 `usage_delta` 不带数值,别当「数值清零」。
10817
+ 3. **零动作**:管理台;桌面端(零读点)。**只订旧事件口的终端不是零动作**(本版实测,旧口三处变化):ⓐ 绑卡子代终态改由关卡腿铸,fleet 终态行那一拍不再收到 `end`;ⓑ 锚帧合并后旧口事实换键;ⓒ 被换掉会话的迟到 tick 事实整条丢 —— 终端按读点核(`fleetView` / `panel_task` 旧口订阅处)后再表态,不按「零动作」收。
10818
+ 1. **编译红必改**(GR 组):对 `SessionPolicyTightenOutcome` / `SessionPolicyRemovalOutcome` 的 `kind`、`SessionPolicyFailure` 的 `kind`、`SessionPolicyMalformedWhy` 做穷尽 `switch`(带 `never` 兜底)的端各补一臂(`refused` / `earlier-grammar` / `grammar_stamp`),句子一律取包(`sessionPolicyTightenNotice` / `sessionPolicyRemovalNotice` / `sessionPolicyReadNotice`)。三端 origin/main 上零这种 `switch`(126d)。
10819
+ 2. **行为变**:读改写口对无戳旧行(`toolAllow` 有括号形条目)从「写成(运维身份)/ 被拒 `loosen_forbidden`(普通身份)」改为「不发 + 机读结局 `refused`」,渲包的那一句。会话规则是只拒的过滤层:修前那一形的后果更可能是「原本被拒的调用改为交审批或直接放行」,而不是「出卡的调用不问就跑」(读码推断,未实跑)。
10820
+ 3. **零动作**:网页端、桌面端、管理台;终端换钉后删 KL0234。
10821
+ **TX 组(CC-605 / CC-586 第一批 / CC-587)**
10822
+ 1. **编译红必改**:① `import { PROBE_HEALTH_DIVERGENCE }`(0.98.0 退出公面)⇒ TS2305(删 import);给 `ClientSliceLike` 写对象字面量且带 `probeHealth` ⇒ TS2353(删该成员);读 `slice.probeHealth` ⇒ TS2339(改调本包转口的 `probeHealth(baseUrl)`);按下标或字面量型取 `CLIENT_VERBS` 里 `probeHealth` 行的代码 ⇒ 红(删)。三端与管理台零引用。② **终端**:换钉 0.98.0 的**同一个提交**里把终端仓 `sema/i18n/core/` 下的 `messages.en.ts` / `messages.zh.ts` / `translate.ts` / `index.ts` 改成本包转口 —— 否则终端的同名影子导出门对六个上提的运行期名(`EN_MESSAGES` / `ZH_MESSAGES` / `translate` / `createTranslator` / `createMissLedger` / `uiMissLedger`)当场红。其余 additive(公面 +12 运行期名 +14 型)。
10823
+ 2. **行为变**:本包零(判活本来就是 sdk 语义;新口不传 `lang` 即英文,本包既有铸点句本版一字未改)。终端换转口后:`translate` 对表外语言 / 原型链上的名由抛错改为英文 / 空串 + 台账;界面字节不变(上提的是终端产物里的字节,含两键已改写的配置目录路径;终端构建期的品牌改写对它们幂等)。终端 / 桌面端换读 `resolveSubagentModelWord` 后:① 目录里有条目字面名叫某档位词(如 `pro`)且该档另有绑定 ⇒ 子代跑「名叫 `pro` 的条目」(交原词,由引擎的目录键遮蔽决定);② `model: best` ⇒ 请求体仍是 `best`(与终端今天同);③ 两个目录键只差大小写 ⇒ 不带 `model` + 一句(终端今天取池里第一个);④ 连远端引擎且档位词在本机已绑 ⇒ 由「送本机落点名」变成「送原词、远端按自己的表展开;远端没有这一档 ⇒ 400 `request.unknown_reference`(响亮)」;⑤ 本机引擎:由「送设置里档位组算出的落点名」变成「送原词、引擎按它自己的活动档位组展开」—— 不交 `local` 时档位落空的词由引擎 400(从 fail-soft 变 fail-loud),终端本机引擎应交 `local` 保住 fail-soft;⑥ **桌面端**:`catalogModelOf` 今天「认不得 / 目录未到 ⇒ 不发」,换读后档位词 / CC 别名 / `best` 以原词交引擎,目录未到时也原样交 —— 引擎认不得 ⇒ 整回合 400(响亮)。
10824
+ 3. **零动作**:网页端(不发 `agents`;没有界面语言)· 管理台 · 桌面端的 TX-1 / TX-2 / TX-4。
10825
+
10826
+ **包侧缺口:** (PL)① 后台代理终态通知上的 `sessionId`(只在后台代理的终态通知上:同一帧说出「后台句柄 ⇄ 子会话 id」)本版没当绑定证据 —— 到货判据:通知终态事实加可选 `sessionId` 位、通知那一腿把它带进归约口,届时只喂 `panel_task` 不喂 fleet 行的宿主对后台代理也接得上(工作流代理仍要 fleet 行)。② tick 的代际位没有贯通(KL-785):到货判据 = `task_progress.seq` 经投影进 tick 臂、终态 tick 带逐键最终性,届时有 `cycleSeq` 的后台子代用量重新可由 tick 驱动。③ 「这把 id 属哪只子代、同不同一只」的只读读面(给属主台账 / 子代内容店 / 页脚并集判定共用)本版没出 —— 那几处今天各自按多把键各记一份(同形存量另立票),第一个改读它的读点出现时随它出。④ 同一转录锚被两条尾段自称时,转录锚留在第一次绑定的那一只上(引擎不变式被违背的形;不合并、不错标另一只的行,但那一只可能被这把锚的终态放出它缓着的行)。
10827
+
10828
+ **RT 行(CC-775)**
10829
+ 1. **编译红必改**(RT-1):无(全部 additive:公面运行期导出 +1 函数 `retryStatusNotice`,+1 型 `RetryStatusNotice`)。
10830
+ 2. **行为变**(RT-1):无 —— 新口,不换读则屏上不变。换读后**句子本身**由本包定:终端的 `API error [状态码]` 泛化标题与节流标题、网页端的 `Model overloaded` / `Rate limited` / `Request failed` 三标题、两端的「等首 token」标题都被本口取代,措辞不同(`API error` ⇒ `Request failed`;等首 token 句多出「已等 / 天花板」两位;终态说 `Stopped …`、不说 `Retries exhausted` / `Gave up`);「按判词 × 状态码自分型」(网页端按 `error` 结构位推 `overloaded` / `rate_limit`、终端按 `errClass` ∧ `errorStatus` 推节流)换读后在包里,端不再自推。引擎写进 `error.formatted` 的固定中性句(`transient error, retrying` / `rate limited, backing off`)作第二句挂在 ` · ` 之后(与首句有重复,见包侧缺口 ③)。
10831
+ 3. **零动作**(RT-1):管理台 · 桌面端(零读点;座位原样透传 `retry_status`,渲染走网页端同一份)。
10832
+
10833
+ 1. **编译红必改**(LG):无(全部 additive:公面运行期 +5 —— 函数 `composeEventLeg` / `frameBindingOf` / `inheritFrameBinding`、常量 `EVENT_LEG_KINDS` / `EVENT_LEG_TABLE`;型 +25)。
10834
+ 2. **行为变**(LG):不改调组合器的宿主零变化(问答桥九个出口只多一次弱表登记,帧上不加键、字节不变)。改调之后:① 流内 `question` / `elicitation` / 旧族 `tool_approval`(无桥时)三族缺端口 ⇒ 组装期抛(此前静默流进投影被丢);② 续流上的 `question` 帧也被吞交端口(此前终端只吞源流上的);③ 会话 id 在流首 `meta` 帧就交 `run.onBound`(此前终端要等 `done`),终帧那一拍的宿主记账改由 `run.onTerminal` 承接(停驻终帧不调);④ 问答桥换挂到另一条 run 后,续流帧的转录引用位、属主盖章、`run.onBound` 都按新 run(此前终端盖章读续流入参、持久化读开流头);⑤ 耐久附着腿上终帧之前的子代 tick 只盖 `{runId}`(此前终端盖的是开流时的会话 id);⑥ 拒收终帧(409 在跑 / 开流之后被拒)的绑定说不出,开流时报过的候选经 `run.onRefused` 的 `candidateRunId` 撤回;⑦ 活流终帧说出的 run 与开流头 / `meta` 不同时以终帧为准(`run.onBound` 改报一次)。
10835
+ 3. **零动作**(LG):管理台;三端在改调之前。
10836
+
10837
+ **包侧缺口:**(LG)① `elicitation` 的应答编排(对话框答案 → 回 wire)不在本版:组合器只把帧交到端口,应答今天网页端 / 桌面端各写一套(CC-759)。② 审批卡口三端三条去向(放行 + 按帧登卡口 / 包的 chrome 臂 + 旁读 / 清单监视)未收:`perStream` 过渡位随它退役(RL-156)。③ 传输级(停驻 / 取消终帧对投影口是否可见、排空、游标去重、流帽)未进腿表。④ 耐久附着腿没有流首 `meta` 帧 ⇒ 会话 id 到终帧才知道;到货判据 = 服务端 `runs.events` 首帧发 `meta{taskId, sessionId}`,届时三腿一条读法、耐久腿终帧前的子代 tick 也带会话。⑤ 流内 HITL 帧族的帧名表本包手写一份(帧类型域);到货判据 = sdk 出闭集常量或判型,届时域改引它。⑥ 宿主在组合器之外合成的帧没有绑定(不给合成口)。
10838
+
10839
+ 1. **编译红必改**(TS):① `RuleOffer` → `RuleOfferReading`(终端两处导入、网页端一处,126d TS-2);② `CrashConvergedRow` → `CrashConvergedRowReading`(终端一处、网页端一处;本段 WD 组 126y 第 1 条里逐行句口的入参型 `Pick<CrashConvergedRowReading, 'approvalId'>` 同批读作 `Pick<CrashConvergedRowReading, 'approvalId'>`);③ `WireRuleOffer` / `MemoryEntryOriginMark` 零读点,无需改;④ 问答三型与活卡帧型改为 sdk 的形:**读**这些型的代码照编;**自造**这些形的代码(测试夹具、合成帧)可能编译红 —— 选项缺 `description`、`QuestionFrame.outcome` 写两词之外的词、给活卡帧的 `approvalCard` / `askClass` / `classes` / `mandate` / `classifierNoRuling` / `probeCause` / `ruleEvidence` 等位填 sdk 闭集或形之外的值时,按 sdk 型给值(本包没有在三端树上编译过,这一条是读码推断)。
10840
+ 2. **行为变**(TS):无。运行期一字节不变(只换型面;活卡帧与问答帧的各读口照旧按开集窄读,`coerceTaskStatus` 的判定逐例同)。
10841
+ 3. **零动作**(TS):管理台;二十三名里形不变的十九名(126d TS-3 所列读点换成同一符号);`BrainStatusPhase`(零读点)。
10842
+
10843
+ **包侧缺口:**(TS)① `BrainStatusPhase` 候 sdk 同名型补 `waiting_first_token`(引擎闭集七相,sdk 六相)—— 到货判据:sdk 的 `BrainStatusPhase` 与引擎闭集恒等 ⇒ 包侧门登记行前提倒下 ⇒ 改再导出、删行。② `CrashConvergedRowReading` 的 wire 半已随 PN-11 改从 sdk `CrashConvergedRow` 派生(peer 地板 `>=23.0.2` 越过了到货判据 `>=22.0.3`);此缺口关闭。③ 包侧门的射程只到**同名的型**:与上游同形而换了名的手写型(例:`AskAnswer` 与 sdk `QuestionAnswerItem` 两向可赋值)与运行期**值**同名(本包常量 `ABORT_CAUSES` / `RUN_DEATH_VERDICT_CODES` / `STATUS_DERIVED_COARSE_CODES` 是构建期从 sdk 生成的同名常量,不是 sdk 那一个对象)不在本门,本版未收口。
10844
+ **包侧缺口:**(PN)① 服务端支持底线已于同版抬到 7.129.1:退役登记 RL-142 / 143 / 144(代理清单过渡臂)与 RL-164(老码读法)已执行(§126 RD-2 – RD-5),KL-793 删行,KL-795 升级判据触发、实施归 CC-792(0.99.0);② `boundGrantAbsence` 读点本版随底线抬已接(§126 RE-1 / RE-2);③ `headerOwnershipCollision`(静态头与主体头同名)本包不另铸判官:引擎在拨号处拒、MCP 状态行 `invalid_config` 已带出(单一真源);④ `BrainStatusPhase` 豁免照留:sdk 23.0.2 的同名型仍缺 `waiting_first_token`(请托 sdk)。
10845
+ 1. **编译红必改**(PN):① 对会话规则收紧 / 撤销结局 `kind` 穷尽 switch 的,补 `inert_entry` 一臂;② 直读 `ToolApprovalRespondAckView` 上 applied 专属位(`rememberApplied` / `rulePersisted` / `ruleRefusal` / `persistedRule*` / `noteRecorded` / `updatedInputForwarded`)的,先过 `isToolApprovalRespondReplayed`(或 `'delivery' in ack`);③ 读 `ToolShim.approvalCard` / `ToolRosterRenderHintsView.approvalCard` 的,改读卡请求上的 `approvalCard`;交 `StandingRowsHostFacts.cardFace` 的对象字面量删这一键;④ 读 `SessionPermissionRules` 命令桶 / 按五只桶写死的,改三只;⑤ 消费方 sdk 升到 23(peer 地板 `>=23.0.2`)。
10846
+ 2. **行为变**(PN):① 活卡决断撞首决回放 ⇒ `decided.decision` 是首决(可能与这一发相反),没有伴随通知;② 「为什么没有『不再询问』」:`shadowed` 两句作废,两新词各一句,老服务端的 `shadowed` 读成中性句;规则车道判定口对任何非 `lane_cannot_speak` 的缺席词必问;③ 姿态车道对类 `rule_unreadable` 必问(引擎 7.51 起 bypass 不放它),放行句 `rule_unreadable` 那一句作废;④ 带命令桶的老会话记录读不懂、读改写口不写(收紧加不上、旧名撤不掉;KL-796);⑤ 续跑启动失败有词按词一句;⑥ `ok:unpinned` ⇒ `unknown`;⑦ v1 呈卡帧与不带卡词的卡上不再给本地整工具一行;⑧ `--scenario` 用法句改说拒。成文改口(旧判据眼作废):§117 / §118 / §123 / §124 判据里以 `ruleOffersAbsence: "shadowed"` 为证据或句子的格(两新词取代)、§123 里放行句「could not be checked against your saved permission rules」那一格(那一句随词出表)、本版 G-GR10 的「同码别的理由词落 error」(改落 `inert-entry`)、撤销动词(`removeRefusedSessionRules`)判据里种子带命令桶的格(「命令桶一字不动」改为整份读不懂、零写)与「开发依赖引擎写口对退役名答 `legacy_tool_name`」的格(引擎 7.51 起答 `inert_entry`,体源 `reason: tool_name` / `verdict: retired`)、`routePairingVerdict('ok:unpinned') ⇒ ok` 的格(改 `unknown`)。
10847
+ 3. **零动作**(PN):管理台;桌面端(零读点);PN-5 / PN-7 的终端(零改码,句子与标记随包变);PN-10 / PN-11(内部)。
10848
+ 1. **编译红必改**(FX):① 自拼 `PreemptOutcome` 的 `already-ended` 字面量而不带 `status` / 带表外串的宿主编译红(`status` 改为必有的 `SdkRunTerminalStatus`);② 按 `RetryStatusNotice['phase']` 写了 `'recovered'` 分支的宿主编译红(改 `'cleared'`)。其余 additive(两口 +1 可选参、接替位 +1 可选位)。
10849
+ 2. **行为变**(FX):① 会话规则收紧入参带 `commandAllow` / `commandDeny` 等表外键 ⇒ 抛,不再静默丢键答 `written`;② 耐久 / 续流腿零 `onRefused`,活流上残缺失败帧不再判「没建成」;③ 让位回执认不出的状态 ⇒ 「未确认」;④ 重试行未知臂零出路;`null` ⇒ 空句(壳收行,不再渲「Recovered — continuing」);⑤ 迟到决断 respond 腿回放 ⇒ `settled-elsewhere`;⑥ 面板 sweep 沿用 fleet 自报的失败位;⑦ 活流同一只审批 join 宿主持卡;⑧ 连接断缺省「结果未知」、不给原样重发(浏览器 fetch 拒绝同);⑨ 接替卡上一答按去向三句。⑤(验证轮)活流上执行痕迹之后的拒收信封不再触发 `onRefused`(终帧照绑);⑥(验证轮)接替卡去向在两腿乱序时取更不确定的一档;⑦(验证轮)绑卡行迟到的前代失败行不再把当代 sweep 判成失败。
10850
+ 3. **零动作**(FX):管理台;其余各条除上面编译红两处外,经包内口自动生效。
10851
+ - **FX 成文改口**(本版 §126 内已写下、自 FX 起不再成立的句子;改口不回改原句的冻结面):§126 RT-1 「恢复一句 / `null` ⇒ `Recovered — continuing`」(已在原处改为清行);run-session-policy-wire 旧格 U1g「结果只含桶名集合里的键」所认可的「表外桶被丢」—— 表外桶在 `add` / `prior` 入参 = 调用方的编程错误,抛;§126 UP-2 「`already-ended` 的终态词只在 `[a-z_]{1,32}` 词形时带」—— 改为只有 run 行终态闭集的词才答 `already-ended` 且恒带;§126 HL-10 「`resumed` = respond 腿 200 且回体没说受理形」—— 回放形除外(⇒ `settled-elsewhere`);§126 CC-607 接替位「`priorAnswer` ⇒ 那一答没到引擎」—— 改为按 `priorAnswerOutcome` 三分;§126 TH-4 「连接断 ⇒ 给重试」—— 只在可证没送出且无宿主证据时给。
10852
+ 1. **编译红必改**(LP):无(类型 `parked?: boolean` 不变)。
10853
+ 2. **行为变**(LP):无运行期变化;语义定形 —— 写端只在对账后写 `false`,读端把缺席读作未知(不渲停驻也不渲安全)、把 `false` 读作「无待决」。网页端 `useRecents` 现把 `false` 与缺席同形投出,要渲「无待决」须分读(读点见 126d LP-1)。
10854
+ 3. **零动作**(LP):终端(不写这条记录);管理台。
10855
+
10856
+ 1. **编译红必改**(BA):无(additive:公面 +1 常量 `BUILTIN_SUBAGENT_TYPES`;出包声明零引用引擎包,没装引擎的下游照编)。
10857
+ 2. **行为变**(BA):`Task` / `Agent` / `Fork` 工具调用入参里 `subagent_type` 为 `Explore` / `Plan` 的卡,卡头现在带这个类型词(修前被摘、卡头缺类型标);`worker` 照旧放行;表外词照旧被摘。依赖「`Explore` / `Plan` 的卡头不带类型」的断言须改钉(三端仓内本版读码未见这样的断言,读码推断)。
10858
+ 3. **零动作**(BA):终端 · 网页端 · 管理台;桌面端在换读之前(本地五词表照用,`worker` 的去留自定)。
10859
+
10860
+ **包侧缺口:**(BA)① `sanitizeToolUseBlock` 里 `worker` 是一个具名残留:它既不在引擎表里(引擎仓:归外壳),本包也没有权威位可读 —— 到货判据:引擎或 CC 形词汇包给出这个角色词的出处 ⇒ 改读、删残留;在那之前,引擎包根若把它收进表,门 G20-2 先红。② 部署自定义的 agent 名过 `sanitizeToolUseBlock` 仍被摘(纯函数不持名册,修前即如此):卡头缺类型标而不是显示一个未核实的词;要让自定义名过境需先有名册入口,不在本版。
10861
+
10862
+ **RE 组(CC-660;授予绑定读引擎词)**
10863
+ 1. **编译红必改**(RE):无(公面零变、型面零变:`ApprovalGrantBinding` 三态与卡入参位 `grantBinding` 不变;构建期生成表与名单类集都不在根入口)。
10864
+ 2. **行为变**(RE):① 🔴 卡上没有授予绑定摘要时,`grantBinding` 只在引擎说 `not_bindable` 时为 `none`(修前非技能工具一律 `none`)⇒ `standingRowsOf` 的本地整工具一行(`persistentRow: 'local_whole_tool'`)在引擎说 `unreadable` / 没说 / 说表外词的卡上不再给,理由 `grant_binding`;真 v1 呈卡帧的卡恒 `unreadable`。② 服务端看得见的问类里有部署名单那一问的类的卡,技能工具带 `not_bindable` 也答 `unreadable`,带摘要的卡答 `unreadable`(修前 `bound`;两者都不给本地整工具一行)。描述符与普通取值说两样的载体(代理 / 取值器)不答 `none`。③ 问类明确不含名单类时,技能工具带 `not_bindable` 答 `none`(修前按工具名恒 `unreadable`)—— 与服务端同答。宿主测试夹具若自拼活卡帧 / 待决行并断言本地整工具一行,需补 `boundGrantAbsence: 'not_bindable'`(受支持服务端的真帧都带)。
10865
+ 3. **零动作**(RE):终端(只读名单会话行)· 网页端 · 桌面端(零读点)· 管理台。
10866
+
10867
+ **包侧缺口:**(RE)① 「这一问是不是部署名单自己的问」只读得到问类那一半(部署名单问不问这个工具是服务端部署配置,不上线)⇒ 带名单类的卡按两律合取闭合,在用户自己的 ask 规则命中的问上可能比服务端更严;服务端把这一位上卡之后改读它(请托,只建议)。② 本地整工具一行写的是按工具名的整条 allow 规则,不带授予绑定这一维:引擎在没有可激活技能的一跑里对技能工具铸 `not_bindable`,本包与服务端都答 `none` —— 这条规则在之后带技能的一跑里会不会代答一次带授予的激活,取决于引擎规则车道对这类激活的处置,本版未核实(服务端的同类耐久店靠读侧不代答带绑定的问兜住)。③ 空串摘要:服务端答 `bound`、本包答 `unreadable`(两者都不给本地整工具一行)。
10868
+
10869
+ **HK 组(RL-117 / RL-119;CC-396,退役账到期执行)**
10870
+ 1. **编译红必改**(HK):① 按名 import / 直调 `taskRequestOmissionCausePhrase`(0.98.0 退出公面)的宿主编译红一次(TS2724)—— 三端生产与测试源零命中,实际零必改;终端自家消费清单 OP-1 行(处置 declined)按自家节拍改注,不红。🔴 硬破坏三句:删了从句口;按名 import 的编译红;换读整句口 `taskRequestOmissionCauseNotice(cause)` 或整句表 `TASK_REQUEST_OMISSION_CAUSE_NOTICES`(要接在自家「没发出去」行形之后的,直接渲整句)。HK-1 零编译改动(判定件不在根入口)。无参 `hooksForWire()` 的调用方另见 RC 组(RC-2:必带 `{ plan }`,无参 / 坏形立即抛 `TypeError`;终端测试与验证脚本约 35 处、桌面端一道门脚本)。
10871
+ 2. **行为变**(HK):① 设置来源里的 `mcp_tool` 条目任何调用口、任何事件上都不再上请求体(引擎点亮的事件上,修前由服务端整份拒收请求 400,现在照常发出、只少这类条目;计划路径记 `settingsDropped`、本端也跑不了的进开机清单)。传计划的宿主零变化(本来就拿掉 + 进清单);不传计划那一路同版随 RC-2 删除(RL-118 已退役,无参调用抛 `TypeError`,见 RC 组)。② 整句口与整句表零变化。
10872
+ 3. **零动作**(HK):管理台;HK-2 三端零读点;HK-1 的处置对三端产品源零动作(产品源只走 `{ plan }`)—— 但无参 `hooksForWire()` 的调用方(终端测试与验证脚本、桌面端一道门脚本)要按 RC-2 改传 `{ plan }`,不算零动作。
10873
+
10874
+ **包侧缺口:**(HK)① 去重键里抄 CC 执行入口类型键的 `mcp_tool` 那一臂,经设置来源路径已不可达(`mcp_tool` 条目在去重之前一律拿掉;本端跳过口那一侧算得出键,但请求体上永无同键条目可配)—— 到货判据:服务端 hooks 受理契约的条目联合收下 `mcp_tool` ⇒ 拿掉规则与这一臂同批改判,在那之前它不改变任何读数。② 无参 `hooksForWire()` 已删(RL-118 已随 RC-2 硬退,调用形必带计划):不传计划的路径不再存在,`mcp_tool` 被拿掉经计划的 `settingsDropped` 与 `hooksNotRunNotice(plan)` 可见 —— 此缺口关闭。
10875
+ **RA 组(RL-89 / RL-90 / RL-105;退役账到期硬退)**
10876
+ 1. **编译红必改**(RA):① 终端:面板桥 `chrome-agentprogress.tsx` 的两处订阅(`:623` 主订阅、`:136` / `:1092` 缺席臂)换订行差分口 `subscribeEnginePanelRows`,按 `canonicalId` 维护行表(`upsert` 逐键合并展示位、`usage_delta` 直接赋值、`terminal` 结行、`remove` 删行;缺席标读 `fields.absence`,`null` = 撤标),五个测试文件同改;`fleetClient.ts` 删五行 `setConnected`,`:613` 读 `status().connected` 换读 `readEngineActiveBgTasks().fresh`(`false` = 出「fleet stream disconnected · reconnecting…」陈述);三个测试文件 13 处直喂改为 `ledger.issueStream().applyFrame(frame)`。② 网页端:`bg-task-probe.ts:40` 换订行差分口。🔴 硬破坏三句:删了 `subscribeEngineAgentPanel` / `subscribeEngineAgentPanelAbsence` / `__resetEngineAgentPanelAbsenceForTests`(0.98.0 退出公面)与账本的两个成员 `applyFrame` / `setConnected`、状态键 `FleetLedgerStatus.connected`;上列读点编译红一次;换读行差分口与 ingress,「连着没有」读在飞读面 `fresh`。
10877
+ 2. **行为变**(RA):① 面板:陈旧终态 / 同代重复终态不再交给消费端自判(行差分口在包内判完);迟订阅拿快照(当前行表),不再拿缓冲里的事件序列。② fleet:换会话 / 换目标重开流那一窗(旧流已收、新流首帧未到)在飞读面 `fresh` 读 `false`(此前终端自报仍是「连着」)—— 温切 / 重启门在这一窗把后台任务读成「不知道」;终端换读 `fresh` 之后,断流陈述(「连着」为假且见过流 / 有错误串)在这一窗可能闪现约一秒(按终端代码推断,未实跑);默认槽 `own_root` 的锚由逐帧现读改为开流那一刻捕获(终端开流前会话已定,读数不变);「连着」认的是当代 stream ingress 落过任何首帧(含只带 meta 的帧 / 坏形 / 未知 `type` / `task_remove`;`null` 帧抛 `TypeError` 前读位已置),只送坏帧的流也读「连着」;默认槽两本账任一连着 ⇒ `fresh: true`。
10878
+ 3. **零动作**(RA):桌面端(三行零读点)· 管理台;终端断流陈述的两处渲点(`BackgroundTasksDialog.tsx` / `fleet-view-screen.tsx`,读的是终端自家 `useFleetStreamDisconnected`,只改它的数据源 `:613`)。
10879
+ **RB 组(RL-113 / RL-114;CC-344,退役账到期执行)**
10880
+ 1. **编译红必改**(RB):① 按名 import / 直调十九只 tee 口 `noteEngineCapsFor*` 中任一名的宿主编译红一次(TS2305 / TS2724)—— 终端:`sema/liveClient.ts` 删 19 处 import 与探测闭包里的 19 处调用,十一只壳侧转口模块删转出,测试三文件改;另有五只终端测试按正则读 `sema/liveClient.ts` 源码、断言这些 tee 调用在场,删调用之后这几格运行期红(不是编译红;坐标见 126d RB-1),同批改成断言「探测闭包里没有这些调用」或删格;网页端 / 桌面端零必改。② 按名调十四只测试钩 `__reset*ReadingsForTests` 的测试编译红一次 —— 终端:十只壳侧转口模块删转出,测试五文件 39 处删调用;要清空读数的格改调 `__resetEngineCapsCacheForTests()`(连落地一起清,之后要再落地才读得到)。🔴 硬破坏三句:删了十九只 tee 口与十四只测试钩(连同读器工厂的写口与重置口);按名 import 的宿主编译红,ES 模块宿主绕过类型检查直接具名 import 则模块加载失败,按正则读 `liveClient.ts` 源码的测试在删调用之后运行期红;删掉调用即可(两族都从来不改读数),清读数改调总缓存重置口,探测闭包里同拍要用读数的读手上这一发的投影 `project*Capability(caps)`。
10881
+ 2. **行为变**(RB):无 —— `observed*` 读口的读数与上一版逐字节同;唯一可观测的差别是对象同一性:旧测试钩调过之后同一次落地再读会换新对象,现在同一次落地上恒交同一只。
10882
+ 3. **零动作**(RB):网页端(两处只在注释里)· 桌面端 · 管理台。
10883
+ **RC 组(RL-103 / RL-118 / RL-59 / RL-92;退役账,按裁定硬退)**
10884
+ 1. **编译红必改**(RC):① 桌面端会话宿主按名 import(`session-host.ts:37`)/ 直调(`:1593` / `:4875` 两处)`isAlreadyResolvedGateReason`(0.98.0 退出公面)编译红一次 —— 换读 `isAlreadyResolvedFailure(e)`,把 catch 到的整只抛出物交给它(不是 `e.message`);`:4875` 在「4xx 且不是已决」的例外分支条件里,换读后判据先看机读码,同一只 4xx 抛出物上这一支的判定可能翻、分支走向随之变,换读后要核这一支的预期。② 无参 `hooksForWire()` 编译红一次(终端测试与验证脚本;桌面端与终端的 `.mjs` 门运行期抛 `TypeError`)—— 换 `hooksForWire({ plan: hooksWirePlan(...) })`。③ 按 `source === 'legacy_shadowed_rule'` 比较的代码编译红(三端零命中)。④ RC-4 三口一型三端零读点,零必改。🔴 硬破坏三句:删了三只拼装件的根入口导出、无参 / 坏形入参的 `hooksForWire` 宽容读法、老两键的读法、脱敏位读器;按名 import / 无参调用 / 老来源词比较的编译红;换读 `isAlreadyResolvedFailure(e)` · `hooksForWire({ plan: hooksWirePlan() })` · 新键 `allowRuleShadowed`,脱敏读数缺席时按「未证明已脱敏」处置。
10885
+ 2. **行为变**(RC):① `hooksForWire` 的坏形入参从静默现算改为抛 `TypeError`;计划每轮读一次插件读口(端口没实现 ⇒ 一次缺席告警;只报旧位 `suppressedByStartupMode: true` 的端口 ⇒ 只投 policy)。② 只带老键的卡上没有让位披露与那一句,判定口答 `unknown`、持久行不给(照常出卡、不被自动答);拿老键夹具断言出披露的测试升级后红,夹具换新键同形 `allowRuleShadowed: [{ member: 'persisted', entries: [原串] }]`(读数与句子与修前老键逐字同答)。③ 本包不再对任何服务端答「会话历史已脱敏」。
10886
+ 3. **零动作**(RC):管理台 · 网页端产品源(RC-1 / RC-2 / RC-4 零读点;RC-3 只动测试)· 终端产品源(RC-1 / RC-3 / RC-4)· 桌面端 RC-3 / RC-4。
10887
+ 1. **编译红必改**(RD):① 给 `projectAgentsForWire` 交 `withholdRefusedDenyLists` / `toolDirectory` 的对象字面量删那两位(终端 `agentsWire.ts:239-240`、桌面端 `main/agents-wire.ts:587` / `:591`;`engineToolDirectoryOf` 那次调用可留可删)。🔴 硬破坏三句:删了 `withholdRefusedDenyLists` 与 `toolDirectory` 两位及其分支;交这两位的对象字面量编译红一次(终端、桌面端各一处),纯 JS 宿主多交的两位被忽略;删掉两位即可,不换读。② 按名 import `excludeToolsAgainstDirectory`(0.98.0 退出公面) / `ExcludeToolsAgainstDirectory` / `RULES_LEGACY_TOOL_NAME`(0.98.0 退出公面) 的删掉(三端零命中);③ 对收紧 / 撤销结局 `kind` 或 `SessionPolicyFailure.kind` 穷尽 switch 且写了 `legacy_tool_name` / `legacy-tool-name` 分支的删那一支(三端生产源零命中)。
10888
+ 2. **行为变**(RD):① 底线:连服务端 7.126.0 – 7.129.0 的端,`engineVersionTier` 答 `legacy`(附着门 / 提示按端自己的读法);② 代理清单原样上体:deny 侧拼法问题的代理不再被扣、allow 侧判官问题条目与未声明服务器的 `mcp__` 条目不再省;deny 侧不再出告警句,allow 侧告警改条件式(「is not sent」「it is omitted」「names no tool this deployment answers to — omitted」「could not be checked」四句与 deny 侧告警句不再出现);③ 老码 `rules.legacy_tool_name` 到达落通用结局(`write_refused`),不再有具名那一句。
10889
+ 3. **零动作**(RD):网页端 · 管理台(零读点);终端与桌面端各只删两位(上一条),不换读。
10890
+
10891
+ **包侧缺口:** (RA)① 撤标读口 `engineAgentPanelEventClearsAbsence(ev)` 吃的是主事实的事件形,0.98.0 起宿主不再拿到这种事件(行差分口已在包内判完撤标:`fields.absence: null` / `terminal`)—— 终端换订行差分口之后它零读者,是下一版退役候选,本版不动(终端本版仍以它为撤标读法)。② 门要逐条看折叠的入参(投影 / 漏斗铸出的事实与缺席上报),经包内件的观察钩读(单 listener、无缓冲、不上根入口);它不是宿主口,宿主可见的读数只有行差分口。 ‖ (RB)① 读器族没有「落地之前同拍可读」的口(0.95.0 起的单一真源取舍,KL-725,不随本版变):探测闭包里同拍要用读数的宿主读手上这一发的投影 `project*Capability(caps)`。② 宿主自家挂在探测闭包里的读面不是本包的名,本版不动;要与读器族读同一份事实的,改读 `engineCapsLandingOf(baseUrl)`。 ‖ (RC)① 老两键的**在场**判据(只认在场、不读值)是本包认这两个键名的唯一一处,卡腿的读不出登记与判定口共读它;支持底线以上的服务端不铸老键,它只在升级前停驻的老行与更老的服务端上起作用,老行全部过窗之后它恒假 —— 那时连同这一只判据一起退(已登退役账 RL-165:条件 = 服务端成文的老停驻行最晚过窗日 2026-11-12 之后的下一个本包版本,判据恒假即删)。② 计划判形对「六键计划」(0.88.0 型面)的宽容仍在(`settingsVerdicts` / `settingsExcluded` 缺席当空):0.98.0 起「不是计划」已响亮报,收六键要先核宿主还有没有按老型面自拼计划 —— 已登退役账 RL-166(条件 = 终端 / 桌面端零按 0.88.0 六键型面自拼计划之后的下一个本包版本),本版未动。③ 会话历史读面的脱敏读数候服务端叶名表(到货判据:能力位换成叶名表、sdk 同批声明 ⇒ 当版新写读器、KL-667 删行)。
10892
+
10893
+
10894
+ ### 126z. 勘误(回指 §125;已发段冻结不回改)
10895
+
10896
+ - 本版无需订正的已发段。
10897
+ - **§123 PC-5 行与 §123c G-PC5(§124z 已订正为「只在 `strict: false` 下成立」)**:CC-716 在本版收口 —— G-PC5 自 0.98.0 起读作「`strict: true`、`strict` + `exactOptionalPropertyTypes` + `noUncheckedIndexedAccess`、`strict: false` 三档编译,引擎包根十六件原样装进完整型 `CoreValuePorts`(无型断言)零错」;§124z 写的「`strict: true` 下这两成员需型断言」自 0.98.0 起不再成立(本版发布件 + 引擎 7.49.5 实测,见 G-GT3)。PC-5 行「建议:终端装配根的 `as CoreValuePorts['ruleToolGrammarOf']` 可删」照旧成立,且终端 origin/main `5554ba6a` 已删。
10898
+ - 无。
10899
+ - **§101a DF-1 行与 §101c G-DF2「U+2028 / U+2029 与格式类整类照标(转义)」加射程限定(终端合车 [10700] 指出;已发段冻结不回改)**:那两句只对**不折平**载体(`foldLines: false`,多行正文)成立;折平载体(`foldLines` 默认开:标签 / 预览 / 单行)把 `\t \n \v \f \r`、U+2028 / U+2029 与 U+FEFF 一律当空白折成空格(首尾剪掉、中间一个空格),不转义 —— 实测:`"\uFEFF# a"` 折平 ⇒ `"# a"`、不折平 ⇒ `"\uFEFF# a"`(转义形);`"a\u2028b"` 折平 ⇒ `"a b"`、不折平 ⇒ `"a\u2028b"`。同一字符两种可见形是载体之差,不是缺陷;折平载体的空白折法自 0.83.x 起未变,本版零改码。
10900
+ **包侧缺口:** ① 窗三键**折算**(截止时刻:绝对优先、相对兜底、服务端钟校偏)仍在两端各一份(终端 `readAskDeadlineMs`、网页端 `permissionWindowDeadlineMs`);上收要一个流窗荒谬上界,本包现有的同值上界是停驻行墙钟那一只 —— 后续版本与之一并定(同一上界还是两个量)。② 规则出处证据 `ruleEvidence` 的成员窄读与「值不值得占一行」仍在端(终端 `ruleEvidenceNote` / 网页端 `readRuleEvidenceRows`),本版只收了探针成因那一半。③ 座位持久行(「以后别问」)没有座位结果位:要像 `sessionRow` 一样在铸座位请求时判一次,需要宿主的两件事实(卡面 / 整工具规则发不发得出去),另票。④ 治理句 / 双向字符披露 / 报价缺席句 / 读根候选句四句仍是端铸,未进原因格。
10901
+ **包侧缺口:** ① TP-3 的「连接断了没答复」判据是本包 `transportFailureScene` 的 `noAnswer === 'connection-lost'`,它读 fetch 抛出的网络错误类 `TypeError`(成因链上没有发出之前就失败的码):浏览器拿不到成因的 `fetch` 失败与 sdk 调用内部的编程错误形 `TypeError` 在机读位上分不开,后者也会被重开一次(同键、仅一次,代价是同一个编程错误跑两遍);宿主在本口**外面**包的管线抛的错误不经过本口的 catch · ② 没有 run 行的提交(无 run 店,或请求不带 `sessionId`)只剩服务端在飞合流,落定之后同键重发会再跑一遍 —— 这一形的重开可能是真重跑;宿主据读数 `reopened` 与 `replay` 自己分(`reopened` 且 `replay: false` 说不出首发落没落地)· ③ sdk 同步腿(`tasks.submit` / `runs.create`)的同键重试在 sdk 自己那一层,本口不包(包了是两层重试相乘);提交后不确定落没落地时,读 `reading().idempotencyKey` 再 `runs.getByIdempotencyKey` 查 · ④ TP-1 / TP-2 不产消息正文:各端自己的句子 / 隧道提示 / 地址脱敏保留在端上,本包只定判与原因词 · ⑤ 不带「断连不杀 run」头的车道上,首发其实已到服务端、随连接断开被服务端取消:同键重开回的是那条被取消的终态(`replay: true`),不是重跑(服务端:失败 / 取消 / 停驻之后同键再投也回那一条,要重跑换新键);本口恰一次,不替宿主发第三发 —— 宿主见 `reopened` 且 `replay: true` 而终态是取消 / 失败时,自己决定要不要用新键重发整条消息。
10902
+ - §123y ②「逐面」NF 行桌面端那句 —— 「`main/boot-error-scrub.ts:91 – 99` 的 `Bearer` 与名字后缀凭据词两条本地正则可按 123a NF-2 行删(… `PGPASSWORD=Basic` 一形除外,KL-757)」—— 在 0.96.0 / 0.97.x 上不成立:标点开头的值、诊断词当值、词形 Bearer 载荷三类输入包独自遮不住(桌面端 [10394] 实测五轮外露),删条即外露。本版(0.98.0,DU-1 – DU-3)起成立,删条坐标与信号见 126d。
10903
+ - §100a-2 第 6 条「本臂不在 `CHROME_EVENT_KINDS`……还原成行须在宿主侧做」、K-24 桌面行「须在主进程侧还原成行」、§123 SC 行「`memory_saved` 仍不在其中」三句自 0.98.0 起**不再成立**:词表为十二词,`memory_saved` 改由渲染端呈现,宿主侧还原那条路须停(CH-6)。
10904
+ - **§124d CP-1 / §125d AD-4 终端坐标勘误(终端合车 [10580] 打回;已发段冻结不回改)**:§124d CP-1 写的终端「必改一处」坐标已过时 —— 该件终端在 1.0.148 批(PICKUP148b FH-4)已换读本包判官,终端侧零动作;§125d AD-4 的补集点 `bootArms.ts:159` 随终端 1.0.149 批(PICKUP149b PK-9:主线程代理 `tools:` 白名单改送请求 `allowTools`,代理补集臂退役)失效,AD-4 在终端的接法改为 run 级 `excludeTools` 只收恒挂内置名(终端处置 declined,[10580] 处置表);两段原文不改,读 §124d / §125d 时以本条为准。
10905
+ - **§100a-6 / §100a′ / §100c 与 §93 的转录 id 条目自 0.98.0 起改读(ID-1 / ID-4 / ID-5;已发段冻结不回改)** —— **作废**:§100a-6「跨重投射程」整条(含「重投 / 跨升级请按 wire 的事件身份去重」)⇒ 去重按 `uuid`;§100c G-U1 后半句「重新投影两遍不在承诺内 …… 只有带 `eventId` 的工具结果行与 `memory_saved` 的 `id` 两遍同值」;§100a-6「稳定键优先序 帧 id > seq > toolCallId」「`seq` 只认数」与「唯一性射程」里「两场会话同一个 `seq` 得同一个 id」;§100c G-U4 的 `deriveTranscriptId({ seq: 7 }, ctx)` 一格;§93 包侧缺口「`-p` 帧的 `uuid` 是投影口现铸的 id …… 身份口径未定」(收口:两车道同一只身份)。**改读**:§100a-6 承诺 ② 射程扩到「同一条 wire 事件流经投影口重投」(126b ID-1 P1);§100a-6「升级边界」本版起再出现一次(0.97.x → 0.98.0),工具结果行与 `memory_saved.id` 不在其内;§100c G-U2 关系不变、值变(段身份去序号);§100c G-U3 的旧会话夹具须含 16 字符 `wid_err-<8>` 旧形行(只放 `wid_…` / `wseq_…` 会红绿颠倒);§100a-6「工具结果行在 wire 带 `eventId` 时原样用它当 `uuid`,本包不验形」照旧成立,且 `-p` 工具结果帧同。凡断言「同一组 wire 事件两次投影,文本行 / 工具卡 / 分割线 / attachment 的 `uuid` 不等」或「段身份随投影起点 / 窗口序号变化」的格,装 0.98.0 后判红是预期。
10906
+ **包侧缺口:**(ID)① 跨腿(先 live 落盘、再 durable 全量重放)同一段回答两遍成行:文本段的跨腿同值要服务端 durable `text` 按段落账、并带与 live `text_end` 同值的事件身份(请托 [10226] ⑤;到货后跨腿纳入 P1,KL-762 同版删);② 切点不同的两份投影(idle 切分 / 段中断流 / 段末改写字节)各留一份行,重复一截、不丢正文(KL-763;同 `uuid` 恒同正文);③ `-p` 工具结果帧只看得见收卡臂(KL-764);④ 有身份的事件在投影口仍会读一次随机源(被出口按身份改写的那一枚),值不外泄、行为零差,只是熵与一次调用的开销;⑤ 两只交互壳同开一个会话、同一 run 各投一次的黑盒(G-ID2)与终端续开叶优先格(G-ID2e)交 test 随发布候选排;⑥ 桌面端缓冲按 `uuid` 去重与回灌行对齐由桌面端补(已认领)。
10907
+ - **(CC-725 文档订正 ①)§123y 三段「换钉之前 / 逐面 / 不要做的」由多个行组各写一遍**(同题共六处,拼接所致):读法 —— 每一处只对写在它前面的那个行组成立,行与行之间不传递;以 123a 各行的终端 / 网页端 / 桌面端三列为准。
10908
+ - **(CC-725 ②)坐标路径**:§123d 与本段之前各段的终端 / 桌面端坐标省略各端仓的 `src/` 前缀(段头已注),网页端仓没有 `src/` 目录、坐标写全路径(`ui/…`);本包接入文档在包内的路径是 `docs/INTEGRATION-CLIENTS.md`(随包发布)。(本条按终端打回项的字面整理,读法以终端复读为准)
10909
+ - **(HM-R / HM-T)审批决断结局与工具行终态的已发段自 0.98.0 起改读(已发段冻结不回改)** —— **作废**:各已发段里读 `FsApprovalOutcome` / `ToolApprovalFrameOutcome` / ask 腿 `GateOutcome` / `ApprovalLegOutcome` 各位、`approvalResolutionOf`(已退役)判别序(§76 S-5「第一步 additive、第二步才删旁挂位」—— 第二步即本版)、结局便签 `approvalOutcomeNoteOf`(已退役;0.74.5 起各段)、活卡结局 `respondRefusal` 便签(0.42.0 起各段)、`unsettled` 的 `respond_failed` / `decide_failed` / `safety_stop` 三词、取件 `wrong_gate` 读成 `fetch_failed` 的句子;「被扣调用的收口帧落 `Error: Operation aborted` 终态行」「续跑腿另铸一只开始行」两类描述(问答桥模 B 那一句收窄为:只对没被本包结算的被扣调用不铸,Esc 那一形照铸「Interrupted」)。**改读**:126a HM-R1 – HM-R6 / HM-T1 – HM-T4 与 126b 同名行。
10910
+ - **(CC-725 ③)§123a FH-4 行「其余一切(没观测 / 引擎没报 / 不认识的词 / 畸形读数)⇒ `unjudged`」没有点名老一代 worker 铸过的「捕获且关不掉」那个词**:它与任何不认识的词同落 `unjudged` ⇒ 判拒(0.93.0 RL-64 起);拒句自 0.98.0 起是「报了一个不认识的模式」那一句(HL-12),0.96.0 / 0.97.0 给的是「没报」那一句(不成立)。
10911
+ - **(CC-725 ④)§123a DC-3 行「CC-604;KL-736 收口」与同段包侧缺口 OL ①「KL-736 …… 归 CC-604(0.96.0,与 CC-288 合并收口)」**:两句同版而方向相反 —— 以 DC-3 为准:CC-604 已随 0.96.0 收口、KL-736 已删行;OL ① 那半句自 0.96.0 发布之日起不成立。
10912
+ - **(CC-725 ⑤)§123a HW-5 行「`settled` ⇒ `false`」与 §122 FX-21 行(§124z 已订正其终端格)不配套**:前者让「本进程已结」的卡帧不收口,后者要求端把同一形记进已收口集合 —— 两条读法。自 0.98.0 起只有一条:HW-5 判官收进确定结局(HL-11),端删「确认已结就收口」的壳臂。
10913
+ - **(CC-725 ⑥)§122a XH-1 / 122b XH 行的「持有者结算了」含「已发中断拒绝」**(0.95.0 定义):自 0.97.0 起「中断拒绝」只在被引擎收下那一拍算结算(发送失败 / 202 停驻中 ⇒ 不算,宿主照常开恢复卡;门 SS-F4 – SS-F7);自 0.98.0 起三臂持有(活卡 / 停驻行 / 宿主)同一律(HL-1)。
10914
+ - **(CC-725 ⑦)§123d DC-2 终端行「删本地实现与只为它存在的 `isSecretLabelName` / `isOpaqueSecretValue` / `carriesCredentialStructure`」不成立**:这三只在终端还被 `washQueryValuesByShape`(壳自己的两张洗网)读;只删 `queryCarriesCredential` 的本地实现,三只随两张网换读本包(CC-288 T2)再删。
10915
+ - **(CC-725 ⑧)§123d HJ-1 / HJ-3 终端行「把抛出物直接交 `isAlreadyResolvedFailure` 即消」与「`classifyLateDecideOutcome` 可改读 `decisionRefusalAskReading`」对迟到决断那一处不能照做**:那一处在判官之前要先问三只「仍待决」读口,且只认机读证据(判官的失败文字续读提示不算「已决」)—— 端侧那道保护不能按 §123d 简化掉;自 0.98.0 起整只换读 HL-10 `lateDecideOutcomeOf`(判序成文),不要自己组合。
10916
+ **包侧缺口:** **HL**:① 持有表射程到宿主的三条腿为止:流内耐久腿的「同一问」由宿主经 `claimApprovalCard` 登记才看得见;跨引擎代(重启 / 换代后同一问再来)仍是进程内一张表,代际判据并 CC-362 ②(终端先核重放帧带不带账本位置);接替位不带「上一张何时关」(`closedAtMs`:本包没有可信来源)。② 放行备注带不到模型(`answerCarriage` 恒 `none`),到货判据 = 决断口出放行反馈位(CC-585);`answerPayloadFor` 不按记不住位剥会话放行(服务端对记不住的卡照收 `allow_session`、只放行这一次并回 `rememberApplied: false`,本包据它告知,剥了反而丢掉这一句)。③ `rememberOfferable` 的持久规则档遇记不住位答 `unknown`:上游未给这一档的语义(候服务端定形)。④ 迟到结局与终端现形登记一类分歧(404 带已结束成因,126b HL-10)。⑤ `joinApprovalHolder` 过渡一版(RL-136,复核期 0.99.0)。⑥ 根入口「门已决」三只拼装件(RL-103)已随 RC-1 硬退(桌面端读点换读见 RC-1:`main/session-host.ts:37` / `:1593` / `:4875`)。
10917
+ - **ST 勘误**:§117 AE-5 行与 §117 G-HT8(附件席位能力位三口 + 型 `AttachmentSeatReading`〔今天恒 `not_reported`〕)以及 §122 / §123 里提到这三口的叙述,自 0.98.0 起**不再成立**:三口一型退役(§2z),编码口 `encodeHumanTurn` 的席位分流本来就只读入参 `caps`,行为零变。§100a / §113 里「`LocalSessionEvent` 的 `hasPreClearSession` · `data` · `messages` · `permissionMode` 位」若有提及,同样自 0.98.0 起不再成立。座位事件名 `stream_event`(`SEAT_EVENT_TYPES`)从不是流式分片的载体 —— 分片是 `message` 事件上 `message` 位的消息体(ST-4)。
10918
+ - **§124c G-WR5「写出的 `roles.default` 是数据副本」**:0.96.0 – 0.97.x 上只在 10 形回体(顶层 `default` 与 `roles.default` 同在)那一支成立,只带 `roles` 的回体写出的是入参对象本身(0.97.0 包面验收读数);0.98.0(PK-4)起两支都成立,`models` 条目同样是副本。
10919
+ - **§126 WD-4 / G-WD4 的「静默三词」**:sdk 22.0.0 声明第十二个出身词后静默表为四词(+`plan_review`,PK-1);G-WD4 读作「`content_question` / `plan_review` / `ask_rule` / `policy` ⇒ `undefined`」(静默表键型取 core,装哪版 sdk 都一样;`ASK_ORIGIN_WORDS` 是消费端 sdk 的数组,sdk 21.1 里没有 `plan_review` —— 已低于 peer 地板 `>=23.0.2`)。
10920
+ **包侧缺口:** ① `assertionHeader` 的「这台服务端发不发」没有能力位:本版只做披露(射程写进句子);到货判据 = 服务端在能力面出一个位,当版按它分支(位真 ⇒ 不出那一句)。② `task_started` 帧的投影(CC `system/task_started` 对位物;`agentType` / `rootSessionId` / `parentSessionId` / `startedAt` 只骑这一帧)未接 —— 新投影臂要包侧门三件与三端读点,本版只把分类说成实话。③ 本地 `.mcp.json` 腿的跳过没有成因通道(`mcpConfigToSpec` 答 `null`,与 sse / ws 同一条),端上预扫要数「两位同设」得读 `readMcpHttpIdentityHeaders`。④ sdk 22 其余加性面(PK-9)本版不消费。
10921
+ - **CS**:本版无需订正的已发段。
10922
+ **包侧缺口:**(CS)① 连接器自报的三态(`unauthorized` / `authorized` / `expired`)未接:候引擎的结构化未授权态(core #1495);到货判据 = 行上(或探测面)出现结构化的未授权读数,当版给 `self_reported` 臂补三值与 `tools` / `authorizeUrl`。② 本口只读部署缺省场景那一张名单;「某一条 run 挂没挂这台」不在本版射程(会话面板 `lastLegMcp` 与这张名单回答两个问题,并读要先定「两边意见相反听谁的」)。③ 读者两态的准确度就是引擎活性观察的准确度:引擎 7.49.5 的失败分类按 JSON-RPC 错误码认「连接关闭 / 超时」,服务器自己答回 `-32000` / `-32001` 码的错误会被记成 `unreachable`(本口照引擎读数,不另判;上游修复到货即自动随之)。④ 手拼的 `mountFace`(带 `declaredBy: 'deployment'`)里没有名字的对象行按「不是这一台」跳过(与 `/mcp` 详情卡同一只查找的既定读法);`readMcpCapabilities` 的结局不会出现这种行(行投影丢无名行、丢过行整只读不出)。
10923
+ - **TK 成文改口**(已发段冻结不回改;本版起不再成立的句子):§117 PX-2 deny / ask 的 `kept` 理由射程、PX-4 `unchecked[]` 全行及「deny / ask 在同一形上照投,记进 `unchecked`」;§118 SV-24 / G-SV26 / G-SV27 `unreachable[]` 读法、「`~/` 开头的路径规则与规则编译器拒收的 deny / ask 照 0.91.0 处置」;§123 RF-1 / G-RF1 deny / ask 的 `compile_refused` 行(只剩 allow 桶)、PT-3 / G-PT3 `unreachable[].mintedPrefix`;§126 TH-4 / 126d 桌面端行「`errorCategory: 'connection_lost'` 对位 `category`」与网页端 `classifyWireTurnError` 行改为 TK-9 键;座位契约 `LocalSessionEvent.errorCategory` 的注改为「非 turn 失败的宿主类别;turn 失败用 `_sema_turnFailure`」。§121 SP2 扣送开关、§125 AD-1 两半 / AD-4 全行 / G-AD6 在支持底线越过服务端 7.129.0 那一版起改口(本版照旧)。
10924
+ **包侧缺口:** ① 决断起止台账一只件(CC-627 ② / CC-625 ③)本版未做:计划审阅那本账在包里、工具审批的起止只发事件由宿主自记,要合成一只件得给工具审批腿一只包内在飞读口(新公面),设计先行;② 计划审阅重开组合的拒绝今天只回 `{ reopened: false }`,没有成因位;③ 备注落档两读法(live 回执显式位 vs 耐久回执回显推断)要服务端在耐久回执上同铸显式位才能收一只读法;④ 停驻身份缺席时仍走推断臂(服务端成文的缺席形),本包无法消除。
10925
+ - **§122 PR 行(「面板上每一只子代在包内只有一条记录;它在 wire 上的每一把身份……都经同一张别名索引落到这条记录上」)与 PR-3 行**:0.95.0 – 0.97.x 的实现在「UUID 先上屏」那一形上是每把被观测的键一条(尾段一条、UUID 一条,靠所有权字段互指),委派卡经两类别名参与身份 —— 成文与实现不一致;0.98.0 起一致(126a PL-1),委派卡不再是身份之一。**§122c G-PR3** 后半句「同代内行帧的 tokens 不覆盖 tick 的累计值」作废(改读:同一已知代际内取最大;有 `cycleSeq` 的记录上 tick 不进用量);**G-PR8** 改读「turn 末 `sweep` 只结本代见过 tick 的、非常驻、非缺席、在跑的行」(逐值同,换说法);G-PR4(tick 先上屏、行帧后到 ⇒ 全部差分落在 UUID 上)不变。
10926
+ - **GR**:§117 读失败句段的「读不懂位置三句」「十一种失败分类」两处计数自 0.98.0 起各 +1(`grammar_stamp` / `earlier-grammar`);已发段冻结不回改。
10927
+ **包侧缺口:**(GR)① 7.129.1 真回形门格(G-GR13 / G-GR14)读本机的服务端 7.129.x 夹具,夹具缺席 ⇒ 普通档跳段(必跑档红)。② 理由词 `earlier_grammar` 今天在包里只住一处常量(生成表对的是 core 7.49.5、六词);换钉 core ≥ 7.51.2 那一版改从生成物派生并加编译期钉。③ 无戳行上的「先拒」只知道旧文法与当前文法之差(括号形 allow);引擎将来再修订文法时,无戳行上的新差异由上游「写者必须声明文法」(core #1810)到货后引擎直接拒(本包零改码);有戳行一律由引擎按戳判。④ 别的 `rules.inert_entry` 理由词与 `rules.invalid_shape` 的具名处置随换钉 core 7.51.x 那一版。
10928
+ - **TX 成文改口**(已发段冻结不回改):§8 checklist C 段的 verb 清单自本版起是 12 个(`probeHealth` 退出,已在 §8 原处改);本段之前各段提到 `ClientSliceLike.probeHealth` / `PROBE_HEALTH_DIVERGENCE`(0.98.0 退出公面)的句子自 0.98.0 起不再成立 —— 判活读本包转口的 sdk `probeHealth(baseUrl)`。§121y HW-2 与 §121 尾 HW「端按 `code` 自行本地化」:本版仍然成立(那几只出句口本版尚未迁入目录、还不收 `lang`);它们迁入目录的那一版在当版段里改口。
10929
+ **包侧缺口:**(TX)① 本包既有铸点句迁入目录分批进行,本版只建席位(第一批):系统提示行与停驻卡注(第二批,带出句口末位 `lang` 与分出口路由门)、审批卡注主体、失败句(前提是失败原因之外的结构化补句位)、自愈句、设置面各在后续版本;迁移之前,中文界面里这些句子仍是英文。② 界面语言的设置键名 / 合法值 / 缺席语义归设置契约,声明到货后本包合法值集合改取其生成物(今天仍是本包 `UI_LANGUAGES`)。③ 子代理模型词的落点预览今天只有宿主断言的本机档位表一路;引擎自报的档位落点到货(服务端在模型目录上出键、sdk 型面声明)的那一版,它优先于 `local.tiers`,`landing.source` 加 `engine`,远端也能预检。④ 裸英文句棘轮看不到「词本身来自运行期映射」的句子(静态求值只见占位),这一形由出句口登记表兜,随第二批落地。
10930
+ - **RT(CC-775)**:本版无需订正的已发段。
10931
+ **包侧缺口:**(RT)① 模型名不在 brain status 载荷里(引擎 `BrainStatus` 没有 model 位):句首模型名只能由壳交(`ctx.modelName`),壳没交就不带、包不编;候引擎把模型名放进 status(已请托,只建议)。② 引擎的 `gave_up` 帧只带 `detail`(不带 `attempt` / `providerCondition` / `errorStatus`),所以终态句今天通常只有 `Stopped · <引擎 detail>`;终态帧带判词 / 状态码之后句子自动出,不改包(到货判据:终态帧带可选位 ⇒ 门 G-RT4 的 `overloaded` 终态格改读真帧)。③ 引擎 detail 并进 `line` 作第二句,壳不能单独取舍(与首句有重复:`transient error, retrying` 跟在 `… — retrying` 后);壳若要自己摆 detail,请在认领时表态,另给机读位。④ `phase` 由 `kind` 与 `terminal` 现算 —— `rate_limited` · `circuit_open` · 未知相都读作 `retrying`,引擎的相名不进句口;要区分的壳读投影之前的 brain status。⑤ 「已等 ≥ 天花板一半附换模型出路」的阈值是包内常量,不可配;终态后的「再试一次」出路没有机读词(今天 `recourse` 三词闭集)。
10932
+ - **RD 撤销 §125 的契约**(已发段冻结不回改):**作废** —— §125a AD-1 行(代理清单里服务器未声明的 `mcp__` 条目省掉 + 一行披露;读数不在手照投 + 每条一行「could not be checked」)、AD-4 行(run 级 `excludeTools` 判官的 `filtered` / `directory_absent` 读法与披露句)、§125c **G-AD6**;§125a AD-2 行的「判官判得出的 allow 侧问题条目省掉 + 披露」与 §124 / §121 里「deny 侧有拼法问题 ∧ 宿主开扣 ⇒ 整只不送」的各句(扣送开关)、deny 侧告警句一并作废。**改读** §126 RD-2 – RD-4:清单原样上体,有没有工具应答只由引擎答;deny 名单孪生 / 退役拼法的拦截归服务端 7.131.0。§125a AD-3(`engineToolDirectoryOf` 三态读口)不变。
10933
+ - **RD-5 成文改口**:§112 / §118 / §120 / §126 PN-1 里「老码 `rules.legacy_tool_name` 照读 / 投成具名结局 `legacy_tool_name`」的句子、`legacyToolNameFailureNoteOf` 「认两码」的句子,自 0.98.0 起不再成立:只认 `config.legacy_tool_name`,老码落通用结局(RL-164)。
10934
+ **包侧缺口:**(RD)① deny 名单里的大小写孪生 / 退役拼法:引擎 7.129.0 起只记运维行、不拒(那一条静默不生效),本包本版起既不扣也不告 —— 拦截归服务端 7.131.0(在服务端测试面验收),本包台账另记兜底行。② 底线到期的另一件本版未做:KL-795 的升级判据已被底线 7.129.1 触发(会话规则翻译口改问引擎条目读者、逐条扣留 inert 条目),实施归 CC-792(0.99.0);§126 PN 包侧缺口 ② 的 `boundGrantAbsence` 读点本版随底线抬已接(§126 RE-1 / RE-2)。③ 读口 `engineToolDirectoryOf` 今天在包内没有消费判官(RD-4 退了两只),它是本跑声明集这一件事实的唯一读法、后续能力只在它上面加态;宿主不必为本版调用它。④ 已知限制档同批:KL-793 删行(按其升级判据:底线越过 7.129.0,那四个退役词不再到达)、KL-775 随 RL-142 退役(扣送开关已删,整只不送 / 内置顶上这一形不再存在)、KL-779 改为现状(CC 旧名原样上体、什么都不给)、KL-792 ① 退出射程 / ② 已知并接受、KL-796 退出射程、KL-654 / KL-265 / KL-269 改口。⑤ `projectAgentsForWire` 的 `tools` / `disallowedTools` 不是数组(如未拆的 `"Read, Grep"` 串)时整键静默丢 ⇒ 代理继承全部工具(放宽方向;0.97.1 同形,不是本版新增):三端都先把串拆成数组再交、型面要求 `string[]`,只有 JS 宿主手拼才触到;不在本版修,0.99.0 改 fail-closed(非数组 ⇒ 整只代理拒装并点名),升级判据 = 任一端报手拼串(已知限制册 KL-799)。
10935
+
10936
+
10937
+
10938
+
9732
10939
  ## §125 🆕 0.97.1(2026-10-14)— 代理工具清单只投可能有工具应答的名 · 本跑声明的 MCP 服务器读口与 excludeTools 判官
9733
10940
 
9734
10941
  > 本段一组行前缀 AD(CC-729 / CC-730)。服务端 7.126.0(引擎 7.49.x)起,代理定义的 `tools` / `disallowedTools` 或 run 级 `excludeTools` 点名了一个这一跑里没有任何工具应答的名,整发请求在开跑前被拒(代理清单 `config.agent.unknown_tool`,run 级清单 `config.tool_face_control`,`detail.reason = "unknown_name"`);引擎 7.48 及以前对代理清单只告不拒。代理定义随每一发上 wire ⇒ 一份点名了未配置 MCP 服务器的代理文件让**每一发**都被拒,不带代理参数的请求也一样。