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