@sema-agent/client-core 0.108.0 → 0.110.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 +294 -0
- package/README.md +77 -40
- package/dist/adapt/arms.js +41 -13
- package/dist/adapt/textStream.d.ts +2 -0
- package/dist/adapt/textStream.js +37 -16
- package/dist/adapter/activeRunSelfHeal.js +1 -1
- package/dist/adapter/downstream/eventToSdkMessage.js +11 -5
- package/dist/agentSession/engineAgentRegistryRead.js +2 -0
- package/dist/bashExitReading.d.ts +12 -0
- package/dist/bashExitReading.js +44 -0
- package/dist/checkpointRowVerdict.d.ts +1 -1
- package/dist/checkpointRowVerdict.js +4 -2
- package/dist/compensations.js +1 -1
- package/dist/declared/supportFloorDeclared.js +1 -1
- package/dist/displayUntrusted.js +132 -14
- package/dist/engineAgentAbsence.d.ts +2 -0
- package/dist/engineAgentAbsence.js +28 -0
- package/dist/engineErrorCodes.d.ts +7 -0
- package/dist/engineErrorCodes.js +7 -0
- package/dist/engineHealthFacts.d.ts +26 -0
- package/dist/engineHealthFacts.js +63 -4
- package/dist/engineInlineTaskStats.d.ts +4 -3
- package/dist/engineInlineTaskStats.js +18 -2
- package/dist/engineNoticeCodes.d.ts +138 -0
- package/dist/engineNoticeCodes.js +662 -55
- package/dist/engineRepoint.d.ts +140 -0
- package/dist/engineRepoint.js +285 -0
- package/dist/engineRowRef.js +2 -0
- package/dist/engineSessionMessages.d.ts +2 -1
- package/dist/engineSessionMessages.js +5 -0
- package/dist/errorSupplementRoles.js +5 -1
- package/dist/fleet/fleetProjection.js +3 -2
- package/dist/fleetTaskDesc.js +3 -3
- package/dist/generated/engineFactTables.d.ts +3 -0
- package/dist/generated/engineFactTables.js +18 -0
- package/dist/generated/engineNoticeTables.js +3 -0
- package/dist/generated/sdkFactTables.d.ts +1 -0
- package/dist/generated/sdkFactTables.js +4 -0
- package/dist/hitl/approvalAskers.d.ts +6 -0
- package/dist/hitl/approvalAskers.js +30 -0
- package/dist/hitl/approvalCardReasons.js +25 -4
- package/dist/hitl/approvalRequestFrameReading.d.ts +21 -0
- package/dist/hitl/approvalRequestFrameReading.js +90 -0
- package/dist/hitl/approvalResolution.d.ts +8 -1
- package/dist/hitl/approvalResolution.js +4 -0
- package/dist/hitl/approvalsFeed.js +1 -1
- package/dist/hitl/askGateWire.js +0 -2
- package/dist/hitl/askParkRowRouting.js +5 -2
- package/dist/hitl/automaticAnswerVerdict.d.ts +5 -2
- package/dist/hitl/automaticAnswerVerdict.js +18 -4
- package/dist/hitl/decisionConflict.d.ts +2 -1
- package/dist/hitl/decisionConflict.js +10 -4
- package/dist/hitl/decisionRefusal.js +1 -0
- package/dist/hitl/decisionSend.d.ts +3 -0
- package/dist/hitl/decisionSend.js +29 -11
- package/dist/hitl/editedApprovalAcceptance.d.ts +25 -0
- package/dist/hitl/editedApprovalAcceptance.js +26 -0
- package/dist/hitl/frameRouter.js +13 -19
- package/dist/hitl/gateLedger.d.ts +0 -4
- package/dist/hitl/gateLedger.js +0 -19
- package/dist/hitl/hitlBridge.d.ts +5 -0
- package/dist/hitl/hitlBridge.js +13 -9
- package/dist/hitl/hitlHostSurface.d.ts +1 -0
- package/dist/hitl/hitlHostSurface.js +7 -2
- package/dist/hitl/hostWithdrawal.d.ts +15 -0
- package/dist/hitl/hostWithdrawal.js +38 -0
- package/dist/hitl/livePendingAsk.js +17 -16
- package/dist/hitl/localAllowRule.js +2 -1
- package/dist/hitl/noAllowCause.d.ts +1 -1
- package/dist/hitl/noAllowCause.js +4 -2
- package/dist/hitl/parkExpiryJudgements.js +26 -1
- package/dist/hitl/parkOwnership.d.ts +2 -0
- package/dist/hitl/parkOwnership.js +48 -8
- package/dist/hitl/parkResolver.js +32 -16
- package/dist/hitl/parkedUnresumable.d.ts +13 -0
- package/dist/hitl/parkedUnresumable.js +80 -0
- package/dist/hitl/permissionRuleScope.d.ts +4 -0
- package/dist/hitl/permissionRuleScope.js +31 -0
- package/dist/hitl/persistedRulesWire.d.ts +2 -0
- package/dist/hitl/persistedRulesWire.js +13 -12
- package/dist/hitl/planReviewWire.js +14 -4
- package/dist/hitl/sessionAllowRoute.js +5 -4
- package/dist/hitl/sessionPolicyWire.js +6 -4
- package/dist/hitl/standingRows.d.ts +2 -5
- package/dist/hitl/standingRows.js +30 -15
- package/dist/hitl/toolApprovalWire.d.ts +42 -9
- package/dist/hitl/toolApprovalWire.js +267 -44
- package/dist/hooksWireCaps.js +35 -4
- package/dist/hostSettingsSource.js +2 -0
- package/dist/hostTurnSettings.d.ts +10 -4
- package/dist/hostTurnSettings.js +112 -5
- package/dist/i18n/messages.en.d.ts +251 -0
- package/dist/i18n/messages.en.js +254 -2
- package/dist/i18n/messages.zh.js +264 -2
- package/dist/index.d.ts +48 -12
- package/dist/index.js +29 -7
- package/dist/inheritEnvCapability.js +2 -0
- package/dist/inputAuthor.d.ts +16 -0
- package/dist/inputAuthor.js +44 -0
- package/dist/interruptRefusalNote.d.ts +2 -0
- package/dist/interruptRefusalNote.js +17 -0
- package/dist/liveModelCatalog.d.ts +2 -0
- package/dist/liveModelCatalog.js +21 -7
- package/dist/liveQuestionStore.d.ts +4 -1
- package/dist/liveQuestionStore.js +12 -3
- package/dist/localEngineJudge.d.ts +75 -0
- package/dist/localEngineJudge.js +242 -0
- package/dist/localEngineOccupancy.d.ts +88 -0
- package/dist/localEngineOccupancy.js +269 -0
- package/dist/localEngineSeatReading.d.ts +29 -0
- package/dist/localEngineSeatReading.js +294 -0
- package/dist/localEngineSpawn.d.ts +113 -0
- package/dist/localEngineSpawn.js +486 -0
- package/dist/localEngineStep.d.ts +286 -0
- package/dist/localEngineStep.js +1086 -0
- package/dist/localEngineStopLadder.d.ts +29 -0
- package/dist/localEngineStopLadder.js +139 -0
- package/dist/localEngineSwapCard.d.ts +43 -0
- package/dist/localEngineSwapCard.js +205 -0
- package/dist/localEngineTiming.d.ts +8 -0
- package/dist/localEngineTiming.js +8 -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 +132 -20
- package/dist/mcpWireCaps.js +2 -2
- package/dist/memoryEntriesWire.d.ts +1 -1
- package/dist/memoryEntriesWire.js +5 -0
- package/dist/modelCapabilityProbe.js +4 -3
- package/dist/modsFace.d.ts +8 -1
- package/dist/modsFace.js +27 -0
- package/dist/noticePresentation.d.ts +2 -0
- package/dist/noticePresentation.js +79 -1
- package/dist/notifications.d.ts +17 -6
- package/dist/notifications.js +67 -19
- package/dist/ownKey.d.ts +5 -0
- package/dist/ownKey.js +8 -1
- package/dist/peerFrames.d.ts +40 -2
- package/dist/peerFrames.js +158 -3
- package/dist/pluginHooksWire.d.ts +2 -1
- package/dist/pluginHooksWire.js +56 -1
- package/dist/replayBody.js +10 -2
- package/dist/request/taskRequest.d.ts +5 -0
- package/dist/request/taskRequest.js +138 -21
- 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/ruleReadings.js +1 -1
- package/dist/seam.d.ts +24 -2
- package/dist/seam.js +15 -2
- package/dist/seatContract.d.ts +125 -10
- package/dist/seatContract.js +373 -7
- package/dist/sessionBackground.js +4 -1
- package/dist/sessionBackgroundHandoff.js +2 -1
- package/dist/sessionEngine.d.ts +2 -0
- package/dist/sessionEngine.js +111 -0
- package/dist/sessionMemoryStatus.d.ts +2 -1
- package/dist/sessionSyncFileHistory.d.ts +4 -0
- package/dist/sessionSyncFileHistory.js +28 -0
- package/dist/sseIdleTriage.d.ts +13 -1
- package/dist/sseIdleTriage.js +24 -6
- package/dist/subagent/engineSubagentTail.js +6 -0
- package/dist/subagentContentStore.d.ts +12 -0
- package/dist/subagentContentStore.js +72 -11
- package/dist/terminalStatuses.d.ts +1 -0
- package/dist/terminalStatuses.js +4 -1
- package/dist/toolResult.js +18 -5
- 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/wireFailureShape.d.ts +22 -5
- package/dist/wireFailureShape.js +47 -26
- package/dist/wireRefusalCopy.d.ts +31 -1
- package/dist/wireRefusalCopy.js +167 -2
- package/docs/INTEGRATION-CLIENTS.md +3269 -21
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -49,6 +49,300 @@
|
|
|
49
49
|
> 挡住 ⇒ 本批把它机械化——④a0 对 `pending` 行**要求段头已是日期形**(`(未发布)` 直接红),阶段一
|
|
50
50
|
> commit 漏转在发布前就红,不再靠人记。
|
|
51
51
|
|
|
52
|
+
## 0.110.0(2026-11-08)
|
|
53
|
+
|
|
54
|
+
> 主题:展示出口凭据面:方案词 `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` 的本机半边)
|
|
55
|
+
|
|
56
|
+
### Added
|
|
57
|
+
- **读流器耗尽的按因读口 `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`。
|
|
58
|
+
- **宿主收卡:卡口决断加臂 `{ 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` 且卡不动。包**不读**行判决:交来的判决经停驻行判决读口原样再读一遍校形、冻结,随结局交回。
|
|
59
|
+
- **`registerLocalQuestionResponder` 多一只可选第三参 `onWithdraw`**(CC-1313;**§139 PW-3**;型面加性):本地合成的问卡登记收卡钩;宿主口一次性取走这一格(与作答同一只一次性:答了收不了,收了答不了)后调它恰一次。不给 ⇒ 宿主口答 `not_withdrawable`,卡照旧可答。
|
|
60
|
+
- **座位请求 `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 行,坏值不拒整条请求)。缺席语义:缺席 ≠「没有原因」,渲染端缺席不渲这一行。
|
|
61
|
+
- **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` 升级、其余不升级,逐字不变)。
|
|
62
|
+
- **宿主通知档位:座位能力位 `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` 两词同写)。
|
|
63
|
+
- **会话 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`)。出站门闭形:两形行逐键,两形键同在 / 表外臂 / 访问器拒,永不抛。
|
|
64
|
+
- **部署声明的 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` 读数不变。
|
|
65
|
+
- **宿主自供项入口多一把键 `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`(与各键同律,带车道射程);环境上的取值器不执行(按不在场)。
|
|
66
|
+
- **车道表 `REQUEST_FIELD_MATRIX` 一行 `settings.env`**(CC-1322;**§139 HE-3**):interactive / print 有座、`live: true`(与 `settings.hooks` 同座);utility 无座(去向回执 `off_lane`,零值)。入参 `settings` 上手填 ⇒ 按名拒并指向产物(修前按「不认识的键」拒);座位入站判官拒渲染端送的 `settings.env`(宿主自供)。
|
|
67
|
+
- **审批卡入参 / 卡事实多一只可选位 `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 包之后才会出现,绝大多数部署上恒缺席 —— 缺席不能读成「模型发起」。
|
|
68
|
+
- **句口 `approvalRequestedBySentence(by, lang?)`**(CC-1327;**§139 RB-4**;型面加性:根入口运行期 +1):合形读视图 ⇒ 英文「Requested by {name}」/ 中文「由 {name} 发起」(消息目录键 `config.mods.request.by`,与 `modCardSentence` 的「被 {by} 拒绝」同域同族);名字位与 mod 句口同一只展示出口(换行折平 · 双向符可见化 · 凭据形遮盖 · 封长 64),同一个名字在两句里展示逐字相同;读不出 / 坏形 / 展示后一无所有(全空白名字)⇒ `undefined`,不出「Requested by 」半句。端不自铸句。
|
|
69
|
+
- **审批卡「谁问的、为什么问」的唯一读法 `approvalAskReasonsOf(carrier)` 上根入口**(CC-1327;**§139 RB-5**;型面加性:根入口运行期 +1):就是卡投影内部用的那一只(同一引用,语义不变,见 §137 AR-2);自己拿到活卡帧 / 呈卡帧 / 队列行的宿主读同一只,不手抄判形。`approvalAgentIdOf` 仍是包内件。
|
|
70
|
+
- **`applyLiveRequestDefaultsWithNotices(req, host)` → `{ request, notices }` + 型 `LiveRequestDefaultsResult`**(CC-1339;**§139 SK-4**;型面加性:根入口运行期 +1、型 +1):与 `applyLiveRequestDefaults` **同一实现**,后者恒等于前者的 `.request`(逐字节);多交一份本层判出的 `notices`(冻结;无句 ⇒ 空数组),即借道臂没把用户风格正文带上的那一句。入参请求体不被改。
|
|
71
|
+
- **通告句 id +2:`HS-STYLE-OVERSIZE` / `HS-STYLE-UNREADABLE`**(CC-1339;**§139 SK-5**;`HostSettingNoticeId` 联合 +2 员 ⇒ 对该联合穷举的端编译红,补两员):走既有 `HostSettingNotice` 与消息目录(en / zh 两语,限额数插值),plane 恒 `turn`,不回显用户正文任何片段。
|
|
72
|
+
- **重拨判决的句子单源口 `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`,永不抛。
|
|
73
|
+
- **引擎腿「这台要用户去授权」的纯函数判法 `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 时已到期,本口直接读结构化态、不建出生即过期的过渡臂。
|
|
74
|
+
- **失败读数的状态小段 `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.*` 两键,中文解释词不带前导空格),永不抛。
|
|
75
|
+
- **座位回执位 `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`(另六个动词共用)不加宽。
|
|
76
|
+
- **活卡答复口回执读口认赎回臂**(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 判别:赎回回放形不是首决回放臂)。
|
|
77
|
+
- **一次性「引擎改指」:编排口 `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` 一只(与换绑三口同源)。
|
|
78
|
+
- **会话映射记录的绑定快照多一个写口 `repointSessionEngine(store, from, to)`**(CC-1139;**§139 RP-5**;加性):首写仍只经 `commitSessionEngine`;引擎**地址**换了而引擎还是那一台时,地址族快照与该键条目整体平移到新地址键(会话 id 与条目其它位原样),存储锁内新鲜读、幂等、新地址键上已有条目 ⇒ `conflict`(字节不变)、旧记录(无快照)的旧键条目同平移;声明族 / 自起族 / 别键的会话不归本次改指。通用 merge 照旧不碰快照位。
|
|
79
|
+
- **控制台中心用量体的金额判词 `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` 时为真。引擎卡金额位的界推导抽成同一只模块私有函数,与键缺席形共用(单一界推导;引擎卡读数逐格同修前)。本包不出人话句。
|
|
80
|
+
- **插件 hook 的本端跳过口 `pluginHooksKeptLocally(plan, pluginId, event, groupIndex, hooks)`**(CC-881;**§139 HC-2**;型面加性:根入口运行期 +1):`settingsHooksKeptLocally` 的插件对位口。关腿计划(`closedBy` 非 `null`)⇒ `[]`,任何插件 / 事件 / 下标;否则逐只按 `pluginHookVerdictOf` 剔掉判给引擎的(查不到判定的留给本端,与修前壳自己写的那一句同),零改动交回同一数组引用。
|
|
81
|
+
- **设置来源拿掉依据闭集 `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)。
|
|
82
|
+
- **目录行推理位的读口 `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` 是同一个三态联合。
|
|
83
|
+
- **引擎通告 `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`(引擎后续切片的词到货前本包不为其造句)。
|
|
84
|
+
- **审批卡「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;体与无备注逐字节同)。
|
|
85
|
+
- **座位请求 `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 行,带成文理由)。
|
|
86
|
+
- **被挡臂终局句的出句口 `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`。
|
|
87
|
+
- **审批卡请求 `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` 一样是装配点补的宿主位)。
|
|
88
|
+
- **「这张卡收不收『编辑后批准』」的判口 `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`),零用户字节:这次批准没有发出 · 为什么 · 原卡照旧在等你决断。
|
|
89
|
+
- **存档 user 行的出身词**(CC-1069;**§139 AU-3**;加性):`projectEngineSessionMessages` 对 `role: user` 的存档行多读 `runOrigin` ⇒ 消息多两只可选超集键 `_sema_run_origin`(成员原字节)/ `_sema_run_origin_unreadable`(在场但读不出,严格 `true`);读法与帧上同一只口。存档行不带 `author`(引擎不落盘),不造行级作者位;assistant / toolResult 行不读。
|
|
90
|
+
- chrome 臂 `HumanInputChromeEvent` 多三只可选位 `authorUnreadable` / `runOrigin` / `runOriginUnreadable`(缺席语义见 §139 AUb)。公面名零增减。
|
|
91
|
+
- **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。
|
|
92
|
+
- **看守 workflow 半场的读面注入口 `installWorkflowRunReader(reader)` + 型 `WorkflowRunReader`**(**§139 WF-2**):宿主交 `(runId) => Promise<unknown>`,答的就是 `workflows.get` 的原体;终局判定与模型面正文都在包里。传 `null` 卸下。
|
|
93
|
+
- **请求成员「本版读者读不出、而本部署本会采纳」的拒:读口 `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`(走通用拒绝路径,服务端原句),不猜面、不编坐标。
|
|
94
|
+
- **审批卡请求 `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 行,带成文理由)。
|
|
95
|
+
- **推送结果的行位句口 `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 两向编译期钉。
|
|
96
|
+
- **会话箱车道三载体的投影:车道闭集第四员 `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)`(类型包仅此一位有型面),不新增臂。
|
|
97
|
+
|
|
98
|
+
### Changed
|
|
99
|
+
- **失败呈现的停驻臂按因分句**(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),术语槽登记。
|
|
100
|
+
- **判型谓词 `isStreamEndedWithoutTerminalError` 改为按因读口的派生口**(CC-877;**§139 RE-4**;公面零变、答案对所有入参逐位不变):不再自带读法 —— 答案 = 按因读口「读数不是 `not_this_class`」;判类读法(instanceof + 自有数据位 `name`)在源码里只剩 `isStreamEndedClass` 一处。三端调用点零改。
|
|
101
|
+
- **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)。
|
|
102
|
+
- **展示出口:方案词 `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)。
|
|
103
|
+
- **型面加宽:`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` 兜底的端编译红,补一臂(不渲句)。
|
|
104
|
+
- **开流记录的重放诊断位与账本观看泵的「重放不是执行终局」改走包内唯一的重放读法**(CC-1314;**§139 DR-1 / DR-2**;行为变,只在「终帧只带 `result.replay: true`、帧上没有 `replay` 位」这一形;在包,零型变、零公面变、零新名):修前这两处各自按字面键直接读终帧上的 `replay` 位,不经唯一读法 `isReplayedTerminal`(帧位自有数据位 ∨ 体位,各自受保护读) —— 终帧只带体位(重放出口的形:同键命中一条已落行的 run)时,唯一读法答「是重放」,这两处答「不是」:送后台的观看泵会把这样一帧当成执行终局、落定「已完成」,开流记录的诊断位也记假。修后三处(结果帧出口 / 开流记录 / 观看泵)和提交编排口读同一个答案;帧位是自有访问器时仍不执行、当没有,帧上 `result` 取值器抛不外抛。送后台的判序、交接与停止口不读这一位(它只作诊断),观看泵之外零变化。
|
|
105
|
+
- **唯一读法里「帧位」这一步登记退役,本版不删**(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 之后的下一个本包版本删去,由退役登记门到期强制。
|
|
106
|
+
- **「为什么问」两位的读点收成一只**(CC-1316;**§139 PR-3**;零型变、零公面变、行为零变):`askProbeReasonDetail` 修前自己读两位;现在句口与过境口经包内同一只读点。判法与读序一字未改,同一张卡交句口、或铸成座位请求再交句口,答案逐字节同。
|
|
107
|
+
- **成文改口(§139 PRd)**:接入文档 §117(0.91.0)里「`probeReason`……不进座位过境口」的末半句作废,过境口把它与 `probeCause` 原样过境到座位请求同名位;前半句不变(展示 / 分诊元数据,永不是裁决输入)。
|
|
108
|
+
- **接入文档成文改口**(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` 行的处置一并改口。
|
|
109
|
+
- **派发前重判 `refilterHostSettings` 对 `settings.env` 只能更紧**(CC-1322;**§139 HE-4**;行为变,只在请求带这一键时):只留「hooks 取交之后要带的 http 条目名集里」∧「此刻的产物也带」的名(此刻那一行漏接 ⇒ 只按名集);值不换;剩空 ⇒ 整键删;请求上那一份不是普通记录 ⇒ 拒发(与 hooks 那一份判不清同一句)。请求不带这一键 ⇒ 与上一版逐字节同。
|
|
110
|
+
- **装配口收产物的自洽判多一条**(CC-1322;**§139 HE-5**):要带的 `settings.env` 只许是要带的 hooks 名集里的名、值是串、非空;拼装 / 克隆的产物多带一个名 ⇒ 按产物坏形拒(克隆的自洽产物照收)。
|
|
111
|
+
- **成文改口(§139 HEd)**:§138 SP-5a「本包不铸 `settings.env`(零铸点)」自本版起作废 → 本包铸点恰一只(宿主自供项入口)。
|
|
112
|
+
- **成文改口(§139 RBd)**:接入文档 §132 SV-7 与包侧缺口 ㉗、§133 处置表里「`requestedBy` 不上卡入参」、本文件 0.104.0 CC-1089 条的「卡上不显示(本版只追平键镜像)」作废,自本版起活卡帧与呈卡帧两处顶层的 `requestedBy` 上卡;§137 AR 子节「`approvalAskReasonsOf` 不上根入口」作废。已发段字节不动。
|
|
113
|
+
- **自我认知块借道臂不再整只覆盖请求上的 `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**)。
|
|
114
|
+
- **自我认知块一等位臂(能力位为真)同借道臂一条合并律:合并请求顶层已有的 `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` 取;仍调原口的端,这一发的丢弃对用户不可见。
|
|
115
|
+
- **请求体 `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`),设置来源与插件来源读同一张生成表。
|
|
116
|
+
- **会话规则撤销动词「放宽被拒」那一句按真语义改口,并收成消息目录单源**(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`(收紧动词自己的拒句)本版不动。
|
|
117
|
+
- **活卡答复口与发送机审批族对赎回回放形读首决**(CC-1331;**§139 SL-5**;行为变:只在赎回回放形上):`surfaceToolApprovalFrameAndRespond` 对回放体的三处判处(首决回放臂 / 赎回回放形 / 读不全的回放兜底)共用一只结局铸口 —— 落定的决断词 = 首决,多带 `settledElsewhere`;赎回回放形读得全时结局还带 `ack`(赎回臂视图)。`sendHitlDecision` 审批族对赎回回放形的 `settled_elsewhere` 由「只说早已决」变成带首决与 `contrary`(与首决回放臂同一件事一条读法;`hitlDecisionOutcomeContent` 对相反的赎回回放出句)。**非回放形一字不动**:applied 臂、赎回臂首赎回形(这一发就是赎回那一发,决断词 = 发出去的那一词,结局仍无 ack)、void、空对象、停驻、抛错的结局键集与修前逐字同;规则存没存上读口 `readRulePersistOutcome` 对赎回臂仍答 `unknown`。
|
|
118
|
+
- **发送机结局句口与座位句口共用一只句口函数**(CC-1331;**§139 SL-3**;字节不变):「这一请求已在别处被答成相反的决定,你的那一个没生效」两句的唯一引用点;`hitlDecisionOutcomeContent` 输出与上一版逐字节同。
|
|
119
|
+
- **`settingsHooksKeptLocally` 在关腿计划上一律答 `[]`**(CC-881;**§139 HC-1**;🔴 行为变,**收紧方向**;零型变):修前对 `closedBy` 为 `workspace_untrusted` / `governance_unreadable` / `policy_disable_all` 的计划按「读不懂、宁可多跑」原样交回全部条目 —— 非引擎事件、没带来源的组、压缩没压的分支都走不到按层判 ⇒ 托管策略读不出 / 工作区未受信 / 托管关停的回合里,设置来源 hooks 仍由本端全跑,与「治理读不出一律按限制处置」相反。现在先读 `closedBy`,在场而非 `null` / `undefined` 即关(含读不出的在场值:访问器不执行、只在原型链上、读描述符就抛的代理、集外词 ⇒ 按关);缺席 / `null` ⇒ 不变;计划整体不是对象 ⇒ 沿用既有「读不懂、原样交回」。
|
|
120
|
+
- **关腿计划逐来源逐条填 `settingsDropped`**(CC-881;**§139 HC-3**;🔴 行为变;零型变):修前整腿关(三词任一)的计划 `settingsDropped` 恒空,壳无从逐来源说「为什么不跑」。现在五层文档里每只条目一行 `{ source, event, groupIndex, hookIndex, reason: <closedBy>, notRun: true }`,下标指原文;读的是宿主设置源那一次读成的快照文档(捕获不过的层整层按没有处理,零行),形不对的件(非数组 / 非对象)只认形跳过。整腿没关 ⇒ 不出现这三词的行。
|
|
121
|
+
- **`hooksNotRunNotice(plan)` 对 `governance_unreadable` 关腿逐「来源 × 依据」说一句**(CC-881;**§139 HC-4**;行为变):`policy_disable_all` 仍恰一句原因句(不变)、`workspace_untrusted` 仍不借清单(信任步骤是它自己的面)。
|
|
122
|
+
- **🔴 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 的端零动作。公面运行期导出名与型名零变。
|
|
123
|
+
- **同名型 `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` 一行随之删。
|
|
124
|
+
- **协议类名读口只剩三态,真 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` 位与协议名读口的第二参随之退出(非公面)。
|
|
125
|
+
- **探针落笔:`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` / 缺席),它是测量,不是声明。
|
|
126
|
+
- **看图位 / 推理位 / 档位读口 / 行视图读同一条折词口**(CC-778;**§139 MC-2**;零形变、零行为变):此前「布尔 ⇒ 三态词」的折法写了三份(看图位读口、档位读口的推理分支、行视图的 `typeof === 'boolean'`),现在都经一只包内折词口(只认严格布尔,其余一切 ⇒ `unknown`)。`liveModelRowsOf` 的 `reasoning` 位保持「yes / no 才带、`unknown` ⇒ 键缺席」,`effortLevelsOf` 的推理分支仍是 `not_clamped` / `not_applicable` / `unknown{reasoning_unreported}`;`LiveModelInfo` / `LiveModelRowView` 的头注写明三态。
|
|
127
|
+
- **编译期钉:引擎 `Model.reasoning` / `Model.input` 可选**(CC-778;**§139 MC-7**;零公面变):探针落笔口的条目型接得住引擎 `Model` 的推理位,且两位都可选 —— 上游把任一位改回必填,本包 tsc 当场红(红射程恰是「按 boolean 读这两位」的读点;本树清点:零处按 boolean 读)。
|
|
128
|
+
- **呈卡帧判因的读点收成一只:包内 `cardPayloadReadingOf`**(CC-1345;**§139 TP-3**;零型变、零公面变、行为零变):通用卡第一行「按因选句」(`approvalCardReasons` 的 `payload_unreadable` 行)修前自己读 `cardPayloadUnreadable` / `cardPayloadUnreadableWhy` 两格;现在这一行与座位过境口的 `frameReading` 经同一只读口,判法与读序一字未改(严格 `=== true` + 闭集三词精确字节),因此同一张卡上座位看到的因与卡面说的那句恒同源。
|
|
129
|
+
- **活卡入口对调用方交的 `run`(第六参)按自有数据位读**(CC-883;**§139 RI-2**;行为变,**收紧方向**;零型变、零公面变):`run.taskId` / `run.sessionId` 修前按普通属性读 —— 自有取值器会被执行,抛的代理让入口 reject。现在取值器不执行、只在原型链上的位不算、非串 / 空串 / 读抛 ⇒ 那一位缺席,卡照呈、决断照走;持有表身份与上卡的 `taskId` 吃入口读的同一份读数(此前身份函数自己读一遍)。交良构 `{ taskId, sessionId }` 对象的宿主逐位不变。
|
|
130
|
+
- **两条发送腿的编辑闸改读判口;底栏常量改由目录键派生**(CC-1306;**§139 ER-3**;行为零变):活卡帧腿与耐久停驻腿各在呈卡之前对自己铸的卡请求读一次判口、拿快照做闸(`state !== 'accepts'` 且答复是放行带改写 ⇒ 一个字节都不发,结局 `not_sent{edit_refused}`),修前两腿各自内联一份条件;宿主在卡期间改卡请求上的位改不了闸。`EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT` 字节与修前逐字相同,由同一目录键的英文派生,型由字面量型放宽为 `string`。
|
|
131
|
+
- **`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` 读法不变。
|
|
132
|
+
- **转录行侧挂键全集 `TRANSCRIPT_ROW_SIDECAR_KEYS` +2:`_sema_run_origin` / `_sema_run_origin_unreadable`**(CC-1069;**§139 AU-3**;加性,冻结表内容 +2、零型变、公面名零变):存档行投影的 `user` 行同批起带这两键,表按「本包加行键必同批入表」补登;按白名单重建转录行、展开本表的端零改码即保住这两键。
|
|
133
|
+
- **`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)超长时,截断处接 `…`(整段仍不超过封长);不超长的逐字节不变。
|
|
134
|
+
- **轮询来路见终局 ⇒ 交一次完成**(**§139 WF-3**;🔴 行为变):看守每拍(节拍与两小时放弃上限不变)问读面口,读数为终局且这条 run 还没交过 ⇒ 经与 `enqueueEngineWorkflowNotification` 同一只入队内核(同一道 runId 门、同一构造口)入队一件 `{ taskId: runId, taskType: 'workflow', status, summary, result? }`;`summary` 是包句(只说「终局读自 run 记录、该记录没有全文手柄」),**不指任何取件工具**;事实不带 `completionId`(读面没有,不拿 runId 顶替)。推送先到 ⇒ 不再问读面口;探测在飞时推送到 ⇒ 探测回来即停、不碰入队内核;轮询先到 ⇒ 后到的补投帧 / 直调口被同一道门挡下,live 回声不渲第二行 —— 同一次完成只交一次。读面口答 `null` / 非对象 / 抛 / 超截止 ⇒ 本拍不交、不弃,两小时上限照旧走唯一放弃出口。停驻收束的 run(`awaiting approval`)轮询来路不替引擎交(怎么决定、怎么续只有引擎那条通知说得出),等推送。
|
|
135
|
+
- **停驻收束的判法收成一只**(**§139 WF-1**;零行为变):fleet 显示判官 `workflowRunDisplayStatusOf` 的停驻终态臂与新终局读口同读包内谓词(`failed` ∧ 引擎停驻码,逐字节),显示词逐词不变。
|
|
136
|
+
- **门夹具现役服务端 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)。
|
|
137
|
+
- **换钉类型包 `@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`(不进构建、不进包)。
|
|
138
|
+
- **决断类续跑「这一行自己的拒」(`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`,不铸安全停(修前那一形照旧安全停,与分码读数两种说法)。只排除上游已改族的这一码,「码或名任一正面证据即安全停」的闭合失败总律不放宽:别的码配绑定类名、码被剥掉只剩绑定类名的重建形照旧安全停。
|
|
139
|
+
- **赎回臂读视图 `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)。
|
|
140
|
+
|
|
141
|
+
- 🔴 **座位本机半边 `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` 的渲染照旧。
|
|
142
|
+
- **本机引擎空闲谓词的后台合取项 `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)。
|
|
143
|
+
|
|
144
|
+
### Deprecated
|
|
145
|
+
- `replayedApprovalClosesCardFrame`(CC-1332;**§139 DF-4**):旧并发期的宿主谓词 —— 「这一重放处置该让同一只问的呈卡族卡帧按已收口去重」。本包自己的帧腿已不再用它;终端删掉按它收口旧族已收口集的读点之后的下一个本包版本删(根入口运行期 −1,型面 BREAKING;退役登记 RL-13323)。
|
|
146
|
+
- `EnginePortFile` / `TOCConfig` / `EngineInstance`(CC-1173;**§139 ES-3**;0.109.0 起弃用):本版到期而**不删** —— 终端源码仍引用这三型;终端与桌面端删掉引用(改读宿主库的锚点型 / 本包注入面 / 本机引擎引用)之后的下一个本包版本删(公面删型,型面 BREAKING,随 minor;退役登记 RL-12675 / RL-12676 / RL-12677)。
|
|
147
|
+
|
|
148
|
+
### Removed
|
|
149
|
+
- **谓词 `isStreamEndedWithoutTerminalError` 自己的独立读法**(CC-877;**§139 RE-4**;退役登记 RL-877 执行,行挪进已退役栏;包内、公面零变):0.105.0 登记的「只答是不是这一类」的单一读法,退役条件(类型包声明 `reason` + `cause`)自类型包 37.0.0 起满足。退役形 = 谓词保留为派生口(调用点零改,读法只剩一只);要分两种耗尽的读 `streamEndedReasonOf`。
|
|
150
|
+
- **旧并发期的两条跨族关联臂退役**(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。
|
|
151
|
+
- 座位契约「呈卡臂」义务句与 chrome 臂头注不再成文「同一只 ask 出两帧、先旧族后本帧、去重是宿主的动作」(**§139 DF-3**;成文改口):同一只审批从几条路到手的去重读法不变(开卡前调 `claimApprovalCard`),只去掉已不成立的前提。
|
|
152
|
+
- **四项到期过渡物退役**(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,见上)。四行退役登记挪进已退役栏。
|
|
153
|
+
- 🔴 **`installWorkflowStatusProbe` 退役**(**§139 WF-2**;型面 BREAKING:根入口运行期 −1):旧口要宿主自己判终局、自己铸完成句(`{ terminal, status, summary }`),与新读口是同一问的两条读法;旧答形里「还在跑」那一形 `{ terminal: false, status: 'completed' }` 喂给新读口会被读成完成,所以换名而不是在原口改答形 —— 编译红即迁移点。
|
|
154
|
+
- **判活口 `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 起)自己读。
|
|
155
|
+
|
|
156
|
+
### Fixed
|
|
157
|
+
- **宿主设置产物的输出风格键落风格正文、不再落风格名**(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` 的服务端上限(包侧缺口)。
|
|
158
|
+
- **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`。
|
|
159
|
+
- **后台子代的委派卡徽章在子代起跑之后仍停在「请求词 (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`。
|
|
160
|
+
- **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 行)不再含能力位条件的旧说法。
|
|
161
|
+
- **问题卡(引擎对人的提问)在钩子车道恒 `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`。
|
|
162
|
+
- **停驻 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)。
|
|
163
|
+
- **本版发布前订正(五项)**(**§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`),包侧缺口点名请托服务端。
|
|
164
|
+
|
|
165
|
+
### Gates
|
|
166
|
+
- **新门 `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 改钉三行与粘连行一处发射。
|
|
167
|
+
- **新门 `scripts/run-host-withdrawal-projection-test.mjs`**(CC-1313;**§139 PW**;包侧投影门三件之一):每卡种一格「宿主收卡 ⇒ 零决断 / 零用户句」修前红(流内停驻审批卡同步 / durable 腿、先决过一次再停住而被收卡不再重挂、经取件链呈的重开审批卡 + 加入的停驻解析器、流内停驻问卡同步 / durable 腿、计划审阅卡首呈 / 重开、活卡零 respond)· 不记用户关卡 · 宿主口拒因闭集与一次性 · 卡口形读不出按撤卡读 · 结局读口与句子口 · 判决冻结再读 · 收卡后作答到不了 · 构建产物声明的臂形;红先 22 格、变异七枚逐格见红。
|
|
168
|
+
- `run-approval-resolution-test.mjs` AR-1b / AR-10a 成文改口(CC-1313;§139 PW-5):因由闭集九词 → 十词(旧眼「not_sent 九词」作废);句子口「各词一句」改为收卡之外九词各一句,另加 AR-10a′ 收卡 ⇒ `undefined`(带判决也不说)。
|
|
169
|
+
- 棘轮登记(CC-1313):`portability.index` 435 → 436(新模块 `src/hitl/hostWithdrawal.ts` 进根入口闭包;`scripts/registry.json` 登记行)· 单例清单 +2(`PARK_QUESTION_WITHDRAW_REFUSALS` / `WITHDRAWN`,均 low)· 公面基线 +3。
|
|
170
|
+
- **新门 `run-done-replay-single-source-test.mjs`**(CC-1314;包侧投影门):源码形(记号层:以字面量 `'replay'` 为实参的调用只许住在唯一读法所在文件,先植入四种读法证尺子会响)· 漏斗契约(帧位 ∨ 体位、非严格 true、非 done、取值器 / 代理 / 读抛)· 夹具事实(服务端 7.125.0 – 7.147.x 的发布字节静态读码:重放出口叠体位、两条腿只有终帧位)。既有尺子 G-RY7 按属性访问判接收者,看不见「助手函数 + 字面键」这一形 —— 两处私读一直在尺外,新门补上这一形。会话送后台投影门新增 V 段:四形终帧 × 三个读点(唯一读法 / 开流记录 / 观看泵)逐格同答一个数。
|
|
171
|
+
- `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 成文改口(修前钉「不进座位过境口」,现钉过境并同值)。
|
|
172
|
+
- 新门 `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`)。
|
|
173
|
+
- 登记物:公面基线 2191 → 2192(`interruptRefusalNote`);`portability.index` 435 → 436(新叶 `src/interruptRefusalNote.ts` 进 index 闭包;`scripts/registry.json` 账一条)。
|
|
174
|
+
- 新门 `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)。
|
|
175
|
+
- **新门 `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 源码锚(单一读法、不读能力位面)。
|
|
176
|
+
- `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。
|
|
177
|
+
- 新门 `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 型面。
|
|
178
|
+
- 新门 `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 去掉已删的换流成员调用。
|
|
179
|
+
- `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` ⇄ 读视图两向,卡面不声明这一位)。
|
|
180
|
+
- 新门 `run-self-knowledge-output-style-merge-test.mjs`(CC-1339;**§139 SK**):三形逐字节(有能力 / 无能力 + 用户正文 / 无能力 + 无正文七种缺席形)· 幂等两臂与再入 · 上限 16384 ±1(含代理对按码元计)· 通告 id / plane / 键集 / 冻结 / en 逐字与 zh 目录 · 缺席证明读法(取值器零执行、非串六形、原型链位)· 两扇门逐字节等价与入参不被改 · 能力位真 / `selfKnowledge` 缺席不进本臂;本机红先绿后,变异各红。
|
|
181
|
+
- `run-self-knowledge-output-style-merge-test.mjs` 扩 SM7 – SM13(CC-1350;**§139 SK-7**):一等位臂三形逐字节(用户空五形以修前实现为参照 · 用户有 · 超限)· 上限 ±1(含代理对)· 幂等两臂与再入(含终端壳 `withSelfKnowledgeAppend` 逐字复刻的十二形:值与修前逐字节同)· 缺席证明读法(取值器 / 非串六形 / 原型链位 / null·数·串请求体永不抛)· 通告与借道臂同输入逐字相等 · 两扇门等价与不碰另一座(`settings` 同引用、能力位假时顶层 `appendSystemPrompt` 一字不碰)· 两臂同律差分池 180 对(知识块 × 用户正文);红先 27 格,变异各红在点名格。
|
|
182
|
+
- 新增 `run-hooks-engine-owned-wire-projection-test.mjs`(CC-1335;包侧投影门三件之一;**§139 HK**):壳属主事件集由设置契约事件全表减引擎属主九员派生(不手抄)· 五层 × 全部壳属主事件逐格 + 整表同写 · 引擎九事件 × 五层照投 · 判决行与「没写壳事件」的同一份逐字同 · 插件来源 × 壳属主事件 · 剥键 / 去重 / http 名单三类副产物只数真在请求体上的条目(引擎事件上同形为正控)· 本门产出的每一份计划与请求体事件键总扫 ⊆ 九员。既有插件 hook 投影门随之改口三格(D1h:壳属主事件整键不在、混组语义由引擎事件上的 D1 钉;R1b:手写 `plugin` 键的载体事件改引擎事件;HP11b:壳属主事件上的 http 条目不在请求体上、名单不为它出行)并新增 HP11c(名单对请求体上引擎九事件逐个同判)。
|
|
183
|
+
- **门卫生:「环境没带来的物料」不再把门的后段整段遮住**(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` 只在基线产物不是预期那一版时才退)。
|
|
184
|
+
- **到期类格延后收口**(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)—— 属端侧处置,不在本包改。
|
|
185
|
+
- **新门 `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 且带跳段记号)。
|
|
186
|
+
- **同名影子豁免行 `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` 消费,没有端侧包装可退。
|
|
187
|
+
- `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 读)。
|
|
188
|
+
- `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(记账)。
|
|
189
|
+
- 新门 `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 两格随句改口。
|
|
190
|
+
- **新门 `scripts/run-tool-permission-settled-projection-test.mjs`**(CC-1331;**§139 SL**;包侧投影门三件之一):读口赎回两形逐位与十三形坏形 / 按键隔离抛错代理 / 取值器零执行 / 旧两臂逐字;编排三处回放判处位逐位(相反 · 同向 · 三种发送词)与非回放结局键集不变、点名别的卡 / 自相矛盾不铸位;座位回执型 d.ts AST、SPEC 行、覆盖表、出站门好坏形矩阵、读口、句口(同键同句);发送机赎回回放同读;源码钉三条单源。覆盖表 +1 行(`ToolPermissionAck`),`run-seat-contract-keys-test` 同批加最小合法体与一行回执格。
|
|
191
|
+
- 新门 `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`)。
|
|
192
|
+
- 新门 `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`);本机红先绿后,变异各红。
|
|
193
|
+
- 存量门随语义改口:`_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` 是正文。
|
|
194
|
+
- `run-usage-analytics-projection-test` 扩 K 段(CC-885;**§139 CB**):三词矩阵 · exact 词遇反证只降不升 · 键缺席 6×5×3 例对拍独立判官 · 集外词与读不出 · 金额坏形不折 0 · 外来体永不抛与取值器不执行 · unknown 臂零数字 · 老中心金额界与引擎卡金额界逐格同 · 真 JSON 体 · 编译期三格(入参不收原始值、判别联合、界两词与拒因闭集);变异另验十一枚。
|
|
195
|
+
- **新门 `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 只)。
|
|
196
|
+
- **地板线值级导入见证**(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 的退役格按新形改钉。
|
|
197
|
+
- **`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 自己不读引擎、只是排在同一道栅栏之后,远端同样没跑到,本版未动。
|
|
198
|
+
- `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。
|
|
199
|
+
- `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`」(不再钉「在末」)。
|
|
200
|
+
- `run-prompt-blocked-sentence-projection-test.mjs` 多 PB8 一组(CC-1346;**§139 RT**):根入口 `runBlockedText` 与出句口模块内同一引用 · 声明面按名转出且签名零变、不 `export *` 该模块、英文句首常量不上根入口 · 九形被挡终局的根入口句 ≡ 字面期望 ≡ 流上终局行 ≡ 结果帧失败句(逐字节)· hook 的话里的信封标签与会话 mark 零上屏 · 类型内的缺席 / 坏形入参只出句不抛、原型链成因词不当成因;`run-public-surface-test.mjs` ③c 零漏导登记第三只挑名模块 `promptBlockedCopy`(包内名 = 英文句首常量)并让「模块导出名数下限」逐模块登记。
|
|
201
|
+
- `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 格。
|
|
202
|
+
- `run-approval-card-reading-projection-test.mjs` AK-R5 的「卡逐字节同」比对多剔一位 `taskId`(卡所属 run 的顶层位,与已剔的 `parkRow` 同属每次运行各不相同的宿主 / 身份位;不剔则两次运行的两个 run 让三格红:修前不剔读数 3 格红,剔后 531 格全绿)。
|
|
203
|
+
- `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 段钉)。
|
|
204
|
+
- 新门 `run-edited-approval-acceptance-test.mjs`(CC-1306;**§139 ER**):判口三态逐格与敌意入参(取值器 / `get` 陷阱零执行)· 两语单源句(英文 ≡ 修前底栏原句、中文要素、零占位符、零用户字节)· 同一批夹具喂两条发送腿,判口 `refuses` ⇔ 腿拒发、`accepts` ⇔ 改写照发,卡口期间改卡请求位改不了闸 · 结构钉(两腿的闸各调判口一次、全包没有第三处手抄判据,含自带正控)· 文档。
|
|
205
|
+
- **服务端 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 见上条。已落的行为没有「修前」形,新格的判别力由逐格变异给出(七枚,各由预期的格抓红)。
|
|
206
|
+
- `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 挑类避开问题类,并新钉「真批准位类集抽空后问题类钩子车道仍必问」一格。
|
|
207
|
+
- 新门 `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` 退役零读点。
|
|
208
|
+
- 改 `run-core-7660-pick-projection-test.mjs` H2(表外作者词:原样 → 位缺席 + 读不出位)与两份零读点表(`INPUT_AUTHORS` 移出,现经生成表读)。
|
|
209
|
+
- **出路句按腿分句的钉**(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 拒,该形现说「发话重开」)。
|
|
210
|
+
- `run-engine-notice-user-codes-test.mjs` NC4a2 / NC4a3(CC-1377;**§139 MX**):`memory.session_polluted` 开头句两语按引擎事实(不含「took in」/「收进」)· 三只句口外来串超长 ⇒ 以 `…` 结尾且整段不超过封长、恰在封长内 ⇒ 原样无标记;红先 = 改前句与改前封长各自红。
|
|
211
|
+
- `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)。
|
|
212
|
+
- **`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 登记差处置表补发布才有的五条(请求成员读不出的三面 + 两句型)。
|
|
213
|
+
- **门侧夹具换代适配另三道**(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`),单数老名保留给更早夹具。
|
|
214
|
+
- `run-server-7115-fixture-test.mjs` C4b 按夹具代际分支(CC-1368;**§139 S7147-7**;门侧适配,不是产品改动):发布版把 allow 读法记号 `permissionsAllowReading` 换成按行的写者版本判(`allowListWriterUnproven`,缺席 / 早于 7.117.0 / 预发布 ⇒ 拒),`allowListReadingUnstated` / `allowListReadingEraOf` 退出;本格对发布版问新判据(写者版本 ≥ 7.117.0 不拒、缺席 / 早于 / 预发布 / 读不出拒、体里没有 allow 不拒、新写的行不再带记号),老一代原样。
|
|
215
|
+
- `run-error-supplement-roles-test.mjs` ES1 读口表 +1 只(`unreadRequestMembersContent`,五面 × 新提交 / 折叠十句,自足、零机器码、角色 `replacement`)· `run-catalog-routing-test.mjs` 目录路由登记 +1(句口由 server-7147-pick SPg5 – SPg7 钉)· 公面基线 +2 名。
|
|
216
|
+
- `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 两腿同一对事实同答。
|
|
217
|
+
- `run-seat-contract-keys-test.mjs` 多 K5 一段(CC-1366;§139 IS-4):键集 `inputSource` 紧跟 `frameReading`、覆盖表豁免带理由、d.ts 声明具名词型 · 在场两词 / 出站体逐字节 / 二十四种表外值与自有 `undefined` 不落 · 取值器零执行 / 原型链 / 陷阱抛 / 已撤销代理 · 与请求键的域无关(六种第二参)· 原始待决行五形与取值器 `riskDescriptor` 一律不落 · 两腿 × 记录 / 回落 / 读不出端到端(真呈卡口铸卡 → 过境口 → 座位请求 → 座位门,位逐字节 = 卡上的位;原始帧 / 行直交恒缺席)· 与 `requestedBy` / `frameReading` 并存键序与按键隔离 · 座位门不拒 · 型面编译(直赋回、词表外字面量编译错)。K4a 改钉相对序「`feedbackCapable` → `requestedBy` → `frameReading` 三位相邻」(不再钉末两位与总位数)。
|
|
218
|
+
- 新门 `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 位型改钉布尔。
|
|
219
|
+
- **新门 `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`)。
|
|
220
|
+
- 新门 `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)。
|
|
221
|
+
- **发布前订正五项的钉**(扩既有门,不新增门):`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 格红。
|
|
222
|
+
- `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`(一格只坏一处)· 换代序列里起不来那一拍的本机半边改由铸口出。
|
|
223
|
+
- 退役账 `scripts/retirement-ledger.json`(CC-1173;**§139 ES**):RL-12679 执行、挪进已退役栏;RL-12674 条件改支持底线形(服务端 7.147.0),源码条件句同字;RL-12675 / RL-12676 / RL-12677 到期挂链首(终端删引用),到货即删。
|
|
224
|
+
|
|
225
|
+
## 0.109.0(2026-11-07)
|
|
226
|
+
|
|
227
|
+
> 主题:停驻行三态归属判官 `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**)。
|
|
228
|
+
|
|
229
|
+
### Added
|
|
230
|
+
- **决断失败补句的组合口 `decideFailureNote(err, decision?)` 上根入口 + 「答案不合题」一句的句口 `decisionAnswerInvalidContent(lang?)`**(CC-1292;web-client [C743];**§138 MF-7**;型面加性:根入口运行期 +2):`decideFailureNote` 修前只在包内(接入文档 §135 G-SK4 把它写成宿主可用口、根入口却零导出,宿主只能按同序逐臂重组前十臂);现在根入口导出的就是包内四条决断出口用的那一只(同一引用),宿主调一次得到同一串补句。409 `resume_outcome_invalid` ∧ `field: "answer"` 那一句修前是 `hitl/decisionConflict.ts` 里的英文字面量(无 zh、无句口):现住消息目录 `approval.decision.answerInvalid`(en 逐字节同修前、zh 新增),`lang` 缺席 / 表外 ⇒ 英文;修前那串英文字面常量留在包内、不上根入口(公面英文散文常量棘轮:新句只许函数出口)。缺席语义照旧:读不出 / 别的码 / `field` 缺席或在别的格 ⇒ 补句里没有这一句,入参不是对象 ⇒ 空串,永不抛。
|
|
231
|
+
- **呈卡族开卡帧的判因读口 `approvalRequestFrameReadingOf(frame)` + 闭集 `APPROVAL_REQUEST_FRAME_UNREADABLE_WHYS`**(CC-1261;**§138 FR-1**;型面加性:根入口运行期 +2、型 +2 `ApprovalRequestFrameReading` / `ApprovalRequestFrameUnreadableWhy`):sdk 窄化谓词 `isApprovalRequestFrameV1` 只答布尔,判否后的通用卡不分因。读口布尔仍取该谓词(答 `true` ⇒ `{ v1: true }`,自有键恰 `v1`);答 `false` 才按谓词自己的判别位次序定因 —— `version_unknown`(`schemaVersion` 不是 1)· `kind_unknown`(版本是 1 而 `kind` 不是 `permission`)· `unreadable_fields`(判别位都认识而键有坏形;`type` 不是 `approval_request` 与非对象入参同归此因)—— 并带帧上 `schemaVersion` / `kind` 的原值(三个判别位各读一次的快照;标量转串、经不可信文本出口单行形洗过、封长 24;非标量 / 读不出 ⇒ 缺席,不编值)。读的过程中抛 ⇒ `unreadable_fields`,本口永不抛。因只用于选卡面说明的哪一句,不是裁决输入。
|
|
232
|
+
- **通用卡投影口 `approvalCardFactsOfGeneric(card, reading?)` 多一只可选第二参;卡入参多一只可选位 `cardPayloadUnreadableWhy`**(CC-1261;**§138 FR-2**;型面加性):第二参交该帧的判因读数,`{ v1: false, why }` 且 `why` 在闭集内 ⇒ 卡盖 `cardPayloadUnreadableWhy`;缺席 / `{ v1: true }` / 伪造读数(只认自有数据位,取值器不执行)⇒ 不盖,卡与上一版逐位同。包内活卡入口恒带因。
|
|
233
|
+
- **耐久审批门的三端共用出句口 `durableGateUnavailableSentence(facts, lang?)` + 受众 user 十二码的事实读口与目录句口**(CC-1284;**§138 NC**;型面加性:根入口运行期 +25〔12 读口 + 13 句口〕、型 +12〔读数视图〕;派发表 `ENGINE_NOTICE_FACT_READERS` +12 行,用户面码 24 → 36):修前 `config.durable_gate_unavailable` 包只给读口,网页端、终端壳各自铸一句(共两份措辞),终端壳那句在「一刀切放行」姿态下把放行说成拒;另十二个受众 user 的码终端壳整句自铸、包没有事实读口,网页端读不到 `detail` 只能渲引擎原句。修后三端读同一只读口、说同一句话:① **耐久审批门出句口按臂位读数分句**:`liveApprover === true` ⇒ 「权限请求改为在本会话中当场答复」;`false` ⇒ 只说两臂都成立的「没有接入实时审批人」+ 处置交给引擎配置;缺席 ⇒ 只说处置交给引擎配置。🔴 **三句里没有一句说审批请求被拒,也没有一句说被放行** —— 引擎铸点在 `liveApprover: false` 上有「一刀切放行姿态答普通审批」与「无人可问、按拒收场」两臂,`detail` 一键不带是哪一臂(只有 `liveApprover` / `liveQuestionFace` 两个布尔),读不出就不断言方向。问答席 `liveQuestionFace === false` ⇒ 另加一句「提问会被拒绝」(铸点两臂 —— 被继承的持久授权撤下、本来就没有活问答面 —— 结局都是拒,方向无歧义);`true` / 缺席 ⇒ 不加。来源闭集 `DURABLE_MANDATE_SOURCES` 逐词有专句与「另一条出路」,成因两词(`no_deployment_store` / `task_store_disabled`)各有专句与出路,表外词落保守句(不回显词)。② **十二码各一只读口 + 一只句口**:`readMemorySessionPolluted` / `readMemoryHarvestQuarantined` / `readMemoryDelegationStaticMarkWaived` / `readMemoryCaptureOptedOut` / `readMemoryCaptureOptoutUnpersisted` / `readPeerInboundDisposition` / `readPeerHeldSettled` / `readPeerIdleSubscription` / `readClassifierDenialLimit` / `readTaskLateApproval` / `readTaskHaltUnconsumed` / `readSteeringParkedInputBlocked`(入参 `{} | null | undefined`,永不抛,与派发口 `readEngineNoticeFacts` 同答)+ 各自的 `<码驼峰>Sentence(facts, lang?)`(en / zh;外来串〔工具名 / 原因 / 会话地址 / 子代类型 / 成因全文〕一律过不可信文本出口再进句)。规则:必填位 = 引擎铸点恒带的键,缺 / 空串 / 错型 / 访问器 ⇒ 整只缺席;可选位坏形只省这一键(不折 0 / 空串 / false);每格只读一次自有数据位(取值器不执行);`detail` 不携带的区分,句子不断言 —— `memory.session_polluted` 不下模式结论(只说「可能被扣下候审」)· `memory.harvest_quarantined` 三个数并列且声明后两数可能重叠 · `memory.capture_optout_unpersisted` 的 `ingress` 缺席 / 表外 ⇒ 不猜是任务被拒还是只拒了这次请求 · `classifier.denial_limit` 只说「没有人判过那次请求」、不断言没接审批人 · `steering.parked_input_blocked` 的拒因只活在引擎原句里,句子不编。🔴 `peer.idle_subscription` 的 `detail.live` 是在等本会话空闲的订阅数(非负整数,不是布尔):读口按整数读,按 `=== true` 读会永远读成缺席。
|
|
234
|
+
- **会话行停驻位 `parkedUnresumable`**(CC-1233;**§138 PU-1 – PU-4**;根入口运行期 +3:`parkedUnresumableRowsOf` / `readSeatParkedUnresumable` / `parkedUnresumableLine`,型 +1:`ParkedUnresumableRow`;🔴 公面常量值变:`LOCAL_SESSION_RECORD_KEYS` 末位 +1):会话行 `LocalSessionRecord` 多一只可选位 `parkedUnresumable?: readonly ParkedUnresumableRow[]` —— 这只会话停在一行**这台引擎续不了**的待决行上(本会话所属、引擎判决非 `ok`、本该走审批臂;一行一员)。与 `parked` 并读:`parked: true` = 另有一张可决的卡开着;`parked: false` 与本位互斥(出站门拒并点名本位);判决这一维上一行待决不同时是卡与本位的一员。缺席 = 不断言(没有这种行 / 老宿主 / 还没对账 / 失去停驻权威,不分辨),渲染端不因缺席渲「没有待决」。成员 = `rowVerdict`(判决非 `ok` 的读数原样)+ 可选 `rowKey` / `taskId` / `toolName` / `rowDeadline`(`armed` / `none`)。铸口 `parkedUnresumableRowsOf(listed, deps?)`:`approvals.list` 回体原样 → 成员清单(族 / 门种两步与耐久取件同一读法、归属与卡同一判官;回体读不出 ⇒ 抛,单行读不出只跳那一行;冻结、回体序);读口 `readSeatParkedUnresumable(record)`:同一闭形核,坏形 / 缺席 / 与 `parked: false` 并在 ⇒ `undefined`,永不抛;句口 `parkedUnresumableLine(row, lang?)`:判决句 · 出路句(`lacking` ⇒ 由更新版本的引擎续跑,其余按到期位三态),零新消息目录键。零新 wire 键 / 通告码 / 座位事件名 / 收面词。
|
|
235
|
+
- **被弃投递通告的事实读口 `readDeliveryDiscarded`**(CC-1199;**§138 CP-3**;公面 +1):`delegation.delivery_discarded`(受众 operator)→ `{ taskId, taskType, sessionId, path? }`;`path` 只认引擎 `DISCARDED_DELIVERY_PATHS` 里的词(`live` / `box` / `drain` / `notice`,构建期生成表 `CORE_DISCARDED_DELIVERY_PATHS`),表外词 / 坏形 / 原型链 / 取值器抛 ⇒ 读数不带 `path`、三名照交;三名任一读不出 ⇒ 整只缺席。派发表同一只(`readEngineNoticeFacts` 对这一码起有读数)。
|
|
236
|
+
- **`human_input` 的作者两键**(CC-1238;**§138 CP-4**;加性):投影层与 chrome 臂(`HumanInputChromeEvent`)多两只可选位 `author`(引擎铸的作者词,开集原词:`extension` / `observer` / `parent_model` / …)与 `extension`(扩展注册名)。各自是非空串才带;缺席 = 本人(或老引擎 / 老服务端没铸),绝不补 `operator`;坏形只丢那一键、帧照投。
|
|
237
|
+
- **附件结局行的拒者 `declinedBy`**(CC-1199;**§138 CP-5**;加性):`HumanInputAttachmentView` 多可选位 `declinedBy: { kind: 'extension', name }`(在提及站拒了这一条附件的扩展);只认这一臂,坏形只丢这一键、行照留;chrome 臂的 `name` 与 `label` 同一只呈前消毒。
|
|
238
|
+
- **本机引擎判官**(CC-1173 首波;**§138 ES-2 / ES-3**;同一配置根至多一台本机引擎,各本机端附着它,新版本胜、落后端只能自升):锚点结构读口 `localEngineAnchorOf(raw)`(配置根下发现记录按结构读、不 import 宿主库;坏形 / 缺 `port` 或 `pid` / 非正安全整数 pid / 端口越界 ⇒ `null`,与无记录同;身份起点只取记录里的**进程起点**位,不取落盘戳)· 判官 `judgeLocalEngine(input)`(闭集判词 `none` / `unanswered{no-answer | unverifiable}` / `stranger{pid | generation | data-root}` / `draining` / `attach` / `ahead{servesWhileWaiting}` / `behind` / `version-unknown`;版本比较只有 `compareReleaseVersions`,实例同一只有 `engineIdentityVerdict`,只凭 pid 的「同一」另须锚定进程活着且起点核实;判官不问「是不是本端起的」)· 判词 → 连线句柄车道 `localEngineLaneOf`(`attach` / `ahead` / `behind` / `version-unknown` ⇒ `'self-spawned'`)· 组指纹漂移 `localEnginePlanDriftOf`(`same` / `different` / `unknown`)· 判词句 `localEngineVerdictSentence(verdict, upgrade, lang?)`(落后两步句两变体〔终端:先 `sema update` 再重开会话;应用:下载新版本、安装后重启〕/ 版本读不出 / 在跑引擎低于本端支持底线;en / zh)。
|
|
239
|
+
- **本机引擎占用读数、空闲、需求与退出去向**(CC-1173 首波;**§138 ES-4 / ES-5 / ES-7**):他端登记计数 `countClientRegistry`(活而读不出 ⇒ `known: false`;记录上 `status` 在场而读不出 —— 表外词 / 大小写变体 / 空串 / 非串 / 取值器 / 读取抛 / 只在原型链上 —— 同样 `known: false`,只有没有这个键才按「不在轮次中」读)· 后台活读数 `fleetBackgroundLiveOf`(只认 fleet-wide 观察订阅:meta 自报 `scoped: false` ∧ `sessionScoped: false`、本连接 snapshot 已到、绑在当前目标实例上;计非终态 task 行〔durable 停驻 `waiting` 与 `awaiting approval` 两类除外〕+ running workflow〔含 `parked: true`〕;任一不满足 / 行坏形 / 状态词认不得 ⇒ `'unknown'`)· 本端六项 `localEngineSelfOf`(无人在看的停驻不算忙;第六项可报 `'covered'`)· 会话驻留 shell 读数 `localEngineSessionShellsOf(listings)`(读登记读口原样产出的读数:shell / monitor 类 ∧ 非 retain ∧ 读作 running;读不到 / 认不出出身 / 被取代 / 达清单上限 / 状态词认不得 ⇒ `'unknown'`)· 登记 `status` 投影 `localEngineRegistryStatusOf`(只卡 ⇒ `waiting`;读不出 ⇒ `busy`)· 空闲谓词 `localEngineIdle`(读不出 ≠ 空闲)· 需求 `localEngineDemandOf`(按车道:新会话缺省车道本机 / 本机绑定会话在跑·停驻·排队·被聚焦 / print 本机 / 用户显式起服 ⇒ `spawn`;只附着用途 ⇒ `attach-only`)· 退出去向 `localEngineExitFate`(恒 `stays{peers | lease | unknown}`,没有「停掉」臂)与句 `localEngineExitFateSentence`。
|
|
240
|
+
- **换本机引擎的问询卡**(CC-1173 首波;**§138 ES-6**):成因闭集 `LOCAL_ENGINE_SWAP_CAUSES`(六词,冻结)· 自动资格 `localEngineSwapAutoable(cause, serving, policy?)` · 卡事实 `engineSwapCardOf`(读不到的读数为 `null` 并点名;强制形上界恒在场;事实指纹含目标实例三锚、后台 id 集〔排序〕、各计数、读不到集与本端判词)· 卡句 `engineSwapCardText(card, lang?)`(六成因六题;停驻说明恒在;在飞与后台都 ≥ 1 时注「可能重叠」;en / zh)。根入口运行期 +18。
|
|
241
|
+
- **起本机引擎的注入面**(CC-1173 首波;**§138 EE-1 – EE-3**;谁起都一样):注入表 `LOCAL_ENGINE_SPAWN_ENV`(十八行,逐行键 · 值〔字面 / 恒删 / 路径槽 `configHome` · `dataRoot` · `configLocalDir` / 派生 `agentDataDir` · `drainPlusH` · `operatorSingleUser`〕· 能否被继承值覆盖;排空窗 60 s、数据根锁等待窗 = 排空窗 + 20 s、附着租约自退开、父进程看门狗两键恒删、只绑本机回环、本地店与本地配置源、工具在本机跑、配置目录不让继承值覆盖、不开放无认证写;审批四键与工作区根不注)· 宿主装配位白名单 `LOCAL_ENGINE_HOST_BITS`(五名)· 进程形 `LOCAL_ENGINE_SPAWN_SHAPE`(脱离会话 + 输出进日志文件)· 运维声明推导单函数 `localEngineOperatorSingleUserOf(inherited)`(多租户声明 / 具名名单 / 显式值任一在场 ⇒ 不注;表的派生行注的就是它的返回值)· 注入面 `localEngineSpawnEnv({ inherited, paths, hostBits })` ⇒ `{ env, applied, refusedHostBits, budgets }`(白名单外的宿主键不写、逐名回报;`applied` 只有键名与来源 `table` / `user` / `host` / `derived`)· 同一次拼装出的四只等待预算 `LocalEngineBudgets`(数据根锁等待 / 等健康 / 收尾梯上界 / 启动锁等待;缺省 80 / 260 / 120 / 420 s;用户排空窗按引擎地板正规化;用户显式 `STORE_LOCK_WAIT_MS` 赢,0 合法)。
|
|
242
|
+
- **设置层播种**(CC-1173 首波;**§138 EE-4**):`localEngineSeedEnv({ baseline, external, layers, topLevel, platform })` ⇒ `{ env, from, dropped, refuse? }` —— 覆盖序 入口快照 < 外部登记 < `userSettings` < `flagSettings` < `policySettings`(每次从头算:撤掉的键按外部 → 入口 → 不在回落)· 入口钉住键(`SEMA_CONFIG_DIR` / `HOME` / `USERPROFILE`,按大写比)不从设置层改 · Windows 上同名大小写变体合一(注入面按原名读写的键 —— 注入表键 / 宿主装配位 / 运维声明推导读的 `REQUIRE_PRINCIPAL` / `OPERATOR_PRINCIPALS` —— 一律按大写拼法落:设置里写成小写的名单照样被推导读到,不会与单用户声明并存)· 值一律 `String(v)` · user / flag 层读不出 ⇒ 该层不播并点名;托管策略层读不出 ⇒ 用宿主交的上次健康值,没有 ⇒ `refuse: 'policy-unreadable'` · 顶层键投影(`READ_FACE` 合法 env 值赢、非法摘掉回落 `engineReadFace`;`WORKFLOW_SIZE_GUIDELINE` 只在缺席时由 `workflowSizeGuideline` 补)。产物 `env` 就是注入面的 `inherited`,`from` 是来源判定的来源入参。设置层读数型 `LocalEngineSettingsLayers` 与本机主体解析共用。
|
|
243
|
+
- **本机主体一只解析**(CC-1173 首波;**§138 EE-5**):`localEnginePrincipalOf({ layers, processEnv })` ⇒ `{ kind: 'principal', principal, source: 'settings' | 'default', ignoredProcessOverride? }` 或 `{ kind: 'unknown', layer }` —— 只读设置层 env 块里的 `SEMA_LIVE_PRINCIPAL`(policy > flag > user;全空白 / 非串 = 该层未设),进程 env 不参与取值(其中三只主体键有不同值 ⇒ `ignoredProcessOverride: true`);途经某层读不出 ⇒ `unknown`,**不落** `'default'`。句口 `localEnginePrincipalSentence(p, lang?)`(读不出 ⇒ 本机会话暂停、修好该文件后重启;被忽略的覆盖 ⇒ 改读设置;句中不含任何主体值)。需求 `localEngineDemandOf` 的入参多一只必填 `principal`(原样交本口回值;不是 `kind: 'principal'` ⇒ `none`、四源与只附着都不产)。
|
|
244
|
+
- **起服拒因**(CC-1173 首波;**§138 EE-6**):`engineBootRefusalOf(lines, scrub)` ⇒ `{ code?, hint?, text } | undefined` —— 只认 `config.*` 码 + `hint` 与 `msg: "fatal"` 的 `err` 两种结构化日志行;每行先脱敏、再解析、解析出的完整字段再脱敏(先于去掉 `Error: ` 前缀:以空白开头的秘密也按整只认出)、最后截断(每句 800 字);脱敏函数抛 ⇒ 那一行跳过;不认的行不当拒因。句口 `engineBootRefusalSentence(r, lang?)`;首次共用披露句 `localEngineFirstShareSentence(lang?)`(旧私有引擎的本机会话不在列表、数据留在原处)。
|
|
245
|
+
- **`AutomaticAnswerFacts.allowRule?: PermissionRuleValue`**(CC-1259;**§138 AN-1**;加性):宿主这一次放行所依据的那条 allow 规则 —— 宿主匹配器对这次调用返回的规则值(CC 形),只在这一条规则单独就覆盖整次调用时交,不从理由文案 / 工具名 / 规则串重解析合成。规则车道只认整工具形(无 `ruleContent`);只认 `facts` 自有数据位,规则值同严读(取值器不执行)。本包不跑匹配器、不验这条规则配不配得上卡上的工具。
|
|
246
|
+
- **服务端 ≥ 7.146.0 的提交面三只拒有了读口与句(CC-1218;接入文档 §138 SP-5)**:`envCredentialRefusalFromError` / `envCredentialRefusalContent`(400 `request.env_credential_refused`:请求 `settings.env` 带凭据,点名变量名、不出值;续跑腿折叠形 `folded`)· `sessionIdRetiredFromError` / `sessionIdRetiredContent`(409 `conflict.session_id_retired`:删过的会话 id 只再给删前的属主执行)· `runConcurrencyCapFromError` / `runConcurrencyCapContent`(429 `limit.rate_exceeded` + `reason: "run_concurrency_cap"`,带等待秒数);识别表常量 `REQUEST_ENV_CREDENTIAL_REFUSED` / `CONFLICT_SESSION_ID_RETIRED`。只按码 + 机读位认领,不判状态、不读句子;不接线的端零变化。
|
|
247
|
+
- **`readEngineHealthFacts` 读服务端 ≥ 7.146.0 的三处加性位(CC-1218;§138 SP-3)**:`engineLease.firstAttach { windowMs, since, attachedAt }`(`attachedAt: null` 原样 = 还没有过非探针请求)· 新件 `inflight { total, http?, leader?, sessionResident?, backgroundAgents? }`(顶层总数是非负安全整数即收 `{ total }`,分项逐键独立补、坏一键只省那一键;只有总数的老服务端读作 `{ total }`、不带 `sessionResident`;与本机引擎判官同读这一件)· `auth.serviceTokenActsForDeployment`。新型 `EngineHealthFirstAttachFacts` / `EngineHealthInflightFacts`。
|
|
248
|
+
- **座位 lane 子代「卡 id → 子代任务 id」别名的跨进程载体:加性 chrome 臂 `subagent_alias`**(CC-1280;**§138 SE-1 – SE-6**;型面加宽〔`ChromeEvent` / `ChromeArmKind` / `ChromeEventKind` 各 +1 成员,穷举消费者编译迁移〕+ 座位词表十七 → 十八词 + 根入口运行期 +2〔`readSeatSubagentAlias` / `noteSeatSubagentAlias`,公面导出 2101 → 2103〕+ 型 +3〔`SubagentAliasChromeEvent` / `SeatSubagentAlias` / `SubagentAliasScope`〕;行为变:`adapt()` 产出流在别名登记旁多一种 chrome 事件):子代内容帧只带委派卡 id、不带子代任务 id,「卡 id → 任务 id」别名只登记在跑适配层的那个进程的子代内容账本里;座位 lane 上适配层在宿主主进程,渲染进程自己的账本没有它 ⇒ 内容记在卡 id 名下,按任务 id 查的子代详情「实时输出」读空。收口:**别名的唯一判据与唯一登记处仍是适配层那两处**(`async_launched` 回执 ⇒ 只写内容归账那一半;子代 `task_progress` tick 带委派卡 id ⇒ 两半都写),在登记旁**同拍、同入参**发一只 `subagent_alias { parentToolCallId, taskId, scope: 'content' | 'full' }`(车道证明恒 subagent),登记口每被调用一次(没被拒)就发一只,**不看**发出进程账本里「这一对是否新」—— `adapt()` 的 chrome 输出仍是帧序列的纯函数(同帧同进程两遍 ⇒ 两只臂逐字节同;tick 逐条各一只);去重只在渲染端登记口(同对第二次 ⇒ 不写账、答 `ignored`);退化对 / workflow 车道 tick / 无卡 id 的 tick / 非回执形不登记不发。座位宿主按包词表转发(零新逻辑),渲染端用 `noteSeatSubagentAlias(event.chrome)` 把同一半登记进自己的账本(读口 `readSeatSubagentAlias` 严读:自有数据位非空串 ∧ `scope` 闭集,坏形 ⇒ `undefined` 不登记)—— 渲染端不复刻回执 / tick 判据。老渲染端 / 不接的渲染端收到未知 `kind` 照包既有律忽略,行为同 0.108.0(实时输出读空,不属行为丢失,故臂表 `required: false`)。包侧缺口:引擎内容帧身份不带子代任务 id(上游请托候 sdk);仅由回执登记的后台子代在渲染进程重载后不再被登记(tick 腿的对由下一条 tick 重登记);无代际号的形『重载 + 迟到旧 tick』续发目标退回到达序(已知限制)。🔁 修复腿(一轮,两条 P2):① 渲染端读口严读自有数据位 `laneProof`(`lane` 恰 `subagent` ∧ 证明里非空父卡与载荷一致;缺失 / 取值器 / 原型链 / 错车道 / 父卡不一致 ⇒ 整条 `undefined`,登记口答 `ignored` 账本零写)—— 座位出站门只核证明的通用结构,`main` / `workflow` 证明与父卡不一致的证明修前能过门、被读口接受并改写内容归属与续发目标;② `full` 臂带 tick 帧自带的代际号 `seq`(可选位;缺席 = 帧没有代际概念,不是第 1 周期;读口在场即严读整数 ≥ 1),续发目标「现卡」按它定(两侧都带且不同 ⇒ 大的是现卡;同一把 id 上迟到的低代际陈述不顶掉已有的高代际陈述;任一侧缺 ⇒ 退回到达序)—— 修前渲染端重载后先收新 id 的臂、再收旧 id 的迟到 tick 臂,到达序把旧卡顶成最近登记,查新 id 答旧卡(宿主答新卡),续发投向旧委派调用;发臂仍不看账本(`seq` 是帧的函数)。
|
|
249
|
+
- **本机引擎生命周期状态机**(CC-1173 首波;**§138 ESB-2**):纯 reducer `localEngineStep(state, event, policy)` ⇒ `{ state, effects }` —— 宿主存态、每拍喂一个事件(观察 / 锁内重读 / 锁 / 丢锁 / 准备 / 心跳 / 成因 / 撤因 / 答卡 / 起好 / 起不来 / 消失,每个都带 `nowMs`)、按序照做效果;态 12 × 事件 32 的每一格都有行或显式「态不变」。初始态 `LOCAL_ENGINE_INITIAL_STATE` · 等待旋钮 `LOCAL_ENGINE_TIMING`(冻结)· 配置 `LocalEnginePolicy`(`lane` = `'interactive'` / `'print'`;`budgets: LocalEngineBudgets` 四数,状态机只读等锁与等健康两截止)· 一次性车道失败码 `LOCAL_ENGINE_FAIL_CODES`(`local_engine.<snake>`,冻结)· 答卡结局 `engineSwapAnswerOutcomeOf`(与状态机同一判法)。`submits{open}` 是写类闸(按请求形判:只读与停止类请求恒放行)。
|
|
250
|
+
- **本机引擎收尾梯步进**(CC-1173 首波;**§138 ESB-1**):`LOCAL_ENGINE_STOP_LADDER`(三只时长,冻结)上根入口 · `stopLadderStep(state, observation)` ⇒ `{ state, action: 'term' | 'term-2' | 'kill' | 'wait' | 'done' | 'gave-up', waitMs? }`(强制形第二发恰一次、只在处理证据之后;判不清进程活性 ⇒ 零信号)。问询卡的强制上界读同一份常量。
|
|
251
|
+
- **座位本机引擎生命周期读数**(CC-1173 首波;**§138 ESB-3 – ESB-6**;型面 BREAKING 窄:座位动词接口多两只):`EngineTargetLocal.lifecycle?: LocalEngineSeatReading`(六相位;`down` 原因闭集 `LOCAL_ENGINE_DOWN_REASONS` 七词,`principal-unknown` 只由投影层出;`waiting` 原因闭集 `LOCAL_ENGINE_WAITING_REASONS`;`behind` 带自升入口有无)· 铸口 `localEngineSeatReadingOf(state, host)` · 本机半边 `engineTargetLocalOf({ lifecycle, mcp? }, lang?)`(`lastBootError` 由 `lifecycle` 单向派生;相位不可用撤 `mcp`)· `engineTarget` 组两只新动词 `answerEngineSwap(choice, fingerprint)` ⇒ `'started' | 'stale-card' | 'nothing-pending'` 与 `beginSelfUpgrade()` ⇒ `'started' | 'unavailable'`(能力名闭集不变;回执闭集 `ENGINE_SWAP_ANSWER_OUTCOMES` / `SELF_UPGRADE_OUTCOMES`)· 重起结局 `engineRestartOutcomeOf(operation)`(座位既有闭集;`skipped` 按需求判,`reason` 是本包一句)· 出句口 `localEngineSeatSentence` / `localEngineNoticeText` / `localEngineFailText`(带 `lang`;目录 `localEngine` 域 +42 键两语)。
|
|
252
|
+
|
|
253
|
+
### Changed
|
|
254
|
+
- 接入文档 §137 两处接入方打回勘误(§138 ERd,CC-1304):`rowTaskId` 缺席句只说判决键不铸、取消目标归宿主(`?? taskId` 合规);`_sema_rowDeadline` 句补「到期读口 / 句口本版不上根,宿主对账列表不自算到期句」。
|
|
255
|
+
- **`capForDisplay` / `collapseLabel` 先洗凭据再转义再封长**(CC-1291;web-client [C743] 报的严重缺陷;**§138 MF-6**;🔴 行为变,**收紧方向**;零型变、零公面变):两只助手上屏的恰是外来串(服务器名、规则串、引擎原句、路径、任务描述),修前(CC-1263 起,本版未发布段内)显式关着凭据两网 —— 带凭据形的串在 `max` 内原样上屏,跨 `max` 时凭据的前缀留在截点之后(网认不出残片)。现在两只读公面出口缺省的凭据两网(开):`displayUntrusted` 本就是 凭据网 → 字符面 → 封长(封长量洗后文本),去掉显式关闭即「先洗再截」,出口顺序无需改;同形扫本文件原有两处调用点都开网、`NO_CREDENTIAL_NETS` 常量退役(标量清洗口 `cleanUntrustedScalar` 的凭据网关闭是该口自己的成文契约,不在射程)。干净文本逐字节不变。
|
|
256
|
+
- **设置层播种:env 块「在、但键枚举读不出」不再读成空块**(absence-fold-census 首轮全量红;**§138 MF-1**;🔴 行为变,**收紧方向**;零型变、零公面变):托管策略层的块读不出被读成空表时,托管键被当成没设、低层的同名键顶上且不 `refuse`。现在按「这一层读不出」处置 —— `userSettings` / `flagSettings` ⇒ 该层不播 + `dropped{layer-unreadable}`;`policySettings` ⇒ `refuse: 'policy-unreadable'`;`baseline` / `external` ⇒ `dropped{key: 源名, layer-unreadable}` 且该源不播。块不是对象仍按缺席读。
|
|
257
|
+
- **三只拒句读口声明角色 `replacement`**(`envCredentialRefusalContent` / `sessionIdRetiredContent` / `runConcurrencyCapContent`;error-supplement-roles ES4 首轮全量红;**§138 MF-3**;行为变:`errorSupplementRoleOf` 由缺省 `supplement` 改答 `replacement`):三句都自足(发生了什么 · 什么没被动 · 出路或后续状态),句内零机器码、不指邻行。
|
|
258
|
+
- **`LOCAL_ENGINE_TIMING` 下挪成第 0 层叶 `src/localEngineTiming.ts`**(layering-direction G-RP4a 首轮全量红;**§138 MF-2**;零公面变、零行为变):起服注入面〔第 0 层〕修前向上 import 状态机〔第 2 层〕读它;表只在叶里声明一次,两个读者都向下读,不加豁免行;portability 棘轮 434 → 435(登记行 + 单例清单改指新住处)。
|
|
259
|
+
- **设置采纳闸:已读载体这一拍报 `absent`(宿主确定这份没有 = 真删)不再算丢,与有意清空 `{}` 同读 = 来源变了**(CC-1256;**§138 HS2**;🔴 行为变,**放宽方向**:在包,零型变、零公面变、零新名):修前基准里读成过的载体只要这一拍变成 `absent`,整栈就判不可信、基准只长不缩 —— 会话中途真删的设置文件里的 deny / ask 一直按住到文件回来,与 `absent` = 「确定没有」的定义矛盾。现在 `absent` 与有意清空 `{}` 同读:可信读、整体换基准,这一份贡献的规则从这一拍起不再发(deny / ask / allow 三桶一并),它的身份退出「读成过的载体」。其余没读成的形一字不变,仍算丢、规则仍按住:零字节 / 纯空白 / 读不出 / 还没装载 / 载体从枚举里消失 / 层读数坏形;同层另一份载体没读成,整栈照旧不可信。allow 一侧没有放宽:不干净读下的 allow 仍只留「这一层仍在 ∩ 上次干净读准入过」的,删后回来的文件带新问题键时旧 allow 不复活(§138 HS2c G-HS2e)。🔴 宿主义务:文件改写窗口(先删后写、先截零再写)里报 `not-loaded`,**不报 `absent`** —— 报 `absent` 就是向包断言「这份确实没有了」,包照此放掉它的规则,文件回来时规则随读恢复;沿用句(目录键 `session.hostSettings.heldPrevious`)措辞不变:它只在仍有载体没读成时出,真删不再走到它。
|
|
260
|
+
- **通用卡「读不懂」那一行按因分成三句**(CC-1261;**§138 FR-3**;行为变:文字,en / zh;零型变):`approvalCardReasons` 第一行(来源 `payload_unreadable`)在卡带因时按因选句 —— 版本认不出 ⇒ 「不认识这条审批请求的格式版本」;版本认识而字段坏形 ⇒ 「格式版本认识,但其中一些字段的格式不对、读不出来」;问法词在本端词表外 ⇒ 「读不懂这条审批请求中的一部分」(不说坏形:词表外是本端老,不是帧坏)。三句同一出路(只显示基本事实,请据此决定,不确定就拒绝)、无插值参数;因缺席 / 表外词 ⇒ 仍是上一版那一句不分因的话(目录键 `approval.card.payloadUnreadable` 保留,逐字不变)。经包卡口的宿主自动得到;自动作答判定、放宽三行、会话放行通路位与因无关,逐位不变。
|
|
261
|
+
- **`checkpointRowBarSentence(bar, lang?)` 末位可选 `lang`**(CC-1233;**§138 PU-4**):判决读不出句的那一臂按界面语言出包句;缺省与 `'en'` 逐字节同修前,引擎句臂与 `lang` 无关。自愈行 `ask-reopen-failed`(这台引擎续不了这一问)同传 `lang`:🔴 行为变(只中文)—— 判决读不出句时中文行里嵌的包句从英文改为中文,英文行逐字节同。
|
|
262
|
+
- **订阅快照摘要带门种**(CC-1233;**§138 PU-5**;🔴 行为变,只多发):`startApprovalsFeed` 对同身份同判决只换门种的行也再发一张快照(修前不发,端手上的门种与会话行停驻位陈旧)。
|
|
263
|
+
- **接入文档改口两条**(CC-1233;**§138 PU-6 / PU-7**;文档):§137 DC-6「开卡翻非 ok 点它拒」作废 → 撤卡(`tool_permission_resolved` 不带 `outcome`)+ 进会话行停驻位;§126 LP-1 `parked` 缺席义补句 —— 「本会话拥有一行渲不成卡的门」改由停驻位正面说,`parked` 缺席仍 = 未知。
|
|
264
|
+
- **耐久停驻审批卡:待决行没有将执行的入参、卡上回落到事件流上模型的原始调用时,卡上明说,并且不再接受「编辑后批准」**(CC-1117;**§138 PG-1**;🔴 行为变,在包;零型变、零公面变、零新键):修前待决行 `input` 缺席 / `null` / 超限标记 / 不是普通记录而流上 `tool_start.args`(模型的原始调用,引擎在钩子之前发)在场时,卡上显示的是模型的原始调用,没有任何说明,「编辑后批准」以它为基发出 —— 而批准后将执行的是钩子之后记在行上的那一份(此刻读不到),编辑基不是将执行的字节。现在这一形(取用序不变:行 `input` 是普通记录且不是超限标记 → 流上 → 缺口两形)卡上多两位:`argsUnavailable: true`(端据此不给「编辑后批准」,与 CC-135 缺口两形同一契约)+ `wireNote` 一句(「这条待决审批的记录里没有将执行的工具入参,所见是对话里模型的原始调用,若之后被改写过〔例如被钩子〕,实际执行的会与所见不同;这张卡不接受编辑后批准」;目录键 `approval.park.argsFromModelCall`,英文数据面、中文住目录);卡口答「编辑后批准」⇒ 一个字节都不发(含「本会话不再问」那一发),结局 `not_sent{edit_refused}`,run 仍停着可再决;纯批准 / 拒绝照发。不判「是否真被改写」(本包比不出,不出 `argsRewritten`)。🔴 连带:`argsUnavailable` 在场的卡不给「不再询问」整工具那一行(`standingRowsOf` 理由 `args_unavailable`,既有规则)。不动:行 `input` 在场的各形(CC-1115)· 行与流上都缺的缺口两形 · 流上入参不是对象时不出卡(`no_input`)· 活卡帧腿的回落形(帧上入参被省略而流上在场)仍只带说明句、编辑照发(见接入文档 §132 包侧缺口 ㉚)。修前(成文改口):§132 AK-1 行、包侧缺口 ⑰「回落形不出说明句、编辑后批准以流上那份为基准」作废。
|
|
265
|
+
- **耐久停驻问答卡的问题文本取用序改为「待决行 `input.questions` 先、事件流上的 `questions` 只回落」**(CC-1119;**§138 PG-2 / PG-3**;🔴 行为变,在包;零型变、零公面变):修前流上优先 ⇒ 钩子改写过问题时,卡上是改写前的问题而作答落在改写后的那一问上。现在行上 `questions` 是非空数组 ⇒ 用它(与流上不同也不用流上);行上没有可呈现的问题(`input` 缺席 / 超限标记 / `questions` 空或不是数组)而流上有 ⇒ 回落流上那份(与修前同答),并在问答帧上盖加性位 `_sema_questionsFromModelCall: true`(present-iff;目录键 `approval.park.questionsFromModelCall` 的英 / 中句由宿主按这一位取);两边都没有 ⇒ 不出卡,结局与理由句不变。问答没有编辑臂,不加编辑闸。与停驻审批卡同一规则:行 = 将呈现的字节,流上副本只回落。「可用」只有一只判法:行与流上的 `questions` 均按 `askQuestionsFromPending` 同一只元素校验判可用(非空数组 ∧ 每项是对象且 `question` 是串;单源 `usableAskQuestions`,包内口、不上根入口)—— 行 `[null]` 不再压掉有效的流上问题,流上 `[{question:42}]` 不再被当可用发布。
|
|
266
|
+
- **换钉到引擎 7.66.0**(CC-1199 / CC-1238;**§138 CP-1**):开发依赖引擎 `^7.64.0` → `^7.66.0`、内核包 `7.64.0` → `7.66.0`(**内核契约 8 → 9**),package-lock 钉 7.66.0(原语包 7.66.0 随引擎传递装入);构建期生成表重生成 —— 通告码册 / 受众 / 铸方三张 +1 码(CP-2),事实表 +1 只冻结元组 `CORE_DISCARDED_DELIVERY_PATHS`(CP-3);本包读的其余引擎包根闭集与表逐字未变。换钉前编译红 1(抹除证明载体类两向钉,CP-6)。
|
|
267
|
+
- **通告码册 118 → 119**(**§138 CP-2**;🔴 公面常量值变):+`config.legacy_tool_name`(受众 user:用户自写的退役工具名那一行被跳过、说一次);只登记、无事实读器(端按受众渲引擎 `message`)。同一串也是引擎准备期拒码 `CONFIG_LEGACY_TOOL_NAME`(两条通道各自读,值不变)。
|
|
268
|
+
- **抹除证明载体九类;缺席的类读作未证**(**§138 CP-6**;🔴 行为变):载体类 +`clearanceCustody`(擦除连带取走的清标托管,位次照引擎);收执载体表里**缺席**的类读作 `{ unverified: true }` —— 与引擎状态律同读(缺 = 未证,绝不算清)。修前规则「少一类 ⇒ 整张表读不出」在九类表上会把内嵌引擎早于 7.66.0 的服务端发来的每一份八类收执读成 `residuals: null`;改后八类收执照读,`clearanceCustody` 读作未证,`partial` 成因恰点名它。多出表外的类仍整张读不出。计数臂上引擎新带的可选 `unreadable`(已计入 `remaining`)本读数不带。
|
|
269
|
+
- **`delegation.delivery_discarded` 起有事实读数**(**§138 CP-3**;🔴 行为变):`readEngineNoticeFacts` 对这一码由 `undefined` 改为读数(受众 operator 不变);接入文档 §137 CT-2「无事实读器、`detail.path` 不读」作废(138-CPd)。
|
|
270
|
+
- **`readEngineHealthFacts` 多两位、在飞数读同一件 `inflight`**(CC-1173 首波;**§138 ES-1**;行为变:读数可多带键;型面加性):`version`(非空串原样)· `dataRoot`(原串,不规范化);在飞数读 §138 SP-3 的对象件 `inflight.total`(0 照收、缺席不补 0),「这份在飞数已含会话驻留的后台 shell / monitor」读作 `inflight.sessionResident` 在场(不另设证据位、不另设数字形)。逐位独立,坏形只丢那一位。
|
|
271
|
+
- **后台登记读口的行视图带 `retained?: true`**(CC-1173 首波;**§138 ES-4**;行为变:读数行可多一键;型面加性):上游行上的显式保留位,只认自有数据位字面 `true`;非 `true` / 原型链上 / 取值器 ⇒ 不带、整行照读。它指「服务被显式保留」,不是 `viewing`;归类口与补行谓词不读它,补行事实不带它。
|
|
272
|
+
- `InteractiveEngineLane` 的 `'self-spawned'` 读作「本配置根的本机引擎(不论哪一端起)」,由 `localEngineLaneOf` 产出(**§138 ES-d**;值不变)。
|
|
273
|
+
- **自动作答判定不再以卡上的工具入参为放行依据**(CC-1259;**§138 AN-1 / AN-2 / AN-3**;🔴 行为变,只往不放的方向;🔴 型面 BREAKING:`AutomaticAnswerUnknownWhy` 联合增员):卡上的入参在每一张卡上都是服务端脱敏后的投影,客户端没有将执行的字节可比。`automaticAnswerVerdict` 先照上一版原样判出这一问本身的判决,再只往 `unknown` 收、不再读卡:钩子车道(`permission_request_hook`)在任何卡上都不再答 `may_answer`,收成 `unknown`(新词 `answer_may_read_arguments`);规则车道(`standing_rule`)只在宿主交来 `facts.allowRule` 且它是整工具 allow 规则时照旧可放,不交 / 内容形 / 坏形同收。姿态车道与一切 `must_ask` / `unknown` 逐字节不变。对 `AutomaticAnswerUnknownWhy` 写穷举分支且无 `default` 的端补一臂(处置同其余 `unknown`)。
|
|
274
|
+
- **钩子只许拒**(CC-1259;**§138 AN-2**;🔴 行为变):`permissionRequestHookScope` 对 `must_ask` 答 `skip`,其余(含钩子车道收成的 `unknown`、宿主误交的 `may_answer`)一律 `deny_only` —— 钩子的放行(带不带改写)在任何卡上都不再替人放,拒照收。要在执行前放行,用随请求交给引擎的 PreToolUse 钩子(引擎在钩子之后的真实入参上按问类判;ask 规则 / 强制 / 治理 / 模式类的问不被它清)。
|
|
275
|
+
- **「规则清得掉却没放」改说专句**(CC-1259;**§138 AN-8**;🔴 行为变:拒因句改说;🔴 型面 BREAKING:`NoAllowCause` 联合增员):卡上规则车道可放、而宿主阶梯没证出「确无 allow 命中」的那一格,`noAllowCauseOf` 由 `other` 改答新词 `whole_tool_rule_only`;`policyDenyReason` 两车道各一句专句 —— 本端不按给它看的入参放行,在这里只有整工具 allow 能预批,点名路径 / 命令等入参的规则只在引擎对真实入参判;不带规则旗名、不给「加一条 allow」出路。零规则证据在场仍 `no_allow_rule`,规则清不掉 / 判不出仍 `other`;阶梯与卡的读序不变。对 `NoAllowCause` 写穷举分支且无 `default` 的端补一臂。
|
|
276
|
+
- **`standingRowsOf` / `rememberOfferable` / `parseLocalAllowRule` 逐字节不变,`noAllowCauseOf` 只多上一条那一格**(CC-1259;**§138 AN-4 / AN-5**):这三只读口问的是「一条 allow 规则(整工具规则)清不清得掉这一问」,读判定对问本身的那一段,与宿主报没报放行依据无关;`parseLocalAllowRule` 的整工具候选判据与判定口规则车道同一只,在同一对象上同序同次求值(代理 / 取值器 / 抛照旧)。
|
|
277
|
+
- 卡上 `args` / 待决行 `input` 的读法句改口(**§138 ANd**):「批准后将执行的字节」改读为「批准后将执行那一份经服务端脱敏后的投影(未命中脱敏规则时逐字节同)」;读法、取用序、`argsRewritten` 判据不变。
|
|
278
|
+
- **兑付回执 `refused` 行带引擎拒因码 `reason` 与原话 `detail`(CC-1218;§138 SP-4)**:服务端 ≥ 7.146.0 起真铸这一形;`refused` 行与 `indeterminate` 行同一只行读法(`detail` 过显示出口)。`indeterminate` 一臂自服务端 7.146.0 起不再出现,只读 7.145.x(退役登记 RL-12180)。
|
|
279
|
+
- **服务端 7.147.0 两处文字改真(CC-1254;§138 SP-2 / SP-6g)**:`inheritEnv` 拒因闭集记作三词(`no_authorizer_session` 退出,读开集不变、零行为差)· 控制路由 steer 的说明改为「调用方的话恒以用户输入到达模型,运维身份只管授权」。
|
|
280
|
+
- **MCP 断言头「不发送」那一句的版本射程改说到 7.147.0(§138 SP)**:`mcpAssertionHeaderNotSentNotice` 的句子由「server versions up to 7.144.0 accept this setting but do not send the header」改为「up to 7.147.0」—— 服务端 7.145.0 与 7.147.0 的处置表同为 `withheld`(只受理、不把这一位交给引擎);读法与出句条件不变。
|
|
281
|
+
- **服务端读点对齐 ≥ 7.147.0(版本号以服务端发布为准;§138 SP)**:处置表逐条覆盖服务端自铸登记差、d.ts 文件集差、错误码目录差与待发布节;决断类续跑入口「这一行自己的拒」同码 `checkpoint.invalid_outcome` 的判官改读法登为包侧缺口〔SP〕①。
|
|
282
|
+
- **通告信封的 `code` / `detail` 只认自有数据描述符,取值器不执行**(CC-1284;**§138 NCd**;🔴 行为变,只对宿主手拼的访问器形信封可见;零型变、零公面变):全部事实读口(既有的与本版十二个新的)、派发口 `readEngineNoticeFacts` 与 `steerCutVerdict` 读信封两格的唯一读法改为自有数据描述符 —— 访问器形(取值器正常返回也一样)整条缺席、取值器一次也不执行,读口与派发口对同一入参同答。修前信封两格按属性读,手拼的访问器信封会执行取值器并交出事实,与「取值器不执行」的规则不一致;来自 wire 的通告恒为数据位,读数不变。原「`code` 与 `detail` 各只读一次(随读变的取值器交出首读那个码的事实)」的口径作废(接入文档 138-NCd)。
|
|
283
|
+
- **两句表外词的句子不再断言结局或去向**(CC-1284;**§138 NC-7 / NC-8**;行为变,文字,en / zh):`peer.inbound_disposition` 的表外处置词句由「被搁置了、没有送达模型」改为只说「本版本认不出引擎报告的处置方式」;`peer.held_settled` 的退休 × 非 `superseded` 触发(含表外触发词)句由「仍暂扣在信箱里、之后会再次呈现」改为只说「离开了本会话的暂扣队列、这里没有做出决定」。读口只证明词是非空未知词,证明不了结局或去向。目录键不变、值变。
|
|
284
|
+
- **应用落后句改中性**(CC-1173 首波;**§138 ESB-d**;行为变:句文变):`localEngine.behind.appUpdate` 不再写「下载」,改为「把本应用更新到 {running} 或更新的版本,然后重启」(两语)。
|
|
285
|
+
- **座位出站门判本机半边的两条跨键约束**(CC-1173 首波;**§138 ESB-3**;只在宿主带 `lifecycle` 时生效,不带的旧宿主零变化):`lastBootError` 在场 ⇔ 相位 `down`;相位不是 `attached` / `pending` ⇒ `mcp` 缺席。
|
|
286
|
+
- **Bash 命令跑过之后被掐断(超时 / 无输出被杀 / 被中断 / 输出流回调失败)时,结果带上被掐的事实**(CC-1289;**§138 BT-1 – BT-6**;行为变:文字面与 `tool_use_result` 加性位;零型变、零根入口新名):修前引擎的这类卡带部分输出时(引擎不置 `isError`、`exitCode` 为 `null`)本包只读数值退出码与正文两槽,折成「成功卡 + 部分输出」,一句「timed out」都没有(`-p` 流同)。现在四个家族位(`timedOut` / `livenessNoOutput` / `aborted` / `callbackError`,及秒数 `timeoutSec` / `noOutputSec`)经一只读口读(只读自有数据位:取值器不执行、原型链同名键不算、家族位只认字面 `true`、秒数非非负整数只丢秒数、非 Bash 形整体缺席):有部分输出时卡正文首行 = 家族句(`Command timed out after 30s` / `Command killed: no output for 45s` / `Command was interrupted` / `Command ended: output stream failed`;无秒数形 `Command timed out` / `Command killed: no output`),`tool_use_result.stderr` 前接同一句(已有 `stderr` 用一个空格接,已以该完整同句开头则不重复;零输出也前接),`tool_use_result` 多超集位 `_sema_curtailed: { kind, timeoutSec? | noOutputSec? }`(缺席 = 引擎没报被掐,不是「正常结束」)。🔴 **只补事实、不判错误**:卡的 `isError`、`-p` 帧的 `is_error`、`tool_use_result.interrupted` 与引擎所给逐格同(带部分输出 ⇒ `false`、零输出 ⇒ `true`;`aborted` 也不翻 `interrupted`);端要知道「这条 Bash 是不是被掐了」读 `_sema_curtailed`,不读错误位。零输出分三情形(槽纯空白也算零输出;槽缺席的回落体同三情形):失败且引擎正文非空 ⇒ 卡正文仍是引擎正文(不加首行);失败且引擎正文也空 ⇒ 卡正文 = 家族句本身;成功形(wire `isError: false`)⇒ 首行恒是家族句。
|
|
287
|
+
- **「主体读不出」只有一句**(**§138 ESB-6**;行为变:文字,en / zh;零型变、零公面变):座位相位句 / `lastBootError`(`down{principal-unknown}`)与一次性车道失败句(`local_engine.principal_unknown`)改读 `localEnginePrincipalSentence` 点名文件的那一句(目录键 `localEngine.principalUnknown`),这两处读数不带层,层位插泛指的「某个设置文件」(新标签键 `localEngine.settingsLayer.unspecified`);两处各自铸的句键 `localEngine.down.principalUnknown` / `localEngine.headless.principalUnknown` 退役(目录净减 1 键两语)。一次性车道那一句的收尾因此由「重新运行命令」改为「修好该文件后重启 Sema」,与相位句同。
|
|
288
|
+
|
|
289
|
+
### Deprecated
|
|
290
|
+
- `EnginePortFile`(与宿主库的锚点型是同一份文件的两份声明;本包按结构读锚点走 `localEngineAnchorOf`)· `TOCConfig`(子进程 env 改由 `LOCAL_ENGINE_SPAWN_ENV` / `localEngineSpawnEnv` 一处拼)· `EngineInstance`(附着引用改读 `LocalEngineRef`,子进程句柄归宿主)(CC-1173;**§138 EE-7**):型不变;终端与桌面端删掉对它们的引用之后的下一个本包版本删型(公面删型,随 minor;退役登记 RL-12675 / RL-12676 / RL-12677)。
|
|
291
|
+
|
|
292
|
+
### Removed
|
|
293
|
+
- **`PermissionRequestHookScope` 的 `allow_or_deny`**(CC-1259;**§138 AN-2**;🔴 型面 BREAKING,联合减员):型只剩 `deny_only` / `skip`;与 `'allow_or_deny'` 比较或分支的代码删掉那一臂(TS2367)。
|
|
294
|
+
- **`localAllowRuleEnforceable` 的第三参、型 `LocalAllowRuleHostFacts` 与读数 `by`**(CC-1259;**§138 AN-6**;🔴 型面 BREAKING;根入口型名 −1,运行期名数不变):本地写的 allow 规则只由引擎执行 —— `enforceable` ⇔ `engine === 'sent'`;给它传第三参或读 `by` 的代码删掉。
|
|
295
|
+
|
|
296
|
+
### Fixed
|
|
297
|
+
- **门期望按引擎真读数改(两处上游行为变,本包产品码零改;§138 MF-4 / MF-5)**:`run-rule-tool-name-judge-test` TN9 —— 引擎 7.65.0 起 deny / ask 清单里「退役且无现名」的名字不再整跑拒启,改为照常启动 + 一条 `config.legacy_tool_name` 通告(铸点 `prepare-policy-chain.js` `auditPolicyNames` 的 `retiredLeftOut` 分支);`run-permissions-declaration-test` TK7 尺子自证 —— 引擎 7.56.0 起 `*` 在限制型清单上是通配、在授予型清单上单条 inert 且不再整表作废,装配口 allow 桶里的 `*` 过关后投出(此前该格尺子〔「`*` 拒因码 `invalid.tool_name`」〕对 ≥ 7.56.0 恒红,门以 exit 9 停在该格之前)。
|
|
298
|
+
- **属主待决行计数不再被别会话的一条坏形行拖成「读不出」**(CC-1258;**§138 PO-1 – PO-3**;🔴 行为变,在包;型面加性:根入口运行期 +1 函数 `pendingRowOwnershipOf`):修前 `countOwnedPendingRows` 对队列里任一行的 `kind` 读不出先整只抛、后判归属 —— 别会话的一条坏形行让本会话的计数整只答「读不出」,调用方按「不知道」处置(自愈落到决断待定、终端的停止命令一直答检查不了)。现在族读不出的行先问三态归属判官 `pendingRowOwnershipOf(row, deps?)`(`'owned' | 'foreign' | 'unknown'`,永不抛):`foreign` = 正向证明不是本会话的行(本会话 id 读得出 ∧ 行 `sessionId` 自有数据位是非空串且 ≠ 本会话 ∧ 委派位 `agent` 证明缺席、或父 / 根两位都证明缺席或是 ≠ 本会话的串 ∧ 注入腿与进程台账两条 own-run 腿问过且不中)⇒ 略过那一行、其余照数;`owned` / `unknown` 照抛(读不出不是 0)。取值器 / 代理陷阱 / 继承位 / 非串 / 本会话 id 读不出一律 `unknown`(只读自有数据位,取值器不执行)。`pendingRowIsOwnedByThisSession` 改为判官的薄包装(判法只一份,读数逐行同;读就抛仍外抛、不折 `false`)。老服务端(行上无委派位)的自家子代行判官答 `foreign`,族读得出时计数与修前逐行同。
|
|
299
|
+
- **句界截断原语不再把成对反斜杠劈开**(CC-1262;**§138 DS-1**;行为变,在包;零型变、零公面变):`cutForDisplay` 取的最长安全前缀只避让 `\uXXXX` / `\u{…}` 转义记号、代理对与遮盖记号,不认 `escapeBackslashes: 'auto'`(或 `true`)产出的成对形里「一个字面反斜杠 = 一对」—— 截点落在一对中间,屏上留一枚无法按「`\\` → `\`」解码的孤反斜杠(例:字面 `abc\x\y\z` + U+202E 的成对形在预算 4 处留 `abc\`)。现在截点落进一串连续反斜杠、且离串首的偏移为奇数时退一位到对前(省略记号照旧在其后);非成对文本(单枚反斜杠的 Windows 路径、正则)里反斜杠串长为 1、截点不可能落进中间,逐字节不变。退让写在叶里一只包内函数,不上根入口。
|
|
300
|
+
- **展示助手 `collapseLabel` / `capForDisplay` 按串自判成对反斜杠**(CC-1263;**§138 DS-2**;行为变,在包;零型变、零公面变):两只助手用无成对位的字符面,名字里的真 U+202E 与字面六字符 `\u202E` 画成同一串 —— 同一屏上两个不同的服务器名 / 条目名 / hook 名看起来一样。现在两只都读公面出口的 `escapeBackslashes: 'auto'`(与 `displayUntrusted` 同一只判定、同一遍扫描、同一只封长;凭据两网本条落地时显式关着〔「从来不洗凭据」那半句已被 CC-1291 作废:见下文 **§138 MF-6**,两只助手现读出口缺省的凭据两网〕):显示形里有字符面标记或编码形字面序列 ⇒ 字面反斜杠画成一对、标记单枚,两个名字画成两串;干净文本(Windows 路径、正则、中日韩、emoji 连字)逐字节不变。🔴 与 `escapeBackslashes` 同:成对支上**不幂等** —— 两只助手的输出只在最终成句处用一次,不要再送进任何一只助手或开了成对的出口(包内两处「助手套助手」的站点同批改成一遍到位:hook 故障横幅、近似规则读数的已挂载名)。入参不是串(纯 JS 宿主)时按公面出口归一为串,不再抛。
|
|
301
|
+
- **审批卡「为什么问你」一格里引擎原文超长时中段省略、保头尾**(CC-1264;**§138 DS-3**;行为变,文字面,在包;零型变、零公面变):`message` 行修前按尾部截到 300 单元 —— 引擎句「Cannot write to <路径> while in plan mode.」遇上长路径,句尾的原因被截掉,屏上只剩一个没有原因的长路径。现在显示形超 300 单元 ⇒ 取头 150 单元 + `…` + 尾 149 单元(总长 ≤ 300);省略点不落进转义记号 / 遮盖记号 / 代理对 / 一对反斜杠中间,并尽量不紧挨 RTL 字母或 emoji 连字序列(软避让,最多多让 24 单元,让不到就留硬安全点)。不超 300 单元的原文逐字节不变;凭据先洗后省略;不为任何一句引擎原文另开读口(超长一律同一条路径)。
|
|
302
|
+
- **审批收口帧两族同判:呈卡族单卡消卡帧 `approval_complete` 不再恒读成 `null`**(CC-1177;**§138 CF-1**;🔴 行为变,在包;零型变、零公面变):`classifyApprovalCompleteFrame` 修前首行只认旧族 `tool_approval_complete`,服务端 ≥ 7.133.0 在呈卡族腿(`approvalFrameFamilies = ["approval_request"]`)上发的单卡消卡帧 `approval_complete` 恒答 `null` —— 「到期转停驻 / 到期撤卡 / 已决」三态在那条腿上答不出,宿主只能自拼一份读法。现在:呈卡族帧先过 sdk 谓词 `isApprovalCompleteFrameV1` 窄化(窄化只此一份,本包不自写第二份守卫),窄得下来才走**同一只**三态判官 —— `outcome: 'expired'` ∧ `parked: true` ⇒ `live-expired-parked`;`expired` 而无停驻位 ⇒ `live-expired-retract`;`allowed` / `denied` ⇒ `settled`(与旧族同一份判决,`parked` 仍只认自有数据位的严格 `true`);🔴 窄不下来(`schemaVersion` 不是 1 / 键坏形 / `outcome` 开集新词 / `cause` 表外 / `parked` 在场而不是 `true`)⇒ `null`,不猜结局,宿主按 `askId` 清卡;🔴 窄化与判决吃**同一份自有数据位快照**(取值器 / 代理陷阱 / 原型链上的键一次不执行、不读;整帧或必填键只在原型链上、必填键是取值器 ⇒ 窄不下来 ⇒ `null`;`parked` 取值器 / 继承位当缺席 ⇒ 读成撤卡;快照构造读抛 ⇒ `null`、不外抛;分派读 `type` 是两族共用的既有普通读,不在快照窗内)。`settled` 与另两态一样**仍按 `askId` 清卡、释放持有**(三态只附加结局语义,不免除清卡义务;chrome `approval_complete` 臂的消卡帧到达一律清卡)。旧族读法逐字不变(不过任何窄化、不走快照)。其它 `type`(含呈卡族开卡帧 / 撤卡帧)仍 `null`。
|
|
303
|
+
- **宿主代理的 `has` 陷阱对键答假时,隐藏的坏值不再被读成「缺席」**(CC-1057;**§138 AB-1 – AB-6**;行为变,在包;零型变、零公面变):六处读点原先把「在不在」(`key in o`)与「值是什么」当成两次互不印证的问话 —— 宿主交来的代理对某键的 `has` 陷阱撒谎答假、而该键其实在场且是坏形时,坏值被当缺席接受:① 放行三行判官(`standingRowsOf`)隐藏的 `ruleOffers: []` 之下会话行 / 持久行照给;② 本会话放行「卡合格」判官隐藏的坏 `unreadableEvidence` 被读成「没有登记」,会话行照给;③ 卡帧读根候选 `readRootCandidate` 隐藏的坏 `covers` 被丢、候选变成目录候选(与「逐字添加」是相反的动作);④ 读根授权通告 `approval.read_root_granted` 隐藏的坏 `covers` 被丢、仍铸 granted(一句更窄的授权被说成目录);⑤ 撤销体 / 写体隐藏的空 `principal` 被当缺席(一次瞄准别人的操作落进调用者自己的规则桶并得到 200);⑥ 重连结果 `projectMcpReconnectResult` 隐藏的坏 `toolNames` / `listingIncomplete` 被丢、仍投 `accepted`。现在这六处(及同函数同形存量:放行判官的 `rememberRefused` / `ruleOffersAbsence` / `argsUnavailable` 三位与卡面载荷不可读位 `cardPayloadUnreadable`)的在场判与取值共享**一次观察**:`in` 答假必须被同一次自有描述符读取印证(描述符不在 ∧ 复问的 `in` 仍为假)才算证明缺席;答假而观察到在场 / 说不清(自有位在、自有访问器、读描述符抛、复问为真)⇒ **不能证明缺席**,按各点既有的「读不出」处置(放行判官:卡读不出、三行全关;读根候选 / 授权通告 / 撤销与写体 / 重连结果:整只座不过境 / 不认领 / 拒铸 / 整只畸形);`in` 答真时自有数据位的值取自同一次描述符读取。🔴 `in` 本身抛 ⇒ 各点**既有处置原样保留**(全关 / 不认领 / 原样外抛),不统一替换成「永不抛」;`in` 如实答假且键真缺席 ⇒ 与修前逐字节同。读口为包内件 `inSlotReadOf` / `inValueOf`(`wireFailureShape.ts`,不上根入口)。同口径补两处:① `in` 答真而**读自有描述符就抛**(含陷阱「先删键再抛」)、或描述符缺席后**复问 `in` 就抛**,一律按「不能证明缺席」(修前归「在场而读不出」,宽读回退按键再取一次,会把删键后的 `undefined` 读成缺席而放行、或对只抛不删的陷阱照收原值);宽读回退只留给读得出描述符的原型链位 / 访问器;② 重连结果 `reconnectMcpServer` 的应答期限分流只认**证明缺席**的 `outcome`(修前代理对 `outcome` 的 `has` 答假而自有数据位仍在的坏体被认成应答期限先到,提前返回、跳过畸形体与身份核验)。
|
|
304
|
+
- **只以 `text_end` 到达的文字块进活流转录**(CC-1172;**§138 LT-1 – LT-6**;行为变,在包;零型变、零公面变;已知限制 KL-11641 退):引擎把一块文字只以 `text_end` 交付(没有逐块增量帧)时,修前活流转录不显这一块 —— 文字臂把本层一个字节都没经手的段末帧当成「已由整块 `text` 帧交付的段」、不铸行(工具卡之后的终答块也不由终答补差补上,终帧补差落分岔臂、只报 `result_text_diverged`);而服务端 7.144.0 起账本 `text` 行含这一块,用户重载会话后多出一段话(两代服务端的活流同形)。现在文字状态机多记一项来源 —— 这一模型段的字节是不是由整块 `text` 帧交付过:段末帧到达时,本层对这一段零经手 ∧ 来源位假 ⇒ 当作先到了一只等于 `content` 的增量收下(与「一只增量 + 一只段末帧」同一条路:思考先于回答提交、一只等于 `content` 的 `stream_delta`、段末事件带 `committedUuids: []`、紧跟这一块的 committed 转录行,行的 `_sema_segment_id` = 该段段末事件的 `segmentId`)。整块 `text` 帧交付过的段不重铸(账本整块行把两个边界之间的多块拼成一行,其后可跟多只段末帧,都不重铸);来源位在工具卡 / 模型轮末 / 终局边界与压缩分界复位(两处走同一只复位口),边界之后零经手的段末帧是新一块;同一段的段末帧迟于边界到达的序(服务端不产生,推断)按新一块读、会再铸一行,记为已知限制 KL-11721。有逐块增量的块、迟到的段边界、脱敏分歧、子流段末帧的读法一字不动。三端零改(经包转录)。
|
|
305
|
+
- **审批决断身份只读一次:帧 / 行上的 `approvalId` 取自有数据描述符一次,悬挂行腿与活卡入口用同一份读数**(CC-1132;**§138 ID-1 – ID-3**;行为变,在包;零型变、零公面变):修前悬挂行读器读行 id 与帧 id 各多次(行上五处、帧上判别器 + 相等判),活卡入口再读一次 —— `approvalId` 是取值器、且前两次读到同值第三次读到另一值时,读器放行、入口读到第三值 ⇒ 卡与账记在行 id 上、决断发往第三值(旧族 `tool_approval` 帧路同形)。现在:读器对行 id 取一次(取值器不执行、只在原型链上的不算;坏形 ⇒ 丢行计数,段里唯一一行读不出 ⇒ `malformed`)、对帧 id 取一次(须是自有数据位的非空串且等于行 id,否则丢 `frame` 位出盲卡);活卡入口 `surfaceToolApprovalFrameAndRespond` 在第一个 `await` 之前对帧 id 取一次,读不出 ⇒ 不呈卡、不发送,结局 `not_sent` / `card_unavailable`;悬挂行腿把读器那一份行 id 直接交给模块内入口 `surfaceApprovalFrameWithId` 承接(入口不再对帧取第二次;该入口不上根入口,审批活卡入口模块的根入口导出改为按名展开,逐名与修前相同)。JSON 解析出的帧 / 行(真服务端的一切)逐位不变;只对宿主自造的取值器 / 原型链 / 代理对象可见。0.104.1 起记入已知限制的这一形(KL-11321)随本版收口、该行删除。
|
|
306
|
+
- **「没有」要有证据:放行 / 起服 / 换代 / 可用四类正向结论不再从读不出的位推出**(发版前订正 ②;**§138 RV-1 – RV-10**;🔴 行为变,在包;零型变、零根入口新名):① 规则车道判 allow 规则是不是整工具形时,`ruleContent` 的「不在」改走一格缺席证明的读法 —— 宿主代理的 `has` 对它答假而描述符在 / 读描述符抛 ⇒ 读不出、不作答(修前读成整工具形,规则车道替人答掉一张只放行某路径的卡;RV-1)· ② 本机主体:某层读数 `ok` 而 env 块本身读不出(代理陷阱 / 已撤销代理)⇒ `unknown{layer}`,与播种口对同一块拒启同判(修前当该层未设、落下层或 `'default'`;RV-2)· ③ 本机引擎判官的身份三锚只认 `/health` 的自有数据位(修前原型链 / 取值器上的 `pid` / `startedAt` 被采信、可到 `attach`;RV-3)· ④ 状态机判词 `none.blocked` 表外值 / 访问器 / 只在原型链 ⇒ 坏事件、态原样零动作(修前当不阻断 ⇒ 从初态进 `locking`、产 `acquire-lock`;RV-4)· ⑤ 重起结局:附着 → 附着且无 `spawn` 效果时只有身份判官答 `changed` 才是 `restarted`,答 `unknown` ⇒ `pending`(RV-5)· ⑥ 停驻问答卡问题的「可用」按索引逐项判,稀疏数组的空洞不合格 ⇒ 行侧稀疏时回落有效的流上题面并盖 `_sema_questionsFromModelCall`(RV-6)· ⑦ `self` 族与接线快照 `selfSpawned` 读作「本配置根的本机引擎」(附着到另一端起的那一台也是),通告 `session.engine.selfNotLocal` 两语句子改说「本机引擎」(RV-7)· ⑧ chrome `approval_complete` 臂的宿主义务句改为「结局三态只读 `classifyApprovalCompleteFrame`」(RV-10)。接入文档 §138 DSb 凭据形一行与 G-DS2 的凭据判据改为「遮凭据」并给出实得字节(RV-8);一格缺席证明的两只读口改从同一次观察派生(RV-9,零行为变)。普通 JSON 形入参逐字节同答。发版前订正 ③:主体键是访问器(描述符在、无数据位)也按该层读不出 ⇒ `unknown{layer}`,取值器照旧不执行(修前当未设落下层;门 LEO10 取值器格改钉 + LEO11 访问器格,变异「访问器当未设」红)。
|
|
307
|
+
|
|
308
|
+
### Gates
|
|
309
|
+
- **发版前订正 ② 的钉**(**§138 RV**;扩既有门,不新增门):`run-automatic-answer-verdict-test.mjs` AN-4b 读序改钉(整工具形规则值多一次 `ruleContent` 描述符读与一次复问 `in`)/ AN-4c 别名后缀上限 3 → 4 / AN-5a +3 形(`has` 撒谎藏起内容位 · 藏起空串内容位 · 称有而无)/ AN-5h(撒谎规则 × 规则车道 ⇒ `unknown`)/ AN-5i(语法树:判据叶内零裸 `in`、恰一次 `inSlotReadOf`)· `run-local-engine-spawn-env-projection-test.mjs` LEO11 块读不出组(三层 × 三形 ⇒ `unknown{layer}`;托管层 × 三形 ⇒ 不落 user 值且播种同块拒启)· `run-local-engine-judge-projection-test.mjs` LEJ12(三锚只在原型链 / 是取值器 / 描述符读抛 ⇒ `unverifiable`、取值器零执行、正控)· `run-local-engine-step-matrix-test.mjs` LEI6b(初态 × 六种坏形 `blocked` ⇒ 零动作 + 两条正控)+ 重起结局四格(`unknown` ⇒ `pending`;`spawn` 在场 / `changed` ⇒ `restarted`;`same` ⇒ 不是 `restarted`)· `run-hitl-gate-honesty-test.mjs` F20-R5a / R5b 空洞三形 + F20-R5g · `run-session-engine-lane-projection-test.mjs` 通告句改词一格 · `run-approval-frame-chrome-arms-test.mjs` C8 · `run-public-surface-test.mjs` ③c(两只按名导出的模块:模块 `.d.ts` 导出 − 根入口挑名 = 登记包内名,等值;读法自证)。红先 = 修前树上 AN 段 5 格 · LEO11 15 格 · LEJ12 6 格 · LEI6b 与重起结局 7 格 · 通告句改词 1 格红,F20-R5a 与 C8 首格即红(两门首红即停)。
|
|
310
|
+
- `run-display-untrusted-baseline-diff-test.mjs` B11b:邻接负例对上一发布产物(0.93.1)的逐字节对拍对「封长出口在基线截进遮盖记号中间」的格放行(本版 cutForDisplay 避让遮盖记号、取记号前最长安全前缀,CC-707 起、0.108.0 发布产物已如此;既有判据漂移,远端全门在 B7a′ 判别力栅栏提前退出从未跑到本格)+ 新钉 B11b′「本版 = 基线去掉半截记号且至少一格」;本机红先、绿后,变异(钉改成不去半截记号)红。同门 B11e / B11f′ / B12a 对上一版核配置地址口的格在没有 `displayConfiguredUrl` 的基线(0.93.1)上诚实跳段而不是抛 TypeError(本版零字节 / 幂等格照跑);这三段自写入起从未在 0.93.1 基线上执行到(远端在 B7a′ 判别力栅栏提前退出、本机不跑本门),首次跑通在本版。B12b(能力地址池自由文本十五出口对上一版)的封长格同用 B11b′ 的允许差(放行格数与「放行格本版 ≠ 基线去半截记号」计数写进格文)。
|
|
311
|
+
- `run-tick-model-and-config-drift-test.mjs` P 段:对上一发布产物(0.93.1)的逐字节对拍把 CC-1280 的加性 chrome 臂 `subagent_alias`(子代 lane 的 tick 登记口每拍同拍发出)计入允许差(抹掉后比)+ 新钉 P6「带该臂的恰是 tick 绑到子代卡的六组」;发前 k3s8 全门与本机 P1 / P2′ 红先、绿后,两枚变异(去抹臂 / 松 P6 钉)各红。
|
|
312
|
+
- 发版前订正车(首轮全量真红九件 + CC-1291 / CC-1292;**§138 MF**):`run-local-engine-spawn-env-projection-test.mjs` 多 11 格红先(LEE5 env 块键枚举读不出 × {ownKeys 抛 / 已撤销} × {托管 / user / flag / baseline / external};控制格:块不是对象按缺席读、空托管块不 refuse、spawn 的 inherited / hostBits 读不出不抛)与 LEE4c 三格(时限表住 `localEngineTiming.ts`、两个读者都从叶 import、根入口同一引用);`run-error-supplement-roles-test.mjs` 声明表 21 → 24 只(三只新读口的采样句 en / zh 过 ES3 自足判官);`run-rule-tool-name-judge-test.mjs` TN9 按桶新增「退役无现名 × deny」一类(通告判官独立期望 + TN9f 判别器自证 + TN9g 类有成员);`run-permissions-declaration-test.mjs` TK7 尺子自证按引擎代际分两判;`run-display-untrusted-projection-test.mjs` DS2c / DS2d 改口 + DS2h(5 种凭据形 × 7 档 max 零正文零前缀,正控:关网读数确实露)+ DS2h2;`run-decision-refusal-standing-test.mjs` AI 组(根入口两名在场且同一引用、英文常量不上根入口、英文句逐字节同修前、zh 三段、缺席语义、G-SK4 在根入口可用、第二参 decision 生效);`run-permissions-declaration-test.mjs` 解开 TK7 之后第一次被跑到的各格按引擎真读数处置(门侧,产品码零改):TK9 名字关 —— 夹具捆的引擎 ≥ 7.55.0 / ≥ 7.65.0 时限制型清单的通配覆盖名 / 退役无现名改「两形都收」,期望逐条由引擎判官导出并带判别力自证 · CF1 能力路由再分一代(7.141.0 起多恒真版本位 `layers`)· V1 引擎 ≥ 7.61.0 的两只旧输出名无现名原样投 · MS1 / MS1a / MS1b / MS1c / MS1d / MS1e 字面裸名本身与含 `*` 对端段单列(改写形为裸形超集)· R6 / R6d / G-RR1 带对象元素的收紧桶输入(0.105.0 起有意拒装配)单列并钉住拒句,allow 列里被所装规则校验器拒的整工具名对拍前摘掉 · NX1 `*` 不再被拒;`run-session-id-path-segment-test.mjs` R1 豁免行 `localEngineOccupancy.ts` 命中数钉 1;`run-task-notification-entry-sampling-test.mjs` NA0 名册 +2 文件。
|
|
313
|
+
- `run-park-decision-layer-test.mjs` 多 G7 一组(CC-1258;三态归属判官 + 计数对别会话坏形行略过 + 薄包装等价):`foreign` 的每一条件各有一格反例(`owned` / `unknown` 照抛)。
|
|
314
|
+
- `run-host-settings-source-test.mjs` AB 段(CC-1256;§138 HS2):真删 ⇒ 下一拍 deny / ask / allow 不再发且跨三拍稳定、无沿用产物 / 沿用句 / `held_previous`、身份退出基准(AB1)· 与有意清空 `{}` 同读(AB2)· 零字节 / 纯空白 / 读不出 / 还没装载 / 从枚举里消失仍按住(AB3 / AB3b)· flag 层文件真删而内联照读(对照文件截零 ⇒ 按住;AB4)· 删后重建同 id 不留残、删后换 id 重建采纳(AB5 / AB5b)· 基准收缩只出在 `absent` 这一形(AB6)· 免丢只对那一份载体(同层另一份没读成 / 整栈另一层截零 ⇒ 仍不可信;AB7 / AB7b)· allow 轴不放宽(AB8)· 确认口对真删答 `undefined`(AB9)· `absent` 不被伪造:结局词缺席 / 大小写不同 / 表外词 / 带非空文档的 `absent` 载体都是层读数坏形、规则按住(AB10);AG15 去掉「显式 `absent` 与枚举里消失同判」那一半(改由 AB5b 钉);红先 = 修前源码树 7 红(AB1 / AB2 / AB4 / AB5b / AB6 / AB8 / AB9);变异 4 枚(`absent` 仍算丢 / `not-loaded` 也免丢 / 零字节也免丢 / `absent` 身份留在基准里)各红在点名格。
|
|
315
|
+
- **新门 `run-approval-frame-reading-test.mjs`**(CC-1261;**§138 FR**;包侧投影门三件之一):判因读口逐帧对拍 sdk 谓词、三因各一与判别位次序、原值洗消与封长、三判别位各读一次、读抛与非对象不抛、通用卡投影口第二参(伪造 / 原型链 / 取值器读数不盖)、原因格三句(目录英中逐字、第三句不说坏形)、活卡入口端到端(因只呈现:判定口三因同答;守卫读抛的帧入口照旧 reject)、单源(`toolApprovalWire.ts` 无对谓词的直接调用)。
|
|
316
|
+
- **新门 `run-engine-notice-user-codes-test.mjs`**(CC-1284;**§138 NC**;包侧投影门三件之一):NC0 判据自证(十二码在册且受众 user;真引擎铸的「采集关闭」「采集关闭未落盘」通告读口读得出)· NC1 逐码读口三形(好形:自有键恰为期望集、与派发口同答;缺席:码错 / 无 detail / 非对象 / 只在原型链上;坏形:必填位缺 / 空串 / 错型 / 负数小数 / 访问器 ⇒ 整只缺席,可选位坏形 ⇒ 只省这一键;敌意入参不抛)· NC2 逐码句口(en / zh 互异、缺省 en、无残留占位符、入参非读数 ⇒ `undefined`)· NC3 展示出口(外来串位逐位:控制符 / 双向覆盖 / 换行 / 凭据形不原样出,无害值确实出现)· NC4 逐码语义格(不猜臂、不相减、不折叠)· NC5 耐久审批门出句口(审批席三态三句互异;读不出臂位的 108 句审批请求这一半一个方向词都没有;来源 / 成因逐词有句)· NC6 根入口 / 目录键。
|
|
317
|
+
- `run-engine-notice-catalog-test.mjs`(CC-1284):L9 样本 / J 夹具各 +12 码,J6 用户面码恰 36 个(成文改口:24 个作废),J7 改取仍无读器的码。`run-message-catalog-test.mjs` MC16:本票各组目录键的占位符集合逐键钉死、两语带齐参数出句无残留、各组键数地板。`run-catalog-routing-test.mjs`:新语料 `cc1284`(13 只句口逐臂,含表外词的保守臂)。
|
|
318
|
+
- **DS 三件的钉**(**§138 DS**):`run-notice-presentation-test.mjs` DS1(成对形随机池 × 每个预算 × 句 / 词两档的性质扫 + UNC / 字面反斜杠 + U+202E / 对尾具体读数 + 非成对文本不动 + 单源);`run-display-untrusted-projection-test.mjs` DS2(真 U+202E 对字面六字符 · 槽位句 · 干净金样 · 凭据两网显式关 · 与公面出口同读 · 不幂等是设计 · 站点普查 · hook 横幅一遍到位;L2 / L3 / FC3b / FC3d / FC5 的参照按成对支 / 原样支两分改钉);`run-approval-card-face-projection-test.mjs` CW7(长路径头尾保住 · 不劈记号 / 代理对 / 一对反斜杠 · emoji / RTL 避让 · 凭据不外露 · 无第二读口)。
|
|
319
|
+
- 新门 `scripts/run-parked-unresumable-projection-test.mjs`(包侧投影门三件之一;§138 PU):登记(三只口在根入口与公面基线、键表末位、覆盖表、构建产物声明的成员形)· 上一发布产物的老判官对带新位的行 / 事件 / 目录照收(`SEMA_PU_PRIOR_PKG`;没给 ⇒ 段跳过)· 出站门七形合法 / 十七形坏形逐形拒并点名路径、访问器不执行、事件 / 目录 / `start` / `patchSession` 回执同判 · 铸口回体读不出六形抛、二十二行矩阵逐行进 / 不进与成员形、单行读不出不连坐、归属 fail-closed · 互补钉(十六形:铸口列它 ⇔ 耐久取件答 `row_unresumable` ⇔ 身份点名取件同答 ⇔ 问答分诊答 `settled` 带判决;同 run 一行可决一行续不了只列后者)· 读口 · 句口逐字节金样 en / zh 与坏入参 · 订阅摘要门种 · 端到端(宿主铸行过门、结构化克隆过境、座位车道与浏览器车道同一行字;行走了键缺席)。
|
|
320
|
+
- `run-seat-contract-keys-test.mjs`:E 段键表下限 +`parkedUnresumable`;F 段并读四格(`parked: false` 并在拒并点名新位 / `parked: true` 并在过 / `parked` 缺席并在过 / 空数组拒);H2 嵌套位 +2(停驻位的员与员上的判决位 × 八种非普通载体)。句口与 `checkpointRowBarSentence` 的 `lang` 出口登记进句等值门语料(`scripts/_catalog-corpus/cc1233.mjs` + 金样)。
|
|
321
|
+
- `run-engine-notice-user-codes-test.mjs` 多格(CC-1284;**§138 NC**):NC1l 信封访问器三形 × 十二码 × 直读口 / 派发口(取值器零执行)· NC1m 逐键描述符读抛(必填位整只缺席、可选位只省一键,含 `indexRolledBack`)· NC1h2 自有 `code` + 继承 `detail` 与逐位继承 · NC2d 句口计数位坏形全表(负数 / 小数 / NaN / 无穷 / 数串 / 空 / 对象 / 布尔)· NC2f 句口可选位坏形 ≡ 缺席 · NC4w / NC4v 表外词中性句与已知词 × 未知词交叉格 · NC5c 问答句恰在 `liveQuestionFace === false` 时出现一次(剥句前先核)、NC5e2 两语 × 三态 × 三态 · NC5j 坏参格同时断言没抛与返回 `undefined` · NC7 消费方视角 tsc 探针(十三只句口入参型的必填位 = 运行期必填位;`memoryCaptureOptoutUnpersistedSentence` 的入参型补 `sessionId`)。`run-engine-notice-catalog-test.mjs` J8c 改口(访问器信封零执行)+ J8d 全派发表 × 三种访问器形 × 派发口 / 直读器。
|
|
322
|
+
- 新门 `run-core-7660-pick-projection-test.mjs`(包侧投影门三件之一;A 码册恰一百一十九 / D 被弃投递读口对引擎真铸点四形 / H 作者两键与附件拒者两道投影 / E 载体九类与引擎状态律同向 / K 内核契约 9 / Z 两版引擎不读名零命中;红先 = 换钉后修前树 12 红)。
|
|
323
|
+
- `run-core-7640-pick-projection-test.mjs` A1 改 7.64.0 起下界、A3 改为派发表有行;`run-engine-notice-catalog-test.mjs` 码册 119(G8b / G-NM1)、G8m 按代判派发行、+G8n;`run-mods-kernel-transit-test.mjs` / `run-mods-kernel-install-matrix-test.mjs` 7.66.0 列(契约 9);`run-memory-entries-wire-test.mjs` R10 前提九类、「缺一类」移出坏形表、+R10e;`run-session-memory-erase-projection-test.mjs` J5 前提九类;生成器第二十七批(`DISCARDED_DELIVERY_PATHS`)。
|
|
324
|
+
- 新门 `scripts/run-local-engine-judge-projection-test.mjs`(包侧投影门三件之一;**§138 ES**):锚点读口(LEA1 判官模块零 import 宿主库 · LEA2 坏形 ⇒ 无锚点 · LEA2b 落盘戳不当进程起点 · LEA4 日志路径缺 ⇒ 不带)· 判官八判词各正控(LEJ1 – LEJ8)· LEJ9 坏形版本不判本地新 · LEJ10 身份判不出 ⇒ 卡指纹不等 · LEJ11 只凭 pid 的同一须锚定进程活着 · 车道投影 · 组指纹漂移 · 判词句 · 公面与敌意入参;红先 = 改前码上读口全缺。
|
|
325
|
+
- 新门 `scripts/run-local-engine-occupancy-projection-test.mjs`(包侧投影门三件之一;**§138 ES**):LEO1 登记计数 · LEO2 – LEO5 fleet-wide 后台读者律(两类停驻不计、parked workflow 仍计)· LEO6 会话驻留 shell 读登记表(retain 不计 / 读不到 · 认不出出身 · 被取代 · 达上限 · 状态词认不得 ⇒ unknown / covered 不进合取)· LEO7 – LEO8 本端六项与登记投影 · LEO9 – LEO9d 需求 · LEC1 – LEC3 卡(读不出 ≠ 空闲 / 指纹含目标实例与后台 id 集 / 停驻说明恒在)· LEC6 自动资格 · LEX 退出去向;红先 = 改前码上读口全缺。
|
|
326
|
+
- `run-engine-health-facts-test.mjs` EH9(四位逐位独立、证据位只真不假、0 照收、原串不规范化、版本与数据根两位对 sdk 同名位的编译期钉);`run-engine-agent-absence-projection-test.mjs` B8 改为「retained 真才带」、B8r 六形(非 true / 原型链 / 取值器 ⇒ 不带,不填 viewing);`run-message-catalog-test.mjs` 域闭集 +`localEngine`;`_catalog-corpus/cc1173.mjs` 三只新句口的目录路由语料。
|
|
327
|
+
- 新门 `scripts/run-local-engine-spawn-env-projection-test.mjs`(包侧投影门三件之一;**§138 EE**):LEE1 注入表逐行 · LEE2 用户显式赢只对可覆盖行 · LEE3 宿主装配位白名单 · LEE4 四只等待预算 · LEE5 播种层序与读不出的层 · LEE6 入口钉住键 · LEE7 顶层键投影 · LEE8 Windows 键名大小写(注入面按原名读写的每只键小写 / 混合拼法都按大写落,推导读哪些键由探针现读;名单 × 多租户声明经播种 → 注入面联合不误注)· LEE9 – LEE10 起服拒因(先脱敏后截断 / 以空白开头的秘密先于去前缀脱敏 / 不认的行)· LEE11 运维声明推导 + 单函数与表派生行同输入同值 + 输出依赖钉(门内把编译产物里的单函数换成探针、经 data: 地址载入变体:派生行的输出逐格随探针变、每次拼装恰调一次;「调用但丢弃结果 + 解构内联算法」与「结果再叠内联过滤」两形必须被判不依赖;源码别处零第二份按字面量与标识符扫)· LEO10 – LEO11 本机主体;红先 = 改前码上 221 格红;Windows 拼法与以空白开头的秘密两组格红先 = 改前码上 22 格红(20 / 2);输出依赖钉红先 = 派生行改成「调用但丢弃结果 + 解构内联算法」时旧的语法树存在性检查 233 格全绿、本钉红。
|
|
328
|
+
- 新门 `scripts/run-local-engine-anchor-shape-test.mjs`(包侧投影门三件之一;**§138 EE**;LEA3):锚点读口读的键(按语法树取)与宿主库锚点型对拍 —— 读口的键在宿主库里且型相容、候上游加性键一出现即红、弃用型 `EnginePortFile` 退役前不漂移;终端树(`SEMA_CLI_ROOT`)不在 ⇒ 诚实跳段;尺子自证不成立 exit 9。
|
|
329
|
+
- `run-local-engine-occupancy-projection-test.mjs` LEO9p(主体 × 四源:主体读不出 / 缺席 / 坏形 / 取值器 ⇒ `none`;红先 = 改前码上 43 格红);`_catalog-corpus/cc1173spawn.mjs` 三只新句口的目录路由语料。
|
|
330
|
+
- `run-automatic-answer-verdict-test.mjs` AN 段(§138 AN;基线 = 上一发布产物,缺席 ⇒ 红、不是跳段):公面判定的旧判定段与上一发布产物的判定体逐字节同(dist 语法树);语法树钉「首句出旧判决、其后零读卡、`facts` 只在规则车道读整工具规则」;差分全称(265 卡 × 三车道 × 14 形 `facts` ⇒ 差异只在「旧可放 ∧ 规则 / 钩子车道 ∧ 新 `unknown`」,规则车道良形整工具与姿态车道逐字节同)+ 具名反例读数;读序四格(旧阶段前段与上一发布逐读同 · 新阶段卡侧零读、`facts` 侧恰几读 · 卡与 `facts` 同一对象 · 交叉副作用的射程读数);规则值取法 17 形、取值器零执行、原型 `value` 植入;钩子射程只剩两词;公面与退役账。既有钩子车道各格改口(射程 `allow_or_deny` → `deny_only`,问本身的读数改由旧判定段钉);回收范围句在已知限制行与接入文档 §138-ANa 两处在场;红先 = 修前 23 / 35 格红。
|
|
331
|
+
- `run-no-allow-cause-test.mjs` NC-AN、`run-standing-rows-test.mjs` SR-AN:语法树钉两口读旧判定段(含导入不别名)+ 全组合对上一发布产物逐字节(原因口只许「上一版 `other` ∧ 旧判定可放」那一格改答 `whole_tool_rule_only`);NC-AN-4 – 6 钉新原因词的落点、两车道专句(≠ 通用句、不带规则旗名)与单一铸口;`run-rules-side-test.mjs` LR-AN:整工具判据换回原表达式即与上一发布 dist 体逐字节同 · 14 种解析结果差分 · 代理族读序与结局 · 抛错取值器;`run-hitl-answer-outlets-projection-test.mjs` HL-AN(两形参 / 读数三成员 / 第三参不改答案 / `enforceable` ⇔ `sent`);`run-approval-frame-live-facts-projection-test.mjs` 射程表钩子车道改口;判定口规则车道读数的既有格(卡读法 / 让位披露 / 悬挂行 / 耐久卡 / 生成表 / 服务端夹具各门)一律以整工具规则交判,保住判别力。
|
|
332
|
+
- 新门 `server-7147-pick-projection`(SP0 – SPe):服务端自铸登记新一代对 7.145.x 的差两向对拍处置表;真 `/health` 路由铸的回体 ⇒ 读数、键集与登记集两向;7.142.x 铸票 ⇒ 新一代兑付真铸 `refused` 行;提交面三只拒经真铸点 + 真类型包映射器;`inheritEnv` 拒因三词;车道词 `none`。门库新增 `serverSqlStoreJs`(服务端 7.146.0 起 SQL 店模块搬进 `stores-sql/`,按夹具版本认代),`durable-decide-leg` / `park-row-card-leg-projection` / `server-7145-pick-projection` 改经它;`server-7137-pick-projection` I1 改三词 + I1b 读开集格;`server-7145-pick-projection` 处置表 A3 改 consumed。门库再增 `noLaneConfig`(服务端 7.147.0 起部署必须点名执行车道:门里手搭的部署配置按夹具版本补 `remoteExec: { provider: "none" }`,老一代原样缺席 —— 两代同一个「没有执行车道」状态),`admissionDeps` 第二参改为必传的夹具 dist 目录并经它补车道;直调能力 / 决断 / 受理路由与起服的门改经它(起服两处另补 7.147.0 起必填的 `deploymentMods: []`);停驻行合成件按 gate 取成对的动作种类(`needs_review` ↔ `review`、`human` ↔ `tool_approval`;引擎 7.65.0 起错配行判 damaged)。
|
|
333
|
+
- 新门 `scripts/run-seat-subagent-alias-projection-test.mjs`(包侧投影门三件之一;§138 SE):适配层两处喂点各同拍恰发一只臂且入参 = 登记入参 · 无开卡回执照发 · 臂在同 tick 面板事件之前 · 车道证明 / 键集 / 过座位出站门 · 读口坏形二十三形 ⇒ `undefined` 不抛且经登记口答 `ignored` 账本零变 · 渲染端用同一份产物里另起的第二个账本模块实例作另一份空账本(正控:不登记 ⇒ 按任务 id 读空;收到宿主适配层真铸出的臂后先到的内容迁走、后到的归任务 id;`content` 不写续发目标、`full` 写)· 发臂不看账本(同帧两遍整条输出序列逐字节同;tick 逐条各发、回执重放再发、换卡再发)· 渲染端去重四形(同对第二次 `ignored`、`content` 后 `full` 仍 `registered`、重载后下一帧重登记)· 不发臂的负控八形(尺子自证:同流面板臂在场)· 消费者命中行(压缩状态追踪器不认本臂)。红先 = 换钉前源码树首格(S0 公面在场)即红,改发臂语义时先改格后红(I1);变异十枚各留红读数(见车回执)。修复腿:新门 78 → 126 格(⑦ 车道证明严读 + 座位门放行三形 / ⑧ `seq` 证据与 U / V 双账本),红先 = 修前首格 L1(坏车道证明)与 Q1(臂不带 `seq`)红,撤修变异七枚各留红读数;`docs/KNOWN-LIMITS.md` +2 行(KL-12801 无代际号形的登记序 / KL-12802 回执登记的后台子代重载窗口)。`run-seat-contract-keys-test.mjs` 座位词表十七 → 十八词(`SEAT_KINDS_EXPECTED` 末位 +`subagent_alias`,标题 / 按序格同改);`run-tick-model-and-config-drift-test.mjs` T10 不动(「同进程同帧两遍输出逐字节同」是结构性承诺,别名臂满足它);`scripts/public-export-baseline.json` +2 名(2101 → 2103);`scripts/gates-manifest.json` 登记一条。
|
|
334
|
+
- 新门 `scripts/run-local-engine-stop-ladder-test.mjs`(包侧投影门三件之一;**§138 ESB**):LES1 空闲形跟读到的排空期限 · LES2 强制形恰一次第二发 · LES3 无证据不发第二发 · LES4 / LES4b 处理证据的两道辨别 · LES4c 判不清活性每段零信号(96 拍穷举)· LES5 放弃经状态机进 `down{stop-failed}` · LES6 纯 / 冻结 / 坏形 / 常量与卡同读。
|
|
335
|
+
- 新门 `scripts/run-local-engine-step-matrix-test.mjs`(包侧投影门三件之一;**§138 ESB**):LEM 384 格逐格对拍穷举矩阵(每个守卫分区各一枚构造)· LEK1 – LEK4 启动锁 · LEC5 撤因同拍撤卡 · LEI1 – LEI8 不变量(信号只出自两行且只对锁内证实的同一目标 / 落后端零信号零起 / 不知道 ≠ 空闲 / 强制只经卡 / 一成因一目标只自动试一次 / 纯 / 持锁组态都有截止出口、一次性车道有界 / 熔断每事故 ≤ 28 次起)· 座位投影与答卡 / 重起结局 · LEQ1 – LEQ5 连续事件序列(引擎只报 pid、等锁期间换成同 pid 的另一条命 ⇒ 零信号 / 卡撤下后重投同一答案 ⇒ 不再出卡不再起锁 / 排空中来成因再退出、连做四次 ⇒ 不计死亡 / 「无引擎」读数与 `gone` 两种到达序 ⇒ 退出通告各恰一次 / 占用读数的取值器零调用、效果卡与座位卡同一指纹)。
|
|
336
|
+
- `run-seat-engine-target-test.mjs` ET9(生命周期六相位闭形与坏形点名 · `lastBootError` 单向派生 · 相位不可用撤 `mcp` · 两只新动词登记与回执闭集 · 相位 / 通告 / 失败句两语全覆盖 · 应用落后句中性)· ET10(主体读不出 × 无需求 ⇒ `down{principal-unknown}` 并出该句 · `behind.upgrade` 只透传 `available`)· ET11(本机半边铸口不冻结、不引用宿主的 `lifecycle` / `mcp`,取值器不执行);`run-seat-carriers-test.mjs` C5 被管表 `engineTarget` 组 +2 动词。
|
|
337
|
+
- **新门 `scripts/run-bash-curtailed-projection-test.mjs`**(CC-1289;**§138 BT**;包侧投影门三件之一):五形(含受上限折算的超时)× {部分输出 / 零输出} × {卡正文 / `tool_use_result` / `-p` 帧} 逐格,零输出三情形格(纯空白槽 × {有 / 无引擎正文} · 无框架槽回落臂 × {成功 / 失败} × {正文空 / 非空})、前接去重格(完全相同 / 同句后接正文 / 近似不同句),叶读口边界格(`type` 访问器 · 包装 Boolean · 安全整数上沿 · 继承秒数位 · `noOutputSec` 访问器与 `-0` · 已撤销代理)与取序逐对格(含仅 `aborted` + `callbackError` 同真),错误位与引擎值逐格同的正控(带部分输出 ⇒ `false`、零输出 ⇒ `true`;`interrupted` 恒 `false`)、坏形拒收(家族位非字面 `true` 六形 · 取值器三处一次都不执行 · 只在原型链上 · 单键描述符读抛不连坐 · 秒数十形只丢秒数 · 0 是读数 · 非 Bash 形整体缺席 · 多位同真取序确定)、既有律不变格(退出码 0 / 2 / 137 · 良性注记 · 后台交出形 · 非 Bash 工具名 · 被掐位与数值退出码并存;无被掐位的卡键序与 `stderr` 逐字节同修前)。登记:门名单 + README Guards 行 + 超集台账 `_sema_curtailed` + 棘轮 `typeshape.unknownExport` 587 → 588(`bashCurtailmentOf` 一处入参,包内叶不上根入口)。
|
|
338
|
+
- 占用读数 / 起服注入面 / 目录三处收尾(**§138 ES / EE / ESB**;零公面变):`run-thrown-data-reads-test.mjs` OW3 / AE1 两红收口 —— 他端登记 `status` 的描述符判形改自有判(`Object.hasOwn(d, 'value')`,`Object.prototype.value` 被植入后访问器位不再被读成植入的合法词而判空闲)、元素表落位经 `appendOwnElement`;`run-local-engine-occupancy-projection-test.mjs` LEO1b 加两组共 14 格(植入 `idle` / `busy` / `waiting` × 读不出 / 不判空闲 / 取值器零执行 / 自有数据位正控,与 `Array.prototype['0']` 吞值 / 换词两形下他端记录照数)· `run-local-engine-spawn-env-projection-test.mjs` LEE4c(10 s 计划超时只住状态机时限表 `LOCAL_ENGINE_TIMING.prepareTimeoutMs`:注入面私有常量退役、`lockWaitMs` 扣掉其余三项恰 2 × 表值、全仓语法树零私有常量标识符 / 属性赋值恰一处 / 注入面恰一处读)· `run-seat-engine-target-test.mjs` ET10 与 `run-message-catalog-test.mjs` MC15(「主体读不出」目录键恰一把;座位句与失败句同一句;两条旧键退役)· `catalog-migration-golden/cc1173.json` 登记两条改口。
|
|
339
|
+
- `run-park-expiry-judgements-test.mjs` N 段(CC-1177;**§138 CF**):呈卡族三态各一格(`expired` + `parked:true` 带 / 不带成因词 ⇒ 转停驻;`expired` 无停驻位 × 成因词表每个词 ⇒ 撤卡;`allowed` / `denied` ⇒ 已决,含带 `parked:true` 的非契约形)· 窄不下来 ⇒ `null` 二十五形逐形(版本 / 三个 id 的缺席与非串交叉 / 时钟 / `outcome` 开集 / 成因表外·非串 / `parked` 非严格 `true`〔含 `new Boolean(true)`〕/ 键在场而值 `undefined`;每形先验 sdk 守卫真答否)· 呈卡族别的帧(开卡 / 撤卡 / 近邻拼写)⇒ `null` · 池证**行为等价**(五版本 × 六结局 × 四停驻位 × 五成因 = 600 帧逐帧:呈卡族答案 ≡ 守卫答真 ? 同帧改写成旧族 type 后的答案 : null;池只证答案等价,共享判决函数另由 U10 源码文本格断言:调用恰两处、结局词判决串恰一处)· 旧族不被新族守卫连坐(守卫必拒的旧族形照旧读,含 `parked: new Boolean(true)`;旧族 `outcome` 取值器按既有普通读执行恰一次)· 快照律(`outcome` 取值器首读通过二读抛 ⇒ `null` 且取值器零执行;`parked` 取值器自改成数据位 ⇒ 撤卡;整帧 / `outcome` 只在原型链上 ⇒ `null`;代理的 `get` / `has` 陷阱零咨询、九个快照键各一次描述符陷阱抛与键枚举陷阱抛 ⇒ `null`;分派读 `type` 恰一次);U7 – U10 单源(模块值导入并调用 sdk 谓词、零处自读守卫要读的六键);D 差分池加 `approval_complete`(池内帧窄不下来 ⇒ 与壳原实现同答 `null`)。红先 = 修前 N-a 第一格红(呈卡族恒 `null`)。
|
|
340
|
+
- **外来体读器六处的钉**(CC-1057;**§138 AB**;扩既有门,不新增门):`run-standing-rows-test.mjs` R13(五个候选位 `ruleOffers` / `unreadableEvidence` / `rememberRefused` / `ruleOffersAbsence` / `argsUnavailable` 各一枚「在场而 `has` 答假」⇒ 三行全关 `card_unreadable`;`cardPayloadUnreadable` 隐藏 ⇒ 会话行不给;读描述符抛 + `has` 答假;座位过境口不出会话位;每键配 `has` 抛对照〔三行全关〕与真缺席正控〔与不套代理逐位同〕)· `run-approval-card-reading-projection-test.mjs` RR(卡帧 `readRootCandidate.covers` 坏值 / 键在值 `undefined` / `null` / 合法 `exact` 在场而 `has` 答假 ⇒ 整只座不过境;`has` 抛对照;真缺席 ⇒ 两键目录形、`exact` 自有位 ⇒ 三键形)· `run-engine-notice-catalog-test.mjs` H5f(授权通告 `covers` 同四形 ⇒ 不认领;`has` 抛 ⇒ 不认领且读口不抛;真缺席 ⇒ granted 无 `covers` 键;`exact` 自有位 ⇒ 带 `covers`)· `run-persisted-rule-write-test.mjs` W12(撤销面 / 写面 `principal` 空串 / 空白 / 数 / 合法名在场而 `has` 答假 ⇒ 撤销返回 `undefined`、写面 `refused/unusable_principal` 且零往返;`has` 抛 ⇒ 原样抛出;真缺席 ⇒ 照旧)· `run-mcp-reconnect-test.mjs` S8(`toolNames` / `listingIncomplete` 坏形与合法值在场而 `has` 答假 ⇒ 整只畸形;`has` 抛 ⇒ 原样抛出;真缺席 ⇒ 与不套代理逐字节同)。红先 = 修前源码树各域新格红(见车回执读数),变异各留红读数。补格(同批):五门各加「`in` 答真而键只在原型链上」与「`in` 先答真、复问答假(前后矛盾)」两类格 —— `run-standing-rows-test.mjs` R14 · `run-approval-card-reading-projection-test.mjs` RR2 · `run-engine-notice-catalog-test.mjs` H5g · `run-persisted-rule-write-test.mjs` W15 · `run-mcp-reconnect-test.mjs` S10(原型链位:值按旧读法取,出闭集 / 指不了人 / 坏形 ⇒ 各点既有处置,合法值照旧带出;矛盾:一律按不能证明缺席);读口 `in` 答真一支的出口(原型链位 / 矛盾)任一改答「缺席」,五门即红。修复腿 r3(同批):五门再各加「`in` 答真而读自有描述符就抛(只抛 / 先删键再抛)」格 —— `run-standing-rows-test.mjs` R15 · `run-approval-card-reading-projection-test.mjs` RR3 · `run-engine-notice-catalog-test.mjs` H5h · `run-persisted-rule-write-test.mjs` W16 · `run-mcp-reconnect-test.mjs` S11(S11 断言最终 `reconnectMcpServer` 决定:坏形 / 合形的 `toolNames` 与 `listingIncomplete`、复问 `in` 抛、`outcome` 的 `has` 答假 + 应答期限码 + 坏 `toolNames` ⇒ `failed` 畸形体而非 `ok` / `unsettled`;各配如实透传 / 真 503 体 / `has` 抛 / 原型链 `outcome` 对照)。
|
|
341
|
+
- `run-approval-card-reading-projection-test.mjs` PG 段 + AK-R2 / R3 / R3b / R3c 改口(CC-1117;**§138 PG-1**):行入参缺席 / `null` / 尺寸标记 / 数组 / 串 / 日期 / `Map` × 流上在场 ⇒ 卡上 args = 流上那份、`argsUnavailable`、回落句逐字、无 `argsRewritten`;纯批准与拒绝照发;「编辑后批准」(含 allow_session)⇒ decide 零次、`not_sent{edit_refused}`、告知句恰一次、失败原文不含「已决」判据词;行在场各形 / 缺口两形 / 流上非对象(不出卡)/ 活卡帧腿回落形(编辑照发)不动;目录英 / 中两键在场且卡上句 = 英文目录值。红先 = 改前树 PG 与改口格红。
|
|
342
|
+
- `run-hitl-gate-honesty-test.mjs` F18③f 改口 + F18③k + F20 段(CC-1117 / CC-1119;**§138 PG**):F18③f 负控由「回落卡改写照发」改钉「回落卡改写零次」;F18③k 生产入口(停泊腿,行缺席 ∧ 流上 `tool_start.args` 在场)回落卡 + 改写零 decide + 不空转重连;F20 问答卡取用序 —— 行在场且与流上不同 ⇒ 行上那份(无回落位)· 行缺席 / `null` / 超限标记 / 空数组 / 非数组 / 串 / 含坏项 ⇒ 回落流上并盖 `_sema_questionsFromModelCall` · 两边都没有(含流上坏项)⇒ 不出卡零 decide · 目录两语键;各格断言延到最终消费结果(作答体 `answer.answers` 逐字、续流上答案卡的题面 = 发布帧上那份、`answers` 以该题面为键)· `usableAskQuestions` 与 `askQuestionsFromPending` 逐输入同答。
|
|
343
|
+
- **只有段末帧的文字块的钉**(CC-1172;**§138 LT**):`run-text-segment-authority-test.mjs` EO 段(单只段末帧一行 + 行段身份 = 段末事件 `segmentId` + 事件序与 `committedUuids: []`〔EO1 – EO2c〕· 常态块 / 只有段末帧的中段块 / 工具卡 / 常态块 ⇒ 三行文字按序、三个段身份互异、拼接 = 账本两行〔EO3〕· 整块 `text` 帧交付过 ⇒ 其后段末帧不重铸、多块拼成一行之后跟多只段末帧不重铸、工具卡边界复位后零经手的段末帧是新一块〔EO4 – EO6〕· 与「一只增量 + 一只段末帧」的 chrome 增量 / 段末事件 / 转录行逐字同〔EO7〕· 思考先于回答〔EO8〕· 工具卡之后的终答块恰一行〔EO9〕· 子流不动〔EO10〕· 有经手的形不动〔EO11〕· 连续两块 / 下一轮第一块〔EO12 – EO13〕· 流层动作的来源位写读复位〔EO14〕· 压缩分界复位来源位:整块行 · 段末帧 · 压缩分界 · 只有段末帧的块 ⇒ 转录含该块、与显式增量 + 段末帧的同块产出逐字同、取值器形 `subtype` 不执行不抛〔EO14h、EO15 – EO15c〕);`run-server-7144-pick-projection-test.mjs` SWf3 – SWf6(两代夹具活流真铸帧:中间那块在、段身份同段;新一代夹具真账本 `createLedgerSink` 铸的 `text` 行回放 ⇒ 每个边界之间的文字与活流转录逐字节同;老一代夹具账本不含该块的事实格);`run-client-core-pure-test.mjs` `323-g` 改口(光秃秃一只段末帧 ⇒ 一行)+ `323-g′`(整块行之后的段末帧仍不重铸);红先 = 改前树 EO 13 格红(EO14 的具名动作缺席 ⇒ 判据自证 exit 9);压缩分界一组改前树 5 格红(EO14h / EO15 / EO15a / EO15a2 / EO15b)· SWf3 – SWf5b 6 格红 · `323-g` 红。
|
|
344
|
+
- `run-live-pending-ask-test.mjs` AR10 – AR15(CC-1132;**§138 ID**):读器腿(帧 id 取值器 × 两族 × 前 2 / 3 次同值、行 id 取值器含单行 ⇒ `malformed`、行 / 帧 id 只在原型链上)取值器一次都不执行、坏行丢弃计数、坏帧位出盲卡且 `respond` 只发往行 id · 入口腿(五形 × 两族直收帧:取值器 / 原型链 / 缺席 / 空串 / 数 ⇒ 零卡零发送、`not_sent` / `card_unavailable`;良构帧正控)· 交接腿(读器之后改帧上 id、描述符读每次换答案的代理帧:`respond` 只发往行 id、读器恰取一次描述符、之后零次)· 旧族路由层(`routeFrame` 收到 id 为取值器的帧:零卡、零 `respond`、结局回交 `not_sent` / `card_unavailable`;良构帧正控)· 宿主手拼的行视图 id 不可用(空串 / 数 / 缺席 × 两族 × 全卡 / 盲卡共 12 格 ⇒ 零卡零 `respond`、`not_sent` / `card_unavailable`,不退回去读帧)· 判据自证两格(取值器夹具前 N 次读原 id、之后读第三值;代理夹具第二次起说别的);红先 = 修前树 39 格红(AR10a/b/e × 2、AR10c/c2/d、AR11 × 10、AR12a/b × 2、AR14 × 4、AR15 × 12;修前旧族路由实发往第三值),AR12b 在修前读器不取描述符 ⇒ 读数 0 次而红。
|
|
345
|
+
|
|
52
346
|
## 0.108.0(2026-11-05)
|
|
53
347
|
|
|
54
348
|
> 主题:换钉到引擎 7.64.0(内核契约 8 不变;CC-1199 / CC-1212;接入文档 **§137 CT-1 – CT-9**)—— 通告码册 117 → 118(+`delegation.delivery_discarded`,只登记);四只拒句通告的读数带出处三态 `leg`,「调用在哪只会话上被拒」只经 `noticeCallSessionOf` 答(🔴 行为变:委派腿上的这几条不再读作本会话自己的拒);门记录拒臂透传引擎的引出段 `echoed`;缺省模型可解析的合成判官 `catalogDefaultModelVerdict` 与值级端口第二十五件 `modelFaceResolvable`(🔴 型面 BREAKING:按完整型建端口袋的宿主编译红一次);停驻行成员形表的两处收窄按引擎判决照读;其余引擎面逐件零读点。 ‖ hooks 里服务端读者不读的键:那一条不上请求体 + 开机清单点名,`onFailure` 按服务端代际剔并披露(CC-959;接入文档 **§137 HK-1 – HK-8**;行为变,公面常量值变) ‖ 通知唤醒提交一次回读的受理分类判官 `taskNotificationAdmissionOf`(只收正向证据)+ 带完成身份的通知件不合批(CC-923 车 C;接入文档 **§137 NB-1 – NB-3**;行为变、公面 +1) ‖ 另:换钉设置契约到 18.0.0(major;CC-1222;接入文档 **§137 SS2-1 – SS2-9**)—— 云控制面投影多 `a2a` 对端名读数(🔴 型面 BREAKING:自己构造 `CloudProjection` 的宿主编译红一次);请求面 MCP 的保留成员名随上游变成一张表(🔴 行为变);「本部署没有执行车道」判点的新词改读生成表;其余不加性边逐件零读点。 ‖ 模型受理判官值级读 `aliases[]`(别名受理 `aliased` / 部署名单不许 `not_at_mentionable`;CC-944;接入文档 **§137 MA-1 – MA-5**;why 闭集 +2 型面加宽) ‖ 审批卡上「谁问的」两位 `agentId` / `askReasons` 上卡(三面一读法)+ 兑付回执结局词 `refused` 收进四词闭集(CC-1231;接入文档 **§137 AR-1 – AR-4**;加性 + 行为变) ‖ 五只闭集补词:引擎目标拒因 `cloud_unreachable` · 审批收面词 `engine_unavailable` · 分派拒因 `session-ambiguous` · 切档回执 `unavailable` 带 `code` 并按两因出句、句子里的档名改说界面档名 · `disableAllHooks` 关腿的原因句(CC-1205;接入文档 **§137 CS-1 – CS-5**;🔴 公面常量值变 + 型面加宽 + 行为变、公面 +2) ‖ 「这里决不了」出路句按停驻行的到期位分三态:有到期计时才说「等它过期」,没有到期计时(`deadline: null`)说这条审批没有到期计时、只剩取消,不知道只说取消(CC-1239;接入文档 **§137 WO-1 – WO-3**;行为变 + 可选位) ‖ 座位资源动词按会话答 + 新会话车道意图位:`listModels` / `uploadAttachment` 多一只末位可选作用域(带会话 ⇒ 那只会话所在引擎;缺席 ⇒ 新会话缺省车道;不按聚焦会话),`start` 多可选意图位 `engine`(CC-1193;接入文档 **§137 LN-1 – LN-11**;型面加性、公面 +2;另:座位判官全族的「普通记录」判据收紧,原型是自造无原型对象的载体改为拒 —— 🔴 行为变,往拒的方向) ‖ 座位动作通道(CC-1170;接入文档 **§137 SA-1 – SA-5**):宿主 → 渲染端单向动作事件 `onSeatAction`(闭集两词 `new-project` / `prefill-composer`;永不代发送、不覆盖草稿)+ 认领动词 `claimSeatActions`(宿主只为被认领的词出入口;表外词整表拒并点名)+ 可选能力位 `seatActions`(🔴 型面 BREAKING〔窄〕:`LocalSessionsApi` 多两只成员;公面 +5);宿主 → 渲染层 UI 意图类的词随后续版本作同一闭集的加词,不另开通道
|