@sema-agent/client-core 0.107.0 → 0.109.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 (165) hide show
  1. package/CHANGELOG.md +239 -0
  2. package/README.md +54 -36
  3. package/dist/adapt/arms.js +23 -8
  4. package/dist/adapt/textStream.d.ts +2 -0
  5. package/dist/adapt/textStream.js +37 -16
  6. package/dist/adapter/activeRunSelfHeal.d.ts +2 -0
  7. package/dist/adapter/activeRunSelfHeal.js +21 -4
  8. package/dist/adapter/downstream/eventToSdkMessage.js +2 -1
  9. package/dist/agentSession/engineAgentRegistryRead.js +2 -0
  10. package/dist/bashExitReading.d.ts +12 -0
  11. package/dist/bashExitReading.js +44 -0
  12. package/dist/checkpointRowVerdict.d.ts +6 -1
  13. package/dist/checkpointRowVerdict.js +30 -2
  14. package/dist/cloudConfigWireCaps.d.ts +10 -0
  15. package/dist/cloudConfigWireCaps.js +33 -0
  16. package/dist/compensations.js +1 -1
  17. package/dist/coreValuePorts.d.ts +17 -1
  18. package/dist/coreValuePorts.js +5 -0
  19. package/dist/decideReceipt.js +2 -1
  20. package/dist/engineAgentAbsence.d.ts +2 -0
  21. package/dist/engineAgentAbsence.js +28 -0
  22. package/dist/engineErrorCodes.d.ts +9 -0
  23. package/dist/engineErrorCodes.js +9 -0
  24. package/dist/engineHealthFacts.d.ts +17 -0
  25. package/dist/engineHealthFacts.js +42 -3
  26. package/dist/engineNoticeCodes.d.ts +147 -1
  27. package/dist/engineNoticeCodes.js +694 -57
  28. package/dist/engineTargetSeat.js +1 -0
  29. package/dist/errorSupplementRoles.js +6 -1
  30. package/dist/eventLeg.js +1 -1
  31. package/dist/executionLaneWords.js +2 -1
  32. package/dist/fleetTaskDesc.js +3 -3
  33. package/dist/gateOutcome.d.ts +10 -1
  34. package/dist/gateOutcome.js +48 -1
  35. package/dist/generated/engineFactTables.d.ts +2 -0
  36. package/dist/generated/engineFactTables.js +11 -0
  37. package/dist/generated/engineNoticeTables.js +6 -0
  38. package/dist/generated/settingsSchemaFns.d.ts +4 -2
  39. package/dist/generated/settingsSchemaFns.js +9 -3
  40. package/dist/generated/settingsSchemaMcpRequestEntry.d.ts +1 -1
  41. package/dist/generated/settingsSchemaMcpRequestEntry.js +9 -18
  42. package/dist/generated/settingsSchemaReservedMemberName.d.ts +1 -0
  43. package/dist/generated/settingsSchemaReservedMemberName.js +7 -0
  44. package/dist/generated/settingsSchemaTables.d.ts +2 -0
  45. package/dist/generated/settingsSchemaTables.js +10 -0
  46. package/dist/generated/settingsSchemaWireName.d.ts +1 -0
  47. package/dist/generated/settingsSchemaWireName.js +8 -0
  48. package/dist/headlessReconnectWire.js +12 -7
  49. package/dist/hitl/approvalAskers.d.ts +13 -0
  50. package/dist/hitl/approvalAskers.js +79 -0
  51. package/dist/hitl/approvalCardReasons.js +22 -4
  52. package/dist/hitl/approvalRequestFrameReading.d.ts +14 -0
  53. package/dist/hitl/approvalRequestFrameReading.js +79 -0
  54. package/dist/hitl/approvalResolution.d.ts +3 -0
  55. package/dist/hitl/approvalResolution.js +22 -4
  56. package/dist/hitl/approvalsFeed.js +4 -13
  57. package/dist/hitl/askParkRowRouting.js +10 -3
  58. package/dist/hitl/automaticAnswerVerdict.d.ts +5 -2
  59. package/dist/hitl/automaticAnswerVerdict.js +16 -2
  60. package/dist/hitl/decisionConflict.d.ts +2 -1
  61. package/dist/hitl/decisionConflict.js +4 -1
  62. package/dist/hitl/decisionRefusal.d.ts +1 -0
  63. package/dist/hitl/decisionRefusal.js +5 -2
  64. package/dist/hitl/decisionSend.js +2 -6
  65. package/dist/hitl/frameRouter.d.ts +3 -2
  66. package/dist/hitl/frameRouter.js +37 -7
  67. package/dist/hitl/gateLedger.d.ts +2 -0
  68. package/dist/hitl/gateLedger.js +3 -1
  69. package/dist/hitl/hitlBridge.d.ts +4 -0
  70. package/dist/hitl/hitlBridge.js +11 -8
  71. package/dist/hitl/livePendingAsk.js +17 -16
  72. package/dist/hitl/localAllowRule.js +2 -1
  73. package/dist/hitl/noAllowCause.d.ts +1 -1
  74. package/dist/hitl/noAllowCause.js +4 -2
  75. package/dist/hitl/parkExpiryJudgements.js +26 -1
  76. package/dist/hitl/parkOwnership.d.ts +2 -0
  77. package/dist/hitl/parkOwnership.js +48 -8
  78. package/dist/hitl/parkResolver.js +39 -30
  79. package/dist/hitl/parkRowBirthWait.d.ts +2 -0
  80. package/dist/hitl/parkRowBirthWait.js +8 -1
  81. package/dist/hitl/parkedUnresumable.d.ts +13 -0
  82. package/dist/hitl/parkedUnresumable.js +80 -0
  83. package/dist/hitl/permissionRuleScope.d.ts +4 -0
  84. package/dist/hitl/permissionRuleScope.js +31 -0
  85. package/dist/hitl/persistedRulesWire.d.ts +7 -1
  86. package/dist/hitl/persistedRulesWire.js +25 -8
  87. package/dist/hitl/planReviewWire.js +12 -16
  88. package/dist/hitl/policyDenyCause.d.ts +3 -0
  89. package/dist/hitl/policyDenyCause.js +16 -0
  90. package/dist/hitl/sessionAllowRoute.js +5 -4
  91. package/dist/hitl/sessionPolicyDeliverable.js +1 -1
  92. package/dist/hitl/standingRows.d.ts +1 -5
  93. package/dist/hitl/standingRows.js +15 -14
  94. package/dist/hitl/toolApprovalWire.d.ts +16 -4
  95. package/dist/hitl/toolApprovalWire.js +57 -17
  96. package/dist/hooksReaderGenerations.d.ts +1 -0
  97. package/dist/hooksReaderGenerations.js +12 -0
  98. package/dist/hooksWireCaps.js +12 -7
  99. package/dist/hostSettingsSource.js +2 -0
  100. package/dist/i18n/messages.en.d.ts +206 -1
  101. package/dist/i18n/messages.en.js +209 -4
  102. package/dist/i18n/messages.zh.js +214 -4
  103. package/dist/index.d.ts +35 -8
  104. package/dist/index.js +20 -5
  105. package/dist/liveModelCatalog.d.ts +4 -2
  106. package/dist/liveModelCatalog.js +164 -26
  107. package/dist/localEngineJudge.d.ts +75 -0
  108. package/dist/localEngineJudge.js +242 -0
  109. package/dist/localEngineOccupancy.d.ts +88 -0
  110. package/dist/localEngineOccupancy.js +269 -0
  111. package/dist/localEngineSeatReading.d.ts +29 -0
  112. package/dist/localEngineSeatReading.js +294 -0
  113. package/dist/localEngineSpawn.d.ts +113 -0
  114. package/dist/localEngineSpawn.js +486 -0
  115. package/dist/localEngineStep.d.ts +286 -0
  116. package/dist/localEngineStep.js +1086 -0
  117. package/dist/localEngineStopLadder.d.ts +29 -0
  118. package/dist/localEngineStopLadder.js +139 -0
  119. package/dist/localEngineSwapCard.d.ts +43 -0
  120. package/dist/localEngineSwapCard.js +205 -0
  121. package/dist/localEngineTiming.d.ts +8 -0
  122. package/dist/localEngineTiming.js +8 -0
  123. package/dist/mcpReconnect.js +12 -5
  124. package/dist/mcpWireCaps.js +2 -2
  125. package/dist/memoryEntriesWire.d.ts +1 -1
  126. package/dist/memoryEntriesWire.js +5 -0
  127. package/dist/model/catalogDefault.d.ts +25 -0
  128. package/dist/model/catalogDefault.js +44 -0
  129. package/dist/noticePresentation.d.ts +2 -0
  130. package/dist/noticePresentation.js +79 -1
  131. package/dist/ownKey.d.ts +10 -0
  132. package/dist/ownKey.js +15 -1
  133. package/dist/permissionWireCaps.d.ts +1 -0
  134. package/dist/permissionWireCaps.js +11 -0
  135. package/dist/pluginHooksWire.d.ts +5 -3
  136. package/dist/pluginHooksWire.js +116 -7
  137. package/dist/queuedDelivery.d.ts +1 -0
  138. package/dist/queuedDelivery.js +12 -0
  139. package/dist/resultFrameKeys.js +4 -2
  140. package/dist/resumeRefusalCopy.js +15 -8
  141. package/dist/ruleReadings.js +1 -1
  142. package/dist/runPermissionModeSwitch.d.ts +2 -1
  143. package/dist/runPermissionModeSwitch.js +16 -6
  144. package/dist/seam.d.ts +13 -2
  145. package/dist/seam.js +8 -1
  146. package/dist/seatContract.d.ts +103 -12
  147. package/dist/seatContract.js +344 -14
  148. package/dist/sessionBackground.js +2 -0
  149. package/dist/sessionEngine.d.ts +2 -1
  150. package/dist/sessionEngine.js +5 -0
  151. package/dist/settingsHooksSalvage.d.ts +5 -0
  152. package/dist/settingsHooksSalvage.js +54 -0
  153. package/dist/subagentContentStore.d.ts +12 -0
  154. package/dist/subagentContentStore.js +73 -12
  155. package/dist/supportFloor.js +2 -0
  156. package/dist/taskNotificationAdmission.d.ts +19 -0
  157. package/dist/taskNotificationAdmission.js +84 -0
  158. package/dist/toolResult.js +20 -6
  159. package/dist/webSearchWireCaps.js +9 -4
  160. package/dist/wireFailureShape.d.ts +20 -0
  161. package/dist/wireFailureShape.js +37 -6
  162. package/dist/wireRefusalCopy.d.ts +23 -2
  163. package/dist/wireRefusalCopy.js +93 -4
  164. package/docs/INTEGRATION-CLIENTS.md +1959 -15
  165. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -49,6 +49,245 @@
49
49
  > 挡住 ⇒ 本批把它机械化——④a0 对 `pending` 行**要求段头已是日期形**(`(未发布)` 直接红),阶段一
50
50
  > commit 漏转在发布前就红,不再靠人记。
51
51
 
52
+ ## 0.109.0(2026-11-07)
53
+
54
+ > 主题:停驻行三态归属判官 `pendingRowOwnershipOf`(CC-1258;接入文档 **§138 PO-1 – PO-3**) ‖ 宿主设置采纳闸:已读载体报 `absent` 与有意清空同读(CC-1256;**§138 HS2**) ‖ 呈卡帧拒因读口 `approvalRequestFrameReadingOf`(CC-1261;**§138 FR-1 – FR-3**) ‖ 显示安全三票(CC-1262 / CC-1263 / CC-1264;**§138 DS-1 – DS-3**) ‖ 座位会话行停驻位 `parkedUnresumable`(CC-1233;**§138 PU-1 – PU-7**) ‖ 换钉到引擎 7.66.0(含 7.65.0;CC-1199 / CC-1238;**§138 CP-1 – CP-9**) ‖ 本机引擎判官 / 占用读数 / 问询卡 / 退出去向(CC-1173 首波;**§138 ES-1 – ES-9**) ‖ 起本机引擎注入面 / 设置层播种 / 本机主体 / 起服拒因(CC-1173 首波;**§138 EE-1 – EE-7**) ‖ 自动作答不以卡上入参为放行依据(CC-1259;**§138 AN-1 – AN-8**;🔴 型面 BREAKING) ‖ 服务端 7.146.0 / 7.147.0 预提货:`/health` 在飞件对象形与本机引擎判官同读 · 提交面三只拒(CC-1218 / CC-1254;**§138 SP-1 – SP-6**) ‖ 座位 lane 子代别名跨进程 `subagent_alias`(CC-1280;**§138 SE-1 – SE-6**) ‖ 耐久审批门出句口 + 受众 user 十二码事实读口(CC-1284;**§138 NC-1 – NC-13**) ‖ 本机引擎收尾梯 / 状态机 / 座位生命周期读数(CC-1173 首波;**§138 ESB-1 – ESB-8**;🔴 型面 BREAKING) ‖ Bash 被掐家族带部分输出的投影(CC-1289;**§138 BT-1 – BT-6**) ‖ 发版前订正:展示助手先洗凭据再截(CC-1291;**§138 MF-6**;行为变)· 决断补句组合口与「答案不合题」句口上根入口(CC-1292;**§138 MF-7**;加性)· 首轮全量真红的包侧处置(**§138 MF-1 – MF-5 / MF-8**) ‖ 外来体读器六处「缺席即接受」分支收紧:`in` 答假不再被读成缺席(CC-1057;**§138 AB-1 – AB-6**;行为变) ‖ 停驻审批卡回落形披露 + 不接受编辑后批准 · 停驻问答卡问题文本取用序(CC-1117 / CC-1119;**§138 PG-1 – PG-5**;行为变) ‖ 呈卡族消卡帧与旧族同一只判官(CC-1177;**§138 CF-1 – CF-3**;行为变) ‖ 只有段末帧的文字块进活流转录(CC-1172;**§138 LT-1 – LT-6**;行为变) ‖ 审批决断身份只读一次(CC-1132;**§138 ID-1 – ID-3**;行为变) ‖ 发版前订正 ②:放行 / 起服 / 换代 / 可用四类正向结论只从证明成立的读数得出(**§138 RV-1 – RV-10**;行为变) ‖ §137 两处接入方打回勘误(CC-1304;**§138 ERd**)。
55
+
56
+ ### Added
57
+ - **决断失败补句的组合口 `decideFailureNote(err, decision?)` 上根入口 + 「答案不合题」一句的句口 `decisionAnswerInvalidContent(lang?)`**(CC-1292;web-client [C743];**§138 MF-7**;型面加性:根入口运行期 +2):`decideFailureNote` 修前只在包内(接入文档 §135 G-SK4 把它写成宿主可用口、根入口却零导出,宿主只能按同序逐臂重组前十臂);现在根入口导出的就是包内四条决断出口用的那一只(同一引用),宿主调一次得到同一串补句。409 `resume_outcome_invalid` ∧ `field: "answer"` 那一句修前是 `hitl/decisionConflict.ts` 里的英文字面量(无 zh、无句口):现住消息目录 `approval.decision.answerInvalid`(en 逐字节同修前、zh 新增),`lang` 缺席 / 表外 ⇒ 英文;修前那串英文字面常量留在包内、不上根入口(公面英文散文常量棘轮:新句只许函数出口)。缺席语义照旧:读不出 / 别的码 / `field` 缺席或在别的格 ⇒ 补句里没有这一句,入参不是对象 ⇒ 空串,永不抛。
58
+ - **呈卡族开卡帧的判因读口 `approvalRequestFrameReadingOf(frame)` + 闭集 `APPROVAL_REQUEST_FRAME_UNREADABLE_WHYS`**(CC-1261;**§138 FR-1**;型面加性:根入口运行期 +2、型 +2 `ApprovalRequestFrameReading` / `ApprovalRequestFrameUnreadableWhy`):sdk 窄化谓词 `isApprovalRequestFrameV1` 只答布尔,判否后的通用卡不分因。读口布尔仍取该谓词(答 `true` ⇒ `{ v1: true }`,自有键恰 `v1`);答 `false` 才按谓词自己的判别位次序定因 —— `version_unknown`(`schemaVersion` 不是 1)· `kind_unknown`(版本是 1 而 `kind` 不是 `permission`)· `unreadable_fields`(判别位都认识而键有坏形;`type` 不是 `approval_request` 与非对象入参同归此因)—— 并带帧上 `schemaVersion` / `kind` 的原值(三个判别位各读一次的快照;标量转串、经不可信文本出口单行形洗过、封长 24;非标量 / 读不出 ⇒ 缺席,不编值)。读的过程中抛 ⇒ `unreadable_fields`,本口永不抛。因只用于选卡面说明的哪一句,不是裁决输入。
59
+ - **通用卡投影口 `approvalCardFactsOfGeneric(card, reading?)` 多一只可选第二参;卡入参多一只可选位 `cardPayloadUnreadableWhy`**(CC-1261;**§138 FR-2**;型面加性):第二参交该帧的判因读数,`{ v1: false, why }` 且 `why` 在闭集内 ⇒ 卡盖 `cardPayloadUnreadableWhy`;缺席 / `{ v1: true }` / 伪造读数(只认自有数据位,取值器不执行)⇒ 不盖,卡与上一版逐位同。包内活卡入口恒带因。
60
+ - **耐久审批门的三端共用出句口 `durableGateUnavailableSentence(facts, lang?)` + 受众 user 十二码的事实读口与目录句口**(CC-1284;**§138 NC**;型面加性:根入口运行期 +25〔12 读口 + 13 句口〕、型 +12〔读数视图〕;派发表 `ENGINE_NOTICE_FACT_READERS` +12 行,用户面码 24 → 36):修前 `config.durable_gate_unavailable` 包只给读口,网页端、终端壳各自铸一句(共两份措辞),终端壳那句在「一刀切放行」姿态下把放行说成拒;另十二个受众 user 的码终端壳整句自铸、包没有事实读口,网页端读不到 `detail` 只能渲引擎原句。修后三端读同一只读口、说同一句话:① **耐久审批门出句口按臂位读数分句**:`liveApprover === true` ⇒ 「权限请求改为在本会话中当场答复」;`false` ⇒ 只说两臂都成立的「没有接入实时审批人」+ 处置交给引擎配置;缺席 ⇒ 只说处置交给引擎配置。🔴 **三句里没有一句说审批请求被拒,也没有一句说被放行** —— 引擎铸点在 `liveApprover: false` 上有「一刀切放行姿态答普通审批」与「无人可问、按拒收场」两臂,`detail` 一键不带是哪一臂(只有 `liveApprover` / `liveQuestionFace` 两个布尔),读不出就不断言方向。问答席 `liveQuestionFace === false` ⇒ 另加一句「提问会被拒绝」(铸点两臂 —— 被继承的持久授权撤下、本来就没有活问答面 —— 结局都是拒,方向无歧义);`true` / 缺席 ⇒ 不加。来源闭集 `DURABLE_MANDATE_SOURCES` 逐词有专句与「另一条出路」,成因两词(`no_deployment_store` / `task_store_disabled`)各有专句与出路,表外词落保守句(不回显词)。② **十二码各一只读口 + 一只句口**:`readMemorySessionPolluted` / `readMemoryHarvestQuarantined` / `readMemoryDelegationStaticMarkWaived` / `readMemoryCaptureOptedOut` / `readMemoryCaptureOptoutUnpersisted` / `readPeerInboundDisposition` / `readPeerHeldSettled` / `readPeerIdleSubscription` / `readClassifierDenialLimit` / `readTaskLateApproval` / `readTaskHaltUnconsumed` / `readSteeringParkedInputBlocked`(入参 `{} | null | undefined`,永不抛,与派发口 `readEngineNoticeFacts` 同答)+ 各自的 `<码驼峰>Sentence(facts, lang?)`(en / zh;外来串〔工具名 / 原因 / 会话地址 / 子代类型 / 成因全文〕一律过不可信文本出口再进句)。规则:必填位 = 引擎铸点恒带的键,缺 / 空串 / 错型 / 访问器 ⇒ 整只缺席;可选位坏形只省这一键(不折 0 / 空串 / false);每格只读一次自有数据位(取值器不执行);`detail` 不携带的区分,句子不断言 —— `memory.session_polluted` 不下模式结论(只说「可能被扣下候审」)· `memory.harvest_quarantined` 三个数并列且声明后两数可能重叠 · `memory.capture_optout_unpersisted` 的 `ingress` 缺席 / 表外 ⇒ 不猜是任务被拒还是只拒了这次请求 · `classifier.denial_limit` 只说「没有人判过那次请求」、不断言没接审批人 · `steering.parked_input_blocked` 的拒因只活在引擎原句里,句子不编。🔴 `peer.idle_subscription` 的 `detail.live` 是在等本会话空闲的订阅数(非负整数,不是布尔):读口按整数读,按 `=== true` 读会永远读成缺席。
61
+ - **会话行停驻位 `parkedUnresumable`**(CC-1233;**§138 PU-1 – PU-4**;根入口运行期 +3:`parkedUnresumableRowsOf` / `readSeatParkedUnresumable` / `parkedUnresumableLine`,型 +1:`ParkedUnresumableRow`;🔴 公面常量值变:`LOCAL_SESSION_RECORD_KEYS` 末位 +1):会话行 `LocalSessionRecord` 多一只可选位 `parkedUnresumable?: readonly ParkedUnresumableRow[]` —— 这只会话停在一行**这台引擎续不了**的待决行上(本会话所属、引擎判决非 `ok`、本该走审批臂;一行一员)。与 `parked` 并读:`parked: true` = 另有一张可决的卡开着;`parked: false` 与本位互斥(出站门拒并点名本位);判决这一维上一行待决不同时是卡与本位的一员。缺席 = 不断言(没有这种行 / 老宿主 / 还没对账 / 失去停驻权威,不分辨),渲染端不因缺席渲「没有待决」。成员 = `rowVerdict`(判决非 `ok` 的读数原样)+ 可选 `rowKey` / `taskId` / `toolName` / `rowDeadline`(`armed` / `none`)。铸口 `parkedUnresumableRowsOf(listed, deps?)`:`approvals.list` 回体原样 → 成员清单(族 / 门种两步与耐久取件同一读法、归属与卡同一判官;回体读不出 ⇒ 抛,单行读不出只跳那一行;冻结、回体序);读口 `readSeatParkedUnresumable(record)`:同一闭形核,坏形 / 缺席 / 与 `parked: false` 并在 ⇒ `undefined`,永不抛;句口 `parkedUnresumableLine(row, lang?)`:判决句 · 出路句(`lacking` ⇒ 由更新版本的引擎续跑,其余按到期位三态),零新消息目录键。零新 wire 键 / 通告码 / 座位事件名 / 收面词。
62
+ - **被弃投递通告的事实读口 `readDeliveryDiscarded`**(CC-1199;**§138 CP-3**;公面 +1):`delegation.delivery_discarded`(受众 operator)→ `{ taskId, taskType, sessionId, path? }`;`path` 只认引擎 `DISCARDED_DELIVERY_PATHS` 里的词(`live` / `box` / `drain` / `notice`,构建期生成表 `CORE_DISCARDED_DELIVERY_PATHS`),表外词 / 坏形 / 原型链 / 取值器抛 ⇒ 读数不带 `path`、三名照交;三名任一读不出 ⇒ 整只缺席。派发表同一只(`readEngineNoticeFacts` 对这一码起有读数)。
63
+ - **`human_input` 的作者两键**(CC-1238;**§138 CP-4**;加性):投影层与 chrome 臂(`HumanInputChromeEvent`)多两只可选位 `author`(引擎铸的作者词,开集原词:`extension` / `observer` / `parent_model` / …)与 `extension`(扩展注册名)。各自是非空串才带;缺席 = 本人(或老引擎 / 老服务端没铸),绝不补 `operator`;坏形只丢那一键、帧照投。
64
+ - **附件结局行的拒者 `declinedBy`**(CC-1199;**§138 CP-5**;加性):`HumanInputAttachmentView` 多可选位 `declinedBy: { kind: 'extension', name }`(在提及站拒了这一条附件的扩展);只认这一臂,坏形只丢这一键、行照留;chrome 臂的 `name` 与 `label` 同一只呈前消毒。
65
+ - **本机引擎判官**(CC-1173 首波;**§138 ES-2 / ES-3**;同一配置根至多一台本机引擎,各本机端附着它,新版本胜、落后端只能自升):锚点结构读口 `localEngineAnchorOf(raw)`(配置根下发现记录按结构读、不 import 宿主库;坏形 / 缺 `port` 或 `pid` / 非正安全整数 pid / 端口越界 ⇒ `null`,与无记录同;身份起点只取记录里的**进程起点**位,不取落盘戳)· 判官 `judgeLocalEngine(input)`(闭集判词 `none` / `unanswered{no-answer | unverifiable}` / `stranger{pid | generation | data-root}` / `draining` / `attach` / `ahead{servesWhileWaiting}` / `behind` / `version-unknown`;版本比较只有 `compareReleaseVersions`,实例同一只有 `engineIdentityVerdict`,只凭 pid 的「同一」另须锚定进程活着且起点核实;判官不问「是不是本端起的」)· 判词 → 连线句柄车道 `localEngineLaneOf`(`attach` / `ahead` / `behind` / `version-unknown` ⇒ `'self-spawned'`)· 组指纹漂移 `localEnginePlanDriftOf`(`same` / `different` / `unknown`)· 判词句 `localEngineVerdictSentence(verdict, upgrade, lang?)`(落后两步句两变体〔终端:先 `sema update` 再重开会话;应用:下载新版本、安装后重启〕/ 版本读不出 / 在跑引擎低于本端支持底线;en / zh)。
66
+ - **本机引擎占用读数、空闲、需求与退出去向**(CC-1173 首波;**§138 ES-4 / ES-5 / ES-7**):他端登记计数 `countClientRegistry`(活而读不出 ⇒ `known: false`;记录上 `status` 在场而读不出 —— 表外词 / 大小写变体 / 空串 / 非串 / 取值器 / 读取抛 / 只在原型链上 —— 同样 `known: false`,只有没有这个键才按「不在轮次中」读)· 后台活读数 `fleetBackgroundLiveOf`(只认 fleet-wide 观察订阅:meta 自报 `scoped: false` ∧ `sessionScoped: false`、本连接 snapshot 已到、绑在当前目标实例上;计非终态 task 行〔durable 停驻 `waiting` 与 `awaiting approval` 两类除外〕+ running workflow〔含 `parked: true`〕;任一不满足 / 行坏形 / 状态词认不得 ⇒ `'unknown'`)· 本端六项 `localEngineSelfOf`(无人在看的停驻不算忙;第六项可报 `'covered'`)· 会话驻留 shell 读数 `localEngineSessionShellsOf(listings)`(读登记读口原样产出的读数:shell / monitor 类 ∧ 非 retain ∧ 读作 running;读不到 / 认不出出身 / 被取代 / 达清单上限 / 状态词认不得 ⇒ `'unknown'`)· 登记 `status` 投影 `localEngineRegistryStatusOf`(只卡 ⇒ `waiting`;读不出 ⇒ `busy`)· 空闲谓词 `localEngineIdle`(读不出 ≠ 空闲)· 需求 `localEngineDemandOf`(按车道:新会话缺省车道本机 / 本机绑定会话在跑·停驻·排队·被聚焦 / print 本机 / 用户显式起服 ⇒ `spawn`;只附着用途 ⇒ `attach-only`)· 退出去向 `localEngineExitFate`(恒 `stays{peers | lease | unknown}`,没有「停掉」臂)与句 `localEngineExitFateSentence`。
67
+ - **换本机引擎的问询卡**(CC-1173 首波;**§138 ES-6**):成因闭集 `LOCAL_ENGINE_SWAP_CAUSES`(六词,冻结)· 自动资格 `localEngineSwapAutoable(cause, serving, policy?)` · 卡事实 `engineSwapCardOf`(读不到的读数为 `null` 并点名;强制形上界恒在场;事实指纹含目标实例三锚、后台 id 集〔排序〕、各计数、读不到集与本端判词)· 卡句 `engineSwapCardText(card, lang?)`(六成因六题;停驻说明恒在;在飞与后台都 ≥ 1 时注「可能重叠」;en / zh)。根入口运行期 +18。
68
+ - **起本机引擎的注入面**(CC-1173 首波;**§138 EE-1 – EE-3**;谁起都一样):注入表 `LOCAL_ENGINE_SPAWN_ENV`(十八行,逐行键 · 值〔字面 / 恒删 / 路径槽 `configHome` · `dataRoot` · `configLocalDir` / 派生 `agentDataDir` · `drainPlusH` · `operatorSingleUser`〕· 能否被继承值覆盖;排空窗 60 s、数据根锁等待窗 = 排空窗 + 20 s、附着租约自退开、父进程看门狗两键恒删、只绑本机回环、本地店与本地配置源、工具在本机跑、配置目录不让继承值覆盖、不开放无认证写;审批四键与工作区根不注)· 宿主装配位白名单 `LOCAL_ENGINE_HOST_BITS`(五名)· 进程形 `LOCAL_ENGINE_SPAWN_SHAPE`(脱离会话 + 输出进日志文件)· 运维声明推导单函数 `localEngineOperatorSingleUserOf(inherited)`(多租户声明 / 具名名单 / 显式值任一在场 ⇒ 不注;表的派生行注的就是它的返回值)· 注入面 `localEngineSpawnEnv({ inherited, paths, hostBits })` ⇒ `{ env, applied, refusedHostBits, budgets }`(白名单外的宿主键不写、逐名回报;`applied` 只有键名与来源 `table` / `user` / `host` / `derived`)· 同一次拼装出的四只等待预算 `LocalEngineBudgets`(数据根锁等待 / 等健康 / 收尾梯上界 / 启动锁等待;缺省 80 / 260 / 120 / 420 s;用户排空窗按引擎地板正规化;用户显式 `STORE_LOCK_WAIT_MS` 赢,0 合法)。
69
+ - **设置层播种**(CC-1173 首波;**§138 EE-4**):`localEngineSeedEnv({ baseline, external, layers, topLevel, platform })` ⇒ `{ env, from, dropped, refuse? }` —— 覆盖序 入口快照 < 外部登记 < `userSettings` < `flagSettings` < `policySettings`(每次从头算:撤掉的键按外部 → 入口 → 不在回落)· 入口钉住键(`SEMA_CONFIG_DIR` / `HOME` / `USERPROFILE`,按大写比)不从设置层改 · Windows 上同名大小写变体合一(注入面按原名读写的键 —— 注入表键 / 宿主装配位 / 运维声明推导读的 `REQUIRE_PRINCIPAL` / `OPERATOR_PRINCIPALS` —— 一律按大写拼法落:设置里写成小写的名单照样被推导读到,不会与单用户声明并存)· 值一律 `String(v)` · user / flag 层读不出 ⇒ 该层不播并点名;托管策略层读不出 ⇒ 用宿主交的上次健康值,没有 ⇒ `refuse: 'policy-unreadable'` · 顶层键投影(`READ_FACE` 合法 env 值赢、非法摘掉回落 `engineReadFace`;`WORKFLOW_SIZE_GUIDELINE` 只在缺席时由 `workflowSizeGuideline` 补)。产物 `env` 就是注入面的 `inherited`,`from` 是来源判定的来源入参。设置层读数型 `LocalEngineSettingsLayers` 与本机主体解析共用。
70
+ - **本机主体一只解析**(CC-1173 首波;**§138 EE-5**):`localEnginePrincipalOf({ layers, processEnv })` ⇒ `{ kind: 'principal', principal, source: 'settings' | 'default', ignoredProcessOverride? }` 或 `{ kind: 'unknown', layer }` —— 只读设置层 env 块里的 `SEMA_LIVE_PRINCIPAL`(policy > flag > user;全空白 / 非串 = 该层未设),进程 env 不参与取值(其中三只主体键有不同值 ⇒ `ignoredProcessOverride: true`);途经某层读不出 ⇒ `unknown`,**不落** `'default'`。句口 `localEnginePrincipalSentence(p, lang?)`(读不出 ⇒ 本机会话暂停、修好该文件后重启;被忽略的覆盖 ⇒ 改读设置;句中不含任何主体值)。需求 `localEngineDemandOf` 的入参多一只必填 `principal`(原样交本口回值;不是 `kind: 'principal'` ⇒ `none`、四源与只附着都不产)。
71
+ - **起服拒因**(CC-1173 首波;**§138 EE-6**):`engineBootRefusalOf(lines, scrub)` ⇒ `{ code?, hint?, text } | undefined` —— 只认 `config.*` 码 + `hint` 与 `msg: "fatal"` 的 `err` 两种结构化日志行;每行先脱敏、再解析、解析出的完整字段再脱敏(先于去掉 `Error: ` 前缀:以空白开头的秘密也按整只认出)、最后截断(每句 800 字);脱敏函数抛 ⇒ 那一行跳过;不认的行不当拒因。句口 `engineBootRefusalSentence(r, lang?)`;首次共用披露句 `localEngineFirstShareSentence(lang?)`(旧私有引擎的本机会话不在列表、数据留在原处)。
72
+ - **`AutomaticAnswerFacts.allowRule?: PermissionRuleValue`**(CC-1259;**§138 AN-1**;加性):宿主这一次放行所依据的那条 allow 规则 —— 宿主匹配器对这次调用返回的规则值(CC 形),只在这一条规则单独就覆盖整次调用时交,不从理由文案 / 工具名 / 规则串重解析合成。规则车道只认整工具形(无 `ruleContent`);只认 `facts` 自有数据位,规则值同严读(取值器不执行)。本包不跑匹配器、不验这条规则配不配得上卡上的工具。
73
+ - **服务端 ≥ 7.146.0 的提交面三只拒有了读口与句(CC-1218;接入文档 §138 SP-5)**:`envCredentialRefusalFromError` / `envCredentialRefusalContent`(400 `request.env_credential_refused`:请求 `settings.env` 带凭据,点名变量名、不出值;续跑腿折叠形 `folded`)· `sessionIdRetiredFromError` / `sessionIdRetiredContent`(409 `conflict.session_id_retired`:删过的会话 id 只再给删前的属主执行)· `runConcurrencyCapFromError` / `runConcurrencyCapContent`(429 `limit.rate_exceeded` + `reason: "run_concurrency_cap"`,带等待秒数);识别表常量 `REQUEST_ENV_CREDENTIAL_REFUSED` / `CONFLICT_SESSION_ID_RETIRED`。只按码 + 机读位认领,不判状态、不读句子;不接线的端零变化。
74
+ - **`readEngineHealthFacts` 读服务端 ≥ 7.146.0 的三处加性位(CC-1218;§138 SP-3)**:`engineLease.firstAttach { windowMs, since, attachedAt }`(`attachedAt: null` 原样 = 还没有过非探针请求)· 新件 `inflight { total, http?, leader?, sessionResident?, backgroundAgents? }`(顶层总数是非负安全整数即收 `{ total }`,分项逐键独立补、坏一键只省那一键;只有总数的老服务端读作 `{ total }`、不带 `sessionResident`;与本机引擎判官同读这一件)· `auth.serviceTokenActsForDeployment`。新型 `EngineHealthFirstAttachFacts` / `EngineHealthInflightFacts`。
75
+ - **座位 lane 子代「卡 id → 子代任务 id」别名的跨进程载体:加性 chrome 臂 `subagent_alias`**(CC-1280;**§138 SE-1 – SE-6**;型面加宽〔`ChromeEvent` / `ChromeArmKind` / `ChromeEventKind` 各 +1 成员,穷举消费者编译迁移〕+ 座位词表十七 → 十八词 + 根入口运行期 +2〔`readSeatSubagentAlias` / `noteSeatSubagentAlias`,公面导出 2101 → 2103〕+ 型 +3〔`SubagentAliasChromeEvent` / `SeatSubagentAlias` / `SubagentAliasScope`〕;行为变:`adapt()` 产出流在别名登记旁多一种 chrome 事件):子代内容帧只带委派卡 id、不带子代任务 id,「卡 id → 任务 id」别名只登记在跑适配层的那个进程的子代内容账本里;座位 lane 上适配层在宿主主进程,渲染进程自己的账本没有它 ⇒ 内容记在卡 id 名下,按任务 id 查的子代详情「实时输出」读空。收口:**别名的唯一判据与唯一登记处仍是适配层那两处**(`async_launched` 回执 ⇒ 只写内容归账那一半;子代 `task_progress` tick 带委派卡 id ⇒ 两半都写),在登记旁**同拍、同入参**发一只 `subagent_alias { parentToolCallId, taskId, scope: 'content' | 'full' }`(车道证明恒 subagent),登记口每被调用一次(没被拒)就发一只,**不看**发出进程账本里「这一对是否新」—— `adapt()` 的 chrome 输出仍是帧序列的纯函数(同帧同进程两遍 ⇒ 两只臂逐字节同;tick 逐条各一只);去重只在渲染端登记口(同对第二次 ⇒ 不写账、答 `ignored`);退化对 / workflow 车道 tick / 无卡 id 的 tick / 非回执形不登记不发。座位宿主按包词表转发(零新逻辑),渲染端用 `noteSeatSubagentAlias(event.chrome)` 把同一半登记进自己的账本(读口 `readSeatSubagentAlias` 严读:自有数据位非空串 ∧ `scope` 闭集,坏形 ⇒ `undefined` 不登记)—— 渲染端不复刻回执 / tick 判据。老渲染端 / 不接的渲染端收到未知 `kind` 照包既有律忽略,行为同 0.108.0(实时输出读空,不属行为丢失,故臂表 `required: false`)。包侧缺口:引擎内容帧身份不带子代任务 id(上游请托候 sdk);仅由回执登记的后台子代在渲染进程重载后不再被登记(tick 腿的对由下一条 tick 重登记);无代际号的形『重载 + 迟到旧 tick』续发目标退回到达序(已知限制)。🔁 修复腿(一轮,两条 P2):① 渲染端读口严读自有数据位 `laneProof`(`lane` 恰 `subagent` ∧ 证明里非空父卡与载荷一致;缺失 / 取值器 / 原型链 / 错车道 / 父卡不一致 ⇒ 整条 `undefined`,登记口答 `ignored` 账本零写)—— 座位出站门只核证明的通用结构,`main` / `workflow` 证明与父卡不一致的证明修前能过门、被读口接受并改写内容归属与续发目标;② `full` 臂带 tick 帧自带的代际号 `seq`(可选位;缺席 = 帧没有代际概念,不是第 1 周期;读口在场即严读整数 ≥ 1),续发目标「现卡」按它定(两侧都带且不同 ⇒ 大的是现卡;同一把 id 上迟到的低代际陈述不顶掉已有的高代际陈述;任一侧缺 ⇒ 退回到达序)—— 修前渲染端重载后先收新 id 的臂、再收旧 id 的迟到 tick 臂,到达序把旧卡顶成最近登记,查新 id 答旧卡(宿主答新卡),续发投向旧委派调用;发臂仍不看账本(`seq` 是帧的函数)。
76
+ - **本机引擎生命周期状态机**(CC-1173 首波;**§138 ESB-2**):纯 reducer `localEngineStep(state, event, policy)` ⇒ `{ state, effects }` —— 宿主存态、每拍喂一个事件(观察 / 锁内重读 / 锁 / 丢锁 / 准备 / 心跳 / 成因 / 撤因 / 答卡 / 起好 / 起不来 / 消失,每个都带 `nowMs`)、按序照做效果;态 12 × 事件 32 的每一格都有行或显式「态不变」。初始态 `LOCAL_ENGINE_INITIAL_STATE` · 等待旋钮 `LOCAL_ENGINE_TIMING`(冻结)· 配置 `LocalEnginePolicy`(`lane` = `'interactive'` / `'print'`;`budgets: LocalEngineBudgets` 四数,状态机只读等锁与等健康两截止)· 一次性车道失败码 `LOCAL_ENGINE_FAIL_CODES`(`local_engine.<snake>`,冻结)· 答卡结局 `engineSwapAnswerOutcomeOf`(与状态机同一判法)。`submits{open}` 是写类闸(按请求形判:只读与停止类请求恒放行)。
77
+ - **本机引擎收尾梯步进**(CC-1173 首波;**§138 ESB-1**):`LOCAL_ENGINE_STOP_LADDER`(三只时长,冻结)上根入口 · `stopLadderStep(state, observation)` ⇒ `{ state, action: 'term' | 'term-2' | 'kill' | 'wait' | 'done' | 'gave-up', waitMs? }`(强制形第二发恰一次、只在处理证据之后;判不清进程活性 ⇒ 零信号)。问询卡的强制上界读同一份常量。
78
+ - **座位本机引擎生命周期读数**(CC-1173 首波;**§138 ESB-3 – ESB-6**;型面 BREAKING 窄:座位动词接口多两只):`EngineTargetLocal.lifecycle?: LocalEngineSeatReading`(六相位;`down` 原因闭集 `LOCAL_ENGINE_DOWN_REASONS` 七词,`principal-unknown` 只由投影层出;`waiting` 原因闭集 `LOCAL_ENGINE_WAITING_REASONS`;`behind` 带自升入口有无)· 铸口 `localEngineSeatReadingOf(state, host)` · 本机半边 `engineTargetLocalOf({ lifecycle, mcp? }, lang?)`(`lastBootError` 由 `lifecycle` 单向派生;相位不可用撤 `mcp`)· `engineTarget` 组两只新动词 `answerEngineSwap(choice, fingerprint)` ⇒ `'started' | 'stale-card' | 'nothing-pending'` 与 `beginSelfUpgrade()` ⇒ `'started' | 'unavailable'`(能力名闭集不变;回执闭集 `ENGINE_SWAP_ANSWER_OUTCOMES` / `SELF_UPGRADE_OUTCOMES`)· 重起结局 `engineRestartOutcomeOf(operation)`(座位既有闭集;`skipped` 按需求判,`reason` 是本包一句)· 出句口 `localEngineSeatSentence` / `localEngineNoticeText` / `localEngineFailText`(带 `lang`;目录 `localEngine` 域 +42 键两语)。
79
+
80
+ ### Changed
81
+ - 接入文档 §137 两处接入方打回勘误(§138 ERd,CC-1304):`rowTaskId` 缺席句只说判决键不铸、取消目标归宿主(`?? taskId` 合规);`_sema_rowDeadline` 句补「到期读口 / 句口本版不上根,宿主对账列表不自算到期句」。
82
+ - **`capForDisplay` / `collapseLabel` 先洗凭据再转义再封长**(CC-1291;web-client [C743] 报的严重缺陷;**§138 MF-6**;🔴 行为变,**收紧方向**;零型变、零公面变):两只助手上屏的恰是外来串(服务器名、规则串、引擎原句、路径、任务描述),修前(CC-1263 起,本版未发布段内)显式关着凭据两网 —— 带凭据形的串在 `max` 内原样上屏,跨 `max` 时凭据的前缀留在截点之后(网认不出残片)。现在两只读公面出口缺省的凭据两网(开):`displayUntrusted` 本就是 凭据网 → 字符面 → 封长(封长量洗后文本),去掉显式关闭即「先洗再截」,出口顺序无需改;同形扫本文件原有两处调用点都开网、`NO_CREDENTIAL_NETS` 常量退役(标量清洗口 `cleanUntrustedScalar` 的凭据网关闭是该口自己的成文契约,不在射程)。干净文本逐字节不变。
83
+ - **设置层播种:env 块「在、但键枚举读不出」不再读成空块**(absence-fold-census 首轮全量红;**§138 MF-1**;🔴 行为变,**收紧方向**;零型变、零公面变):托管策略层的块读不出被读成空表时,托管键被当成没设、低层的同名键顶上且不 `refuse`。现在按「这一层读不出」处置 —— `userSettings` / `flagSettings` ⇒ 该层不播 + `dropped{layer-unreadable}`;`policySettings` ⇒ `refuse: 'policy-unreadable'`;`baseline` / `external` ⇒ `dropped{key: 源名, layer-unreadable}` 且该源不播。块不是对象仍按缺席读。
84
+ - **三只拒句读口声明角色 `replacement`**(`envCredentialRefusalContent` / `sessionIdRetiredContent` / `runConcurrencyCapContent`;error-supplement-roles ES4 首轮全量红;**§138 MF-3**;行为变:`errorSupplementRoleOf` 由缺省 `supplement` 改答 `replacement`):三句都自足(发生了什么 · 什么没被动 · 出路或后续状态),句内零机器码、不指邻行。
85
+ - **`LOCAL_ENGINE_TIMING` 下挪成第 0 层叶 `src/localEngineTiming.ts`**(layering-direction G-RP4a 首轮全量红;**§138 MF-2**;零公面变、零行为变):起服注入面〔第 0 层〕修前向上 import 状态机〔第 2 层〕读它;表只在叶里声明一次,两个读者都向下读,不加豁免行;portability 棘轮 434 → 435(登记行 + 单例清单改指新住处)。
86
+ - **设置采纳闸:已读载体这一拍报 `absent`(宿主确定这份没有 = 真删)不再算丢,与有意清空 `{}` 同读 = 来源变了**(CC-1256;**§138 HS2**;🔴 行为变,**放宽方向**:在包,零型变、零公面变、零新名):修前基准里读成过的载体只要这一拍变成 `absent`,整栈就判不可信、基准只长不缩 —— 会话中途真删的设置文件里的 deny / ask 一直按住到文件回来,与 `absent` = 「确定没有」的定义矛盾。现在 `absent` 与有意清空 `{}` 同读:可信读、整体换基准,这一份贡献的规则从这一拍起不再发(deny / ask / allow 三桶一并),它的身份退出「读成过的载体」。其余没读成的形一字不变,仍算丢、规则仍按住:零字节 / 纯空白 / 读不出 / 还没装载 / 载体从枚举里消失 / 层读数坏形;同层另一份载体没读成,整栈照旧不可信。allow 一侧没有放宽:不干净读下的 allow 仍只留「这一层仍在 ∩ 上次干净读准入过」的,删后回来的文件带新问题键时旧 allow 不复活(§138 HS2c G-HS2e)。🔴 宿主义务:文件改写窗口(先删后写、先截零再写)里报 `not-loaded`,**不报 `absent`** —— 报 `absent` 就是向包断言「这份确实没有了」,包照此放掉它的规则,文件回来时规则随读恢复;沿用句(目录键 `session.hostSettings.heldPrevious`)措辞不变:它只在仍有载体没读成时出,真删不再走到它。
87
+ - **通用卡「读不懂」那一行按因分成三句**(CC-1261;**§138 FR-3**;行为变:文字,en / zh;零型变):`approvalCardReasons` 第一行(来源 `payload_unreadable`)在卡带因时按因选句 —— 版本认不出 ⇒ 「不认识这条审批请求的格式版本」;版本认识而字段坏形 ⇒ 「格式版本认识,但其中一些字段的格式不对、读不出来」;问法词在本端词表外 ⇒ 「读不懂这条审批请求中的一部分」(不说坏形:词表外是本端老,不是帧坏)。三句同一出路(只显示基本事实,请据此决定,不确定就拒绝)、无插值参数;因缺席 / 表外词 ⇒ 仍是上一版那一句不分因的话(目录键 `approval.card.payloadUnreadable` 保留,逐字不变)。经包卡口的宿主自动得到;自动作答判定、放宽三行、会话放行通路位与因无关,逐位不变。
88
+ - **`checkpointRowBarSentence(bar, lang?)` 末位可选 `lang`**(CC-1233;**§138 PU-4**):判决读不出句的那一臂按界面语言出包句;缺省与 `'en'` 逐字节同修前,引擎句臂与 `lang` 无关。自愈行 `ask-reopen-failed`(这台引擎续不了这一问)同传 `lang`:🔴 行为变(只中文)—— 判决读不出句时中文行里嵌的包句从英文改为中文,英文行逐字节同。
89
+ - **订阅快照摘要带门种**(CC-1233;**§138 PU-5**;🔴 行为变,只多发):`startApprovalsFeed` 对同身份同判决只换门种的行也再发一张快照(修前不发,端手上的门种与会话行停驻位陈旧)。
90
+ - **接入文档改口两条**(CC-1233;**§138 PU-6 / PU-7**;文档):§137 DC-6「开卡翻非 ok 点它拒」作废 → 撤卡(`tool_permission_resolved` 不带 `outcome`)+ 进会话行停驻位;§126 LP-1 `parked` 缺席义补句 —— 「本会话拥有一行渲不成卡的门」改由停驻位正面说,`parked` 缺席仍 = 未知。
91
+ - **耐久停驻审批卡:待决行没有将执行的入参、卡上回落到事件流上模型的原始调用时,卡上明说,并且不再接受「编辑后批准」**(CC-1117;**§138 PG-1**;🔴 行为变,在包;零型变、零公面变、零新键):修前待决行 `input` 缺席 / `null` / 超限标记 / 不是普通记录而流上 `tool_start.args`(模型的原始调用,引擎在钩子之前发)在场时,卡上显示的是模型的原始调用,没有任何说明,「编辑后批准」以它为基发出 —— 而批准后将执行的是钩子之后记在行上的那一份(此刻读不到),编辑基不是将执行的字节。现在这一形(取用序不变:行 `input` 是普通记录且不是超限标记 → 流上 → 缺口两形)卡上多两位:`argsUnavailable: true`(端据此不给「编辑后批准」,与 CC-135 缺口两形同一契约)+ `wireNote` 一句(「这条待决审批的记录里没有将执行的工具入参,所见是对话里模型的原始调用,若之后被改写过〔例如被钩子〕,实际执行的会与所见不同;这张卡不接受编辑后批准」;目录键 `approval.park.argsFromModelCall`,英文数据面、中文住目录);卡口答「编辑后批准」⇒ 一个字节都不发(含「本会话不再问」那一发),结局 `not_sent{edit_refused}`,run 仍停着可再决;纯批准 / 拒绝照发。不判「是否真被改写」(本包比不出,不出 `argsRewritten`)。🔴 连带:`argsUnavailable` 在场的卡不给「不再询问」整工具那一行(`standingRowsOf` 理由 `args_unavailable`,既有规则)。不动:行 `input` 在场的各形(CC-1115)· 行与流上都缺的缺口两形 · 流上入参不是对象时不出卡(`no_input`)· 活卡帧腿的回落形(帧上入参被省略而流上在场)仍只带说明句、编辑照发(见接入文档 §132 包侧缺口 ㉚)。修前(成文改口):§132 AK-1 行、包侧缺口 ⑰「回落形不出说明句、编辑后批准以流上那份为基准」作废。
92
+ - **耐久停驻问答卡的问题文本取用序改为「待决行 `input.questions` 先、事件流上的 `questions` 只回落」**(CC-1119;**§138 PG-2 / PG-3**;🔴 行为变,在包;零型变、零公面变):修前流上优先 ⇒ 钩子改写过问题时,卡上是改写前的问题而作答落在改写后的那一问上。现在行上 `questions` 是非空数组 ⇒ 用它(与流上不同也不用流上);行上没有可呈现的问题(`input` 缺席 / 超限标记 / `questions` 空或不是数组)而流上有 ⇒ 回落流上那份(与修前同答),并在问答帧上盖加性位 `_sema_questionsFromModelCall: true`(present-iff;目录键 `approval.park.questionsFromModelCall` 的英 / 中句由宿主按这一位取);两边都没有 ⇒ 不出卡,结局与理由句不变。问答没有编辑臂,不加编辑闸。与停驻审批卡同一规则:行 = 将呈现的字节,流上副本只回落。「可用」只有一只判法:行与流上的 `questions` 均按 `askQuestionsFromPending` 同一只元素校验判可用(非空数组 ∧ 每项是对象且 `question` 是串;单源 `usableAskQuestions`,包内口、不上根入口)—— 行 `[null]` 不再压掉有效的流上问题,流上 `[{question:42}]` 不再被当可用发布。
93
+ - **换钉到引擎 7.66.0**(CC-1199 / CC-1238;**§138 CP-1**):开发依赖引擎 `^7.64.0` → `^7.66.0`、内核包 `7.64.0` → `7.66.0`(**内核契约 8 → 9**),package-lock 钉 7.66.0(原语包 7.66.0 随引擎传递装入);构建期生成表重生成 —— 通告码册 / 受众 / 铸方三张 +1 码(CP-2),事实表 +1 只冻结元组 `CORE_DISCARDED_DELIVERY_PATHS`(CP-3);本包读的其余引擎包根闭集与表逐字未变。换钉前编译红 1(抹除证明载体类两向钉,CP-6)。
94
+ - **通告码册 118 → 119**(**§138 CP-2**;🔴 公面常量值变):+`config.legacy_tool_name`(受众 user:用户自写的退役工具名那一行被跳过、说一次);只登记、无事实读器(端按受众渲引擎 `message`)。同一串也是引擎准备期拒码 `CONFIG_LEGACY_TOOL_NAME`(两条通道各自读,值不变)。
95
+ - **抹除证明载体九类;缺席的类读作未证**(**§138 CP-6**;🔴 行为变):载体类 +`clearanceCustody`(擦除连带取走的清标托管,位次照引擎);收执载体表里**缺席**的类读作 `{ unverified: true }` —— 与引擎状态律同读(缺 = 未证,绝不算清)。修前规则「少一类 ⇒ 整张表读不出」在九类表上会把内嵌引擎早于 7.66.0 的服务端发来的每一份八类收执读成 `residuals: null`;改后八类收执照读,`clearanceCustody` 读作未证,`partial` 成因恰点名它。多出表外的类仍整张读不出。计数臂上引擎新带的可选 `unreadable`(已计入 `remaining`)本读数不带。
96
+ - **`delegation.delivery_discarded` 起有事实读数**(**§138 CP-3**;🔴 行为变):`readEngineNoticeFacts` 对这一码由 `undefined` 改为读数(受众 operator 不变);接入文档 §137 CT-2「无事实读器、`detail.path` 不读」作废(138-CPd)。
97
+ - **`readEngineHealthFacts` 多两位、在飞数读同一件 `inflight`**(CC-1173 首波;**§138 ES-1**;行为变:读数可多带键;型面加性):`version`(非空串原样)· `dataRoot`(原串,不规范化);在飞数读 §138 SP-3 的对象件 `inflight.total`(0 照收、缺席不补 0),「这份在飞数已含会话驻留的后台 shell / monitor」读作 `inflight.sessionResident` 在场(不另设证据位、不另设数字形)。逐位独立,坏形只丢那一位。
98
+ - **后台登记读口的行视图带 `retained?: true`**(CC-1173 首波;**§138 ES-4**;行为变:读数行可多一键;型面加性):上游行上的显式保留位,只认自有数据位字面 `true`;非 `true` / 原型链上 / 取值器 ⇒ 不带、整行照读。它指「服务被显式保留」,不是 `viewing`;归类口与补行谓词不读它,补行事实不带它。
99
+ - `InteractiveEngineLane` 的 `'self-spawned'` 读作「本配置根的本机引擎(不论哪一端起)」,由 `localEngineLaneOf` 产出(**§138 ES-d**;值不变)。
100
+ - **自动作答判定不再以卡上的工具入参为放行依据**(CC-1259;**§138 AN-1 / AN-2 / AN-3**;🔴 行为变,只往不放的方向;🔴 型面 BREAKING:`AutomaticAnswerUnknownWhy` 联合增员):卡上的入参在每一张卡上都是服务端脱敏后的投影,客户端没有将执行的字节可比。`automaticAnswerVerdict` 先照上一版原样判出这一问本身的判决,再只往 `unknown` 收、不再读卡:钩子车道(`permission_request_hook`)在任何卡上都不再答 `may_answer`,收成 `unknown`(新词 `answer_may_read_arguments`);规则车道(`standing_rule`)只在宿主交来 `facts.allowRule` 且它是整工具 allow 规则时照旧可放,不交 / 内容形 / 坏形同收。姿态车道与一切 `must_ask` / `unknown` 逐字节不变。对 `AutomaticAnswerUnknownWhy` 写穷举分支且无 `default` 的端补一臂(处置同其余 `unknown`)。
101
+ - **钩子只许拒**(CC-1259;**§138 AN-2**;🔴 行为变):`permissionRequestHookScope` 对 `must_ask` 答 `skip`,其余(含钩子车道收成的 `unknown`、宿主误交的 `may_answer`)一律 `deny_only` —— 钩子的放行(带不带改写)在任何卡上都不再替人放,拒照收。要在执行前放行,用随请求交给引擎的 PreToolUse 钩子(引擎在钩子之后的真实入参上按问类判;ask 规则 / 强制 / 治理 / 模式类的问不被它清)。
102
+ - **「规则清得掉却没放」改说专句**(CC-1259;**§138 AN-8**;🔴 行为变:拒因句改说;🔴 型面 BREAKING:`NoAllowCause` 联合增员):卡上规则车道可放、而宿主阶梯没证出「确无 allow 命中」的那一格,`noAllowCauseOf` 由 `other` 改答新词 `whole_tool_rule_only`;`policyDenyReason` 两车道各一句专句 —— 本端不按给它看的入参放行,在这里只有整工具 allow 能预批,点名路径 / 命令等入参的规则只在引擎对真实入参判;不带规则旗名、不给「加一条 allow」出路。零规则证据在场仍 `no_allow_rule`,规则清不掉 / 判不出仍 `other`;阶梯与卡的读序不变。对 `NoAllowCause` 写穷举分支且无 `default` 的端补一臂。
103
+ - **`standingRowsOf` / `rememberOfferable` / `parseLocalAllowRule` 逐字节不变,`noAllowCauseOf` 只多上一条那一格**(CC-1259;**§138 AN-4 / AN-5**):这三只读口问的是「一条 allow 规则(整工具规则)清不清得掉这一问」,读判定对问本身的那一段,与宿主报没报放行依据无关;`parseLocalAllowRule` 的整工具候选判据与判定口规则车道同一只,在同一对象上同序同次求值(代理 / 取值器 / 抛照旧)。
104
+ - 卡上 `args` / 待决行 `input` 的读法句改口(**§138 ANd**):「批准后将执行的字节」改读为「批准后将执行那一份经服务端脱敏后的投影(未命中脱敏规则时逐字节同)」;读法、取用序、`argsRewritten` 判据不变。
105
+ - **兑付回执 `refused` 行带引擎拒因码 `reason` 与原话 `detail`(CC-1218;§138 SP-4)**:服务端 ≥ 7.146.0 起真铸这一形;`refused` 行与 `indeterminate` 行同一只行读法(`detail` 过显示出口)。`indeterminate` 一臂自服务端 7.146.0 起不再出现,只读 7.145.x(退役登记 RL-12180)。
106
+ - **服务端 7.147.0 两处文字改真(CC-1254;§138 SP-2 / SP-6g)**:`inheritEnv` 拒因闭集记作三词(`no_authorizer_session` 退出,读开集不变、零行为差)· 控制路由 steer 的说明改为「调用方的话恒以用户输入到达模型,运维身份只管授权」。
107
+ - **MCP 断言头「不发送」那一句的版本射程改说到 7.147.0(§138 SP)**:`mcpAssertionHeaderNotSentNotice` 的句子由「server versions up to 7.144.0 accept this setting but do not send the header」改为「up to 7.147.0」—— 服务端 7.145.0 与 7.147.0 的处置表同为 `withheld`(只受理、不把这一位交给引擎);读法与出句条件不变。
108
+ - **服务端读点对齐 ≥ 7.147.0(版本号以服务端发布为准;§138 SP)**:处置表逐条覆盖服务端自铸登记差、d.ts 文件集差、错误码目录差与待发布节;决断类续跑入口「这一行自己的拒」同码 `checkpoint.invalid_outcome` 的判官改读法登为包侧缺口〔SP〕①。
109
+ - **通告信封的 `code` / `detail` 只认自有数据描述符,取值器不执行**(CC-1284;**§138 NCd**;🔴 行为变,只对宿主手拼的访问器形信封可见;零型变、零公面变):全部事实读口(既有的与本版十二个新的)、派发口 `readEngineNoticeFacts` 与 `steerCutVerdict` 读信封两格的唯一读法改为自有数据描述符 —— 访问器形(取值器正常返回也一样)整条缺席、取值器一次也不执行,读口与派发口对同一入参同答。修前信封两格按属性读,手拼的访问器信封会执行取值器并交出事实,与「取值器不执行」的规则不一致;来自 wire 的通告恒为数据位,读数不变。原「`code` 与 `detail` 各只读一次(随读变的取值器交出首读那个码的事实)」的口径作废(接入文档 138-NCd)。
110
+ - **两句表外词的句子不再断言结局或去向**(CC-1284;**§138 NC-7 / NC-8**;行为变,文字,en / zh):`peer.inbound_disposition` 的表外处置词句由「被搁置了、没有送达模型」改为只说「本版本认不出引擎报告的处置方式」;`peer.held_settled` 的退休 × 非 `superseded` 触发(含表外触发词)句由「仍暂扣在信箱里、之后会再次呈现」改为只说「离开了本会话的暂扣队列、这里没有做出决定」。读口只证明词是非空未知词,证明不了结局或去向。目录键不变、值变。
111
+ - **应用落后句改中性**(CC-1173 首波;**§138 ESB-d**;行为变:句文变):`localEngine.behind.appUpdate` 不再写「下载」,改为「把本应用更新到 {running} 或更新的版本,然后重启」(两语)。
112
+ - **座位出站门判本机半边的两条跨键约束**(CC-1173 首波;**§138 ESB-3**;只在宿主带 `lifecycle` 时生效,不带的旧宿主零变化):`lastBootError` 在场 ⇔ 相位 `down`;相位不是 `attached` / `pending` ⇒ `mcp` 缺席。
113
+ - **Bash 命令跑过之后被掐断(超时 / 无输出被杀 / 被中断 / 输出流回调失败)时,结果带上被掐的事实**(CC-1289;**§138 BT-1 – BT-6**;行为变:文字面与 `tool_use_result` 加性位;零型变、零根入口新名):修前引擎的这类卡带部分输出时(引擎不置 `isError`、`exitCode` 为 `null`)本包只读数值退出码与正文两槽,折成「成功卡 + 部分输出」,一句「timed out」都没有(`-p` 流同)。现在四个家族位(`timedOut` / `livenessNoOutput` / `aborted` / `callbackError`,及秒数 `timeoutSec` / `noOutputSec`)经一只读口读(只读自有数据位:取值器不执行、原型链同名键不算、家族位只认字面 `true`、秒数非非负整数只丢秒数、非 Bash 形整体缺席):有部分输出时卡正文首行 = 家族句(`Command timed out after 30s` / `Command killed: no output for 45s` / `Command was interrupted` / `Command ended: output stream failed`;无秒数形 `Command timed out` / `Command killed: no output`),`tool_use_result.stderr` 前接同一句(已有 `stderr` 用一个空格接,已以该完整同句开头则不重复;零输出也前接),`tool_use_result` 多超集位 `_sema_curtailed: { kind, timeoutSec? | noOutputSec? }`(缺席 = 引擎没报被掐,不是「正常结束」)。🔴 **只补事实、不判错误**:卡的 `isError`、`-p` 帧的 `is_error`、`tool_use_result.interrupted` 与引擎所给逐格同(带部分输出 ⇒ `false`、零输出 ⇒ `true`;`aborted` 也不翻 `interrupted`);端要知道「这条 Bash 是不是被掐了」读 `_sema_curtailed`,不读错误位。零输出分三情形(槽纯空白也算零输出;槽缺席的回落体同三情形):失败且引擎正文非空 ⇒ 卡正文仍是引擎正文(不加首行);失败且引擎正文也空 ⇒ 卡正文 = 家族句本身;成功形(wire `isError: false`)⇒ 首行恒是家族句。
114
+ - **「主体读不出」只有一句**(**§138 ESB-6**;行为变:文字,en / zh;零型变、零公面变):座位相位句 / `lastBootError`(`down{principal-unknown}`)与一次性车道失败句(`local_engine.principal_unknown`)改读 `localEnginePrincipalSentence` 点名文件的那一句(目录键 `localEngine.principalUnknown`),这两处读数不带层,层位插泛指的「某个设置文件」(新标签键 `localEngine.settingsLayer.unspecified`);两处各自铸的句键 `localEngine.down.principalUnknown` / `localEngine.headless.principalUnknown` 退役(目录净减 1 键两语)。一次性车道那一句的收尾因此由「重新运行命令」改为「修好该文件后重启 Sema」,与相位句同。
115
+
116
+ ### Deprecated
117
+ - `EnginePortFile`(与宿主库的锚点型是同一份文件的两份声明;本包按结构读锚点走 `localEngineAnchorOf`)· `TOCConfig`(子进程 env 改由 `LOCAL_ENGINE_SPAWN_ENV` / `localEngineSpawnEnv` 一处拼)· `EngineInstance`(附着引用改读 `LocalEngineRef`,子进程句柄归宿主)(CC-1173;**§138 EE-7**):型不变;终端与桌面端删掉对它们的引用之后的下一个本包版本删型(公面删型,随 minor;退役登记 RL-12675 / RL-12676 / RL-12677)。
118
+
119
+ ### Removed
120
+ - **`PermissionRequestHookScope` 的 `allow_or_deny`**(CC-1259;**§138 AN-2**;🔴 型面 BREAKING,联合减员):型只剩 `deny_only` / `skip`;与 `'allow_or_deny'` 比较或分支的代码删掉那一臂(TS2367)。
121
+ - **`localAllowRuleEnforceable` 的第三参、型 `LocalAllowRuleHostFacts` 与读数 `by`**(CC-1259;**§138 AN-6**;🔴 型面 BREAKING;根入口型名 −1,运行期名数不变):本地写的 allow 规则只由引擎执行 —— `enforceable` ⇔ `engine === 'sent'`;给它传第三参或读 `by` 的代码删掉。
122
+
123
+ ### Fixed
124
+ - **门期望按引擎真读数改(两处上游行为变,本包产品码零改;§138 MF-4 / MF-5)**:`run-rule-tool-name-judge-test` TN9 —— 引擎 7.65.0 起 deny / ask 清单里「退役且无现名」的名字不再整跑拒启,改为照常启动 + 一条 `config.legacy_tool_name` 通告(铸点 `prepare-policy-chain.js` `auditPolicyNames` 的 `retiredLeftOut` 分支);`run-permissions-declaration-test` TK7 尺子自证 —— 引擎 7.56.0 起 `*` 在限制型清单上是通配、在授予型清单上单条 inert 且不再整表作废,装配口 allow 桶里的 `*` 过关后投出(此前该格尺子〔「`*` 拒因码 `invalid.tool_name`」〕对 ≥ 7.56.0 恒红,门以 exit 9 停在该格之前)。
125
+ - **属主待决行计数不再被别会话的一条坏形行拖成「读不出」**(CC-1258;**§138 PO-1 – PO-3**;🔴 行为变,在包;型面加性:根入口运行期 +1 函数 `pendingRowOwnershipOf`):修前 `countOwnedPendingRows` 对队列里任一行的 `kind` 读不出先整只抛、后判归属 —— 别会话的一条坏形行让本会话的计数整只答「读不出」,调用方按「不知道」处置(自愈落到决断待定、终端的停止命令一直答检查不了)。现在族读不出的行先问三态归属判官 `pendingRowOwnershipOf(row, deps?)`(`'owned' | 'foreign' | 'unknown'`,永不抛):`foreign` = 正向证明不是本会话的行(本会话 id 读得出 ∧ 行 `sessionId` 自有数据位是非空串且 ≠ 本会话 ∧ 委派位 `agent` 证明缺席、或父 / 根两位都证明缺席或是 ≠ 本会话的串 ∧ 注入腿与进程台账两条 own-run 腿问过且不中)⇒ 略过那一行、其余照数;`owned` / `unknown` 照抛(读不出不是 0)。取值器 / 代理陷阱 / 继承位 / 非串 / 本会话 id 读不出一律 `unknown`(只读自有数据位,取值器不执行)。`pendingRowIsOwnedByThisSession` 改为判官的薄包装(判法只一份,读数逐行同;读就抛仍外抛、不折 `false`)。老服务端(行上无委派位)的自家子代行判官答 `foreign`,族读得出时计数与修前逐行同。
126
+ - **句界截断原语不再把成对反斜杠劈开**(CC-1262;**§138 DS-1**;行为变,在包;零型变、零公面变):`cutForDisplay` 取的最长安全前缀只避让 `\uXXXX` / `\u{…}` 转义记号、代理对与遮盖记号,不认 `escapeBackslashes: 'auto'`(或 `true`)产出的成对形里「一个字面反斜杠 = 一对」—— 截点落在一对中间,屏上留一枚无法按「`\\` → `\`」解码的孤反斜杠(例:字面 `abc\x\y\z` + U+202E 的成对形在预算 4 处留 `abc\`)。现在截点落进一串连续反斜杠、且离串首的偏移为奇数时退一位到对前(省略记号照旧在其后);非成对文本(单枚反斜杠的 Windows 路径、正则)里反斜杠串长为 1、截点不可能落进中间,逐字节不变。退让写在叶里一只包内函数,不上根入口。
127
+ - **展示助手 `collapseLabel` / `capForDisplay` 按串自判成对反斜杠**(CC-1263;**§138 DS-2**;行为变,在包;零型变、零公面变):两只助手用无成对位的字符面,名字里的真 U+202E 与字面六字符 `\u202E` 画成同一串 —— 同一屏上两个不同的服务器名 / 条目名 / hook 名看起来一样。现在两只都读公面出口的 `escapeBackslashes: 'auto'`(与 `displayUntrusted` 同一只判定、同一遍扫描、同一只封长;凭据两网本条落地时显式关着〔「从来不洗凭据」那半句已被 CC-1291 作废:见下文 **§138 MF-6**,两只助手现读出口缺省的凭据两网〕):显示形里有字符面标记或编码形字面序列 ⇒ 字面反斜杠画成一对、标记单枚,两个名字画成两串;干净文本(Windows 路径、正则、中日韩、emoji 连字)逐字节不变。🔴 与 `escapeBackslashes` 同:成对支上**不幂等** —— 两只助手的输出只在最终成句处用一次,不要再送进任何一只助手或开了成对的出口(包内两处「助手套助手」的站点同批改成一遍到位:hook 故障横幅、近似规则读数的已挂载名)。入参不是串(纯 JS 宿主)时按公面出口归一为串,不再抛。
128
+ - **审批卡「为什么问你」一格里引擎原文超长时中段省略、保头尾**(CC-1264;**§138 DS-3**;行为变,文字面,在包;零型变、零公面变):`message` 行修前按尾部截到 300 单元 —— 引擎句「Cannot write to <路径> while in plan mode.」遇上长路径,句尾的原因被截掉,屏上只剩一个没有原因的长路径。现在显示形超 300 单元 ⇒ 取头 150 单元 + `…` + 尾 149 单元(总长 ≤ 300);省略点不落进转义记号 / 遮盖记号 / 代理对 / 一对反斜杠中间,并尽量不紧挨 RTL 字母或 emoji 连字序列(软避让,最多多让 24 单元,让不到就留硬安全点)。不超 300 单元的原文逐字节不变;凭据先洗后省略;不为任何一句引擎原文另开读口(超长一律同一条路径)。
129
+ - **审批收口帧两族同判:呈卡族单卡消卡帧 `approval_complete` 不再恒读成 `null`**(CC-1177;**§138 CF-1**;🔴 行为变,在包;零型变、零公面变):`classifyApprovalCompleteFrame` 修前首行只认旧族 `tool_approval_complete`,服务端 ≥ 7.133.0 在呈卡族腿(`approvalFrameFamilies = ["approval_request"]`)上发的单卡消卡帧 `approval_complete` 恒答 `null` —— 「到期转停驻 / 到期撤卡 / 已决」三态在那条腿上答不出,宿主只能自拼一份读法。现在:呈卡族帧先过 sdk 谓词 `isApprovalCompleteFrameV1` 窄化(窄化只此一份,本包不自写第二份守卫),窄得下来才走**同一只**三态判官 —— `outcome: 'expired'` ∧ `parked: true` ⇒ `live-expired-parked`;`expired` 而无停驻位 ⇒ `live-expired-retract`;`allowed` / `denied` ⇒ `settled`(与旧族同一份判决,`parked` 仍只认自有数据位的严格 `true`);🔴 窄不下来(`schemaVersion` 不是 1 / 键坏形 / `outcome` 开集新词 / `cause` 表外 / `parked` 在场而不是 `true`)⇒ `null`,不猜结局,宿主按 `askId` 清卡;🔴 窄化与判决吃**同一份自有数据位快照**(取值器 / 代理陷阱 / 原型链上的键一次不执行、不读;整帧或必填键只在原型链上、必填键是取值器 ⇒ 窄不下来 ⇒ `null`;`parked` 取值器 / 继承位当缺席 ⇒ 读成撤卡;快照构造读抛 ⇒ `null`、不外抛;分派读 `type` 是两族共用的既有普通读,不在快照窗内)。`settled` 与另两态一样**仍按 `askId` 清卡、释放持有**(三态只附加结局语义,不免除清卡义务;chrome `approval_complete` 臂的消卡帧到达一律清卡)。旧族读法逐字不变(不过任何窄化、不走快照)。其它 `type`(含呈卡族开卡帧 / 撤卡帧)仍 `null`。
130
+ - **宿主代理的 `has` 陷阱对键答假时,隐藏的坏值不再被读成「缺席」**(CC-1057;**§138 AB-1 – AB-6**;行为变,在包;零型变、零公面变):六处读点原先把「在不在」(`key in o`)与「值是什么」当成两次互不印证的问话 —— 宿主交来的代理对某键的 `has` 陷阱撒谎答假、而该键其实在场且是坏形时,坏值被当缺席接受:① 放行三行判官(`standingRowsOf`)隐藏的 `ruleOffers: []` 之下会话行 / 持久行照给;② 本会话放行「卡合格」判官隐藏的坏 `unreadableEvidence` 被读成「没有登记」,会话行照给;③ 卡帧读根候选 `readRootCandidate` 隐藏的坏 `covers` 被丢、候选变成目录候选(与「逐字添加」是相反的动作);④ 读根授权通告 `approval.read_root_granted` 隐藏的坏 `covers` 被丢、仍铸 granted(一句更窄的授权被说成目录);⑤ 撤销体 / 写体隐藏的空 `principal` 被当缺席(一次瞄准别人的操作落进调用者自己的规则桶并得到 200);⑥ 重连结果 `projectMcpReconnectResult` 隐藏的坏 `toolNames` / `listingIncomplete` 被丢、仍投 `accepted`。现在这六处(及同函数同形存量:放行判官的 `rememberRefused` / `ruleOffersAbsence` / `argsUnavailable` 三位与卡面载荷不可读位 `cardPayloadUnreadable`)的在场判与取值共享**一次观察**:`in` 答假必须被同一次自有描述符读取印证(描述符不在 ∧ 复问的 `in` 仍为假)才算证明缺席;答假而观察到在场 / 说不清(自有位在、自有访问器、读描述符抛、复问为真)⇒ **不能证明缺席**,按各点既有的「读不出」处置(放行判官:卡读不出、三行全关;读根候选 / 授权通告 / 撤销与写体 / 重连结果:整只座不过境 / 不认领 / 拒铸 / 整只畸形);`in` 答真时自有数据位的值取自同一次描述符读取。🔴 `in` 本身抛 ⇒ 各点**既有处置原样保留**(全关 / 不认领 / 原样外抛),不统一替换成「永不抛」;`in` 如实答假且键真缺席 ⇒ 与修前逐字节同。读口为包内件 `inSlotReadOf` / `inValueOf`(`wireFailureShape.ts`,不上根入口)。同口径补两处:① `in` 答真而**读自有描述符就抛**(含陷阱「先删键再抛」)、或描述符缺席后**复问 `in` 就抛**,一律按「不能证明缺席」(修前归「在场而读不出」,宽读回退按键再取一次,会把删键后的 `undefined` 读成缺席而放行、或对只抛不删的陷阱照收原值);宽读回退只留给读得出描述符的原型链位 / 访问器;② 重连结果 `reconnectMcpServer` 的应答期限分流只认**证明缺席**的 `outcome`(修前代理对 `outcome` 的 `has` 答假而自有数据位仍在的坏体被认成应答期限先到,提前返回、跳过畸形体与身份核验)。
131
+ - **只以 `text_end` 到达的文字块进活流转录**(CC-1172;**§138 LT-1 – LT-6**;行为变,在包;零型变、零公面变;已知限制 KL-11641 退):引擎把一块文字只以 `text_end` 交付(没有逐块增量帧)时,修前活流转录不显这一块 —— 文字臂把本层一个字节都没经手的段末帧当成「已由整块 `text` 帧交付的段」、不铸行(工具卡之后的终答块也不由终答补差补上,终帧补差落分岔臂、只报 `result_text_diverged`);而服务端 7.144.0 起账本 `text` 行含这一块,用户重载会话后多出一段话(两代服务端的活流同形)。现在文字状态机多记一项来源 —— 这一模型段的字节是不是由整块 `text` 帧交付过:段末帧到达时,本层对这一段零经手 ∧ 来源位假 ⇒ 当作先到了一只等于 `content` 的增量收下(与「一只增量 + 一只段末帧」同一条路:思考先于回答提交、一只等于 `content` 的 `stream_delta`、段末事件带 `committedUuids: []`、紧跟这一块的 committed 转录行,行的 `_sema_segment_id` = 该段段末事件的 `segmentId`)。整块 `text` 帧交付过的段不重铸(账本整块行把两个边界之间的多块拼成一行,其后可跟多只段末帧,都不重铸);来源位在工具卡 / 模型轮末 / 终局边界与压缩分界复位(两处走同一只复位口),边界之后零经手的段末帧是新一块;同一段的段末帧迟于边界到达的序(服务端不产生,推断)按新一块读、会再铸一行,记为已知限制 KL-11721。有逐块增量的块、迟到的段边界、脱敏分歧、子流段末帧的读法一字不动。三端零改(经包转录)。
132
+ - **审批决断身份只读一次:帧 / 行上的 `approvalId` 取自有数据描述符一次,悬挂行腿与活卡入口用同一份读数**(CC-1132;**§138 ID-1 – ID-3**;行为变,在包;零型变、零公面变):修前悬挂行读器读行 id 与帧 id 各多次(行上五处、帧上判别器 + 相等判),活卡入口再读一次 —— `approvalId` 是取值器、且前两次读到同值第三次读到另一值时,读器放行、入口读到第三值 ⇒ 卡与账记在行 id 上、决断发往第三值(旧族 `tool_approval` 帧路同形)。现在:读器对行 id 取一次(取值器不执行、只在原型链上的不算;坏形 ⇒ 丢行计数,段里唯一一行读不出 ⇒ `malformed`)、对帧 id 取一次(须是自有数据位的非空串且等于行 id,否则丢 `frame` 位出盲卡);活卡入口 `surfaceToolApprovalFrameAndRespond` 在第一个 `await` 之前对帧 id 取一次,读不出 ⇒ 不呈卡、不发送,结局 `not_sent` / `card_unavailable`;悬挂行腿把读器那一份行 id 直接交给模块内入口 `surfaceApprovalFrameWithId` 承接(入口不再对帧取第二次;该入口不上根入口,审批活卡入口模块的根入口导出改为按名展开,逐名与修前相同)。JSON 解析出的帧 / 行(真服务端的一切)逐位不变;只对宿主自造的取值器 / 原型链 / 代理对象可见。0.104.1 起记入已知限制的这一形(KL-11321)随本版收口、该行删除。
133
+ - **「没有」要有证据:放行 / 起服 / 换代 / 可用四类正向结论不再从读不出的位推出**(发版前订正 ②;**§138 RV-1 – RV-10**;🔴 行为变,在包;零型变、零根入口新名):① 规则车道判 allow 规则是不是整工具形时,`ruleContent` 的「不在」改走一格缺席证明的读法 —— 宿主代理的 `has` 对它答假而描述符在 / 读描述符抛 ⇒ 读不出、不作答(修前读成整工具形,规则车道替人答掉一张只放行某路径的卡;RV-1)· ② 本机主体:某层读数 `ok` 而 env 块本身读不出(代理陷阱 / 已撤销代理)⇒ `unknown{layer}`,与播种口对同一块拒启同判(修前当该层未设、落下层或 `'default'`;RV-2)· ③ 本机引擎判官的身份三锚只认 `/health` 的自有数据位(修前原型链 / 取值器上的 `pid` / `startedAt` 被采信、可到 `attach`;RV-3)· ④ 状态机判词 `none.blocked` 表外值 / 访问器 / 只在原型链 ⇒ 坏事件、态原样零动作(修前当不阻断 ⇒ 从初态进 `locking`、产 `acquire-lock`;RV-4)· ⑤ 重起结局:附着 → 附着且无 `spawn` 效果时只有身份判官答 `changed` 才是 `restarted`,答 `unknown` ⇒ `pending`(RV-5)· ⑥ 停驻问答卡问题的「可用」按索引逐项判,稀疏数组的空洞不合格 ⇒ 行侧稀疏时回落有效的流上题面并盖 `_sema_questionsFromModelCall`(RV-6)· ⑦ `self` 族与接线快照 `selfSpawned` 读作「本配置根的本机引擎」(附着到另一端起的那一台也是),通告 `session.engine.selfNotLocal` 两语句子改说「本机引擎」(RV-7)· ⑧ chrome `approval_complete` 臂的宿主义务句改为「结局三态只读 `classifyApprovalCompleteFrame`」(RV-10)。接入文档 §138 DSb 凭据形一行与 G-DS2 的凭据判据改为「遮凭据」并给出实得字节(RV-8);一格缺席证明的两只读口改从同一次观察派生(RV-9,零行为变)。普通 JSON 形入参逐字节同答。发版前订正 ③:主体键是访问器(描述符在、无数据位)也按该层读不出 ⇒ `unknown{layer}`,取值器照旧不执行(修前当未设落下层;门 LEO10 取值器格改钉 + LEO11 访问器格,变异「访问器当未设」红)。
134
+
135
+ ### Gates
136
+ - **发版前订正 ② 的钉**(**§138 RV**;扩既有门,不新增门):`run-automatic-answer-verdict-test.mjs` AN-4b 读序改钉(整工具形规则值多一次 `ruleContent` 描述符读与一次复问 `in`)/ AN-4c 别名后缀上限 3 → 4 / AN-5a +3 形(`has` 撒谎藏起内容位 · 藏起空串内容位 · 称有而无)/ AN-5h(撒谎规则 × 规则车道 ⇒ `unknown`)/ AN-5i(语法树:判据叶内零裸 `in`、恰一次 `inSlotReadOf`)· `run-local-engine-spawn-env-projection-test.mjs` LEO11 块读不出组(三层 × 三形 ⇒ `unknown{layer}`;托管层 × 三形 ⇒ 不落 user 值且播种同块拒启)· `run-local-engine-judge-projection-test.mjs` LEJ12(三锚只在原型链 / 是取值器 / 描述符读抛 ⇒ `unverifiable`、取值器零执行、正控)· `run-local-engine-step-matrix-test.mjs` LEI6b(初态 × 六种坏形 `blocked` ⇒ 零动作 + 两条正控)+ 重起结局四格(`unknown` ⇒ `pending`;`spawn` 在场 / `changed` ⇒ `restarted`;`same` ⇒ 不是 `restarted`)· `run-hitl-gate-honesty-test.mjs` F20-R5a / R5b 空洞三形 + F20-R5g · `run-session-engine-lane-projection-test.mjs` 通告句改词一格 · `run-approval-frame-chrome-arms-test.mjs` C8 · `run-public-surface-test.mjs` ③c(两只按名导出的模块:模块 `.d.ts` 导出 − 根入口挑名 = 登记包内名,等值;读法自证)。红先 = 修前树上 AN 段 5 格 · LEO11 15 格 · LEJ12 6 格 · LEI6b 与重起结局 7 格 · 通告句改词 1 格红,F20-R5a 与 C8 首格即红(两门首红即停)。
137
+ - `run-display-untrusted-baseline-diff-test.mjs` B11b:邻接负例对上一发布产物(0.93.1)的逐字节对拍对「封长出口在基线截进遮盖记号中间」的格放行(本版 cutForDisplay 避让遮盖记号、取记号前最长安全前缀,CC-707 起、0.108.0 发布产物已如此;既有判据漂移,远端全门在 B7a′ 判别力栅栏提前退出从未跑到本格)+ 新钉 B11b′「本版 = 基线去掉半截记号且至少一格」;本机红先、绿后,变异(钉改成不去半截记号)红。同门 B11e / B11f′ / B12a 对上一版核配置地址口的格在没有 `displayConfiguredUrl` 的基线(0.93.1)上诚实跳段而不是抛 TypeError(本版零字节 / 幂等格照跑);这三段自写入起从未在 0.93.1 基线上执行到(远端在 B7a′ 判别力栅栏提前退出、本机不跑本门),首次跑通在本版。B12b(能力地址池自由文本十五出口对上一版)的封长格同用 B11b′ 的允许差(放行格数与「放行格本版 ≠ 基线去半截记号」计数写进格文)。
138
+ - `run-tick-model-and-config-drift-test.mjs` P 段:对上一发布产物(0.93.1)的逐字节对拍把 CC-1280 的加性 chrome 臂 `subagent_alias`(子代 lane 的 tick 登记口每拍同拍发出)计入允许差(抹掉后比)+ 新钉 P6「带该臂的恰是 tick 绑到子代卡的六组」;发前 k3s8 全门与本机 P1 / P2′ 红先、绿后,两枚变异(去抹臂 / 松 P6 钉)各红。
139
+ - 发版前订正车(首轮全量真红九件 + CC-1291 / CC-1292;**§138 MF**):`run-local-engine-spawn-env-projection-test.mjs` 多 11 格红先(LEE5 env 块键枚举读不出 × {ownKeys 抛 / 已撤销} × {托管 / user / flag / baseline / external};控制格:块不是对象按缺席读、空托管块不 refuse、spawn 的 inherited / hostBits 读不出不抛)与 LEE4c 三格(时限表住 `localEngineTiming.ts`、两个读者都从叶 import、根入口同一引用);`run-error-supplement-roles-test.mjs` 声明表 21 → 24 只(三只新读口的采样句 en / zh 过 ES3 自足判官);`run-rule-tool-name-judge-test.mjs` TN9 按桶新增「退役无现名 × deny」一类(通告判官独立期望 + TN9f 判别器自证 + TN9g 类有成员);`run-permissions-declaration-test.mjs` TK7 尺子自证按引擎代际分两判;`run-display-untrusted-projection-test.mjs` DS2c / DS2d 改口 + DS2h(5 种凭据形 × 7 档 max 零正文零前缀,正控:关网读数确实露)+ DS2h2;`run-decision-refusal-standing-test.mjs` AI 组(根入口两名在场且同一引用、英文常量不上根入口、英文句逐字节同修前、zh 三段、缺席语义、G-SK4 在根入口可用、第二参 decision 生效);`run-permissions-declaration-test.mjs` 解开 TK7 之后第一次被跑到的各格按引擎真读数处置(门侧,产品码零改):TK9 名字关 —— 夹具捆的引擎 ≥ 7.55.0 / ≥ 7.65.0 时限制型清单的通配覆盖名 / 退役无现名改「两形都收」,期望逐条由引擎判官导出并带判别力自证 · CF1 能力路由再分一代(7.141.0 起多恒真版本位 `layers`)· V1 引擎 ≥ 7.61.0 的两只旧输出名无现名原样投 · MS1 / MS1a / MS1b / MS1c / MS1d / MS1e 字面裸名本身与含 `*` 对端段单列(改写形为裸形超集)· R6 / R6d / G-RR1 带对象元素的收紧桶输入(0.105.0 起有意拒装配)单列并钉住拒句,allow 列里被所装规则校验器拒的整工具名对拍前摘掉 · NX1 `*` 不再被拒;`run-session-id-path-segment-test.mjs` R1 豁免行 `localEngineOccupancy.ts` 命中数钉 1;`run-task-notification-entry-sampling-test.mjs` NA0 名册 +2 文件。
140
+ - `run-park-decision-layer-test.mjs` 多 G7 一组(CC-1258;三态归属判官 + 计数对别会话坏形行略过 + 薄包装等价):`foreign` 的每一条件各有一格反例(`owned` / `unknown` 照抛)。
141
+ - `run-host-settings-source-test.mjs` AB 段(CC-1256;§138 HS2):真删 ⇒ 下一拍 deny / ask / allow 不再发且跨三拍稳定、无沿用产物 / 沿用句 / `held_previous`、身份退出基准(AB1)· 与有意清空 `{}` 同读(AB2)· 零字节 / 纯空白 / 读不出 / 还没装载 / 从枚举里消失仍按住(AB3 / AB3b)· flag 层文件真删而内联照读(对照文件截零 ⇒ 按住;AB4)· 删后重建同 id 不留残、删后换 id 重建采纳(AB5 / AB5b)· 基准收缩只出在 `absent` 这一形(AB6)· 免丢只对那一份载体(同层另一份没读成 / 整栈另一层截零 ⇒ 仍不可信;AB7 / AB7b)· allow 轴不放宽(AB8)· 确认口对真删答 `undefined`(AB9)· `absent` 不被伪造:结局词缺席 / 大小写不同 / 表外词 / 带非空文档的 `absent` 载体都是层读数坏形、规则按住(AB10);AG15 去掉「显式 `absent` 与枚举里消失同判」那一半(改由 AB5b 钉);红先 = 修前源码树 7 红(AB1 / AB2 / AB4 / AB5b / AB6 / AB8 / AB9);变异 4 枚(`absent` 仍算丢 / `not-loaded` 也免丢 / 零字节也免丢 / `absent` 身份留在基准里)各红在点名格。
142
+ - **新门 `run-approval-frame-reading-test.mjs`**(CC-1261;**§138 FR**;包侧投影门三件之一):判因读口逐帧对拍 sdk 谓词、三因各一与判别位次序、原值洗消与封长、三判别位各读一次、读抛与非对象不抛、通用卡投影口第二参(伪造 / 原型链 / 取值器读数不盖)、原因格三句(目录英中逐字、第三句不说坏形)、活卡入口端到端(因只呈现:判定口三因同答;守卫读抛的帧入口照旧 reject)、单源(`toolApprovalWire.ts` 无对谓词的直接调用)。
143
+ - **新门 `run-engine-notice-user-codes-test.mjs`**(CC-1284;**§138 NC**;包侧投影门三件之一):NC0 判据自证(十二码在册且受众 user;真引擎铸的「采集关闭」「采集关闭未落盘」通告读口读得出)· NC1 逐码读口三形(好形:自有键恰为期望集、与派发口同答;缺席:码错 / 无 detail / 非对象 / 只在原型链上;坏形:必填位缺 / 空串 / 错型 / 负数小数 / 访问器 ⇒ 整只缺席,可选位坏形 ⇒ 只省这一键;敌意入参不抛)· NC2 逐码句口(en / zh 互异、缺省 en、无残留占位符、入参非读数 ⇒ `undefined`)· NC3 展示出口(外来串位逐位:控制符 / 双向覆盖 / 换行 / 凭据形不原样出,无害值确实出现)· NC4 逐码语义格(不猜臂、不相减、不折叠)· NC5 耐久审批门出句口(审批席三态三句互异;读不出臂位的 108 句审批请求这一半一个方向词都没有;来源 / 成因逐词有句)· NC6 根入口 / 目录键。
144
+ - `run-engine-notice-catalog-test.mjs`(CC-1284):L9 样本 / J 夹具各 +12 码,J6 用户面码恰 36 个(成文改口:24 个作废),J7 改取仍无读器的码。`run-message-catalog-test.mjs` MC16:本票各组目录键的占位符集合逐键钉死、两语带齐参数出句无残留、各组键数地板。`run-catalog-routing-test.mjs`:新语料 `cc1284`(13 只句口逐臂,含表外词的保守臂)。
145
+ - **DS 三件的钉**(**§138 DS**):`run-notice-presentation-test.mjs` DS1(成对形随机池 × 每个预算 × 句 / 词两档的性质扫 + UNC / 字面反斜杠 + U+202E / 对尾具体读数 + 非成对文本不动 + 单源);`run-display-untrusted-projection-test.mjs` DS2(真 U+202E 对字面六字符 · 槽位句 · 干净金样 · 凭据两网显式关 · 与公面出口同读 · 不幂等是设计 · 站点普查 · hook 横幅一遍到位;L2 / L3 / FC3b / FC3d / FC5 的参照按成对支 / 原样支两分改钉);`run-approval-card-face-projection-test.mjs` CW7(长路径头尾保住 · 不劈记号 / 代理对 / 一对反斜杠 · emoji / RTL 避让 · 凭据不外露 · 无第二读口)。
146
+ - 新门 `scripts/run-parked-unresumable-projection-test.mjs`(包侧投影门三件之一;§138 PU):登记(三只口在根入口与公面基线、键表末位、覆盖表、构建产物声明的成员形)· 上一发布产物的老判官对带新位的行 / 事件 / 目录照收(`SEMA_PU_PRIOR_PKG`;没给 ⇒ 段跳过)· 出站门七形合法 / 十七形坏形逐形拒并点名路径、访问器不执行、事件 / 目录 / `start` / `patchSession` 回执同判 · 铸口回体读不出六形抛、二十二行矩阵逐行进 / 不进与成员形、单行读不出不连坐、归属 fail-closed · 互补钉(十六形:铸口列它 ⇔ 耐久取件答 `row_unresumable` ⇔ 身份点名取件同答 ⇔ 问答分诊答 `settled` 带判决;同 run 一行可决一行续不了只列后者)· 读口 · 句口逐字节金样 en / zh 与坏入参 · 订阅摘要门种 · 端到端(宿主铸行过门、结构化克隆过境、座位车道与浏览器车道同一行字;行走了键缺席)。
147
+ - `run-seat-contract-keys-test.mjs`:E 段键表下限 +`parkedUnresumable`;F 段并读四格(`parked: false` 并在拒并点名新位 / `parked: true` 并在过 / `parked` 缺席并在过 / 空数组拒);H2 嵌套位 +2(停驻位的员与员上的判决位 × 八种非普通载体)。句口与 `checkpointRowBarSentence` 的 `lang` 出口登记进句等值门语料(`scripts/_catalog-corpus/cc1233.mjs` + 金样)。
148
+ - `run-engine-notice-user-codes-test.mjs` 多格(CC-1284;**§138 NC**):NC1l 信封访问器三形 × 十二码 × 直读口 / 派发口(取值器零执行)· NC1m 逐键描述符读抛(必填位整只缺席、可选位只省一键,含 `indexRolledBack`)· NC1h2 自有 `code` + 继承 `detail` 与逐位继承 · NC2d 句口计数位坏形全表(负数 / 小数 / NaN / 无穷 / 数串 / 空 / 对象 / 布尔)· NC2f 句口可选位坏形 ≡ 缺席 · NC4w / NC4v 表外词中性句与已知词 × 未知词交叉格 · NC5c 问答句恰在 `liveQuestionFace === false` 时出现一次(剥句前先核)、NC5e2 两语 × 三态 × 三态 · NC5j 坏参格同时断言没抛与返回 `undefined` · NC7 消费方视角 tsc 探针(十三只句口入参型的必填位 = 运行期必填位;`memoryCaptureOptoutUnpersistedSentence` 的入参型补 `sessionId`)。`run-engine-notice-catalog-test.mjs` J8c 改口(访问器信封零执行)+ J8d 全派发表 × 三种访问器形 × 派发口 / 直读器。
149
+ - 新门 `run-core-7660-pick-projection-test.mjs`(包侧投影门三件之一;A 码册恰一百一十九 / D 被弃投递读口对引擎真铸点四形 / H 作者两键与附件拒者两道投影 / E 载体九类与引擎状态律同向 / K 内核契约 9 / Z 两版引擎不读名零命中;红先 = 换钉后修前树 12 红)。
150
+ - `run-core-7640-pick-projection-test.mjs` A1 改 7.64.0 起下界、A3 改为派发表有行;`run-engine-notice-catalog-test.mjs` 码册 119(G8b / G-NM1)、G8m 按代判派发行、+G8n;`run-mods-kernel-transit-test.mjs` / `run-mods-kernel-install-matrix-test.mjs` 7.66.0 列(契约 9);`run-memory-entries-wire-test.mjs` R10 前提九类、「缺一类」移出坏形表、+R10e;`run-session-memory-erase-projection-test.mjs` J5 前提九类;生成器第二十七批(`DISCARDED_DELIVERY_PATHS`)。
151
+ - 新门 `scripts/run-local-engine-judge-projection-test.mjs`(包侧投影门三件之一;**§138 ES**):锚点读口(LEA1 判官模块零 import 宿主库 · LEA2 坏形 ⇒ 无锚点 · LEA2b 落盘戳不当进程起点 · LEA4 日志路径缺 ⇒ 不带)· 判官八判词各正控(LEJ1 – LEJ8)· LEJ9 坏形版本不判本地新 · LEJ10 身份判不出 ⇒ 卡指纹不等 · LEJ11 只凭 pid 的同一须锚定进程活着 · 车道投影 · 组指纹漂移 · 判词句 · 公面与敌意入参;红先 = 改前码上读口全缺。
152
+ - 新门 `scripts/run-local-engine-occupancy-projection-test.mjs`(包侧投影门三件之一;**§138 ES**):LEO1 登记计数 · LEO2 – LEO5 fleet-wide 后台读者律(两类停驻不计、parked workflow 仍计)· LEO6 会话驻留 shell 读登记表(retain 不计 / 读不到 · 认不出出身 · 被取代 · 达上限 · 状态词认不得 ⇒ unknown / covered 不进合取)· LEO7 – LEO8 本端六项与登记投影 · LEO9 – LEO9d 需求 · LEC1 – LEC3 卡(读不出 ≠ 空闲 / 指纹含目标实例与后台 id 集 / 停驻说明恒在)· LEC6 自动资格 · LEX 退出去向;红先 = 改前码上读口全缺。
153
+ - `run-engine-health-facts-test.mjs` EH9(四位逐位独立、证据位只真不假、0 照收、原串不规范化、版本与数据根两位对 sdk 同名位的编译期钉);`run-engine-agent-absence-projection-test.mjs` B8 改为「retained 真才带」、B8r 六形(非 true / 原型链 / 取值器 ⇒ 不带,不填 viewing);`run-message-catalog-test.mjs` 域闭集 +`localEngine`;`_catalog-corpus/cc1173.mjs` 三只新句口的目录路由语料。
154
+ - 新门 `scripts/run-local-engine-spawn-env-projection-test.mjs`(包侧投影门三件之一;**§138 EE**):LEE1 注入表逐行 · LEE2 用户显式赢只对可覆盖行 · LEE3 宿主装配位白名单 · LEE4 四只等待预算 · LEE5 播种层序与读不出的层 · LEE6 入口钉住键 · LEE7 顶层键投影 · LEE8 Windows 键名大小写(注入面按原名读写的每只键小写 / 混合拼法都按大写落,推导读哪些键由探针现读;名单 × 多租户声明经播种 → 注入面联合不误注)· LEE9 – LEE10 起服拒因(先脱敏后截断 / 以空白开头的秘密先于去前缀脱敏 / 不认的行)· LEE11 运维声明推导 + 单函数与表派生行同输入同值 + 输出依赖钉(门内把编译产物里的单函数换成探针、经 data: 地址载入变体:派生行的输出逐格随探针变、每次拼装恰调一次;「调用但丢弃结果 + 解构内联算法」与「结果再叠内联过滤」两形必须被判不依赖;源码别处零第二份按字面量与标识符扫)· LEO10 – LEO11 本机主体;红先 = 改前码上 221 格红;Windows 拼法与以空白开头的秘密两组格红先 = 改前码上 22 格红(20 / 2);输出依赖钉红先 = 派生行改成「调用但丢弃结果 + 解构内联算法」时旧的语法树存在性检查 233 格全绿、本钉红。
155
+ - 新门 `scripts/run-local-engine-anchor-shape-test.mjs`(包侧投影门三件之一;**§138 EE**;LEA3):锚点读口读的键(按语法树取)与宿主库锚点型对拍 —— 读口的键在宿主库里且型相容、候上游加性键一出现即红、弃用型 `EnginePortFile` 退役前不漂移;终端树(`SEMA_CLI_ROOT`)不在 ⇒ 诚实跳段;尺子自证不成立 exit 9。
156
+ - `run-local-engine-occupancy-projection-test.mjs` LEO9p(主体 × 四源:主体读不出 / 缺席 / 坏形 / 取值器 ⇒ `none`;红先 = 改前码上 43 格红);`_catalog-corpus/cc1173spawn.mjs` 三只新句口的目录路由语料。
157
+ - `run-automatic-answer-verdict-test.mjs` AN 段(§138 AN;基线 = 上一发布产物,缺席 ⇒ 红、不是跳段):公面判定的旧判定段与上一发布产物的判定体逐字节同(dist 语法树);语法树钉「首句出旧判决、其后零读卡、`facts` 只在规则车道读整工具规则」;差分全称(265 卡 × 三车道 × 14 形 `facts` ⇒ 差异只在「旧可放 ∧ 规则 / 钩子车道 ∧ 新 `unknown`」,规则车道良形整工具与姿态车道逐字节同)+ 具名反例读数;读序四格(旧阶段前段与上一发布逐读同 · 新阶段卡侧零读、`facts` 侧恰几读 · 卡与 `facts` 同一对象 · 交叉副作用的射程读数);规则值取法 17 形、取值器零执行、原型 `value` 植入;钩子射程只剩两词;公面与退役账。既有钩子车道各格改口(射程 `allow_or_deny` → `deny_only`,问本身的读数改由旧判定段钉);回收范围句在已知限制行与接入文档 §138-ANa 两处在场;红先 = 修前 23 / 35 格红。
158
+ - `run-no-allow-cause-test.mjs` NC-AN、`run-standing-rows-test.mjs` SR-AN:语法树钉两口读旧判定段(含导入不别名)+ 全组合对上一发布产物逐字节(原因口只许「上一版 `other` ∧ 旧判定可放」那一格改答 `whole_tool_rule_only`);NC-AN-4 – 6 钉新原因词的落点、两车道专句(≠ 通用句、不带规则旗名)与单一铸口;`run-rules-side-test.mjs` LR-AN:整工具判据换回原表达式即与上一发布 dist 体逐字节同 · 14 种解析结果差分 · 代理族读序与结局 · 抛错取值器;`run-hitl-answer-outlets-projection-test.mjs` HL-AN(两形参 / 读数三成员 / 第三参不改答案 / `enforceable` ⇔ `sent`);`run-approval-frame-live-facts-projection-test.mjs` 射程表钩子车道改口;判定口规则车道读数的既有格(卡读法 / 让位披露 / 悬挂行 / 耐久卡 / 生成表 / 服务端夹具各门)一律以整工具规则交判,保住判别力。
159
+ - 新门 `server-7147-pick-projection`(SP0 – SPe):服务端自铸登记新一代对 7.145.x 的差两向对拍处置表;真 `/health` 路由铸的回体 ⇒ 读数、键集与登记集两向;7.142.x 铸票 ⇒ 新一代兑付真铸 `refused` 行;提交面三只拒经真铸点 + 真类型包映射器;`inheritEnv` 拒因三词;车道词 `none`。门库新增 `serverSqlStoreJs`(服务端 7.146.0 起 SQL 店模块搬进 `stores-sql/`,按夹具版本认代),`durable-decide-leg` / `park-row-card-leg-projection` / `server-7145-pick-projection` 改经它;`server-7137-pick-projection` I1 改三词 + I1b 读开集格;`server-7145-pick-projection` 处置表 A3 改 consumed。门库再增 `noLaneConfig`(服务端 7.147.0 起部署必须点名执行车道:门里手搭的部署配置按夹具版本补 `remoteExec: { provider: "none" }`,老一代原样缺席 —— 两代同一个「没有执行车道」状态),`admissionDeps` 第二参改为必传的夹具 dist 目录并经它补车道;直调能力 / 决断 / 受理路由与起服的门改经它(起服两处另补 7.147.0 起必填的 `deploymentMods: []`);停驻行合成件按 gate 取成对的动作种类(`needs_review` ↔ `review`、`human` ↔ `tool_approval`;引擎 7.65.0 起错配行判 damaged)。
160
+ - 新门 `scripts/run-seat-subagent-alias-projection-test.mjs`(包侧投影门三件之一;§138 SE):适配层两处喂点各同拍恰发一只臂且入参 = 登记入参 · 无开卡回执照发 · 臂在同 tick 面板事件之前 · 车道证明 / 键集 / 过座位出站门 · 读口坏形二十三形 ⇒ `undefined` 不抛且经登记口答 `ignored` 账本零变 · 渲染端用同一份产物里另起的第二个账本模块实例作另一份空账本(正控:不登记 ⇒ 按任务 id 读空;收到宿主适配层真铸出的臂后先到的内容迁走、后到的归任务 id;`content` 不写续发目标、`full` 写)· 发臂不看账本(同帧两遍整条输出序列逐字节同;tick 逐条各发、回执重放再发、换卡再发)· 渲染端去重四形(同对第二次 `ignored`、`content` 后 `full` 仍 `registered`、重载后下一帧重登记)· 不发臂的负控八形(尺子自证:同流面板臂在场)· 消费者命中行(压缩状态追踪器不认本臂)。红先 = 换钉前源码树首格(S0 公面在场)即红,改发臂语义时先改格后红(I1);变异十枚各留红读数(见车回执)。修复腿:新门 78 → 126 格(⑦ 车道证明严读 + 座位门放行三形 / ⑧ `seq` 证据与 U / V 双账本),红先 = 修前首格 L1(坏车道证明)与 Q1(臂不带 `seq`)红,撤修变异七枚各留红读数;`docs/KNOWN-LIMITS.md` +2 行(KL-12801 无代际号形的登记序 / KL-12802 回执登记的后台子代重载窗口)。`run-seat-contract-keys-test.mjs` 座位词表十七 → 十八词(`SEAT_KINDS_EXPECTED` 末位 +`subagent_alias`,标题 / 按序格同改);`run-tick-model-and-config-drift-test.mjs` T10 不动(「同进程同帧两遍输出逐字节同」是结构性承诺,别名臂满足它);`scripts/public-export-baseline.json` +2 名(2101 → 2103);`scripts/gates-manifest.json` 登记一条。
161
+ - 新门 `scripts/run-local-engine-stop-ladder-test.mjs`(包侧投影门三件之一;**§138 ESB**):LES1 空闲形跟读到的排空期限 · LES2 强制形恰一次第二发 · LES3 无证据不发第二发 · LES4 / LES4b 处理证据的两道辨别 · LES4c 判不清活性每段零信号(96 拍穷举)· LES5 放弃经状态机进 `down{stop-failed}` · LES6 纯 / 冻结 / 坏形 / 常量与卡同读。
162
+ - 新门 `scripts/run-local-engine-step-matrix-test.mjs`(包侧投影门三件之一;**§138 ESB**):LEM 384 格逐格对拍穷举矩阵(每个守卫分区各一枚构造)· LEK1 – LEK4 启动锁 · LEC5 撤因同拍撤卡 · LEI1 – LEI8 不变量(信号只出自两行且只对锁内证实的同一目标 / 落后端零信号零起 / 不知道 ≠ 空闲 / 强制只经卡 / 一成因一目标只自动试一次 / 纯 / 持锁组态都有截止出口、一次性车道有界 / 熔断每事故 ≤ 28 次起)· 座位投影与答卡 / 重起结局 · LEQ1 – LEQ5 连续事件序列(引擎只报 pid、等锁期间换成同 pid 的另一条命 ⇒ 零信号 / 卡撤下后重投同一答案 ⇒ 不再出卡不再起锁 / 排空中来成因再退出、连做四次 ⇒ 不计死亡 / 「无引擎」读数与 `gone` 两种到达序 ⇒ 退出通告各恰一次 / 占用读数的取值器零调用、效果卡与座位卡同一指纹)。
163
+ - `run-seat-engine-target-test.mjs` ET9(生命周期六相位闭形与坏形点名 · `lastBootError` 单向派生 · 相位不可用撤 `mcp` · 两只新动词登记与回执闭集 · 相位 / 通告 / 失败句两语全覆盖 · 应用落后句中性)· ET10(主体读不出 × 无需求 ⇒ `down{principal-unknown}` 并出该句 · `behind.upgrade` 只透传 `available`)· ET11(本机半边铸口不冻结、不引用宿主的 `lifecycle` / `mcp`,取值器不执行);`run-seat-carriers-test.mjs` C5 被管表 `engineTarget` 组 +2 动词。
164
+ - **新门 `scripts/run-bash-curtailed-projection-test.mjs`**(CC-1289;**§138 BT**;包侧投影门三件之一):五形(含受上限折算的超时)× {部分输出 / 零输出} × {卡正文 / `tool_use_result` / `-p` 帧} 逐格,零输出三情形格(纯空白槽 × {有 / 无引擎正文} · 无框架槽回落臂 × {成功 / 失败} × {正文空 / 非空})、前接去重格(完全相同 / 同句后接正文 / 近似不同句),叶读口边界格(`type` 访问器 · 包装 Boolean · 安全整数上沿 · 继承秒数位 · `noOutputSec` 访问器与 `-0` · 已撤销代理)与取序逐对格(含仅 `aborted` + `callbackError` 同真),错误位与引擎值逐格同的正控(带部分输出 ⇒ `false`、零输出 ⇒ `true`;`interrupted` 恒 `false`)、坏形拒收(家族位非字面 `true` 六形 · 取值器三处一次都不执行 · 只在原型链上 · 单键描述符读抛不连坐 · 秒数十形只丢秒数 · 0 是读数 · 非 Bash 形整体缺席 · 多位同真取序确定)、既有律不变格(退出码 0 / 2 / 137 · 良性注记 · 后台交出形 · 非 Bash 工具名 · 被掐位与数值退出码并存;无被掐位的卡键序与 `stderr` 逐字节同修前)。登记:门名单 + README Guards 行 + 超集台账 `_sema_curtailed` + 棘轮 `typeshape.unknownExport` 587 → 588(`bashCurtailmentOf` 一处入参,包内叶不上根入口)。
165
+ - 占用读数 / 起服注入面 / 目录三处收尾(**§138 ES / EE / ESB**;零公面变):`run-thrown-data-reads-test.mjs` OW3 / AE1 两红收口 —— 他端登记 `status` 的描述符判形改自有判(`Object.hasOwn(d, 'value')`,`Object.prototype.value` 被植入后访问器位不再被读成植入的合法词而判空闲)、元素表落位经 `appendOwnElement`;`run-local-engine-occupancy-projection-test.mjs` LEO1b 加两组共 14 格(植入 `idle` / `busy` / `waiting` × 读不出 / 不判空闲 / 取值器零执行 / 自有数据位正控,与 `Array.prototype['0']` 吞值 / 换词两形下他端记录照数)· `run-local-engine-spawn-env-projection-test.mjs` LEE4c(10 s 计划超时只住状态机时限表 `LOCAL_ENGINE_TIMING.prepareTimeoutMs`:注入面私有常量退役、`lockWaitMs` 扣掉其余三项恰 2 × 表值、全仓语法树零私有常量标识符 / 属性赋值恰一处 / 注入面恰一处读)· `run-seat-engine-target-test.mjs` ET10 与 `run-message-catalog-test.mjs` MC15(「主体读不出」目录键恰一把;座位句与失败句同一句;两条旧键退役)· `catalog-migration-golden/cc1173.json` 登记两条改口。
166
+ - `run-park-expiry-judgements-test.mjs` N 段(CC-1177;**§138 CF**):呈卡族三态各一格(`expired` + `parked:true` 带 / 不带成因词 ⇒ 转停驻;`expired` 无停驻位 × 成因词表每个词 ⇒ 撤卡;`allowed` / `denied` ⇒ 已决,含带 `parked:true` 的非契约形)· 窄不下来 ⇒ `null` 二十五形逐形(版本 / 三个 id 的缺席与非串交叉 / 时钟 / `outcome` 开集 / 成因表外·非串 / `parked` 非严格 `true`〔含 `new Boolean(true)`〕/ 键在场而值 `undefined`;每形先验 sdk 守卫真答否)· 呈卡族别的帧(开卡 / 撤卡 / 近邻拼写)⇒ `null` · 池证**行为等价**(五版本 × 六结局 × 四停驻位 × 五成因 = 600 帧逐帧:呈卡族答案 ≡ 守卫答真 ? 同帧改写成旧族 type 后的答案 : null;池只证答案等价,共享判决函数另由 U10 源码文本格断言:调用恰两处、结局词判决串恰一处)· 旧族不被新族守卫连坐(守卫必拒的旧族形照旧读,含 `parked: new Boolean(true)`;旧族 `outcome` 取值器按既有普通读执行恰一次)· 快照律(`outcome` 取值器首读通过二读抛 ⇒ `null` 且取值器零执行;`parked` 取值器自改成数据位 ⇒ 撤卡;整帧 / `outcome` 只在原型链上 ⇒ `null`;代理的 `get` / `has` 陷阱零咨询、九个快照键各一次描述符陷阱抛与键枚举陷阱抛 ⇒ `null`;分派读 `type` 恰一次);U7 – U10 单源(模块值导入并调用 sdk 谓词、零处自读守卫要读的六键);D 差分池加 `approval_complete`(池内帧窄不下来 ⇒ 与壳原实现同答 `null`)。红先 = 修前 N-a 第一格红(呈卡族恒 `null`)。
167
+ - **外来体读器六处的钉**(CC-1057;**§138 AB**;扩既有门,不新增门):`run-standing-rows-test.mjs` R13(五个候选位 `ruleOffers` / `unreadableEvidence` / `rememberRefused` / `ruleOffersAbsence` / `argsUnavailable` 各一枚「在场而 `has` 答假」⇒ 三行全关 `card_unreadable`;`cardPayloadUnreadable` 隐藏 ⇒ 会话行不给;读描述符抛 + `has` 答假;座位过境口不出会话位;每键配 `has` 抛对照〔三行全关〕与真缺席正控〔与不套代理逐位同〕)· `run-approval-card-reading-projection-test.mjs` RR(卡帧 `readRootCandidate.covers` 坏值 / 键在值 `undefined` / `null` / 合法 `exact` 在场而 `has` 答假 ⇒ 整只座不过境;`has` 抛对照;真缺席 ⇒ 两键目录形、`exact` 自有位 ⇒ 三键形)· `run-engine-notice-catalog-test.mjs` H5f(授权通告 `covers` 同四形 ⇒ 不认领;`has` 抛 ⇒ 不认领且读口不抛;真缺席 ⇒ granted 无 `covers` 键;`exact` 自有位 ⇒ 带 `covers`)· `run-persisted-rule-write-test.mjs` W12(撤销面 / 写面 `principal` 空串 / 空白 / 数 / 合法名在场而 `has` 答假 ⇒ 撤销返回 `undefined`、写面 `refused/unusable_principal` 且零往返;`has` 抛 ⇒ 原样抛出;真缺席 ⇒ 照旧)· `run-mcp-reconnect-test.mjs` S8(`toolNames` / `listingIncomplete` 坏形与合法值在场而 `has` 答假 ⇒ 整只畸形;`has` 抛 ⇒ 原样抛出;真缺席 ⇒ 与不套代理逐字节同)。红先 = 修前源码树各域新格红(见车回执读数),变异各留红读数。补格(同批):五门各加「`in` 答真而键只在原型链上」与「`in` 先答真、复问答假(前后矛盾)」两类格 —— `run-standing-rows-test.mjs` R14 · `run-approval-card-reading-projection-test.mjs` RR2 · `run-engine-notice-catalog-test.mjs` H5g · `run-persisted-rule-write-test.mjs` W15 · `run-mcp-reconnect-test.mjs` S10(原型链位:值按旧读法取,出闭集 / 指不了人 / 坏形 ⇒ 各点既有处置,合法值照旧带出;矛盾:一律按不能证明缺席);读口 `in` 答真一支的出口(原型链位 / 矛盾)任一改答「缺席」,五门即红。修复腿 r3(同批):五门再各加「`in` 答真而读自有描述符就抛(只抛 / 先删键再抛)」格 —— `run-standing-rows-test.mjs` R15 · `run-approval-card-reading-projection-test.mjs` RR3 · `run-engine-notice-catalog-test.mjs` H5h · `run-persisted-rule-write-test.mjs` W16 · `run-mcp-reconnect-test.mjs` S11(S11 断言最终 `reconnectMcpServer` 决定:坏形 / 合形的 `toolNames` 与 `listingIncomplete`、复问 `in` 抛、`outcome` 的 `has` 答假 + 应答期限码 + 坏 `toolNames` ⇒ `failed` 畸形体而非 `ok` / `unsettled`;各配如实透传 / 真 503 体 / `has` 抛 / 原型链 `outcome` 对照)。
168
+ - `run-approval-card-reading-projection-test.mjs` PG 段 + AK-R2 / R3 / R3b / R3c 改口(CC-1117;**§138 PG-1**):行入参缺席 / `null` / 尺寸标记 / 数组 / 串 / 日期 / `Map` × 流上在场 ⇒ 卡上 args = 流上那份、`argsUnavailable`、回落句逐字、无 `argsRewritten`;纯批准与拒绝照发;「编辑后批准」(含 allow_session)⇒ decide 零次、`not_sent{edit_refused}`、告知句恰一次、失败原文不含「已决」判据词;行在场各形 / 缺口两形 / 流上非对象(不出卡)/ 活卡帧腿回落形(编辑照发)不动;目录英 / 中两键在场且卡上句 = 英文目录值。红先 = 改前树 PG 与改口格红。
169
+ - `run-hitl-gate-honesty-test.mjs` F18③f 改口 + F18③k + F20 段(CC-1117 / CC-1119;**§138 PG**):F18③f 负控由「回落卡改写照发」改钉「回落卡改写零次」;F18③k 生产入口(停泊腿,行缺席 ∧ 流上 `tool_start.args` 在场)回落卡 + 改写零 decide + 不空转重连;F20 问答卡取用序 —— 行在场且与流上不同 ⇒ 行上那份(无回落位)· 行缺席 / `null` / 超限标记 / 空数组 / 非数组 / 串 / 含坏项 ⇒ 回落流上并盖 `_sema_questionsFromModelCall` · 两边都没有(含流上坏项)⇒ 不出卡零 decide · 目录两语键;各格断言延到最终消费结果(作答体 `answer.answers` 逐字、续流上答案卡的题面 = 发布帧上那份、`answers` 以该题面为键)· `usableAskQuestions` 与 `askQuestionsFromPending` 逐输入同答。
170
+ - **只有段末帧的文字块的钉**(CC-1172;**§138 LT**):`run-text-segment-authority-test.mjs` EO 段(单只段末帧一行 + 行段身份 = 段末事件 `segmentId` + 事件序与 `committedUuids: []`〔EO1 – EO2c〕· 常态块 / 只有段末帧的中段块 / 工具卡 / 常态块 ⇒ 三行文字按序、三个段身份互异、拼接 = 账本两行〔EO3〕· 整块 `text` 帧交付过 ⇒ 其后段末帧不重铸、多块拼成一行之后跟多只段末帧不重铸、工具卡边界复位后零经手的段末帧是新一块〔EO4 – EO6〕· 与「一只增量 + 一只段末帧」的 chrome 增量 / 段末事件 / 转录行逐字同〔EO7〕· 思考先于回答〔EO8〕· 工具卡之后的终答块恰一行〔EO9〕· 子流不动〔EO10〕· 有经手的形不动〔EO11〕· 连续两块 / 下一轮第一块〔EO12 – EO13〕· 流层动作的来源位写读复位〔EO14〕· 压缩分界复位来源位:整块行 · 段末帧 · 压缩分界 · 只有段末帧的块 ⇒ 转录含该块、与显式增量 + 段末帧的同块产出逐字同、取值器形 `subtype` 不执行不抛〔EO14h、EO15 – EO15c〕);`run-server-7144-pick-projection-test.mjs` SWf3 – SWf6(两代夹具活流真铸帧:中间那块在、段身份同段;新一代夹具真账本 `createLedgerSink` 铸的 `text` 行回放 ⇒ 每个边界之间的文字与活流转录逐字节同;老一代夹具账本不含该块的事实格);`run-client-core-pure-test.mjs` `323-g` 改口(光秃秃一只段末帧 ⇒ 一行)+ `323-g′`(整块行之后的段末帧仍不重铸);红先 = 改前树 EO 13 格红(EO14 的具名动作缺席 ⇒ 判据自证 exit 9);压缩分界一组改前树 5 格红(EO14h / EO15 / EO15a / EO15a2 / EO15b)· SWf3 – SWf5b 6 格红 · `323-g` 红。
171
+ - `run-live-pending-ask-test.mjs` AR10 – AR15(CC-1132;**§138 ID**):读器腿(帧 id 取值器 × 两族 × 前 2 / 3 次同值、行 id 取值器含单行 ⇒ `malformed`、行 / 帧 id 只在原型链上)取值器一次都不执行、坏行丢弃计数、坏帧位出盲卡且 `respond` 只发往行 id · 入口腿(五形 × 两族直收帧:取值器 / 原型链 / 缺席 / 空串 / 数 ⇒ 零卡零发送、`not_sent` / `card_unavailable`;良构帧正控)· 交接腿(读器之后改帧上 id、描述符读每次换答案的代理帧:`respond` 只发往行 id、读器恰取一次描述符、之后零次)· 旧族路由层(`routeFrame` 收到 id 为取值器的帧:零卡、零 `respond`、结局回交 `not_sent` / `card_unavailable`;良构帧正控)· 宿主手拼的行视图 id 不可用(空串 / 数 / 缺席 × 两族 × 全卡 / 盲卡共 12 格 ⇒ 零卡零 `respond`、`not_sent` / `card_unavailable`,不退回去读帧)· 判据自证两格(取值器夹具前 N 次读原 id、之后读第三值;代理夹具第二次起说别的);红先 = 修前树 39 格红(AR10a/b/e × 2、AR10c/c2/d、AR11 × 10、AR12a/b × 2、AR14 × 4、AR15 × 12;修前旧族路由实发往第三值),AR12b 在修前读器不取描述符 ⇒ 读数 0 次而红。
172
+
173
+ ## 0.108.0(2026-11-05)
174
+
175
+ > 主题:换钉到引擎 7.64.0(内核契约 8 不变;CC-1199 / CC-1212;接入文档 **§137 CT-1 – CT-9**)—— 通告码册 117 → 118(+`delegation.delivery_discarded`,只登记);四只拒句通告的读数带出处三态 `leg`,「调用在哪只会话上被拒」只经 `noticeCallSessionOf` 答(🔴 行为变:委派腿上的这几条不再读作本会话自己的拒);门记录拒臂透传引擎的引出段 `echoed`;缺省模型可解析的合成判官 `catalogDefaultModelVerdict` 与值级端口第二十五件 `modelFaceResolvable`(🔴 型面 BREAKING:按完整型建端口袋的宿主编译红一次);停驻行成员形表的两处收窄按引擎判决照读;其余引擎面逐件零读点。 ‖ hooks 里服务端读者不读的键:那一条不上请求体 + 开机清单点名,`onFailure` 按服务端代际剔并披露(CC-959;接入文档 **§137 HK-1 – HK-8**;行为变,公面常量值变) ‖ 通知唤醒提交一次回读的受理分类判官 `taskNotificationAdmissionOf`(只收正向证据)+ 带完成身份的通知件不合批(CC-923 车 C;接入文档 **§137 NB-1 – NB-3**;行为变、公面 +1) ‖ 另:换钉设置契约到 18.0.0(major;CC-1222;接入文档 **§137 SS2-1 – SS2-9**)—— 云控制面投影多 `a2a` 对端名读数(🔴 型面 BREAKING:自己构造 `CloudProjection` 的宿主编译红一次);请求面 MCP 的保留成员名随上游变成一张表(🔴 行为变);「本部署没有执行车道」判点的新词改读生成表;其余不加性边逐件零读点。 ‖ 模型受理判官值级读 `aliases[]`(别名受理 `aliased` / 部署名单不许 `not_at_mentionable`;CC-944;接入文档 **§137 MA-1 – MA-5**;why 闭集 +2 型面加宽) ‖ 审批卡上「谁问的」两位 `agentId` / `askReasons` 上卡(三面一读法)+ 兑付回执结局词 `refused` 收进四词闭集(CC-1231;接入文档 **§137 AR-1 – AR-4**;加性 + 行为变) ‖ 五只闭集补词:引擎目标拒因 `cloud_unreachable` · 审批收面词 `engine_unavailable` · 分派拒因 `session-ambiguous` · 切档回执 `unavailable` 带 `code` 并按两因出句、句子里的档名改说界面档名 · `disableAllHooks` 关腿的原因句(CC-1205;接入文档 **§137 CS-1 – CS-5**;🔴 公面常量值变 + 型面加宽 + 行为变、公面 +2) ‖ 「这里决不了」出路句按停驻行的到期位分三态:有到期计时才说「等它过期」,没有到期计时(`deadline: null`)说这条审批没有到期计时、只剩取消,不知道只说取消(CC-1239;接入文档 **§137 WO-1 – WO-3**;行为变 + 可选位) ‖ 座位资源动词按会话答 + 新会话车道意图位:`listModels` / `uploadAttachment` 多一只末位可选作用域(带会话 ⇒ 那只会话所在引擎;缺席 ⇒ 新会话缺省车道;不按聚焦会话),`start` 多可选意图位 `engine`(CC-1193;接入文档 **§137 LN-1 – LN-11**;型面加性、公面 +2;另:座位判官全族的「普通记录」判据收紧,原型是自造无原型对象的载体改为拒 —— 🔴 行为变,往拒的方向) ‖ 座位动作通道(CC-1170;接入文档 **§137 SA-1 – SA-5**):宿主 → 渲染端单向动作事件 `onSeatAction`(闭集两词 `new-project` / `prefill-composer`;永不代发送、不覆盖草稿)+ 认领动词 `claimSeatActions`(宿主只为被认领的词出入口;表外词整表拒并点名)+ 可选能力位 `seatActions`(🔴 型面 BREAKING〔窄〕:`LocalSessionsApi` 多两只成员;公面 +5);宿主 → 渲染层 UI 意图类的词随后续版本作同一闭集的加词,不另开通道
176
+
177
+ ### Fixed
178
+ - **座位判官全族不再把「原型是自造无原型对象」的载体当普通记录**(CC-1193 对抗审;**§137 LN-11**;🔴 行为变,往拒的方向):座位的「普通记录」判据改读包里唯一那一只原型判据(直接原型须是某个 realm 的真 `Object.prototype`)。修前只问「原型自己的原型是不是 `null`」—— 一只自造的无原型对象当原型也满足,挂在它上面的位是继承位:闭形判据只读自有位、看不见,宿主按属性读却读得到(例:`checkStartSessionOptions` 对继承的 `engine: "remote"` 答过)。出站门与入站判官全族拒(拒因点名普通对象),能力表读口答 `malformed`;对象字面量、`Object.create(null)`、另一 realm 的对象字面量、经结构化克隆收到的载荷判定不变。
179
+ - **`readAskUnresolvable` 直调不再抛**(**§137 CT-3**;行为变,在包):`detail` 的四只必填格读取受保护 —— 取值器或代理陷阱抛 ⇒ 读器答 `undefined`(修前直调把异常抛给调用方;按码派发口与另三只拒句读器早就答 `undefined`)。
180
+ - **hooks 带服务端读者不读的键不再让整轮 400**(CC-959;**§137 HK-1 / HK-5**;🔴 行为变):服务端 7.135.0 起对新提交体里 hooks 读者不读的键答 `400 request.body_shape`(`unknownKeys` 列全路径坐标);修前判官对这些键答 `loaded`、本包把原对象照发 ⇒ 设置或插件 hooks 带 CC 的 `onFailure` / `rewakeMessage` / `rewakeSummary` / `cloud`(或拼错的键)时每次新提交整轮失败。现在那一条(组上的键 ⇒ 这一组每一条)不上请求体、其余照投,本端能跑的交本端,本端也跑不了的进开机清单 —— 一句点名坐标(与服务端 `unknownKeys` 同形)与出路(删掉该键,或连到会读它的服务端);不拒这一回合(托管层同);拿掉的键里有 `onFailure` 时句末补一句「失败时不会阻断」。「读者读不读」三层各一处:设置契约分类器的投影(构建期抄本)加读者另外承运的请求键(组 `source`,command 条目 `plugin` / `args`)—— 不另立字段表;抄本比连上的服务端读者新时,按服务端自报版本落代际表扣掉那一代不读的条目键(服务端 7.139.0 – 7.146.x 不读条目上的 `onFailure`;版本读不出 / 未登记的代际按不读 —— 含 7.147.0 及更高:那一代服务端起自报读者字段闭集,本包改读它的那一版删表,在那之前照按不读)。
181
+ - **hooks 组上作者手写的 `source` 不再过境**(CC-1226;**§137 HK-9**;🔴 行为变 + 公面常量值变;安全修复):服务端按 hooks 组的 `source` 分执行相(`managedPolicy` = 托管终判相、`managedPlugin:<名>` = 托管插件相、缺席 = 非托管相,集外词整份 hooks 拒);修前设置文档(任一层)与插件清单里作者写在 hooks 组上的 `source` 原样上请求体 ⇒ 项目层 / 用户层 / 本地层设置或非托管插件可把自己的 hook 自报成托管终判相,写了集外词则整轮失败。现在请求体上的组 `source` 只由本包按来源写(本版不写任何组 `source`),作者写的那一只 —— 值是什么都算,与来源相符的词也算 —— 让这一组的条目不上请求体:不剥键改义、不换成本包的值,拿掉原因 `source_not_authored`(`SETTINGS_HOOK_DROP_REASONS` 第四词、`PLUGIN_HOOK_REASONS` 末位 +1 = 25 词,两只句口同一句;本版两张词表合计:设置拿掉 2 → 4、判定依据 23 → 25),本端能跑的交本端,本端也跑不了的进开机清单 —— 一层一句点名坐标 `settings.hooks.<事件>.<组下标>.source` 与出路(删掉该键);托管层同(不拒这一回合)。门槛与 `key_not_read` 同:判官不收的组 / 条目照旧归坏形判官与发出前预检(坏形守卫不因组上多写一只 `source` 而绕过整回合拒发);组上的 `source` 是访问器 / 读的时候抛 ⇒ 当作写了。
182
+ - **停驻决定口 fail-soft 收场句的真因句尾带 HTTP 状态码**(CC-1134;**§137 SB-1**;行为变:文字,在包;零型变、零公面变):修前 `… gate could not be answered: decide(deny) failed: <引擎句> — the run is still parked …` 只有引擎句,活卡收口句却带 `(HTTP n)`;现在引擎给了语义答复、拒收读数的状态码在 400 – 599 的整数域内 ⇒ 真因句尾(出路句之前)接 `(HTTP n)`,与活卡收口句**同一只**括注铸点(新增包内件 `decisionStatusTag`,活卡句改调它,输出逐字节不变)。读不出(传输失败 / 撤卡 / 编排层收场 / 本地安全停 / 状态位在域外或是取值器)⇒ 不带,不编。同步腿帧上的 `_sema_park_failed_reason` 与耐久腿合成终帧的 `errorMessage` 同句;问答腿同律。
183
+ - **`resultErrorCodeInTextOf` 只在帧上有自有 `errors` 数组时认「正文已含码」位**(CC-1104;**§137 SB-2**;行为变,读口;签名不变):这一位的主语是 `errors[0]` —— 读口先认位(自有数据位、恰为字面 `true`),再要求帧上自有数据位 `errors` 是数组(取值器不执行、原型链上的同名位不算、读描述符抛 ⇒ 缺席)。0.104.0 起成功臂不铸这一位,但 0.103.0 一版落盘的成功臂帧(带本位、没有 `errors`)读回时不再答 `true`;失败臂帧带位照旧 `true`。
184
+ - **后台子代的属主账同时吃出生帧 `task_started`**(CC-1247;**§137 SB-6**;行为变,在包;零型变、零公面变):事件腿组合器 `stampOwner` 级的帧类型域由 `task_progress` 扩为 `task_progress` + `task_started`(出生帧的 `taskId` / `sessionId` / `parentTaskId` 与进度帧同名同值,序在子代首个进度帧之前),`recordSubagentOwnerFromProgress` 认同一对(函数名不变)。修前首个进度帧到达之前,按子代 id 寻址属主(停止 / 续跑)落空,`-p` 的 `stop_task` 在这一窗报 No task found。两帧同 `taskId` 同属主,第二次写同值 ⇒ 同一记录、不冲突、不隔离;出生帧缺 `taskId` / 空串 / 非串、或帧绑定未知 ⇒ 不登。老服务端(≤ 7.126.x)不发出生帧 ⇒ 属主账仍由首个进度帧喂。
185
+ - **停驻 fail-soft 收场句在「续不了停驻族」拒形下不再接「在卡上决」**(CC-1249;**§137 SB-7**;行为变:文字,en / zh;在包,零型变、零公面变):引擎对决断答 409 且拒体属续不了停驻族(`checkpoint.unsupported_version` / `checkpoint.walltime_axis_retired` / `checkpoint.config_refused` 三码)时,这台引擎目前续不了这份停驻;修前收场句尾仍说「decide it on the card when it is shown again」(待决行带判决的较新引擎上卡不会再呈,较老的引擎上卡会再呈但同一请求再决也续不了 —— 对两代都不是出路),并与引擎句里「再发同一请求也续不了」自相矛盾。现在该拒形走专句(消息目录 `approval.park.refusedNotResumable`):真因(含状态码括注)之后只给取消出路(「若这一跑仍停着」为条件),不断言卡永不回来。族判只在停驻解析器一处(读族读口,出路判点与「这一行在这里决不了」同点);非该族的 `engine_refused`(如绑定不符)、拒体读不出族,仍接原尾句,不编取消专句。问答腿同律。
186
+ - **引擎已声明的五枚续跑拒码补入拒绝句表,一枚按取舍留在表外**(CC-1095 ①;**§137 RC-1 – RC-6**;行为变,在包;零型变、零公面变):引擎的续跑拒码 `resume.principal_mismatch` / `resume.composition_mismatch` / `resume.parent_constraint_missing` / `resume.parent_constraint_mismatch` / `resume.constraint_unprojectable` 原注都写明「拒在认领之前、卡仍待决」,与既有的 `resume.placement_mismatch` 同处置;修前它们不在 `RESUME_REFUSAL_CODES`,读口答 `null`、补充句链零行,无状态码的形上失败文字恰含 already / resolved / not found 时还可能被读成「门已决」。现在每枚一句(三段:发生了什么 · 这一发没消费你的决定 · 出路;中英各一,第二段是同族共用的同一句),码认领谓词认这五码,体带 `retriable: true` 也不给「原样再发」的重试。`resume.holder_superseded`(原注「认领输了 · 不要重试」)处置与本集不合,不进任何闭集:读口 `null`、补充句链零行(缺口见接入文档 §137 包侧缺口〔RC〕①)。`RESUME_REFUSAL_CODES` 运行期内容 2 → 7 员(型不变);五枚码常量不上根入口。
187
+ - **无头续收腿对「run id 已绑定的传输错」也走一次重连环**(CC-1066;**§137 SD-1**;行为变:`-p` 车道;在包,零型变、零公面变):`withHeadlessR1Reconnect` 今天只在流以静默撕裂收场时进 R1 重连环。改为:run id 已绑定(X-Task-Id 已捕获)∧ 抛出物是传输形(判型口 `classifyTurnWireError` 答 `transport`:引擎没应答的网络 / 传输层失败;与续收腿记断因同一只判型)也进同一条环 —— 同预算(`HEADLESS_RECONNECT_MAX`)、同探活(答死 ⇒ 原样抛)、同去重锚;耗尽 ⇒ 抛原错误对象(同一引用、`message` 不变),另登记「这块屏不再跟着 run X」(`runNotFollowedOf`)。run id 未绑定 ⇒ 原样抛、不开续收、不探活、不登记;非传输形(带应答状态者)与已中止 ⇒ 原样穿透。
188
+ - **「没被用上」通告认审批反馈行**(CC-1207;**§137 SD-3**;行为变:文字,en / zh;型面加性:`UserInputUndrainedFactsView` 多一只可选位 `inputKind`、`userInputUndrainedNotice` 多一只可选第二参 `lang`;根入口运行期零增减):引擎收场时同一次可先后发两行 steer 码 —— 插话行与审批反馈行(`detail.kind: "approval_feedback"`,批准工具调用时随卡写下的话没送达模型,不带 `inputIds`),同码同 `taskId`。读口按自有数据位读 `kind`,闭集两词 `'steer'` / `'approval_feedback'`,其余一律缺席(缺席 = 按插话,今句);反馈行 × `cause: leg_end` 出新的一句(目录键 `notice.userInputUndrained.approvalFeedback.{one,other}`,不说「run 进行中发的话」,子代副本帧同句),其余形今句逐字节不变。去重单位自 `(code, taskId)` 改为 `(code, taskId, inputKind)`:同一次收场里的插话行与反馈行是两个单元、不互吞。对账判词不变(反馈行不带名单 ⇒ 零重投)。
189
+ - **`structuredDetailType` 对老引擎仍发的 `task-output` 卡答「在场」**(CC-1194 ①;**§137 SD-4**;行为变,读口;零公面变):0.106.0 删 TaskOutput 工具时只留了读法(`structuredToToolUseResult` 的老引擎臂)没留谓词 —— 同一张老引擎的卡,读法读成富卡、`structuredDetailType({ type: 'task-output' })` 却答 `undefined`。谓词与读法同留:该词住在一只私有常量里(退役登记 RL-11940,条件挂 core 支持底线越过 7.61.0),镜像表 `STRUCTURED_DETAIL_TYPES` 仍恒等于引擎卡型表。
190
+ - **`rememberRefusalOf` 对老服务端的缺绑定码答码本身**(CC-1194 ②;**§137 SD-4**;行为变 + 型面加宽:`RememberRefusalCode` 多回一员 `'remember_requires_binding'`;根入口运行期零增减):0.106.0 退它的前提「本包决断出口恒回显两位 ⇒ 支持范围内不可达」只对本包自发的决断路径成立,公面判官也服务宿主自拼决断体的迟到腿,老服务端(< 7.143.0)在那条路上仍铸它。读法与谓词同留(退役登记 RL-11941,条件挂服务端支持底线越过 7.143.0):它是 remember 专属码,停泊腿对它回退纯批准并告知;`decide_requires_binding` 仍不收。只对该返回值做 `never` 穷举的宿主要把这一臂加回来(§137 SDy ①)。
191
+ - **停驻行判决 `lacking` 的出路句**(CC-1217;**§137 SD-5**;行为变:文字,en / zh;在包,零型变、零公面变):自愈行句「这台引擎续不了那条待决请求」的出路按判决 `kind` 分叉 —— `lacking`(行写自更新的引擎)⇒ 目录新键 `approval.rowUnresumable.lackingWayOut`:「由更新版本的引擎续跑 —— 升级这台引擎后再发一次消息(有多台引擎可选时换到更新的那一台),或取消这次运行」,不再给「等这条审批过期」,也不随到期位变;`damaged` / 认不得的判决词 / 读不出 ⇒ 仍是 §137 WO 的三态那一句。
192
+ - **宿主回调口的异常 / 拒绝不再外溢:`onParkReattach` 与同族四处**(CC-1137;**§137 SD-7**;行为变,在包;零型变、零公面变):`onParkReattach` 修前是同步 `try / catch` + `String(e)` —— `async` 回调被拒成未处理拒绝(Node 缺省整进程崩),无原型的抛出物 `String()` 自己抛时二次异常逃出 catch,读位抛也逃出。改走包内唯一的宿主回调隔离口 `invokeHostCallbackIsolated`(读位与调用同在口里、拒绝由口接盘、不可打印抛出物留固定占位、读位之后已中止不再调)。同族四处同改:审批 feed 的订阅者两臂(真快照 / 「不知道」)、计划审阅的结局回调 `onOutcome`、决断发送机的持有句柄动词。
193
+ - **发布前订正六处**(**§137 MA-7 / CT-3 / CS-5 / SD-1 / SA-1 / 包侧缺口〔AR〕⑥**;行为变,在包;零型变、零公面变):① 回体读口 `readLiveModelCatalog` 的行过境对受理判官读的三位(`id` / `enabled` / `atMentionable`)按原件的自有描述符落位 —— 宿主交进 JS 目录对象、行上这几位不可枚举时,过读口前后 `modelAcceptanceOf` 同答(修前不可枚举的 `atMentionable: false` / `enabled: false` 过境后读成受理,不可枚举的访问器名单位由说不出变受理,不可枚举的 `id` 过境后按 id 找不到行;访问器 / 读抛落 `null`,取值器零执行;JSON 回体不经这一支) · ② `readAskUnresolvable` 整只在保护边界里:信封读抛 / 描述符陷阱代理 / 已撤销代理 ⇒ `undefined`、不抛,可选位 `parkLaneExisted` 取值器抛 ⇒ 只省这一键、四只必填事实照交(修前这几形直调照抛,按码派发口答 `undefined`) · ③ 托管设置 `disableAllHooks` 关腿的原因句改为点名来源、说关的是全部 hooks:`All hooks are turned off by managed settings (disableAllHooks).` / `托管设置关闭了全部 hooks(disableAllHooks)。`(修前「Hooks on this layer are turned off as a whole …」不说是哪一层,而关的是全部层、关它的是托管层;按文字比对本包句子的端跟着改) · ④ 无头续收腿判首个抛出物是不是传输形,改读续收腿记断因的同一只判型(`classifyTurnWireError` 的 `transport` 臂;修前另读 `isWireTransportError`,两只只在「流未带终帧而结束」那一名上分叉,真实抛出物上零行为差) · ⑤ 接入文档 §137 补包侧缺口〔AR〕⑥:座位审批请求 `ToolPermissionRequest` 不带 `agentId` / `askReasons`,经座位收卡的渲染端读不到这两位 · ⑥ 座位动作 `prefill-composer` 的 `text` / `cwd` 字符判改读本包展示面那一张不安全字符表(座位不另写字符类;🔴 往拒的方向:零宽 / 软连字符 / 标签字符 / LRM·RLM / 行段分隔符 / 孤 `\r` 都拒,`\r\n` 与 emoji 连字语境里的 ZWJ 照放),认领拒因里点名的表外词改走本包嵌句引法 `quoteUntrustedForSentence`(字符面标记可见化、凭据形遮盖、封长 64)。门:`run-model-catalog-read-projection-test.mjs` MA13‴ / MA13‴b · `run-core-7640-pick-projection-test.mjs` L7′a / L7′b · `run-hooks-merged-disable-projection-test.mjs` NT0 改钉 · `run-run-follow-projection-test.mjs` G10b⑦;各格改前实现上红。
194
+
195
+ ### Changed
196
+ - **接入文档订正两条**(网页端 / 桌面端 0.107.0 落地读数;**§137 DC-6 / DC-7**;文档,零代码):HFy ③「零动作」只对经包取件腿呈卡的宿主成立,自有耐久腿要自接 `checkpointRowVerdictOf`;RVc 覆盖清单加「自有出站臂的宿主」一行(不经 `sendHitlDecision` 的宿主按出站路径对表)。
197
+ - **凭据洗消勘误(Cf 子集)判据眼改写**(CC-879;**§137 DC-5**;文档,零代码 / 零公面 / 零行为):自服务端 7.132.0 起引擎不再剥 `\p{Cf}`,判据眼从「Cf 子集只对未经引擎的文本生效」改为「展示出口五网对 Cf 的处置在经引擎转出与未经引擎的文本上同样生效,孤代理项 / C0 两子集不变;≤ 7.131.x 旧判据眼照旧」;§117 冻结字节不动。
198
+ - **换钉到引擎 7.64.0**(CC-1199;**§137 CT-1**):开发依赖引擎 `^7.63.0` → `^7.64.0`、内核包 `7.63.0` → `7.64.0`,package-lock 钉 7.64.0(原语包 7.64.0 随引擎传递装入,本包不直接依赖);内核契约号仍 8,内核包两版产物逐文件同;构建期生成表重生成 —— 通告码册 / 受众 / 铸方三张 +1 码,事实表 +1 只冻结元组(拒行引出段的种类词,值取引擎包根 `REFUSAL_ECHO_KINDS`),设置契约表 +1 只(模型面拒码闭集,值取设置契约包根 `MODEL_PLANE_REFUSAL_CODES`;设置契约包钉不动);换钉前编译红 0。
199
+ - **通告码册 117 → 118**(CC-1199;**§137 CT-2**;🔴 公面常量值变):`ENGINE_NOTICE_CODES` / `ENGINE_NOTICE_AUDIENCE` 仍逐码等于已装引擎;新码 `delegation.delivery_discarded` 受众 operator、铸方 engine,只登记、无事实读器(端按受众渲引擎 `message`;`detail.path` 本包不读,见 Known limitations)。
200
+ - **四只拒句通告的出处三态**(CC-1199;**§137 CT-3**;🔴 行为变 + 型面:四只事实视图多一只必填成员):`readAskUnresolvable` / `readAskReleasedByMode` / `readReadDenyUnapplied` / `readClassifierUnavailable` 的读数末位多 `leg: NoticeLegView` —— `detail.sourceSessionId` 与 `detail.agentId` 都不带 ⇒ `{ kind: 'self' }`;`sourceSessionId` 是非空串 ⇒ `{ kind: 'delegated', sourceSessionId, agentId? }`;新键在场却读不出(非串 / 空串 / 取值器抛 / 只带 `agentId`)⇒ `{ kind: 'unreadable' }`,不回落 `sessionId`。引擎 7.64.0 起委派腿上这几条的 `detail.sessionId` 是委派树的根会话,不是调用所在的会话 ⇒ 「调用在哪只会话上被拒」只经新函数 `noticeCallSessionOf(facts)` 答(self ⇒ `sessionId`;delegated ⇒ `sourceSessionId`;unreadable ⇒ `undefined`)。必在位事实照交;`agentId` 坏形只丢它;既有键的键序不变。
201
+ - **停驻行成员形表两处收窄**(**§137 CT-8**;零码改):引擎 7.64.0 起门种与待决动作不成对的行、资源账不是对象或检查点 id 不是串的行,在判官与每个列表面都是 `damaged` / `requirements_damaged`;本包按判决照读(`checkpointRowVerdictOf` 逐字交出,呈卡腿判决非 `ok` ⇒ 不呈可批卡),不另判成员。
202
+ - **零读点与零型变**(CC-1199;**§137 CT-6 / CT-7 / CT-9**;零码改):对端递送回执态 +`held_by_policy`、对端会话行 / 通道自身 +`occupant`、对端通知三只路由口第二参改收件人对象 —— 本包零读点(不投影对端回执与对端目录);任务压缩段 `compaction` 两座 `autoCompact` / `manualCompact`、`enabled` 退役 —— 本包请求装配矩阵没有压缩座、零写 `enabled`;记忆账形答词四 → 三、批量兑付拒成员带码与 `committed`、记忆治理店 +5 动词、上下文窗覆盖 −`enabled`、记忆引擎 −`controlPlaneDir`、规则供给读数 −`kindlessForm`、审批证明 −`genericQuestion` —— 本包零读点;引擎包根新增 31 名逐名定处置,接的只有引出段种类词表与模型面问句两件(§137 CT-9)。
203
+ - **换钉设置契约到 17.2.0**(CC-1215;**§137 SS-1 – SS-6**):开发依赖设置契约包 `^17.1.0` → `^17.2.0`,package-lock 钉 17.2.0;构建期生成物重生成 —— 十六只设置契约生成物各仅「源」注释行的版本号变(闭包抄本所在的上游模块 17.2.0 零改,函数批与闭包文件逐字节同),换钉前编译红 0,本条零公面名变(本版公面计数见下方 Added 段:CC-1223 与 CC-923 各 +1),零行为变。上游新增的 `./node` 三只同步读写口(`readConfigDFileReadingSync` / `readEnvModelsDecisionSync` / `writeEnvModelsDecisionSync`)本包零读点;根桶谓词 `isExplicitlyDisabledEntry`(「显式停用」律单处)本包的模型条目启用判还有八处自判读点(接入写入计划三处 · 云控制面目录投影两处 · 在线目录受理读数三处),本版不动、改读为后续项(pending,§137 包侧缺口〔SS〕①);「settings 单元读不进」处置律与关停位值域的实现差是上游文字律与登记,本包不读 `readSettingsUnit`、不读两位的值(§137 SS-4 / SS-5)。
204
+ - **接入文档订正四条**(CC-1223;**§137 DC-1 – DC-4**;§136 已发段原文不动,改口写进 §137-DCa):① §136 HF-2 点名端读的子代审批卡出处读口 `subagentSourceSessionOf` 此前只是包内件、根入口没有 —— 端照那句话读会 `import` 不到,本版上根入口(见 Added);② §136 DMy ③ 的「四载体」是终端当时举的四组、不是 `escapeBackslashes: 'auto'` 的射程 —— 包里没有载体表,开关的读法只看这一个选项与呈现形,五组载体形(含终端的工具字段载体)走同一只判定;终端的工具字段载体选项里加 `'auto'` 即可,包内判定与字节零改;③ §136 RC-4「退自铸 id」一句撤回:终端没有自铸输入 id 的臂,RC-4 读作按回执 `messageId` 记台账、重投按原 id,RC-6 判词句不变;④ 136-RVc 覆盖清单第一行补全本会话放行卡上那一行的成因清单(`route_cannot_carry` / `evidence_unreadable` / `card_unreadable`,发送机另有 `card_absent`)与来源句:卡上的 `allowSessionCarried` 只由旧族活卡帧口与呈卡族整帧口 `approvalCardFactsOfV1Frame` 盖,只交卡面的 `approvalCardFactsOfV1` 与通用口不盖,交发送机的 `card` 必须来自整帧口(卡面口 / 整帧口双读法的收口归 CC-1147)。零行为变。
205
+ - **prompt / http / agent 条目上的 `args` 不再原样发出**(CC-959;**§137 HKd**;行为变,成文改口):只有 command 条目的 `args` 是服务端 hooks 读者读的键;别的条目型上的 `args` 按 `key_not_read` 拿掉、点名坐标(服务端 7.135.0 起照发即整轮 400)。command 条目上 `args: null` / 空数组的读法不变。
206
+ - **带完成身份的通知件不合批**(CC-923;**§137 NB-2**;🔴 行为变,只在宿主把队列项上的通知事实搬进归批描述时生效):`batchCompatible(head, follower, plan)` 的队头或跟随者的通知事实带 `completionId` ⇒ `false` —— 一次提交是一把提交键的一次整体裁决,合批里逐件受理分不出来,带完成身份的通知件一件一请求。`QueueEntry` 多可选成员 `_sema_task_notification?: {} | null | undefined`(宿主把队列项上的同名位原样搬进来;身份只经 `taskNotificationOf` 读);事实不带 `completionId` / 位缺席 / `undefined` / `null` ⇒ 照旧判;位读不出(访问器不执行 / 陷阱抛)或坏形 ⇒ 不合批。三端今天都不读 `batchCompatible`。
207
+ - **换钉设置契约到 18.0.0**(major;CC-1222;**§137 SS2-1 – SS2-9**):开发依赖设置契约包 `^17.2.0` → `^18.0.0`,package-lock 钉 18.0.0;构建期生成物重生成 —— 既有设置契约生成物的「源」注释行版本号变;请求面 MCP 条目闭包抄本随上游搬家重组(线上名判据与保留成员名谓词各进一只新叶子抄本,函数批出口名不变);设置契约表 +1 只冻结元组(无执行目标的车道词,值取设置契约车道表的分租户位与依据列,与上游独占车道同一判据);换钉前编译红 0(本包源码零引用设置契约的车道词联合与 `EffectiveConfig`)。上游三处不加性边的本包落点:车道词联合加 `none` ⇒ 无车道判点改读生成表(见下一条);`EffectiveConfig.a2a` 必填 ⇒ 云控制面投影多 `a2a` 读数(见 Added);同输入解析结果改变 ⇒ 复合凭据参数名判官与本地内容哈希版本变一次两条本包零读点(座位键名判官 `isSecretKeyName` 与复合参数名判官是两问,不改读);凭据引用集合整条丢 —— worker 读点 0,云控制面 MCP 条目的凭据引用本包有读点、坏形读法与整条丢不同(见 Known limitations);保留成员名一张表进请求面 MCP 读器抄本(见下下一条)。墓碑 `REQUIRE_EXECUTION_LANE` 与车道集判官本包零读点;本包不产出 `none`。
208
+ - **「本部署没有执行车道」判点的新词改读生成表**(CC-1222;**§137 SS2-2**;零行为变):`executionLaneWordIsNone` 认的新词取自生成表(设置契约车道表里分租户且依据列为 `no-execution-target` 的车道词,与上游独占车道同一判据,今天恰 `none`),源码里不再写它;旧词 `in-process` 仍是一处字面,退役条件不变。诊断句与注入告知句逐字不变。
209
+ - **请求面 MCP 声明的保留成员名随设置契约变成一张表**(CC-1222;**§137 SS2-7**;🔴 行为变):本地声明腿与云控制面腿读 `env` / `headers` 时,名叫 `constructor` / `prototype` 的成员与 `__proto__` 同答 —— 不进上 wire 的副本、各记一条降级披露(`member_name_reserved`,点名成员);只含这几个词的名字(`X-Constructor` / `PROTOTYPE`)照收。修前这两个名字照交、零披露。
210
+ - **模型受理判官按服务端的 `aliases[]` 判**(CC-944;**§137 MA-1 – MA-7**;🔴 型面加宽 + 行为变):`ModelAcceptanceReading` 的 `why` 闭集 +2 —— `accepted` 臂多 `aliased`(词不是任何一行的 `name`,而在 `GET /v1/models` 的 `aliases` 里),`refused` 臂多 `not_at_mentionable`(词在表里,但那一行 / 那一条 `atMentionable === false`:部署的模型名单不让选它,服务端对显式选它答 `400 request.model_not_allowed`)⇒ 对 `why` 做带 `never` 兜底穷举的宿主编译红一次,补两臂即可。判法改为服务端的受理判法一条:`aliases` 在场(服务端 7.135.0 起恒在场)⇒ 词恰是某一行的 `name` 或某一条别名的 `name` 才受理,只按名比、**不按行的 `id` 推**(服务端认的 id 拼写都列在 `aliases` 里),档位词与 `default` 不再一律「说不清」(在别名里 ⇒ `aliased`,两张表都没有 ⇒ `refused{not_listed}`);`aliases` 键缺席(更早的服务端)判序照旧;`aliases` 在场而读不出 ⇒ 没找到行的词 `unknown{catalog_unreadable}`;命中行的 `atMentionable` 读不出(访问器 / 非布尔)⇒ `unknown{catalog_unreadable}`。修前:名单挡掉的行读成 `accepted{listed}`(宿主照盖 ⇒ 每轮 400);别名里的档位词读成 `unknown{reserved_word}`;`aliases` 在场时只靠行 `id` 命中的拼写读成 `accepted{listed}`。`modelNotServedNotice` 对 `not_at_mentionable` 出另一句(en / zh 两语;缺省名规则同 `not_listed`),`aliased` 不出句。在线目录型 `LiveModelCatalog` 多可选位 `aliases`(过境的未判 JSON 值),回体读口 `readLiveModelCatalog` 冻结深拷贝过境(修前丢掉这一键 ⇒ 过读口的目录上判官永远读成键缺席;拷前拷后受理读法不同答 ⇒ 交 `null`,读作在场而读不出,不把不受理拷成受理);座位 `listModels` 出站门不判这一位。根入口名字零增减。
211
+ - **cc-import 兑付回执的结局词 `refused` 收进四词闭集**(CC-1231;**§137 AR-3**;行为变):`readCcImportRedeemCounts` 读到预留词 `refused`(确知被拒、确知没落)的行不再让整只读数答 `null` —— 单列进可选位 `CcImportRedeemCounts.refused?: readonly CcImportRedeemRefused[]`(行序同回执,每行只带身份三格 `key?`),不计进 `persisted` / `deduped`;回执里没有这一形时该位缺席(服务端本版不铸这个词,旧信封与空批恒缺席);表外词、缺 `outcome`、坏形仍整只 `null`、不抛。型 `CcImportReceiptOutcome` 由三词变四词(对它做带 `never` 兜底穷举的宿主编译红一次,补 `refused` 臂)。
212
+ - **五只闭集各补一词**(CC-1205;**§137 CS-1 – CS-5**;🔴 公面常量值变 + 型面加宽 + 行为变;根入口运行期 +2,公面导出 2089 → 2091):① `ENGINE_TARGET_REFUSALS` +`cloud_unreachable`(Cloud 已配置、但当前接不上 —— 新会话口,没有「保存」动作;句子 `config.engineTarget.cloudUnreachable` 不提保存,`probe_failed` 的配置流句不改);② `HITL_RESOLUTION_OUTCOMES` +`engine_unavailable`(宿主的运行时退役而撤座位卡,停驻行仍在引擎上、不算过期;句子 `approval.resolution.engineUnavailable`:引擎暂不可用,待引擎回来再答;出站门对收面词本来就是开集);③ 分派拒因 `SessionDispatchRefusal` +`session-ambiguous`(同一会话 id 同时登记在多台引擎上 ⇒ 全拒、对任何引擎零请求;判定入参只表达一本账本,这一词由宿主判出后经新根导出 `sessionDispatchRefusedFor(拒因词)` 取同形的判别拒,`sessionDispatchTarget` 自己不判出它;表外词取 `unresolved` 那一拒);④ 在飞 run 切档:`unavailable` 结局多可选位 `code`(501 答里的机读码,开集原样;两个已知拒因 `capability.run_store_required` / `capability.checkpoint_store_required` 各一句,别的码与一发都没打的来源仍是通用句),`switched` 句子里的权限档名由 wire 词改说界面档名 —— 新根导出 `permissionModeTitle(词)`(引擎六词 → `Manual` / `Accept edits` / `Plan` / `Auto` / `Bypass Permissions` / `Don't Ask`,表外词 `undefined`;不随界面语言译);⑤ 托管设置的 `disableAllHooks: true` 把这一回合 hooks 整条腿关掉时,`hooksNotRunNotice(plan)` 恰多一行原因句(`config.hooks.plan.disableAllHooks`:托管设置关闭了全部 hooks —— 点名来源、不点名哪一条),没关则零句。对 `EngineTargetRefusal`(①)与 `SessionDispatchRefusal`(③)做带 `never` 兜底穷举的宿主编译红一次,各补一臂;②⑤ 对端是加性(② 的词表是文档与测试锚、出站门开集;⑤ 只多一行清单句);④ 的 `code` 位可选,但 `switched` 句子里的档名变了(按文字比对本包句子的端要跟着改);句子经目录出,宿主不自拼。
213
+ - **停驻出路句改口:对两代引擎都真**(CC-1236;**§137 RP-1**;🔴 行为变:文字,en / zh):交互车道「自动重开不再把那张卡放回屏上」那一句(`refusedParkBlockedContent` 交互车道,目录键 `resume.refusal.park.blockedInteractive`;`park_refused` 一臂的自动重开拦截句同口复用)的出路由「发一条消息把卡带回来并作答」改为「发一条消息 —— sema 随后会提出取消那条 run(若卡反而回来了,先作答),之后可把这项工作作为新消息重新发一次」:引擎在待决行上带判决(`rowVerdict` 非 `ok`,服务端 7.145.0 一族恒报)时分诊直接答 `settled`、卡不会回来,宿主当拍给取消卡;支持底线 7.139.0 – 7.144.x 的老引擎不带判决、卡会回来 —— 修前的句子只对后者为真。`print` 车道句不动;端零改码即生效,按文字比对这句的端要跟着改。
214
+ - **「这里决不了」出路句按停驻行的到期位分三态**(CC-1239;**§137 WO-1 – WO-3**;🔴 行为变:文字,en / zh;加性:两个可选位):修前四处站点共用一句「取消这次运行,或等这条审批过期」,而缺绑定的停驻行常常没有到期计时(`deadline` 为 `null`),「等它过期」是走不到的路。现在出路话按行的到期位分三态(`null` 只说「没有到期计时」、不说「不会过期」:服务端另有一道终局兜底,行上不带它) —— 有限数(到期计时武装)说「取消这次运行,或等这条审批过期」(与修前同);`null`(没有到期计时)说「取消这次运行(这条审批没有到期计时)」;缺席 / 坏形(不知道)只说「取消这次运行」,不编过期也不断言不会过期。一只句口、一只到期位读口(自有数据位、取值器不执行、永不抛;均为包内件,根入口不增)。四处站点各交自己知道的态:桥拦(`HitlBridge` 决断时行上缺绑定)读那一行的 `deadline`;自愈 `ask-reopen-failed` 带引擎判决的行句读宿主重开口判决里 `_sema_rowVerdict` 旁的可选位 `_sema_rowDeadline?: number | null`(结局多可选位 `rowDeadline?: 'armed' | 'none'`);决断口 400 回执句与本地停 `binding_missing` 结局句手里没有行,恒只说取消(修前这两口带「或等这条审批过期」)。消息目录:旧键 `approval.decide.unboundWayOut` 退,换三条 `approval.decide.unboundWayOut.armed` / `.none` / `.unknown`(en / zh);端零改码即生效,按文字比对这句的端(含测试快照)要跟着改;宿主可选在重开口判决里交 `_sema_rowDeadline` 让自愈句精确。
215
+ - **策略拒的拒渲染按原因选首句:决断可带 `policyCause`**(CC-1065;**§137 SB-3**;型面加性 + 行为变:文字,宿主带词时;根入口运行期导出零增减):`ApprovalCardDenyDecision` / `ApprovalDenyFacts` / `GateDenyAttribution` 各多一只可选位 `policyCause`,闭集四词 `no_approval_ui` / `dont_ask` / `deny_rule` / `engine_floor`(只在 `settledBy: 'policy'` 时有意义;表外词 / 非串 / 原型链 / 取值器 ⇒ 缺席;`human` 卡上带它被忽略;不上 wire、不参与裁决)。deny 收口帧的工具结果首句:`no_approval_ui` 与缺席 ⇒ 今天那一句(`HITL_POLICY_DENY_MESSAGE`,逐字节不变);`dont_ask` / `deny_rule` / `engine_floor` ⇒ 各自一句(消息目录 `approval.policyDeny.*`,en / zh,共用一条尾句),不再说「permission prompts are not available」;拒因一行照接。修前交互会话里命中 deny 规则 / `dontAsk` / 引擎地板的拒,工具结果也说「没有审批口」,模型据此编出「改用交互会话」之类的错出路。三条决断腿(帧先到 / 帧后到 / 耐久腿)同一条律;两处台账归因投影收成一只(`denyAttributionOf`)。
216
+ - **联网搜索 apiKey 判拒时句尾多一句出路;trim 口径定「不 trim」**(CC-1219;**§137 SB-4**;行为变:文字,en / zh;判官判定与 `verdict.issue` 逐字不动):判官从不 trim、不改写采纳的 key(首尾 HTTP 空白照收、值原样);判拒的几形(中段换行 / tavily 首部换行 / 码元 > U+00FF 的 Unicode 空白落在首尾或中段)在 `webSearchVerdictMessage` 的用户面句子(settings / env / 宿主注入三源,提交句与检查句)句尾点名「key 前后带了空白 / 换行 / 不可见字符 ⇒ 去掉;key 按原样使用、不会替你 trim」(目录键 `config.webSearch.apiKeyWayOut`)。别的字段 / 别的 apiKey 形错不带;句子不回显 key 的任何字节。
217
+ - **引擎版本三态对主版本 0 答 `unknown`**(CC-1220;**§137 SB-5**;行为变;三态型与词不变):`engineVersionTier` / `coreVersionTier`(同一只判官)对纯 `0.x.y`(`0.9.1` / `0.0.0`)修前答 `legacy`(「老」),现在答 `unknown`(「不知道」)—— 主版本 0 不是任何发布过的引擎代际;主版本 ≥ 1 的低版本仍 `legacy`,读不懂的串仍 `unknown`。`serverSupportRangeVerdict('0.9.1')` 随之由 `out_of_range` 变 `unknown + version_unreadable`(不出范围外句);`compareReleaseVersions` 是纯比较,不随(`0.9.1` 对底线仍比出 `-1`)。终端入口轴随换读(附着拒句走底线读法由壳按 `unknown` 臂处置)。
218
+ - **会话规则条目「不是一只工具名」的成因句改口:不绑引擎代际**(CC-1157;**§137 SD-6**;行为变:文字,仅英文数据面;判据不改):修前句尾「…spells its server or agent peer part in a way the engine never uses when naming tools (for example with a dot or a space), so no tool would ever match it」对 core ≥ 7.60.0 不真(那一代的策略编译路上带点号的 MCP 名已能覆盖按铸名规则起名的工具)。改成只说包能担保的「…in a form this record does not accept (for example with a dot or a space) · This record does not take entries of that form; record the exact name of a single tool instead」;「没写进这条记录」两代都真(写口两代仍拒),扣下判据不动。
219
+
220
+ ### Added
221
+ - **门记录拒臂的引出段 `echoed`**(CC-1199;**§137 CT-4**):`gateOutcomeOf` 拒臂多可选 `echoed?: readonly GateRefusalEchoView[]`(`{ kind, value, canonical? }`:引擎拒行引出的请求段,按序、逐字节原样 —— `value` 是调用写的拼法、可含控制字符,不可信,上屏走展示出口);必在位一项读不出 ⇒ 整段缺席,`canonical` 坏形只丢它;种类按开集透传,判词表 `GATE_REFUSAL_ECHO_KIND_WORDS`(值取引擎包根)与谓词 `isGateRefusalEchoKindWord`。
222
+ - **缺省模型可解析的合成判官**(CC-1212;**§137 CT-5**):`catalogDefaultModelVerdict({ models, has, fallback, face })` —— 引擎模型面问句对不点名模型的任务的答(`spec.modelRole: 'default'`,与引擎对不带 spec 的任务同一条解析路;命名臂与 `{ select }` 形同一问);缺省链(`resolveCatalogDefaultModel`,本包既有读法那一只)只出读数 `default`,选中的名不注入 `spec.model`:可解析 ⇒ `{ ok: true, default }`;否则 `{ ok: false, code: 'config.default_model_missing', default, detail: { cause, role } }`(`cause` = 引擎的码,`role` = 引擎答的角色);端口没装或答形读不出 ⇒ `undefined`(判不出);引擎对模型面目录的抛原样上抛。🔴 单源:`face` 就是随后交给引擎的那一只模型面对象,本层按引用交给问句、不复制、不读它的成员。拒句 `catalogDefaultRefusalContent(verdict, lang?)`(en / zh;名字过展示出口,句内零机器码;句子说不点名模型的任务会被拒、引擎解析不出缺省模型、出路,设置层的缺省作旁注;错误补充句角色 `errorSupplementRoleOf(catalogDefaultRefusalContent) === 'replacement'`)。
223
+ - **值级端口第二十五件 `modelFaceResolvable`**(CC-1212;**§137 CT-5**;🔴 型面 BREAKING):`CoreValuePorts` 多一只必填成员 ⇒ 按完整型建端口袋的宿主编译红一次,装引擎包根同名函数即可;读口 `modelFaceResolvable(face, options?)` 装了 ⇒ 实参与答案原样透传、没装 ⇒ `undefined`。型 `ModelFaceOptionsView` / `ModelFaceVerdictView`。
224
+ - **子代审批卡出处读口 `subagentSourceSessionOf` 上根入口**(CC-1223;**§137 DC-1**;根入口运行期 +1,公面导出 2087 → 2088):载体 → 出处会话 id 的唯一读法 —— 自有数据位非空串 `sourceSessionId` 先;该位证得出缺席才读旧名 `sourceTaskId`;新名在场却读不出(非串 / 空串 / 访问器 / 只在原型链上 / 取值器抛)⇒ `undefined`,不回落旧名;非对象 ⇒ `undefined`;永不抛。包内活卡帧腿 / 呈卡腿 / 悬挂行合成卡 / 出处徽章本来就读这一只,读法零改,只是不再需要端自写 `sourceSessionId ?? sourceTaskId`。
225
+ - **拿掉原因 `key_not_read` 与行上键坐标 `unreadKeys`**(CC-959;**§137 HK-2 / HK-3 / HK-4**;🔴 公面常量值变):`SETTINGS_HOOK_DROP_REASONS` 多第三词、`PLUGIN_HOOK_REASONS` 末位多一词(24 词),两只句口同一句;`SettingsHookDrop` 多可选位 `unreadKeys`(恰在 `key_not_read` 行上:键路径,先组上的、后条目上的,下标指该层文档);`hooksNotRunNotice` 对这一原因每层一句,点名至多三个坐标、其余计数,键的值零回显。
226
+ - **通知唤醒提交一次回读的受理分类判官 `taskNotificationAdmissionOf`**(CC-923;**§137 NB-1 / NB-3**;根入口运行期 +1,公面导出 2088 → 2089):入参 = 一次回读的三种形 `{ kind: 'record', record }`(回读 200)/ `{ kind: 'not_found' }`(只在调用方已识别是按键回读端点自己的 404 时交)/ `{ kind: 'error' }`(其余一切);出参 = 冻结的 `{ verdict, why }`,`verdict` ∈ `admitted` / `pending` / `not_found` / `unreadable`,`why` 八词闭集(`admitted_at` / `turns_positive` / `zero_turns` / `no_turn_count` / `key_unbound` / `read_error` / `record_malformed` / `input_unrecognized`),类由因由唯一决定。只收正向证据:读面 `admittedAt` 是时间形串(ISO 8601 date-time、日期在日历上存在;服务端出这一列之后,键在场即启用,`null` 不是否定证据)或 `result.stats.turns` 是整数且 > 0 ⇒ `admitted`;`running`(不论多久)、`completed` / `failed` / 停驻零 turns、`tokens > 0` 而零 turns、状态词或码缺席 / 表外 ⇒ `pending`;判官不看错误对象(`{ kind: 'error' }` 不论带什么都 `unreadable`),畸形 200 与认不出的入参同 `unreadable`。只读自有数据位、取值器不执行、永不抛。型 `TaskNotificationAdmission` / `TaskNotificationAdmissionVerdict` / `TaskNotificationAdmissionWhy` / `TaskNotificationReadResult` / `TaskNotificationRunRecordView`。本判官只回答一次回读:有界回读、期限、拒收预算与同键重试随 CC-923 后续版本出。
227
+ - **云控制面投影的 A2A 对端名读数**(CC-1222;**§137 SS2-3**;🔴 型面:`CloudProjection` 多一只必填位):`projectEffectiveBody(...).a2a: CloudA2aReading`,三态在**原始回体**上判 —— 回体 `config` 上没有 `a2a` 键(老于设置契约 18.0.0 的铸点)⇒ `{ kind: 'absent' }`;有、读得出 ⇒ `{ kind: 'present', peerNames, unreadableRows }`(对端名按回体序原样;线上名判官不认 / 读不出的条目只计数;`{ peers: [] }` 与缺 `peers` 都是空名单);回体没有可读的 `config`,或键在而读不出(只在原型链上 / 访问器 / 读就抛 / 形不对)⇒ `{ kind: 'unreadable' }`。缺席与读不出都不铸空名单;把回体先经设置契约 `readEffectiveWire` 解析再交会把缺席补成空名单,宿主须交原始回体。只读名字:地址、凭据引用、停用位不读。铸点剥掉的对端键(`notes` 等)照旧走 `effectiveWarnings` 与既有告示句。自己构造 `CloudProjection` 的宿主编译红一次,补 `a2a`。
228
+ - **审批卡上「谁问的」两位 `agentId` / `askReasons`**(CC-1231;**§137 AR-1 / AR-2**;加性,运行期导出零增减):`ApprovalCardRequest` 多可选位 `agentId?: string`(发起这一问的委派腿的 agent id)与 `askReasons?: readonly ApprovalAskReason[]`(谁问的、为什么问:hook / 扩展的问带成因词 `cause`,策略链的问带问者词 `by` 与 `words`;型 `ApprovalAskReason` 及两臂 `ApprovalAskReasonByHook` / `ApprovalAskReasonByPolicy` 为类型转出)。活卡帧顶层、呈卡族的卡、耐久待决行三面读同一只:`agentId` 取自有数据位非空串;`askReasons` 逐项读,hook 臂须 `cause` 非空串(`registration` / `words` 在场则须是串),策略臂须 `words` 是串,`by` / `cause` 开集不判词表,坏项只丢那一项,数组读不出或一项不剩 ⇒ 整位缺席;出参冻结、取值器零执行、永不抛;`words` / `registration` 是不可信自由文本,本包不改写,渲前过展示出口。耐久待决行腿只投 `askReasons`(服务端队列行不带 `agentId`);通用卡不读这两位。展示位:不参与任何决断 / 放行 / 续跑。老服务端(< 7.143.0)缺席。
229
+ - **分诊 `settled` 臂带被判行的 run id `rowTaskId`**(CC-1237 ②;**§137 RP-2**;加性,可选位):`ParkRowProbe` 与有界重查环判决 `ParkRowWaitVerdict` 的 `settled` 臂多 `rowTaskId?: string` —— 被判的那一行自己的 run id(`classifyAskParkRows` 与行身份口 `askParkRowIdentity` 的 `rowTaskId` 位走同一只读法,单源不另算;行自己缺 `taskId` 时回退请求者 id;只读 `taskId` 一位,绑定两位读抛的行判决与 run id 照样交出);与 `rowVerdict` 同拍 present-iff,只在正面证据是某一行的判决时在场(`unborn` / `row` 臂与宿主直供的 `settled` 无此键,重查环原样透传、不铸;缺席时宿主不得以请求者 id 代)。点名 run 无行而兜底到子 run 的那一行时它 ≠ 请求者 id —— 取消卡的目标读它。
230
+ - **挡卡半句读口上根入口**(CC-1237 ③;**§137 RP-3**;根入口运行期 +2,公面导出 2091 → 2093;加性):`checkpointRowBarOf(row)`(判决非 `ok` ⇒ 那份读数,`ok` / 缺席 ⇒ `undefined`;与 `checkpointRowVerdictOf` 同一只读口)· `checkpointRowBarSentence(bar)`(引擎句非空串优先,读不出 / 没带句 ⇒ 本包一句)及读数型 `CheckpointRowBar`;宿主拿分诊 `settled` 的 `rowVerdict` 渲题面时读它们,不再自抄「引擎句优先、读不出落本包句」那半句。
231
+ - **座位资源动词按会话答 + 新会话车道意图位**(CC-1193;**§137 LN-1 – LN-7**;型面加性,根入口运行期 +2、型 +1):`LocalSessionsApi.listModels(scope?)` / `uploadAttachment(req, scope?)` 多一只末位可选作用域 `SeatResourceScope = { sessionId }` —— 带会话 ⇒ 那只会话所在的引擎(会话行 `engine.kind`)答;缺席 ⇒ 新会话缺省车道(`engineTargetState.mode`)答;不按聚焦会话;会话在场而宿主答不了它的车道 ⇒ 动词失败、不回落缺省。`StartSessionOptions.engine?: SessionEngineKind` = 新会话的车道意图(缺席取缺省;那条车道起不了 ⇒ 起会话失败、不回落),`START_SESSION_OPTION_KEYS` 末位 +`engine`。两只入站判官上根入口:`checkSeatResourceScope`(缺席过;在场闭形一键 `sessionId` 非空串,聚焦位 / 车道词是表外键)与 `checkStartSessionOptions`(缺席 / 空对象过;闭集五键按型,`engine` 只认 `local` / `cloud`);取值器不执行、永不抛、拒因点名键。成文:两只 store 里按引擎分值的位(`settingsState` 的 `engineVersion` / `dataRoot`、能力表的 `patchSession`)说的是新会话缺省车道那台,宿主改缺省即重发;本版前的映射记录行按存储布局合成旧键(本机 ⇒ `'local'`、云账本 ⇒ `engineNamespaceKeyFor(地址)`、地址还原不了 ⇒ 不猜)再走 `recover`;store 推送不承诺同值去重,订阅方自判回声。
232
+ - **座位动作通道:宿主 → 渲染端单向事件 `onSeatAction` + 认领动词 `claimSeatActions` + 可选能力位 `seatActions`**(CC-1170;**§137 SA-1 – SA-5**;根入口运行期 +5、型 +4,公面导出 2095 → 2100;🔴 型面 BREAKING〔窄〕:`LocalSessionsApi` 多两只成员,手写完整实现它的宿主或测试替身编译红一次〔座位 eipc 注册表由规格生成的桌面端随规格自动注册〕;能力位是可选位,老宿主缺席 ⇒ 读口 `not_reported`、编译红 0):宿主要「让座位里的应用做一件事」(宿主菜单项、外部链接)只走这一条单向通道,判别键 `action`、词闭集 `SEAT_ACTION_NAMES = ['new-project', 'prefill-composer']`(冻结;新词只追加)。`new-project` = 打开「新建项目」对话框(无载荷);`prefill-composer` = 打开一页新会话编排页、把 `text` 放进输入框(1 – 14336 码元;不许带展示面会标的字符:控制符〔制表 / 换行与 `\r\n` 里的回车除外〕、孤代理、行段分隔符、格式类〔零宽 / 双向控制 / 软连字符 / 标签字符等,emoji 连字语境里的 ZWJ 放行〕),`cwd` 在场 ⇒ 作为下一条会话的目录(1 – 4096 码元、同一张表按单行读);**永不代用户发送**,渲染端输入框已有用户正文 ⇒ 不覆盖、不跳页(成文语义,渲染端执行)。出站门 `checkSeatAction` 是座位闭形规则铸的逐臂闭形判官(表外臂 / 表外键 / 缺键 / 坏值 / 凭据形键名拒并点名,取值器不执行,永不抛);SPEC 登记 `onSeatAction: { kind: "event", check: checkSeatAction }`(preload 按规格注册通道)。渲染端读口 `readSeatAction(ev)` ⇒ `action`(过同一只出站判官,重铸冻结副本;载体读时被换值也交不出判官没见过的值)/ `unknown`(判别词是串但不在本端这一版闭集里:宿主比渲染端新,丢弃 + 留痕,`name` 截 64)/ `malformed`(拒因来自判官,不带载荷值),永不抛。认领动词 `claimSeatActions(req: SeatActionsClaim)`:渲染端交它此刻真会处理的词(整表替换,空表 = 撤回,≤ 16 条;认领绑在页面上,重载 / 跳走即清),宿主只为被认领的词提供触发入口;入站门 `checkSeatActionsClaim` **只收闭集内的词**——表外词整表拒并点名 `actions[i]` 与闭集(宿主回 `{ ok: false }`、现有认领不动),重复词不拒;条数先界后读(稀疏的超长数组不被展开),宿主读口 `claimedSeatActionsOf(claim)` 先把载体读成一份快照、判的就是用的,按闭集序去重、没过门 ⇒ 空表。能力位 `seatActions`(`SeatCapabilitiesState` 的可选布尔位;`SEAT_CAPABILITY_NAMES` 多一员,禁用句多一组)管认领动词与事件:`true` ⇒ 渲染端认领并订事件,`false` / 缺席 ⇒ 不认领、不订、不挂入口。「聚焦会话」不铸词(由 store `focusedSessionState` 承载),不铸 open-route / focus-session;宿主 → 渲染层的 UI 意图(打开设置页 / 快捷键面)随后续版本作本闭集的加词(§137 SA-5),不另开通道。
233
+ - **带戳存档被拒的一句话按场景分句:`sessionArchiveStampedContent(lang?, scenario?)`**(CC-1250;**§137 SC-1**;型面加性:一只可选第二参 + 型 `SessionArchiveStampedScenario = 'fork' | 'push'`,根入口运行期零增减):`scenario` 严格等于 `'fork'` 才出本地 fork 场景一形 —— 前半(出路之前)逐字同原句,出路改写成「这段对话按它自己的历史接着跑;要 fork 它,删会话再推」(en `This conversation keeps running on its own history; to fork it, delete the session and push it again`,zh 同形;目录键 `notice.wireRefusal.sessionArchiveStamped.fork`);缺席 / `'push'` / 任何别的值(大小写近形、空串、非串、数组、函数、访问器、代理)⇒ 原句,逐字节不变,既有读者零改。仍是同一只函数,补充句角色声明不变(`replacement`)。
234
+ - **引擎服环境变量表而目录没生效的一句包句 `modelPlaneSentence(reading, lang?)`**(CC-1251;**§137 SC-2**;根入口运行期 +1):入参是 `modelPlaneOf` 的读数;`servedTable === 'env'` 且目录位是 `absent` / `refused` ⇒ 一句 `The engine is currently serving models from its environment table; the catalog is not in effect (<目录位词>)`(zh `引擎当前按环境变量表提供模型;目录没有生效(<目录位词>)`;目录位词是引擎自报的闭集词,原样括在句尾、不译);其余读数(`not_reported` / `unreadable` / `servedTable: 'catalog'` / 目录位 `adopted` 或缺席 / 词表外的词 / 非读数物)一律 `undefined`,不编原因、不猜整拒因(起服判官位 `refusalCode` / `gap` 不读);只读自有数据位、取值器一次都不执行、永不抛。目录键 `model.catalog.envServed`。
235
+
236
+ ### Gates
237
+ - 新门 `scripts/run-core-7640-pick-projection-test.mjs`(包侧投影门三件之一;§137 CT):码册恰 118 与新码登记 · 四只拒句通告出处三态与「调用所在会话」答口(新键在场读不出不回落)· 门记录拒臂引出段经引擎验形样本逐段原样 · 合成判官真引擎答 / 问法 = 不点名模型的任务(模型面无缺省角色、缺省链靠兜底选中一名 ⇒ 拒)/ 单源同一引用(间谍端口:本层零读模型面成员、谓词恰问一次)/ 判别力 / 答形读不出 ⇒ `undefined` · 请求装配无压缩座 · 引擎新增 / 删除 / 改形而本包不读的 50 名零代码命中;红先 = 换钉前源码树 25 红。
238
+ - `run-core-value-ports-test.mjs` ⑰ 段(第二十五件:名表位序 / 缺席 / 透传 / 三档编译 / 二十四件旧袋编译红 / 真引擎同答)、⑬ 宽度台账 +1 行、有意更宽件数 15 → 16;`run-engine-notice-catalog-test.mjs` G8m 与码册 118、四只拒句视图逐格透传格改为末位多 `leg`;`run-core-7630-pick-projection-test.mjs` A1 改 7.63.0 起下界;`run-core-7620-pick-projection-test.mjs` / `run-core-7630-pick-projection-test.mjs` 停驻行夹具改成门种 × 待决动作成对的行;`run-mods-kernel-transit-test.mjs` / `run-mods-kernel-install-matrix-test.mjs` 7.64.0 列;`run-core-value-ports-test.mjs` 五处「换成形不对的值 ⇒ 编译红」负控(第十九 / 二十 / 二十一 / 二十三与二十四 / 二十五件)改为只换对象字面量那一处(修前换中 import 行,探针成了语法错误,负控恒红而不判型)+ 判别器自证;`run-error-supplement-roles-test.mjs` 声明表 +1(`catalogDefaultRefusalContent` replacement,两臂各采一句);`run-catalog-routing-test.mjs` 别处钉名单 +1(新句不是迁移件,由 core-7640-pick V11 钉)。
239
+ - `run-park-row-card-leg-projection-test.mjs` HFc2b(§137 DC-1):根入口读口与包内读口是同一只函数 + 八形答案(新旧名并在 / 只带旧名 / 新名非串 · 空串 · 原型链上 · 访问器各不回落旧名 / 两名缺席 / 非对象);红先 = 根入口缺席时 1 红(96 格里 95 绿)。`run-display-untrusted-projection-test.mjs` DM15a – DM15c(§137 DC-2):`escapeBackslashes: 'auto'` 在五组载体形(身份串 / 散文 / 执行正文 / diff / 工具字段)× 四对只差真码位 / 字面编码形的文件名上同一判定、五组 × 14 串 × 3 个上限同过一只判官、开关读法 `pairModeOf` 的源码锚(只读 `escapeBackslashes` 与呈现形);修前修后都绿(包里本来没有载体集),钉的是「不会按载体分流」。
240
+ - 新门 `scripts/run-hooks-unread-keys-projection-test.mjs`(包侧投影门三件之一;§137 HK):两只原因闭集与句子 · 四键 × PreToolUse / PostToolUse(请求体没有那一条、同组另一条照带、计划行坐标逐段、清单句点名坐标与出路、产物照发)· 组上的键 · http `args` / 组键拼错 / prompt 条目 / 两键同条 · 读者读的键照投(command `args`、契约字段;组 `source` 不算不读键)· 值为 `undefined` 的键不算 · 托管层拿掉不拒发、托管层坏形照旧拒发 · 本端能跑不进清单 · 插件条目 / 组 · 句子零值回显与凭据形键名打码、坐标读不出的半截计划行落通用句 · 判官不收的件不归这一判(组上的不读键不让坏形守卫绕过整份拒)· 空组上的不读键(那只组不上请求体)· 服务端读者代际表(落行 / 未登记与读不出按不读 / 计划路径按自报版本落行并补阻断披露句 / 读法按不读集扣键 / 计划入口接线 / 负控:表若标夹具这一代读 `onFailure` ⇒ 设置契约 19.0.0 抄本照投 ⇒ 夹具 400)· 抄本档位两档(生成物源行的设置契约版本 < 19.0.0 / ≥ 19.0.0)与「抄本实际投影与档位一致」自证 · 服务端夹具真提交(投影体受理 / 原对象 400 且本包拿掉的坐标都在服务端 `unknownKeys` 里 / 本包照投而服务端读者不读的坐标为空 / 续跑重放读数与新提交同 / 原对象续跑剥键不拒 / 插件两形 / 空组两形);红先 = 改前源码树逐格读数(63 红 / 29 绿,绿的是对照、回归钉与原对象 400 负控;本包照投而服务端不读的坐标非空,那几份语料的受理格跳过)。
241
+ - `run-plugin-hooks-projection-test.mjs` N6 / HR0 改为 24 词、末位 `key_not_read`;D9 / D9b 改为 prompt·http 上的 `args` 两条按 `key_not_read` 拿掉、清单多一句(§137 HKd);`run-hooks-merged-disable-projection-test.mjs` DD5「组上多一个键」一对改为那一组按 `key_not_read` 拿掉、到不了去重。
242
+ - 新门 `scripts/run-hooks-authored-source-projection-test.mjs`(包侧投影门三件之一;§137 HK-9):两张依据闭集 4 / 25 词与句子、两向穷举内存编译探针 + 尺子、清单坐标口穷尽 switch 源码锚 · 三态读法(缺席 / 任何值都算写了 / 访问器·陷阱·撒谎描述符·撤销代理 ⇒ 读不清,取值器零执行)· 项目 / 用户 / 本地层 × 托管词 / 托管插件词 / 集外词 / 空串 / 非串(组不上、对照组照带、计划行、清单句、产物照发)· 同值也拿(五层各写与自己相符的词)· 托管层不写 ⇒ 照投且组不带 `source`、手写 ⇒ 同拿回合照发 · 插件(非托管 / 托管 × 托管词 / 与来源相符的词;本端能跑 ⇒ 本端跑)· 判官不收的件不归这一判(坏形守卫条目 / 坏形组 + `source` ⇒ 照样整回合拒发)· 读不清的组直调两只投影件 · 清单句(多组一句 / 计数 / 零值回显 / 宿主坏行落通用句、表外依据行不抛 / 与 `key_not_read` 各一句 / 依据先后)· 公开路径的捕获与 JSON 过境同读(不可枚举 / 取值器答 `undefined` 的 `source` 不在捕获里、请求体无它)· 本端能跑 ⇒ 不进清单、本端照跑 · 请求体总扫(组 `source` ∈ 盖印闭集,本版为空)· 服务端夹具读者亲答(原样体托管终判相 / 托管插件相、修后每组非托管相、集外词原样拒修后受理、真受理口);红先 = 修前树硬跑首格红、软跑 74 红 / 17 绿。`run-plugin-hooks-projection-test.mjs` N6 / HR0 再改为 25 词(末位 `source_not_authored`、倒数第二 `key_not_read`)与设置拿掉 4 词;`run-hooks-unread-keys-projection-test.mjs` U5k 不再以组 `source` 作「读者的键照带」的样本,新 U5s 钉组上作者写的 `source` 不落进 `key_not_read`。
243
+ - 新门 `scripts/run-task-notification-admission-test.mjs`(包侧投影门三件之一;§137 NB):两个暂停点(建行后落位前 / 落位后引擎产出前:`running` 无 result ⇒ `pending`)与零工作拒收终态写入后释放键前(⇒ `pending`,释放后 404 ⇒ `not_found`)· 缺码 / 未来码 · 零工作与有工作 · `tokens > 0` ∧ 零 turns ⇒ `pending` · 不可区分形必 `pending` · `not_found` 只给显式判别形,读错 / 401 / 403 / 5xx / 未识别的 404 / 畸形 200 / 认不出的入参 / 抛 ⇒ `unreadable` · 取值器零执行(计数访问器与计数代理)与读位名册(状态词 / 码 / tokens 零读)· `admittedAt` 时间形 / `null` / 非法形 · 因由与类两只闭集两向穷举(内存编译探针 + 运行期覆盖 + 源码 `never` 位锚)· 负控(`running ⇒ admitted` ⇒ 两暂停点格红;读到拒收行即停止 ⇒ 拒收暂停点格红;另四只尺子)· `batchCompatible` 带完成身份的通知件作头 / 作跟随恒否、其余照旧、身份只经 `taskNotificationOf` 读;读面形取自类型包 `RunRecord` 声明(逐位 TS AST 核),受理腿对位服务端受理闩 `result.stats.turns > 0`(夹具在场才核)。
244
+ - 设置契约 18.0.0 换钉(§137 SS2):`run-upstream-tables-test.mjs` 生成物名单 21 → 23 只(两只叶子闭包组抄本)、叶子抄本对上游原件独立池逐个同答、空上下文绑定见证带上两只叶子、请求面读器样本池补 `constructor` / `prototype` 成员、无执行目标车道词表两种前提同答(两列派生 == 上游车道集判官的独占车道)与六格拒生成负控(含依据列与分租户位矛盾、词表里的词在车道表里没有行);`run-execution-lane-capability-test.mjs` S5e2 改口(判点零 `none` 字面、读生成表)+ S5e3(判点对生成表与已装车道词表逐词);`run-mcp-wire-caps-test.mjs` MR2b2 / MR2b3 / MR2m2(两腿保留成员名);`run-seat-devices-test.mjs` SD6b2 / SD6b3(设置契约新导出名不命中同类键名判官扫描式;两只判官两问两答);`run-cloud-effective-projection-test.mjs` S13 段(a2a 三态读数:原始体无键 ⇒ absent 与「先解析会补成空名单」并列、真空名单 ⇒ present、键在读不出 ⇒ unreadable,含真铸点读回、读就抛的代理与条数撒谎的数组代理);修前读数 = 换钉前(设置契约 17.2.0 + 修前源码)15 格红(S5e2 1 / MR2b2 · MR2b3 · MR2m2 3 / SD6b2 · SD6b3 2 / S13a – S13h 8)+ 判据自证 S13ip 1 格红(17.2.0 的铸点不发 `a2a` 告警);后补的格(S13k / S13l、两格拒生成负控、三态改写后的 S13 段 14 格)修前同样红。
245
+ - `run-model-catalog-read-projection-test.mjs` M10 段(§137 MA,判据 G-MA):`aliases` 键缺席 × 保留词说不清 / `[]` × 保留词不在列(缺席不当 `[]`)· 别名命中 `aliased` · 行与别名的 `atMentionable === false` ⇒ `not_at_mentionable`(停用先于名单)· 行的名单位读不出 ⇒ `catalog_unreadable` · 坏形与敌意别名表(非数组 / 坏项 / 洞 / 访问器 / 已撤销代理 / 陷阱代理)⇒ `catalog_unreadable`,计数代理证取值器与 get 陷阱零执行 · 不按行 id 推 · 独立期望表矩阵 140 格 · `why` 闭集两向(d.ts 语法树读数 = 运行期产物集;tsc `never` 穷举少一词 / 多一词各红)· 告知句两语专句、`aliased` 不出句、嵌句引法 · 回体读口带 `aliases` 过境(冻结深拷贝、不同引用;拷后读数不放宽)、座位出站门不为它拒整份 · 原型上植名单位不改读数 · `atMentionOf` 共用位读法后同答;红先 = 改前实现上 MA2 红(`aliases: []` × 保留词读成 `unknown{reserved_word}`)。`_catalog-corpus/cc944.mjs` 与金样 `cc944.json` 追加三格(名单挡掉的词两形 + 别名受理不出句;既有八格摘要逐字不变)。
246
+ - `run-approval-card-v1-projection-test.mjs` V9 段(§137 AR,判据 G-AR):`agentId` / `askReasons` 在活卡帧与呈卡族的卡两面逐形同答(合形 · 开集词 · 空串话原样 · 坏项只丢那一项 · 数组读不出 ⇒ 缺席 · 取值器零执行〔键 / 下标 / 项内 `by` `words` `cause` `registration`〕· 原型链 / 撤销与敌意代理 · 冻结与新铸副本 · 两位互不拖累且不进读不出登记 · 通用卡不读)、V2 处置表 `agentId` / `askReasons` 由「不读」改为上卡;`run-durable-card-display-keys-test.mjs` ⑱(耐久待决行腿投 `askReasons`、与活卡帧腿同值、不投 `agentId`、取值器零执行)、⑦ 转发账 `askReasons` 由未投影改为已投影;`run-approval-frame-keys-test.mjs` 卡键台账 `agentId` / `askReasons` 改 carried;`run-rules-side-test.mjs` G7 与 `run-server-7145-pick-projection-test.mjs` SXa10 / SX1b / SX0b(四词穷举 · `refused` 行单列不计成功 · 无该形时位缺席 · 身份三格读不出行不丢 · 表外词 ⇒ `null` 不抛 · 取值器零执行);`scripts/sdk-pins/35.0.0.ts` 钉组 `redeem-receipt` 由「去掉 `refused` 的三词」改为四词逐词同并加 `refused` 臂键集钉、新钉组 `ask-reasons`(类型包 `AskReason` 可赋给读视图 · 两臂键集两向相等 · 三个载体上的型 · 卡入参上的两位)。
247
+ - 五只闭集补词(§137 CS,判据 G-CS):`run-seat-engine-target-test.mjs` ET8b(十二词两向穷举 · 句子场景中立 · 四动词认新词 · 表外近似拼写走中性句)、`run-seat-contract-keys-test.mjs` CS-2(收面词九词 · 句子 en / zh · 与过期分家 · 出站门开集 · 转停驻位仍只许过期)、`run-session-engine-lane-projection-test.mjs` CS3(拒因五词 · 取形口 · 表外词往拒的方向 · 判定自己不判出新词)、`run-permission-mode-verb-projection-test.mjs` PM10(`code` 位开集 · 两因各一句 · 档名映射口六词两向 · 句子不再出 wire 词)、`run-hooks-merged-disable-projection-test.mjs` NT(81 格矩阵关腿恰一句 · 否则零句 · 手造计划逐形);`run-catalog-routing-test.mjs` 语料 cc1080 +6 条、`switched` 六条登记改口;`run-plugin-hooks-projection-test.mjs` G1 改口(托管关停时清单恰这一句,别的关腿成因清单仍为空)。
248
+ - `run-park-row-card-leg-projection-test.mjs` HFa9b / HFd12b / HFe0b 与新段 HFg(§137 RP-2:点名 run 无行兜底到子 run ⇒ `rowTaskId` = 子行、≠ 请求者 · 行自带判决点名命中 · 与 `askParkRowIdentity` 逐格同源 · 行 `taskId` 缺席 / 空串回退请求者 id · 判决读不出 / 认不得的词同带 · 绑定两位读抛的行照样 `settled` 带 run id〔HFg6 / HFg6b〕 · `unborn` / `row` 臂无键 · 重查环透传〔跨几拍、宿主直供的 `settled` 不铸〕)、新段 HFh(§137 RP-3:根入口两函数 · 类型声明里按名在场 · 读数与唯一读口同 · 句口引擎句优先 / 本包句兜底 · 与分诊理由同一句);红先 = 修前 13 红(112 格里 99 绿);HFg6 / HFg6b 补格红先 = 2 红(120 格里 118 绿)。`run-refused-park-family-test.mjs` D3 期望句改口(红先 = 12 个组合分歧)+ D3z(中文句出路:发消息后会提出取消、括注「若卡反而回来了,先作答」、不含旧出路;print 车道句不动);`scripts/catalog-migration-golden/cc813.json` / `cc361.json` 的 `changed` 登记交互车道一句迁后摘要(取自 `--print-golden`)。
249
+ - `run-park-row-card-leg-projection-test.mjs` 新段 WO(§137 WO:句口三态 × en / zh 逐字 · 目录三键在、旧键退 · 到期位读口取值表与取值器不执行 · 桥拦读行 `deadline` 十一形与停驻解析收场句 · 自愈判决 `_sema_rowDeadline` 八形与缺席 / 访问器 / 列键陷阱 / 只跟判决走 · 决断口 400 回执句与本地停结局句手里没有行 ⇒ 恒只说取消),HFb / HFe 既有格的期望句改为只说取消那一句;红先 = 修前 6 红(WO 段在句口处中止),修后 136 格全绿;变异 8 枚(`null` 读成不知道 · `none` 形句子改回旧句 · 桥拦不交到期位 · 自愈不交到期位 · 型面键名单漏该位 · 回执句改说 armed · 读口执行取值器 · 结局句改说 armed)各恰红对应格。新语料 `scripts/_catalog-corpus/cc1239.mjs` + 金样 `cc1239.json`(句口三态 + 表外状态词;armed 的摘要 = 旧句摘要);`cc1155.json` 登记 `changed` 两条(回执句迁后摘要,取自 `--print-golden`);`run-client-core-pure-test.mjs` 里 `bindingOf` 的冻结字面量随之重铸(成文改口:verbatim 回显 / 绝不重算 hash / 两位各只读一次三条不变量不动);`docs/type-superset.json` 登记 `_sema_rowDeadline`。
250
+ - `run-seat-contract-keys-test.mjs` 新段 LN(§137 LN,判据 G-LN3 – G-LN5):两只入站判官在场 · 作用域缺席过 / 带会话过 / 坏形九种拒并点名(缺键 / 空串 / 非串 / 聚焦位 / 车道词 / 引擎位 / 非记录 / 访问器不执行 / 读就抛的代理)· 意图位候选池恰过 `local` / `cloud` · 起会话入参闭形与既有四键按型 · 型面编译探针(两只动词签名、意图位型、作用域型、旧实现旧调用照编、表外词编译报错);E 段起会话键集 +`engine`;H 覆盖表 26 → 28(两只判官逐键投毒、键集对账、非普通载体七形拒)。`run-session-engine-lane-projection-test.mjs` 新段 LNa:意图词 = 提交口肯绑定的 kind = 会话行出站判形认的 `engine.kind`(候选池逐词三处同答)· 作用域只认会话、不认车道词。红先 = 修前产物上 LN 段 21 格红(型面负控一格修前同样成立)、LNa 两格红。LN7 起会话判官两格(继承的意图位:原型上的数据位 / 取值器)与 H2 新载体「自造无原型对象作原型」(全族 40 格:逐形拒且拒因点名普通对象、能力表读口 `malformed`;跨 realm 正控照过)在原型判据收紧前红;LN7 作用域那一格修前同样拒(必选位不能靠继承满足),是回归钉。
251
+ - `run-seat-computer-use-switch-test.mjs` CU4 随原型判据收紧改口(§137 LN-11):原型是自造无原型对象的载体从此在形上拒(拒因 `not object`),不再走到逐键;「只认自有位」改由过普通记录判据的载体守 —— 跨 realm 普通对象而 `enabled` / `confirmed` 只挂在那个 realm 的 `Object.prototype` 上 ⇒ 拒并点名该位(属性读得到,判官不认)。
252
+
253
+ - 新门 `scripts/run-seat-actions-test.mjs`(包侧投影门三件之一;**§137 SA-1 – SA-4**,判据 G-SA4 – G-SA5):SA1 登记(SPEC 认领 = invoke + 通用回执门、事件 = event + 出站门函数引用相等 · 动词 / 事件清单 · 能力名闭集 · 词闭集冻结且无聚焦 / 路由词 · 豁免表 / 覆盖表登记 · 构建产物 `LocalSessionsApi` 两成员签名 / `SeatCapabilitiesState.seatActions` 可选位 / `SeatActionsClaim` 恰一位 / `readSeatAction(ev: unknown)` 走语法树)· SA2 出站门(每臂正控含恰上限与制表·换行·回车放行 · 逐键投毒 · 取值器不执行含判别键 · 读就抛不抛)· SA3 读口(三形 · 表外词 `unknown` 截 64 且不抛 · 拒因不带载荷值 · 冻结副本 · 取值器不执行 · 换值代理下读出的 `text` 恒满足出站判据)· SA4 认领(表外词整表拒并点名 `actions[i]`、拒因带闭集且转义截断 · 重复词不拒、读口去重按闭集序 · 坏形 ⇒ 空表 · 取值器不执行 · 稀疏超长数组一项不展开 · 条数换值代理与内容换值代理下判官与读口只信同一份读数)· SA5 能力位(出站门 / 读口三态 / 禁用句 / 订阅口 store 缺席)· SA6 端到端(宿主替身:未认领不派发、含表外词的认领被拒且现有认领不动、坏形被出站门拒、撤回认领入口消失);红先 = 修前产物 25 红(36 格里 11 绿,其余段抛错),修后全绿;另补的 SA4 复现格修前 6 红(稀疏超长数组被展开 · 条数换值代理放行表外词 · 条数只在属性读上撒谎的代理放行超界 · 读口交出判官没见过的词)。`run-seat-contract-keys-test.mjs` 覆盖表 28 → 29(+`SeatActionsClaim` 逐键投毒与键集对账)、逐形豁免 +`SeatAction`;`run-seat-carriers-test.mjs` / `run-seat-recents-test.mjs` / `run-seat-wave2-test.mjs` 能力名闭集 +`seatActions`、carriers 被管表 +`seatActions: ['claimSeatActions', 'onSeatAction']`;`_seatContractPins` 类型钉 +7 格(能力位管两名与动词 3 · 认领入参覆盖表 ⇄ 型 2 · 动作词 ⇄ 判别词 2)。
254
+ - `run-park-failed-reason-projection-test.mjs` P10 段(§137 SB-1,判据 G-SB1):400 / 403 / 404 / 409 / 500 五种状态 × 同步腿 / 耐久腿 —— 真因句在出路句前恰一枚 `(HTTP n)`、与活卡收口句括注同形、两腿逐字相等 · 读不出(无状态 / 域外 200·399·600·0·409.5·NaN / 数字串 / 取值器)不带 · 折叠码形括注接在折叠句后 · 结果信封同句;红先 = 修前全部 `(HTTP …)` 格红。
255
+ - `run-task-notification-parity-test.mjs` TN7l(§137 SB-2,判据 G-SB2):字面 `true` 且帧上有自有 `errors` 数组才答 `true` · 负控七形(今天真成功臂帧补回旧位 / 裸旧位 / `errors` 是串·对象·只在原型链·取值器不执行·已撤销代理数组)⇒ 缺席 · 正控失败臂帧带位 ⇒ `true`、不带位 ⇒ 缺席。
256
+ - `run-hitl-gate-honesty-test.mjs` F17-PC 段(§137 SB-3,判据 G-SB3):三条腿 × 四词(`no_approval_ui` 同今句、其余三词各自一句且零「permission prompts are not available」)× 无 reason / 全空白 reason × 缺席 ⇒ 今句 × 八种表外词 ⇒ 缺席 × 只在原型 / 取值器(零次执行)⇒ 缺席 × `human` / 缺归因卡上带词被忽略 · 负控「TUI × deny 规则 × 命令替换」零该句、「`-p` 无审批口 × ask 规则」仍原句。
257
+ - `run-websearch-verdict-test.mjs` H11 段(§137 SB-4,判据 G-SB4);H3b / H3c / H4h 三格句子逐字随句尾出路句改口:十形判拒(含 U+3000 / U+2003 / BOM / U+2028 首尾)× settings·env·宿主注入三源 × 提交·检查两场景句尾恰为出路句 · 九形采纳值原样不 trim 且无句 · 出路句不外溢到别的字段·非串 key · 不回显 key 字节。
258
+ - `run-support-floor-projection-test.mjs` VT6 / CR5b – CR5d′ / CT3 池与判官 / SR5b(§137 SB-5,判据 G-SB5):主版本 0 七形 × 两口 × 带 floor ⇒ `unknown`、主版本 ≥ 1 的低版本仍 `legacy`、带 0 的坏串仍既有 `unknown`;「三态是比较口的翻译」改口为主版本 0 除外(独立判官补这一臂);范围判定口对 `0.x` 答 `unknown + version_unreadable`、不出句。
259
+ - `run-event-leg-compose-test.mjs` EL-D5 – EL-D9(§137 SB-6,判据 G-SB6 包侧同判):meta → `task_started`(无进度帧)即可寻址 · 出生帧与进度帧同 `taskId` 两序都同一记录、冲突计数 0 · 缺 `taskId` / 空串 / 非串不登 · 绑定前不落 · 直调登记口认出生帧、不认通知帧。
260
+ - `run-park-failed-reason-projection-test.mjs` P11 段(§137 SB-7,判据 G-SB7):三码 ×(`retriable:true` / 缺席)× 同步腿 / 耐久腿 —— 尾句不含「on the card when it is shown again」、以取消专句收尾、两腿逐字相等 · 非该族(绑定不符 409 / 族码但状态 400·422 / 表外近似码 / 码是取值器 / 无码 403)仍接原尾句 · 状态码括注与专句并存各恰一枚、次序固定 · 结果信封同句;红先 = 九格红。
261
+ - `run-resume-refusal-copy-test.mjs` ② 改七员逐词逐序、新 ⑩ 段(§137 RC,判据 G-RC1):读引擎声明文件的语法树取 `resume.*` 码联合与逐码文档注(五枚「pre-CAS · `pending`」、`holder_superseded`「lost its CAS · do not retry」;引擎新加码而本包账上没有、账上去处与三个闭集的实际成员关系不符都红)· 五枚的读数 / 码认领谓词 / 句子(中英逐字、第二段同族同一句、两两互异、目录零缺参)/ 体带 `retriable: true` 不给重试 · 表外码(`resume.holder_superseded` / `resume.__never__`)读口 `null`、补充句链零行、迟到决断结局 `unknown` 且结局行不说话(对照:410 下表外码读 `settled-elsewhere`、`retriable: true` 下表外码给重试,证明五枚的行为是被码认领出来的);`run-decision-refusal-standing-test.mjs` HJ12b +5 码(真入口联合同判);`run-error-supplement-roles-test.mjs` 出句样本 +5。
262
+ - `run-permissions-declaration-test.mjs` 改读引擎覆盖判官的新导出(§137 SD-2,CC-1100):门里复写服务端受理口「铸不出」判官的那一步仍调已退役的 `isNamespacedCoveringRuleName`(引擎 7.59.0 起改 `isCoveringRuleName(name, behavior)`),改为每个调用点交自己的单子(allow 桶 `'allow'`、deny `'deny'`、ask `'ask'`;漏传即抛),不设缺省。
263
+ - `run-run-follow-projection-test.mjs` G10b①–⑥(§137 SD-1,判据 G-SD1b):绑定后的传输错续收一次到终帧 · 每腿抛耗尽 ⇒ 抛出物与原错误同一引用并登记 · 未绑定三形原样抛(零续收零探活不登记;静默撕裂形同三态仍登记)· 非传输错三形穿透 · 探活答死 / 已中止原样抛 · 一腿抛二腿收官。
264
+ - `run-steer-input-ids-projection-test.mjs` SI6a–j(§137 SD-3,判据 G-SD3b):引擎真铸的两行 steer 码(插话 + 审批反馈)· 读口 `inputKind` · 句 en / zh 一单一复对目录原值 · 表外与坏形 `detail.kind`(七形 + 取值器读抛 + 原型链 + follow-up 码)按缺席 · 去重单位 `(code, taskId, inputKind)` 下两行两个单元 · 判词零重投。
265
+ - `run-core-7610-pick-projection-test.mjs` T5 / T5b / T6、`run-hitl-gate-honesty-test.mjs` F4-e / F4-c⑪a / F4-c⑪b、`run-server-7143-pick-projection-test.mjs` SVa1b / SVa1c / SVa2 / SV0b(§137 SD-4,判据 G-SD4):谓词与读法同答 · 老服务端缺绑定码答码本身并回退纯批准 · `decide_requires_binding` 仍不收;其中 F4-e / F4-c⑪b / SVa2 / SV0b 为成文改口(0.106.0 的「该码不收」作废)。
266
+ - `run-park-row-card-leg-projection-test.mjs` HFe8 / HFe8b / HFe8c / HFe9(§137 SD-5,判据 G-SD5):`lacking` 的行句出路(en / zh、不随到期位变)· `damaged` / 认不得 / 读不出仍是三态那一句。
267
+ - `run-session-policy-deliverable-test.mjs` PS5 成文改口(§137 SD-6,判据 G-SD6):「不是一只工具名」那句不再断言「引擎从不…/ 没有工具会匹配它」,改断言「这条记录不收这一形」+ 出路 + 句内零引擎代际词。
268
+ - `run-park-hop-progress-test.mjs` L2b①–④、`run-approvals-feed-unknown-test.mjs` U14(§137 SD-7,判据 G-SD7):`async` 拒绝 / 无原型抛出物 / 普通同步抛 / 读位抛 / 带陷阱 thenable 五形不外溢、读位上中止零调用、五处宿主回调调用点的源码结构钉;订阅者两臂 × 三形。
269
+
270
+ - 发布前订正的三处登记:`run-client-core-portability-test.mjs` index 闭包棘轮 423 → 424(`scripts/registry.json` 追一条账)—— CC-1065 策略拒原因词叶子 `src/hitl/policyDenyCause.ts` 进根入口闭包:零 import、经三个值级读者进;并进读者任一侧会让公面运行期 +2(两只整只上根入口的模块)或让词表与每轮台账状态混住 · `run-engine-cap-snapshot-readers-test.mjs` C 段最小合法体补齐本版座位覆盖表新增的三行(`StartSessionOptions` / `SeatResourceScope` / `SeatActionsClaim`),自证「覆盖表与最小合法体一一对应」恢复、三行各过逐键投毒 · `run-display-untrusted-projection-test.mjs` C1 残留登记不增(座位动作改读单源)。
271
+ - **发布前订正的单例清单对账**:`run-client-core-singleton-test.mjs` 名单等值门(远端全门 m2 基线外红)—— 发布前订正 ⑦ 把座位预填判据的三条本地字符类正则(`SEAT_LONE_SURROGATE` / `SEAT_PREFILL_FORBIDDEN` / `SEAT_PATH_FORBIDDEN`)换成读展示单源模块的两只冻结选项面(`SEAT_TEXT_FACE` / `SEAT_PATH_FACE`,obj),订正 ① 新增受理判据位名单 `ACCEPTANCE_ROW_KEYS`(arr);`docs/refactor/p1-scan/singleton-manifest.json` 同批换三条、补三条(purpose / dupRisk low / dupRiskWhy),high 129 不变。
272
+ ### Known limitations
273
+ - 三枚服务端错误码常量(`conflict.not_resumable` / `checkpoint.invalid_outcome` / `checkpoint.already_resolved`)本包手抄不根导出:运行期常量唯一出口 = 类型包生成物,到货那版同对象转出并退手抄(KL-12961)。
274
+ - 受理分类判官对「伪造描述符的代理对象」(`getOwnPropertyDescriptor` 陷阱对空目标编造 `turns` 值)会按编造值答 `admitted`:只对可执行输入成立,JSON 回读体不可达;本版不加代理识别(CC-923 车 C;KL-9231)。
275
+ - 原始 `-p` 面的「双重转义 JSON 体」(错误文本里的 `\p{Cf}` 经两次 JSON 转义可见;0.92.0 起同读,非回归)本版只登记不修:遮蔽记号拼写归服务端出口契约,本包不自定(CC-879;KL-11061;§137 DC-5)。
276
+ - `delegation.delivery_discarded` 的 `detail.path`(三词)本包不读:引擎没把这只闭集放上包根,本包不手抄(§137 包侧缺口〔CT〕①)。
277
+ - 引擎新增的 allow 列表准入判官 `screenAllowedToolsValue` 本包不接:本包没有 allow 列表座位的准入口(§137 CT-9)。
278
+ - 缺省模型合成判官的 `ok` 只说不点名模型的任务起得来,不说引擎选中哪一条:读数 `default` 是设置层缺省链的选中,模型面的缺省角色指向别的名时两者不同(§137 包侧缺口〔CT〕⑤)。
279
+ - 托管设置里的守卫带服务端读者不读的键时,那一条拿掉、回合照发(只进开机清单),不像托管层坏形那样拒发(§137 包侧缺口〔HK〕①)。
280
+ - 开机清单里的键坐标对不是标识符形的键段不加引号,与服务端 `unknownKeys` 的写法在键名含 `.` / 空白时不逐字同;下标是该层设置文档里的下标,不是合并后请求体里的(§137 包侧缺口〔HK〕②)。
281
+ - 服务端读者不读 `onFailure` 的代际(支持范围内 7.139.0 – 7.146.x)上,写了 `onFailure: "block"` 的 hook 整条拿掉、不跑,失败时自然也不阻断(只进开机清单的披露句);服务端版本探不到、或高于已登记的代际(7.147.0 起;本包改读服务端自报的读者字段闭集之前)时同样按不读拿掉(§137 包侧缺口〔HK〕⑤)。
282
+ - 通知唤醒提交的受理判官只回答一次回读;服务端的「正文已受理」位 `admittedAt` 还没出,出之前分不出受理前 / 受理后的 `running`(两者都答 `pending`),零工作结束或被拒后键迟迟不释放的行按 turns 读法确认不了(§137 包侧缺口〔NB〕①②)。
283
+ - 云控制面 MCP 条目的凭据引用(`envRefs` / `headerRefs`)几种坏形本包云控制面腿不整条丢:值坏形(非串 / 空串)那一条逐条跳过、目标名是保留成员名的剔出并点名降级、引用位不是对象的当作没有引用、不可枚举的引用成员看不见(访问器成员照读),条目都照上;设置契约 18.0.0 的律是凭据引用集合不部分抢救(都整条丢)。合契约的铸点在下发前已按它处置,只有不合契约或更老的回体会走到这几支(§137 包侧缺口〔SS2〕①)。
284
+ - A2A 对端读数只有名字:地址、凭据引用、停用位与技能收窄不读,本包也不把对端投进请求或影子配置(§137 包侧缺口〔SS2〕②)。
285
+ - 受理判官读到 `aliased` 时不说词落到哪一行(服务端刻意不说):行读口(看图 / 档位 / `@` 名单 / 兼容声明 / 行视图)对别名词仍按名、再按 `id` 找行,找不到 ⇒ `model_not_listed`(§137 包侧缺口〔MA〕①)。
286
+ - 托管设置的 `disableAllHooks: true` 才出「hooks 整体关闭」那一句;非托管来源(用户 / 项目 / 本地 / flag)的合并 `disableAllHooks` 把设置来源收窄成只投托管层时,清单不出这一句 —— 计划里分不出收窄是不是它造成的(§137 包侧缺口〔CS〕④)。
287
+ - 分派拒因 `session-ambiguous` 只能由宿主判出:判定入参只表达一本账本,本包不判「同一会话 id 同时在几台引擎账本里」(§137 包侧缺口〔CS〕③)。
288
+ - 权限档名映射 `permissionModeTitle` 只给英文档名(与终端和 CC 档位名同形),不随界面语言译;中文句子里照写这些名字(§137 包侧缺口〔CS〕⑤)。
289
+ - 座位动作通道的认领方向:表外词整表拒,页面比宿主新时整份认领被拒,座位上没有「宿主报自己认识哪些词」的读口,页面据拒因里的闭集取交集重交;预填文本的禁字表不含零宽字符 / 标签字符 / 方向标记(LRM·RLM·ALM);`text` / `cwd` / 认领表的上限是包定值;认领的生命周期(绑页面、重载即清)在宿主,能力位只说服务不服务本通道(§137 包侧缺口〔SA〕①②③④)。
290
+
52
291
  ## 0.107.0(2026-11-03)
53
292
 
54
293
  > 主题:换钉到类型包 35.0.0 / 服务端 7.145.0 / 设置契约 17.1.0(CC-1175 / CC-1160 / CC-1181;接入文档 **§136 SX-1 – SX-9**)—— 开发依赖类型包 `^34.0.0` → `^35.0.0`(peer 地板 `>=23.1.0` 不动);规则导入兑付读口改吃整只 200 体、两代信封都认,回执里「不知道落没落」的行单列交出(🔴 型面 BREAKING:兑付口回体型与转口);停驻行归属判官加第三条比对(委派子代的卡归发起它的会话);坏行判决读口不改、两代真字节正控 ‖ 换钉到引擎 7.63.0(内核契约 8 不变;CC-1187;接入文档 **§136 CT-1 – CT-11**)—— 通告码册 115 → 117(+3 −1);退出引擎码册的 `session.records_skipped` 在支持范围内照认作在册、受众 user;停驻行摘要的门种可缺席 ⇒ 读不出(读法不改,不铸缺省门种);收获两码按报告折叠;其余引擎面逐件零读点 ‖ 摘图通知旧码 `context.image_removed` 在服务端 7.139.0 – 7.142.x 上恢复显示(CC-1188;**§136 IR-1**;行为变)‖ 展示出口成对开关第三档 `'auto'`、名字位空白改读 `'except-ideographic'`(CC-1186;**§136 DM**;🔴 型面 BREAKING:`blanks: 'fillers'` 退出;行为变)‖ 凭据形键名判官与带戳存档拒的读口 / 句口上根入口、文案订正(CC-1189 / CC-1192 / CC-1195;**§136 XZ**)‖ 引擎续不了的耐久待决行不再呈可批卡(CC-1189;**§136 HF**;行为变)‖ 计划审阅结局载体的续跑对账 · steer 回执 id · 「没被用上」对账判词(CC-1198 / CC-1201 / CC-1203;**§136 RC**;行为变)