@sema-agent/client-core 0.109.0 → 0.111.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.
- package/CHANGELOG.md +342 -0
- package/README.md +88 -32
- package/dist/abortableSleep.d.ts +7 -0
- package/dist/abortableSleep.js +37 -0
- package/dist/adapt/arms.js +45 -11
- package/dist/adapt/toolCards.d.ts +3 -1
- package/dist/adapt/toolCards.js +4 -2
- package/dist/adapter/activeRunSelfHeal.d.ts +39 -0
- package/dist/adapter/activeRunSelfHeal.js +171 -3
- package/dist/adapter/downstream/eventToSdkMessage.js +20 -15
- package/dist/adapter/downstream/terminalToSdkResult.d.ts +2 -0
- package/dist/adapter/downstream/terminalToSdkResult.js +11 -0
- package/dist/adapter/runStream.d.ts +5 -0
- package/dist/adapter/runStream.js +15 -3
- package/dist/attachmentRoute.d.ts +20 -0
- package/dist/attachmentRoute.js +39 -0
- package/dist/attachmentsWireCaps.js +1 -1
- package/dist/builtinOutputStyles.d.ts +12 -0
- package/dist/builtinOutputStyles.js +147 -0
- package/dist/compactionStatus.d.ts +9 -0
- package/dist/compactionStatus.js +29 -5
- package/dist/controlRouter.js +2 -1
- package/dist/coreValuePorts.d.ts +39 -1
- package/dist/coreValuePorts.js +10 -0
- package/dist/declared/supportFloorDeclared.js +1 -1
- package/dist/displayUntrusted.d.ts +1 -0
- package/dist/displayUntrusted.js +138 -14
- package/dist/engineErrorCodes.d.ts +3 -0
- package/dist/engineErrorCodes.js +3 -0
- package/dist/engineHealthFacts.d.ts +20 -0
- package/dist/engineHealthFacts.js +42 -1
- package/dist/engineHealthProbeVerdict.d.ts +23 -0
- package/dist/engineHealthProbeVerdict.js +115 -0
- package/dist/engineInlineTaskStats.d.ts +4 -3
- package/dist/engineInlineTaskStats.js +18 -2
- package/dist/engineNoticeCodes.d.ts +10 -0
- package/dist/engineNoticeCodes.js +36 -6
- package/dist/engineRepoint.d.ts +147 -0
- package/dist/engineRepoint.js +310 -0
- package/dist/engineRowRef.d.ts +3 -0
- package/dist/engineRowRef.js +13 -1
- package/dist/engineSessionMessages.d.ts +2 -1
- package/dist/engineSessionMessages.js +5 -0
- package/dist/engineSwapCrossing.d.ts +57 -0
- package/dist/engineSwapCrossing.js +297 -0
- package/dist/engineUnavailable.d.ts +44 -0
- package/dist/engineUnavailable.js +492 -0
- package/dist/errorSupplementRoles.js +2 -1
- package/dist/eventLeg.js +3 -3
- package/dist/fleet/fleetProjection.js +3 -2
- package/dist/generated/engineFactTables.d.ts +2 -0
- package/dist/generated/engineFactTables.js +12 -0
- package/dist/generated/sdkFactTables.d.ts +2 -1
- package/dist/generated/sdkFactTables.js +5 -0
- package/dist/generated/settingsSchemaTables.d.ts +4 -0
- package/dist/generated/settingsSchemaTables.js +1 -0
- package/dist/hitl/approvalAskers.d.ts +6 -0
- package/dist/hitl/approvalAskers.js +30 -0
- package/dist/hitl/approvalCardReasons.js +6 -3
- package/dist/hitl/approvalDelivery.d.ts +1 -0
- package/dist/hitl/approvalDelivery.js +1 -1
- package/dist/hitl/approvalRequestFrameReading.d.ts +7 -0
- package/dist/hitl/approvalRequestFrameReading.js +11 -0
- package/dist/hitl/approvalResolution.d.ts +9 -2
- package/dist/hitl/approvalResolution.js +6 -1
- package/dist/hitl/askGateWire.js +5 -8
- package/dist/hitl/automaticAnswerVerdict.js +2 -2
- package/dist/hitl/decisionConflict.js +6 -3
- package/dist/hitl/decisionRefusal.d.ts +2 -0
- package/dist/hitl/decisionRefusal.js +8 -8
- package/dist/hitl/decisionRefusalCarrier.d.ts +3 -0
- package/dist/hitl/decisionRefusalCarrier.js +348 -0
- package/dist/hitl/decisionSend.d.ts +10 -0
- package/dist/hitl/decisionSend.js +57 -17
- package/dist/hitl/editedApprovalAcceptance.d.ts +25 -0
- package/dist/hitl/editedApprovalAcceptance.js +26 -0
- package/dist/hitl/elicitationRefusal.d.ts +4 -0
- package/dist/hitl/elicitationRefusal.js +23 -0
- package/dist/hitl/frameRouter.d.ts +2 -2
- package/dist/hitl/frameRouter.js +12 -33
- package/dist/hitl/gateIdentity.d.ts +5 -0
- package/dist/hitl/gateIdentity.js +23 -0
- package/dist/hitl/gateLedger.d.ts +0 -4
- package/dist/hitl/gateLedger.js +0 -19
- package/dist/hitl/hitlBridge.d.ts +7 -0
- package/dist/hitl/hitlBridge.js +14 -8
- package/dist/hitl/hitlHostSurface.d.ts +3 -1
- package/dist/hitl/hitlHostSurface.js +14 -4
- package/dist/hitl/hostWithdrawal.d.ts +15 -0
- package/dist/hitl/hostWithdrawal.js +38 -0
- package/dist/hitl/localAllowRedemption.d.ts +67 -0
- package/dist/hitl/localAllowRedemption.js +256 -0
- package/dist/hitl/parkResolver.js +32 -13
- package/dist/hitl/persistedRulesWire.d.ts +16 -0
- package/dist/hitl/persistedRulesWire.js +72 -2
- package/dist/hitl/planReviewWire.d.ts +3 -0
- package/dist/hitl/planReviewWire.js +37 -10
- package/dist/hitl/policyDenyCause.d.ts +1 -1
- package/dist/hitl/policyDenyCause.js +1 -1
- package/dist/hitl/resumeRunningCard.d.ts +1 -0
- package/dist/hitl/resumeRunningCard.js +1 -0
- package/dist/hitl/screenCardCarriers.d.ts +15 -0
- package/dist/hitl/screenCardCarriers.js +41 -0
- package/dist/hitl/screenDecisionCards.d.ts +98 -0
- package/dist/hitl/screenDecisionCards.js +362 -0
- package/dist/hitl/sessionPolicyWire.js +6 -4
- package/dist/hitl/standingRows.d.ts +4 -1
- package/dist/hitl/standingRows.js +33 -1
- package/dist/hitl/toolApprovalWire.d.ts +64 -15
- package/dist/hitl/toolApprovalWire.js +470 -125
- package/dist/hooksWireCaps.js +31 -1
- package/dist/hostSettingNoticeArm.d.ts +3 -0
- package/dist/hostSettingNoticeArm.js +12 -0
- package/dist/hostTurnSettings.d.ts +13 -4
- package/dist/hostTurnSettings.js +150 -10
- package/dist/humanTurnRead.js +11 -1
- package/dist/i18n/messages.en.d.ts +212 -0
- package/dist/i18n/messages.en.js +217 -5
- package/dist/i18n/messages.zh.js +235 -5
- package/dist/i18n/translate.d.ts +3 -0
- package/dist/i18n/translate.js +78 -10
- package/dist/i18n/zh.d.ts +1 -0
- package/dist/i18n/zh.js +1 -0
- package/dist/index.d.ts +56 -16
- package/dist/index.js +40 -12
- package/dist/inheritEnvCapability.js +2 -0
- package/dist/inputAuthor.d.ts +16 -0
- package/dist/inputAuthor.js +44 -0
- package/dist/interactiveHalt.js +2 -1
- package/dist/interactiveInterrupt.js +20 -2
- package/dist/interruptRefusalNote.d.ts +2 -0
- package/dist/interruptRefusalNote.js +17 -0
- package/dist/liveModelCatalog.d.ts +2 -0
- package/dist/liveModelCatalog.js +23 -9
- package/dist/liveQuestionStore.d.ts +4 -1
- package/dist/liveQuestionStore.js +12 -3
- package/dist/localEngineSeatReading.d.ts +2 -2
- package/dist/localEngineSeatReading.js +5 -3
- package/dist/localEngineSpawn.d.ts +0 -7
- package/dist/localEngineSpawn.js +0 -92
- package/dist/localEngineStep.d.ts +2 -2
- package/dist/localEngineStep.js +2 -0
- package/dist/mcpEngineLeg.d.ts +3 -0
- package/dist/mcpEngineLeg.js +38 -1
- package/dist/mcpPanel.js +2 -0
- package/dist/mcpReconnect.d.ts +9 -1
- package/dist/mcpReconnect.js +124 -19
- package/dist/mcpWireCaps.js +1 -1
- package/dist/model/engineModelWords.d.ts +3 -0
- package/dist/model/engineModelWords.js +13 -0
- package/dist/model/subagentModelWord.d.ts +21 -2
- package/dist/model/subagentModelWord.js +100 -29
- package/dist/modelCapabilityProbe.js +7 -43
- package/dist/modsFace.d.ts +8 -1
- package/dist/modsFace.js +27 -0
- package/dist/notifications.d.ts +36 -6
- package/dist/notifications.js +170 -20
- package/dist/ownKey.d.ts +6 -5
- package/dist/ownKey.js +31 -7
- package/dist/peerFrames.d.ts +40 -2
- package/dist/peerFrames.js +158 -3
- package/dist/pendingUserRow.d.ts +4 -0
- package/dist/pendingUserRow.js +16 -0
- package/dist/permissionsDeclaration.d.ts +1 -0
- package/dist/permissionsDeclaration.js +11 -1
- package/dist/planReviewCardFacts.d.ts +3 -0
- package/dist/planReviewCardFacts.js +52 -2
- package/dist/pluginHooksWire.d.ts +10 -1
- package/dist/pluginHooksWire.js +96 -7
- package/dist/printToolResultFrame.js +4 -2
- package/dist/promptBlockedCopy.js +11 -6
- package/dist/promptSuggestionBatch.d.ts +7 -0
- package/dist/promptSuggestionBatch.js +9 -0
- package/dist/promptSuggestionsTail.d.ts +39 -0
- package/dist/promptSuggestionsTail.js +116 -0
- package/dist/replayBody.js +10 -2
- package/dist/request/taskRequest.d.ts +5 -0
- package/dist/request/taskRequest.js +142 -21
- package/dist/requestCoordinate.d.ts +1 -0
- package/dist/requestCoordinate.js +13 -0
- package/dist/resumeRefusalCopy.d.ts +1 -3
- package/dist/resumeRefusalCopy.js +2 -1
- package/dist/retryStatus.d.ts +2 -2
- package/dist/retryStatus.js +2 -0
- package/dist/rewindArchiveReading.js +4 -4
- package/dist/runCancelContext.d.ts +2 -1
- package/dist/runCancelContext.js +1 -0
- package/dist/runPermissionModeSwitch.js +2 -2
- package/dist/scenarioRefusal.js +11 -13
- package/dist/scenarioSkills.js +11 -6
- package/dist/seam.d.ts +27 -2
- package/dist/seam.js +17 -1
- package/dist/seatContract.d.ts +189 -12
- package/dist/seatContract.js +401 -9
- package/dist/sessionBackground.js +2 -1
- package/dist/sessionBackgroundHandoff.js +2 -1
- package/dist/sessionCostReading.d.ts +70 -0
- package/dist/sessionCostReading.js +150 -0
- package/dist/sessionEngine.d.ts +2 -0
- package/dist/sessionEngine.js +111 -0
- package/dist/sessionHooksRoster.d.ts +4 -0
- package/dist/sessionHooksRoster.js +158 -0
- package/dist/sessionMemoryStatus.d.ts +2 -1
- package/dist/sessionMemoryStatus.js +2 -2
- package/dist/sessionReadRedaction.d.ts +7 -0
- package/dist/sessionReadRedaction.js +26 -0
- package/dist/sessionSyncFileHistory.d.ts +4 -0
- package/dist/sessionSyncFileHistory.js +27 -0
- package/dist/settingsHooksSalvage.js +2 -1
- package/dist/sseIdleTriage.d.ts +13 -1
- package/dist/sseIdleTriage.js +25 -6
- package/dist/storeDurabilityWord.d.ts +15 -0
- package/dist/storeDurabilityWord.js +18 -0
- package/dist/storePostureCapability.d.ts +7 -3
- package/dist/storePostureCapability.js +69 -39
- package/dist/subagent/engineSubagentResume.js +2 -2
- package/dist/subagent/engineSubagentTail.js +8 -1
- package/dist/subagentContentStore.d.ts +11 -0
- package/dist/subagentContentStore.js +28 -2
- package/dist/terminalStatuses.d.ts +1 -0
- package/dist/terminalStatuses.js +4 -1
- package/dist/toolResult.d.ts +1 -0
- package/dist/toolResult.js +2 -0
- package/dist/turnFailurePresentation.js +9 -2
- package/dist/typePins.d.ts +11 -0
- package/dist/usageAnalytics.d.ts +17 -0
- package/dist/usageAnalytics.js +44 -2
- package/dist/userAttachmentEnvelope.d.ts +2 -1
- package/dist/userAttachmentEnvelope.js +10 -0
- package/dist/wireErrorTriage.js +2 -1
- package/dist/wireFailureShape.d.ts +6 -5
- package/dist/wireFailureShape.js +150 -38
- package/dist/wireRefusalCopy.d.ts +16 -5
- package/dist/wireRefusalCopy.js +119 -86
- package/docs/INTEGRATION-CLIENTS.md +4228 -21
- package/package.json +7 -3
package/CHANGELOG.md
CHANGED
|
@@ -49,6 +49,348 @@
|
|
|
49
49
|
> 挡住 ⇒ 本批把它机械化——④a0 对 `pending` 行**要求段头已是日期形**(`(未发布)` 直接红),阶段一
|
|
50
50
|
> commit 漏转在发布前就红,不再靠人记。
|
|
51
51
|
|
|
52
|
+
## 0.111.0(2026-11-09)
|
|
53
|
+
|
|
54
|
+
> 主题:中文消息目录改住子路径 `./i18n/zh`、根入口不再带中文表;宿主在装配根 `installMessageCatalog('zh', ZH_MESSAGES)` 一次(CC-1357;接入文档 **§140 EX-1 – EX-6**;🔴 型面 BREAKING:根入口退出 `ZH_MESSAGES`;行为变:未装中文目录的宿主渲 `'zh'` 得英文)‖ 包入口闭集收成一张登记表,B0 单例定论(CC-1022;**§140 EX-7**;零行为变) ‖ 座位契约两件 —— Quick Entry 快捷键读写动词 + 会话 hooks 名册只读动词(CC-1369;接入文档 **§140 QE-1 – QE-6 / HR-1 – HR-8**) ‖ 子代理模型词:代理准入判官 `subagentModelAdmissionOf` · 准入拒那一句 `subagentModelAdmissionLine` · 调用层当场拒那一句 `subagentModelCallRefusalReason` · 读数 `default` 一类 · 宿主断言词 `reads-this-config` · 引擎词表一张(CC-1362;接入文档 **§140 AM-1 – AM-7**;型面加性 + 型面加宽〔读数类别 +1〕+ 行为变:`default` 规范拼写、受理判官 `best` 说不清) ‖ 「永不抛」的抛出物字段读口上根入口 `thrownSlotOf` / `errnoCode`(CC-1370;接入文档 **§140 TS-1 – TS-4**;型面加性:根入口运行期 +2)‖ 场景卡技能清单能力位读器的读数改为模块级冻结单例,与根入口全部 `observed*` 读口同律(CC-1355;**§140 SC-1 / SC-2**;读数形零变)‖ `-p` 车道「托管策略还没拿到,allow 规则这一发没送」那一句按拉取态分三形(CC-1372;**§140 PK-1 – PK-5**;🔴 行为变:文字 —— 旧调用方不给拉取态位 ⇒ 得保守句,不再是原句) ‖ 人拒带说明位:工具结果行信封位 `_sema_refusal_noted` / 读口第五位 `refusalNoted` + 子代内容槽拒绝分类词与说明位(CC-1380 / CC-1381;接入文档 **§140 RN-1 – RN-6**;型面加性 + 行为变) ‖ 用户附件这一件怎么走 —— 唯一判官 attachmentRouteOf(工具相对这台机器在哪 × 附件腿 ⇒ 照附 / 照附带来源句 / 不附两因)、不附两因进「没带上」原因闭集、用户面原因句两语与来源句(CC-1389;接入文档 **§140 AR-1 – AR-6**;型面加性:根入口运行期 +5、型 +5;原因闭集加宽) ‖ 屏上决定卡的三个事实 —— 卡种 / 门实例身份 / 来源代,每种载体一只读口(CC-1373 / CC-1375;接入文档 **§140 SQ-1 – SQ-4**;加性) ‖ 换代两拍一只判官 `engineGenerationCardPlan` + 到期判定 + 金样(CC-1374;**§140 SQ-5 – SQ-7**;加性) ‖ 引擎决定判定 `screenCardsHoldEngineDecision`(CC-1375;**§140 SQ-8**;加性) ‖ 内置输出风格表下沉进包(CC-1340;接入文档 **§140 BO**;加性)‖ 排队用户行 `pending-<uuid>` 行形归包(CC-1337;接入文档 **§140 PU**;加性)‖ 停驻行卡 `parkRow.taskId` 退役(CC-1348;接入文档 **§140 CP**;🔴 型面 BREAKING,0.110.0 已预告)‖ 展示出口 query 区标签裸值止点成文句收口(CC-1300;接入文档 **§140 DQ**;字节不变) ‖ 「不再询问」本地落规则档兑付契约(LA;加性 + 行为变 + 🔴 型面 BREAKING 窄) ‖ 计划审阅卡卡事实的证据代 `evidenceRevision` + 过期卡判官 `planReviewEvidenceMovedOf`(CC-1400;接入文档 **§140 EG-1 – EG-4**;加性) ‖ 失败通知的原因位 `error` 两条来路一事一源(CC-1407;**§140 WF2-1 – WF2-3**;行为变:推送来路事实位多 `error`) ‖ 外来说明文本的封长规则只剩一份、量与引擎同(CC-1409;**§140 TR-1 – TR-3**;行为变:截断处整段多一码元) ‖ workflow 完成的取件位补充(CC-1422;**§140 WD-1 – WD-5**;行为变:轮询先交时,同一次完成带取件位的补投帧补一件取件位通知) ‖ 耐久审批门通告事实读口的来源词 `source` 改与成因词 `cause` 同形的开集读法(CC-1356;接入文档 **§140 NC-1 – NC-3**) ‖ 会话成本读口 `sessionCostReadingOf` · 分叉种子 `forkSeedCostOf` · 逐轮读数 `turnCostReadingOf` / `runCostSettlementOf` · 值级端口第二十六 / 二十七件 `accountRowOfResult` / `foldAccount`(CC-1008 A 件;接入文档 **§140 CO-1 – CO-8**;🔴 型面 BREAKING:完整型端口袋 +2 必填成员) ‖ 记忆暴露通告开头句回到平话(CC-1456;接入文档 **§140 MP-1**;行为变:文字) ‖ `settings.env` 随最终 hooks 重算,补入条目点名的名补上(CC-1421;**§140 HE-1 – HE-3**;🔴 行为变:139-HE-10 成文改口) ‖ 引擎改指口列表口工厂形 + 连续性证据绑地址对 + 接线错不可重试(CC-1408;**§140 RP3-1 – RP3-3**;🔴 型面 BREAKING) ‖ 交易句随界面语言(**§140 MR2-1**;行为变:文字)
|
|
55
|
+
|
|
56
|
+
### Added
|
|
57
|
+
- **子路径入口 `@sema-agent/client-core/i18n/zh`**(CC-1357;**§140 EX-1**):运行期恰一名 `ZH_MESSAGES`(冻结中文消息目录,与此前根入口交出的是同一张表)。纯数据入口:零状态、零外向依赖、闭包与根入口不相交。
|
|
58
|
+
- **`installMessageCatalog(lang, catalog)` + 型 `MessageCatalogInstallOutcome`**(CC-1357;**§140 EX-2 / EX-3**;根入口运行期 +1、型 +1;公面导出计数不变 2228 → 2228〔−1 +1〕):宿主在装配根装一种非内置界面语言的目录;结局闭集 `installed` / `built_in` / `unknown_language` / `not_a_catalog` / `conflict`。装入即快照(只取自有数据位上、键在英文目录里的串;取值器不执行;宿主事后改原表不影响出句);同一只目录再装幂等,另一只 ⇒ `conflict`(先装者有效)。永不抛。
|
|
59
|
+
- **MCP 表单问「此处呈现不了、已拒」一句 `elicitationRefusedLine(frame, outcome, lang?)`**(CC-1363;**§140 ED-1 – ED-3**;型面加性:根入口运行期 +1、型 0;消息目录新域 `mcp`,两键 `mcp.elicitation.refused.named` / `.unnamed`):宿主呈现不了 MCP 服务器经引擎发来的表单(`elicitation` 开问帧),当拍经 `sendHitlDecision` 回 `{ action: 'decline' }`,且回绝生效(结局 `applied`)⇒ 一句(en / zh 同键):说「此处呈现不了这张表单,所以拒了」,不说用户拒绝;服务器名经展示出口画成单行、封长;名字说不出 ⇒ 无名那一句。别的结局(`settled_elsewhere` / `not_applied` / `unconfirmed` / `not_sent`)、收尾帧、别族结局、坏形 ⇒ `undefined`。何时出句由本口判,宿主只交帧与结局。
|
|
60
|
+
- **Quick Entry 快捷键:座位动词 `getQuickEntryShortcut()` / `setQuickEntryShortcut(next)` · 能力位 `quickEntryShortcut` · 前置判法 `planSetQuickEntryShortcut(request)` · 闭集 `QUICK_ENTRY_SHORTCUT_REFUSAL_REASONS` / `QUICK_ENTRY_SHORTCUT_FAILURES` · 型 `QuickEntryShortcut` / `QuickEntryShortcutState` / `SetQuickEntryShortcutResult` / `SetQuickEntryShortcutPlan`**(CC-1369;**§140 QE-1 – QE-4**;🔴 型面 BREAKING(窄):`LocalSessionsApi` 多两只成员、能力名闭集多一词;根入口运行期 +3):宿主的 Quick Entry 全局快捷键此前只有宿主菜单能改、只能选预设,渲染端没有读写口。现势三键 —— `saved`(`"off"` 或一枚键)/ `active`(此刻真注册着的键,没有 ⇒ `null`,不是空串)/ `savedFailure`(存的那枚键为什么没注册上);写口被拒是回执不是异常:`{ ok: false, reason, state }`,拒因四词 `invalid-request` / `invalid-accelerator` / `registration-failed`(系统拒注册或回读不在,含被别的应用占用)/ `write-failed`,旧键原样留着,回执带现势;出站门拒「成功却挂着注册失败」的假成功,拒「关着却说注册失败」「注册着却说失败」两种自相矛盾的现势。浏览器 lane / 终端不报能力位 ⇒ 不渲录制器。
|
|
61
|
+
- **会话 hooks 名册:座位动词 `readSessionHooksRoster(sessionId)` · 能力位 `hooksRoster` · 唯一投影口 `sessionHooksRosterOf(plan)` · 闭集 `SESSION_HOOKS_ROSTER_STATUSES` / `HOOK_ENTRY_TYPE_WORDS` · 型 `SessionHooksRoster` / `SessionHooksRosterRow` / `SessionHooksRosterLayer` / `SessionHooksRosterHttpRow` / `SessionHooksRosterStatus` / `SessionHooksRosterEvent` / `HookEntryTypeWord`**(CC-1369;**§140 HR-1 – HR-6**;🔴 型面 BREAKING(窄):`LocalSessionsApi` 多一只成员、能力名闭集多一词;根入口运行期 +3;目录 +2 键):名册 = 组回合用的同一份 hooks 计划在设置来源平面的逐行投影 —— 每行 来源层 / 事件 / 组下标 / 条下标 / 条目型 / 状态(`engine` / `shell` / `not_run`)/ 理由词,另有逐层结局(剔了件 / 整份拒 / 信任扣下)与被 http 名单动过的条目;名册里每个串都是闭集词,命令串、url、用户写的键名都进不来。座位宿主读的那一拍按下一拍装配回合的同一只计划口现算计划交投影口(没有这只会话 ⇒ `unarmed`;计划读不成 ⇒ `unreadable`);浏览器 lane 的服务端对同一份计划调同一只投影口 —— 两条 lane 一份读数。
|
|
62
|
+
- **代理准入判官 `subagentModelAdmissionOf({ word, liveCatalog?, local? })` + 型 `SubagentModelAdmission`**(CC-1362;**§140 AM-1**;根入口运行期 +1、型 +1):问的是「带着词读数交出去的那个词的一条 `agents[]`,这台引擎的代理准入收不收」。入参与 `resolveSubagentModelWord` 同一只、内部走同一份词读数(不另解析词);交出去的那个词交唯一受理判官 `modelAcceptanceOf` 按 `liveCatalog` 判(不另判目录)。代理面与主模型选择面只差两处:部署的 @ 名单不挡代理(`not_at_mentionable` ⇒ 收);引擎词表词(档位词 / CC 档位别名 / `best` / `default`)不在受理面 ⇒ `refused{not_served}`(别的词 ⇒ `refused{not_listed}`;目录明说停用 ⇒ `refused{disabled}`)。读数不带 `model`(`inherit` / 多义 / 落不了点)⇒ `accepted{not_sent}`;没有这台引擎报的目录 ⇒ `unknown{catalog_absent}`(本机池不是受理面;读不出 ≠ 拒);目录读不出 / 读法丢过行 / 不带受理面而词是词表词 ⇒ `unknown`(成因同受理判官)。冻结、永不抛、取值器不执行。
|
|
63
|
+
- **准入拒那一句 `subagentModelAdmissionLine(word, admission, lang?)`**(CC-1362;**§140 AM-2**;根入口运行期 +1;目录 +3 键 `model.subagent.refused.*`):三因各一句(en / zh),点名用户写的词、说「这个代理不随请求发出」与出路;只在 `refused` 出句,其余 ⇒ `undefined`。句子的「不随请求发出」是宿主照读数剔掉那一条之后的事实 —— 宿主没剔就不要渲。
|
|
64
|
+
- **调用层当场拒那一句 `subagentModelCallRefusalReason(word, reading, lang?)`**(CC-1362;**§140 AM-3**;根入口运行期 +1;目录 +4 键 `model.subagent.call.*`):调用参这一层落不了点 / 多义时拒绝执行的那一句,四因(多义 · 档位层惰性 · 链上无绑定 · 绑定不在目录)各一句,档位两因点名档位(读数的 `label`,CC 别名已翻成档位词);与 `subagentModelWordProblemLine`(fail-soft 那一句)同一只成因分类器。句子不带宿主命令名、不带合法词表。
|
|
65
|
+
- **宿主断言词 `'reads-this-config'`**(CC-1362;**§140 AM-5**;型面加宽:`SubagentModelLocalEngine.engine` 可取两词):说的是本包依赖的那一件事 —— 连着的引擎读的就是 `tiers` / `pool` 取自的那份配置(本配置根的本机引擎,不论哪一端起的;起来时的配置源就是这两张表的配置源)。
|
|
66
|
+
- **`thrownSlotOf(err, name, kind?)` + `errnoCode(e)` 上根入口**(CC-1370;**§140 TS-1 – TS-3**;型面加性:根入口运行期 +2、型 0):抛出物字段读法此前住在包内,终端壳各写自己的一份(失败留痕与重连两处各一份字段读口、`errnoCode` 副本若干)。`thrownSlotOf` 是包内受保护读口的薄包装,档位 `kind`:缺省 `[[Get]]` 沿原型链读(内建 `Error` 的 `name` 在原型上);`true` 只认自有键;`'data'` 只认自有数据位(取值器不执行、原型链上的同名位与 `Object.prototype` 污染不算)。永不抛;**字段缺席与读不出(取值器 / 代理陷阱抛、已撤销的代理、入参 `null` / `undefined`)一律 `undefined`**,读数可直接 `??` 兜缺省、可直接插进模板串;用作串 / 数前先 `typeof` 窄型。入参 / 读数写 `{} | null | undefined`(catch 里的 `unknown` 可直接传)。包内口与它的「读不出」私有哨兵不上公面。`errnoCode(e)` 是 `code` 位的固定调法:自有数据位的非空串 ⇒ 该串,其余一律 `undefined`。
|
|
67
|
+
- **引擎此刻服务不了这一会话:一行 `engineUnavailableLine(facts, lane, lang?)` + 臂闭集 `ENGINE_UNAVAILABLE_REASONS`(八词)+ 安装形闭集 `ENGINE_INSTALL_SHAPES`(六词)+ 拒码表 `ENGINE_BOOT_REFUSAL_CODES` + 专码 `ENGINE_UNAVAILABLE_EXIT_CODE = 69`**(CC-1378;**§140 EU-1 – EU-7**;型面加性:根入口运行期 +5〔公面导出 2232 → 2237〕、型 +7 `EngineUnavailableReason` / `EngineBootRefusalReason` / `EngineInstallShape` / `EngineBootRefusalForm` / `EngineDataRootVariant` / `EngineBootWayOut` / `EngineUnavailableFacts`):
|
|
68
|
+
「引擎为什么不在、端说哪一行、出路是什么、重试有没有用、headless 退什么码」修前各端各判一份(文本识别器各写各的、出路各配各的)。现在一行由本包出:机读前缀 `[sema] engine-fatal · reason=<码|臂> engine_exit=<n|none> engine_signal=<名|none>`(两语逐字同;读不出的位渲 `none`,不折 0)+ 头半句 + 详情 + 出路;
|
|
69
|
+
拒因认出了臂 ⇒ 它的臂与引擎原话赢(宿主一句不再另拼);车道只用既有三词 `interactive` / `print` / `utility`,只改重试短语(`print`:「run the command again」);两只「拒用」臂不附出路。专码与 `RESUME_RUNNING_NO_UI_EXIT_CODE`(75)并排。
|
|
70
|
+
- **自愈腿「发起这一笔的对话还在不在屏上」一只宿主口 `ActiveRunSelfHealDeps.stillHere?: () => boolean | undefined` + 唯一读法 `conversationLeftOf(deps)` → 三态 `ConversationPresence`(`'here' | 'left' | 'unconfirmed'`)**(CC-1379;**§140 CL-1 / CL-2**;型面加性:根入口运行期 +1、型 +1):宿主答「发起这一笔的那个对话还是屏上这一个吗」(典型实现:进入那一拍记下的对话 id 与此刻屏上的比)。严格 `true` ⇒ here、严格 `false` ⇒ left;交了口却答 `undefined` / 非布尔 / 读口抛 ⇒ unconfirmed(扣发:误投到别的对话比不发更坏);口缺席 / 不是函数 ⇒ here(与修前逐字节同)。本包三处读点(自愈出口 / 留批等待 / 结束那条 run 的离开句判)与宿主都经这一只读法。
|
|
71
|
+
- **结局臂 `resend-withheld-left` / `resend-withheld-unconfirmed`(都是 `{ kind; taskId; releaseConfirmedByEngine?: true }`)**(CC-1379;**§140 CL-3**;🔴 型面 BREAKING〔窄〕:`SelfHealOutcome` 联合 +2 成员,对它穷举 `switch` 且无默认臂的宿主编译红一次):释放已在原对话里成立、本该把被拒的那条重发,但宿主答发起它的对话已离开(left)/ 答不清(unconfirmed)⇒ 不重发。处置都是 `not-delivered`(宿主的重发闸只读 `selfHealSubmissionDisposition`,自然不发)、续听意图 `null`;已离开那臂按释放证据分两句(用户形 / 注入形各二),说不清那臂各一句、只说「确认不了、没发」不说「已离开」(注入族事实表 +3)。
|
|
72
|
+
- **留批等待归包 `waitForInjectedResubmit(outcome, deps)` → `'resubmit' | 'gave-up' | 'left' | 'unconfirmed'`**(CC-1379;**§140 CL-4**;根入口运行期 +1、型 +2 `InjectedResubmitWaitDeps` / `InjectedResubmitWaitVerdict`):`injected-deferred` 之后「等占着会话的那条 run 停下」的编排。`deps` 的 `sessionId` / `stillHere` 就是自愈腿 deps 的那两位(宿主原样展开交进来);读口每轮现取;放行仍只问 `injectedResubmitAfter`;离开 / 说不清先于放行判;`unconfirmed` 与 `left` 同样不重提,但宿主上屏注入形「确认不了」那一句;永不抛。
|
|
73
|
+
- **结束那条 run 期间对话已离开的六类:型 `ConversationLeftStopResult` + 映射 `conversationLeftStopResultOf(outcome)` + 句口 `conversationLeftStopRow(result, taskId, copy?, lang?)`**(CC-1379;**§140 CL-5 / CL-6**;根入口运行期 +2、型 +1;消息目录本票合计 +14 键):宿主的结束命令驱动自愈腿期间换了对话(读法答 `left`;`unconfirmed` 用常规结局句)⇒ 结局按那个对话说(没动它 / 在等你的决定 / 已结束 / 早已结束 / 引擎拒了 / 证不出已放开);「结束那条 run」半句走既有结束出口槽 `endRun`。
|
|
74
|
+
- **工具结果行人拒带说明位 `_sema_refusal_noted`(值恒 `true`,present-iff)+ 读口第五位 `ToolResultRowFlags.refusalNoted` + 键名常量 `SEMA_REFUSAL_NOTED_KEY`**(CC-1380;**§140 RN-1 – RN-3**;型面加性:根入口运行期 +1〔公面导出 +1〕、`ToolResultRowFlags` 多一只必在成员):人在审批卡上拒了这只调用、并附了说明时,引擎把说明记进门记录(`settlement.note`),这一轮按说明继续;没附说明的是裸拒。交互转录行与 `-p` 工具结果帧经同一只行铸口带上这一位,读法只有 `toolResultRowFlagsOf(row).refusalNoted`。落位条件全在同一行上读:分类词 `_sema_denial_kind` 是 `user-rejected` ∧ 门记录 `_sema_gate` 是一次人的拒绝(处置拒、层名 `ask_resolution`、结算 `human_refused`)∧ 说明非空串(空串 / 非串当没写;只含空白仍是说明)。位在场时同一行分类词恒为 `user-rejected`,端不必再合取。键名进 `TRANSCRIPT_ROW_SIDECAR_KEYS`(按白名单重建行的端零改码)。
|
|
75
|
+
- **子代内容事件 / 账本卡 / 查看态槽位多两只可选位 `denialKind?: CcToolDenialKind` · `refusalNoted?: true`**(CC-1381;**§140 RN-4 – RN-6**;型面加性;座位载体 `subagentContent` 的闭形 +2 位):子代的 `tool_end` 此前不带门记录进槽,人拒的卡在子代查看态画成普通执行错误。现在投影口带上这次拒绝的分类词(与主转录同一只读器、同一闭集七词)与人拒带说明位(与主转录同一只判据);活体流、后台子代尾随流、重放三条路同一只投影;后到的更新收口按同一条替换律摘掉 / 换上。座位出站门只收闭集内的词与字面 `true`。
|
|
76
|
+
- Tool-permission receipts can say "not known". `respondToToolPermission` receipts gain an `unconfirmed` slot `{ cause }` for a host that got no verdict for the user's decision (no reply in time, a dropped connection, a server error, a local error, a cancelled send, a resend that found the request no longer waiting, or a pending-request list that could not be read when the receipt was settled); it always comes with `ok: false`. The cause words are the package's existing words for a decision with no verdict plus `registry_unreadable`. New `readToolPermissionAckState(ack)` reads a receipt as applied, not applied or unconfirmed; `toolPermissionUnconfirmedLine(ack, lang?)` gives the unconfirmed sentence in both interface languages (the after-resend cause reuses the existing sentence); `toolPermissionUnconfirmedOf(thrown, signal?)` turns a thrown decision error into the slot with the same classification the decision sender uses and returns nothing when the engine gave a verdict. New types `ToolPermissionUnconfirmed`, `ToolPermissionUnconfirmedCause`, `ToolPermissionAckSettled`, `ToolPermissionAckUnconfirmed`, `ToolPermissionAckState`.
|
|
77
|
+
- **停 / 换本机引擎之前的一判 `engineSwapCrossingVerdict(facts)` · 可排空态回落读口 `parkedToolApprovalsBySession(emission)` · 类闭集 `ENGINE_DRAIN_CLASSES` · 两语句口 `engineSwapCrossingText(verdict, lane, upgrade, lang?)`**(CC-1386;**§140 SX-1 – SX-6**;型面加性:根入口运行期 +4、型 +6;目录 +16 键):任何一端要停掉在跑的本机引擎(换代、重启、配置或凭据变了、引擎不答)之前问这一只判口。在跑引擎比本端新吗,只读本机引擎判官的判词,不再比一次版本:更新的在跑引擎**永不被停**,用户确认也不改(新版本胜、不降级)。本端更新时,在跑引擎上还在等的、换版后可能续不了的活(本版一类:还续得了的工具审批停驻行,按会话计)读到计数 > 0 或这一次读不出 ⇒ 先不换;引擎根本报不出的一类只列出、不单独拦。方向判不出 ⇒ 不自动换。拦截态带事实指纹,用户确认时宿主交回他看到的那一份,指纹相等才放行(多一张卡、换了一台引擎实例 ⇒ 重新问),放行后换并告知可能续不了什么。回落读口读审批订阅口的发射物原样:只计审批决断腿上、引擎判决缺席或 ok 的行,读不全一律 `failed`,不折 0。取值器不执行、敌意入参不抛。
|
|
78
|
+
- `### Added` 条:**「这一件用户附件怎么走」的唯一判官 `attachmentRouteOf({ leg, toolsLocation })` + 闭集 `ATTACHMENT_ROUTE_LEGS`(`at_mention` / `edited_file` / `paste` / `ide_selection`)/ `TOOLS_LOCATIONS`(`this-machine` / `elsewhere` / `unconfirmed`)+ 用户面原因句口 `attachmentWithheldReasonText(reason, lang?)` + 来源句 `attachmentLocalCopyNote()`**(CC-1389;**§140 AR-1 – AR-4**;型面加性:根入口运行期 +5、型 +5 `AttachmentRoute` / `AttachmentRouteFacts` / `AttachmentRouteLeg` / `AttachmentWithheldReason` / `ToolsLocation`):工作区文件的内容只有在工具读写的就是这台机器上的文件时才从这台机器读了交给模型;工具不在这台机器(`elsewhere`)或确认不了(`unconfirmed`,连着远端引擎时恒是这一词)时,`@` 提及的路径不读、每只一条「没带上」,原因 `tools-elsewhere` / `tools-location-unconfirmed`(「没带上」原因闭集加两词,信封模型面子句与用户面原因同出消息目录、两面同一原因词);编辑过的文件整只不跑;用户粘贴与编辑器选区照附,模型面同条带一句「这是客户端所在机器上的那份」。读不出的位置一律当确认不了(不折成本机、不说成确知在别处),取值器不执行,永不抛。
|
|
79
|
+
- `_sema_planReviewOutcome` (the machine-readable slot on a plan-review outcome) gains an optional `questionId`: the id of the card that was answered, byte for byte the id the card frame and the `plan_review_park` event carry. It is present only when the decision came through the package's own answer paths (the armed card and the reopened card's default delivery); a decision handed to `decidePlanReview` by the host carries none, and an absent id means "not known", never "no card". The id of the gated `ExitPlanMode` call is not available at this point and is not carried. (CC-1384)
|
|
80
|
+
- Chrome event `resupply_truncated` and `resupplyTruncatedSentence(facts, lang?)`: a resupplied `task_notification` or `workflow_complete` frame that the server sent in its minimal form (`payloadTruncated { bytes, droppedKeys }`, server 7.147.0 and later) now produces one event with `source`, `taskId` (the run id for a workflow), `bytes` (the size of the full form), `droppedKeys`, and one sentence in the interface language saying that the notice was shortened, how large the full record is (over the notice size limit), how many fields were left out, and that the full content can still be viewed in the run record. For a task notification the event comes before the transcript row; for a workflow completion it comes after the enqueue event, so a consumer that stops reading at the event has already been handed the completion. An absent mark says nothing; a malformed mark (a byte count that is not a positive integer, a key list that is empty, over 256 entries, or holds anything but non-empty names) is dropped as a whole. The seat vocabulary grows from nineteen to twenty words (the new word last); a host that switches exhaustively over `ChromeEventKind` fails to compile once. (CC-1385)
|
|
81
|
+
- **新读口 `ccImportSkippedRowsOf(skipped)`:导入预览 `skipped[]` 的呈现读**(CC-1365;**§140 CS-1 – CS-7**;加性):三端此前各写一份「按原因分组」。现包里一只读口:`skipped` → `{ shape: 'absent' | 'malformed' | 'read', groups, unreadable }`。分组 = `{ entries, reason, code? }[]`,按引擎原话**逐字节**分组(不归一化)· 组序与条目序 = 引擎序 · `code` 在场才带(读法 = `classifySkippedReason`)· 条目与原话过显示口(`displayUntrusted`)。三态:没带(`absent`)· 在场而整体读不成(`malformed`)· 数组(`read`);数组里读不出的元素**只计进 `unreadable`**,不猜、不补、不折成「没有」、不进任何组(空数组 ⇒ `read` + `[]` + 0;全坏数组 ⇒ `read` + `[]` + n)。取值器不执行;结果冻结;永不抛。公面 +1 值名(`ccImportSkippedRowsOf`)+ 2 型(`CcImportSkippedGroup` / `CcImportSkippedReading`)。
|
|
82
|
+
- **屏上决定卡的门实例身份与来源代随卡**(CC-1373;**§140 SQ-1 – SQ-4**;型面加性:根入口运行期 +3〔`questionFrameGateOf` · `approvalCardGateOf` · `questionFrameSourceGenerationOf`〕、型 +1 `ScreenCardGate`;既有型加可选位:`ApprovalCardRequest.sourceGeneration` · `AskGateWireDeps.engineGeneration` · `FsApprovalWireDeps.engineGeneration` · `surfaceToolApprovalFrameAndRespond` 第六参 `run.sourceGeneration`):门实例身份是判别联合 —— 工具门 `{ kind: 'tool', taskId, gatedCallId }`(停驻行所属 run + 行上被门住的调用)、计划门 `{ kind: 'plan', taskId, checkpointId? }`。停驻问卡的问答帧多带超集键 `_sema_parkGate`(两位都读得出才落),读口 `questionFrameGateOf(frame)`:停驻问卡读这一键、计划审阅卡读既有 `_sema_planReview`(不另铸),两键并存 / 坏形 / 访问器 / 原型链 ⇒ `undefined`;停驻审批卡读口 `approvalCardGateOf(card)` 只读卡上已铸的位(卡顶层 `taskId` + `parkRow.gatedCallId`),活卡 ⇒ `undefined`。宿主不再解析 `questionId` 取身份(那只 id 只承载调用 id 与 run id 之一)。来源代 = 产生这张卡的那次待决读 / 那条流所属的引擎代:问答桥依赖与停驻审批腿依赖多一只读函数 `engineGeneration`(同 `EngineGenerationPort.current`),停驻腿在**取件读之前**读一次、活卡记帧所在那条流**打开**那一拍的读数(帧在旧代结束之后才到也记旧代);读到有限数才落 —— 审批卡请求的 `sourceGeneration`、停驻问卡帧的 `_sema_sourceGeneration`(读口 `questionFrameSourceGenerationOf`)。缺席 = 说不出(端口没装 / 读抛 / 非有限数;计划审阅卡本版不带),不是 0、不是当代。帧与决断字节、卡面事实不变。
|
|
83
|
+
- **换代两拍一只判官 `engineGenerationCardPlan(facts)` + 到期判定 `engineGenerationCardRecheckDue(facts)` + 金样 `ENGINE_GENERATION_CARD_PLAN_GOLDEN`**(CC-1374;**§140 SQ-5 – SQ-7**;型面加性:根入口运行期 +4 含留卡因闭集 `SCREEN_CARD_KEEP_REASONS`、型 +12):两拍读同一型 `ScreenDecisionCard { instance, origin?, gate?, sourceGeneration?, toolCallId?, window? }`。`phase: 'ended'`(旧代刚结束)⇒ `{ retract, phases }`,判据就是既有 `convergeEndedEngineGeneration` —— 只有活卡窗确定还开着才撤,其余卡种(含卡种读不出)恒留;`phase: 'ready'`(新代就绪、读过一次新引擎的待决队列)⇒ `{ withdraw, keep }`:全局两闸(没就绪 / 代号读不出 ⇒ `not-ready`;读期间换代 ⇒ `generation-moved`,一张不收),逐张按 `SCREEN_CARD_KEEP_REASONS` 的判序 —— 卡种可收(停驻审批卡 / 停驻问卡 / 计划审阅卡 / 宿主重开问卡,与宿主交的 `withdrawable` 取交)→ 门可用(计划门须带 `checkpointId`,不退化成只比 run)→ 来源代早于当代(缺席按早)→ 有行对上门(工具门与取件口身份腿同一谓词)→ 行属本会话 → 行判决(唯一读口)非 `ok` ⇒ 收,收卡事实 `withdrawal = { toldBy: 'host', rowVerdict }` 原样交 `withdrawParkQuestion` / 卡口 `withdrawn` 臂。判官只出计划:收没收成、屏上还剩不剩卡,宿主执行后重读。到期判定 = 当代就绪 ∧ 有一张卡过前三道,与新代拍同一候选谓词。金样是冻结数据(行的归属约定 = 自有位 `owned === true`),宿主可拿它对拍自己的旧实现。
|
|
84
|
+
- **问卡 id → 卡种的唯一分类口 `questionCardOriginOf(questionId)`、宿主两种问卡 id 的铸口 `hostReopenQuestionId` / `hostRunChoiceQuestionId`、卡种读口 `approvalCardOriginOf`、引擎决定判定 `screenCardsHoldEngineDecision(cards)`**(CC-1375;**§140 SQ-1 / SQ-8**;型面加性:根入口运行期 +6 含卡种闭集 `SCREEN_CARD_ORIGINS`、型 +1 `ScreenCardOrigin`):卡种闭集 `SCREEN_CARD_ORIGINS` 七词(`live-approval` · `park-approval` · `park-question` · `plan-review` · `host-reopen-question` · `host-choice` · `local-permission`);问卡 id 词汇(包铸两种 + 宿主铸两种)只住一处,不认得 ⇒ `undefined`。`screenCardsHoldEngineDecision` = 这些卡里有没有一张引擎在等的决断(自愈端口 `hasPendingDecision` 的语义定义):宿主选择卡与本地权限卡不计,卡种读不出计入。
|
|
85
|
+
- **Decision refusals now cross a process boundary intact (`decisionRefusalCarrierOf`).** A host that has to send a refused approval decision to another process (for example from a desktop main process to its renderer) can call `decisionRefusalCarrierOf(err)` and send the result instead of the error. The result is a plain, deeply frozen object that survives structured clone and carries exactly the fields the package's own failure readers read on that error (status, error code, message, retriable flag, error name, and body fields such as the wait time of a rejected resume, the more specific check behind a folded policy refusal, or the configuration field a parked task was refused on), never a field whose name looks like a credential, and nothing nobody reads. Before returning it the package checks that every one of its failure readers (`classifyDecisionRefusal`, `decideFailureNote`, every `…FromError` reader, `wireFailureCoreOf`, `wireFailureTextsOf`) gives the same answer for the result as for the original error; when that cannot be proven (an unreadable field, a reader that depends on the error class, or a credential-named field a reader needs) it returns `undefined`, and the host should rethrow the original error as before. The seat contract names the rejection of `respondToToolPermission` as this carrier (`ToolPermissionRefusal`, `DecisionRefusalCarrier`, `DecisionRefusalCarrierValue`).
|
|
86
|
+
- **Plan-review card facts for hosts that intercept the parked terminal frame (`openPlanReviewFrameClaim`).** A host that takes the parked terminal frame out of the stream before `runStream` sees it can open one claim per stream and feed it the raw frames in arrival order; on the terminal frame of a run parked at a plan gate, `feed` returns the same frozen `PlanReviewCardFacts` that `runStream` would have produced and commits them to the same store, so `readPlanReviewCardFacts(taskId, { checkpointId })` answers from that store without reading the run's ledger. `feed` is synchronous and does no I/O, opens no subscription and publishes nothing; both entries share one per-frame step, so frames that also reach `runStream` are harmless.
|
|
87
|
+
- **内置输出风格表**(CC-1340;§140 BO-1 – BO-3):根入口运行期 +2 `BUILTIN_OUTPUT_STYLES`(只读深冻结表,名闭集五个〔语料序〕`default` / `Proactive` / `Concise` / `Explanatory` / `Learning`,`default` 的值 `null`;`Proactive` 另带 `turnReminder` + `waitingTurnReminder`、`Concise` 另带 `turnReminder`)· `builtinOutputStyleOf(name)`(名在闭集内 ⇒ 表里同一个冻结对象;表外 / 大小写变体 / 带空白 / 原型链名 / 非串 ⇒ `undefined`);型 +2 `BuiltinOutputStyle` · `BuiltinOutputStyleName`。正文与提醒句对 CC 2.1.316 内置风格表逐字节(描述句唯一替换 = 开头品牌词换本产品名)。终端现表只有 `Explanatory` / `Learning` 两个,缺 `Proactive` / `Concise` ⇒ 终端到货补。
|
|
88
|
+
- **排队用户行 id 行形**(CC-1337;§140 PU-1 – PU-4):根入口运行期 +4 `PENDING_USER_ROW_ID_PREFIX`(`'pending-'`)· `pendingUserRowIdOf(uuid)`(合法 v4 uuid ⇒ `pending-<uuid>`,字节原样;否则 `undefined`)· `pendingUserRowUuidOf(id)`(唯一读口:`id` 恰是铸口铸得出来的〔前缀 + 合法 v4 uuid 整串〕⇒ 返回其中的 uuid,字节原样;坏形 / 非串 ⇒ `undefined`)· `isPendingUserRowId(id)`(只答布尔,经读口定义;铸 / 读 / 判单源)。
|
|
89
|
+
- **停止裁决读口 `compactionStopVerdict(reading)` + 取消句 `compactionCanceledSentence(lang?)`;压缩读数多 `openTriggers`**(CC-1333;**§140 CN-1 – CN-5**;加性:根入口运行期 +2、型 +1 `CompactionStopVerdict`;`CompactionStatusReading` 多可选位 `openTriggers?: readonly string[]`;目录 +1 键 `session.compaction.canceled`):用户在压缩进行中停下这一回合时,端该出哪一行由包裁 —— 停下那一刻主车道恰一只在开的压缩 pass 且其 `trigger` 恰是 `manual` ⇒ `{ kind: 'compaction_canceled' }`(呈现 `Compaction canceled.` / `压缩已取消。`,与 CC 2.1.316 手动压缩被停下时的那一行逐字节同);自动 / 强制 / 表外词 / 没有在开的 pass / 两只及以上并开 / 读数读不出 ⇒ `{ kind: 'interrupted' }`(端的通用中断行)。读数 = 同一只追踪器 `createCompactionStatusTracker().reading()`,新位 `openTriggers`(主车道在开 pass 的 `trigger` 原词、开的序、冻结)只在 `compacting: true` 时在场。只决定**呈现**哪一行;发往引擎的中断照旧。
|
|
90
|
+
- 🔴 行为变(字面):`reading()` 在压缩进行中多一个键 `openTriggers` —— 把读数整只做字面比对 / 序列化断言的端与测试改读具名位。
|
|
91
|
+
- **宿主通告句过座位:chrome 臂 `host_setting_notice` + 唯一铸口 `hostSettingNoticeEventsOf(notices)`;通告句多挂行两位 `key?` / `cause?`**(CC-1338;**§140 HN-1 – HN-6**;🔴 型面加宽:`ChromeEvent` / `ChromeArmKind` / `ChromeEventKind` 各 +1 成员,座位词表 20 → 21〔末位;同版 CC-1385 的 `resupply_truncated` 先追加,本版合计 19 → 21〕,`CHROME_EVENT_KINDS` 值变;根入口运行期 +1、型 +1 `HostSettingNoticeChromeEvent`;`HostSettingNotice` 多两可选位):`hostTurnSettings()` 产物 `notices` 的每一句(`turn` / `session` / `diagnostic` 三面)经 `hostSettingNoticeEventsOf(product.notices)` 成一只 `{ kind: 'host_setting_notice', laneProof: { lane: 'main' }, id, plane, text, key?, cause? }` 臂 —— 载荷就是那一句本身;座位去向 `seat`,宿主按词表转发零新逻辑。由一行的臂铸出的句子挂上那一行的 `key` / `cause`(判决那一句与列表里那一句是同一只对象);不挂行的句子两位缺席。非终态:不是失败卡、不改回合状态。
|
|
92
|
+
- 🔴 行为变(字面):`hostTurnSettings()` 产物 `notices` 里由一行铸出的句子多两个键 `key` / `cause`;对句子做「键集恰为 id / plane / text」字面断言的端与测试改读具名位。快照口读一句时 `plane` 不是三词之一的句子(只可能出现在手拼产物上)按读不成处置。
|
|
93
|
+
- **「完成后补收建议」共用口 `followUpPromptSuggestions(input)` + 能力位真话读口 `promptSuggestionsOnStream(baseUrl)` + 上界常量 `PROMPT_SUGGESTIONS_TAIL_MAX_ATTEMPTS`(6)/ `PROMPT_SUGGESTIONS_TAIL_BUDGET_MS`(12 000)**(CC-1336;**§140 ST-1 – ST-6**;加性:根入口运行期 +4、型 +4):建议批只有一种铸法(投影口 `suggestions` 臂与本口同读一只;逐字节同上一版:去空白判空 → 前 8 条 → 单条 200 字截断留 `…`)、只铸成一种臂(`prompt_suggestions`)。**主路** = 流上 `suggestions` 帧(服务端 ≥ 7.149.0 落在 `done` 之前;投影口零改)。**补路** = 本口对 `runs.get` 有界轮询,只在主路不可能已交付时问:没请求 / 流上来过那一帧 / 走到 `done` 且这台服务端帧在 `done` 之前 ⇒ 零发;断流 / 交后台 / 老服务端 ⇒ 问。`RunRecord.suggestions` 三态(非空 ⇒ 铸臂;`[]` ⇒ 已结算没有、停;缺席 ⇒ 再问),`status` 不是 completed / running ⇒ 停,6 发 / 12 s 双闸 —— 整次在预算内落定:每一发之前重查截止(预算尽不再发),一发本身只等剩余预算(与截止赛跑,到点中止那一发、答 `gave_up`,不靠对端理会信号),下传给 `runs.get` 的信号是调用方中止与到点并联的一只;调用方信号读不出(读 `aborted` 抛)按不再发处置。结局五词 `skipped` / `settled` / `not_completed` / `gave_up` / `unavailable`;永不抛。`promptSuggestionsOnStream` = 能力位 `promptSuggestions` 为 `true` ∧ 服务端自报版本 ≥ 7.149.0(≤ 7.148.0 的位写死 `true`、按腿不真 ⇒ 读 `false`)(内核闭包文件 +1,棘轮 46 → 47 登记)。
|
|
94
|
+
- `approvalCardRequestOf(facts, host)`:审批卡请求的唯一装配口(CC-1403)。卡事实读数(`approvalCardFactsOfV1Frame` / `approvalCardFactsOfFrame` / `approvalCardFactsOfGeneric` / `approvalCardFactsOfV1` 的出参)+ 宿主位 `ApprovalCardHostBits`(`callKey` 必填;`taskId` / `signal` / 窗四位 `expiresInMs` / `expiresAtMs` / `serverNowMs` / `receivedAtMs`,窗四位直接展开 `approvalWindowKeysOf` 的读数)→ `ApprovalCardRequest`。事实位整只过境、值同一引用;两只入参只读自有数据位(访问器不执行、原型链上的不算、值为 `undefined` 的键不落、一位读就抛只丢那一位);闭集外的键两边都不过境(宿主位上的事实键、事实读数上的宿主键 / 卡腿专有键一律不落);入参不是对象或必需三位不成立 ⇒ `undefined`。永不抛。
|
|
95
|
+
- 型 `ApprovalCardHostBits`(宿主位闭集七键)。
|
|
96
|
+
- **会话历史读面脱敏位的唯一读口 `sessionReadRedactionOf(caps)` · 型 `SessionReadRedactionLeavesReading`**(CC-1411;**§140 RR-1 – RR-3**;加性:根入口运行期 +1、型 +1;包内读这一位的地方只此一处):服务端 7.148.0 把能力位 `sessionReadRedaction` 由布尔 `true` 改成历史读面过脱敏的叶名表 `string[]`(`<形>.<键>`,布尔形整删),老服务端(7.120.0 – 7.147.x)仍报 `true`。读口入参是能力回体原样,答 `{ kind: 'redacted', leaves? }` 或 `{ kind: 'unconfirmed' }`:布尔 `true` ⇒ `redacted`(不带 `leaves`);非空且每员都是非空串的数组 ⇒ `redacted` + `leaves`(冻结的原样拷贝,顺序 / 重复 / 大小写不动,叶名开集不判形);位缺席 / 空表 / `false` / 含非串或空串或空洞的表 / 其余坏形 ⇒ `unconfirmed`。只认自有数据位、取值器不执行、读抛 ⇒ `unconfirmed`、永不抛;读数冻结、逐次现铸。`unconfirmed` 只是「引擎没有确认」,不是「读面没脱敏」;`redacted` 不带 `leaves` 是「报了脱敏、没报叶名」,不是「没有叶被脱敏」也不是「每一叶都脱敏」。能力位台账 `sessionReadRedaction` 由 `not_read` 改 `read`;已知限制 KL-667 的到货条件成立、同票销(残留只剩布尔形那一代的叶覆盖不报,见 §140 RR-2)。
|
|
97
|
+
- **`/health` 店持久性读口 `readEngineHealthStore(health)` · 型 `EngineHealthStoreReading` / `EngineHealthStoreDurability`**(CC-1411;**§140 RR-4 – RR-5**;加性:根入口运行期 +1、型 +1 `EngineHealthStoreReading`;三态型 `EngineHealthStoreDurability` 与能力面共用,根入口型出口随 CC-1418 计一次):服务端 7.148.0 起 `/health.store = { durability }`(`durability` 三词闭集 `durable` / `ephemeral` / `unknown`;匿名读者的 `/health` 闭集无 `store`;≤ 7.147.x 无此键)。读口只读这一位,三态:`{ kind: 'reported', durability }`(`unknown` 是引擎的正面陈述 —— 判不出 —— 不折成 `ephemeral`、不折成 `durable`、不等于缺席)· `{ kind: 'unreadable', word? }`(发了、读不懂;三词之外的非空串带原串 `word`,未消毒,上屏过 `displayUntrusted`;持久性读成「不知道」)· `{ kind: 'absent' }`(没发:老服务端或匿名读者,不是「持久」也不是「不持久」)。与 `readEngineHealthFacts` 各读各的键(六件读数里没有 `store`),只读 `store` 位、不出健康判决。
|
|
98
|
+
- ### Added —— **`storePostureDoctorDetail(reading, lang?)` / `storePostureHeadWord(reading, lang?)` 两语**(CC-1418;**§140 SP-3**;型面加性):句子进消息目录(+14 键 `notice.capability.storePosture.*`,中英);不传 `lang` ⇒ 英文,老一代各句英文逐字节不变。新增三句:易失(不说「内存」—— 新一代的易失也包括易失文件系统与随 pod 的卷)、判不了、认不出的持久性词(带原词,过展示出口封长)。
|
|
99
|
+
- **「不再询问」本地落规则档的兑付契约:唯一判官 `localAllowRedeemability(input)` + 只读座位兑付口 `redeemReadOnlyRuleOffer(facade, input, opts?)` + 五只冻结闭集**(CC-1412;**§140 LA-1 – LA-5**;型面加性:根入口运行期 +7〔`localAllowRedeemability` / `redeemReadOnlyRuleOffer` / `LOCAL_ALLOW_NOT_REDEEMABLE_REASONS` / `LOCAL_ALLOW_UNKNOWN_CAUSES` / `LOCAL_ALLOW_REDEMPTION_REFUSALS` / `LOCAL_ALLOW_REDEMPTION_UNAVAILABLE_CAUSES` / `LOCAL_ALLOW_REDEMPTION_UNKNOWN_CAUSES`〕、型 +11):规则一条 —— 本地设置层的 allow 行自身永不生效(设置契约里那一层够不着 allow 的地板),它能生效只因为引擎规则店里有同一身份(allow、逐字同一串、同一项目根或全局)的活行;设置文件里的一行从来不是同意。判官三态:`redeemable{via: 'layer' | 'consent'}` / `not_redeemable{reason}`(`managed_only` · `tighten_only` · `no_scope_root` · `no_consent` · `road_closed`)/ `unknown{cause}`(`input_unreadable` · `policy_unreadable` · `consent_unreadable` · `road_unknown`);两个主语:盘上已有的一行(`declared`,读规则列举的结局)与卡上将出的一档(`offered`,读规则车道能力位)。仓库自带的本地层 allow 行、店里没有同意 ⇒ `not_redeemable{no_consent}`,工作区信任读数怎么答都不变。永不抛,取值器不执行,出参冻结。兑付口先问同一只判官、过窄化五步,再走 settings 导入两步:上送的层只含被点的那一条(从不上送设置文件本身),预览恰是那一条、在那一项目根才兑票;只兑一次、不重试。回执闭集四臂:`applied{outcome: 'persisted' | 'already_live'}` / `refused{reason}`(确知没入店:`managed_only` · `no_scope_root` · `rule_shape` · `request_refused` · `preview_mismatch` · `engine_refused` · `ticket_dead`)/ `unavailable{cause}`(路走不通:`road_closed` · `road_unknown` · `policy_unreadable` · `input_unreadable` · `prepare_failed`)/ `unknown{cause}`(兑票已发、入没入店说不清:`redeem_unsettled` · `receipt_unreadable`)。
|
|
100
|
+
- **引擎探活结局的三态判决 `classifyHealthProbe(result)` · 句口 `healthAnswerClause(verdict, lang?)` · 段内选取口 `latestSegmentHealthAnswer(segmentStartMs, ...seen)`**(CC-1415;**§140 HP-1 – HP-5**;加性:根入口运行期 +3、型 +5〔`HealthProbeVerdict` / `HealthProbeAnsweredNotOk` / `HealthProbeUnansweredReason` / `HealthProbeNotOkReason` / `TimedHealthAnswer`〕;目录 +5 键):类型包 `probeHealth` 的死臂有四条 —— `timeout` / `network` 是没应答,`http`(非 2xx)与 `not_ok`(2xx 而体不是 `status:"ok"`)是有应答。端把四条折成「活 / 不活」后,出句对不活一律说「没应答」,对有应答的两臂是假话,三端各折一份、各选一份「段内最近一次有应答」。本版收成三只:`classifyHealthProbe` 把结果归并成 `unanswered{reason:'timeout'|'network'}` · `answered_ok` · `answered_not_ok{reason:'http'|'not_ok', http, status?}`(判活不动:只有 `alive: true` 算 `answered_ok`;读不出判决所需位 ⇒ `undefined`,不折成 `unanswered`);`healthAnswerClause` 给一句动词短语(`did not answer in time` / `could not be reached` / `answered with status "ok"` / `answered HTTP <码>` / `answered HTTP <码> but not with status "ok"`;zh 同键;`answered_not_ok` 只说 HTTP 码,对端自报的状态词是不可信展示文本,句子不引);`latestSegmentHealthAnswer` 按观测时刻取段内最近一次有应答(早于段起点的不参与、同刻先到先赢、坏形元素逐个跳过)。`probeEngineAlive` 改为派生自判决,对所有探活结果答案逐位不变;包内读探活结果 `alive` 位的只剩判决一处。
|
|
101
|
+
- **规则导入兑付回执的被拒行读数 `refusedRowOf(counts)` · 型 `CcImportRefusedReading`**(CC-1414;**§140 RW-1 – RW-3**;加性:根入口运行期 +1、型 +1):入参是 `readCcImportRedeemCounts` 的读数(回执体仍只经那一只读口读),答 `{ count, rows }`:回执里确知被拒、确知没落的条数,与行序同回执的被拒行(规则身份 `key` · 引擎拒因码 `reason` · 引擎原话 `detail`,三位各自独立缺席、行不丢;`detail` 已由读口过显示出口封长)。读数是 `null`(回执读不出)⇒ `null`;读得出而没有被拒行 ⇒ `{ count: 0, rows: [] }`。不计进成功的两个数。
|
|
102
|
+
- **附件名 / 路径的显形口 `showAttachmentName(name)` 上根入口**(CC-1416;**§140 AN-1**;加性:根入口运行期 +1):附件信封里名字与路径的写法(含 Cc / Cf / Zl / Zp / Cs 码位、双引号、反斜杠的名字写成 JSON 串并把留下的不可见码位写成 `\uXXXX`;其余原样,`<` / `>` 不在其列)从包内件改为根入口导出;与信封内部是同一个函数引用。
|
|
103
|
+
- **座位回执位 `settledElsewhere` 的唯一铸口 `toolPermissionSettledElsewhereOf(firstDecision, sent)` 上根入口**(CC-1423;**§140 SE-1**;加性:根入口运行期 +1):它就是活卡答复口在回放判处调的那一只函数(根导出与模块内同一个引用,不是第二份实现)。宿主读到回放体、要自己铸回执位时调它,不再手抄「首决 × 这一发是否相反」的同式。
|
|
104
|
+
- **回放自称判决口 `toolApprovalReplayVerdictOf(body, approvalId)`**(CC-1424;**§140 RV-1 – RV-3**;加性:根入口运行期 +1、型 +1 `ToolApprovalReplayVerdict`):活卡答复口回体「是不是回放、首决是哪一词」的唯一读法 —— 三态闭集 `not_replay` / `replayed{firstDecision}` / `unreadable`;活卡答复口自己的回放兜底改走同一只合成。读就抛 / 点名别的卡 / 与 `delivery` 并存 / 决断词读不出 ⇒ `unreadable`(不当 `not_replay`);永不抛、取值器一次不执行。 🔴 行为变(只在外来体坏形上):判别位 `idempotent` 自身读不出(读描述符就抛 / 已撤销代理 / 自有访问器) ⇒ 活卡答复口落 unsettled unreadable、不再落回用户按的词(§140 RV-3;同版 CC-1425)。
|
|
105
|
+
- **本机引擎 `down` 原因闭集加一词 `exited-once`**(CC-1426;**§140 XO-1 – XO-4**;🔴 型面变〔窄〕:`LocalEngineDownReason` / `LocalEngineStateDownReason` / `LOCAL_ENGINE_DOWN_REASONS` 各 +1 词,`LocalEngineFailCode` / `LOCAL_ENGINE_FAIL_CODES` +1 码 `local_engine.exited_once`):「起服后退出了一次、不自动重起」。句子只在消息目录一处(`localEngine.down.exitedOnce`,en / zh),相位句 `localEngineSeatSentence`、本机半边 `lastBootError` 派生句、一次性车道失败句同读这一键;出站门词闭集同改。状态机的迁移表不进入这一词:无自动重起策略的宿主把态置为 `down{exited-once}`,定时器不重起,用户显式重试照常。
|
|
106
|
+
- **附件名 / 路径的实体形显形口 `showAttachmentNameCc(name)`**(CC-1430;**§140 AC-1 – AC-2**;加性:根入口运行期 +1):`<` → `<`、`>` → `>`、C0 / DEL / C1 / U+2028 / U+2029 → `&#N;`(N = 十进制 UTF-16 码元),其余逐字(`&` 不转,格式符与孤代理不转)。与 `showAttachmentName`(JSON / `\uXXXX` 形)并存、各自单源、互不借用;已有形一字不动。
|
|
107
|
+
- **座位动作词 `open-local-setup`**(CC-1444;接入文档 **§140 OL-1 – OL-3**):座位动作闭集 `SEAT_ACTION_NAMES` 末位追加第三词 `open-local-setup`(无载荷;宿主通知座位打开本机模型设置向导);型 `SeatAction` 联合 +1 成员、`SeatActionName` +1 员,出站门 `checkSeatAction` / 渲染端读口 `readSeatAction` / 认领入站门 `checkSeatActionsClaim` / 宿主读口 `claimedSeatActionsOf` 随闭集走(表外词仍整表拒并点名,拒因带三词闭集);根入口导出数不变(🔴 型面加宽:对 `SeatAction` / `SeatActionName` 做穷举 `switch` 或 `Record<SeatActionName, …>` 的宿主编译红一次)。
|
|
108
|
+
- **计划审阅卡卡事实加可选位 `evidenceRevision`(证据代)+ 过期卡判官 `planReviewEvidenceMovedOf(shown, latest)` → `'same' | 'moved' | 'unknown'`**(CC-1400;**§140 EG-1 – EG-4**;型面加性:根入口运行期 +1、型 +1 `PlanReviewEvidenceMove`,既有型 `PlanReviewCardFacts` 加可选位):证据代 = 这份卡事实所依据的那一次正文证据的代号(正整数,进程级单调,只增不复用)。同一道门、认领相同的重读(断线重附 / 账本入口重读)沿用同一个号;门换了或同门认领换了(⇒ `conflicting_claims`)才领新号;临时读数 / 门身份缺席的事实不带这一位。帧 `_sema_planReview`、chrome `plan_review_park.planReview`、视图 `planReviewCardViewOf(frame).facts` 是同一份冻结事实,读到同一个号。宿主拿屏上那张卡的事实与此刻读口 `readPlanReviewCardFacts` 读出的事实交给判官:号相同 `same`、不同(或门身份不同)`moved`、任一边缺号 / 读不出 / 不是同一个 task ⇒ `unknown`(**不是 `same`**)。在场而坏形(非整数 / 0 / 负 / 取值器)⇒ 整份事实读不出,视图按撤档两项处置。与卡请求上的引擎实例代 `sourceGeneration` 是两件事,各一只读口。
|
|
109
|
+
- **会话成本读口 + 分叉种子 + 逐轮读数 + 账目行端口**(CC-1008 A 件;**§140 CO-1 – CO-8**;型面:根入口运行期 +12〔公面导出 2191 → 2203:六张冻结闭集 `SESSION_COST_BOUNDS` / `SESSION_COST_HISTORY_BASES` / `SESSION_COST_LOWER_BOUND_CAUSES` / `SESSION_COST_UNKNOWN_WHYS` / `TURN_COST_UNKNOWN_WHYS` / `RUN_COST_SETTLEMENTS`、四只函数 `sessionCostReadingOf` / `forkSeedCostOf` / `turnCostReadingOf` / `runCostSettlementOf`、两只端口读口 `accountRowOfResult` / `foldAccount`〕、型 +21;🔴 `CoreValuePorts` 完整型多两个必填成员 ⇒ 按完整型建袋的宿主装配根编译红一次;既有读口行为零变):引擎 7.59.0 起把「账」定成一件事 —— 每次被定价的调用一条行(一次 run 终局 = `accountRowOfResult`,一次侧查询自带 `account`),宿主存行,**只经 `foldAccount` 一只读法**读回。修前三端各算各的:终端壳按读面逐条 run 的终局账折一套、本机快照一套、逐轮窗口一套;网页端 / 桌面端读助手行上的 `usage.cost.total`(模型适配层自己的金额,缓存命中时**高于**引擎账)。现在:① 两只值级端口(第二十六 / 二十七件,名表末位追加,读口同名,没装 ⇒ `undefined`,不编空账)② `sessionCostReadingOf({ lines, history, pendingTurns? })` 把宿主存的行读成三个口径 —— 结果帧 `total_cost_usd`(`frame` = 来源 `run` 的折叠,含续开的历史行、不含侧查询行)· 会话累计(`cumulative` = 整个折叠)· 侧查询单列(`sideQuery`),每个口径只有三态:`known`(已知)/ `lower_bound`(有数但只是下界,界标 `+`,成因 `usage_missing` / `history_partial` / `history_unread` 可并存)/ `unknown`(**零数字位**,成因闭集六词:`port_absent` / `lines_malformed` / `fold_unreadable` / `line_cost_unknown` / `zero_lower_bound` / `pending_run_cost`);求和只在引擎折叠一处,本口零求和、零乘除价;未定价行使含它的口径 `unknown`(引擎的答案,不跳过它求和);端口没装 ⇒ 三口径 `unknown{ port_absent }`(**不折 0**);行集读不出或引擎拒收坏形行 ⇒ `unknown{ lines_malformed }`,永不抛 ③ 历史完整性由宿主声明(`complete` / `partial` / `unread`,必填、不默认「完整」):不全的有数是下界、零是不知道(一个下界 0 什么也没说)④ `forkSeedCostOf({ lines, history })`:分叉种子恒下界(源声明 `complete` 也是 `partial`;源没读到 / 行坏形 ⇒ 空种子 + `unread`),新会话之后的读数用种子的 `history` ⑤ `turnCostReadingOf(usage, settlement)`:逐轮 `costUSD` / `costMicroUsd` 的字面 0 在终局成本事实到之前不算免费 —— `awaiting` ⇒ 待定位(`pending_terminal`,不渲 0),终局 own 成本读得出(`priced`,含声明免费的 0)才是已知的 0,`unpriced` / `lost` 各有成因;`runCostSettlementOf(stats)` 从终局 `stats` 读出这个事实(与终帧超集键同一只成本读器);`pendingTurns` 让会话口径在零价时同样不渲「免费」。助手行 `usage.cost.total` 不是账:网页端 / 桌面端改读这里。币种与格式化不在本口(账行单位是引擎原生 micro-USD,本口只出 `micro` 与展示换算 `usd`)。引擎的持久会话级账(续跑链上的几条行不可相加、后台委派在终局后记的账不在任何一行)仍未到货,本口不假装解决。
|
|
110
|
+
- **取消成因第四词 `stall_verdict`**(CC-1404;**§140 S7148-6**):服务端 7.148.0 起判死(心跳过期)的 run 上,原执行者的腿读到后自停,取消成因答 `stall_verdict`。本包读成已知成因、出专句(不是引擎错);修前落 `unrecognized`。成因词型 `AbortCauseWord`(= 类型包 `AbortCause` ∪ `'stall_verdict'`,根入口型名 +1;peer 地板越过 38.0.0 后收回成 `AbortCause`)。
|
|
111
|
+
|
|
112
|
+
### Changed
|
|
113
|
+
- **未装目录的界面语言整句回英文**(CC-1357;**§140 EX-4**;🔴 行为变):`renderMessage` / `translate` / `createTranslator` 以及每一只带 `lang` 的句口,对 `'zh'` 在宿主未装中文目录时按英文出整句(含嵌套片段)—— 不是空串、不是键名、不抛;缺词台账记固定条目 `lang:zh`(按次数);进程内每种语言恰一次 `console.error` 通告。表外语言照旧(`lang:?`、零通告)。`renderMessage` 仍是同步口。
|
|
114
|
+
- **语言相关的接缝跟实际出句语走**(CC-1357;**§140 EX-5**;行为变:只在未装目录时可见):记忆同步停驻句的层名分隔符、记忆通告的句间空白按「这一句实际按哪一语出」选,不再按请求语选(修前未装中文目录时会出英文句夹中文顿号)。
|
|
115
|
+
- **🔴 行为变(组合器路径):活流腿的排空终帧不再在腿内重开,归宿主再附着**(CC-1363;**§140 EO-1 – EO-3**;零公面变):`composeEventLeg` 带 `askBridge` 的活流腿,源流以排空终帧收场时,修前(0.105.0 起)问答桥按这条腿的绑定等一格、在腿内开 `runs.events` 续读;现在桥一条流都不开,经 `askBridge.onBreak` 恰交一次断因 `{ cause: 'stream_draining', frame, runId? }`(`runId` = 这条腿的绑定,说不出就缺席)后按断线形收场(干净结束、无终帧、不抛),由宿主的再附着接手。耐久腿(`durable`)与问答桥决断后自开的续流不变:仍按包的排空梯在腿内重开同一条订阅,梯尽才交一次 `{ ladder: 'exhausted' }` 断因。根入口 `bridgeAskUserQuestionGates` 直装不变(修前就不在活流腿内重开)。规则:能原样重开同一条订阅(`runs.events`)的,读它的那一层重开;活流不可续读,换道归宿主。没有宿主开关。
|
|
116
|
+
- **计划的三张设置来源行表多一只可缺位 `type`**(CC-1369;**§140 HR-3**;加性):`settingsVerdicts` / `settingsDropped` / `settingsExcluded`(含整腿关时的逐条拿掉行)在铸点记下条目自己的型词(`command` / `prompt` / `agent` / `http` / `mcp_tool`);条目不是对象或型不是这五词 ⇒ 缺席。判定 / 拿掉 / 排除的结论不读这一位,`hooksNotRunNotice` 与两只本端跳过口逐字节不变。
|
|
117
|
+
- **子代理模型词读数加 `default` 一类**(CC-1362;**§140 AM-4**;🔴 型面加宽:`SubagentModelWordKind` +1 员 ⇒ 对它穷举的端编译红,补一臂;行为变):`default`(大小写不敏感)⇒ `{ kind: 'default', model: 'default', label: 'default' }`,无落点、无成因;修前读成 `passthrough`(目录已知)/ `catalog-unknown`(目录未知),大小写变体原样交、引擎纯键查不认 ⇒ 400。目录另有只差大小写的键(如 `Default`)⇒ 多义(不猜)。
|
|
118
|
+
- **引擎认而目录行不列的词:一张表**(CC-1362;**§140 AM-6**;行为变,只在目录不带 `aliases` 时可达):受理判官 `modelAcceptanceOf` 的保留词与子代理模型词读口的词表词同读一张表(档位序 / CC 档位别名 / `best` / `default`)。修前受理判官那一份漏 `best` ⇒ 目录不带受理面(支持底线以下的服务端 / 手搓目录)时 `best` 被判 `refused{not_listed}`(引擎其实认,档位展开铸它);现在 `unknown{reserved_word}`。目录带受理面时零变化。
|
|
119
|
+
- **`subagentModelWordProblemLine` 改走与调用层那一句同一只成因分类器**(CC-1362;**§140 AM-7**;零行为变:四句逐字节同 0.98.0)。
|
|
120
|
+
- **场景卡技能清单能力位读器 `observedScenarioSkillsCapability` 的五态读数改为模块级冻结单例**(CC-1355;**§140 SC-1 / SC-2**;零公面变、读数形零变):修前本口每次调用新铸一只冻结对象,是根入口 37 只 `observed*` 能力位读口里唯一不守「同一态连读两次得同一只引用」的(接入文档成文全族单例)。现在五态各是一只模块级冻结对象;`confirmed` / `absent` / `declined` / `unreadable` / `unobserved` 连读两次、换地址、重新落地之后都是同一只引用。依赖「每次一只新对象」的端(就地改读数)修前也改不动(冻结);按身份比较的端现在可以比。
|
|
121
|
+
- **`permissionsAllowKeptNotice` 的托管策略专句按拉取态分三形;`PermissionsAllowKeptFacts` 多一只可选位 `managedPolicyFetch?: 'in_progress' | 'failed' | 'unknown'`**(CC-1372;**§140 PK-1 – PK-5**;型面加性〔事实型多一只可选位〕+ 🔴 行为变:文字):修前专句恒说「sema keeps fetching it; allow rules apply once it arrives」,而一次性运行(`-p`)托管策略拉取失败之后这一次运行不会再拉(下一次运行才重试)—— 句子不实。现在专句(`partial` ∧ `managedPolicyPending` ∧ `problemCount === 1`)按宿主交来的拉取态出三形:`in_progress` = 修前原句逐字节;`failed` = 「…has not been received yet (this run will not fetch again; the next run retries). Run again to retry fetching it (…)」;`unknown` = 只说还没收到、不断言会不会重拉。位缺席 · 表外词 · 非串 · 取值器抛 ⇒ 一律按 `unknown`。其余分支(文件问题数 > 1 / 没给问题数 / `unreadable`)逐字节不变。
|
|
122
|
+
- **起服拒因读口 `engineBootRefusalOf` 结果加位、句口 `engineBootRefusalSentence` 加第三参 `form`**(CC-1378;**§140 EU-4 / EU-5**;型面加性,签名不变;行为变窄):读口在结构化行之外兜底认**纯文本回显**的数据根拒启(码与出路表段首两锚同在才认、整段先脱敏再切);
|
|
123
|
+
认出的臂 `reason` 与 `restartWouldHelp: false`(认不出 ⇒ 两位缺席 = 不知道)、数据根形的 `variant` / `findings` / `highWater` / `engineVersion` / `markerPath` / `waysOut`(逐文件段里认出才在);没有条目行时 `code` 取致命句里作为码出现的那一枚。
|
|
124
|
+
句口第三参给安装形 ⇒ 附该臂出路(数据根形:引擎首行与逐文件段原话 + 按安装形改写的三条出路 —— 宿主自起的引擎永不点名数据根键、改点名起服注入表钉住的配置根键(命令形 `` `SEMA_CONFIG_DIR=<another-folder> sema` `` 反引号包住、两语逐字同,过展示出口不被当凭据值洗掉);更新命令只给 npm 全局 / 版本库两形);不给 ⇒ 逐字旧行为。两只口从起服注入面模块搬到引擎不可用模块,根入口名不变。
|
|
125
|
+
- **🔴 行为变(只在宿主给了 `stillHere` 且答的不是严格 `true` 时)**:`attemptActiveRunSelfHeal` 的四种重发结局(`running-cancelled` / `stale-park-cancelled` / `ask-decided-without-card` / `interrupted-settled`)改出 `resend-withheld-left`(答 `false`)/ `resend-withheld-unconfirmed`(答不清 / 抛)。不给这只口 ⇒ 零变化。
|
|
126
|
+
- `-p` 工具结果帧(stdout)在人拒带说明的那一行上多一枚信封键 `_sema_refusal_noted: true`(与既有四只行级位同层;不进 `tool_result` 块)。
|
|
127
|
+
- `ToolPermissionAck` is now a union of two arms, `ToolPermissionAckSettled | ToolPermissionAckUnconfirmed` (it was an interface). Code that extends it as an interface must switch to one of the arms.
|
|
128
|
+
- The outbound check for `respondToToolPermission` receipts is stricter: unknown top-level keys are refused (they used to pass), `unconfirmed` and `settledElsewhere` are refused together, `unconfirmed` with `ok: true` is refused, and when `settledElsewhere` is present `ok` must be the opposite of `contrary` (an opposite earlier decision means `ok: false`; the same earlier decision means `ok: true`). A receipt with neither slot is unchanged.
|
|
129
|
+
- `readToolPermissionSettledElsewhere` reads only from receipts that pass that check (it used to read the slot of a receipt the check refuses).
|
|
130
|
+
- The default attachments table grows from three keys to four. On the four default paths (the variable absent, an empty list, a single unregistered word, the word `default`) `attachmentsForRequest` and `attachmentsSubmitVerdict` now also send `mcpInstructions: true`, after `backgroundTasks`, `toolsDelta` and `todoReminder`, so the usage notes of an MCP server connected in the middle of a session reach the model without extra configuration. `off` still removes the key (it never sends `false`), an explicit list without the word `default` still sends only the keys it names, and a host that builds its own `attachments` object is unaffected. (CC-1383)
|
|
131
|
+
- **本地 MCP 配置投影:按工具消费的三个键的披露句改口**(CC-1367;**§140 MT-1 – MT-3**;行为变:文字):`toolAxes` / `toolFaces` / `allowTools` 三个键的坏形披露句修前说「这台服务器没有启动」。这三个键是按工具名消费的,引擎要读到工具列表才用得上它们,终端实测也是先拨号读一次工具列表、再因设置无效丢弃这一台 —— 「没有启动」不实。现在三句改说「为读工具列表启动过,随后被丢弃」(英文含 `was started to read its tool list and then dropped`,中文含「曾被启动去读取它的工具列表,随后被丢弃」),修法句与「其他 MCP 服务器不受影响」两半不变;拨号之前就定得了的十一形(名字五形 · 身份头同设 · 传输不受理 / 不可用 · `elicitation` 坏形 · 条目不是对象 / 读不出)仍说「没有启动」。判口(`reason` 词 · `problem` 原句 · 谁被丢弃)一个字不动;云配置腿的「被略过」句不涉启动、不动。
|
|
132
|
+
- **「编辑后批准没发出」一事的三句归一为一只目录词干**(CC-1364;**§140 EW-1 – EW-4**;行为变:文字 + 型放宽):此前同一件事有三句各钉各的字节(句子口短语 · 停驻腿失败原文 · 转录行)。现在目录里只有词干 `approval.editRefusal.stem` 一处写「为什么」,转录行 `approval.editRefusal.line` 与停驻腿失败原文 `approval.editRefusal.parkReason` 两条尾巴嵌套它,`APPROVAL_NOTE_EDIT_REFUSED_DETAIL` 就是词干英文。**改口清单**:① 句子口短语(`approvalResolutionDetail` 的 `edit_refused` 句 / 根常量 `APPROVAL_NOTE_EDIT_REFUSED_DETAIL`)由 `edits are not accepted on this card` 改为词干英文 `this request does not expose its tool arguments here, so an edited approval cannot be applied`,常量型由字面量放宽为 `string`;② 停驻腿失败原文改写为 `the card returned an edited approval, but <词干> — nothing was sent (the arguments are missing from the pending approval record, or replaced there by a size marker); approve or deny it as it is`;③ 转录行两语渲出字节与 0.110.0 逐字节不变。目录键 +2(`approval.editRefusal.stem` / `approval.editRefusal.parkReason`)。
|
|
133
|
+
- **类型包 37.0.0 加面四键的终态**(CC-1391;**§140 PD-1 – PD-2**;无代码变,处置表终态):`engineLease.lane` / `engineLease.handover` = pending(服务端交接 verb 本版仍未做;期望口写在 §140 PD-1);工作流列表行 `budgetOvershoot` / `timeoutInterruption` = declined(显示判官的输入 fleet 行没有这两位、判官答的是闭集状态词、引擎已有自己的散文、本包没有列表行投影;复活条件写在 §140 PD-2)。
|
|
134
|
+
- **停驻臂判类并入读流器按因读口的同一读法**(CC-1393;**§140 PA-1 – PA-2**;行为变,只在非常规形上):`classifyTurnWireError` 的停驻臂此前按 `name` 宽读判「读流器耗尽」这一类(原型链 / 访问器上的名字也认,取值器会执行),与 `isStreamEndedWithoutTerminalError` / `streamEndedReasonOf`(instanceof 为主、`name` 兜底只读自有数据位)并存。现在停驻臂只问同一只读口:名字只在原型链 / 自有访问器上的伪造物不再被判成「候人决断」(落原有的传输 / 内部判法);真类实例被改名仍判停驻;自有数据位同名的 Error / plain object(跨 bundle 重建形)照旧。
|
|
135
|
+
- **Changed(行为变:文字 + 编辑闸)— 活卡帧腿的审批卡回落形与耐久停驻腿同判(CC-1394;销 §138 PGd 包侧缺口 ㉚)**:卡入参读器答「回落到流上模型的原始调用」(活卡帧上的 `args` 被省略 / 缺席 / 不是普通记录 ∧ 事件流上 `tool_start.args` 是对象)时,活卡帧腿的卡现在同样置 `argsUnavailable: true`,
|
|
136
|
+
说明句 `wireNote` 与停驻腿回落形同一句(目录键 `approval.park.argsFromModelCall` 的英文),`inputSource: 'stream'` 照旧;卡口答「编辑后批准」(含 `allow_session` + 改写)⇒ 一个字节都不发,结局 `not_sent{edit_refused, lane: 'respond'}`,
|
|
137
|
+
告知句沿用 `EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT` 恰一次;纯批准 / 拒绝照发。两条腿的回落形铸点收成一只包内助手(活卡腿自有的另一句说明连同它的私有常量一并退出出包字节;零根入口新名、零型变、零公面变)。
|
|
138
|
+
连带:回落卡上 `standingRowsOf` 的整工具「不再询问」那一行因入参不可得关闭(`args_unavailable`,与停驻腿回落卡同答);纯投影出口 `approvalCardFactsOfFrame` 带流上入参时同变。
|
|
139
|
+
- **引擎拒码 `steering.not_running` 与 `interrupt.nothing_in_flight` 的字面收成包内码表常量单源**(CC-1326;接入文档 **§140 RQ-1 – RQ-3**;零行为变、零公面变):此前这两个码在包内各读点各留一份字面(`steering.not_running` 五处:MCP 重拨分诊 · 在飞 run 切权限档 · 在飞 run 自愈 · 引导拒收逐码表 · 子代续跑分诊;`interrupt.nothing_in_flight` 一处:Esc 升级闭集,所在判定页被门钉成零 import 而取不了码表常量)。现在六处都取 `engineErrorCodes` 的同一只常量;判定页 `planInteractiveHalt` 所在模块的 import 恰一条(码常量叶),叶的传递闭包仍零 Node 内建、零第三方包,三端装包面不变。`RUN_LEVEL_STOP_ERROR_CODES` 的值与冻结性不变。
|
|
140
|
+
- **展示出口 query 区标签裸值止点的成文句收口**(CC-1300;§140 DQ-1;字节不变):「片段外散文逐字节不动」改写为只对 URL 结构面单开成立;凭据标签落在 query 区里时标签的值归词级面,在第一枚 `&` / `#` 止,其余同裸值读法,`|` 一类不是词级停字符 ⇒ 可以伸出片段末、伸出部分整只按 secret(只多遮)。零行为变,门 UQ1 – UQ7 钉。
|
|
141
|
+
- **停驻行卡的行身份证明换读顶层 `taskId`**(CC-1348;§140 CP-2):`answerCarriage(card)` 的证据由「`parkRow.taskId` 非空串」改为「`parkRow` 在场 ∧ 卡顶层 `taskId` 非空串」;包铸的耐久卡逐格同答;手拼旧形 `{ parkRow: { taskId } }`(顶层无 `taskId`)⇒ `none`。`answerCarriage` 入参型多一只可选位 `taskId`。
|
|
142
|
+
- Changed:投影口 `suggestions` 臂的铸法搬进包内叶(零行为变)。
|
|
143
|
+
- 本包活卡腿交给卡口的卡请求改经同一只装配核(交给卡口的卡逐键同值同序,零行为变)。
|
|
144
|
+
- ### Changed —— **能力面 `store` 座的持久性按两代读**(CC-1418;**§140 SP-1 – SP-4**;🔴 型面 BREAKING〔窄〕:`StorePostureView.durable` 由必选改可选;型面加性:视图 +2 可选位 `durability` / `unrecognizedDurability`、根入口型 +1 `EngineHealthStoreDurability`;根入口运行期名零变):服务端 7.148.0 起 `store` 座删 `durable` 布尔、改报三态 `durability`(`durable` / `ephemeral` / `unknown`,与 `/health.store.durability` 同一只装配值)。修前本包要求 `durable` 严格布尔,7.148.0 及以后引擎上整只 `store` 读成「读不出」;现在恰一代的键在场即读出:三词之一 ⇒ `durability`;三词之外的非空串 ⇒ `unrecognizedDurability`(原串,持久性按不知道);≤7.147.x 的布尔 ⇒ `durable`。两代键同在或都不在 ⇒ 整条读不出(不择一)。`storePersistence`:`durable` / `true` ⇒ `durable`,`ephemeral` / `false` ⇒ `not_durable`,`unknown` 与认不出的词 ⇒ `unknown`(不折「不持久」)。
|
|
145
|
+
- **`standingRowsOf` / `rememberOfferable`:只读座位(`ruleOffersReadOnly`)的「以后别问」一行改问兑付判官**(CC-1412;**§140 LA-6**;🔴 行为变 + 型面 BREAKING〔窄〕:`StandingRowWhy` 多两词 `redemption_closed` / `redemption_unknown`,按它穷举的消费端编译红一次;`StandingRowsHostFacts` 多一只可选位 `readOnlyRedemption`):修前只读座位候选在场即给这一行(`engine_offer`),而那一行按下去写进本地设置的规则恒不生效。现在宿主交兑付判官三格(托管「只认托管规则」/ 作用域根 / 规则车道能力位读数)且判官答可兑付才给;不可兑付 ⇒ `redemption_closed`(三态 `refused`),判不出或三格缺席 ⇒ `redemption_unknown`(三态 `unknown`)。活卡座位(`ruleOffers`)不变。
|
|
146
|
+
- 决断拒收分码对 `checkpoint.invalid_outcome` 的读法 0.110.0 已按码归 `row_integrity`(CC-1413;**§140 IO-1**):本版没有行为变,新增的是在服务端自己的出站构造口上逐门逐词的回归钉(三个门 × 引擎行判官的每个 `reason` 词 ⇒ 线上码恒为该码 ⇒ 读数 `row_integrity`、不铸瞬时;没有成因的另一形与别的席位词照类型包成文处置)。
|
|
147
|
+
- **回执读口单次观察**(CC-1425;接入文档 **§140 RA-1 – RA-4**;🔴 行为变,只在外来体坏形上;零型变、零根入口新名):`readToolApprovalRespondAck` 在入口对回执体每一位只取一次自有描述符(取值器与代理取值陷阱一次都不执行;只在原型链上的位不算),嵌套的规则清单与归属锚在同一次取数里定形,此后三臂(applied / 首决回放 / 赎回)的判形与落位只读这一份。修前 applied 与首决回放两臂先判形、再回头取值:会变的取值器能让视图落下没判过的值(`decision` 判过三词闭集后读成表外词、`rememberApplied` 落成串),原型链上的位被当成回执自己的(原型上放 `rememberApplied: true` 即替每张回执说「本会话全放行」),取值陷阱抛则读口本身抛。现在:三个判别位(`accepted` / `idempotent` / `delivery`)任一读不出 ⇒ 整只读不出(`accepted` 读不出修前「不认领、落另两臂」,现与另两位同处置);首决回放臂「没有 `delivery`」只认证明缺席(自有的 `delivery: undefined` 不再算没有,与赎回臂同一条);必在位读不出 ⇒ 整只读不出;可选位读不出 ⇒ 只丢该键;读口永不抛(`readRulePersistOutcome` 随之对这类体答 `unknown`);视图的 `persistedRules` 是新铸的可写数组,不再与传入的数组是同一个对象;带洞的稀疏清单整份不落;宿主数组上自带的 `every` / 迭代器不再被调用。JSON 解析的回体(服务端的一切回执)逐键逐值与修前相同。 同版 CC-1424:回放判决合成在判别位 `idempotent` 自身读不出(读描述符就抛 / 已撤销代理 / 自有访问器)时答 `unreadable`,活卡答复口随之落 unsettled unreadable、不落回用户按的词(§140 RAy ②)。
|
|
148
|
+
- **壳属主事件上的设置来源 hook:本端执行器不跑 ⇒ 计划如实记一行「哪都不跑」**(CC-1429;**§140 HG-1 – HG-4**;🔴 行为变(只多披露)+ 🔴 公面常量值变:`SETTINGS_HOOK_DROP_REASONS` 7 → 8 词,末位 `no_executor`;根入口运行期 / 型名零增减):引擎只点亮九个 hook 事件,其余事件从不上请求体(§139 HK-1),由端自己的执行器跑。插件与会话 hook 在这些事件上早有判定(端报了 ⇒ 本端跑;没报 ⇒ `not_run` / `no_executor`),设置来源却没有:端没有本地执行器时(或执行器不跑这一事件 × 这一型),用户在设置里写的 `PermissionRequest` 等 hook 哪都不跑,计划零行、开机清单零句。现在这类条目在 `settingsDropped` 里各记一行 `{ source, event, groupIndex, hookIndex, reason: 'no_executor', notRun: true }`(依据词与插件 / 会话同名、同一句),`hooksNotRunNotice(plan)` 按「来源 × 依据」各出一句(例:`User settings: PermissionRequest hook will not run — neither the engine nor this client runs this event.`)。本端执行器跑这一只 ⇒ 零行(同修前)。治理先赢:整腿关、只投托管、安全 / bare 模式、工作区信任扣下的层照旧由各自的行 / 句说明,不另出本词。
|
|
149
|
+
- **服务端契约四词只在引擎属主事件上判**(CC-1429;**§140 HG-2**;🔴 行为变):`exec_form_unsupported` / `mcp_tool_unsupported` / `key_not_read` / `source_not_authored` 说的是「为什么不能交引擎」;壳属主事件上的条目本就不交引擎,修前仍照记这四词、`notRun` 恒为假(哪都不跑的条目因此不进清单)。现在壳属主事件上只判本端执行器跑不跑:跑 ⇒ 零行;不跑 ⇒ `no_executor`。引擎属主事件上四词与修前逐字同。
|
|
150
|
+
- **依据短句 `no_executor` 进消息目录**(键 `config.hooks.plan.reason.noExecutor`,en / zh;CC-1429;**§140 HG-3**):英文与修前插件字面逐字节同,`pluginHookReasonText('no_executor')` 与 `settingsHookDropText('no_executor')` 读同一键。
|
|
151
|
+
- 活卡答复口回放兜底的「读 + 判」合成收进模块内一只(`toolApprovalReplayVerdictOf` 与编排共用);逐体对拍 33 形,结局分类逐字同。
|
|
152
|
+
- 放行备注「什么算写了」只剩一个读口(CC-1398):决断发送机入口快照不再内联一份「串且非全空白」的规则,改问读口 `allowNoteReadingOf`;推送结果行位(`rowBits`)的词表与「哪个词说一句」出自同一张表,成员判定不再另手抄四词(上游加词时两处同步,不再静默漏认)。零行为变。
|
|
153
|
+
- 引擎改指结局 `partial` / `store-failed` 的续跑与用户句(CC-1405;证据随同版 CC-1408 绑地址对;接入文档 **§140 RP2 / RF-4**):续会话半场要宿主交回上一次结局的连续性证据(`continuity`),不带它重跑恒落 `record-absent` —— 证据只走宿主持久化(调用前写迁移记录,`partial` / `store-failed` 后换成结局带回的 `continuity`,重跑同一对地址时原样递回),两句因此只说「再运行一次同样的命令」(不叫用户带设备 ID,也不在句子里替终端许诺证据会带上 —— 那是终端按接入文档存并递回 `continuity` 的义务);`store-failed` 句同时不再断言「什么都没改」(回读读不出时档可能其实已迁,状态未知,只确定会话没有动)。进程崩在档已迁、结局未回到宿主之间的读法写进接入文档:宿主在调用前读旧址档的 `deviceId`、与这一对地址一起写进自己的迁移记录(即 `continuity` 同形),崩后把记录作 `continuity` 重跑。
|
|
154
|
+
- 工具审批决断:绑定码族里「这一行自己的拒」(`reason` 在场、`field` 缺席;≤ 7.146.x 的服务端借 `approval_binding_mismatch` 发的那一形)不再铸 `binding_mismatch` 安全停(CC-1406):安全停判官改问决断分码判官,`row_integrity` ⇒ 原抛出物上抛、恰一发、结局无 `safetyCode`、拒收读数 `conflict: 'row_integrity'`(取消形,不教宿主重取重呈);族里其余形仍铸安全停。修前活卡腿在这一形上陷「批准 → 拒 → 重呈」的循环,而停驻腿已是取消句。
|
|
155
|
+
- `engineTargetLocalOf` 回值诚实(CC-1410;🔴 型面 BREAKING〔窄〕:`EngineTargetState.local` 可缺席):读数坏形(含 `lifecycle` 为 `undefined`,即 `localEngineSeatReadingOf` 读不出态时的回值)回 `undefined`,不再回 `{}` 冒充本机半边;`EngineTargetState.local` 改可缺席,缺席 = 此刻没有合法的本机读数;出站门与 `watchEngineTarget` 放行缺 `local` 的态,宿主只扣本机半边、`mode` / `generation` / `cloud` 照发(修前整只态扣发,`mode` / `generation` 随之冻)。型面变:`engineTargetLocalOf` 入参 `lifecycle` 加 `| undefined`、回值 `EngineTargetLocal | undefined`;读 `state.local` 的渲染端须处理缺席。
|
|
156
|
+
- **🔴 行为变:中断拒绝(停止回合时那张审批卡上的工具级拒绝)走各腿平常的决断投递,不再是单发**(CC-1110;**§140 IR2-1 – IR2-4**;公面常量值变:`CANCEL_DENY_BUDGET_MS` 2000 → 8000;根入口零增减):活卡腿改走投递段(连接断 / 5xx 有界重发,202 停驻按服务端邀请同体重投恰一次;修前裸单发,连接断一次就上屏「could not cancel the pending question — the session may stay locked」);耐久审批腿与问答腿照旧走决断桥的瞬断重试,但带一只独立寿命(= 一次投递的整次预算 8 s;修前不带信号,请求挂住时这一问的登记永不清)。观察器在那一次投递的最后一发失败时上屏、或到 8 s 仍无回音时上屏,不再按 2 s 先报;重发撞「已被决 / 已到终态」静默。至多一发被受理(重发只在没拿到服务端判决时发)。
|
|
157
|
+
- **策略拒的原因词 +`hook`(一只 PermissionRequest 钩子拒的)**(CC-1114;**§140 PQ-1 – PQ-3**;型面加宽:`policyCause` 联合 +1;目录 +1 键 `approval.policyDeny.hook`,en / zh):卡的拒绝决断带 `policyCause: 'hook'` ⇒ 工具结果首句改为钩子那一句(「denied by a PermissionRequest hook … do not retry it unchanged」),钩子的拒因照旧原样另起一行接在后面;修前宿主只能报成缺席,交互会话与 `-p` / SDK 车道上都说「permission prompts are not available in this session」。三条决断腿同一条律;不上 wire、不参与裁决(决断体上的出处座位 `decidedVia` 本版未带,见 §140 PQ 包侧缺口)。
|
|
158
|
+
- **失败通知的原因位 `TaskNotificationFields.error`:推送来路与轮询来路落同一位、过同一只展示出口**(CC-1407;**§140 WF2-1 – WF2-3**;行为变):引擎失败通知帧(`status` 恰 `failed`)带的 `error` 现在经 `normalizeTaskNotification` 落在事实位 `error`(转录行 `_sema_task_notification`、队列项事实),与 workflow 看守轮询来路同一位、同一只呈前出口(凭据洗、字符面转义、封长 200 码元);同一原文两来路逐字节同。修前推送来路丢掉这一位。不进正文 XML。
|
|
159
|
+
- **外来说明文本的封长规则只剩一份,量与引擎同:截到 200 再接 `…`**(CC-1409;**§140 TR-1 – TR-3**;行为变):失败原因展示与三只通告句的说明位(`memory.session_polluted` · 委派静态标记放行 · 对端来信处置的 `cause`)改调同一只截断叶;修前截到 `封长 − 1` 再接标记(整段恰封长),与引擎「取前 200 再接 `…`」不同量。现在超长时整段 = 封长 + 1 码元;不超长原样、不加标记。`TaskNotificationFields.error` 与读数 `error` 成文为**已是展示形**:消费端原样渲、不要再过一遍出口(出口开着字面反斜杠成对时不幂等,再过会翻倍)。
|
|
160
|
+
- **workflow 完成的取件位补充**(CC-1422;**§140 WD-1 – WD-5**;行为变 + 型面加性:`EngineWorkflowCompletion.diagnostics?`、读数 `WorkflowRunTerminalReading` 完成 / 失败臂加可选位 `truncated?: true`):看守轮询先把终局句交了(读面没有全文取件位)之后,同一次完成的推送(补投帧臂 / 直调口)若带着全文取件位,补一件只含取件位的通知(无终局句、无 `result`),销账一次;之后同 runId 的推送照旧被 runId 门挡。推送先到、两者同到、只有轮询的行为不变;live 回声到达销账。取件位只认引擎诊断文本里那一句固定形(取最后一处,ref 过字符集 / 长度闸)。截断位读 run 记录自己的字段 `resultFull`(今天服务端读面不投它,所以线上读不到:缺席 = 不知道)。
|
|
161
|
+
- **服务端拒体机读位一种版式:读口只读体根;老服务端的嵌套形在抛出物快照口提升一次**(CC-1404;**§140 S7148-1 / S7148-2**;🔴 行为变,型面窄 BREAKING 见下一条):服务端 7.148.0 起拒体是 `{ error, errorCode, ...事实 }`,根上不再有 `detail`(八条码路径的对象形 `detail` 摊到根上)。本包所有按拒体事实分支的读口(hooks 族、帽拒、规则条目拒、字段冲突、附件拒、场景拒、会话放置、输入 id 重复)只读根键;服务端 7.139.0 – 7.147.x 仍发嵌套形,由抛出物的唯一快照口按码表闭集把 `detail` 下的事实提升到根上(表外码 / 串形 `detail` / 根上已有同名键 ⇒ 不提升、不覆盖;提升后的袋不带 `detail`),面板 200 体的场景拒位同一函数。两代读出同一读数;老服务端上 `dead_alias` 的 `groupIndex` 缺席(那一代不发)。过渡期登记:支持底线越过服务端 7.148.0 的那一版删提升。
|
|
162
|
+
- **`settings.hooks` 族拒读数的定位位由段数组 `path` 换成坐标串 `field`**(CC-1404;**§140 S7148-2**;🔴 型面 BREAKING 窄):`SettingsHooksRefusal.path?: (string | number)[]` → `field: string`(恒在);`HookMatcherRefusal` 四臂 `path?` → `field?: string`。服务端 7.148.0 起是判决处的精确坐标(如 `settings.hooks.PreToolUse[0].matcher`),老服务端由段数组渲出同一种写法,段数组读不出时是 `settings.hooks`。坐标是不透明定位串,不反解。族认领按坐标:码 `request.field_invalid` ∧ `field` 是 `settings.hooks` 本身或以 `settings.hooks.` / `settings.hooks[` 起头;泛化帽读口 `fieldLimitRefusalFromError` 不再认领 hooks 坐标上的帽拒(那一族的读数在 hooks 族读口里)。
|
|
163
|
+
- **hooks 读者不读的键告知句里的坐标写法跟服务端一致:数字段方括号**(CC-1404;**§140 S7148-3**;🔴 文案变):`settings.hooks.Stop.0.hooks.0.onFailure` → `settings.hooks.Stop[0].hooks[0].onFailure`;含 `.` `[` `]` `"`、空白、控制字符的键段写成 `["…"]`。本包写坐标只剩一只渲染器,写法与服务端 7.148.0 的 `unknownKeys` / 拒体 `field` 同。
|
|
164
|
+
- **MCP 断言头告知句的服务端版本射程 7.147.0 → 7.148.0**(CC-1404;**§140 S7148-0**;🔴 文案变,一句改写):`mcpAssertionHeaderNotSentNotice` 的「server versions up to 7.147.0 accept this setting but do not send the header」改说「up to 7.148.0」—— 服务端 7.148.0 仍不把 `assertionHeader` 交给引擎(其处置表 `withheld`),射程跟现役见证那一版走。
|
|
165
|
+
- **「会话可回退 / 分叉还原文件」读数格 `forkRestore` 改读能力位 `restoreFiles`**(CC-1404;**§140 S7148-4**):服务端 7.148.0 删能力位 `rewindFiles`(7.52.0 起与 `restoreFiles` 同谓词、恒同值)。两代读出同值;7.148.0 部署上修前该格读 `not_reported`。
|
|
166
|
+
- **门夹具现役服务端 7.147.0 → 7.148.0;开发依赖类型包 `@sema-agent/sdk` 37.0.0 → 38.0.0**(CC-1404;**§140 S7148-0 / S7148-5**;peer 地板 `>=25.0.0` 与支持底线不动):服务端 registry `dist.shasum` `ed5d3eb49ff19664d73bce42af9c4f565ab29a36`、`gitHead` `4a87488ca6f51d4994e8323e06f5e0bc70757088`(随包精确钉引擎 7.66.0 / 设置契约 24.0.0)。类型包七处破坏点逐条落点见 §140 S7148-5。
|
|
167
|
+
|
|
168
|
+
- **记忆暴露通告的开头句回到平话,只说引擎事实**(CC-1456;接入文档 **§140 MP-1**;行为变:文字,en / zh;在包,零型变、零公面变、目录键不增减):`notice.memory.sessionPolluted` 的开头句,0.109.0 写成「took in content from an outside source / 收进了来自外部来源的内容」(说过了头 —— 引擎发这个标时只说明会话里有工具能够到外部内容,不说明真收进过),0.110.0 又照抄引擎内部形写成「marked externally exposed / 已标记为暴露于外部」。现在 en `A tool in this session can reach content from outside it ({reason}).` / zh `本会话里有工具能够到外部内容({reason})。`;后半句(可能被扣下候审、每一批实际扣下什么会另行通知)逐字节不变。`memorySessionPollutedSentence` 与引擎通告派发出的是同一句。按句子文本匹配不在契约里,改读通告码与读口读数。
|
|
169
|
+
- **派发前重判口 `refilterHostSettings` 让 `settings.env` 跟着最终 hooks 走,补入的条目点名的名也补上**(CC-1421;接入文档 **§140 HE-1 – HE-3**;🔴 行为变:0.110.0 成文「此刻多出来的不加」(139-HE-10)改口,见 140-HEd;型面零变):宿主在装配之后改写 `settings.hooks`(锁存对齐补入 http 条目 / 派发前自己拿掉或收窄条目)时,`settings.env` 的名集由本口按**取交之后的最终 hooks** 重算(名集只有 `hookEnvNamesOf` 一种读法,入口与本口同源):被拿掉 / 被收窄的条目独有的名删;补入的条目点名、此刻的产物带的名补上(值取此刻的产物;已在请求上的名值不换;本车道 `settings.env` 无座 / 此刻 env 那一行漏接 ⇒ 不补)。补名要生效,宿主须在自己改写 hooks 之后、发出之前调本口一次,且此刻的产物由含锁存对齐那份计划的源铸出。宿主壳自铸的收窄过渡臂与它的两处调用到货即退(见 §140 HE 升级必读)。
|
|
170
|
+
- **引擎改指口 `repointEngine`:列表口改工厂形、连续性证据绑地址对、接线错改不可重试的拒**(CC-1408;接入文档 **§140 RP3-1 – RP3-3**;🔴 型面 BREAKING —— 本口 0.110.0 才出,承接方是终端):① `EngineRepointRoster.devices` 由「sdk 切片」改为工厂 `(address) => 切片`,`EngineRepointRoster.address`(宿主声明的切片地址,宿主地址的第二份)删除 —— 本口把规范化后的新址递给工厂、只读它交回的切片;`EngineRepointRosterProof` 的 `unreadable` 因里删 `address-unbound`。② 连续性证据 `expectDeviceId`(一枚裸串)改为 `continuity: { deviceId, from, to }`(新型 `EngineRepointContinuity`,根入口型 +1),由 `repointed` / `partial` / `store-failed` 三种结局带回(新位 `continuity`),宿主原样存下、原样递回;别的地址对 / 反向 / 只改一址铸的证据不再放行,旧入参 `expectDeviceId` 不再读(零双读);同版 CC-1405 的续跑证据由宿主持久化并重传,续跑句只叫用户再运行同样的命令;`EngineRepointContinuity` 的判据是 `deviceId` 相等且两址规范化后同键(不是逐位比)。③ 工厂交不回切片(宿主没有把设备列表接到新址 = 接线错误)⇒ 新拒因 `roster-unbound`(`EngineRepointRefusal` 加一词):不发任何请求(握手也不起)、旧档零变,句子 `session.devices.repoint.refused.rosterUnbound`(两语)明说这是应用自己的接线问题、再试也不会好 —— 修前这一形落在可重试的 `undetermined`、句子叫用户「Try again」。`devices` 不是一只可调的函数(缺 / 0.110.0 形的切片对象 / 取值器 / 别的值)同属接线错,落同一拒(工厂抛仍是可重试的 `undetermined`)。
|
|
171
|
+
- **宿主通告句的读法:`plane` 不是三词之一的句子整句不读**(CC-1338 同版;接入文档 **§140 RF-9**;行为变,只影响克隆或手拼的产物):快照口与派发前重判读一句时,`plane` 不是 `turn` / `session` / `diagnostic` 之一 ⇒ 这一句不读(0.110.0 照抄任意串 `plane`);拒发那一句因此读不成时回落投影句。包铸产物不受影响;逐句隔离,某一句读不出只跳那一句。
|
|
172
|
+
- **「重连 = 一次交易」那一句随界面语言**(§140 MR2-1;行为变:文字,中文界面上这一句此前是英文;型面:`MCP_RECONNECT_TRANSACTION_NOTICE` 值逐字不变、类型由字面量放宽为 `string`;消息目录键 +1):措辞真源迁进消息目录键 `session.mcpReconnect.transaction`(en / zh 两语),常量取目录英文;中文界面经根入口已有的 `renderMessage(msg('session.mcpReconnect.transaction'), lang)` 出句,不另铸句口。
|
|
173
|
+
- **会话 hooks 名册的状态闭集收成三词 `engine` / `shell` / `not_run`**(接入文档 **§140 RF-12**;🔴 型面窄:`SessionHooksRosterStatus` 去 `not_sent`,两者都是本版新出):第四词 `not_sent` 只出自「非引擎事件上、计划没断言本端跑不跑的拿掉行」,同版壳属主事件改按本端执行器判(跑得了 ⇒ 不出行,跑不了 ⇒ `no_executor`)之后计划不再出这一形,闭集里不留铸不出的词;手拼或外来计划带这一形 ⇒ 不成行、计入 `unlisted`;出站门拒 `not_sent` 状态。
|
|
174
|
+
### Deprecated
|
|
175
|
+
- **宿主断言词 `'started-by-this-process'`**(CC-1362;**§140 AM-5**;退役登记 RL-13620,retireBy 0.112.0):与新词同一处置;终端与桌面端都改交 `'reads-this-config'` 之后的下一个本包版本不再认(型面 BREAKING,随 minor)。
|
|
176
|
+
|
|
177
|
+
### Removed
|
|
178
|
+
- **根入口退出 `ZH_MESSAGES`**(CC-1357;**§140 EX-1**;🔴 型面 BREAKING:根入口运行期 −1;值与冻结形不变,改从子路径 `@sema-agent/client-core/i18n/zh` 取)。中文表约 225 KB 源码、约 59 KB gzip 不再随根入口进只渲英文的宿主的打包产物。
|
|
179
|
+
- **`ApprovalCardParkRow.taskId`**(CC-1348;§140 CP-1;🔴 型面 BREAKING):0.110.0 CC-883 起卡顶层 `taskId` 与 `parkRow.taskId` 同值双名,本版删 `parkRow` 里这一名;读「这条行属于哪条腿」只读卡顶层 `taskId`(字节同修前 `parkRow.taskId`)。`parkRow` 键闭集 `{ gatedCallId?, deadlineMs? }`。
|
|
180
|
+
|
|
181
|
+
### Fixed
|
|
182
|
+
- **Fixed(展示安全)— 被挡终局句 `Run blocked: <reason>` 的 reason 过展示口径(CC-1361;web-client 请托)**:无机读 detail 时,reason(agent 自报的话 / 解开引擎信封后的正文)此前只解信封,U+202E / ESC 序列 / C0 原样进句;现在与 hook 的话走同一展示口径
|
|
183
|
+
(凭据面 + 双向与控制字符标成可见转义 + 折成一行 + 封长 1000 且截点不劈转义记号)。句子字面不变;干净文本逐字节同旧;空 / 空白 reason 按没有 reason 处置(通用句,不出悬空冒号)。多行 reason 现在折成一行。终局行 / 结果帧失败句 / 根入口 `runBlockedText` 同一口径。
|
|
184
|
+
- **耐久审批门通告的来源词 `source` 与成因词 `cause` 同形按开集读,表外词不再让整条读数缺位**(CC-1356;**§140 NC-1 – NC-3**;行为变,在包;零型变、零公面变):修前 `readDurableGateUnavailable` 对 `source` 只认已装引擎词表(`DURABLE_MANDATE_SOURCES`)里的词 —— 引擎新增一个来源词的那一版,这条通告在宿主侧整条读不出(读口答 `undefined`,宿主退回引擎原句);而句口 `durableGateUnavailableSentence` 本来就按开集设计(表外来源词落保守从句、不回显词、不给「另一条出路」,出路句按成因),接入文档 §138 NC-1 / NCb 也这样写 —— 读口与句口、成文与行为对不上。现在 `source` 与 `cause` 一个读法:非空串即原样透传(不 trim、不折大小写、不改写;原型链上的键名也只是一个词),表外词读数在场、其余各格照带、句口落保守从句;空串 / 非串 / 缺席仍整条缺位(宿主退回引擎原句)。`DURABLE_MANDATE_SOURCES` 仍在根入口(冻结数组,值不变),只作句表逐词对账用、不再是读口准入。
|
|
185
|
+
|
|
186
|
+
- **发送机审批族:回执的回放判别读不出不再说「已生效」**(接入文档 **§140 RF-1**;🔴 行为变,只在外来体坏形与回放边角上;零型变):`sendHitlDecision` 审批族读回体后的回放判读改调活卡答复口与 `toolApprovalReplayVerdictOf` 共用的那一只判决。判别位 `idempotent` 自身读不出(自有访问器 / 描述符陷阱抛的代理)⇒ `unconfirmed{local_error}`(本版回执读口改为一次观察、永不抛之后,这一形曾落 `applied` 并以「已答」放掉持有;0.110.0 同为 `unconfirmed{local_error}`);自称回放却点名别的卡 / 与 `delivery` 并存 / 读不全又对不上号 ⇒ `unconfirmed{local_error}`(0.110.0 起说 `settled_elsewhere`、不带首决);读不全但自有位点名这张卡、首决是两词之一的回放 ⇒ `settled_elsewhere` 带 `firstDecision` / `contrary`(0.110.0 起只说早已决)。三条腿对同一只回体同答。
|
|
187
|
+
- **workflow 完成补投帧的截断披露臂改在入队臂之后发**(CC-1385;接入文档 **§140 RF-2**;行为变:臂序):消费者在披露臂处停读时,入队臂已交到宿主 —— 修前披露臂在前,停在那一拍会留下「已记账而入队臂没交出」,这次完成通知不再补发。任务通知那一形不变(披露臂仍在转录行之前)。
|
|
188
|
+
- **两语平话**(接入文档 **§140 RF-6**;行为变:文字):`session.mcpReconnect.transaction` 中文改说「这是一次整体操作,不是刷新」;`approval.editRefusal.parkReason` 中文尾巴改说「或因为太大在那里只留下了一个标明大小的占位」;英文两句不变。
|
|
189
|
+
- **`engineGenerationCardPlan` 兜底分支不再回头读入参**(CC-1374;接入文档 **§140 RF-7**):入参是取值陷阱抛的代理、卡表判形就抛时,修前兜底里再读一次 `phase` 又抛、逃出永不抛的判官;现在按首读的 `phase` 交空计划。
|
|
190
|
+
- **三处兜底不折正向词**(接入文档 **§140 RF-8**):`screenCardsHoldEngineDecision` 逐项按下标读、只在证明没有时答 `false`(卡表读不出仍答 `true`;宿主换掉数组迭代协议时照常逐项判,修前整只答 `true`);取件位补充通知的状态词 = 它补的那一次完成交来的词原样(直调口 `enqueueEngineWorkflowNotification` 交来表外词时不再折成 `completed`,与直调口正常入队同一读法);补收建议的调用方信号读不出按「不再发」处置,不再折成「已中止」。
|
|
191
|
+
|
|
192
|
+
### Gates
|
|
193
|
+
- 新门 `run-package-subpath-exports-test.mjs`:exports 闭集 · 根入口不带中文表(静态闭包 + 真打包产物两面)· 未装回英文 + 一次通告 + 拒因闭集 · 打包同一性三形(browser / Electron 主进程 / Node 条件集)+ 两份 bundle 的判别力自证。
|
|
194
|
+
- 入口闭集收成一张登记表(`scripts/_package-entries.mjs`),公面门 ⓪ / ⓪b、可移植门 ①d、两只转口门的入口格同读;单例门加一段:子路径入口的运行期闭包里零「复制两份就出真回归」的模块级状态。
|
|
195
|
+
- 新门 `run-elicitation-leg-ownership-test.mjs`(§140 EO / ED):活流腿零自开 + 断因恰一次带绑定 run(头 / `meta` 两种来路;说不出不编)· 断因进宿主按次策略口即梯主(排空帧经断因交出、读者恰一个)· 耐久源流按梯重开、梯尽才交断因 · 自开续流排空桥重开、零断因 · 根入口与组合器同一重开判据 · 结构钉(桥的 run 句柄只两处赋值、零回落旁路)· 依赖对象多出「回落 / 重开」位不改属主 · 公面型零开关位 · 旧代零自开零断因 · 句口两语同键 / 无名形 / 只 `applied` 出句 / 不可信名 / 口吻 / 目录 / 根入口与公面基线 / 出句口登记。
|
|
196
|
+
- `run-run-follow-projection-test.mjs` G2b 改口:活流源流不在腿内重开、断因带组合器补的绑定 run(修前钉的是腿内重开)。
|
|
197
|
+
- `run-message-catalog-test.mjs` MC5 域闭集 +`mcp`;`run-catalog-routing-test.mjs` CR11「别的门钉」表 +`elicitationRefusedLine`。
|
|
198
|
+
- **新门 `scripts/run-session-hooks-roster-test.mjs`**(CC-1369;**§140 QE / HR**;包侧投影门三件之一):QE1 登记 + 构建产物声明 · QE2 / QE3 读写两只出站门(空串、假成功、两条现势矛盾)· QE4 前置判法二十形 · QE5 宿主替身端到端(注册表替身;拒后旧键原样)· QE6 能力位读口 · HR1 登记 + 构建产物声明 · HR2 名册出站门逐键投毒 + 三条必然矛盾 · HR3 植入式零敏感字节(命令串 / url / 用户键名 / 原文事件键 / prompt 正文)+ 每个串都是闭集词 · HR4 计划 ⇄ 名册逐行对拍 · HR5 缺席语义 · HR6 宿主替身(`unarmed`;两 lane 同答)· HR7 源码锚(投影口不另算计划、不读自由文本位)。
|
|
199
|
+
- `scripts/run-seat-wave2-test.mjs` S1 / `scripts/run-seat-carriers-test.mjs` C1 · C5 / `scripts/run-seat-recents-test.mjs` RC1 能力名闭集 +`quickEntryShortcut` / `hooksRoster`(被管表 +2 行);单例清单 +11、公面基线 +6。
|
|
200
|
+
- **新门 `scripts/run-subagent-model-ports-test.mjs`**(CC-1362;**§140 AM**;包侧投影门三件之一):一张词表(两只判官的词集逐个相等)· `default` 一类(引擎纯键查对拍)· 两只断言词读数逐字同 · 准入判官三态逐因、对已装引擎档位展开 + 服务端代理门纯键查差分(35 份配置 × 20 词 × 有无本机表,1400 格)· 两只句口两语同键、出句 ⇔ 判官读数、成因分类器同一只(fail-soft 四句逐字节同 0.98.0)· 敌意入参。门 catalog-routing CR11「别的门钉」表登两只新句口。
|
|
201
|
+
- 新门 `run-engine-unavailable-line-test.mjs`(EU0 – EU7,223 格;含两语过展示出口格);语料 `cc1378`(32 条)进句等值门;生成表加 `SETTINGS_WEB_ADMIN_TOKEN_ENV`(中心凭证拒启出路句点名的两只键取自设置契约)。
|
|
202
|
+
- 新门 `run-self-heal-conversation-left-test.mjs`(A 出口闸 × 口的八种答 · B 行两语 · C 留批等待 · D 六类映射与句 · E 三处同读同答)。
|
|
203
|
+
- 新门 `scripts/run-refusal-noted-projection-test.mjs`;扩 `run-row-sidecar-projection-test.mjs`(G-RF7 五位 / G-RF12)、`run-seat-contract-keys-test.mjs`(P4 三格)、`run-server-7141-pick-projection-test.mjs`(PK6f);`run-cc-message-key-census-test.mjs` 工具收卡臂去向表 `gate` 行 +本键(接入文档那张去向表随 `--table` 重生成)、`run-engine-account-keys-projection-test.mjs` / `run-mods-face-projection-test.mjs` 铸口展开形改三参。
|
|
204
|
+
- `run-decide-ack-outcomes-test.mjs` (new).
|
|
205
|
+
- **新门 `run-engine-swap-crossing-test.mjs`**(CC-1386;151 格):公面 / 方向 × 可排空态 × 知情矩阵(判官真判词八种)/ 回退保护(确认不放行、高水位来源)/ 手搭判词 / 读数规范化 / 指纹绑定 / 回落读口 / 取值器零执行与敌意入参 / 两语句 / 缺席语义 / 反例三枚 / 冻结。CR11 语料 `cc1386` 一只出句口。
|
|
206
|
+
- `### Gates` 条:新门 `run-attachment-route-test.mjs`(判官 4 腿 × 3 位置逐格 · 缺席 / 敌意入参从严 · 两语两面同一原因不分叉 · 信封与装配口接线 · 六腿覆盖面机读表 · 来源句 · 结构:两原因词字面与位置键只在登记处);消息目录域闭集加 `attachments`;目录路由语料 `cc1389`。
|
|
207
|
+
- **Gates**:`run-approval-card-reading-projection-test`(AL-R2 / R2b / R2d / F5 / PG-R6 改口,AL-R6b 登记的两腿差作废,新 AL-R6c / AL-R7)· `run-hitl-gate-honesty-test`(F18①d 改口 + 诊断痕两格)· `run-prompt-blocked-sentence-projection-test`(新 PB9a–j);退役登记 RL-13941;裸句棘轮基线降 1 并记账。
|
|
208
|
+
- `run-interrupt-refusal-note-test.mjs` 扩 IR6g / IR6h(CC-1326;**§140 RQ-2**):全包族扫——三个码字面在 `src/` 里只住 `engineErrorCodes.ts`(构建期生成表除外),其余出现 = 0;六处原留字面的模块都 import 叶里的常量;尺子自证(植入单引号 / 双引号 / 模板串各被扫到,注释里的不算);变异 7 枚。
|
|
209
|
+
- `run-esc-halt-plan-test.mjs` G5 与 `run-interactive-interrupt-emitter-test.mjs` S0b 由「模块零 import」改口为「import 恰一条 = 码常量叶 `INTERRUPT_NOTHING_IN_FLIGHT`」(CC-1326;**§140 RQ-2**),G5 加叶的值级闭包纯度格(零 Node 内建 / 零第三方包)。
|
|
210
|
+
- **门库新增按版本取老一代夹具的统一取代际口 `resolveOldFixture`,服务端夹具代际缺席不再读成产品红 / 整门崩**(CC-1396;纯门件,无行为面):凡某一段需要**指定代**的服务端夹具(底线端见证 / 登记差对照代 / 某一代真拒体)一律经它按版本取,取不到 ⇒ 该段 `SKIPPED-SECTION` 点名缺席代际(收集器记 PARTIAL),门收尾行带 ` · 跳 n 段(夹具缺席,不计入通过数)`;**支持底线以下的代际恒不要求夹具**(必跑档下也不红),底线及以上的代际在必跑档(`SEMA_CC_REQUIRE_SERVER_FIXTURE=1`)下缺席仍红。已按此模板改:`server-7126-pick` F5 · `standing-rows` R9 · `support-range-admission` G7s-3a · `session-policy-deliverable` PS7 / SP-5 / E 端到端 · `server-7144-pick-projection`(对照代按版本取,夹具装载守卫:在场却装不上记一格红而不是顶层崩)· `server-7147-pick-projection`(对照代 7.145.x)· `steer-tier` G-ST5c advisory 臂 · `terminal-cause-projection` G-BD8(无铸点一代缺席 ⇒ 对照段跳过、逐代格照跑,不再 exit 9 整门退出)。自证:`server-7114-fixture` 新增 L3 七格(精确 / 区间 / 缺席点名 / 底线以下不要求 / 普通档 / 预发布 / 非法入参);变异九枚各红(见回执)。 **老一代夹具的「任一更老的一代」类问法并进统一取代际口,底线以下的代际缺席不再读成红**(CC-1396 余批;纯门件,无行为面):门库 `resolveOldFixture` 增认代的尺(服务端版本 / 所捆引擎版本)、区间取版本最高的一份(与夹具列表顺序无关),类问法认代口 `oldGenServerFixture` / `oldGenCoreFixture` 退役。支持底线(`scripts/support-floor.json` 的 server / core 两项)以下的代际在必跑档下也恒 `SKIPPED-SECTION`(不发地板下夹具),底线及以上必跑档缺席仍红。23 道门的约 30 处调用点已迁(`server-7113-fixture` · `request-uplift` · `disable-skills-wire` · `crash-converged-projection` · `user-attachment-seat` · `subagent-injected-wire` · `wiring-manifest-projection`〔含 FLX 直读口〕· `host-turn-settings` · `mcp-wire-caps` · `engine-notice-catalog` · `terminal-table-provenance` · `park-row-card-leg-projection` · `session-memory-erase-projection` · `session-policy-refused-removal` · `upstream-tables` · `plugin-hooks-projection` · `additive-key-passthrough` · `agents-wire-directory` · `server-7145-pick-projection`〔对照代按版本取 + 装载守卫〕· `terminal-cause-projection` · `standing-rows` · `server-7147-pick-projection` · `session-policy-deliverable`),各门收尾行带跳段尾缀;自证:`server-7114-fixture` L1 改钉、新增 L3h–L3k(列表顺序无关 / 引擎尺 / 预发布与入参 / 底线边界两把尺)与 L4(跳段尾缀),`approval-frame-keys` Z2 / Z6 / Z7 改钉同口。 **「每一代」问法并入统一取代际口,32 道直读老一代夹具列表的门全部改走门库,夹具代际缺席不再读成失败**(CC-1396 第三批;纯门件,无行为面):门库在 `resolveOldFixture`(取区间里版本最高的一份)之外新增同一份收集器与同一份缺席口径上的 `resolveOldFixtureAll`(区间里在场的**每一代**都交出来,给逐代对拍 / 逐代读数的段用;`GEN_OPEN_TOP` 作「该版本及以上」的开放上界;另交 `unreadable` = 列表里读不出服务端的项),读列表 / 认代 / 预发布 / 支持底线以下不要求的口径只在门库这一处。已迁:`abort-cause-projection` · `agents-wire-caps` · `allow-rule-shadow-projection` · `approval-respond-parking` · `approval-frame-families-declaration` · `cloud-skill-tool-lists` · `done-replay-single-source` · `hook-matcher-verdict` · `human-turn-encoding` · `mcp-reconnect` · `model-plane-projection` · `parked-resume-startup` · `permission-rule-issue-codes` · `permissions-declaration` · `prompt-delivery-projection` · `resume-refusal-copy` · `rule-readings` · `rule-refusal-sentence` · `sdk-33-pick-projection` · `server-7115-fixture` · `server-7116-fixture` · `server-7119-fixture` · `server-7124-pick` · `skill-tool-lists-projection` · `session-rules-namespace-forms` · `support-floor-projection` · `terminal-facts-projection` · `tick-model-and-config-drift` · `websearch-verdict` · `workflow-decide-refusal`(另 `gate-vocabulary` / `tool-history-mismatch-projection` 门内零老一代读点,只改过时注释并补收尾尾缀)。逐代表三门(`server-7115-fixture` / `server-7116-fixture` / `server-7119-fixture`)与 `skill-tool-lists-projection` / `terminal-facts-projection` 的「逐档都要有夹具」元断言原在必跑档下对支持底线以下的档也判红,改为每个缺的档各问一次统一口(整档在底线以下 ⇒ 点名缺席代际的跳段、不红;跨底线 / 底线及以上 ⇒ 必跑档红),三门另加 T3 钉档区间表与 `tierOf` 同源。自证:`server-7114-fixture` 新增 L3l – L3p(每一代问法:列表顺序无关 / 同版本去重 / 引擎尺共享 / 缺席口径与单代口逐字相同 / 入参纪律 / 底线边界)与 L5(存量棘轮:直读老一代夹具列表的门只在登记里、次数不增、迁走要缩表)。
|
|
211
|
+
- 新门 `run-pending-user-row-projection-test.mjs`(CC-1337)· `run-builtin-output-styles-test.mjs`(CC-1340;读 CC 2.1.316 语料逐字节,语料缺席 ⇒ SKIPPED-SECTION)· `run-url-query-label-stop-test.mjs`(CC-1300;UQ1 – UQ7);扩 `run-approval-card-face-projection-test.mjs`(RI0b / RI7 / RI7a / RI7c / RI7d / RI7e)· `run-approval-hold-scope-test.mjs`(HL1-11)· `run-hitl-allow-feedback-projection-test.mjs`(FB2 / FB6)· `run-seat-contract-keys-test.mjs`(K2fb-3)。
|
|
212
|
+
- 公面基线 `public-export-baseline.json` 运行期 +6(`PENDING_USER_ROW_ID_PREFIX` · `pendingUserRowIdOf` · `pendingUserRowUuidOf` · `isPendingUserRowId` · `BUILTIN_OUTPUT_STYLES` · `builtinOutputStyleOf`);裸句基线 `bare-sentence-baseline.json` +1 文件 / +14 摘要(`src/builtinOutputStyles.ts`,模型面正文,ledger 已追一条)。
|
|
213
|
+
- 新门 `approval-card-request-assembly`:卡请求键三分(事实 / 宿主 / 卡腿专有)在构建产物上用类型检查器量,未分类即红;事实位与宿主位逐键过境;闭集外键不过境;外来体与坏形;三只投影口真读数 ≡ 修前展开形;本包活卡腿 ≡ 装配口且源码不再内联展开。
|
|
214
|
+
- 门:新增 `run-interrupt-deny-delivery-test.mjs`(README Guards 一行);`run-hitl-gate-honesty-test.mjs` F17-PC 扩钩子格;`run-client-core-pure-test.mjs` B7 常量钉改 8000(成文改口)。
|
|
215
|
+
- **新增发版前内部检查门 `scripts/run-p2-clearance-gate-test.mjs`**(CC-1301):包产物与公面零变化。
|
|
216
|
+
- `run-engine-notice-catalog-test.mjs` F9b / F12b 改钉(表外 `source` 与原型键名作 `source`:由「整条读数缺位」改「读数在场、原样透传」)+ 新钉 F9c(表外词读数与已知词读数键集同形)/ F9d(不 trim、不折大小写、逐字节原样)/ F9e(空串与七种非串 ⇒ 缺位且不抛);`run-engine-notice-user-codes-test.mjs` 多 NC5l – NC5o 一组(CC-1356;表外来源词 × 成因三态 × 两语:读口交出读数、句口恒出一句、保守从句不回显词、无「另一条出路」、出路句按成因;判别力自证:已知词的句与保守句不同;空串 / 非串仍缺位)。
|
|
217
|
+
- `run-usage-analytics-projection-test` 扩 H 段、`run-core-value-ports-test` 扩 ⑱ 段(CC-1008;**§140 CO**):行集 × 端口有无 × 字面 0 时序逐格 · 三百组全价行集对独立求和判官 · 坏形 28 种永不抛 · 端口装了不守形 · 种子恒下界 · 逐轮读数 × 终局事实四态 · 单一折法源码直读(零求和 / 归并)· 真编译器型面;端口两件三档编译装得进 · 二十五件旧袋编译红点名两件 · 真引擎逐形同答。
|
|
218
|
+
- 扩既有门(CC-1456 / CC-1421 / CC-1408 / §140 MR2):`run-engine-notice-user-codes-test.mjs` NC4a2 重写(两语新句首 + 六词两语整句零残留)· `run-hook-env-seat-projection-test.mjs` HE10i 改口 + HE10i2 + HE13(拿掉 / 收窄 / 新增三形、不补各形、值律、幂等、与入口单源)· `run-engine-repoint-projection-test.mjs` 工厂形端口夹具、RP14 改形、RP16(工厂 / 证据绑地址对 / 接线错)、RP15 续跑句与崩溃形改读 `continuity`(+RP15b2)· `run-mcp-reconnect-test.mjs` S16;目录路由金样 `cc1284` 一条摘要随新句换;裸句基线 `src/mcpReconnect.ts` 1 → 0 并记账。
|
|
219
|
+
- 扩既有门(接入文档 **§140 RF**):`run-tool-permission-settled-projection-test.mjs` TS-D3 改口 + TS-D6 / D7 / V7b(发送机与判决口 36 形逐体对拍)/ V8e(发送机不再自写回放判读)· `run-resupply-truncated-projection-test.mjs` W1 改口(披露臂在入队臂之后)+ W1b(披露处早退)+ R0(两语无内部词)· `run-client-core-pure-test.mjs` B6 披露处早退 · `run-prompt-suggestions-tail-test.mjs` P2d / P2e / P6e / P7c(P7a 改口)· `run-engine-repoint-projection-test.mjs` RP15 改口 · RP16c / d 改口 + RP16n · `run-edited-approval-acceptance-test.mjs` E4b · `run-mcp-reconnect-test.mjs` S16b 改口 · `run-screen-decision-cards-test.mjs` SC3f / SC4d · `run-workflow-completion-poll-test.mjs` WP12 状态词格 · `run-host-setting-notice-projection-test.mjs` H5e(逐句隔离)· `run-package-hygiene-test.mjs` 加一张协作流程用语表(dist 与 README 全文、文档自 0.111.0 段起)· `run-server-7114-fixture-test.mjs` L5 改走记号层的注释位置读法。缺席折正向词普查与展示面控制符字符类单源两道门回绿:实体形显形口的 CC 控制类改按 Unicode 类名书写,输出逐字节不变。;`run-session-hooks-roster-test.mjs` HR1 / HR2 / HR4 改口 + HR4x(与铸点相矛盾的拿掉行计入 `unlisted`)· `run-seat-devices-test.mjs` SD6b 内部调用点逐处登记(三处)· `run-session-id-path-segment-test.mjs` R1 豁免行 +1(数组方法,非会话动词)· `run-session-mods-seat-test.mjs` MV1 改钉下标 · `run-store-center-wiring-capability-test.mjs` S8f 两侧回到逐元素相等 · `run-task-notification-entry-sampling-test.mjs` NA0 采样口名册 +1(审批答口回执读口对在场位的值采样;续读游标两只文件仍不在射程)· `run-thrown-data-reads-test.mjs` AE1 / AE5:两处外来值落数组改走 `appendOwnElement`(零 `push`) · `run-display-untrusted-projection-test.mjs` C 段:控制符字符类普查补认 Unicode 类名写法(`\p{Cc}` / `\p{Control}` / `\p{gc=…}` / 取反,C0c 尺子自证),现形的四个文件逐处登记理由(登记残留 3 → 7;都是对拍 CC / 服务端同形的文法,或「拒而不洗」的收否判据,不是转义展示面)
|
|
220
|
+
|
|
221
|
+
## 0.110.0(2026-11-08)
|
|
222
|
+
|
|
223
|
+
> 主题:展示出口凭据面:方案词 `Bearer` / `Basic` 紧贴值、不带分隔的粘连形进射程(CC-1282;接入文档 **§139 SA-1 – SA-4**;🔴 行为变,只多遮)· 值扫描按位查表、一遍合计线性(CC-1298;字节不变) ‖ 宿主收卡 —— 宿主已对用户说了「这一行续不了」之后,把包持结局的停驻卡零决断、零句地收下屏(CC-1313;接入文档 **§139 PW-1 – PW-6**;型面加性 + 型面加宽) ‖ 提交幂等重放位的读法单源:开流记录与账本观看泵改走包内唯一读法 `isReplayedTerminal`(CC-1314;接入文档 **§139 DR-1 – DR-5**) ‖ 座位请求「为什么问」两位 `probeReason` / `probeCause`(CC-1316;接入文档 **§139 PR-1 – PR-4**;加性) ‖ Esc 的 interrupt 被引擎拒收的句口 `interruptRefusalNote`(CC-1317;接入文档 **§139 IR-1 – IR-4**) ‖ 宿主通知档位的座位能力位与读写动词(CC-1318;接入文档 **§139 NL-1 – NL-7**;🔴 型面 BREAKING〔窄〕:`LocalSessionsApi` 多两只成员) ‖ 会话 mods 读数两件 —— 座位动词 `readSessionMods` + 能力位 `modsView` + 唯一读口 `sessionModsOf`;部署声明的 mod 包只数读口 `readModsDeploymentPackages`;§130 桌面装载段按内核契约 8 改口(CC-1319;接入文档 **§139 MV-1 – MV-9**) ‖ 请求 `settings.env` 座 —— 交引擎执行的 http hook 头 `$NAME` 与本端执行器同一个环境来源(CC-1322;接入文档 **§139 HE-1 – HE-6**;🔴 型面 BREAKING〔窄〕:宿主自供项源表 +1 必填位) ‖ 旧并发期两条跨族关联臂退役、宿主谓词 `replayedApprovalClosesCardFrame` 在册待退(CC-481 / CC-1332;接入文档 **§139 DF-1 – DF-4**;行为变,只在支持底线以下的服务端上可达) ‖ 审批卡上「是哪只扩展发起的」`requestedBy` 上卡 + 句口 `approvalRequestedBySentence` + 读口 `approvalAskReasonsOf` 上根入口(CC-1327;接入文档 **§139 RB-1 – RB-6**;加性) ‖ 自知块借道臂与一等位臂同一条律合并用户正文、合超服务端上限不发超限体并说一句(CC-1339 / CC-1350;接入文档 **§139 SK-1 – SK-7**) ‖ 请求体 `settings.hooks` 只带引擎属主事件(CC-1335;接入文档 **§139 HK-1 – HK-3**) ‖ 门卫生 —— 在只带跟踪文件的环境里(无夹具 · 无兄弟端树 · 无发布 tag · 一次性单提交仓),门的后段不再被「环境没带来的物料」整段遮住;九道存量门逐道改诚实跳段 / 延后收口,加一枚远端形反钉门;同名影子豁免行 `BrainStatusPhase` 删行(随 SF-3)(CC-1334 / CC-1324;接入文档 **§139 GH-1 – GH-5**;零公面变、零行为变) ‖ MCP 会话内重拨判决 → 句子单源口 `mcpReconnectVerdictDetail`(CC-853;接入文档 **§139 MR-1**;CC-1349 扩到九档、`ok` / `unsettled` 两句迁进消息目录、`invalid` / `not_running` 两句按真语义改口〔行为变:文字〕) ‖ 引擎腿「这台要用户去授权」的纯函数判法 `mcpNeedsReauth`(CC-854;**§139 MR-2**) ‖ 失败读数的状态小段 `mcpFailureStatusSuffix`:`(re-authorize)` 只跟 `unauthorized` 态(CC-1349;**§139 MR-4**;加性) ‖ 会话规则撤销动词「放宽被拒」那一句按真语义改口并收成消息目录单源(CC-968;接入文档 **§139 LS-1 – LS-4**) ‖ 座位回执承载「别处已决」:`respondToToolPermission` 回执多可选位 `settledElsewhere`、渲染端读口 `readToolPermissionSettledElsewhere` 与句口 `toolPermissionSettledLine`;活卡答复口回执读口认赎回臂(`readToolApprovalRespondAck` 读 `accepted: 'parked_redeemed'` 的首赎回 / 回放两形)(CC-1331;接入文档 **§139 SL-1 – SL-6**) ‖ 一次性「引擎改指」的编排口与两证判定口(CC-1139;接入文档 **§139 RP-1 – RP-6**) ‖ 宿主设置产物的输出风格键落风格正文、不再落风格名(CC-1347;接入文档 **§139 OB-1 – OB-6**) ‖ 控制台中心用量体的金额判词 `centerUsageCostOf`(CC-885;接入文档 **§139 CB-1 – CB-6**) ‖ 治理把整条 hooks 腿关掉时,本端跳过口与请求体同判(CC-881;接入文档 **§139 HC-1 – HC-4**):设置来源跳过口 `settingsHooksKeptLocally` 在关腿计划上一律答空、新增插件对位口 `pluginHooksKeptLocally`、关腿计划逐来源逐条记 `settingsDropped` ‖ peer sdk 地板 `>=23.1.0` → `>=25.0.0`、支持底线 sdk 一项同步(CC-1342;接入文档 **§139 SF-1**;🔴 支持承诺收回:钉 sdk 23.x / 24.x 的消费方升 sdk) ‖ 地板越过 24.0.0 同批到期的过渡物退役:协议类名读口第四态 `sdk-instance` 与错误实例挡板(RL-167;行为变)· `compaction_started` 帧回到 switch 里一条 `case`(RL-186)· 地板以上的编译期钉并回源码(RL-187)· 续跑启动失败成因的领先登记(RL-188)(**§139 SF-2**) ‖ 同名型 `BrainStatusPhase` 改再导出 sdk 那一只(**§139 SF-3**;取值同七词) ‖ 地板线值级导入见证(**§139 SF-4**) ‖ 门卫生 —— 会话策略撤销门的铸点见证格(F7)按引擎代际读真字节、并在没有老一代夹具的环境里也执行(CC-1354;纯门件,无行为面,接入文档不动) ‖ 模型能力位三态读法单源 —— 目录行推理位读口 `modelReasoningOf`,看图位 / 推理位 / 档位读口 / 行视图读同一条折词口;探针落笔不再把「没被要求时没思考」写成 `reasoning:false`;引擎「声明不收图 ⇒ 图换成占位说明」通告 `model.capability_downgraded` 的事实读口与两语句口(CC-778;接入文档 **§139 MC-1 – MC-10**) ‖ 审批决断 allow 臂「Yes + 告诉 agent 下一步」反馈位 `feedback` 投影(CC-585;接入文档 **§139 FB-1 – FB-6**) ‖ 座位请求两位 `requestedBy` / `frameReading`:扩展发起者与呈卡帧判因随卡上座(CC-1341 / CC-1345;接入文档 **§139 TP-1 – TP-4**;型面加性 + 🔴 公面常量值变) ‖ 被挡臂终局句的出句口 `runBlockedText` 按名转出根入口(CC-1346;web-client [C756];接入文档 **§139 RT-1**) ‖ 审批卡请求多一只可选位 `taskId`(这张卡所属腿的 id:主腿 = run id,委派子代腿 = 子代会话 id;CC-883;接入文档 **§139 RI-1 – RI-4**) ‖ 这张卡收不收「编辑后批准」的根导出判口 `editedApprovalAcceptanceOf` 与拒发那一句转录行 `editedApprovalRefusedLine`(CC-1306;接入文档 **§139 ER-1 – ER-6**) ‖ 后台子代委派卡的徽章模型位:`task_started.model` 落徽章台账 `engineInlineTaskStats`(CC-1358;接入文档 **§139 BM**) ‖ 服务端 7.137.0 随附六件的逐件落点核对(CC-1044;接入文档 **§139 S7137-1 – S7137-6**;零代码改动、零公面变)‖ 门补 14 格:服务端黑盒 G6 – G10 的客户端半改用真类型包错误对象走全链(**§139 S7137-7**)‖ README 门清单里本门一行对计划审阅决断体 `checkpointId` 的说法订正(**§139 S7137-8**) ‖ 问题卡在钩子车道必问 —— 钩子的拒不再能关掉引擎对人的提问(CC-1359;接入文档 **§139 AN-1 – AN-3**) ‖ 输入作者词与出身词:一只读口、闭集 + 读不出位(CC-1069;接入文档 **§139 AU**) ‖ 停驻 fail-soft 收场句:引擎答了且拒之后卡不会自己再出现,出路句改说「发一句话重开」(CC-1344;接入文档 **§139 FW-1 – FW-3**);其余收场腿的出路句一字不变 ‖ 记忆暴露通告的开头句按引擎事实改口(会话的记忆被标为暴露于外部,不再说「收进了外部来源的内容」),三只通告句里外来串超长截断处带省略标记(CC-1377;接入文档 **§139 MX-1 / MX-2**) ‖ workflow 完成的轮询兜底归包 —— 读面终局读口 `workflowRunTerminalReadingOf` · 读面注入口 `installWorkflowRunReader` 取代 `installWorkflowStatusProbe` · 轮询来路见终局经同一铸点交一次(CC-1197;接入文档 **§139 139-WF**;🔴 型面 BREAKING + 行为变) ‖ 服务端 7.147.0 预发布构建 → 发布版换钉:请求成员本版读者读不出的拒(新提交 400 / 续跑四门 409)读口 `unreadRequestMembersFromError` 与句口 `unreadRequestMembersContent`、车道词 `none` 五处读点逐处核对、随包 wire 变更产物新增 79 条逐条对表(CC-1368;接入文档 **§139 S7147-1 – S7147-7**;加性:根入口运行期 +2) ‖ 审批卡请求多一只可选位 `inputSource`(卡上入参取自记录侧 `'record'` 还是回落到事件流 `'stream'`;座位请求同名位随过境口上座;CC-1366;接入文档 **§139 IS-1 – IS-5**) ‖ 换钉类型包 37.0.0(锁步服务端 7.147.0;CC-1376;接入文档 **§139 PK-1 – PK-9**):决断类续跑「这一行自己的拒」读成行坏、不再铸绑定不符安全停、不铸瞬时(🔴 行为变)· 判活口 `probeEngineAlive` 单参(🔴 型面 BREAKING,窄)· 推送结果行位 `writer_side` 一句(加性)· 赎回臂 `rememberApplied` 按布尔读(型面加宽) ‖ 会话箱车道三载体 `crossSessionMessage` / `crossSessionNotice` / `inboxNotice` 与侧记 `_sema_provenance` 的投影:第四条车道 `inbox_notice`、回执 / 空闲通告的 typed 正体、加性 chrome 臂 `session_box_notice`、收件箱通告跨 run 去重(CC-138;接入文档 **§139 SB-1 – SB-11**;加性 + 型面加宽 + 行为变) ‖ 读流器耗尽的按因读口 `streamEndedReasonOf` · 失败呈现停驻臂按因分句 · 判型谓词改为它的派生口(CC-877;退役登记 RL-877 执行;接入文档 **§139 RE-1 – RE-5**;加性 + 行为变:文字) ‖ 本机引擎三项到期过渡物:座位本机半边 `lifecycle` 必选、宿主自写 `lastBootError` 那一臂删 · 空闲谓词后台合取项改按支持底线退役 · 三只弃用型本版不删(CC-1173;退役登记 RL-12679 执行;接入文档 **§139 ES-1 – ES-3**;🔴 型面 BREAKING〔窄〕+ 行为变:出站门拒不带 `lifecycle` 的本机半边)
|
|
224
|
+
|
|
225
|
+
### Added
|
|
226
|
+
- **读流器耗尽的按因读口 `streamEndedReasonOf(err)`**(CC-877;**§139 RE-1 / RE-2**;加性:根入口运行期 +1、型 +3;退役登记 RL-877 执行):类型包 37.0.0 起 `StreamEndedWithoutTerminalError(lastEventId, reason, cause?)` 声明 `reason` 两词闭集(`empty_legs` = 连着零帧的停驻启发 · `consecutive_failures` = 无进展用尽)与最后一腿的错 `cause`。本读口答 `{ kind: 'read', reason, cause? }`(`cause` present-iff 在场,值原样、型 `{} | null`;缺席 = 最后一腿干净收尾)或 `{ kind: 'unknown', why }`(`why` 三词:`not_this_class` 不是这一类 · `reason_unreadable` 是这一类但 `reason` 读不出〔缺席含类型包 36.x 及以前的单参构造、自有访问器、只在原型链上、描述符读抛〕· `reason_unrecognized` 有值而不是闭集两词〔表外新词 / 大小写变体 / 带空白 / 非串 —— 不折成两词之一、不做类型转换〕)。判类与 `isSseIdleError` 同律(instanceof 为主、`name` 兜底只读自有数据位),`reason` / `cause` 只读自有数据位、取值器一次都不执行、永不抛,读数冻结。两词表是类型包 `STREAM_ENDED_REASONS` 的生成物快照 `SDK_STREAM_ENDED_REASONS`(新鲜度门逐字节重算;不手抄,根入口不出同名常量);新增型 `StreamEndedReasonWord` / `StreamEndedUnknownWhy` / `StreamEndedReading`。
|
|
227
|
+
- **宿主收卡:卡口决断加臂 `{ kind: 'withdrawn', toldBy: 'host', rowVerdict }`(常量 `WITHDRAWN_CARD_DECISION_KIND`)+ 问卡 / 计划审阅卡的宿主口 `withdrawParkQuestion(questionId, { toldBy: 'host', rowVerdict })`(拒因闭集 `PARK_QUESTION_WITHDRAW_REFUSALS`:`malformed` / `no_card` / `not_withdrawable`)**(CC-1313;**§139 PW-1 – PW-4**;型面加性:根入口运行期 +3、型 +3 `HostWithdrawal` / `ParkQuestionWithdrawal` / `ParkQuestionWithdrawRefusal`):卡已呈过、宿主随后读到这一行在这台引擎上续不了并已对用户说了(`rowVerdict` = 它读到的那份非 `ok` 判决)⇒ 宿主把卡收下:包零决断(停驻审批卡零 decide、活卡零 respond、问卡零 decide、计划审阅卡零投递)、零句(停驻收场的同步终帧原样吐、不挂 `_sema_park_failed_reason`,durable 腿不合成带句终帧,不接「在卡上决 / 取消」出路)、不记用户关卡(之后的自动重开照开)、等待链正常结束,join 同一只决断的那一路拿同一个值、同样静默;问卡 / 计划审阅卡由包撤帧(`question_complete`)。修前只有撤卡 `retracted`:停驻收场把它说成「宿主撤了卡,这一跑仍停着、别处还决得了」再接「卡再出现时在卡上决」—— 对续不了的行两段都不成立;问卡 / 计划审阅卡没有零决断的收卡口(作答 / 空答 = 拒 / 中止 = 发一发中断拒绝)。收卡形读不出(`toldBy` 不是 `host` / 判决缺席或 `ok`;只认自有数据位)⇒ 卡口那一臂按撤卡处置、宿主口答 `malformed` 且卡不动。包**不读**行判决:交来的判决经停驻行判决读口原样再读一遍校形、冻结,随结局交回。
|
|
228
|
+
- **`registerLocalQuestionResponder` 多一只可选第三参 `onWithdraw`**(CC-1313;**§139 PW-3**;型面加性):本地合成的问卡登记收卡钩;宿主口一次性取走这一格(与作答同一只一次性:答了收不了,收了答不了)后调它恰一次。不给 ⇒ 宿主口答 `not_withdrawable`,卡照旧可答。
|
|
229
|
+
- **座位请求 `ToolPermissionRequest` 多两个可选位 `probeReason?: string` / `probeCause?: object`;过境口 `toolPermissionRequestAskBits` 返回型多这两位**(CC-1316;**§139 PR-1 – PR-4**;型面加性 + 🔴 公面常量值变:`TOOL_PERMISSION_REQUEST_KEYS` 末位 +2〔17 → 19〕;根入口运行期零新名):卡请求上早有的「为什么问」两位(探针给的散文 / 引擎自铸的结构因由)此前不过座位过境口,座位卡的「为什么问」因此无载体可读。现在过境口按与「为什么问」那一句的读口 `askProbeReasonDetail` **同一个读点**把它们原样过境:散文 = 自有数据属性 ∧ 串 ∧ 去两端空白后非空 ⇒ 原文字节(不 trim、不截、不改写);结构位 = 自有数据属性 ∧ 非 null 非数组对象 ⇒ 同一引用(内部成员不校)。在场只看卡上这两位自己,与请求键的域无关;取值器不执行、原型链上的同名键不算、坏形不投,两位按键隔离、读就抛不外溢。载体三种:卡请求 · 活卡帧(位在顶层)· 原始耐久待决行(位在 `riskDescriptor` 之下,行顶层同名键不抢位),三者交过境口的答案与「先经呈卡口铸卡再交过境口」逐位同。座位卡的读法只有一条:座位请求直接交 `askProbeReasonDetail(req, lang?)`(两行因由交 `probeCauseRowsOf(req)`),得到的就是卡面上那一句。座位校验器不校这两位(覆盖表豁免 +2 行,坏值不拒整条请求)。缺席语义:缺席 ≠「没有原因」,渲染端缺席不渲这一行。
|
|
230
|
+
- **Esc 的 interrupt 被引擎拒收的句口 `interruptRefusalNote(reason, lang?)`**(CC-1317;**§139 IR-1 – IR-4**;型面加性:根入口运行期 +1、型 0):判定页 `planInteractiveHalt` 对非升级的 409 只答机读因由 `refused-no-escalation`,端拿不到句子(`interrupt.not_held` 与 `steering.not_running` 在那一位上分不出)。发射口 `fireInteractiveInterrupt` 的 `refused` 结局带着引擎的机读码 `errorCode`,宿主把它交进来,得到该码自己的一句(en / zh;`lang` 缺席 / 表外 ⇒ 英文)。闭集三码:`interrupt.nothing_in_flight`(run 停在待决门上,没有在飞的一轮可切)· `interrupt.not_held`(本服务器没有这条 run 可切的活的一轮;服务端两句文案一个码,句子取最弱主张、不断言位置)· `steering.not_running`(终态 / 流刚落定的竞态,interrupt 口复用 steer 的码)。其余一切 —— 缺席 / 空串 / 近形 / 非串 / text 形专属码 —— 落一句中性句:没有被接受、原因这一版说不出、不要假定已停或已切、去看当前状态;不说「失败」、不回显外来词、不替引擎断言 run 的状态。三段句(发生了什么 · run 本身的状态 · 出路)与决断失败补句族同形。判是严格等值(零折大小写 / 裁空白 / 前缀 / 包含),入参零属性读、永不抛。只补句,不改 `planInteractiveHalt` 的判决(`interrupt.nothing_in_flight` 升级、其余不升级,逐字不变)。
|
|
231
|
+
- **宿主通知档位:座位能力位 `notificationLevels` + 读动词 `getNotificationLevels` + 写动词 `setNotificationLevel`**(CC-1318;**§139 NL-1 – NL-5**;根入口运行期 +4、型 +6,公面导出 2191 → 2195;🔴 型面 BREAKING〔窄〕:`LocalSessionsApi` 多两只成员,手写完整实现它的宿主或测试替身编译红一次〔座位 eipc 注册表由规格生成的桌面端随规格自动注册〕;能力位是可选位,老宿主缺席 ⇒ 读口 `not_reported`、编译红 0):三种宿主原生通知(审批请求 `permission` / 提问 `question` / 任务完成 `idle`)各发到哪一档,唯一真源是宿主存档。修前座位契约里没有通知偏好通道:用户在渲染端设置里关掉的种类,宿主的原生通知照弹;窗口最小化时渲染端与宿主各发一条。读动词答 `NotificationLevelsState { levels, supported }`:`levels` 是三种类各自此刻会用的档(三键恒在;没设过 = 宿主自己的缺省档,照答,不缺席)· `supported` 是这台宿主能发的档(档位闭集的子序列,按闭集序、不重复,`off` 恒在且居首);写动词 `setNotificationLevel(type, level)` 一次改一种类,答 `{ ok: true, state }` / `{ ok: false, reason, state }`(被拒是回执不是异常,两臂都带写后或拒后的现势)。闭集词三张冻结元组:`NOTIFICATION_LEVEL_TYPES`(`permission` / `question` / `idle`)· `NOTIFICATION_LEVELS`(`off` / `badge` / `banner`;`off` = 这一种类一次都不发,另两档怎么呈现归宿主)· `NOTIFICATION_LEVEL_REFUSAL_REASONS`(`invalid-request` / `unsupported-level` / `write-failed`)。写口前置判法 `planSetNotificationLevel(type, level, supported)`:种类或档位不是闭集里的串(含包装串、大小写变体、布尔)⇒ `invalid-request`;档位不在宿主自报档里、或自报档读不出(不是数组 / 条数多于档位闭集 / 取值器 / 读就抛;条数先界后读、只读一次)⇒ `unsupported-level`;顺序 坏形 > 不支持,永不抛、答案冻结。两只出站门都是闭形,另拦一处必然矛盾:某种类的档不在自报档里(点名 `levels.<种类>`)。能力位 `true` 的宿主同时承诺每个原生发送点在发的那一拍按同一份存档读档;`true` 时渲染端不另存、不自带缺省档、撤掉它自己对这三种的提醒(每条提醒只发一次);`false` / 缺席(浏览器 lane、终端、老宿主)⇒ 渲染端照旧用自己的通知开关。*否掉的备选*:宿主另存三位、渲染端只读说明(同一组偏好两个真源)· 宿主把原生通知全交渲染端(后台无窗口时没有发送者)· 读动词对「没设过」答缺席(渲染端要自带一份缺省档,缺省就有两份)· 并进 computer-use 开关那对动词(两件宿主设置,闭集不共用;同义的拒因 `invalid-request` / `write-failed` 两词同写)。
|
|
232
|
+
- **会话 mods 读数:座位动词 `readSessionMods(sessionId)` · 能力位 `modsView` · 唯一读口 `sessionModsOf(manifest)` · 型 `SessionModsView`**(CC-1319;**§139 MV-1 – MV-3**;🔴 型面 BREAKING(窄):`LocalSessionsApi` 多一只成员、能力名闭集多一词 `modsView`;根入口运行期 +1、型 +1;目录 +2 键):一只会话最近一腿装了哪些 mod(挂上 / 被拒两形行),座位 lane 此前没有任何载体 —— 回执臂留在宿主环,引擎也没有按会话读 mods 的端点。现在读法只有一只:`sessionModsOf` 读一只接线回执(流上的回执臂,或非流式提交回执的同一张视图),行读法就是 `modRowsOf`;段在场 ⇒ `{ rows }`(`[]` = 那一腿没有注册),段缺席或读不出 ⇒ `{ kind: 'unreadable', why }`(不折 `[]`、不留上一腿的行)。座位宿主对每只到达的回执臂调它、按会话整只替换缓存,经动词交出;引擎实例换代 ⇒ 作废,新一腿到之前答 `{ kind: 'unarmed' }`;不拨号,没有 `transport` 臂。浏览器 lane 的渲染端直收回执臂、调同一只读口 —— 两条 lane 读同一份读数、用同一组句子(新增目录键 `config.mods.session.unreadable` / `config.mods.session.unarmed`)。出站门闭形:两形行逐键,两形键同在 / 表外臂 / 访问器拒,永不抛。
|
|
233
|
+
- **部署声明的 mod 包只数读口 `readModsDeploymentPackages(health)` · 型 `ModsDeploymentPackagesReading`**(CC-1319;**§139 MV-4 / MV-5**;根入口运行期 +1、型 +1):读 `/health` 回体的 `mods.deploymentPackages`,三态 —— `{ kind: 'present', count }`(≥ 1 的安全整数)/ `{ kind: 'absent' }`(没声明或老服务端)/ `{ kind: 'unreadable' }`(体读不出或这一位形坏,含 `0`);缺席不折 `0`、不折 `false`。能力位 `modsDeploymentPackages` 是同一事实的另一张脸,本包仍不读(只读带只数的那一张)。`readEngineHealthFacts` 读数不变。
|
|
234
|
+
- **宿主自供项入口多一把键 `settings.env`(产物键全集末位,产物行数 6 → 7)+ 源表必填位 `HostTurnSettingsSources.env: { env } | 'none'` + 产物带出位 `HostSettingsCarried.env`**(CC-1322;**§139 HE-1 / HE-2**;🔴 型面 BREAKING〔源表加一只必填位〕+ 公面常量值变〔`HOST_SUPPLIED_KEYS` 末位 +1、`SEAT_TURN_SETTINGS_ORIGINS` +1 宿主行 `env`〕;根入口运行期零新名):规则一条 —— 名集 = 这一发请求体 `settings.hooks` 里引擎点亮的事件(`isEngineFiredHookEvent`)下每一只 `type: 'http'` 条目的 `allowedEnvVars` 之并(条目已过准入层 `httpHookAllowedEnvVars` 收窄;引擎事件上判给本端执行器的条目本来就不在请求体里;非引擎事件上的条目照在请求体里但引擎从不执行,不计)∩ 宿主环境里在场的名(自有数据位且值是串,空串也算在场);值 = 宿主环境原值;名集空 ⇒ 键缺席。引擎对 http hook 头的插值读的正是「基础名单 + 请求 `settings.env`」,本端执行器读的是「`allowedEnvVars` ∩ 宿主环境」—— 同一条 hook 定义两路从此插出同一串(修前请求体从不带这一键,引擎那一路插成空串)。不按凭据名预筛:`settings.env` 的凭据判官只在服务端(新提交 400 `request.env_credential_refused`,续跑折 409),被拒时既有读口 `envCredentialRefusalFromError` / 句口 `envCredentialRefusalContent` 点名的就是这几只 hook 名单里的名。值只进请求体:不进条目正文(条目照旧只带 `$NAME` 与 `allowedEnvVars`)、去向回执、产物行 / 句、任何日志(`SEMA_DEBUG` 开着也不进)。行:`'none'` ⇒ `no_source`;漏接 ⇒ `unwired` + 会话面一句;读环境就抛 ⇒ `source_unreadable` / `refuse_turn`(与各键同律,带车道射程);环境上的取值器不执行(按不在场)。
|
|
235
|
+
- **车道表 `REQUEST_FIELD_MATRIX` 一行 `settings.env`**(CC-1322;**§139 HE-3**):interactive / print 有座、`live: true`(与 `settings.hooks` 同座);utility 无座(去向回执 `off_lane`,零值)。入参 `settings` 上手填 ⇒ 按名拒并指向产物(修前按「不认识的键」拒);座位入站判官拒渲染端送的 `settings.env`(宿主自供)。
|
|
236
|
+
- **审批卡入参 / 卡事实多一只可选位 `requestedBy?: ApprovalRequestedBy`(这一问的调用是哪只扩展注册自己发起的)**(CC-1327;**§139 RB-1 / RB-2 / RB-3**;型面加性,新型 `ApprovalRequestedBy` = `{ readonly kind: 'extension'; readonly name: string }` 只是类型):修前这一位只在活卡帧的键镜像里(帧原样过境、卡上不显示),审批卡渲不出「是哪只扩展发起的」。现在读位恰是服务端铸这一位的两处 —— 活卡帧 `tool_approval` 顶层与呈卡帧 `approval_request` 顶层(卡外活面座)—— 经唯一读法 `approvalRequestedByOf`(与 `agentId` / `askReasons` 同一个模块、同一套自有数据位读法)上卡:`requestedBy` 是自有数据位的对象、`kind` 恰为字面 `'extension'`、`name` 是自有数据位的非空串,三者缺一整位缺席;出参是冻结的新铸副本(多余键不抄),取值器不执行、原型链上的同名位不算、已撤销 / 陷阱代理不抛,读就抛只丢这一位。`card` 信封(耐久的卡)、运维队列行、通用卡与悬挂盲行上游不铸这一位 ⇒ 只交卡面的口 `approvalCardFactsOfV1`、通用卡口、耐久待决行腿**不读**(读了 = 卡面上的发起者没有来源);悬挂行带的重放帧走帧腿。展示位:不进读不出登记、不影响放宽三行与三车道自动作答判决(有 / 无这一位逐字同)。部署座装了运维声明的 mod 包之后才会出现,绝大多数部署上恒缺席 —— 缺席不能读成「模型发起」。
|
|
237
|
+
- **句口 `approvalRequestedBySentence(by, lang?)`**(CC-1327;**§139 RB-4**;型面加性:根入口运行期 +1):合形读视图 ⇒ 英文「Requested by {name}」/ 中文「由 {name} 发起」(消息目录键 `config.mods.request.by`,与 `modCardSentence` 的「被 {by} 拒绝」同域同族);名字位与 mod 句口同一只展示出口(换行折平 · 双向符可见化 · 凭据形遮盖 · 封长 64),同一个名字在两句里展示逐字相同;读不出 / 坏形 / 展示后一无所有(全空白名字)⇒ `undefined`,不出「Requested by 」半句。端不自铸句。
|
|
238
|
+
- **审批卡「谁问的、为什么问」的唯一读法 `approvalAskReasonsOf(carrier)` 上根入口**(CC-1327;**§139 RB-5**;型面加性:根入口运行期 +1):就是卡投影内部用的那一只(同一引用,语义不变,见 §137 AR-2);自己拿到活卡帧 / 呈卡帧 / 队列行的宿主读同一只,不手抄判形。`approvalAgentIdOf` 仍是包内件。
|
|
239
|
+
- **`applyLiveRequestDefaultsWithNotices(req, host)` → `{ request, notices }` + 型 `LiveRequestDefaultsResult`**(CC-1339;**§139 SK-4**;型面加性:根入口运行期 +1、型 +1):与 `applyLiveRequestDefaults` **同一实现**,后者恒等于前者的 `.request`(逐字节);多交一份本层判出的 `notices`(冻结;无句 ⇒ 空数组),即借道臂没把用户风格正文带上的那一句。入参请求体不被改。
|
|
240
|
+
- **通告句 id +2:`HS-STYLE-OVERSIZE` / `HS-STYLE-UNREADABLE`**(CC-1339;**§139 SK-5**;`HostSettingNoticeId` 联合 +2 员 ⇒ 对该联合穷举的端编译红,补两员):走既有 `HostSettingNotice` 与消息目录(en / zh 两语,限额数插值),plane 恒 `turn`,不回显用户正文任何片段。
|
|
241
|
+
- **重拨判决的句子单源口 `mcpReconnectVerdictDetail(verdict, server, lang?)`**(CC-853;**§139 MR-1**;型面加性:根入口运行期 +1、型 +2 `McpReconnectNotSentVerdict` / `McpReconnectDetailVerdict`):`reconnectMcpServer` 给端的是判决,判决里「请求没成」的几档端以前各自拼一句。现在九档一处铸句、en / zh 两语(消息目录 `session.mcpReconnect.*`)—— `ok`(随结果视图分五形:accepted 1 个 / 多个 · refused 名册缺席 / `[]` / 非空 · unsupported〔server 自己的词:这条 run 未声明 MCP〕)/ `unsettled`(应答期限先到;句子不带名字)/ `not_running` / `unsupported` / `not_found` / `invalid` / `failed`(消费口的七档判决)+ `no_session` / `unavailable`(宿主自己判的两档:请求没发出去 —— 还没有引擎会话 / 此处没有这一动词)。英文:`ok` / `unsettled` 两档与迁前 `mcpReconnectOutcomeDetail` 的字面句、常量 `MCP_RECONNECT_UNSETTLED_NOTICE` 逐字相同;`not_running` / `invalid` 以外的五句与终端此前自拼的逐字相同,这两句按真语义改口(见 Changed)。名字是配置里的原名,本口自己画成可见转义的单行(与 `mcpReconnectOutcomeDetail` 的名字位同一出口,封 40 字),端传原名、不要再送进显示出口;远端 / 异常原文(`failed` 判决带的 `error`)一个字不渲。`ok` 判决的 `result` 读不懂(缺席 / 非对象 / `outcome` 非三词 / 句子要用的位坏形 / `result.server` 与传入名不等)⇒ `undefined`;判决不是对象 / `kind` 读不出 / 表外词 / 名字不是非空串 ⇒ `undefined`,永不抛。
|
|
242
|
+
- **引擎腿「这台要用户去授权」的纯函数判法 `mcpNeedsReauth(reading)`**(CC-854;**§139 MR-2**;型面加性:根入口运行期 +1):一份摊平带着引擎失败字段的读数(引擎腿连接读数的 `failed` 臂 · 重拨回执的 `status` · 接线回执 `mcp[]` 行的视图)⇒ `true`(`errorCode` 恰等引擎的失败类词 `unauthorized`)/ `false`(读得出、但没点名这一类)/ `undefined`(说不清:读数不是对象、`errorCode` 在场却读不出或不是非空串)。只读 `errorCode` 一格(自有数据位 + 缺席证明,取值器不执行),不看 `httpStatus` / `authorization`。🔴 判据**不是**票面当年写的「`http_status` 的 401 / 403」:引擎 7.59.0 起 401 与带 scope 挑战的 403 落成 `unauthorized`(+ 授权记录,本包 0.103.0 起已读),`http_status` 里剩下的 403(无 scope 挑战)是策略拒绝、授权解不了,5xx 是对端挂了 —— 票面自带的退役条款(上游结构化态到货后 401 / 403 判法退)在支持底线越过引擎 7.60.0 时已到期,本口直接读结构化态、不建出生即过期的过渡臂。
|
|
243
|
+
- **失败读数的状态小段 `mcpFailureStatusSuffix(reading, lang?)`**(CC-1349;**§139 MR-4**;型面加性:根入口运行期 +1):端渲一行引擎失败读数时,类词后面那一小段(` <状态号> (<解释>)`)只有这一个出口,三态 —— ① 要授权(`mcpNeedsReauth(reading) === true`,即 `errorCode` 恰为 `unauthorized`)⇒ ` (re-authorize)`;② 对端挂了(`httpStatus` 是 500 – 599)⇒ ` <n> (the server is down)`;③ 其余合法状态号(含 401 / 403 / 404 / 429)只渲号,没有可渲的 ⇒ 空串。🔴 `(re-authorize)` **只跟 `unauthorized` 态**:引擎 7.59.0 起 401 与带 scope 挑战的 403 落 `unauthorized`(不再带状态号),`http_status` 里剩下的 403(无 scope 挑战)是策略拒绝、授权解不了 —— 终端壳按状态号写的分句表对 401 / 403 都附 `(re-authorize)`,会给用户一条不存在的出路。判据就是 `mcpNeedsReauth`(单一读法,不另判一份);`httpStatus` 只认自有数据位上的正整数;类词读不出时不借它断言要授权。en / zh 两语(目录键 `session.mcpFailure.*` 两键,中文解释词不带前导空格),永不抛。
|
|
244
|
+
- **座位回执位 `ToolPermissionAck.settledElsewhere`**(CC-1331;web-client / desktop [C753] ③;**§139 SL-1 – SL-3**;型面加性:根入口运行期 +2〔`readToolPermissionSettledElsewhere` / `toolPermissionSettledLine`〕、型 +2〔`ToolPermissionAck` / `ToolPermissionSettledElsewhere`〕;座位动词 `respondToToolPermission` 的返回型由通用 `OkAck` 换成 `ToolPermissionAck extends OkAck`〔多一只可选位,源码兼容〕):引擎 200 回放臂(`idempotent: true`,体里的 `decision` 是**首决**、这一发什么都没送达)修前座位回执只有 `{ ok }`,用户点「拒」、按首决「批」执行了,座位说不出「你的拒绝没生效」。现在活卡答复口在回放判处铸一次「别处已决」的事实 `{ firstDecision: 'allow' | 'deny'; contrary: boolean }`(`contrary` = 首决与这一发一边拒一边不拒;`ApprovalResolutionDecided.settledElsewhere`,present-iff 回放),座位宿主原样抄进回执 `settledElsewhere`、不自己比决断词。渲染端经读口读(与出站门同一闭形、自有数据位、冻结拷贝、永不抛),`contrary` 为真时经句口出句 —— 与发送机结局句口同键同句(消息目录 `approval.decision.settledElsewhereContrary.{deniedFirst,approvedFirst}`,en / zh 现成,零新目录键),同向回放无句。出站门:位在场而坏形(首决用座位词 `approve` / 表外键含凭据形键 / `contrary` 非布尔 / 访问器)⇒ 整只回执被拒并点名 `settledElsewhere.<键>`;键集仍开,宿主已回的额外键照旧放行。**缺席 = 引擎没报回放**(送达 / 被拒 / 不知道),不是「没有别人决过」。通用 `OkAck`(另六个动词共用)不加宽。
|
|
245
|
+
- **活卡答复口回执读口认赎回臂**(CC-1331;**§139 SL-4**;型面加性:根入口运行期 +1〔`isToolApprovalRespondParkedRedeemed`〕、型 +1〔`ToolApprovalRespondRedeemedView`〕):迟到答复赎回了一张已停驻的卡(服务端 ≥7.133.0,体上 `accepted: 'parked_redeemed'`、没有 `delivery`)。修前 `readToolApprovalRespondAck` 对这一臂两形都读出 `undefined`(首赎回形无 `delivery`;回放形带 `idempotent: true` 却没有 `decidedAtMs`,首决回放臂的窄读不收),宿主只能自读 `idempotent === true`。现在读口认这一臂:`approvalId` / `askId` 非空串必在;`delivery` 同在 ⇒ 整只读不出(两个判别位同在是自相矛盾的体);回放形(`idempotent: true`)的 `decision` 必为 `allow` / `deny`(首决的两词),否则整只读不出;首赎回形的 `decision` 随赎回腿回执原样(开串,非空串才带);`rememberApplied` 只收严格 `false`;赎回腿的其余位(`status` / `taskId` / `sessionId` / 兑付与回显位)不读 —— 它们的读法唯一在 `readDecideReceipt`。判别位全程只读自有数据位(访问器 / 原型链 / 读就抛 ⇒ 不认领或整只读不出,取值器不执行)。判别口 `isToolApprovalRespondParkedRedeemed`(新)与 `isToolApprovalRespondReplayed`(对齐 sdk 判别:赎回回放形不是首决回放臂)。
|
|
246
|
+
- **一次性「引擎改指」:编排口 `repointEngine(input, ports)` + 握手帧唯一读口 `deviceHelloReadingOf` + 结论判官 `engineRepointVerdictOf` + 呈现句口 `engineRepointMessageOf` + 会话映射半场写口 `repointSessionEngine`**(CC-1139;**§139 RP-1 – RP-6**;型面加性:根入口运行期 +5、型 +28;消息目录 +12 键〔`session.devices.repoint.*`,中英〕):引擎的管理地址换了而这台机器上的设备还是那一台时,用户在新地址上显式执行一次 —— 不重新注册、`deviceId` 不变,引擎那边按 `deviceId` 记的既有绑定原样有效(本口零 wire 写);本机侧的设备档与会话映射在同一次操作里改指。**改指之前两证俱全**:(a) 用本机私钥对新地址的设备入口握手,看到 `helloAck`(`auth_failed` 只判「未证实」,不判拒;`revoked` 终态同判未证实;`draining` / `already_connected` / `protocol_version_unsupported` 不是对身份的回答 ⇒ 读不到);(b) **非 operator 凭据**下**新地址上的**设备列表读列得出该 `deviceId`(operator 凭据列全量、行上没有归属列,不作证,且不发这一请求;列表口声明切片所连地址 `roster.address`,与新址同键才发请求,否则 `unreadable/address-unbound` —— 旧址列得出同一枚 `deviceId` 证明不了新址)。结论闭集:任一证读不到 ⇒ `undetermined`(不下结论)· 否则任一证未证实 ⇒ `unverified` · 两证俱全才写;不是两证俱全 ⇒ **旧档零变、会话映射零写**,结果带机读出路(`path: 'reenroll-at-engine-address'`:到新址引擎自己的地址重新注册,之后到引擎设备列表移除旧设备 `removeDeviceId`)。读口全部由宿主注入(握手 / 列表 / 设备档存取 / 会话映射存储),宿主只装配;设备档的键形不进本口(端口收地址)。写序:先迁设备档(`move` 后回读对账:新址有同 `deviceId` 的档、旧址已无;谎报 ⇒ `store-failed`、会话零动)、再逐只会话映射改指;会话半场任一只冲突 / 读不出 / 写失败 ⇒ `partial`(档已迁、其余照迁、计数如实),**带上这一次结局的 `deviceId`(入参 `expectDeviceId`)重跑即可补完**;旧址没有设备档时,新址上的档只在这枚连续性证据与它相等时才当作「上次已迁」,否则 `refused/record-absent`、零写。从不覆盖新址已有的档(`target-occupied`)。列面读法只有 `listDevices` 一只(与换绑三口同源)。
|
|
247
|
+
- **会话映射记录的绑定快照多一个写口 `repointSessionEngine(store, from, to)`**(CC-1139;**§139 RP-5**;加性):首写仍只经 `commitSessionEngine`;引擎**地址**换了而引擎还是那一台时,地址族快照与该键条目整体平移到新地址键(会话 id 与条目其它位原样),存储锁内新鲜读、幂等、新地址键上已有条目 ⇒ `conflict`(字节不变)、旧记录(无快照)的旧键条目同平移;声明族 / 自起族 / 别键的会话不归本次改指。通用 merge 照旧不碰快照位。
|
|
248
|
+
- **控制台中心用量体的金额判词 `centerUsageCostOf(body)` + 闭集 `CENTER_USAGE_COST_UNKNOWN_WHYS`**(CC-885;**§139 CB-1 – CB-6**;型面加性:根入口运行期 +2〔公面导出 2191 → 2193〕、型 +5〔`CenterUsageCostReading` / `CenterUsageCostAmountReading` / `CenterUsageCostUnknownReading` / `CenterUsageCostAmount` / `CenterUsageCostUnknownWhy`〕;既有读口行为零变):控制台中心的用量体(`usage/me` / `usage/summary`,与引擎总账同形)多一键 `costBasis`(`exact` / `lowerBound` / `unknown`,总在场;老中心没有这一键)。修前三端各读各的,包内只投引擎总账那一份、零读这一键。现在一只读口把金额读成两态 —— `{ state: 'amount', amount: { value, bound }, unpriced }`(`bound` 只有 `exact` / `lower`,与引擎卡金额位同一词表,渲前缀仍走 `usageBoundPrefix`)或 `{ state: 'unknown', why }`(**零数字**,`why` 在四因闭集内:`declared_unknown` / `basis_unrecognized` / `estimated_zero` / `amount_absent`;端渲「不知道」,不渲 0)。读法:`costBasis` / `costUsd` / `estimated` / `truncated` 四键只读自有数据位(取值器不执行、原型链上的同名键不算、读不出按该键说不清,入参任何值都不抛);`costBasis` 集外词或读不出 ⇒ unknown(先于金额判);词 `exact` 遇体上 `estimated` / `truncated` 举了或读不出 ⇒ 降下界(只降不升);键缺席(老中心)⇒ `estimated` 严格 `true` ∧ 金额 0 ⇒ unknown,其余按 `estimated` / `truncated` 推界(`estimated === false` ∧ 没截才精确,缺席 / 非布尔 ⇒ 下界);金额坏形 ⇒ `amount_absent`,不折 0。`unpriced` 只在体上 `estimated` 严格 `true` 时为真。引擎卡金额位的界推导抽成同一只模块私有函数,与键缺席形共用(单一界推导;引擎卡读数逐格同修前)。本包不出人话句。
|
|
249
|
+
- **插件 hook 的本端跳过口 `pluginHooksKeptLocally(plan, pluginId, event, groupIndex, hooks)`**(CC-881;**§139 HC-2**;型面加性:根入口运行期 +1):`settingsHooksKeptLocally` 的插件对位口。关腿计划(`closedBy` 非 `null`)⇒ `[]`,任何插件 / 事件 / 下标;否则逐只按 `pluginHookVerdictOf` 剔掉判给引擎的(查不到判定的留给本端,与修前壳自己写的那一句同),零改动交回同一数组引用。
|
|
250
|
+
- **设置来源拿掉依据闭集 `SETTINGS_HOOK_DROP_REASONS` 末三员 = 计划 `closedBy` 的三词**(`workspace_untrusted` / `governance_unreadable` / `policy_disable_all`;CC-881;**§139 HC-3**;🔴 公面常量值变:4 → 7 词;三端对本词表零穷举 switch,按 `settingsHookDropText` 渲即可):三词与 `closedBy` 同词、不另铸;`settingsHookDropText` 对三词各一句(en / zh)。
|
|
251
|
+
- **目录行推理位的读口 `modelReasoningOf(model, catalog?)` + 型 `ModelReasoning`**(CC-778;**§139 MC-1**;型面加性:根入口运行期 +1、型 +1):与看图位读口 `imageVisionOf` 同形 —— `model` 缺省取缺省模型那一行,按同一只行解析规则找行(先 `name` 再 `id`),只读自有数据位(取值器一次都不执行),永不抛。行上 `reasoning === true` ⇒ `yes`、`=== false` ⇒ `no`;**键缺席 / 非严格布尔(`'true'` / `1` / `null` / 对象)/ 只在原型链上 / 是取值器 / 目录缺席 / 模型未列出 / 读抛 ⇒ `unknown`**。`unknown` 是「条目没声明」,不是 `no`:引擎对未声明推理的处置是首发不带思考键(与声明为否同一结果),但那是引擎的策略,不是这只模型的事实 —— 端不得把它渲成「不是推理模型」(隐藏档位、标「无推理」徽章)。`ModelReasoning` 与 `ImageVision` 是同一个三态联合。
|
|
252
|
+
- **引擎通告 `model.capability_downgraded` 的事实读口 `readModelCapabilityDowngraded` + 句口 `modelCapabilityDowngradedSentence(facts, lang?)` + 型 `ModelCapabilityDowngradedFactsView`**(CC-778;**§139 MC-4 – MC-6**;型面加性:根入口运行期 +2、型 +1;派发表 `ENGINE_NOTICE_FACT_READERS` +1 行):引擎 7.56.0 起,一个会话里请求的图因这只模型的目录条目声明了不收图(`input` 里没有 `"image"`)被换成一行占位说明时,每个会话每只模型说一次(受众 user)。读口五格必填(`model` / `capability` / `status` / `sessionId` / `runId`,引擎铸点恒带;缺 / 空串 / 错型 / 取值器 ⇒ 整只缺席),`capability` / `status` 当开集原串读。句口只对引擎**已交付**的一对 `capability = image` ∧ `status = declared_off` 出句(en / zh):点名模型(过展示出口)· 原因(条目声明不收图,每张图只以一行占位说明到达它)· 两条出路(它能看图就在条目里声明 `input: ["text", "image"]`;否则换模型);其余 (能力, 状态) 对 ⇒ `undefined`,宿主走册内通用行渲引擎给的 `message`(引擎后续切片的词到货前本包不为其造句)。
|
|
253
|
+
- **审批卡「Yes + 告诉 agent 下一步」写的话送达模型**(CC-585;**§139 FB-1 – FB-6**;型面加性:根入口运行期 +1〔`allowNoteNotCarriedSentence`〕、座位请求位 +1〔`ToolPermissionRequest.feedbackCapable`〕、座位决断位 +1〔`ToolPermissionDecision.feedback`〕、`DecideApprovePayload` 多一只可选位 `feedback`、发送机结局多一只可选位 `allowNoteDropped`;🔴 公面常量值变:`TOOL_PERMISSION_REQUEST_KEYS` / `TOOL_PERMISSION_DECISION_KEYS` 各末位 +1):耐久决断口 `/decide`(服务端 ≥ 7.134.0 / 引擎 ≥ 7.54.0)的放行体多一只键 `feedback`(字符串),引擎在该次工具结果后把它作为用户本人的话交给模型。① **装配**:唯一装配口 `answerPayloadFor(answer, 'decide')` 由放行臂 `note` 铸 —— 串 ∧ 去空白后非空 ⇒ **原文字节**(不 trim、不截:服务端不 trim、无长度帽);空串 / 全空白 ⇒ 键不落;非串 ⇒ 键不落并留 error 级开发者错误痕(只记类型),决断照发;`respond` 腿恒不带。② **判官一只**:`answerCarriage(card)` 修前恒 `none`(CC-610),现按卡答 —— 卡带耐久待决行腿铸卡盖的正向事实 `parkRow` ⇒ `model`,其余(活卡帧腿 / 端手拼的卡 / 坏形)⇒ `none`;座位位 `feedbackCapable` 与它同读(另与请求键域 `durable:` 合取;在场 ⇔ 给)。不读服务端版本串(支持底线 ≥ 7.134.0,无条件承运)。③ **直连门回退**:直连门部署对 `feedback` 键答 `400 feedback_not_in_proof`(验签前拒、什么都没落地)⇒ 去掉 `feedback` 重发恰一次(本会话放行的 `remember` 照带),决断落定之后披露一句;别的拒码(`409 resume_outcome_invalid` + `field: "feedback"` 等)不回退、走既有失败处置。④ **披露句**:`allowNoteNotCarriedSentence(lang?)`(目录键 `approval.allowNote.notCarried`,en / zh):活卡应答口不收放行备注 ⇒ 修前只写 debug 日志,现在送达成功之后经宿主面披露;发送机(`sendHitlDecision`)审批族 / 流内问族的结局多 `allowNoteDropped`(present-iff;体与无备注逐字节同)。
|
|
254
|
+
- **座位请求 `ToolPermissionRequest` 多两个可选位 `requestedBy?: ApprovalRequestedBy` / `frameReading?: ApprovalRequestFrameUnreadableWhy`;过境口 `toolPermissionRequestAskBits` 返回型多这两位**(CC-1341 / CC-1345;**§139 TP-1 – TP-4**;型面加性 + 🔴 公面常量值变:`TOOL_PERMISSION_REQUEST_KEYS` 20 → 22(接在 FB 的 `feedbackCapable` 之后),新位在末;根入口零新名):桌面座位车道此前看不到「这一问是哪只扩展发起的」,也看不到「通用卡为什么是通用卡」(升级客户端与报告服务端是两件事)。`requestedBy` = 载体顶层(卡请求 / 活卡帧)的扩展发起者,读点是卡口的唯一载体级读口 `approvalRequestedByOf`,出 present 读数原形 `{ kind: 'extension', name }`(冻结的新铸副本,多余键不抄);`frameReading` = 呈卡帧判因词(闭集 `version_unknown` / `kind_unknown` / `unreadable_fields`,就是判因读口 `approvalRequestFrameReadingOf` 的 `why` 与卡上 `cardPayloadUnreadableWhy` 的词),**只在非 ok 态且判因已知时落**。两位都是 present-iff:缺席 / 坏形 / 取值器 / 原型链 / 读就抛 / 表外词 ⇒ **键不落**(不落 `undefined` / `null` / 空串),按键隔离,别的位照出;缺席不是「模型发起」,也不是「帧读得出」。原始耐久待决行(自有键 `riskDescriptor`)两位都不读(上游不在行上铸,读了就是第二读位)。座位校验器不校(覆盖表豁免 +2 行,带成文理由)。
|
|
255
|
+
- **被挡臂终局句的出句口 `runBlockedText(blocked)` 上根入口**(CC-1346;web-client [C756];**§139 RT-1**;型面加性:根入口运行期 +1,公开导出 2191 → 2192,型零变):修前这只函数只有包内两个铸点会调(终局行 / 结果帧失败句),根入口零导出,宿主渲被挡终局只能自铸一句(web-client 自铸的那句不带原因,也不跟着包的句子走)。现在根入口按名转出的就是那一只(同一引用;签名与每一句逐字节零变):入参是 `readRunTerminal(result)` 读出的 `kind === 'blocked'` 臂;被 `userPromptSubmit` hook 挡下提示时出 `UserPromptSubmit operation blocked by hook` 句首并接 hook 自己的话(过展示出口、拆信封标签记号)或固定一句收场,其余落回 `Run blocked: <reason>` / 通用句(缺席语义见接入文档 §139 RT-1)。同文件的英文句首常量留在包内、不上根入口(公面英文散文常量棘轮);要认「这一行是治理终态行」读 `isGovernanceStopRowText`。
|
|
256
|
+
- **审批卡请求 `ApprovalCardRequest` 多一只可选位 `taskId`:这张卡所属腿的 id(主腿 = run 的 wire run id,委派子代腿 = 子代会话 id)**(CC-883;**§139 RI-1 – RI-4**;型面加性:卡请求多一只可选串位,根入口运行期 / 型的名字零变):修前活卡(旧族 `tool_approval` · 呈卡族 v1 · 版本认不出的通用卡)只有 `toolCallId`,没有 run 身份 —— 宿主要按卡所属 run 取证据(例如自动作答者按 run 取放行依据),在多条流并发、或所属流已收尾之后只能答「不知道」或去猜最近一条流。今天:位在场 ⇔ 本包能从这张卡**自己的 run 来源**读出非空串(原样字节),**两条腿同一个位置**。同一张卡只许一个值:卡上的 `taskId` 就是包内认同一只审批所用的那个身份值,不另有读点。活卡腿的来源 = 入口装配持有表身份时读的那一份 —— 主腿帧:帧登记的绑定先,没登绑定才用调用方交的 `run`(第六参),`taskId` 与 `sessionId` 成对取自同一来源(绑定在场而其中没有 `taskId` ⇒ 缺席,不拿调用方的补);委派子代腿的帧:帧上的出处会话位(新名 `sourceSessionId` 先、旧名 `sourceTaskId` 在新名缺席时),读不出 ⇒ 缺席,不拿宿主 run 顶替。耐久停驻腿的来源 = `surfaceFsApprovalAndDecide` 的 `taskId` 实参,与 `parkRow.taskId` 同一个值(同一 run 的活卡与停驻行卡同值)。**缺席 = 本包说不出这张卡属于哪条腿**,不是「没有 run」:本包不猜(不拿最近一帧的绑定补、不读帧自带的 `taskId` / `runId`、不拿宿主 run 顶替子代腿读不出的值)。展示 / 关联位:不参与裁决、不上 wire、不上座位面;纯投影出口(`approvalCardFactsOf*`)的出参不带它(它和 `callKey` / `signal` 一样是装配点补的宿主位)。
|
|
257
|
+
- **「这张卡收不收『编辑后批准』」的判口 `editedApprovalAcceptanceOf(card)` + 闭集 `EDITED_APPROVAL_STATES` / `EDITED_APPROVAL_BASES` + 拒发那一句转录行 `editedApprovalRefusedLine(lang?)`**(CC-1306;**§139 ER-1 / ER-2 / ER-4**;型面加性:根入口运行期 +4、型 +2 `EditedApprovalAcceptance` / `EditedApprovalState`):入参不是将执行的真实入参的卡(`argsUnavailable`)收不了改写后的批准 —— 这一判此前只活在活卡帧腿与耐久停驻腿内部,自己走出站的端只能手抄 `argsUnavailable === true` 判据。判口只读卡请求上这一位,经缺席证明唯一读法给三态:`accepts`(位证明缺席)· `refuses`(自有数据位 `=== true`;读数另带 `askStaysPending: true` —— 拒发之后什么都没发出、引擎那头的问照旧挂着,同一张卡可原样再呈)· `unknown`(读不出 / 坏形,不折成「收」;依据词 `card_unreadable` / `slot_unreadable` / `slot_malformed`),取值器一次都不执行,永不抛。句口两语进消息目录(键 `approval.editRefusal.line`),零用户字节:这次批准没有发出 · 为什么 · 原卡照旧在等你决断。
|
|
258
|
+
- **存档 user 行的出身词**(CC-1069;**§139 AU-3**;加性):`projectEngineSessionMessages` 对 `role: user` 的存档行多读 `runOrigin` ⇒ 消息多两只可选超集键 `_sema_run_origin`(成员原字节)/ `_sema_run_origin_unreadable`(在场但读不出,严格 `true`);读法与帧上同一只口。存档行不带 `author`(引擎不落盘),不造行级作者位;assistant / toolResult 行不读。
|
|
259
|
+
- chrome 臂 `HumanInputChromeEvent` 多三只可选位 `authorUnreadable` / `runOrigin` / `runOriginUnreadable`(缺席语义见 §139 AUb)。公面名零增减。
|
|
260
|
+
- **workflow run 读面体的终局读数 `workflowRunTerminalReadingOf(body)` + 型 `WorkflowRunTerminalReading`**(CC-1197;**§139 WF-1**;型面加性:根入口运行期 +1、型 +1):读 `GET /v1/workflows/:id` 的 200 体(入口一次采样,只读自有数据位,取值器不执行,永不抛),闭集 —— `{ state: 'running' }` · `{ state: 'awaiting approval' }`(停驻收束:`failed` + 引擎停驻码,与 fleet 显示判官同一判法;不是失败)· `{ state: 'completed' | 'failed', result?, error?, pointer: 'absent' }` · `{ state: 'unknown', why: 'body_unreadable' | 'status_unreadable' | 'status_unrecognized' }`。终局词表与 `workflow_complete` 臂同一只(completed / failed);表外词(含 `killed` / `parked`)读不出,不编终局;读不出不是「还在跑」。`result` = 读面的脚本返回值(非空自有数据串才带);`error` = 失败 run 读面上脚本抛出的错误(只在 `failed` 上读,非空自有数据串才带,过呈前出口并封长 200 码元);`pointer` 恒 `'absent'`:读面不投全文取件位,也不投完成 id。
|
|
261
|
+
- **看守 workflow 半场的读面注入口 `installWorkflowRunReader(reader)` + 型 `WorkflowRunReader`**(**§139 WF-2**):宿主交 `(runId) => Promise<unknown>`,答的就是 `workflows.get` 的原体;终局判定与模型面正文都在包里。传 `null` 卸下。
|
|
262
|
+
- **请求成员「本版读者读不出、而本部署本会采纳」的拒:读口 `unreadRequestMembersFromError(err)` + 句口 `unreadRequestMembersContent(detail, lang?)`(型 `UnreadRequestMembersDetail` / `UnreadRequestMembersFace`)**(CC-1368;**§139 S7147-2**;型面加性:根入口运行期 +2〔公开导出 2229 → 2231〕、型 +2;服务端 ≥ 7.147.0):服务端 7.147.0 起请求里有它的读者读不出的成员(`settings.hooks` / `settings.env` / 其余设置键 / MCP 服务传输 / A2A 对端头)而部署本会采纳它时,新提交答 `400 request.field_invalid`(目前只有 `settings.env` 有成员不是帽内的串走到这一拒),续跑四门(决断 / 唤醒 / 续跑 / 计划审阅)与终态 run 的 steer 铸唤醒卡之前答 `409 resume_blocked_by_policy` + `blockedBy: request.field_invalid`,体上机读位只有 `field` = 第一个读不出的坐标(修前服务端丢掉这些成员照跑、只留一行运维日志)。读口按码(折叠形按 `blockedBy`)+ `field` 坐标前缀认,读出 `{ code, field, face, folded? }`,`face` ∈ `settings_hooks` / `settings_env` / `settings_other` / `mcp_transport` / `a2a_headers`;带 `reason`(帽的拒)/ `detail`(hooks 条目拒)/ 别的 `field` 的同码拒不认领,与帽拒 / hooks 条目拒 / 凭据拒 / 会话 id 读口互斥。句口五面各一句、新提交 / 折叠形各一句(en / zh),坐标过句内引法,零机器码、零值,补充句角色 `replacement`。缺席语义:读不出 ⇒ `null`(走通用拒绝路径,服务端原句),不猜面、不编坐标。
|
|
263
|
+
- **审批卡请求 `ApprovalCardRequest` 与卡事实多一只可选位 `inputSource?: ApprovalInputSource`(`'record'` | `'stream'`):卡上入参取自哪一份;座位请求 `ToolPermissionRequest` 同名位随过境口上座**(CC-1366;**§139 IS-1 – IS-5**;型面加性 + 🔴 公面常量值变:`TOOL_PERMISSION_REQUEST_KEYS` 22 → 23,新位在末;根入口多一个类型名 `ApprovalInputSource`,运行期导出名册零变):卡入参的唯一读法(两腿共用)在两份里挑 —— 记录侧(引擎待决行 `input` / 活卡帧 `args`)优先,记录侧超限 / 缺席而事件流上有 `tool_start.args`(模型的原始调用,引擎在钩子之前发)时回落到流上那份;修前这个挑选结果只有散文句和"入参不可得"位在说,宿主无从机器判断"卡上入参是不是钩子改写之前的那份"(终端的 `-p` 车道据此按对象身份猜,把钩子改写过的入参放行了)。今天:位在场 ⇒ `'record'`(取自记录侧;与 `argsRewritten` 正交,可并存)或 `'stream'`(回落到流上的对象);读不出 / 无入参(`{}` 占位、从问句解出的 path)/ 悬挂盲卡 ⇒ **键不落**,缺席不是 `'record'`。两只铸点同一个映射:耐久停驻腿与活卡投影核(活卡入口三种开卡帧 + 四只纯投影出口)只经卡入参读法的读数落位,**不抄载体上的同名键**(游离键不当证据);入参回落逻辑本身(`args` / `wireNote` / `argsUnavailable` / 编辑闸)一格不改。不上 wire、不参与裁决。座位面:过境口 `toolPermissionRequestAskBits` 抄卡上已铸的位(自有数据位、闭集两词精确字节,其余 / 取值器 / 原型链 / 抛 ⇒ 键不落),不重判来源,原始帧 / 原始待决行(自有键 `riskDescriptor` 一律不读)直交恒缺席;座位校验器不校(覆盖表豁免 +1 行,带成文理由)。
|
|
264
|
+
- **推送结果的行位句口 `sessionPushRowBitsNotice(result, lang?)` + 词表型 `PushRowBitsWord`**(CC-1376 ⑥;**§139 PK-6**;型面加性:根入口运行期 +1、型 +1;消息目录 +1 键 `session.sync.pushRowBitsWriterSide`,en / zh):类型包 37.0.0 的推送编排在目的端是只读镜像(会话行 `PATCH` 得 409 `conflict.session_mirror`)时不再抛,结果面 `rowBits: "writer_side"`、`pushed: true`。本口只对这一词出一句(「已推送 · 目的端是只读镜像,标题与置顶归写入它的那一端,这一次没在目的端改」),`mirrored` / `unsupported` / `absent`、表外词、位缺席(推送没搬完 / 老一代类型包)都不说;读法与同模块「文件历史没搬」同律(自有键 + 普通取值,原型链上的词不算,读就抛 ⇒ 不说、不外抛)。词表型 = 类型包 `RowBitsOutcome` 的派生 `RowBitsOutcome | 'writer_side'`(后半是给 36.x 及以前三词那几代的过渡臂,peer 地板越过 37.0.0 之后的下一个本包版本删;退役登记 RL-13763),与类型包 37.0.0 两向编译期钉。
|
|
265
|
+
- **会话箱车道三载体的投影:车道闭集第四员 `inbox_notice`(`PEER_FRAME_LANES` 3 → 4 员)+ 收件箱计数帧 `InboxNoticeFrame` + 回执 / 空闲通告的 typed 正体 `PeerNoticeFacts`(读侧记 `_sema_provenance.peerMeta.notice`)+ 加性 chrome 臂 `session_box_notice` + 用户面句口 `sessionBoxNoticeSentence(臂, lang?)` / 臂主体 `sessionBoxNoticeOf`**(CC-138;**§139 SB-1 – SB-11**;加性 + 型面加宽:`PeerFrameProjection` 联合 +1 成员、`ChromeEvent` / `ChromeArmKind` / `ChromeEventKind` 各 +1 成员、座位词表 18 → 19 词、根入口运行期 +2、消息目录 +21 键;行为变:服务端 ≥ 7.147.0 上收件箱通告帧由通用卡改为一行纯英文计数转录行 + 一只臂,收件箱通告的去重键带 run 身份):服务端 7.147.0(类型包 37.0.0)把引擎会话箱车道的三只载体与归因侧记投到 `task_notification` 帧上。三载体与侧记的读法仍只在 `classifyPeerNotification` 一处(先在场的载体定车道,优先序 `agentMessage` → `crossSessionMessage` → `crossSessionNotice` → `inboxNotice`;侧记 `kind` 对不上 ⇒ 退通用卡、不穿透)。收件箱:`pending` / `delivered` 必有且为非负整数,形不合 ⇒ 整帧不投影(不合成 0);`urgent` / `resupplied` 缺席 = 引擎没说(键不在、句子不带括号段,不渲 0);`box` 不投。回执 / 空闲通告:状态词只从侧记 `peerMeta.notice` 读,**侧记缺席 ⇒ 整臂缺席、不铸状态词**(载体 `text` 是写给模型的句子,不反推);标签 / 说明位过展示洗法并封长。用户面句子由包从 typed 事实铸(目录键族 `notice.sessionBox.*`,中英两语同键):「N cross-session messages waiting (M urgent) (resupplied K)」、投递回执七词、空闲通告四词,词表外状态词落中性句、不回显词,对端标签缺席 ⇒ another session。臂在伴随的转录行之前同拍发,`rowUuid` 指向那一行(接臂的宿主据此摘行,不接的宿主照渲转录行)。去重:收件箱 `seq` 每个 run 从 1 起,修前同一适配器实例上第二个 run 的第一条通告被当作重放吞掉;现在这条车道的键带 `eventId`(在场)或投影序号,别的车道不变。补投标注只落在收件箱那一行的 `(resupplied K)`(类型包仅此一位有型面),不新增臂。
|
|
266
|
+
|
|
267
|
+
### Changed
|
|
268
|
+
- **失败呈现的停驻臂按因分句**(CC-877;**§139 RE-3**;行为变,**文字**;类别 / 重试判决 / 机读位不变):`turnFailurePresentation` 判到「流在没到终帧处断了」(`kind: 'stream-ended-without-terminal'`)时,头句按 `streamEndedReasonOf(err)` 选 —— `empty_legs` ⇒ 新句 `notice.streamEnded.emptyLegs.headline`(连着两次什么都没收到,多半停驻在等决断);`consecutive_failures` ⇒ 新句 `notice.streamEnded.consecutiveFailures.headline`(事件流一直没有进展、客户端已不再重新打开它;**不断言停驻**,指去查 run 的状态或重新接上);读不出因(单参老形 / 表外词 / 访问器 / 重建形无因)⇒ 沿用不带因的 `notice.failure.headline.parked` 那一句,字节不变、不编因。类别仍 `parked`、`retry.offer` 仍 `false`(两因都是结局未知,不给原样重发)、`detail` 仍是类型包固定句。目录 +2 键(en / zh),术语槽登记。
|
|
269
|
+
- **判型谓词 `isStreamEndedWithoutTerminalError` 改为按因读口的派生口**(CC-877;**§139 RE-4**;公面零变、答案对所有入参逐位不变):不再自带读法 —— 答案 = 按因读口「读数不是 `not_this_class`」;判类读法(instanceof + 自有数据位 `name`)在源码里只剩 `isStreamEndedClass` 一处。三端调用点零改。
|
|
270
|
+
- **MCP 重拨判决句口扩到九档:`ok` 的五形结果句与 `unsettled` 一句迁进消息目录;`invalid` / `not_running` 两句按真语义改口**(CC-1349;**§139 MR-1 / MR-3 / MR-5**;行为变:文字;型面:`mcpReconnectOutcomeDetail` 末位多一只可选 `lang`、旧调用源码兼容):`mcpReconnectOutcomeDetail` 里的五句结果句与常量 `MCP_RECONNECT_UNSETTLED_NOTICE` 此前散在源码里(英文字面、不随 `lang`),中文界面上这两档是英文。现在句子住在消息目录(`session.mcpReconnect.accepted.one` / `.other` · `.refused.untouched` / `.noTools` / `.listed.one` / `.listed.other` · `.undeclared` · `.unsettled` · `.reasonTail`,en / zh 同批),`mcpReconnectOutcomeDetail(view, lang?)` 与判决句口 `mcpReconnectVerdictDetail` 的 `ok` 档走同一铸点,`unsettled` 档与常量读同一个键;英文逐字节不变(缺省 `lang` = 数据面英文,常量值不变、声明型由字面串类型变为 `string`)。两句改口:`invalid` 一档同时落「引擎答 422(名字缺席或非串)」与「本地体门没发请求(会话 id 或名字不合契约)」,旧句说「引擎拒了」对后一种是假话 ⇒ 只说请求不合规;`not_running` 一码落四种不活跃形(停在待决 / 已终态 / 活在他副本 / 本副本无活流),旧句说「没有正在跑的任务、下一轮再连」对「活在别处」是假话 ⇒ 只说此刻这台引擎上没有这只会话存活的任务,并说之后启动或恢复的任务会重连声明的服务器。成文改口清单见接入文档 **§139 MR-5**(清单在 139-MRe)。
|
|
271
|
+
- **展示出口:方案词 `Bearer` / `Basic` 紧贴值、中间没有分隔的粘连形进凭据词级面的射程**(CC-1282;**§139 SA-1 – SA-4**;🔴 行为变,只多遮:在包,零型变、零公面变、零 wire 键、零选项值):修前这一形(`Bearer<值>`)两张网都不认 —— 方案词网与名字读者都要一枚分隔 —— 只有足够随机的整词被旧的不透明整词判据偶然接住;同一只值前夹一枚不可见字符时反而被遮(字符被读成分隔),遮不遮取决于看不见的字。现在一只粘连受理判据(八条款、读窗 96 字)回答「方案词在这里是不是一个整词」:地址形 / 已知凭据字面形起头 / 三类字符齐全的串受理,`.` `/` 起头、强头不足 8 位 / 弱头不足 20 位、首词是方案词放行词、以连接符或驼峰节起头的名字不受理;受理之后与带分隔的同形同一遍判(同一只值扫描、放行词 / 诊断词 / 标签值位 / 地址豁免照判,记号 `«redacted:secret»`、方案词留在记号外)。不可见字符在场时两读取并,只多遮。落地为展示出口规则阶梯上新的一阶:前两阶与上一版逐字节同。`Authorization: Bearer<地址>` 由露主机路径改为整值一枚记号(方案词在记号里,与标签值位上的其它粘连形同形);无标签的方案词紧贴带 query 的地址与带分隔的同形同字节(整段 query 连键名一枚记号);一只地址的 query 值 / 片段里的粘连形与上一版同字节(URL 结构面先遮);所列名字(英文派生词、驼峰 / 蛇形 / 短横名、路径与属性访问)逐字节不变,三类字符齐全的名字、缩写起头的名字与 20 位以上小写短语紧贴方案词时被遮(接受的多遮);`settingsCredentialKeyPaths` 对含粘连形的设置值多报。判官 `looksLikeKnownSecret` 不变。0.94.0「粘连形不在射程」一句由本条取代(§139 SA 成文改口)。值扫描(带分隔与粘连形共用的那一只)改为按位查表:停位与收尾反引号的走到位一遍建表、续扫结果每位至多算一次,一遍里全部起扫合计与串长线性;出口字节与逐字走法逐位同(CC-1298)。
|
|
272
|
+
- **型面加宽:`APPROVAL_NOT_SENT_CAUSES` 九词 → 十词(+`withdrawn`)**(CC-1313;**§139 PW-5**):`ApprovalResolutionNotSent` 多可选位 `toldBy: 'host'`(present-iff `withdrawn`),`rowVerdict` 的在场条件扩到 `row_unresumable` ∨ `withdrawn`;`approvalResolutionDetail` 对 `withdrawn` 答 `undefined`(宿主已说,包这里没有句);决断判官读它「还没了结」。对 `ApprovalNotSentCause` 做穷举 `switch` 带 `never` 兜底的端编译红,补一臂(不渲句)。
|
|
273
|
+
- **开流记录的重放诊断位与账本观看泵的「重放不是执行终局」改走包内唯一的重放读法**(CC-1314;**§139 DR-1 / DR-2**;行为变,只在「终帧只带 `result.replay: true`、帧上没有 `replay` 位」这一形;在包,零型变、零公面变、零新名):修前这两处各自按字面键直接读终帧上的 `replay` 位,不经唯一读法 `isReplayedTerminal`(帧位自有数据位 ∨ 体位,各自受保护读) —— 终帧只带体位(重放出口的形:同键命中一条已落行的 run)时,唯一读法答「是重放」,这两处答「不是」:送后台的观看泵会把这样一帧当成执行终局、落定「已完成」,开流记录的诊断位也记假。修后三处(结果帧出口 / 开流记录 / 观看泵)和提交编排口读同一个答案;帧位是自有访问器时仍不执行、当没有,帧上 `result` 取值器抛不外抛。送后台的判序、交接与停止口不读这一位(它只作诊断),观看泵之外零变化。
|
|
274
|
+
- **唯一读法里「帧位」这一步登记退役,本版不删**(CC-1314;**§139 DR-3**;零行为变;退役登记 RL-13140):提交面在服务端 7.125.0 – 7.147.x 上有两条腿 —— 在飞合流与并发去重 —— 的 `done.result` 是原样透传的结局,体上没有 `replay`,终帧的 `replay` 位是这两条腿唯一的重放证据(夹具实读,门 done-replay-single-source F2);服务端 7.148.0 起终帧位与体位恒同值、7.149.0 起退役终帧位,到那时唯一读法只需读体位。本版支持底线是服务端 7.139.0,这一步删早了会让底线以内的这两条腿读不到重放(结果帧少 `_sema_replay`、少一条 `result_replayed`、`SubmitStreamReading.replay` 读 `false`),所以挂在支持底线上:底线越过 7.148.0 之后的下一个本包版本删去,由退役登记门到期强制。
|
|
275
|
+
- **「为什么问」两位的读点收成一只**(CC-1316;**§139 PR-3**;零型变、零公面变、行为零变):`askProbeReasonDetail` 修前自己读两位;现在句口与过境口经包内同一只读点。判法与读序一字未改,同一张卡交句口、或铸成座位请求再交句口,答案逐字节同。
|
|
276
|
+
- **成文改口(§139 PRd)**:接入文档 §117(0.91.0)里「`probeReason`……不进座位过境口」的末半句作废,过境口把它与 `probeCause` 原样过境到座位请求同名位;前半句不变(展示 / 分诊元数据,永不是裁决输入)。
|
|
277
|
+
- **接入文档成文改口**(CC-1319;**§139 MVd**;零代码改动):§130 的桌面装载段改为「engine 侧只读 + 渲染,surface 侧不在桌面射程」—— 内核契约 8 起(开发依赖内核 7.66.0 实读)surface 侧 37 行事件、其中 24 行有站,全是终端壳形事件,两侧共有的只有 `plugin.register` 一行,「内核契约 2 下 surface 唯一有站 = `plugin.register`」不再成立;同形的四处(进程内被拒卡判据格、`ui.toast` / `ui.log` 行的理由、装载座位行的桌面列、包侧缺口一条)与 §132 能力位 `modsDeploymentPackages` 行的处置一并改口。
|
|
278
|
+
- **派发前重判 `refilterHostSettings` 对 `settings.env` 只能更紧**(CC-1322;**§139 HE-4**;行为变,只在请求带这一键时):只留「hooks 取交之后要带的 http 条目名集里」∧「此刻的产物也带」的名(此刻那一行漏接 ⇒ 只按名集);值不换;剩空 ⇒ 整键删;请求上那一份不是普通记录 ⇒ 拒发(与 hooks 那一份判不清同一句)。请求不带这一键 ⇒ 与上一版逐字节同。
|
|
279
|
+
- **装配口收产物的自洽判多一条**(CC-1322;**§139 HE-5**):要带的 `settings.env` 只许是要带的 hooks 名集里的名、值是串、非空;拼装 / 克隆的产物多带一个名 ⇒ 按产物坏形拒(克隆的自洽产物照收)。
|
|
280
|
+
- **成文改口(§139 HEd)**:§138 SP-5a「本包不铸 `settings.env`(零铸点)」自本版起作废 → 本包铸点恰一只(宿主自供项入口)。
|
|
281
|
+
- **成文改口(§139 RBd)**:接入文档 §132 SV-7 与包侧缺口 ㉗、§133 处置表里「`requestedBy` 不上卡入参」、本文件 0.104.0 CC-1089 条的「卡上不显示(本版只追平键镜像)」作废,自本版起活卡帧与呈卡帧两处顶层的 `requestedBy` 上卡;§137 AR 子节「`approvalAskReasonsOf` 不上根入口」作废。已发段字节不动。
|
|
282
|
+
- **自我认知块借道臂不再整只覆盖请求上的 `settings.outputStyle`:合并,合超服务端上限不发超限体并说一句**(CC-1339;桌面端 [C758] ② (b);**§139 SK-1 – SK-3**;🔴 行为变,在包;零型变〔除上两条加性〕):修前引擎不认一等位 `appendSystemPrompt`(能力位为假)时,`applyLiveRequestDefaults` 把知识块整只赋给 `settings.outputStyle`,请求上本来带的用户风格正文被顶掉、没有任何一句话(终端在壳侧先合并所以没踩到;桌面端 / 网页端交纯知识块即踩)。现在:值 = 知识块 + `\n\n` + 用户正文(知识块恒前,与终端壳、服务端拼接序同;正文原串不修剪,`settings` 里别的键与键序不动);幂等两臂 —— 正文已以知识块打头(把产出再喂一遍)⇒ 正文,知识块已以正文收尾(壳侧预合并,终端现状)⇒ 知识块原字节;无用户正文 ⇒ 知识块原字节(与修前逐字节同)。合并值超 16384 个 UTF-16 码元(服务端 `settings.outputStyle` 上限,同尺)⇒ 不发超限体:分得开且块自己不超限 ⇒ 只发知识块,否则整键不落,都产一句 `HS-STYLE-OVERSIZE`;正文位读不成文本(取值器零执行 / 只在原型链上 / 非串)⇒ 知识块原字节 + `HS-STYLE-UNREADABLE`,从不盲并。服务端 7.149.0 起丢弃走可见通告帧(带限额与实长),本包在发之前先守;读口到货随提货批。🔴 超限体不再到服务端 ⇒ 服务端那一帧也不会为这一发出,要让用户看到那一句,宿主须换调第二扇门并渲 `notices`(仍调原口的端,超限的风格丢失对用户不可见)。一等位臂同律见下一条(CC-1350;**§139 SK-7**)。
|
|
283
|
+
- **自我认知块一等位臂(能力位为真)同借道臂一条合并律:合并请求顶层已有的 `appendSystemPrompt`,不再整只赋值**(CC-1350;**§139 SK-7**;🔴 行为变,在包;零型变、零公面变):CC-1339 只修了借道臂 —— 引擎认一等位 `appendSystemPrompt`(能力位为真)时,`applyLiveRequestDefaults` 仍把宿主交的 `forAppend` 整只赋给请求顶层 `appendSystemPrompt`,请求上本来带的用户正文被顶掉、没有任何一句话(终端在壳侧先合并所以没踩到;桌面端 / 网页端交纯知识块即踩)。现在两臂走**同一只判法**(包内唯一,不另写第二份):值 = 知识块 + `\n\n` + 用户正文(知识块恒前;正文原串不修剪,键序不动,`settings` 一字不碰);幂等两臂 —— 正文已以知识块打头(把产出再喂一遍)⇒ 正文,知识块已以正文收尾(壳侧预合并,终端现状)⇒ 知识块原字节;无用户正文 ⇒ 知识块原字节(与修前逐字节同)。合并值超 16384 个 UTF-16 码元(服务端 `appendSystemPrompt` 的字符上限,与 `settings.outputStyle` 同数,同一份包内常量)⇒ 不发超限体:分得开且块自己不超限 ⇒ 只发知识块,否则请求体上的 `appendSystemPrompt` 键不落,都产一句 `HS-STYLE-OVERSIZE`;正文位读不成文本(取值器 / 只在原型链上 / 非串)⇒ 知识块原字节 + `HS-STYLE-UNREADABLE`,从不盲并。两句通告沿用借道臂的同一对(同 id / plane / 目录句,不另铸),经第二扇门 `applyLiveRequestDefaultsWithNotices` 的 `notices` 取;仍调原口的端,这一发的丢弃对用户不可见。
|
|
284
|
+
- **请求体 `settings.hooks` 只带引擎属主事件**(CC-1335;**§139 HK-1 – HK-3**;🔴 行为变,**只少发**;零型变、零公面变):hook 事件有属主 —— 引擎点亮九个(`ENGINE_FIRED_HOOK_EVENTS`),其余事件(`SessionStart` / `Notification` / `PermissionDenied` …)只能由端自己跑。修前设置来源的逐层合并只对引擎事件做执行者判定,壳属主事件上的条目原样并进合并体,每回合照样上 `settings.hooks`(服务端受理、不挂、只记 debug)。现在壳属主事件不进合并体、不进请求体:五个设置层(托管 / 用户 / 项目 / 本地 / flag)× 全部壳属主事件逐格零出现,引擎九事件照投、旁边的引擎组不受影响;设置里只写了壳属主事件 ⇒ 计划 `wire` 缺席(与「没有 hooks」同),请求体 `settings` 上无 `hooks` 键(不发空对象)。判决面不变:拿掉行(`settingsDropped`,壳事件上 `notRun` 恒假)、执行者判定 / 排除行、插件判定行(端报了 ⇒ `shell` / `shell_event`,没报 ⇒ `not_run` / `no_executor`)、开机清单与修前逐行同。「条目被动了」的副产物只数真在请求体上的条目:手写 `plugin` 键的剥键计数、同键去重计数、http 名单拿掉行(`httpPolicyDrops`)不再为壳属主事件产生(壳属主事件上的 http 条目不再在请求体上,名单由端自己的执行器过)。端本地执行器读自己的设置、不读请求体,跳过口 `settingsHooksKeptLocally` 对非引擎事件本就原样返回 ⇒ 端侧零改动。属主判法只一只(`isEngineFiredHookEvent`),设置来源与插件来源读同一张生成表。
|
|
285
|
+
- **会话规则撤销动词「放宽被拒」那一句按真语义改口,并收成消息目录单源**(CC-968;**§139 LS-1 – LS-4**;行为变:文字;型面加性:`MessageKey` +2):`sessionPolicyRemovalNotice` 的 `loosen_forbidden` 臂修前写「这台引擎上只有运营方能从会话规则记录里删条目」(英文整句裸写在出句口里、没有中文;另有「部署没有运维方」一形住目录)。服务端 ≥ 7.135.0 / 引擎 ≥ 7.55.0 起这句失实:非 operator 写的放宽门比的是行的 operator 部分(`StoredSessionRules.operatorRules`;缺席 = 整行归 operator),**属主收得回自己加的条目**,收不回 operator 写下的那一部分(operator 写一次就把整行变成 operator 的;7.135.0 之前存下的行没有这一部分、整行归 operator);拒码 `loosen_forbidden`(403)不变,拒句随版换(7.134.x 及以前「只许收紧」→ 7.135.0 起「不得放宽 operator 写下的」),类型包契约原话「只按码读」。本包支持底线(服务端 7.139.0 / 引擎 7.60.0)在这条代际线之上 ⇒ 范围内只有这一代语义、一句话:不按版本分句、不读引擎句子、不留成文例外。改后的句子(英,逐字):The engine refused to take these entries out of this session’s rule record, so the record is unchanged: it counts at least one of them as written by an operator rather than added by the session’s owner, and an owner can take back only the entries the owner added. Ask an operator to remove them, or continue in a new session.(部署没有运维方 ⇒ 尾巴换成「This deployment has no operator to remove them. Continue in a new session.」)。「为什么」只住目录词干 `rules.sessionPolicy.remove.loosenForbiddenStem`(en / zh),两条尾巴 —— 新键 `rules.sessionPolicy.remove.loosenForbidden` 与既有键 `rules.sessionPolicy.deployment.noOperator.removeLoosenForbidden`(值现在带 `{stem}`)—— 嵌套引它。`sessionPolicyRemovalNotice` 签名不变、仍出数据面英文,条目原串与引擎原文仍不进句子;要中文的端按目录渲:`renderMessage(msg(key, { stem: msg('rules.sessionPolicy.remove.loosenForbiddenStem') }), 'zh')`。其余各臂的句子逐字节不变;收紧写口的 `rules.sessionPolicy.tighten.loosenForbidden`(收紧动词自己的拒句)本版不动。
|
|
286
|
+
- **活卡答复口与发送机审批族对赎回回放形读首决**(CC-1331;**§139 SL-5**;行为变:只在赎回回放形上):`surfaceToolApprovalFrameAndRespond` 对回放体的三处判处(首决回放臂 / 赎回回放形 / 读不全的回放兜底)共用一只结局铸口 —— 落定的决断词 = 首决,多带 `settledElsewhere`;赎回回放形读得全时结局还带 `ack`(赎回臂视图)。`sendHitlDecision` 审批族对赎回回放形的 `settled_elsewhere` 由「只说早已决」变成带首决与 `contrary`(与首决回放臂同一件事一条读法;`hitlDecisionOutcomeContent` 对相反的赎回回放出句)。**非回放形一字不动**:applied 臂、赎回臂首赎回形(这一发就是赎回那一发,决断词 = 发出去的那一词,结局仍无 ack)、void、空对象、停驻、抛错的结局键集与修前逐字同;规则存没存上读口 `readRulePersistOutcome` 对赎回臂仍答 `unknown`。
|
|
287
|
+
- **发送机结局句口与座位句口共用一只句口函数**(CC-1331;**§139 SL-3**;字节不变):「这一请求已在别处被答成相反的决定,你的那一个没生效」两句的唯一引用点;`hitlDecisionOutcomeContent` 输出与上一版逐字节同。
|
|
288
|
+
- **`settingsHooksKeptLocally` 在关腿计划上一律答 `[]`**(CC-881;**§139 HC-1**;🔴 行为变,**收紧方向**;零型变):修前对 `closedBy` 为 `workspace_untrusted` / `governance_unreadable` / `policy_disable_all` 的计划按「读不懂、宁可多跑」原样交回全部条目 —— 非引擎事件、没带来源的组、压缩没压的分支都走不到按层判 ⇒ 托管策略读不出 / 工作区未受信 / 托管关停的回合里,设置来源 hooks 仍由本端全跑,与「治理读不出一律按限制处置」相反。现在先读 `closedBy`,在场而非 `null` / `undefined` 即关(含读不出的在场值:访问器不执行、只在原型链上、读描述符就抛的代理、集外词 ⇒ 按关);缺席 / `null` ⇒ 不变;计划整体不是对象 ⇒ 沿用既有「读不懂、原样交回」。
|
|
289
|
+
- **关腿计划逐来源逐条填 `settingsDropped`**(CC-881;**§139 HC-3**;🔴 行为变;零型变):修前整腿关(三词任一)的计划 `settingsDropped` 恒空,壳无从逐来源说「为什么不跑」。现在五层文档里每只条目一行 `{ source, event, groupIndex, hookIndex, reason: <closedBy>, notRun: true }`,下标指原文;读的是宿主设置源那一次读成的快照文档(捕获不过的层整层按没有处理,零行),形不对的件(非数组 / 非对象)只认形跳过。整腿没关 ⇒ 不出现这三词的行。
|
|
290
|
+
- **`hooksNotRunNotice(plan)` 对 `governance_unreadable` 关腿逐「来源 × 依据」说一句**(CC-881;**§139 HC-4**;行为变):`policy_disable_all` 仍恰一句原因句(不变)、`workspace_untrusted` 仍不借清单(信任步骤是它自己的面)。
|
|
291
|
+
- **🔴 peer `@sema-agent/sdk` 地板 `>=23.1.0` → `>=25.0.0`;支持底线 `SUPPORT_FLOOR.sdk` 同为 `25.0.0`**(CC-1342;**§139 SF-1**;三端升级必读 ①;裁定候 [13520]):0.109.0 的运行期入口静态导入 sdk 的消卡帧窄化谓词 `isApprovalCompleteFrameV1`(sdk 25.0.0 起才有的运行期导出),而 peer 地板写 `>=23.1.0` ⇒ 装 sdk 23.x / 24.x 的消费方 import 本包根入口即抛 SyntaxError(消费方实测)。收口 = 抬地板,不为 23.x / 24.x 养一条「缺席 ⇒ 旧族判法」的兼容臂:支持底线的服务端 7.139.0 锁步的 sdk 本就在 25.0.0 之上,低于 25.0.0 的地板没有任何支持范围内的部署能用,它只是一句失实的承诺。**要做什么**:钉 sdk 23.x / 24.x 的端把 sdk 升到 `>=25.0.0`(本包开发依赖是 `^35.0.0`;25.0.0 起的见证集〔25.0.0 / 26.1.0 / 30.0.0 – 34.0.0 与开发依赖 35.x〕逐份编译、逐份加载);已在 sdk ≥ 25 的端零动作。公面运行期导出名与型名零变。
|
|
292
|
+
- **同名型 `BrainStatusPhase` 改为再导出 sdk 的同名型**(CC-589 / CC-1324;**§139 SF-3**;型面同词):peer 地板越过 sdk 24.0.0(那一版把相位词补到第七词 `waiting_first_token`)之后,sdk 的同名型与本包自有的七词联合恒等,自有那一份不再有存在理由;本包根入口的 `BrainStatusPhase` 现在就是 sdk 那一只(装 sdk ≥ 25 的端看到的取值集不变:七词),运行期值表 `BRAIN_STATUS_PHASES` 不变,与 sdk 型两向编译钉。同名影子豁免登记表的 `BrainStatusPhase` 一行随之删。
|
|
293
|
+
- **协议类名读口只剩三态,真 sdk 错误实例的自有数据位 `name` 与重建形同权**(RL-167;**§139 SF-2a**;🔴 行为变,包内读口、公面零变;三端升级必读 ②):sdk 24.0.0 起错误类的实例 `name` 是字面赋值 `name = "<字面类名>"`(压缩器不改写),0.98.0 – 0.109.x 那道「真实例一律不读名字、只认机读码 / 状态码」的挡板(`isSdkErrorInstance`)与读数第四态 `sdk-instance` 的前提(实例 `name` 取 `new.target.name`、压缩包里被改写)在支持范围内不再成立,随地板抬升退出。修后:机读码 / 状态码被剥掉的 sdk 真实例(码与状态都读成空的那一形)也按自有数据位上的字面协议名认族 —— 与「字面重建形」同一条读法,三个 bundle(不压缩 / 压缩 / 压缩加保名)读数逐位同;自有访问器 / 读描述符抛 ⇒ 读不出、原型链上的名字 ⇒ 缺席,不变。工具审批决断腿的安全停判官同批删「像 sdk 实例而无机读码 ⇒ 身份确认不了」一支:修前,结构上像 sdk 实例而没有机读码的抛出物一律按「不确定」处置(不进瞬断重试、原错上抛);修后按正面证据判 —— 码或自有数据位上的名字任一指向绑定不符族 ⇒ 铸安全停(不变),两者都没有而码读不出 ⇒ 仍按「不确定」(不变),两者都没有而码读得到「没有」⇒ 照常交瞬断分诊。`extra` 快照读口上的 `sdkInstance` 位与协议名读口的第二参随之退出(非公面)。
|
|
294
|
+
- **探针落笔:`no_reasoning` 不再写 `reasoning:false`,原样退回同一只条目**(CC-778;**§139 MC-3**;🔴 行为变,在包;零型变、零公面变):`applyProbeToEntry` 是本包唯一把探测结论写进目录条目的口。声明层的 `reasoning` 是三态(显式 `true` / 显式 `false` / 缺席 = 未声明),`false` 的意思是「永远不要对它发思考键」;而 `no_reasoning` 的证据只是「第一发没带任何思考旋钮、网关也没吐思考通道」—— 只在被要求时才思考的模型、思考不回传通道的网关同样答出这一形。修前把这一次测量写成了声明(缺席被折成声明为否)。现在 `no_reasoning` 与 `inconclusive` 同纪律:`===` 原样退回,缺席的条目保持缺席,条目上原有的显式声明(含显式 `false`)一个字节不动。**只有「见过思考」这一边落笔**(`disabled_via` / `cannot_disable` ⇒ `reasoning: true`,不变):那是正面证据,且引擎对「未声明」与「声明为否」都不发思考键 —— 包括关思考的那一组键,所以一台默认就在思考的网关不落 `true` 就永远关不掉。测量格 `ModelProbeResult.reasoning` 三态不变(`true` / `false` / 缺席),它是测量,不是声明。
|
|
295
|
+
- **看图位 / 推理位 / 档位读口 / 行视图读同一条折词口**(CC-778;**§139 MC-2**;零形变、零行为变):此前「布尔 ⇒ 三态词」的折法写了三份(看图位读口、档位读口的推理分支、行视图的 `typeof === 'boolean'`),现在都经一只包内折词口(只认严格布尔,其余一切 ⇒ `unknown`)。`liveModelRowsOf` 的 `reasoning` 位保持「yes / no 才带、`unknown` ⇒ 键缺席」,`effortLevelsOf` 的推理分支仍是 `not_clamped` / `not_applicable` / `unknown{reasoning_unreported}`;`LiveModelInfo` / `LiveModelRowView` 的头注写明三态。
|
|
296
|
+
- **编译期钉:引擎 `Model.reasoning` / `Model.input` 可选**(CC-778;**§139 MC-7**;零公面变):探针落笔口的条目型接得住引擎 `Model` 的推理位,且两位都可选 —— 上游把任一位改回必填,本包 tsc 当场红(红射程恰是「按 boolean 读这两位」的读点;本树清点:零处按 boolean 读)。
|
|
297
|
+
- **呈卡帧判因的读点收成一只:包内 `cardPayloadReadingOf`**(CC-1345;**§139 TP-3**;零型变、零公面变、行为零变):通用卡第一行「按因选句」(`approvalCardReasons` 的 `payload_unreadable` 行)修前自己读 `cardPayloadUnreadable` / `cardPayloadUnreadableWhy` 两格;现在这一行与座位过境口的 `frameReading` 经同一只读口,判法与读序一字未改(严格 `=== true` + 闭集三词精确字节),因此同一张卡上座位看到的因与卡面说的那句恒同源。
|
|
298
|
+
- **活卡入口对调用方交的 `run`(第六参)按自有数据位读**(CC-883;**§139 RI-2**;行为变,**收紧方向**;零型变、零公面变):`run.taskId` / `run.sessionId` 修前按普通属性读 —— 自有取值器会被执行,抛的代理让入口 reject。现在取值器不执行、只在原型链上的位不算、非串 / 空串 / 读抛 ⇒ 那一位缺席,卡照呈、决断照走;持有表身份与上卡的 `taskId` 吃入口读的同一份读数(此前身份函数自己读一遍)。交良构 `{ taskId, sessionId }` 对象的宿主逐位不变。
|
|
299
|
+
- **两条发送腿的编辑闸改读判口;底栏常量改由目录键派生**(CC-1306;**§139 ER-3**;行为零变):活卡帧腿与耐久停驻腿各在呈卡之前对自己铸的卡请求读一次判口、拿快照做闸(`state !== 'accepts'` 且答复是放行带改写 ⇒ 一个字节都不发,结局 `not_sent{edit_refused}`),修前两腿各自内联一份条件;宿主在卡期间改卡请求上的位改不了闸。`EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT` 字节与修前逐字相同,由同一目录键的英文派生,型由字面量型放宽为 `string`。
|
|
300
|
+
- **`human_input` 的 `author` 改闭集读;出身词 `runOrigin` 同族同口**(CC-1069;**§139 AU-1 / AU-2**;🔴 行为变,改口 0.109.0 §138 CP-4 的「开集原词」):一条输入有两件互不推导的事 —— 谁写的(`author`,引擎铸的闭集词,线上缺席 = 操作员)与从哪来(`runOrigin`,宿主声明的闭集词,今天 `scheduled`)。投影层与 chrome 臂(`HumanInputChromeEvent`)对两位同走**一只**读口:键不在 ⇒ 没说(两位都不铸,不补 `operator`、不落 `undefined` 键);在场且是引擎闭集成员 ⇒ 原字节上位;在场的其余一切(表外新词 / 大小写变体 / 带空白 / 空串 / 非串 / `null` / 访问器〔取值器不执行〕)⇒ 位缺席 + 读不出位 `authorUnreadable: true` / `runOriginUnreadable: true`,**不折 `operator`、不折别的词**。修前表外作者词原样上屏。词表来自构建期生成表(引擎包根 `INPUT_AUTHORS` 七词 / `RUN_ORIGINS` 一词),不手抄;`extension` 读法不变。
|
|
301
|
+
- **转录行侧挂键全集 `TRANSCRIPT_ROW_SIDECAR_KEYS` +2:`_sema_run_origin` / `_sema_run_origin_unreadable`**(CC-1069;**§139 AU-3**;加性,冻结表内容 +2、零型变、公面名零变):存档行投影的 `user` 行同批起带这两键,表按「本包加行键必同批入表」补登;按白名单重建转录行、展开本表的端零改码即保住这两键。
|
|
302
|
+
- **`memory.session_polluted` 通告句的开头句按引擎事实改口;外来串超长截断处带省略标记**(CC-1377;**§139 MX-1 / MX-2**;行为变:文字;零型变、零公面变、目录键不增减):引擎给会话的记忆打「暴露于外部」标时,只说明会话里有工具面能够到外部内容,不说明真收进过内容 —— 开头句由 `This session took in content from an outside source ({reason}).` / 「本会话收进了来自外部来源的内容({reason})。」改为 `Memory for this session is marked externally exposed ({reason}).` / 「本会话的记忆已标记为暴露于外部({reason})。」,后半句逐字节不变。`memorySessionPollutedSentence` / `memoryDelegationStaticMarkWaivedSentence` 的原因(封 200)与 `peerInboundDispositionSentence` 的成因全文(封 160)超长时,截断处接 `…`(整段仍不超过封长);不超长的逐字节不变。
|
|
303
|
+
- **轮询来路见终局 ⇒ 交一次完成**(**§139 WF-3**;🔴 行为变):看守每拍(节拍与两小时放弃上限不变)问读面口,读数为终局且这条 run 还没交过 ⇒ 经与 `enqueueEngineWorkflowNotification` 同一只入队内核(同一道 runId 门、同一构造口)入队一件 `{ taskId: runId, taskType: 'workflow', status, summary, result? }`;`summary` 是包句(只说「终局读自 run 记录、该记录没有全文手柄」),**不指任何取件工具**;事实不带 `completionId`(读面没有,不拿 runId 顶替)。推送先到 ⇒ 不再问读面口;探测在飞时推送到 ⇒ 探测回来即停、不碰入队内核;轮询先到 ⇒ 后到的补投帧 / 直调口被同一道门挡下,live 回声不渲第二行 —— 同一次完成只交一次。读面口答 `null` / 非对象 / 抛 / 超截止 ⇒ 本拍不交、不弃,两小时上限照旧走唯一放弃出口。停驻收束的 run(`awaiting approval`)轮询来路不替引擎交(怎么决定、怎么续只有引擎那条通知说得出),等推送。
|
|
304
|
+
- **停驻收束的判法收成一只**(**§139 WF-1**;零行为变):fleet 显示判官 `workflowRunDisplayStatusOf` 的停驻终态臂与新终局读口同读包内谓词(`failed` ∧ 引擎停驻码,逐字节),显示词逐词不变。
|
|
305
|
+
- **门夹具现役服务端 7.147.0:预发布构建 → 发布版(registry `dist.shasum` `31489264…`,`gitHead` `5cf53162…` = 服务端 tag v7.147.0)**(CC-1368;**§139 S7147-1 / S7147-5 / S7147-6**;门侧换钉,产品零改码):0.109.0 预提货读的是发布前的预发布构建(版本标签改作 7.147.0),两份在服务端有 91 个文件的差(引擎 7.65.0 / 设置契约 20.0.0 / 原语包逐字节同):发布版另带请求成员读不出的判据模块、续跑重述先盖再预判、allow 读法改按行的写者版本、钩子托管车道在任务座之下有部署链成员的站上只许收紧、会话属主等价律、存储迁移退役等,逐类对本包读点的处置见 S7147-1;wire 上新长出来的只有一件(见 Added 的请求成员读不出的拒)。**三端升级必读:服务端 ≥ 7.147.0 的执行车道值形为 `none`(零别名;之前 `in-process`)** —— 本包 0.107.0 起两词同臂(`none` 取自设置契约生成表,`in-process` 留读,退役登记 RL-11890),升级服务端不必升本包,本版逐处核对了五处读点(`/health` 无执行车道格 · `GET /v1/capabilities` 车道位 · 会话执行放置 `lane` · `exec_lane_selected` 不是 wire 面 · `executionLanes[]` 不是 wire 能力位),零改码;旧词一支随支持底线越过 7.147.0 删(本版底线 7.139.0 不动)。随包 wire 变更产物新增 79 条逐条对表:consumed 15 / declined 6 / pending 46 / zero 12(沿用 §138 SP 的包侧缺口号;补登 `memory.control_plane_links_unsupported` 为 zero)。
|
|
306
|
+
- **换钉类型包 `@sema-agent/sdk` 35.0.0 → 37.0.0(开发依赖;peer 地板 `>=25.0.0` 不动、支持底线声明不动)**(CC-1376;**§139 PK-1 – PK-9**):类型包本版八处破坏点逐条落点 —— ① `inheritEnv` 拒因闭集三词:本包读口读开集(退出的词原样过境、不折成别的拒因),请求字段拒因钉的「不读」词表仍留那一词作老一代见证兼容(退役登记 RL-13760:peer 地板越过 37.0.0 删)· ② `AssistantTaskStatus.taskId` 可缺席:本包读法随腿(抢占回体按「回显所问」读,不把它当必有串)· ③ 读流器错误类构造器多必给的耗尽因:本包零铸点,判类读法不变(按因读口与停驻臂按因分句见本版 RE 条:退役登记 RL-877 同版执行)· ④ `probeHealth` 选项袋:原样转口跟消费方那一代走;判活口改单参(见 Removed)· ⑤ `checkpoint.invalid_outcome` 落新类(见下一条,🔴 行为变)· ⑥ 推送结果行位 `writer_side`(见 Added)· ⑦ 规则导入回执 `refused` / `indeterminate` 两臂带 `reason` / `detail`:读口早已同一只行读法读这两位(0.109.0),本版换成对类型包声明的两向编译期钉 · ⑧ 赎回臂 `rememberApplied` 放宽成布尔(见下)。类型包本版在 `memory-status` 回体型上新声明的 `writeHome` / `planes` 本包不读,读数型 `MemoryStatusFacts` 一并剔掉(型面与上一版同,不多出两只永不在场的位)。地板以上的编译期钉新文件 `scripts/sdk-pins/37.0.0.ts`(不进构建、不进包)。
|
|
307
|
+
- **决断类续跑「这一行自己的拒」(`checkpoint.invalid_outcome`)读成行坏、不再铸绑定不符安全停**(CC-1376 ⑤;**§139 PK-5**;🔴 行为变,只在服务端 ≥ 7.147.0 上可达):服务端 7.147.0 起决断类续跑拒「任何门同码」—— 有决断成因的答成因码(绑定席 ⇒ `approval_binding_mismatch` + `field`),没有成因的(主形 = 这一行自己的拒,体顶层 `reason` 如 `requirements_damaged`)答引擎原码 `checkpoint.invalid_outcome`;类型包 37.0.0 把它落新类 `CheckpointInvalidOutcomeError`、不再落绑定不符类(按类读的代码无编译红、静默漏判)。本包按码读:① 决断拒收读数 `conflict` 读成 `row_integrity`(正证据律同旧:`reason` 在场 ∧ `field` 真缺席;码被剥掉、只剩新类字面名的重建形同读,字面类名表收 `CheckpointInvalidOutcomeError`)· ② 这一形拒体照带 `retriable: true`,但同一行再决同因再拒 ⇒ 不铸瞬时(`row_integrity` 与 `grant_changed` 同律,端不再按节奏再送同一决断)· ③ 工具审批决断腿的安全停判官不再收这一码:修前把它当绑定不符,抛 `HitlSafetyError('binding_mismatch')` 教宿主重取重呈(行自己的拒重取毫无用处);现在原抛出物上抛、恰一发(409 带状态码,不进瞬断重试)。真绑定不符(`approval_binding_mismatch`)照旧安全停。≤ 7.146.x 的服务端按门借码,这一码在支持范围内不原样到达那几代,读法照旧。跨类型包代一致:36.x 及以前的类型包把同一码铸成绑定不符类(名字是绑定类、码是这一码);安全停判官对「码读到且恰是 `checkpoint.invalid_outcome`」不把绑定类名当证据 —— 装老一代类型包的宿主上同一只答复同样原物上抛、读 `row_integrity`,不铸安全停(修前那一形照旧安全停,与分码读数两种说法)。只排除上游已改族的这一码,「码或名任一正面证据即安全停」的闭合失败总律不放宽:别的码配绑定类名、码被剥掉只剩绑定类名的重建形照旧安全停。
|
|
308
|
+
- **赎回臂读视图 `ToolApprovalRespondRedeemedView.rememberApplied` 由 `false` 放宽成 `boolean`**(CC-1376 ⑧;**§139 PK-8**;型面加宽 + 行为变:多读一形):服务端 ≥ 7.147.0 对停驻赎回的首次赎回体答赎回腿的真答(`true` = 腿记住了本会话放行;`false` = 只放行这一次;重放形不带本键;≤ 7.146.x 恒 `false`)。修前读口只收严格 `false`、把 `true` 当自相矛盾的形丢掉;现在按布尔读(非布尔 ⇒ 不带),「没记住」那一句的出句条件(严格 `false`)不变。读口返回型 `ToolApprovalRespondAckView` 由「类型包 respond 回执联合」改成「该联合 ∪ 本包赎回臂读视图」:peer 区间里 36.x 及以前的类型包把赎回臂这一位声明成只有 `false`,单靠类型包联合装不下 `true` 读数(37.0.0 上并进来的一臂与类型包赎回臂同形);peer 地板越过 37.0.0 之后的下一个本包版本回收成类型包联合本身(退役登记 RL-13762)。
|
|
309
|
+
|
|
310
|
+
- 🔴 **座位本机半边 `EngineTargetLocal.lifecycle` 改必选,不带它的宿主自写 `lastBootError` 那一臂删**(CC-1173;**§139 ES-1**;退役登记 RL-12679 执行;🔴 型面 BREAKING〔窄〕:`lifecycle?:` → `lifecycle:`;🔴 行为变:出站门拒不带 `lifecycle` 的本机半边):本机半边只剩一份事实 —— `lifecycle`;`lastBootError` 只由 `engineTargetLocalOf` 从它单向派生(在场 ⇔ 相位 `down`),不再有第二个写者。store `engineTargetStateStore` 的态判官对不带 `lifecycle` 的本机半边拒 —— 含 0.109.0 的最小形 `local: {}` 与只带自写 `lastBootError` 的旧宿主形 —— 拒因用既有的 `missing key`、`field` 为 `local.lifecycle`(不加新词);`engineTargetLocalOf` 坏形入参照旧回 `{}`(不编相位),交门即同一拒因。座位宿主须经 `localEngineSeatReadingOf` → `engineTargetLocalOf` 出本机半边:还没跑本机引擎状态机的宿主,本版起发布不了引擎目标态;`localEngineSeatReadingOf` 回 `undefined`(态坏形)⇒ 这一拍不发布。渲染端读法 `watchEngineTarget` 用同一只判官:渲染端升到本版而宿主仍发不带 `lifecycle` 的态 ⇒ 每拍 `malformed` —— 宿主须与渲染端同批或先升;读 `lastBootError` 的渲染照旧。
|
|
311
|
+
- **本机引擎空闲谓词的后台合取项 `bgLive` 与读数口 `fleetBackgroundLiveOf`:退役条件改按支持底线**(CC-1173;**§139 ES-2**;退役登记 RL-12674;零行为变):服务端 7.147.0 起活过父腿的后台子代计入 `/health.inflight`(分项 `inflightBreakdown.backgroundAgents`)。本包支持底线服务端仍是 7.139.0,7.139.x – 7.146.x 的引擎上空闲判定仍要第二读数 ⇒ 合取项与读数口本版照留、语义一字不变;支持底线越过服务端 7.147.0 之后的下一个本包版本删(型面 BREAKING,随 minor)。
|
|
312
|
+
|
|
313
|
+
### Deprecated
|
|
314
|
+
- `replayedApprovalClosesCardFrame`(CC-1332;**§139 DF-4**):旧并发期的宿主谓词 —— 「这一重放处置该让同一只问的呈卡族卡帧按已收口去重」。本包自己的帧腿已不再用它;终端删掉按它收口旧族已收口集的读点之后的下一个本包版本删(根入口运行期 −1,型面 BREAKING;退役登记 RL-13323)。
|
|
315
|
+
- `EnginePortFile` / `TOCConfig` / `EngineInstance`(CC-1173;**§139 ES-3**;0.109.0 起弃用):本版到期而**不删** —— 终端源码仍引用这三型;终端与桌面端删掉引用(改读宿主库的锚点型 / 本包注入面 / 本机引擎引用)之后的下一个本包版本删(公面删型,型面 BREAKING,随 minor;退役登记 RL-12675 / RL-12676 / RL-12677)。
|
|
316
|
+
|
|
317
|
+
### Removed
|
|
318
|
+
- **谓词 `isStreamEndedWithoutTerminalError` 自己的独立读法**(CC-877;**§139 RE-4**;退役登记 RL-877 执行,行挪进已退役栏;包内、公面零变):0.105.0 登记的「只答是不是这一类」的单一读法,退役条件(类型包声明 `reason` + `cause`)自类型包 37.0.0 起满足。退役形 = 谓词保留为派生口(调用点零改,读法只剩一只);要分两种耗尽的读 `streamEndedReasonOf`。
|
|
319
|
+
- **旧并发期的两条跨族关联臂退役**(CC-481 / CC-1332;**§139 DF-1 / DF-2**;行为变,只在支持底线以下的服务端上可达;无型面变化):服务端 7.133.0 起一条腿一个审批帧族(`GET /v1/capabilities` 顶层 `approvalFrameFamilies`),呈卡族上的 ask 不再并发发旧族帧;7.132.x 及以前同一只 ask 先发旧族 `tool_approval`、后发呈卡族 `approval_request`,两帧同带 `approvalId`。本包支持底线服务端 7.139.0,这一形在支持范围内不存在,为它专设的两处关联随之退役:① 问答桥帧腿把「重放回来的旧族账本帧」按待决清单判得「崩溃收敛」后,不再替「随后来的呈卡族卡帧」预记进程级已结表(`closed_by_engine`);回交宿主的处置照旧(`decided` 带成因词),同一帧再来按清单再判一次(修前被已结表短路成 `settled`);② 帧腿不再把开流 preamble 的呈卡族卡帧当作「同一 `approvalId` 的旧族账本帧此刻待决」的正面证据,账本帧一律读一次待决清单再判;帧腿的账本不再有「本段 preamble 集合」(记 / 读 / 换流清三个成员),呈卡族卡帧本身照常下游。**不退役**:进程级持有表与已结表的跨路去重(活卡 / 悬挂 ask / 停驻行 / 宿主问车道)、`claimApprovalCard` 登记动词、旧族活卡帧腿本身(服务端 `approvalFrameFamilies` 为 `["tool_approval"]` 的部署上它仍是唯一的开卡帧)、纯判定口 `replayedApprovalDisposition` 的 `basis.preamble`(宿主判自己的呈卡族账本卡帧用)。退役登记 RL-13321 / RL-13322。
|
|
320
|
+
- 座位契约「呈卡臂」义务句与 chrome 臂头注不再成文「同一只 ask 出两帧、先旧族后本帧、去重是宿主的动作」(**§139 DF-3**;成文改口):同一只审批从几条路到手的去重读法不变(开卡前调 `claimApprovalCard`),只去掉已不成立的前提。
|
|
321
|
+
- **四项到期过渡物退役**(CC-1342;**§139 SF-2**;包内、公面零变):`compaction_started` 帧的 switch 前类型守卫退出,回到 switch 里的一条 `case 'compaction_started'`,投影函数原样复用(RL-186)· 续跑启动失败成因的领先登记 `RESUME_CAUSE_CORE_AHEAD`(引擎词表比地板那一代 sdk 多出的词 `transcript_corrupt`)退出,`ParkedResumeStartupDetail.startupCause` 的型回到 sdk 闭集型 `ResumeStartupCause` 一臂,编译期钉由三向退两向(RL-188)· 地板以上的 sdk 钉文件 `scripts/sdk-pins/24.0.0.ts` 的十组编译期钉并回各自被守的读数形旁、钉助手型并进 `typePins.ts`,`mcpPanel.ts` 两只面板钉改直钉 `McpStatusPanelServed` / `McpStatusPanelRefused` 两臂(RL-187)· 协议类名读口第四态(RL-167,见上)。四行退役登记挪进已退役栏。
|
|
322
|
+
- 🔴 **`installWorkflowStatusProbe` 退役**(**§139 WF-2**;型面 BREAKING:根入口运行期 −1):旧口要宿主自己判终局、自己铸完成句(`{ terminal, status, summary }`),与新读口是同一问的两条读法;旧答形里「还在跑」那一形 `{ terminal: false, status: 'completed' }` 喂给新读口会被读成完成,所以换名而不是在原口改答形 —— 编译红即迁移点。
|
|
323
|
+
- **判活口 `probeEngineAlive` 的第二参 `timeoutMs`**(CC-1376 ④;**§139 PK-4**;🔴 型面 BREAKING,窄:两参调用编译红;运行期 `Function.length` 2 → 1;退役登记 RL-13761):类型包 37.0.0 起 `probeHealth` 第二参是选项袋 `{ timeoutMs?, token?, fetch? }`(零别名),36.x 及以前是位置数 —— peer 区间里同一个实参在两代上意思不同(37.0.0 上数会被当选项袋、静默落回缺省;36.x 上袋会被整只当毫秒数)。判活口只传 `baseUrl`:这一调用在区间内每一代上同义(预算 = 类型包缺省 2 s、匿名、全局 fetch)。判活只读 `status`,不带凭据;要带凭据读 `/health` 身份位的宿主经原样转口的 `probeHealth(baseUrl, { token })`(37.0.0 起)自己读。
|
|
324
|
+
|
|
325
|
+
### Fixed
|
|
326
|
+
- **宿主设置产物的输出风格键落风格正文、不再落风格名**(CC-1347;**§139 OB-1 – OB-6**;🔴 行为变,在包;零型变、零公面变):请求体 `settings.outputStyle` 的契约是风格**正文**(服务端把它原文追加进系统提示;顶层 `outputStyle` 只带名和每轮一句)。修前 `hostTurnSettings` 的输出风格臂把**名**当携带值、正文只留在产物的 `outputStyle` 事实里到不了请求体 —— 经产物装配的请求把 `Explanatory` / 自定风格名 / 内置 `default` 一词当提示词追加进系统提示,自定风格的正文从未送达。现在:宿主按名读到的正文是非空白串 ⇒ `settings.outputStyle` = 该正文**原串**(不修剪);正文为空串或全空白(内置 `default` 一类没有正文的风格)⇒ 整键不落、`settings` 空了整键不出,产物行为 `empty` / `nothing_to_carry`(修前 `carried` / `carry`),请求体与「没有风格源」的逐字节同。名与每轮一句仍在产物 `outputStyle` 事实里(正文为空的风格事实照给),顶层 `outputStyle { name, turnReminder? }` 座的喂法、见位才落、读不成正文不带 + 会话一句、安全模式不带、源 `none` 一字不变。本臂不判 `settings.outputStyle` 的服务端上限(包侧缺口)。
|
|
327
|
+
- **0.109.0 段「peer 地板 `>=23.1.0` 不变」一句失实(成文改口;已发段冻结、一字不碰,以本条为准)**(CC-1342;**§139 SF-1**):0.109.0 的运行期入口已静态导入 sdk 25.0.0 起才有的谓词,在 sdk 23.1.0 / 24.0.0 上 import 根入口即抛;0.110.0 起 peer 地板如实写 `>=25.0.0`。
|
|
328
|
+
- **后台子代的委派卡徽章在子代起跑之后仍停在「请求词 (requested)」,不翻成解析名**(CC-1358;**§139 BM-1 – BM-5**;型面:`EngineInlineTaskStats` 三计数位变可选〔读面型放宽,tick 入参不变〕+ 根入口运行期 +1 `publishEngineInlineTaskModel`;行为变:模型位粘性):后台运行的子代,委派卡在启动回执处就收口,父流收尾后 `task_progress` 可能永不到;起跑帧 `task_started` 带同一个解析名(`model`),包把它投成 chrome `subagent_started{model}`,但不写徽章台账 —— `getEngineInlineTaskStats(卡 id)?.model` 恒缺席,卡上渲「请求词」。本版解的是「起跑帧在父流收尾之前到达」的形;父流先于子代起跑收尾的形里起跑帧与进度帧都不上线,仍待上游在父流收尾后仍在的通道(fleet 任务行 / 启动回执 / 完成帧)带模型(§139 BM-5,同一写口接)。修:台账多一个**只写 model 位**的写口 `publishEngineInlineTaskModel(cardId, model)`,`task_started` 臂在三道门全过时调它(帧挂着委派卡 ∧ 非 workflow 车道 ∧ 那张卡不在开着 —— 开着的卡由自己的 tick 带 model;卡已收口 / 本实例没见过才写);子代 tail 的 `task_started` / `task_progress` 帧(修前整帧忽略,打开后台子代的查看态时徽章位仍缺席)走同一个写口;读法不变(`getEngineInlineTaskStats(卡 id)?.model` 仍是唯一一条),chrome 臂与转录面逐字节不变(零新 kind、零新 op)。只落过 model 的行**不带计数**(`toolUses` / `totalTokens` / `durationMs` / `currentAction` 键缺席,缺席 ≠ 0;型面上三计数位变可选,有 tick 的行三位恒在、字节与上一版同),`getSoleLiveEngineInlineTaskStats` 不返回、也不把它算进「≥2 在飞」。越过 settle:写口对已收口的行只改 model 位(`done` / `isError` / 计数原样,不重开行)。🔴 成文改口:模型位**粘性** —— 0.93.0 起「后一拍 tick 不带 `model` ⇒ 整条替换 ⇒ 该位消失」改为「不带 ⇒ 沿用已知值」(模型是这条腿预备时的静态事实,不是逐拍读数;带新值仍替换;空串不算报告;`currentAction` 与计数仍整拍替换)。门 `inline-task-model-slot`。
|
|
329
|
+
- **README 门清单里 `run-server-7137-pick-projection-test.mjs` 一行对计划审阅决断体 `checkpointId` 的说法订正**(CC-1044 ⑥;**§139 S7137-8**;文字订正,零代码、零行为变):该行写的是 0.103.0 的条件(门身份读得出且引擎报 `planReviewCheckpointId: true` 才带),而 0.106.0 起的行为是「卡有门身份就带、不读能力位」(接入文档 §135 HD-5),文字没有跟上。订正后的说法与实际行为一致;门新增 Z4 钉住:门清单(登记表与 README 行)不再含能力位条件的旧说法。
|
|
330
|
+
- **问题卡(引擎对人的提问)在钩子车道恒 `must_ask`,`permissionRequestHookScope` 答 `skip`**(CC-1359;**§139 AN-1 – AN-3**;行为变,在包;零型变、零公面名增减、零新原因词):修前 `automaticAnswerVerdict(card, 'permission_request_hook')` 的钩子列只有「引擎会给这类问铸真批准位的问类」(0.101.0 起读它),问题类 `content_question` 不在其中 —— 引擎不为问题铸真批准位 —— 于是出身词为 `content_question`、或问类集含它的卡,在钩子车道判不出必问(旧判定可放 ⇒ 公面收成 `unknown`;问类集缺席 ⇒ `unknown` `classes_absent`),射程答 `deny_only`:壳上的 PermissionRequest 钩子 deny 能关掉引擎的问题卡,等于替人给了一个并不存在的「拒答」。现在钩子车道的列并上问题类:出身词载体(先于类集)答 `must_ask` road `origin`、问类载体答 `must_ask` road `ask_class`(`askClass` = `content_question`),射程 `skip`(宿主跳过钩子段,卡照常交人);两处铸位走同一张「出身 ⇒ 类」映射与同一只问类读口,不新增读口、不新增原因词。计划卡、只带卡词 / 门种 / 工具名的帧、出身与问类读不出或表外的卡都不折成问题卡,仍 `deny_only`;规则车道与姿态车道的读数逐字节不变。road 变化只发生在「出身词为 `content_question` 且同卡另带真人位 / 治理位 / 强制位」的卡上(今天引擎不铸这个组合):钩子车道的 road 由后者改为 `origin`,仍是 `must_ask`、仍 `skip`。
|
|
331
|
+
- **停驻 fail-soft 收场句:引擎答了且拒之后不再说「卡再出现时在卡上决」**(CC-1344;**§139 FW-1 – FW-3**;行为变:文字,en / zh;在包;零型变、零公面变;消息目录 +2 键):修前收场句尾恒为「… the run is still parked on this approval: decide it on the card when it is shown again, or cancel the run.」。引擎对决断答了且拒、行留待决时(耐久行的决断口答 409 `resume_outcome_invalid`〔`field`、`retriable: true`〕是读数取证过的一腿)这句不成立:壳收卡、这一轮已经结束,卡不会自己再出现,要用户再发一句话,壳才把同一张卡重开。现在出路由三形增为四形(`card` / `speak` / `reason` / `cancel`),判只在停驻解析器的出路判点一处:`unsettled{engine_refused}`(非续不了停驻族;该族仍走 `cancel` 专句)接「send a message to reopen the card, then decide it there, or cancel the run.」(中文:发一句话把这张卡重新打开,再在卡上决,或取消这一跑),句中不断言「卡永不回来」;**其余一切腿 —— 宿主撤卡 / 卡口自报失败、引擎 5xx、没拿到答复、编排收场、两路触顶收场 —— 维持原尾句,整句与 0.109.0 逐字节同**(这些腿的「卡会不会自己回来」没有取证,不改)。两句整句住消息目录 `approval.park.resume.card` / `approval.park.resume.speak`(en / zh;`card` 的英文与修前整句逐字节同,原字面量退出源码)。`reason`(这一行在这里决不了)与 `cancel` 两形及其优先序不变;同步腿终帧键 `_sema_park_failed_reason` 与耐久腿合成终帧 `errorMessage` 仍同源同句。成文改口:0.108.0 SB-7 条里「非该族的 `engine_refused`(如绑定不符)仍接原尾句」自本版起取代为本条(见 §139 FWd)。
|
|
332
|
+
- **本版发布前订正(五项)**(**§139 RP-2 / RP-4 · AU · FW-4 · WF · HE / SL / AU**):① **引擎改指不再把新址上的档猜成「上次已迁」**:旧址没有设备档时,只有入参 `expectDeviceId`(上一次结局带回的 `deviceId`)与新址档相等才续会话半场,否则 `refused/record-absent`、零写 —— 此前旧档丢失而新址恰有一台无关设备时,会话被改指到那一台、原引擎会话 id 原样搬过去;**列表证绑地址**:列表口多一只必填位 `roster.address`(切片所连地址),与新址同键才发列表请求,否则 `unreadable/address-unbound` —— 此前旧址客户端的切片也能作证。② **输入的作者 / 出身两只读不出位在 chrome `human_input` 上保留**:生产链里 chrome 臂读的是投影层产物,此前对它再读原词 ⇒ 表外词与访问器形的 `authorUnreadable` / `runOriginUnreadable` 丢失、读成「没说」;读口对自己的读数幂等(载体上的读不出位照读)。③ **停驻 fail-soft 收场句:这一行自己的拒走取消专句**(决断拒收分码 `row_integrity`:服务端 ≥ 7.147.0 `checkpoint.invalid_outcome` + `reason`,7.139 – 7.146 借 `approval_binding_mismatch` + `reason`、无 `field`)—— 不再说「发一句话重开、再在卡上决」(同一行再决同因再拒)。④ **workflow 轮询来路带上失败原因**:失败 run 读面的 `error` 读进终局读数,交给模型的完成句尾接 ` — failure reason from the run record: <error>`,交件事实多一可选位 `error`(`TaskNotificationFields.error?`,与句尾同一份字节;经 `taskNotificationOf` 读回,不进正文 XML)—— 此前轮询先到时模型只拿到「workflow failed」,随后带原因的推送又被 runId 门挡住。⑤ **接入文档三处订正**:HE 规则句与 G-HE2(非引擎事件上的 http 条目不在请求体里,与 HK-1 一致;源码注同改)· SL-6 ③(赎回臂首赎回形的 `rememberApplied`:≤ 7.146.x 恒 `false`,7.147.0 起按布尔读)· G-AU3 标服务端缺口(已发服务端的 `human_input` 投影排除 `runOrigin`、不转 `author` / `extension`),包侧缺口点名请托服务端。
|
|
333
|
+
|
|
334
|
+
### Gates
|
|
335
|
+
- **新门 `scripts/run-credential-adjacent-projection-test.mjs`**(CC-1282;**§139 SA**;包侧投影门三件之一):红先格(25 个格号 + 修前亦红的接受多遮一格;粘连形受理后与带分隔同形同遮 · 不可见字符夹在方案词与值之间九对 / 值内九形同答 · 生产路径三阶 · 具名形对照 · 设置判官同答)先全部算读数再统一断言;query 值 / 片段里的粘连形作等价守卫格钉上一版字节(非红先);干净形八族 × 六组出口与十四 / 十三出口逐字节不变、基线等价形与上一版产物逐字节同;接受的多遮钉现状;幂等(机读口不到帽 · 六组逐行 · 点形 · 粘连文法 768 串 × 十四出口与五出口不动点);开关归属;源码锚(粘连命中源两处、不动的读者与上一版注释剥后逐字同、粘连遍不写块表);阶梯表三行与发射一处、新阶 0 = 旧阶 0 / 新阶 1 = 旧终态(包内摘行变体 + 跨版);受理判据读字数 ≤ 96 × 粘连位数;有界用时格(一段 query 里 8 000 处粘连值等三族串,缺省出口各 ≤ 3 s;CC-1298)。`run-display-untrusted-phase-ladder-test.mjs` PL0a / PL0b 改钉三行与粘连行一处发射。
|
|
336
|
+
- **新门 `scripts/run-host-withdrawal-projection-test.mjs`**(CC-1313;**§139 PW**;包侧投影门三件之一):每卡种一格「宿主收卡 ⇒ 零决断 / 零用户句」修前红(流内停驻审批卡同步 / durable 腿、先决过一次再停住而被收卡不再重挂、经取件链呈的重开审批卡 + 加入的停驻解析器、流内停驻问卡同步 / durable 腿、计划审阅卡首呈 / 重开、活卡零 respond)· 不记用户关卡 · 宿主口拒因闭集与一次性 · 卡口形读不出按撤卡读 · 结局读口与句子口 · 判决冻结再读 · 收卡后作答到不了 · 构建产物声明的臂形;红先 22 格、变异七枚逐格见红。
|
|
337
|
+
- `run-approval-resolution-test.mjs` AR-1b / AR-10a 成文改口(CC-1313;§139 PW-5):因由闭集九词 → 十词(旧眼「not_sent 九词」作废);句子口「各词一句」改为收卡之外九词各一句,另加 AR-10a′ 收卡 ⇒ `undefined`(带判决也不说)。
|
|
338
|
+
- 棘轮登记(CC-1313):`portability.index` 435 → 436(新模块 `src/hitl/hostWithdrawal.ts` 进根入口闭包;`scripts/registry.json` 登记行)· 单例清单 +2(`PARK_QUESTION_WITHDRAW_REFUSALS` / `WITHDRAWN`,均 low)· 公面基线 +3。
|
|
339
|
+
- **新门 `run-done-replay-single-source-test.mjs`**(CC-1314;包侧投影门):源码形(记号层:以字面量 `'replay'` 为实参的调用只许住在唯一读法所在文件,先植入四种读法证尺子会响)· 漏斗契约(帧位 ∨ 体位、非严格 true、非 done、取值器 / 代理 / 读抛)· 夹具事实(服务端 7.125.0 – 7.147.x 的发布字节静态读码:重放出口叠体位、两条腿只有终帧位)。既有尺子 G-RY7 按属性访问判接收者,看不见「助手函数 + 字面键」这一形 —— 两处私读一直在尺外,新门补上这一形。会话送后台投影门新增 V 段:四形终帧 × 三个读点(唯一读法 / 开流记录 / 观看泵)逐格同答一个数。
|
|
340
|
+
- `run-seat-contract-keys-test.mjs` K3 段(CC-1316;§139 PR):键集末两位与覆盖表豁免带理由、构建产物声明 `probeReason?: string` / `probeCause?: object`(非 `unknown`)· 在场 / 缺席 / 八种坏形散文 / 七种坏形结构位 · 按键隔离 · 与请求键的域无关(六种第二参)· 取值器不执行(计数 0)/ 原型链 / 读陷阱抛 / 已撤销的代理不抛且别的位照出 · 三种载体(原始待决行 `riskDescriptor` 缺席 / `null` / 无两位 / 串 / 数组 / 取值器 / 顶层游离同名键)· 两条腿(活卡帧 / 耐久待决行)× 六种形端到端:真呈卡口铸卡 → 过境口 → 座位请求 → 座位门,且原始载体直交 ≡ 卡交过境口 · 座位请求与卡交句口 / 两行口英中逐字节同 · 座位门不为这两位拒整条请求 · 与其余七位并存只多恰两键 · 型面编译(座位请求直接喂两只读口通过,`probeReason` 非串的字面量编译错)。`run-additive-key-passthrough-test.mjs` G8h 成文改口(修前钉「不进座位过境口」,现钉过境并同值)。
|
|
341
|
+
- 新门 `run-interrupt-refusal-note-test.mjs`(CC-1317;**§139 IR**;包侧投影门三件之一;72 格):根入口与公面基线 · 逐码一句(三码 × en / zh,各说各的事、两两互异)· 表外 70 形一律同一句中性句(近形 / 兄弟码 / 非串 / 敌意对象)· 不教重发、零机器词 · `lang` 敌意形 · 目录两语各恰一条 · 码字面只住 `engineErrorCodes.ts`、判是严格等值 `switch` · 真 sdk 错误类 × 发射口 × 判定页端到端(判决不变)· 服务端铸点字节与 `interrupt.*` 码字面集合恰两个 · 门内判官变体负控。句子语料登记 `_catalog-corpus/cc1317`(门 catalog-routing 读,金样 `cc1317.json`)。
|
|
342
|
+
- 登记物:公面基线 2191 → 2192(`interruptRefusalNote`);`portability.index` 435 → 436(新叶 `src/interruptRefusalNote.ts` 进 index 闭包;`scripts/registry.json` 账一条)。
|
|
343
|
+
- 新门 `scripts/run-seat-notification-levels-test.mjs`(包侧投影门三件之一;**§139 NL-1 – NL-5**,判据 G-NL1 / G-NL2 / G-NL3 / G-NL5 / G-NL6 的〔包〕格):NL1 登记(动词清单 / 规格两只门互异 / 能力名闭集 / 三张词表冻结逐词相等 / 构建产物两动词签名、现势两位、回执两臂、判法入参与能力表可缺位走语法树)· NL2 读门(逐键缺 / 表外档位 / 多键 / 自报档五形 / 必然矛盾 / 取值器不执行 / 非普通记录)· NL3 写门(成功臂 + 三拒因臂、表外拒因词、两臂串键、`state` 内坏形与矛盾)· NL4 判法(表格逐行 + 两千轮生成池对独立参照 + 自报档取值器 / 代理 / 已撤销代理不抛按不支持 + 条数撒谎的代理不被展开)· NL5 能力位读口(三态 + 禁用句三形 + 浏览器 lane 恒「没报」+ 不串线)· NL6 端到端(宿主替身 + 发送点替身读同一份存档;拒因产出集 = 闭集;宿主缺省档不在自报档里 ⇒ 读门拒);红先 = 修前产物 52 格 49 红(动词清单无两动词、能力名闭集无本位、根入口无判法,其余段抛错),修后 146 格全绿;另补的 NL4 先界后读两格修前红(条数报五百万的代理被逐项读到底、四条的自报档被照读)。`run-seat-carriers-test.mjs` / `run-seat-recents-test.mjs` / `run-seat-wave2-test.mjs` 能力名闭集 +`notificationLevels`、carriers 被管表 +`notificationLevels: ['getNotificationLevels', 'setNotificationLevel']`;座位判官逐形豁免 +2(`NotificationLevelsState` / `SetNotificationLevelResult`)、能力表覆盖位 +1;`_seatContractPins` 类型钉 +5 格(能力位管两动词 3 · 现势键 ⇄ 种类闭集 2)。
|
|
344
|
+
- **新门 `scripts/run-session-mods-seat-test.mjs`**(CC-1319;**§139 MV**;包侧投影门三件之一):MV1 登记(能力名闭集末位 / 规格 invoke + 自己的出站门 / 动词名表 / 逐形豁免表 / 构建产物声明走语法树)· MV2 出站门逐形收拒(两形行逐键、两形键同在、`transport` / `refused` 臂、访问器零执行、永不抛)· MV3 读口逐形 + 400 格生成池(与 `modRowsOf` 同答、全部过出站门)· MV4 端到端(wire 帧 → 投影 → 回执臂 → 读口 → 宿主替身缓存 → 出站门;夹具服务端真回执段,夹具缺席诚实跳段;后一腿段缺席 ⇒ `unreadable`,换代 ⇒ `unarmed`,子流回执不进)· MV5 能力位三态 · MV6 部署包只数读口逐形 + `readEngineHealthFacts` 不长第二份读法 · MV7 目录两键 · MV8 源码锚(单一读法、不读能力位面)。
|
|
345
|
+
- `scripts/run-seat-wave2-test.mjs` S1 / `scripts/run-seat-carriers-test.mjs` C1 · C5 / `scripts/run-seat-recents-test.mjs` RC1 能力名闭集 +`modsView`(被管表 +1 行)· `scripts/run-seat-engine-target-test.mjs` ET9 闭集长度 12 → 13(该格守「本机引擎不另立能力位」);`scripts/run-engine-caps-ledger-test.mjs` `modsDeploymentPackages` 行注释改指健康体读口(仍 `not_read`);单例清单 +4、公面基线 2191 → 2193。
|
|
346
|
+
- 新门 `run-hook-env-seat-projection-test.mjs`(CC-1322;§139 HE):HE0 公面 · HE1 两路同值(契约包插值判官按引擎读法与本端读法逐头同串)· HE2 只送交集(凭据名不预筛)· HE3 条目正文零值 · HE4 名单收窄成空 ⇒ 缺席 · HE5 `SEMA_DEBUG=1` 下日志口 / 控制台 / 标准流零值 · HE6 车道 · HE7 行 · HE8 手填按名拒 · HE9 拼装产物 · HE10 派发前重判 · HE11 服务端真判官(夹具)· HE12 型面。
|
|
347
|
+
- 新门 `run-approval-dual-frame-retired-test.mjs`(CC-1332;包侧投影门三件之一):DF1 崩溃收敛旧族账本帧不预记已结表 · DF2 preamble 呈卡族卡帧不是旧族账本帧的待决证据 · DF3 正控(跨路去重原样在,含「模拟双帧仍到」)· DF4 成文不再说「出两帧」· DF5 退役台账三行 · DF6 前提钉(支持底线服务端 ≥ 7.133.0)。`run-replayed-approval-disposition-test.mjs`:RP-HS 与 RS2c 随退役臂移除,RP2b / RP2f / RP3b 改钉新义(preamble 不是证据),RS2j / RS3c 去掉已删的换流成员调用。
|
|
348
|
+
- `run-approval-card-face-projection-test.mjs` RB 段(CC-1327;§139 RB):根入口两名在场 · d.ts(卡入参有 `requestedBy?: ApprovalRequestedBy`、只交卡面的口的 Pick 里没有)· 四条入口(活卡帧投影口 / 呈卡帧整帧口 / 活卡入口两种帧)同值 + 冻结新铸副本 + 多余键不抄 + 其余位逐位同 · 缺席 ⇒ 键缺席 · 坏形十七种 × 四条入口 · 取值器 / 原型链 / 已撤销代理 / 陷阱代理 × 三个槽(`requestedBy` / `kind` / `name`):键缺席,活卡帧路径上本读口零执行〔呈卡帧整帧先过类型包的帧判别器,判别器自己会读这一位,访问器 / 陷阱在那里执行或抛,整帧口答 `undefined` 只许是判别器读不了这一帧〕· 不连坐同帧的 `agentId` / `askReasons` · 不开第二读位(v1 卡面 / 帧里只有 `card` 带 / 通用卡 / 耐久待决行顶层与 `riskDescriptor` / 悬挂盲行顶层均不读;悬挂行的重放帧读得到)· 展示位不影响 `unreadableEvidence` / `standingRowsOf` / 三车道判决 · 句口 en / zh 金样、两种入参形、十六种坏形零句、名字位五种劫持、全空白名字零句 · 根导出读口与卡上 `askReasons` 同一只读法。`run-approval-card-v1-projection-test.mjs` V10(上游锚直证载体界 + 只交卡面的口不读 + 活卡帧口读得到)· `run-durable-card-display-keys-test.mjs` ⑲(耐久腿不投,含 `riskDescriptor`)· `run-mods-face-projection-test.mjs` R(与 mod 句口同一个名字位出口)· `scripts/sdk-pins/30.0.0.ts` `requested-by` 组(类型包 `ExtensionRequester` ⇄ 读视图两向,卡面不声明这一位)。
|
|
349
|
+
- 新门 `run-self-knowledge-output-style-merge-test.mjs`(CC-1339;**§139 SK**):三形逐字节(有能力 / 无能力 + 用户正文 / 无能力 + 无正文七种缺席形)· 幂等两臂与再入 · 上限 16384 ±1(含代理对按码元计)· 通告 id / plane / 键集 / 冻结 / en 逐字与 zh 目录 · 缺席证明读法(取值器零执行、非串六形、原型链位)· 两扇门逐字节等价与入参不被改 · 能力位真 / `selfKnowledge` 缺席不进本臂;本机红先绿后,变异各红。
|
|
350
|
+
- `run-self-knowledge-output-style-merge-test.mjs` 扩 SM7 – SM13(CC-1350;**§139 SK-7**):一等位臂三形逐字节(用户空五形以修前实现为参照 · 用户有 · 超限)· 上限 ±1(含代理对)· 幂等两臂与再入(含终端壳 `withSelfKnowledgeAppend` 逐字复刻的十二形:值与修前逐字节同)· 缺席证明读法(取值器 / 非串六形 / 原型链位 / null·数·串请求体永不抛)· 通告与借道臂同输入逐字相等 · 两扇门等价与不碰另一座(`settings` 同引用、能力位假时顶层 `appendSystemPrompt` 一字不碰)· 两臂同律差分池 180 对(知识块 × 用户正文);红先 27 格,变异各红在点名格。
|
|
351
|
+
- 新增 `run-hooks-engine-owned-wire-projection-test.mjs`(CC-1335;包侧投影门三件之一;**§139 HK**):壳属主事件集由设置契约事件全表减引擎属主九员派生(不手抄)· 五层 × 全部壳属主事件逐格 + 整表同写 · 引擎九事件 × 五层照投 · 判决行与「没写壳事件」的同一份逐字同 · 插件来源 × 壳属主事件 · 剥键 / 去重 / http 名单三类副产物只数真在请求体上的条目(引擎事件上同形为正控)· 本门产出的每一份计划与请求体事件键总扫 ⊆ 九员。既有插件 hook 投影门随之改口三格(D1h:壳属主事件整键不在、混组语义由引擎事件上的 D1 钉;R1b:手写 `plugin` 键的载体事件改引擎事件;HP11b:壳属主事件上的 http 条目不在请求体上、名单不为它出行)并新增 HP11c(名单对请求体上引擎九事件逐个同判)。
|
|
352
|
+
- **门卫生:「环境没带来的物料」不再把门的后段整段遮住**(CC-1334;**§139 GH-1 – GH-3**;零公面变、零行为变):远端运行只带跟踪文件 —— 没有夹具、没有兄弟端树、没有发布 tag,仓是一次性单提交仓 —— 一批门因此在中段某一格 exit 9(判别力栅栏)或 exit 1(把「物料没带来」读成红)立断,它后面所有对基线 / 夹具 / 端树 / 历史的格自写入起从未在那样的环境里被执行(0.109.0 发前修的显示安全基线差分门是首例)。底座 `scripts/_gate-lib.mjs` 多三口:`makeCk().later / settle`(延后收口格:红 ⇒ 记名、后段照跑、收尾统一 exit 1;`ck` 仍立断 exit 1、`probe` 仍 exit 9)· `fixtureProbe`(物料缺席 ⇒ 诚实 `SKIPPED-SECTION`、必跑档红;在场才当正控,不成立仍 exit 9)· `historyCarried`(HEAD 是根提交 ⇒ 历史不随树)。逐道改法:`run-display-untrusted-baseline-diff-test.mjs` B7a′(基线同目录无 0.90.0 发布产物 ⇒ 跳段,B7b 起照跑)· `run-gate-negative-controls-test.mjs`(依赖端树 / 发布 tag 的四枚 export-liveness CASE 带 `notApplicable`:物料缺席 ⇒ N/A 而不是 exit 9 整套退出,其后五十余枚 CASE 与普查总账照跑;必跑档红;一枚 NEG 不达标改走延后收口,各枚 CASE 互相独立,不再第一枚不达标就整套抛断;`upstream-type-shadow` 那一枚的植入件改对现役的 `ContextMediaRemovedDetail` —— 旧对象 `ContextImageRemovedDetail` 随类型包 33.0.0 删除,植入后门照绿、NEG 不达标,它排在远端死点之后从未被执行到)· `run-integration-doc-freshness-test.mjs` ④a2(一次性单提交仓 ⇒ 历史不随树 ⇒ 跳段,不再读成「releasedAt 是死字段」;历史随树而某条取不到仍红)· `run-permissions-declaration-test.mjs` R2x(跳段的组不进覆盖分母)与 G-RR1(调基线口前先问口在不在)· `run-public-surface-test.mjs` ⑤(`SEMA_SDK_WITNESS` 没给 ⇒ 地板见证格跳段;给了而地板仍高于所有见证照红)· `run-steer-tier-test.mjs` G-ST9a(夹具缺席 ⇒ 真回执半格跳段、停放待唤醒形仍断言)与 G-ST10b(修前夹具缺席时静默不出现,现在带 `SKIPPED-SECTION` 记号)。`run-tick-model-and-config-drift-test.mjs` 审过不改(段落收口走失败清单,P 段红后 Y 段照跑,`probe` 只在基线产物不是预期那一版时才退)。
|
|
353
|
+
- **到期类格延后收口**(CC-1334 / CC-1324;**§139 GH-3**):`run-retirement-ledger-test.mjs` C / C′ 与 `run-layering-shadow-export-test.mjs` T3 / T7 走 `later`:红照常 exit 1、红格一格不少,变的是红之后的格(退役账 D – H 段 335 行 · 影子门 T5 / T6 / T4 与四端 E1 – E8 判决)不再被一并挡掉 —— 修前它们排在红格之后,红了就不再执行(退役账挂链首行超十行、影子豁免行 dueBy 已过期的窗口里,这几段在任何环境下都没有被跑到)。T3 的红句多报「到期共几行」(修前只列前 8 行,读者会把「8」当总数;实际 39 行全部过期)。解封后露出的既有漂移:退役账 G5 / G11 / G11f / G11g 四格钉的是某一窗的字面值(RL-35 / RL-78 的 0.95.0、RL-136 等五行的 0.101.0、挂链行恰十二行),窗只追加地改过之后它们早就不成立 —— 本版成文改口为「窗不早于首次承诺窗 ∧ ruling 句留着首次承诺窗」「原十二行如旧、后加的行票号可读且裁定号合形」,其余条件不动;影子门解封后另露出端侧事实:T7 一行同义不同名行到期、E1 终端两处未登记的同名声明、E3 十五行死行(终端 13 · 网页端 1 · 桌面端 1)—— 属端侧处置,不在本包改。
|
|
354
|
+
- **新门 `scripts/run-gate-remote-shape-test.mjs`**(CC-1334;**§139 GH-4**;包侧投影门三件之一):L 三口行为格(临时子脚本真跑:`later` 红 ⇒ 后段照跑 / settle 处 exit 1 / 横幅不出 · 红后又被 `ck` 抛断或以 `process.exit(0)` 收尾仍 exit 1 且列出延后红 · 多格计数 · `ck` / `probe` 老退出码)· F `fixtureProbe` 四态 · H `historyCarried` 六形(单提交仓 · 深度 1 / 深度 2 浅克隆 · 无提交仓 · 两提交仓 · 目录不存在)· W 九道门的源码接线(每条配一字变异正控)· N 负控套四枚 CASE 的前提钩(缺席 ⇒ N/A、在场 ⇒ 不跳;发布 tag 缺席探针在临时仓里四态)· B 远端形冒烟(公面门 / 转向分档门 / 权限声明门在无任何 `SEMA_*` 夹具变量的净环境整门真跑,exit 0 且带跳段记号)。
|
|
355
|
+
- **同名影子豁免行 `BrainStatusPhase` 删行**(CC-1324;**§139 GH-5 / SF-3**):`scripts/upstream-type-shadow-exemptions.json` 该行删掉 —— 退役前提「peer sdk 地板抬到 ≥ 24.0.0」本版成立(peer 地板 `>=25.0.0`,§139 SF-1),同名型改为再导出 sdk 那一只(§139 SF-3);本型仍是本包公面型、终端以 `import type` 消费,没有端侧包装可退。
|
|
356
|
+
- `run-mcp-reconnect-test.mjs` S12(CC-853):七档 × 名字 × 两语逐字节 · 句子 = 目录键代入名字 · 附带位(`error` / `reason`)不进句 · 名字画成可见转义 / 封长 / 凭据形被遮 · 坏形(含取值器 / 继承位 / 陷阱 / 已撤销代理)⇒ `undefined` 不抛、`kind` 取值器零次执行 · 真消费口铸的五档判决逐档取句;S13(CC-854):引擎失败类闭集逐词 · `http_status` 的 401 / 403 / 5xx 一概 `false` · 恰等不折大小写与空白 · 说不清 ⇒ `undefined` · 只读 `errorCode` 一格(取值陷阱零次)· 三个真载体。新增句口语料 `scripts/_catalog-corpus/cc853.mjs` + 金样 `scripts/catalog-migration-golden/cc853.json`(`run-catalog-routing-test` CR3 – CR6 / CR11 读)。
|
|
357
|
+
- `run-mcp-reconnect-test.mjs` S14(CC-1349;§139 MR-1 成文改口):九档一只口 —— `ok` 五形结果句(十个变体)与 `unsettled` 句 × 两语逐字节(英文 = 迁前字面句、`MCP_RECONNECT_UNSETTLED_NOTICE` 值一字不变)· `ok` 臂 ≡ `mcpReconnectOutcomeDetail(result, lang)`、`unsettled` 臂英文 ≡ 常量 · 九句两两互异 · 目录键两表齐 · 名字位同一出口 · `result.server` 与传入名不等 ⇒ `undefined` · `reason` 里的记号不被再展开 · 坏形 `ok`(32 形)⇒ `undefined` 不抛、取值器 0 次执行;S12 的 `not_running` / `invalid` 金样随两句改口换句。S15(CC-1349;§139 MR-4):`mcpFailureStatusSuffix` 三态 · `(re-authorize)` 出现 ⟺ `mcpNeedsReauth === true`(失败类闭集 × 状态号池穷举)· `http_status` 的 401 / 403 只渲号 · 5xx 附对端挂了 · 说不清 ⇒ 空串不抛、取值器 0 次执行 · zh 逐字节 · 三个真载体。新增语料 `scripts/_catalog-corpus/cc1349.mjs` / `cc1349s.mjs` + 金样 `cc1349.json` / `cc1349s.json`(`run-catalog-routing-test` CR3 – CR6 / CR11 读;`cc853.json` 登记 `not_running` / `invalid` 两条改口)。裸英文句棘轮基线 `src/mcpReconnect.ts` 7 → 1(记账)。
|
|
358
|
+
- 新门 `run-session-policy-loosen-sentence-test.mjs`(CC-968;LS0 – LS7):代际绑支持底线(声明的服务端 / 引擎底线不低于 7.135.0 / 7.55.0,否则红)· 目录三键两语在场且「为什么」只住词干一处 · 码 × 部署事实 ⇒ 句逐字节(英 / 中)· 码 × 代际 ⇒ 同臂同句(7.134.x 一代句子 / 7.135.0 一代句子 / 将来一代句子同一枚码 ⇒ 同一句;没带机器码的 403 不是这一臂)· 开发依赖引擎的真店四种来路(operator 写下的行 · 属主写后 operator 又写过的行 · 7.135.0 之前存下的存量行 ⇒ 放宽被拒、记录不变;属主自己加的行 ⇒ 撤得成)· 旧说法在全部出句口与目录两语都不再出现。`run-session-policy-refused-removal-test` N3 / N12b 两格随句改口。
|
|
359
|
+
- **新门 `scripts/run-tool-permission-settled-projection-test.mjs`**(CC-1331;**§139 SL**;包侧投影门三件之一):读口赎回两形逐位与十三形坏形 / 按键隔离抛错代理 / 取值器零执行 / 旧两臂逐字;编排三处回放判处位逐位(相反 · 同向 · 三种发送词)与非回放结局键集不变、点名别的卡 / 自相矛盾不铸位;座位回执型 d.ts AST、SPEC 行、覆盖表、出站门好坏形矩阵、读口、句口(同键同句);发送机赎回回放同读;源码钉三条单源。覆盖表 +1 行(`ToolPermissionAck`),`run-seat-contract-keys-test` 同批加最小合法体与一行回执格。
|
|
360
|
+
- 新门 `run-engine-repoint-projection-test.mjs`(RP0 – RP13):帧读口、结论判官 3×3 全格、握手证 / 列表证逐形(含 **operator 凭据列表里确实有也不作证**)、两证矩阵 3×3 经编排(非两证俱全 ⇒ 旧档零变:`move` 零调用 · 会话存储零读零写 · 带机读出路)、写路径与回读对账、档位计划十三形、地址闸、会话半场、`partial` 与重跑幂等、句子目录、敌意端口、源码结构(AST)。类型包钉文件 `scripts/sdk-pins/35.0.0.ts` 加钉组 `hello-reject`(本包五词握手拒因 ≡ 类型包 `./device` 子路径的 `DeviceHelloRejectCode`)。
|
|
361
|
+
- 新门 `run-output-style-body-carry-test.mjs`(CC-1347;**§139 OB**):四种风格(自定风格 / 内置 default〔正文空〕/ 全空白正文 / 首尾带空白的正文)× 顶层座(无 / 见位 / 读数不认)⇒ 请求体逐字节(`settings.outputStyle` 只含正文原串、空则键不在、顶层 `outputStyle { name, turnReminder? }` 照旧;空正文与「没有风格源」的请求体逐字节同)· 产物行与事实(有正文 `carried` / `carry`;正文空 `empty` / `nothing_to_carry`、事实仍在)· 读不成正文十三形不盲落(取值器零执行)· 三条车道同 · 邻位(安全模式 / 源 none / 无风格名)不动 · 自知块两臂(能力位真走一等位且 `settings.outputStyle` 仍是正文;借道臂那一半在自知块借道臂合并律并入后点亮,口不在时打 `SKIPPED-SECTION`);本机红先绿后,变异各红。
|
|
362
|
+
- 存量门随语义改口:`_gate-lib.mjs` `hostInFor`、`run-host-turn-settings-test.mjs` 与 `run-host-turn-settings-intake-test.mjs` 的修前入参形译件把语料里交的那一串译成「名 = 正文 = 这一串」(请求体与修前逐字节同,AS0 金样不动);`run-host-settings-source-test.mjs` OS1 改钉请求体 `settings.outputStyle` 是正文。
|
|
363
|
+
- `run-usage-analytics-projection-test` 扩 K 段(CC-885;**§139 CB**):三词矩阵 · exact 词遇反证只降不升 · 键缺席 6×5×3 例对拍独立判官 · 集外词与读不出 · 金额坏形不折 0 · 外来体永不抛与取值器不执行 · unknown 臂零数字 · 老中心金额界与引擎卡金额界逐格同 · 真 JSON 体 · 编译期三格(入参不收原始值、判别联合、界两词与拒因闭集);变异另验十一枚。
|
|
364
|
+
- **新门 `run-hooks-closed-leg-local-skip-test.mjs`**(CC-881;包侧投影门三件之一;**§139**):三词 × 触发形(托管读数两拒词 / 信任读数抛 / 托管层读抛 / 未受信 / 托管关停)× 三层(用户 / 项目 / 本地)× 事件 × 组形(带 / 不带来源,五个来源)⇒ 设置来源口与插件口恒答 `[]`;`settingsDropped` 逐来源逐条的行与下标;清单三形;正控(治理读得出 ⇒ 不变)与手造计划 `closedBy` 位逐形;红先 / 变异见接入文档。同批改既有门的四处钉:`hooks-managed-policy-reading` U4(关腿计划 `settingsDropped` 空 → 逐来源逐条)· `hooks-authored-source-projection` S0a / S0e / S0f 与 `plugin-hooks-projection` N6(拿掉依据闭集 4 → 7 词)· `host-settings-source` H5b(关腿计划上端不交来源的组:原样交回 1 只 → 0 只)。
|
|
365
|
+
- **地板线值级导入见证**(CC-1342;**§139 SF-4**):门 sdk-floor 新增 ②d-9 —— 出包 `dist/**/*.js` 里每一条从 `@sema-agent/sdk`(根与子路径入口)具名取值的 import / 带说明符的 export(按语法树读已发布的 JS,类型位已被擦掉),取的名字在地板线见证 sdk 的**运行期入口**里都在场。此前没有任何一格问「本包真会执行的 import 行,地板那一代接得住吗」:类型面对地板编译(sdk-witness-compile)看不见值级名,值级转出名的门只盯转出。红先:同一份 0.109.0 产物对 sdk 23.1.0 见证,40 条值级导入里缺 `isApprovalCompleteFrameV1`;地板 25.0.0 上全在。门 sdk-floor 的地板常量、五词成因表改『不低于』,门 sdk-witness-compile 删 24.0.0 的假钉,门 retirement-ledger 钉四行执行后的形,门 protocol-name-reads / parked-resume-startup / compaction-started-projection 的退役格按新形改钉。
|
|
366
|
+
- **`run-session-policy-refused-removal-test.mjs` F7(铸点见证)改按引擎代际读真字节、搬到夹具栅栏之前;新增 F7s 读器判别力;老一代半改名 F7b**(CC-1354):修前该格排在老一代夹具栅栏之后 ⇒ 没有老一代夹具的环境(远端全门)整段不跑,0.109.0 的发布证据里本门只有 S / P 十三格;而它读的是树上开发依赖引擎的产物,与老一代夹具无关。引擎在格写入之后把这枚码的铸点又搬了两次(7.59.0 常量化;7.66.0 常量定义搬进 `retired-tool-name-account.js`、通告臂引用常量、码册文件多三行字面),格里钉的「整棵 dist 里字面恰一处、常量定义在 `sub-agent-deny-lists.js`」在 7.66.0 上不成立(本机带夹具实得常量定义 0 处、字面 4 处),从来没有环境把它跑红过。现在 `F7` 按引擎包版本以 7.59.0 分两代、各认各的形:assign(< 7.59.0)= 审计文件里恰一处字面赋值且按 `judgeRuleToolName` 判;const(≥ 7.59.0)= 常量定义恰一处(不钉在哪个文件)· 全 dist 零处字面赋值 · 经常量的赋值恰一处且在 `policyNameRefusal` 所在文件 · 字面串的其余出现只许是码册文件的三类行形(列表项 / 受众键 / 铸造方键)· 审计文件经 `policyNameRefusal` 抛并引用常量;认不出的形一律红(不洗绿)。`F7s` 把读器喂合成树(assign / 7.60.0 / 7.66.0 三真形必过;常量定义删 · 定义两处 · 字面多一处 · 第二处字面赋值 · 码册行形跑出码册文件 · 经常量的赋值多一处 · 抛点搬离 · 审计文件不再判 / 不再抛 · 代际判反两向 · assign 多一处赋值 · 版本读不出,十三反例必拒),读器坏了它自己红。老一代引擎(< 7.41.0)那一半 `F7b` 仍在栅栏之后随 E / R / M 同跳。没有夹具的环境现在跑 S / P + F7 + F7s 共 15 格,其余段照旧打一行 `SKIPPED-SECTION`(必跑档仍红)。真字节核过引擎 7.52.0 / 7.54.1 / 7.55.0(assign)与 7.60.0 / 7.61.0 / 7.62.0 / 7.65.0 / 7.66.0(const)。红先:修前本机带夹具 F7 红;绿后带夹具 122 格、无夹具 15 格全绿;变异 8 枚(常量定义不再要求在场 ⇒ F7s X1 · const 代放过多余字面 ⇒ X3 / X5 · 代际判反 ⇒ F7 在真 7.66.0 上红 · 经常量的赋值放宽为 ≥ 1 ⇒ X6 · 码册行形不限文件 ⇒ X5 · const 代不查 `judgeRuleToolName` ⇒ X8 · 版本读不出当 const 代 ⇒ X13 · assign 代赋值放宽为 ≥ 1 ⇒ X12)各红在点名格,外加对真 7.66.0 包私有副本的五枚数据变异(常量定义删 · 字面多一处 · 版本号改回 7.55.0 · 抛点改字面赋值 · 审计文件不经 `policyNameRefusal` 抛)读器各红。同门 N 段与 F1–F6 自己不读引擎、只是排在同一道栅栏之后,远端同样没跑到,本版未动。
|
|
367
|
+
- `run-model-capability-probe-test.mjs` 多 TS 段(CC-778;扩既有门,不新增门):TSa 探针落笔(4 判词 × 3 条目形笛卡尔积:输出 `reasoning === false` 只能来自输入自己的显式 false;裸条目 × 无证据判词不长出 `reasoning` 键;onboard 真落库路径新建 / 原位补显式 false 两形)· TSb 目录行读口(12 行夹具:严格布尔 / 缺席 / 非布尔 / 取值器零执行 / 原型链位 / 档位集;行视图位与档位读口推理分支同答〔单源〕;撤销代理不抛)· TSc 通告(铸点真字节坐标:引擎 `detail` 五键;读口五格 × 七种坏形 × 取值器;派发行;句口 en / zh、八个未交付的 (能力, 状态) 对 ⇒ `undefined`、展示出口、永不抛)· TSd 消费方视角型面(tsc 探针:三态位按 `boolean` 读的位编译红、`ModelReasoning` ⇄ `ImageVision` 互通、引擎 `Model` 进落笔口编译绿)· TSe 源码钉在位;原 G1a 随语义改钉。`run-engine-notice-user-codes-test.mjs` 码表 12 → 13 行(第 13 码 `model.capability_downgraded`:读口 / 句口 / 展示出口 / 型面通用格全覆盖);`run-engine-notice-catalog-test.mjs` G8h3 读器挂码 2 → 3。
|
|
368
|
+
- `run-seat-contract-keys-test.mjs` K4 段(CC-1341 / CC-1345;§139 TP;整门 2041 checks):键集末两位与 21 位、覆盖表豁免带理由、构建产物声明 `requestedBy?: ApprovalRequestedBy` / `frameReading?: ApprovalRequestFrameUnreadableWhy`(具名型,非 `unknown` / `string`)· `requestedBy` 在场(冻结新铸副本、多余键不抄)/ 缺席 / 十四种坏形 / 取值器零执行 / 原型链 / 陷阱抛 / 已撤销代理 · 活卡帧与呈卡帧整帧口原始载体直交 ≡ 卡投影出参交过境口、`card` 信封里的不算 · 原始耐久待决行五形与取值器 `riskDescriptor` 一律不落 · `frameReading` 三词各一、三种真坏帧(版本 / 问法词 / 字段)经判因读口 → 通用卡 → 过境口一路送到、ok 态与判因未知不落、游离判因词六形不落、表外词十四形(含 `ok` / `v1` / 大小写 / 空白)不落、取值器与陷阱抛 · 出站体逐字节与结构化克隆 · 与前九位并存的键集与逐值对账(通用卡本来就关 `sessionRow`,不是本位引入) · 座位门不为这两位拒整条请求 · 型面(直赋回、词表外字面量编译错);K3a 改钉「`probeReason` / `probeCause` 紧跟 `sessionRow`」(不再钉「在末」)。
|
|
369
|
+
- `run-prompt-blocked-sentence-projection-test.mjs` 多 PB8 一组(CC-1346;**§139 RT**):根入口 `runBlockedText` 与出句口模块内同一引用 · 声明面按名转出且签名零变、不 `export *` 该模块、英文句首常量不上根入口 · 九形被挡终局的根入口句 ≡ 字面期望 ≡ 流上终局行 ≡ 结果帧失败句(逐字节)· hook 的话里的信封标签与会话 mark 零上屏 · 类型内的缺席 / 坏形入参只出句不抛、原型链成因词不当成因;`run-public-surface-test.mjs` ③c 零漏导登记第三只挑名模块 `promptBlockedCopy`(包内名 = 英文句首常量)并让「模块导出名数下限」逐模块登记。
|
|
370
|
+
- `run-approval-card-face-projection-test.mjs` 多 RI 一段(CC-883;§139 RI):RI0 型面(`.d.ts` 里卡请求多 `taskId?: string`)· RI1 / RI2 活卡腿来源(调用方 `run` / 帧绑定先于 `run` / 绑定只有会话不拿 `run` 补)· RI3 缺席与帧自带的 `taskId` / `runId` 不读 · RI4 坏形十六种(取值器零执行、抛的代理不 reject、绑定在场时敌意 `run` 不被读)· RI5 委派子代卡 = 出处会话位(新名先 / 旧名在新名缺席时 / 读不出 ⇒ 缺席,宿主 run 与帧绑定都不顶替)· RI6 呈卡族 v1 帧与通用卡同一来源(帧顶层自带的 wire `taskId` 不读)· RI7 耐久腿同值 + 与 `parkRow.taskId` 同值 · RI8 respond 实发与 run 在不在无关 · RI9 四只纯投影出口不带。红先:修前 14 格红;子代卡改口后 RI5 族(RI5 – RI5f)再红先 6 格。
|
|
371
|
+
- `run-approval-card-reading-projection-test.mjs` AK-R5 的「卡逐字节同」比对多剔一位 `taskId`(卡所属 run 的顶层位,与已剔的 `parkRow` 同属每次运行各不相同的宿主 / 身份位;不剔则两次运行的两个 run 让三格红:修前不剔读数 3 格红,剔后 531 格全绿)。
|
|
372
|
+
- `run-live-pending-ask-test.mjs` AR3 的「旧族形卡入参与 0.104.0 产物逐字节同」比对前多剔一位 `taskId`(委派子代夹具上卡顶层现在带出处会话位的值,0.104.0 金样没有这一键;不剔则 AR3 两格红,剔后 233 格全绿;`taskId` 的在场与取值由 `run-approval-card-face-projection-test.mjs` RI 段钉)。
|
|
373
|
+
- 新门 `run-edited-approval-acceptance-test.mjs`(CC-1306;**§139 ER**):判口三态逐格与敌意入参(取值器 / `get` 陷阱零执行)· 两语单源句(英文 ≡ 修前底栏原句、中文要素、零占位符、零用户字节)· 同一批夹具喂两条发送腿,判口 `refuses` ⇔ 腿拒发、`accepts` ⇔ 改写照发,卡口期间改卡请求位改不了闸 · 结构钉(两腿的闸各调判口一次、全包没有第三处手抄判据,含自带正控)· 文档。
|
|
374
|
+
- **服务端 7.137.0 随附六件逐件落点核对 + `run-server-7137-pick-projection-test.mjs` 补 14 格(91 → 105)**(CC-1044 ① – ⑥;**§139 S7137-1 – S7137-7**;零代码改动、零公面变、零 wire 键):六件 —— 求助无门通告的出路清单 `remedies`、会话存档坏档码 `invalid_session`、会话同步 `503 state.file_history_unreadable` 的持久性、`409 resume.constraint_rejected` 体 `acceptableForm`、规则编辑文本修剪、计划审阅决断体 `checkpointId` —— 的读口 / 句口 / 判定都在 0.103.0 落地(接入文档 §131a PK-10),本版对着服务端契约(现役 ≥ 7.147.0)、类型包 35.0.0 与引擎 7.66.0 逐件重核,结论是「已落、读法单一、无需改代码」,逐件落点写进 §139 S7137。新增的格都是服务端黑盒 G6 – G10 的客户端半:A16 派发口与直读器同一份出路 · B9 真 `APIError` 的 `500 invalid_session`(读面与提交面各一格)· C4 – C6 会话同步三条拉取腿(清单 / 条目流 / 文件历史 blob;不是同一条重试路径)与根入口转口各验 `terminal` 只发一次、`transient` 与缺席重试至上限 · D7 五条决断腿的 409 `acceptableForm` 全链 · E7a / E7 引擎预检函数对外缘空白三形(拒 `invalid.grammar`、修剪后收)与内部多空白(原样收)的判 · Z4a / Z4 见上条。已落的行为没有「修前」形,新格的判别力由逐格变异给出(七枚,各由预期的格抓红)。
|
|
375
|
+
- `run-automatic-answer-verdict-test.mjs` 新 HQ 组(HQ0 – HQ10:具名问题卡 × 钩子车道、规则 / 姿态不动、不折成问题卡二十一形与良形对照、判序、先于类集、第 7½ 行前后、通用卡、永不抛 / 不改入参、真帧投影、公面型零变)+ AN-8(问题卡 × 规则 / 姿态车道读数对 0.107.0 发布产物逐字节)+ AN-3f(钩子车道 ∧ 问题卡的格逐格显式期望,独立 oracle 判卡)+ R6(活卡帧腿真卡请求);HK1 / HK1b / HK1d / HK2 / HK3 / HK4 / HK14a 改钉(钩子列并上问题类);AN-2b 另许 `classBlocks` 一名且仅是钩子列常量改名;`run-upstream-tables-test.mjs` SA8h 挑类避开问题类,并新钉「真批准位类集抽空后问题类钩子车道仍必问」一格。
|
|
376
|
+
- 新门 `run-input-author-projection-test.mjs`(包侧投影门三件之一;§139 AU;27 格,红先 = 读口叶落地前源码树 12 红):P 事实尺 · B `author`(引擎闭集每个词 × 两臂原字节 / 缺席 / 十四种表外与坏形 / 访问器与原型链)· C `runOrigin`(成员 × 三个读点 / 缺席 / 十种表外与坏形 / 只读 user 行 / 访问器)· D 一只读口(三态对拍 + 键名字面量只落在读口叶、三个读点都从叶里 import 的语法树结构钉)· T 观察者报告丢弃披露的到货 tripwire(引擎通告码册里没有指向它的码;该披露今天没有 wire 载体,见 §139 AU-4 / 包侧缺口)· Z `operatorObjective` 退役零读点。
|
|
377
|
+
- 改 `run-core-7660-pick-projection-test.mjs` H2(表外作者词:原样 → 位缺席 + 读不出位)与两份零读点表(`INPUT_AUTHORS` 移出,现经生成表读)。
|
|
378
|
+
- **出路句按腿分句的钉**(CC-1344;**§139 FW**;扩既有门,不新增门):`run-park-failed-reason-projection-test.mjs` 新增 P12 —— 目录两键两语整句逐字节(`card` 英文 = 修前整句)与键族封闭 · 腿 × 句矩阵(`speak` 六形:耐久行决断口 409 `resume_outcome_invalid` 真形、`approval_binding_mismatch`、`resume_blocked_by_policy`、403 无码、422、码是取值器的 409;`card` 八形:宿主撤卡、卡口自报失败、引擎 500、无状态码的普通错、抛出物 `undefined` / `null` / 空串、状态是取值器)× 同步腿 / 耐久腿逐字相等 × 整句出自目录键 · 触顶收场两支(解析器内编排结局支 / 驱动侧提交预算之后的未决断支,都维持原尾句)· 问答腿 · 单一判点源码钉(出路形参无缺省值、判口恰一处定义三处调用)· 句子不旁路(两句英文字面量在出包 `.js` 里只住英文目录一处);P11 ② 非该族格改钉新尾句;`run-park-row-card-leg-projection-test.mjs` HFb6 正控改取宿主撤卡腿(原取折叠码 409 拒,该形现说「发话重开」)。
|
|
379
|
+
- `run-engine-notice-user-codes-test.mjs` NC4a2 / NC4a3(CC-1377;**§139 MX**):`memory.session_polluted` 开头句两语按引擎事实(不含「took in」/「收进」)· 三只句口外来串超长 ⇒ 以 `…` 结尾且整段不超过封长、恰在封长内 ⇒ 原样无标记;红先 = 改前句与改前封长各自红。
|
|
380
|
+
- `scripts/run-workflow-completion-poll-test.mjs`(新;WP0 – WP8:读数表逐字节 · 推送先到 / 迟到 · 探针 null · 完成无指针 · 同一次完成只出一次 · 轮询上限 · 失败分类与 `-p` 退出门计数)。`run-task-notification-entry-sampling-test` NA1 ⑦ workflow 分支改驱新注入口(读面体入口一次采样);`run-client-core-pure-test` 三处装口改名(语义同:答 `null` / 永不 settle)。
|
|
381
|
+
- **`run-server-7147-pick-projection-test.mjs` 扩 SPf – SPj 五段 + SP1 处置表补五条**(CC-1368;**§139 S7147**):SPf 夹具身份钉在发布字节上(锁文件 integrity 逐字同 registry、夹具根无 stage 标记 / 重打包 tgz、随包精确钉引擎 7.65.0 / 设置契约 20.0.0、随包 wire 变更产物两份且 7.147.0 新增 79 条、发布才有的判据模块;**红先:`SEMA_CC_SERVER_FIXTURE` 指预发布构建时 SPf1 – SPf5 恰红**)· SPg 请求成员读不出的拒(夹具真铸五个面 × 新提交 / 续跑折叠;读口 / 句口 / 邻形不认领 / 不双认领 / 敌意载体)· SPh plan_review 准备段先盖重述再预判(夹具真函数组合律 + 源序钉;本包铸体文件零重述键)· SPi 车道词 `none` 五处读点(设置契约 20.0.0 八词逐词判点、`/health` 无执行车道格、夹具真投影 × 八词、会话放置回声、`exec_lane_selected` / `executionLanes` 不是 wire 面、`in-process` 字面 AST 扫描)· SPj 随包 wire 变更产物新增 79 条按 id 两向逐条对表。SP1 登记差处置表补发布才有的五条(请求成员读不出的三面 + 两句型)。
|
|
382
|
+
- **门侧夹具换代适配另三道**(CC-1368;**§139 S7147-7**;不是产品改动,红先在发布夹具上各恰红一道):`run-project-seed-projection-test.mjs` PS3 按夹具代际取车道行(服务端 7.147.0 起每个部署必须点名执行车道,「未设」与旧词 `in-process` 退出,改用 `none`)· `run-hooks-merged-disable-projection-test.mjs`(FS7 / SM-E / DD-E 共用的入口适配)与 `run-plugin-hooks-projection-test.mjs`(G-HK13 / G-HK13d)改认服务端 7.147.0 的 hook 执行入口复数名 `createSettingsHooksRegistrations`(交回注册数组、上下文多必填位 `belowTaskChainPatterns`),单数老名保留给更早夹具。
|
|
383
|
+
- `run-server-7115-fixture-test.mjs` C4b 按夹具代际分支(CC-1368;**§139 S7147-7**;门侧适配,不是产品改动):发布版把 allow 读法记号 `permissionsAllowReading` 换成按行的写者版本判(`allowListWriterUnproven`,缺席 / 早于 7.117.0 / 预发布 ⇒ 拒),`allowListReadingUnstated` / `allowListReadingEraOf` 退出;本格对发布版问新判据(写者版本 ≥ 7.117.0 不拒、缺席 / 早于 / 预发布 / 读不出拒、体里没有 allow 不拒、新写的行不再带记号),老一代原样。
|
|
384
|
+
- `run-error-supplement-roles-test.mjs` ES1 读口表 +1 只(`unreadRequestMembersContent`,五面 × 新提交 / 折叠十句,自足、零机器码、角色 `replacement`)· `run-catalog-routing-test.mjs` 目录路由登记 +1(句口由 server-7147-pick SPg5 – SPg7 钉)· 公面基线 +2 名。
|
|
385
|
+
- `run-approval-card-face-projection-test.mjs` 多 IS 一段(CC-1366;§139 IS):IS0 型面(`.d.ts` 里卡请求有 `inputSource?: ApprovalInputSource`、词型恰 `'record'` | `'stream'`、根入口只导出词型不导出运行期常量)· IS1 活卡腿记录在场 ⇒ `'record'`(无流上 / 流上相同 / 流上不同并存 `argsRewritten`)· IS2 回落流上五形 ⇒ `'stream'` · IS3 读不出七形 ⇒ 键不落 · IS4 悬挂盲卡两形 ⇒ 键不落 · IS5 游离同名键不抄 · IS6 呈卡族 v1 与通用卡同一映射 · IS7 四只纯投影出口 · IS8 实发与来源位无关 · IP1 – IP5 停驻腿同三族(记录 / 回落五形 / 读不出含流上非对象 ⇒ `no_input` / 游离键 / decide 体不含来源位)· IX 两腿同一对事实同答。
|
|
386
|
+
- `run-seat-contract-keys-test.mjs` 多 K5 一段(CC-1366;§139 IS-4):键集 `inputSource` 紧跟 `frameReading`、覆盖表豁免带理由、d.ts 声明具名词型 · 在场两词 / 出站体逐字节 / 二十四种表外值与自有 `undefined` 不落 · 取值器零执行 / 原型链 / 陷阱抛 / 已撤销代理 · 与请求键的域无关(六种第二参)· 原始待决行五形与取值器 `riskDescriptor` 一律不落 · 两腿 × 记录 / 回落 / 读不出端到端(真呈卡口铸卡 → 过境口 → 座位请求 → 座位门,位逐字节 = 卡上的位;原始帧 / 行直交恒缺席)· 与 `requestedBy` / `frameReading` 并存键序与按键隔离 · 座位门不拒 · 型面编译(直赋回、词表外字面量编译错)。K4a 改钉相对序「`feedbackCapable` → `requestedBy` → `frameReading` 三位相邻」(不再钉末两位与总位数)。
|
|
387
|
+
- 新门 `run-sdk-37-pick-projection-test.mjs`(**§139 PK**;包侧投影门三件之一):八处破坏点各至少一格,真类型包驱动(真抛出物 / 读流器类 / 推送编排 / 本机 `/health` 假端点记录请求头 / 真问答桥),老一代见证(34.x)在盘则跑「缺席合法」格;加面处置表机读(十五键,consumed / pending / declined 三词闭集);src 零处值级 import 类型包 37.0.0 才有的包根名(地板一代加载即失败;尺子植入会响)。地板以上的钉文件 `scripts/sdk-pins/37.0.0.ts` 九组(八处破坏点 + `/health.engineLease` 三位的键集两向钉)+ `run-sdk-witness-compile-test.mjs` 配一只假钉;`scripts/sdk-pins/31.0.0.ts` 钉组 lease 改比「两侧剔掉 `firstAttach` / `lane` / `handover` 后的公共键」(它要对 31.0.0 起每一代编,类型包 37.0.0 声明了这三位)。改既有门:`run-protocol-name-reads-test.mjs` PN2 改口(`checkpoint.invalid_outcome` 真实例 ⇒ 三个打包同答「不铸安全停」)、新增 PN2c(「这一行自己的拒」三个打包同答 `row_integrity`)、PN3 / PN4 字面类名十六 → 十七 · `run-approval-resolution-test.mjs` AR-19 第二形改期望(抛出物是引擎原物、耐久腿不带安全停码)· `run-tool-permission-settled-projection-test.mjs` TS-R5 改按布尔读 · `run-server-7125-pick-test.mjs` Z 段 `rowBits` 读点登记恰一处 · `run-segment-authority-single-source-test.mjs` ④c 判活口单参 · `run-server-7147-pick-projection-test.mjs` 处置表 `wireValueRule` 由 pending 改 consumed · 两只门里手建的读流器错误补耗尽因。退役账 +3 在册行(RL-13760 / RL-13762 / RL-13763)+1 已退役行(RL-13761,形参数钉)。`run-tool-permission-settled-projection-test.mjs` TS-S1f 赎回臂视图 d.ts 位型改钉布尔。
|
|
388
|
+
- **新门 `scripts/run-session-box-lanes-projection-test.mjs`**(CC-138;**§139 SB**;包侧投影门三件之一):车道闭集四员冻结 · 收件箱载体好形 / 计数坏形十二形 × 两必填位整帧不投影 / 可选位只丢自己 / 缺席键不在不补 0 / 在场的 0 保留 / `box` 不投 · 身份三条等式六形 + 最小形 + 老服务端形 ⇒ 退通用卡 · 回执 / 空闲通告 typed 正体读自侧记(载体 `text` 写着状态词也不反推)· 坏形七形整臂缺席 · 可选位坏形只丢那一位 · 访问器零执行 · 标签说明洗法与封长 · 同帧多载体先在场者定车道(侧记 kind 对不上不穿透)· 用户面句子英中逐字(收件箱单复数 / urgent·resupplied 括号段 / 投递回执七词 / 空闲四词 / 表外词中性句不回显 / 原型链词 / 标签缺席)· 入参按不可信读十二形 ⇒ `undefined` · 目录零缺键 · 适配器级:臂在转录行之前、`rowUuid` 指向那一行、键集与字节逐字固定、过座位出站门(去车道证明被拒)、整条输出里无箱句柄串、typed 正体缺席零臂、消息车道与老形零差异 · 跨 run 去重(第二个 run 不被吞 / 同一投影重放仍去重 / `eventId` 同值去重不同值各渲 / 消息车道与通告车道的去重不动)。红先 = 换钉前树(第一格 `PEER_FRAME_LANES` 四员即红);变异六枚各留红读数(见车回执)。既有门 `run-peer-frame-projection-test.mjs` 的车道闭集格 G0b 三员 → 四员;`run-seat-contract-keys-test.mjs` 座位词表十八 → 十九词(`SEAT_KINDS_EXPECTED` 末位 +`session_box_notice`)。
|
|
389
|
+
- 新门 `run-stream-ended-reason-test.mjs`(**§139 RE**;包侧投影门三件之一):判官池逐格(真类型包抛出物与重建形 · 三种 `unknown` 因 · 取值器零执行 · `cause` 窄读 · 表外词不折 · 撤销与全陷阱抛的代理)对真读口全绿、对五枚植入坏读口(折表外词 / 执行取值器 / 老形抛 / 补占位 `cause` 键 / 读数不冻结)各至少红一格;谓词与修前读法对池逐位同答、函数体只调按因读口、判类读法恰一处;停驻臂两词各出各的一句(两语、三句互异、与目录键同字节、类别与重试不随因变)、读不出因沿用老句;生成物快照 = 已装类型包 `STREAM_ENDED_REASONS`;退役账 RL-877 挪进已退役栏、退役锚不再出现;老一代单参构造见证。`run-run-follow-projection-test.mjs` 加 P2(谓词 = 按因读口的派生口)、F0 公面值表 +1;`run-sdk-37-pick-projection-test.mjs` PK3c 改钉退役账;`scripts/sdk-pins/37.0.0.ts` stream-ended 组 +1 钉(词型两向相等);上游表生成器 `gen-upstream-tables.mjs` 的 sdk 批 +1 名(`STREAM_ENDED_REASONS`,下限 33.0.0 → 37.0.0)。
|
|
390
|
+
- **发布前订正五项的钉**(扩既有门,不新增门):`run-engine-repoint-projection-test.mjs` 新增 RP14(旧址无档 × 新址无关设备两形拒、会话字节不变、两证口零调用 · 真迁移中断后带 / 不带上次结局的 `deviceId` 重跑 · 证据坏形四形当缺席 · 旧址有档不读证据 · 列表口地址旧址 / 缺席 / 别址 / 坏形 / 取值器 ⇒ `address-unbound` 且列表零请求 · 同键异拼法照证),RP6j / RP7 / RP10g 重跑改带证据;`run-input-author-projection-test.mjs` 新增 E 段(原始帧 → 投影层 → chrome 臂串联:表外 / 坏形 / 访问器形两只读不出位保留、取值器整条链零执行、正常缺席不铸、成员词原字节、读口幂等);`run-park-failed-reason-projection-test.mjs` 新增 P13(两代服务端的「这一行自己的拒」三形 ⇒ 取消专句、两腿逐字相等;绑定席 / 两词都缺席对照仍是发话重开);`run-workflow-completion-poll-test.mjs` 新增 WP9(读数带 / 不带 `error` 六形、封长、呈前出口、轮询交件句尾、交件事实 `error` 与句尾同字节并经事实读口读回、推送被挡时模型已有原因、标签形不越狱),WP1 / WP5 随之改口。红先:四门在订正前的源码上分别 15 / 5 / 3 / 7 格红。
|
|
391
|
+
- `run-seat-engine-target-test.mjs` ET2 / ET6 / ET7 / ET9 改钉(CC-1173;**§139 ES-1**):最小合法态改为 `local` 只带 `lifecycle`;`local: {}` 与只带 `mcp` 的本机半边拒(`missing key`、`local.lifecycle`)· ET9「不带 `lifecycle` 的旧宿主照旧自写 `lastBootError`(过渡臂)⇒ 过」改判为拒(同一拒因)· 铸口坏形产物交出站门同一拒因 · 坏值行各带合法 `lifecycle`(一格只坏一处)· 换代序列里起不来那一拍的本机半边改由铸口出。
|
|
392
|
+
- 退役账 `scripts/retirement-ledger.json`(CC-1173;**§139 ES**):RL-12679 执行、挪进已退役栏;RL-12674 条件改支持底线形(服务端 7.147.0),源码条件句同字;RL-12675 / RL-12676 / RL-12677 到期挂链首(终端删引用),到货即删。
|
|
393
|
+
|
|
52
394
|
## 0.109.0(2026-11-07)
|
|
53
395
|
|
|
54
396
|
> 主题:停驻行三态归属判官 `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**)。
|