@sema-agent/client-core 0.87.0 → 0.88.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +14 -10
  3. package/dist/adapter/downstream/eventToSdkMessage.js +14 -1
  4. package/dist/adapter/downstream/wiringManifestView.d.ts +2 -0
  5. package/dist/adapter/downstream/wiringManifestView.js +1 -0
  6. package/dist/displayUntrusted.d.ts +4 -0
  7. package/dist/displayUntrusted.js +1657 -573
  8. package/dist/engineErrorCodes.d.ts +2 -0
  9. package/dist/engineErrorCodes.js +1 -0
  10. package/dist/engineNoticeCodes.d.ts +20 -0
  11. package/dist/engineNoticeCodes.js +71 -0
  12. package/dist/engineWireFor.d.ts +1 -0
  13. package/dist/engineWireFor.js +1 -1
  14. package/dist/gateOutcome.d.ts +4 -0
  15. package/dist/gateOutcome.js +5 -0
  16. package/dist/generated/engineFactTables.d.ts +1 -0
  17. package/dist/generated/engineFactTables.js +3 -0
  18. package/dist/generated/engineNoticeTables.js +2 -0
  19. package/dist/hitl/crashConverged.d.ts +1 -1
  20. package/dist/hitl/crashConverged.js +6 -1
  21. package/dist/hitl/planReviewWire.js +30 -10
  22. package/dist/index.d.ts +6 -0
  23. package/dist/index.js +3 -0
  24. package/dist/promptDelivery.d.ts +20 -0
  25. package/dist/promptDelivery.js +153 -0
  26. package/dist/registryConflict.d.ts +3 -0
  27. package/dist/registryConflict.js +44 -0
  28. package/dist/request/taskRequest.d.ts +1 -0
  29. package/dist/request/taskRequest.js +25 -1
  30. package/dist/resumeRefusalCopy.d.ts +7 -0
  31. package/dist/resumeRefusalCopy.js +45 -1
  32. package/dist/seam.d.ts +1 -0
  33. package/dist/sessionMemoryErase.d.ts +76 -0
  34. package/dist/sessionMemoryErase.js +432 -0
  35. package/dist/subagent/engineSubagentResume.js +2 -1
  36. package/docs/INTEGRATION-CLIENTS.md +372 -11
  37. package/package.json +2 -2
@@ -19,11 +19,11 @@
19
19
 
20
20
  | 项 | 值 | 真源 |
21
21
  |---|---|---|
22
- | 本包 | `@sema-agent/client-core` **0.87.0**(本批发布版 = **minor**:会话历史 tool_use 错配的自救出路 —— 合成终局错误行超集键 `_sema_tool_history_mismatch`、`EmitContext.offersRewind?` 声明面出路句与连续次数句、根入口两只纯函数 `classifyToolHistoryMismatch` / `resolveToolHistoryRewindTarget`(CC-268);崩溃收敛 needsHuman 行的闭集因由位 `needsHumanReason`(CC-269);停车 fail-soft 同步终帧与结果帧的真因超集键 `_sema_park_failed_reason`(CC-273);workflow 活动台账 / 监视器源的 `authToken` 收取值函数、连线身份按凭证来源认(CC-274);`armDetachCancel` 入参 `authToken` 收取值函数、取件口每调现读(CC-275);chrome 臂 `suspended_reopened`(`ChromeEvent` +1 臂,穷尽分支的端编译期红;CC-276);根公面 1354 → 1356;测试钩 62 不变;公面类型名 922 不变;超集键 +2;peer sdk 地板 `>=12.0.1` 不动;§113)。上一版 0.86.0 = **minor**:引擎 7.34.0 提货两代读法 —— 事实表第二批构建期生成、`GATE_DENIED_BY_WORDS` 两代并集十一词(元素型 `GateDeniedByWord`,`mode` 专句)、门记录权限模式两臂与读口 `gateModeRelease`、通告码册六码与六只事实读器(`EngineNoticeFactsCode` +6)、`STRUCTURED_DETAIL_TYPES` +`read_unestablished`、本人规则店读不出两代读法、`shell_gate_tighten` 改句(CC-249 / CC-245 / CC-230);服务端 7.105.0 提货 —— 会话规则写口拒名码 `rules.legacy_tool_name` 的具名结局与 `isRulesRefusalCode`(CC-251)、门前只读路 401 的 `unauthorized` 态与 `READ_CREDENTIAL_NOT_ACCEPTED_NOTICE`(CC-252);请求键 `approverPosture` 退役、构造期按名拒,两个运行期名字退出根入口(逐名见 §2z)(CC-253);`AskUnresolvableFactsView.remedy?`(CC-254);开发依赖引擎 `~7.36.0`(CC-255 换钉 7.35.0,`CONFIG_REFUSAL_CODES` 8 → 17;CC-261 再换钉 7.36.0),通告码册 73 → 80;`adapt()` 错误信封不再回落读旧名 `result`(CC-221);服务端 7.106.0 提货 —— caps `store` / `centerWiring` 窄读口、SQL 姿态两代读、计费入口 503 `fleet.lease_unavailable` 读口与一句话(CC-250),`executionLane.isolated` 与「本机无 OS 沙箱」判定(CC-256),请求键 `inheritEnv` 与版本闸片段口、两只拒按码出句(CC-257),权限规则表超帽坏项读口与一句(CC-262),工具声明拒按码认领(CC-263),请求体键形拒两张键表读口(CC-265);`-p` 首帧工具来源超集键 `_sema_tools_source` / `_sema_tools_fallback_reason` 与铸口 `printInitToolFaceSupersetKeys`(CC-266),三张估计工具表改为常驻(CC-267);根公面 1310 → 1354;测试钩 60 → 62;公面类型 891 → 922;超集键 +2;peer sdk 地板 `>=12.0.1` 不动(sdk 12.0.1 / 13.1.0 / 14.0.0 / 15.0.0 下本版 `.d.ts` 严格编译均零错误);§112)。上一版 0.85.2 = **patch**:自愈重开两只失败结局带 `errorCode`(这一次重开放弃所依据的那一发失败请求的外层 wire 码,present-iff;判定形不带),重开判决不成功臂 +`_sema_errorCode`(宿主可选铸;宿主重开口抛错时本包铸)(CC-260);自愈腿读错误对象与成功应答记录上的各位收进保护(读不出按缺席,不再 reject;`atMostOnceFailureClass` / `readSteerDelivery` / `readSteerReceiptStatus` 不再抛);根公面 1310 不变;公面类型名不变(两个已导出型各多可选位);超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§111)。上一版 0.85.1 = **patch**:请求装配回执省略成因的终端用户向句表 `TASK_REQUEST_OMISSION_CAUSE_NOTICES` 与取句口 `taskRequestOmissionCauseNotice`(与接入方那只 `taskRequestOmissionCauseDetail` 同源于同一成因闭集、逐词不同句;表外 / 读不出 ⇒ 一句通用句,不抛、不回显),接入方那张句表的字面量补挂 `satisfies`(CC-248);plan-review 重开口在「这个会话没有接能显示卡的界面」那一形上答 `{ reopened: false, _sema_noPresentationSurface: true }`,自愈结局两臂带 `noPresentationSurface`、自愈行五句补一句成因,重开前提(宿主为该会话键订阅问题帧端口)成文(CC-258);自愈腿读宿主重开判决收进保护(某一位读不出按缺席,不再 reject),宿主日志 / 探针口抛错不再改变判决;多会话宿主的按会话呈现回执登记口 `registerArmedGateFromQuestionIdFor` 回到根入口(0.72.0 退出公面的名字复活;CC-259);根公面 1307 → 1310;公面类型名不变(两个已导出型各多可选位);超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§110)。上一版 0.85.0 = **minor**:引擎事实表(通告码册 / 受众表 / MCP 注入丢弃原因 / 会话规则翻译判定内部两表)改为构建期生成,`ASK_ORIGIN_WORDS` / `APPROVAL_MANDATE_WORDS` 就是 SDK 导出的数组(不再冻结),四个思考档 / 权限模式型改为 SDK 型的别名,包内单源(CC-230);子代族八入口与两只行停止门收注入 client,写动词失败结局 +`unconfirmed`,`classifySubagentResumeFailure` 同判(CC-236);`sessionPolicyDeliverable` 收可选名册,`SessionPolicyWithheldWhy` 六词 → 七词(CC-228);过渡物退役登记与到期门,`adapt()` 不再认旧名 `attachedFiles`,三个运行期名字退出根入口(逐名见 §2z),`surfaceRememberNotApplied` 撤回退役预告(CC-221);plan-review 决断台账六口,`reopenPlanReviewCard` 按台账拒开(CC-241);会话后台任务停止口 `stopEngineSessionBackground` 与受据归类口 `engineSessionBackgroundReceiptReadingOf`(CC-246);服务端 7.104.0 会话侧:会话存档读不出三载体读口与人话 `corruptSessionContent`、`session.records_skipped` 进册(`SERVER_NOTICE_AUDIENCE` 三行)、删会话 409 读口、`/decide` 停驻挪动族读口(CC-217 / CC-243);服务端 7.104.0 能力 / 同步体侧:同步 park 新体与 park 行 `result`、`fileHistoryCaptureMode` 认 `on-optional` 与请求词片段口 `fileHistoryDeclarationField`、公钥发现读口 `projectSealedKeyCapability`、折叠粗码 `isStatusDerivedCoarseCode`(CC-243);同名影子对账门按语义判(CC-222);导出存活门读已提交历史(CC-240);根公面 1275 → 1307;测试钩 59 → 60;公面类型 +34;peer sdk 地板 `>=12.0.1` 不动;§109)。上一版 0.84.1 = **patch**:`<system-reminder>` 开标签定位口 `findSystemReminderOpenTag`(CC-210);detach durable-off 400 纯判定 `isDetachDurableOff400`,`detachDurableOffHint` 对读属性会抛的错误对象改回 `null`(CC-219);服务端自铸通告码进码册与受众表 `SERVER_NOTICE_AUDIENCE`(`instructions.source_changed` 回到用户面)+ 事实读器 `readInstructionsSourceChanged`(CC-213);按码派发的通告事实口 `readEngineNoticeFacts` + 派发表 `ENGINE_NOTICE_FACT_READERS`,`readReadRootGrantNotice` 入参型放宽(CC-214);停泊审批决断 422 `parked_resume.startup_failed` 的读口 / 一句话 / 判定与码优先 `isCodeClassifiedGateFailure`(CC-225);拒启会话的窄撤销动词 `removeRefusedSessionRules` 与出路句 `legacyToolNameFailureNoteOf`,`CONFIG_REFUSAL_CODES` 七员 → 八员(CC-229);plan-review 编排三口与两只能力探针收注入 client(CC-209);CC 形 `permission_denials` 收入参只被传输层脱敏过的拒绝 + 超集位 `_sema_tool_input_redacted`(CC-235);凭据读法两处放行收口(CC-234);根公面 1260 → 1275;公面类型 +18;peer sdk 地板 `>=12.0.1` 不动;§108)。上一版 0.84.0 = **minor**:peer sdk 地板 `>=11.3.0` → `>=12.0.1`;后台代理登记读数 —— 读口 / 取代判定 / 归类口 / 登记键桥 / 补行谓词,缺席行下半场(CC-194);读目录授权结论通告读口 `readReadRootGrantNotice`(CC-185);接线回执 `hands` 段 `_sema_hands` + 读口 `handsSeamReadingOf` / `handsSeamDetail`,`handsMountedDetail` 坏入参不再抛(CC-206);陈旧逻辑清扫(CC-223):退役键 `rewind.rewindFiles` 构造期拒收、`WorkflowRunState.agentCount` 改可选、26 个内部件退出根入口、九张公面判定表换只读 Set 子类、十五张判定数组冻结、`resume_at` 文本兼容腿退役;根公面 1278 → 1260;公面类型 +10;§107)。上一版 0.83.6 = **patch**:会话规则记录的无损判定 `sessionPolicyDeliverable` 把引擎会在准备阶段拒启的两类名字(引擎退役名、含 `__` 而不以协议前缀开头的名字)改判「不写」,成因词 `legacy_tool_name`(闭集 5 → 6),引擎说「改名为 X」的退役名带 `currentName` 出路位;`peer_wide` 那句改措辞(判决不变)(CC-226);根公面 1278 不变;peer sdk 地板 `>=11.3.0` 不动;§106)。上一版 0.83.5 = **patch**:展示层出口 `displayUntrusted` 的连接符 ZWJ / ZWNJ 按语境判(🔴 默认形输出字节变)、两只可选开关 `escapeBackslashes` / `blanks` 与标记位置读口 `displayUntrustedMarks`(CC-204);凭据两网的判别视图认孤代理项,机读字节 `errors[]` / 合成终局行同批(CC-207);转义记号在凭据再扫里原子与四处凭据读法存量修复(相对 0.83.4 零新增外泄);hooks 启动模式可选词读口 `SettingsPort.hooksStartupMode()`,安全 / bare 模式下设置来源只发 managed(CC-200),设置来源里同一条 hook 只发一份(CC-208);自愈三条重发结局 +1 可选位 `releaseConfirmedByEngine`、行句按释放证据分说(CC-212);活段接入指引订正;公面类型 +3;peer sdk 地板 `>=11.3.0` 不动;根公面 1278;§105)。上一版 0.83.4 = **patch**:只增 —— plan 审批卡「用户亲手关掉的卡,自动触发不在同一道门上放回屏上」的判定归包(`reopenPlanReviewCard` 加触发者位 `trigger`、拒开位 `dismissedByUser`,409 自愈腿按提交出身替宿主传触发者、结局与整行由包出;CC-201);座位审批请求补强制位 / 强制理由词 / 报价缺席因由 / 出身词四个可选位与过境口 `toolPermissionRequestAskBits`(CC-203);`<system-reminder>` 剥离 / 解包两只口上公面并改线性时间(CC-205);两条展示层接入指引订正;开发依赖引擎 `~7.33.1`;公面类型 +2;peer sdk 地板 `>=11.3.0` 不动;根公面 1277;§104)。上一版 0.83.3 = **patch**:入参 / 来源面 —— hooks 投影加 flag 来源(`--settings` 那一层,排在 local 之后;设置来源 hooks 维持托管在前拼接);规则列举口 `listAllPersistedRules` 入参只要 `list`(`RulesListFacade`,其余四口作可选成员);模型身份认目录缺省(本机读数加宿主报位 `engineAcceptsCatalogDefault`,位 `true` 才算目录可解析);公面类型 +1;peer sdk 地板 `>=11.3.0` 不动;根公面 1273;§103)。上一版 0.83.2 = **patch**:只增 —— 审批卡一族三件(常驻姿态下的放行谓词 `askSurvivesPosture`,三态、「不知道」不折成放行;卡上 `mandate` 六词闭集 + 读口 + 每词一句说明,通告码册 +2,开发依赖引擎 `~7.32.0`;停泊卡带出身词 `origin`;CC-193 / CC-195 / CC-196)与后台子代缺席行的判定、计数、sweep 豁免、回收与措辞单源(回收只在后台代理登记确认离场时;CC-194);公面类型 +13;peer sdk 地板 `>=11.3.0` 不动;根公面 1273;§102)。上一版 0.83.1 = **patch**:只增 + 行为订正 —— 展示层安全出口三端单源 `displayUntrusted`(凭据两网 ∘ 字符三网,选项按载体选;CC-112);本包合成的终局行正文与结果帧 `errors[]` 在铸点洗凭据(`errors[]` wire 可见,方向只会更安全)、交互车道合成行带上行类旗,回决备注与子代续跑收据多收双向 / 格式字符(CC-187 / CC-112);会话规则记录的无损判定 `sessionPolicyDeliverable` + 措辞单源 `sessionPolicyWithheldNotice` + 五词成因 `SESSION_POLICY_WITHHELD_WHY`(整批可送才送,首尾带空白的名字比宿主侧更严;CC-117);插件 hook 每轮计划 `hooksWirePlan` + `SettingsPort` 可选读口 `enabledPluginHooks` + `hooksForWire({ plan })`,逐条判「投给引擎 / 本客户端执行 / 如实不跑」、开机「不会执行」清单与 `/hooks` 标注措辞单源(投给引擎那一臂候引擎能力位 `taskSettings.pluginHooks`),设置来源的 `mcp_tool` 与 exec 形 hook 条目不再上请求体、手写的 `plugin` 键剥掉(CC-174);公面类型 +26;peer sdk 地板 `>=11.3.0` 不动;根公面 1254;§101)。上一版 0.83.0 = **minor**:行为面与型面都有 BREAKING —— CC 形消息 24 项按裁定 C-R103 退役名:结果帧 `degraded` / `errorCode` / `model` 与错误信封 `result` → `_sema_model_degraded` / `_sema_error_code` / `_sema_selected_model` / `_sema_salvaged_result`,合成终局行 `isApiErrorMessage` → `_sema_api_error_message`,工具结果记录删过渡名 `toolUseResult`,system 行 `attachedFiles` → `_sema_attached_files`、到达时戳 `timestamp` 与 `isMeta` 删,print 完成通知帧十三键平铺 `_sema_*`,记忆写入改走 chrome 臂 `memory_saved`(新型 `MemorySavedChromeEvent`,`CHROME_ARMS` required);本包只铸新名、端两名并读一版 + 结果帧 CC 键 `terminal_reason` 与读口 `terminalReasonForResult`(CC-175),错误信封知道就铸 `_sema_selected_model` + 转录 id 改 UUID 形(CC-147)+ `SettingsPort` 可选合并读口 `mergedDisableAllHooks`、用户层 `disableAllHooks` 在引擎腿上生效(CC-162)+ 退化审批卡三形拒收改写、`FsApprovalOutcome` 的 `failed` 臂 +可选位 `editRefused`(CC-135)+ 注入件自愈句整族重写 + 联网搜索旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 退出公面,`resolveLiveInitToolFace` 可选 `opts.webSearchStamped`(`LiveInitToolFaceOptions`),endpoint userinfo 律跟服务端 7.101.0(CC-184)+ 公面类型 −4(CC-171)+ 通告码册 69 → 71 与结构化卡白名单 +`read-inbox`(CC-186,开发依赖引擎 `~7.31.0`)+ 合成终局行 `uuid` 改 UUID 形;peer sdk 地板 `>=11.3.0` 不动;根公面 1238;§100)。上一版 0.82.7 = **patch**:只增不改 —— 每请求联网搜索配置的三态判决 `judgeWebSearchSettings` / `webSearchVerdictFromEnv` / `resolveWebSearchVerdict`(与 7.100.0 及以后 server 的受理判官同序同判,认不出的 provider 判形错、不再静默丢段;settings 段凭据注入回调 `apiKeyFor`)+ 措辞单源 `webSearchVerdictMessage`(不回显任何用户配的值)+ 调试日志用 `webSearchEndpointForDisplay`;旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 行为不变、标过渡期,0.83.0 删(CC-182);peer sdk 地板 `>=11.3.0` 不动;根公面 1240;§99)。上一版 0.82.6 = **patch**:只增不改 —— 停泊行上选「本会话允许」却没被记住时与活卡腿同句告知(回体 `rememberApplied: false`,或 server 以会话级放行专属拒绝码拒了 remember 后回退普通批准;其余失败一律未知不告知),回执 `DecideReceiptView` +1 可选位 `rememberApplied`(CC-181);决断落定后与桥重试臂的诊断留痕不再因宿主日志口抛错回流进决断;接入文档改口:server ≥7.100.0 上 park 行卡的 `requiresRealApproval` / `approvalIsMandated` 生效(CC-180,零代码改动);peer sdk 地板 `>=11.3.0` 不动;根公面 1235;§98)。上一版 0.82.5 = **patch**:只增不改 —— print 车道 init 帧工具面名册优先:流包装器 `withPrintInitFrame`(首选接法,init 恒为首行、其后按到达序)/ 判定闸 `createPrintInitGate` / 分类口 `printInitRosterSignal` / 判定口 `decidePrintInitToolFace` / 留痕措辞 `printInitToolFaceDebugLine` + 等待上界 `PRINT_INIT_ROSTER_WAIT_MS`(150 000);回落估计表补 `ListAgents`(7.30.0 及以后的引擎上与 `SendMessage` 同条件)(CC-169);peer sdk 地板 `>=11.3.0` 不动;根公面 1235;§97)。上一版 0.82.4 = **patch**:只增不改 —— park 行审批卡新增门类位 `irreversibleParkGate`(待决行门类恰为 irreversible_ask,今天即生效,门类事实不是保证);`requiresRealApproval` 在待决行顶层带时透传(就绪,待决列表带出后才生效,今天零行为变化)(CC-180);`ApprovalCardRequest` +1 可选位;peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§96)。上一版 0.82.3 = **patch**:只增不改的公面 —— 自愈提示的「保住对话」出路槽 `keepSessionWayOut` 与交互面引擎决断入口开关 `engineDecidePath`(CC-177;两位都不给时措辞与 0.82.2 逐字节同);自愈结局两臂 +机读位 `pendingRowGone`(重开链证实待决项已不在);peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§95)。上一版 0.82.2 = **patch**:只增不改的公面 + 若干行为订正 —— 新增措辞单源 `cloudEffectiveNotices`:云控制面有效配置回体的降级告警 / 预算 / 能力上限三读数(CC-164,四态,不读成 0 或「没有预算」);本机引擎 models 文档在宿主注入本机条目判定 `entryAccepted` 时补 `default` / `tierGroups` / `activeTierGroup`,剔掉会让本机整份拒收的目录引用与判定口不收的条目,去掉 registry 注记键 `origin` / `overridesTeam`(CC-165;结果新增 `modelRefIssues`);计划复核结局机读位 `_sema_planReviewOutcome`(CC-160 ①);停泊审批决断操作起止回调 `onDecideOperation` 与操作句柄 `openDecideOperation`(CC-160 ③);新增超集键 `_sema_planReviewOutcome`;peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§94)。上一版 0.82.1 = **patch**:只增不改的公面 + 若干行为订正 —— 新增读口 15 个(续跑折叠码读口与措辞 / 文件历史捕获读口六口 / 模型身份可解析判据五口 / 自定义代理载荷作废重投口 / 决断失败码「门还在」判定)+ 宿主车道声明 `EmitContext.lane`;新增超集键 `_sema_response_model`(终帧 / 每轮用量)与 chrome 用量两臂 `responseModel`、重开判决 `_sema_decisionInFlight`、自愈结局两臂 `decisionInFlight`、内部臂 `_sema_denial_unclassified`、通知码 +1;行为订正:计划复核决断在飞不重开卡且自愈提示不再教人再决一次(CC-160 ②)、决断出口补折叠句且停泊腿不再把折叠 / 坏档误判已决(CC-154)、执行车道 `in-process` 措辞(CC-153)、`-p` 车道 Bash 良性退出与交互同判(CC-168)、`-p` 工具结果帧补结构化结果(CC-149)、被拒分类词两车道同判(CC-172)、非交互车道子代工具帧(CC-158,宿主声明车道才生效)、终帧被拒清单对账流内拒绝(CC-159)、自定义代理载荷作废重投(CC-161);peer sdk 地板 `>=11.3.0` 不动;根公面 1228;§93)。上一版 0.82.0 = **minor**:只增不改 —— 新增只读读口 17 个 + 1 常量、工具名册行一格 `mountedBy`、turn 错误判决 `http` 臂一格 `storedRowWhere`:`/rewind` 代码档与对话档能不能用由引擎能力位回答(CC-146)、云控制面额度读数三分(CC-150)、装配期「这一条腿有没有手」(CC-152)、续跑拒收按原码判(CC-154);两处既有面行为订正:自动模式分类器拒的类别词由 `permission-rule` 改为 `automode-*` 三词(CC-155,订正 0.81.1)、续跑上下文读不出时引擎点名的那一行不再丢(CC-156);0.81.0 预告的 23 键 + 1 子型删改**改到 0.83.0**(§92y ㉙);零 wire 键、零投影臂;peer sdk 地板 `>=11.3.0` 不动;§92。上一版 0.81.1 = **patch**:被拒分类词读器加第③路(CC-148):引擎「没问过就拒」的工具调用(deny 规则 / 权限模式 / hook / 分类器 / 写保护 —— 无 `settlement` 只有 `gate.disposition.deniedBy`)在 user 工具结果记录与终帧 `permission_denials[]` 上此前恒缺 `_sema_denial_kind` / `toolDenialKind`,现按层名落 `permission-rule`(其中「分类器」一项已由 0.82.0 CC-155 订正)(`ask_resolution` 无结算 / 结算段不成形 / 层名表外仍缺席不猜);交互与 `--print` 两条车道同一只读器;另钉终帧两臂 `_sema_effective_*` 键集不变量 —— 成功臂展开单铸函数、错误信封显式重发,覆盖性钉在返回对象自己的类型上(漏键 / 多键编译期即红)+ 门格判两臂键集相等且值逐字节同,给单铸函数加键时错误臂不会再静默少键(本版无键增减);零 wire 键、零投影臂、根公面 1195;§91。上一版 0.81.0 = **minor**:CC 形消息一张脸(C-R85 / CC-131):user 工具结果记录加 SDK 面键 `tool_use_result`(与过渡键 `toolUseResult` 同引用,删驼峰原定 0.82.0、已改到 0.83.0)+ DS-19 普查门升硬门(键集按语法解析、按 type/subtype 分表;23 键 + 1 子型过渡表到期窗原为 0.82.0、已改到 0.83.0,零常驻豁免)+ CC-145 `/rewind` both 臂改发 `restoreFiles:true`、`projectRewind(pending)` 单参;零 wire 键、零投影臂、根公面 1195;§90。上一版 0.80.2 = **patch**:`conflict.resume_context_unavailable` 的 `staleAfterSec` / `runId` 在真 SDK 上读不到(CC-137:sdk 11.1.0 起 `APIError` 把体上非具名键收进 `extra`,这一码映射成 `ConflictError` 无具名位,读口只读顶层 ⇒ 真调用链恒缺席)⇒ 体源结构位改「顶层有效值优先、`extra` 兜底」三只类型化读口单铸,有具名子类位的三处(`retryAfterSec` × 2 / `allowlist`)行为不变只多兜底,头源 `retryAfterMs` 只读具名位;零 wire 键、零投影臂、根公面 1195;§89。上一版 0.80.1 = **patch**:去键重发判据句按「铸」计(CC-143;§87「带键的体恰一次」作废 → 被铸恰一次,POST 几次随传输层)+ 接入文档段落自带射程限定词自 §88 起向前执法 + 模型预设表 deepseek 项改闭集真名 deepseek-flash(CC-144,C-R82 ①)+ 门里 git 兜底自陈探针(CC-142);零 wire 键、零投影臂、根公面 1195;§88。上一版 0.80.0 = **minor**:🔴 peer sdk 地板 >=11.2.1 → >=11.3.0 + 策略拒的归因上 wire(CC-133:发送面 deny+policy 带 settledBy / 读侧 policy_refused 十三词入 CC 规则桶 / 三错误码读口 / 直连门去键重发恰一次)+ 删除规则后果句归包(CC-132)+ /mcp 详情卡两腿分说归包(CC-134:六档读口 + 九句铸点,同批改口八处说满的话)+ 🔴 终帧旧拼法 `structuredOutput` 按 0.79.1 的宣告删除(只剩 CC 形 `structured_output`);根公面 1195;§87。上一版 0.79.1 = **patch**:终帧结构化产出同帧铸 CC 形 `structured_output`(旧拼法 `structuredOutput` 过渡一版,0.80.0 删;CC-130)+ 写审批 `argsOmitted` 退化卡在无受护写入部署形上重新解得出路径(CC-129)+ 云控制面十值二型经本包第二个入口 `@sema-agent/client-core/registry` 原样转口(根入口零变;CC-128 ①);根公面 1184;§86。上一版 0.79.0 = **minor**:server 7.93.0 过境批 —— peer sdk 地板 >=11.2.1 + 写口回执第六臂 unverified 与 503 体 committed 分臂(CC-124)+ 无 run 可读的 MCP 状态面(CC-74)+ 审批卡 mandated 位(CC-110)+ 请求装配第三车道 utility 与 approverPosture / maxTokens / outputRetries 三键 + print 车道 model 座(CC-116 / 118 / 123)+ 拒因两面分铸与四个机读位(CC-125)+ 模型轮边界划消息界(CC-126)+ 委派结果人类面读口按来源声明体内定位(CC-127)+ sdk 转口三件(CC-128)+ 通告码 memory.project_scope_absent(CC-122);公面 1184;§85。上一版 0.78.2 = **patch**:门的棘轮登记数字单真源 —— 五只门十一格棘轮 + 218 条沿革账搬进 scripts/registry.json、门只读不抄、负控改篡改登记物、下调通道 RATCHET-SLACK、新门 run-registry-test(CC-79 第一期)+ 两格存量松量收掉 + submit-wiring-manifest 门补 count===1 边界格;src 零改动,dist 逐字节同 0.78.1;公面 1154;§84。上一版 0.78.1 = **patch**:两辆并行车收货 + 三张跟进票 —— displayBody 人类面读口 + 围栏解析头尾配对收紧(CC-113)/ MCP 两处「没报」措辞分句(CC-115)/ 记忆治理面五动词调用口(CC-97 b)/ 非流式提交回执接线回执读口 readSubmitWiringManifest(CC-121)/ 三份失败判官抛出物读取收口(CC-119);公面 1154;§83。上一版 0.78.0 = **minor**:peer sdk 地板 >=9.8.1 → >=11.0.1(CC-106)+ 单步写口 200 体按 stillLive 判别联合改读、第五臂 revoked、三型取自 sdk、RulesFacade.write 必填、PersistedRuleLiveness 转口(CC-103)+ DeniedBy 第十词 read_boundary 专句(CC-106 ④)+ excludeAllTools 车道行;型面 BREAKING 三处、行为面同 0.77.2;公面 1143;§82。上一版 0.77.2 = **patch**:出包面结构卫生 —— 构建期 removeComments,dist js / d.ts 零注释(新门 run-dist-comments-test.mjs + 卫生门词表 32 条 + 文档向前执法;CC-100)+ gateDeniedByDetail 表外词兜底句改「本版不认识这个层名」(CC-111 ①);行为 / 型面逐字节同 0.77.1;公面 1143;§81。上一版 0.77.1 = **patch**:外部验收三件回填 —— 读器族边界残留 projectMcpReconnectCapability 只认自有键(CC-107)/ rewind 四子键恰读一次(CC-108)/ 子代输出合并按回体 output.type · retrieval_status 定处置(CC-109,server ≥7.92.0 cursorSemantics 缺席面);型面 additive 一处;公面 1143;§80。上一版 0.77.0 = **minor**:请求装配逐键去向回执 + print 车道补座 + 表外键响亮拒(CC-101,四条行为 BREAKING)/ 会话策略写端口(CC-105)/ 持久规则单步写面(CC-103)/ workflow 子代面板行代际三向恢复(CC-104,零改码)/ 能力位读器族口径整族改齐 + 外部验收 F-A / F-B 处置 + 合并树异源复审两轮处置;公面 1143;§79。上一版 0.76.2 = **patch**:制品卫生 —— 清 dist 重 build 去掉两只已撤出源码的编译产物 + dist ⇄ src 对账门;零源码 / 零型面 / 零行为改动;公面 1122;§78。上一版 0.76.1 = **patch**:能力位读器工厂(CC-75)/ MCP 活性观察读口(CC-36)/ `capabilities.peerLane` · `permissionRulesWrite` 四态读口(CC-102)/ 记忆治理面两只读口 + 三只条目面回体读口(CC-97 a)/ 主车道证明逐次新建(CC-99)+ 修 0.76.0 的 F1 / F2(身份四键一次性快照只修了投影口一侧);公面 1122;§77。上一版 0.76.0 = **minor**:六票一批 —— `prompt_assembled` 投影臂 / 审批 feed 三态(**型面 BREAKING**)/ `ApprovalResolution` 单源联合 / 记忆 spec 读口 / 终态词表上游钉 / `tasks_expand` 退役(**型面 BREAKING**),外加身份四键一次性快照(跨全部内部臂);公面 1081;§76。上一版 0.75.1 = **patch**:面板短命子代反序缓行放不出的残洞(外部复验 D1)+ 同代 running 帧三向定形(B4)+ #969 提货 `spawnName` 透传与 `agentType` 改读诚实来源(CC-95);§75。上一版 0.75.0 = **minor**:压缩的非 compacted 结局上 chrome 面 `compaction_outcome`(新内部臂 —— 自建 print 出口的端先表态)+ peer sdk 地板 `>=9.8.1`;型面 additive(ChromeEvent +1 臂)、公面 1065、零 wire 新键;§74。上一版 0.74.5 = **patch**:core 7.24.0 提货 `_sema_freed_tokens?` + 首见即终态的行零事件(幽灵完成行)+ `isNewEngineAgentPanelCycle` / `approvalOutcomeNoteOf` 上公面;型面 additive、公面 1065、peer 不动;§73。上一版 0.74.4 = **patch**:面板键「先发布的键为准」(tick 归不了一的三序不再两行)+ 前代 UUID 迟到 tick 丢弃 + `readRunCancelContext` 下钻收紧;型面 additive、公面 1061、peer 不动;§72。上一版 0.74.3 = **patch**:面板子代身份归一(tick / end 的 UUID 归到 fleet 尾段,宿主零改)+ run 记录 `cancelContext` 读口与成因四词 + workflow 行 `errorCode` + reopen 第二臂两件;型面纯 additive、公面 1061、peer 不动;§71。上一版 0.74.2 = **patch**:`capabilities.deviceExecutor.management` 四态读口(缺席 ≠ false;`deviceExecutor: false` = 车道缺席;管理动词可用性三态归包);公面 1052;§70。上一版 0.74.1 = **patch**:审批卡无决断收口 + 结局回交;§69。上一版 0.74.0 = **minor**:peer sdk 地板 >=9.7.1 + covers 过境 + 面板周期身份 + 离场读口;§68。上一版 0.73.5 = **patch**:workflow 规模告警判定上收进包(`evaluateWorkflowSize` 三态:未知的规模不当作规模正常;分母口径与帽优先级单源;env 读口纯函数);型面纯 additive、公面 1044、peer 不动;§67。上一版 0.73.4 = **patch**:终帧 `permission_denials` 第三键 ⇐ 同一条流 `tool_start` 入参按 `toolCallId` join(三道闸;join 不上留 sema 载体;🔴 更正 0.73.2「自动升级收口」一句)+ 审批 feed push 侧取件失败的欠账退避重试;型面纯 additive、公面 1033、peer 不动;§66。上一版 0.73.3 = **patch**:CC-61 sdk 9.7.1 提货 + `capabilities.approvalsStreamLive` 四态读口(缺席 = 判不出;`livePendingNeedsReconcile` 只在引擎明说会推时才让对账节拍降兜底)+ CC-60 五条模型面文案锚包侧半场(cursorSemantics 机读位 / result 行注记 / bash 首行两变体与良性槽 / 通知 seed 并集 / parked 臂);型面纯 additive、公面 1032、peer 不动;§65。上一版 0.73.2 = **patch**:CC-59 悬挂 ask 全卡 —— `livePending[].frame`(server ≥7.87.0)两道闸窄读进视图,在场即走流内帧腿同一条路(入参可见、改写可转发),缺席保持盲卡;CC-34 收口(引擎半场随 7.87.0 到货,判据交黑盒);型面纯 additive、公面 1026、peer 不动;§64。上一版 0.73.1 = **patch**:CC-57 `decidePlanReview` outcome 尾句按「决断有没有生效」四态选(单铸点 `planReviewOutcomeTail`;此前本地拒发仍让模型汇报已拒绝)+ CC-56 cancel 的 409 按机器码分家(`cancelConflictFromError` 三形 / 新安全码 `cancel_run_not_running`)与提交面 429 用量窗读口 + 人话;型面纯 additive、公面 1026、peer 不动;§63。上一版 0.73.0 = **minor,型面 BREAKING**:fleet 视图八个数值键改可选 —— CC-52 `FleetTaskView.elapsedMs` / `tokens` / `queuedCount` 与 `FleetWorkflowView.doneCount` / `totalCount` / `failedCount` / `tokens` / `elapsedMs` 不再 `?? 0`(有键 = 真值含真 0,缺键 = 不知道;逐键缺席语义见 §62b)+ 台账补偿链无基数不铸;公面导出名零增减 1019、零 wire 变化、peer 不动;§62。上一版 0.72.14 = **patch**:悬挂的流内 ask 拉半场 —— CC-55 `startApprovalsFeed` 快照加 `livePending` 段并进变化摘要(键缺席 = 未报,不铸空)+ 视图 / 去重账 / 与流内帧腿同链的决断口(入参不可见上卡明说、改写不转发)+ 宿主闸对账节拍 + 待决计数读口(不知道 = null);型面纯 additive、公面 1019、peer 不动;§61。上一版 0.72.13 = **patch**:server 7.86.0 提货 —— CC-46 plan_review `permissionModeAfter` 发口(三选卡双闸:宿主声明只读起步 ∧ 引擎 ≥7.86.0;400 field_conflict 两种处置)+ CC-54 `capabilities.executionLane` 四态读面(键缺席 ≠ 不是本机车道;`toolsRunHere` 判据归包)+ CC-53 detach 版本闸三态;型面 additive(另撤回 0.72.12 的主通道 `absent` 臂,改独立缺席订阅口)、公面 1011、peer 不动;§60;**预告 0.73.0 BREAKING**:fleet 视图数值键改可选。上一版 0.72.12 = **patch**:「缺席被折成正向终态」按类清剿 —— CC-50 M1 头条(fleet 行缺席改发 `absent` 不再铸 `end{isError:false}`)+ 六站一次改齐(缺席 ⇒ `unknown`)+ 结果边界 fail-closed 取舍 + `_sema_outcome` + `Outcome unknown:` 行 + CC-51 M6(default 臂不再谎报 running)+ 普查门 + DS-06;型面 additive、公面 993、peer 不动;行为面三处真变化见 CHANGELOG 取舍段;§59。上一版 0.72.11 = **patch**:core 7.23.0 提货 —— CC-49 通告码 66 → 67 `config.write_protection_unresolved`(operator;兄弟码 `target_view_absent` = 没有视图,这枚 = 有视图解析不出)+ `permission_denials` 自动升级腿通电(`gates[].toolCallId` ⇒ `tool_use_id`;CC-34 引擎半场);型面零变化、公面 989、peer 不动、devDep core ~7.23.0;§58。上一版 0.72.10 = **patch**:CC-41 leader run 终局 `needs_human` + `result.conflict` 三形读面(none 缺席不可分 / unreadable 在场读不懂 / conflict;`salvaged[]` 原样给落盘口;措辞单源不提重试);型面纯 additive、公面 989、peer 不动;§57。上一版 0.72.9 = **patch**:server 7.85.0 提货 —— CC-30 会话内 MCP re-dial 消费口(`reconnectMcpServer` 三态 / unsupported 恒五键 / 交易文案单源)+ CC-39② memory-status `autoConsolidationArmed` 三态 + CC-45 resume 补充句渲保留秒数;型面纯 additive、公面 985、peer 不动;§56。上一版 0.72.8 = **patch**:清账三票 —— `memory:"off"` 请求键(CC-39③,server 7.84.0 S-405)+ `runStream` 第二条中性臂 `Model output error:`(CC-43)+ 注入件撞活 run 自动 steer 零卡(CC-44);型面纯 additive、公面 977、peer 不动;§55。上一版 0.72.7 = **patch**:core 7.22.0 提货 —— 通告码 66 `mcp.server_redialed` + 读器 `readMcpServerRedialed` + `wiring_manifest.readDeny` 第九段 `_sema_readDeny`(缺席 = 没有内置行判这条腿);型面纯 additive、公面 971、peer 不动、devDep core ~7.22.0;§54。上一版 0.72.6 = **patch**:cli L-379 包侧半场 —— `steerFollowIntent` steer 后续听意图三态(tail / after-decision / after-wake)+ `activeRunSelfHealRow` 续听声明第五参;型面纯 additive、公面 969、peer 不动;§53。上一版 0.72.5 = **patch**:server 7.82.1 提货 —— `capabilities.webSearch.backend` 部署默认 WebSearch 后端四态读面(键缺席 = 老引擎判不了 ≠ `none`);型面纯 additive、公面 968、peer 不动;§52。上一版 0.72.4 = **patch**:core 7.21.x 三件经 server 7.82.0 提货 —— `wiring_manifest.autoConsolidation` 第八段 `_sema_autoConsolidation`(缺席 = indeterminate 不折 false);型面纯 additive、公面 962、peer 不动;§51。上一版 0.72.3 = **patch**:core #863 记忆单系统半场 ① —— `projectAgentsForWire` 投影 `agents[].memory`(user|project|local 三词同映射引擎平面 agent:<type>);型面纯 additive、公面 962、零 wire 新键、peer 不动;§50。上一版 0.72.2 = **patch**:workflow 视图两票 —— `LiveWorkflowController.resolution()` 六态(snapshot() 的 null 三义拆开)+ `noteOwnWorkflowRun` own 台账同拍登记;型面纯 additive、公面 961、零 wire 键、peer 不动;§49。上一版 0.72.1 = **patch**:server 7.80.1 提货 —— 409 `conflict.resume_context_unavailable` 结构读数(`staleAfterSec` / `runId`;sdk 9.6.0 尚未带键,经 sdk 今天恒缺席)+ `SkillSpec.baseDir`(只在本机车道带);型面纯 additive、公面 960、peer 不动;§48。上一版 0.72.0 = **minor**:型面 BREAKING —— 39 个零消费导出退出公面(CC-32 退役批,[7419] §45 预告 / cli [7422] 同意 / web-client·desktop 过节拍沉默 = 同意;名单见 §47a S-1);运行期零 BREAKING、公面 956、peer 不动、devDep core ~7.20.1;随批:已退役名账 `removed` + export-liveness 门 G 段 + 冻结账门 ⑧c;§47。上一版 0.71.4 = **patch**:core 7.20.1 提货 —— `ENGINE_NOTICE_CODES` 65 + `wiring_manifest.writeProtection` 第七段 `_sema_writeProtection`;型面纯 additive、公面 995、peer 不动、devDep core `~7.20.1`;§46。上一版 0.71.3 = **patch**:门体系清账批 —— CC-24 export-liveness 门 + 39 个导出退役预告(0.72.0 删,表态制)/ CC-26 `as unknown as` 铸链棘轮 / CC-25 冻结账门 ⑧ 段 / CC-06 B-081 包侧半场(终帧 `_sema_effective_reasoning` / `_sema_effective_memory_scopes` + resume reopen 族 + `routePairingVerdict`);型面纯 additive、公面 986 → 995、peer 不动;§45。上一版 0.71.2 = **patch**:接入方验收两票归包 —— CC-28 B-132 decide 拒体三句去内部车道词 / CC-29 B-133 committedUuids 唯一性(重复 ⇒ 形 f);零型面变化、公面 986、peer 不动;§44。上一版 0.71.1 = **patch**:接入档打回修正 —— CC-27 `ApprovalCardRequest.readRootCandidate?` 帧→卡透传位 + 新导出型 `ReadRootCandidateView`;型面纯 additive、公面 986 不变、peer 不动;§43。上一版 0.71.0 = **minor**:型面 BREAKING 六件 —— peer sdk 地板 >=9.6.0 + agent-types >=0.3.0 / `SkillsListingTruncatedFactsView` 删 `requestedBudgetBytes?`·`laneClamped?` / `WiringManifestMcpEntry` → `WiringManifestMcpEntryView` / `MAX_AGENT_SKILLS` 删 / `decide.workflow_host_not_parked` 退役;运行期零 BREAKING。内容:core 7.20.0 提货(闭集 +5 六十四码)/ 🔴 CC-16 `text_segment_end.committedUuids[]` / CC-08 全五件(tool_disclosure / tool_progress 两 chrome 臂、wiring_manifest tools·hooks·lsp 进切片、tool_roster_delta 接上、context_usage 进切片、`readRootCandidate` 镜像)/ CC-19 `mcpEngineLegPresence` 归包 / CC-20 not_parked clean-cut;公面 986;§42 / 42y 八条)|
23
- | peer:wire 契约 | `@sema-agent/sdk` **>=12.0.1**(value-level,非 type-only;**0.84.0 抬版**:12.x 声明每会话后台登记列表 `sessions.background`、能力位 `capabilities.background.listFace` 与七词闭集的后台状态型,本包三者都读(登记读口的端点门与归类口的编译期穷举),按 12.0.1 编译,11.3.0 失去物料见证;0.84.1 / 0.85.0 / 0.85.1 / 0.85.2 / 0.86.0 / 0.87.0 不动(0.86.0:sdk 14 的三处型面 BREAKING 本包已按结构读覆盖,本版 `.d.ts` 在 sdk 12.0.1 / 13.1.0 / 14.0.0 / 15.0.0 下严格编译零错误,§112y)。此前 **0.80.0 曾抬到 >=11.3.0**:11.3.0 在两条回决口体上声明 `settledBy?: "policy"`、`Settlement.kind` 第十三词 `policy_refused` 与三错误码(0.80.0 至 0.83.6 都在这条地板上);**0.79.0 曾抬到 >=11.2.1**:11.2.x 声明 `capabilities.mcpProbe`、`mcpCapabilities` / `probeMcp` + `McpProbeFace`、写回执第三支 `stillLive: "unknown"`,11.2.1 再补 `TaskRequest.approverPosture` 与审批帧键 `mandated`(型面 + 运行期键锚),本包按 11.2.1 编译,11.0.1 失去物料见证;**0.78.0 曾抬到 >=11.0.1**:11.x 声明 `DeniedBy` 第十词 `read_boundary`、`rules.write` 200 体按 `stillLive` 判别联合、`RemovalLiveness` / `RuleWriteRequest` / `RuleWriteResult` / `RuleWriteBehavior` 包根导出、`TaskRequest.excludeAllTools`,本包按 11.0.1 编译,9.8.1 失去物料见证;**0.75.0 曾抬到 >=9.8.1**:9.8.x 声明 `Capabilities.deviceExecutor.management?`,9.7.1 失去物料见证;**0.74.0 曾抬到 >=9.7.1**:9.7.x 追平的六处型面是本包 0.73.3 起的编译基线,且 9.6.0 失去物料见证;**0.71.0 曾抬到 >=9.6.0**:`tool_disclosure` / `tool_progress` 两帧型与 `ToolApprovalFrame.readRootCandidate` 自 9.6.0 起;0.69.0 曾抬到 >=9.4.0(`reasoning_end` / `lastLegMcp`),0.60.0 抬到 >=8.4.0;地板由 `scripts/run-sdk-floor-test.mjs` 的 `FLOOR` 与 public-surface 门 C-CC-3「不低于见证到的最低实装版」双钉)| `package.json` `peerDependencies` |
22
+ | 本包 | `@sema-agent/client-core` **0.88.0**(本批发布版 = **minor**:展示出口凭据面一次扫描(带凭据的输入上输出字节变、干净文本逐字节同、一轮即不动;CC-247);崩溃收敛 `cause` 认第二个词 `shutdown_before_park`(`CrashConvergedRow.cause` 型联合 +1 词,穷尽分支的端编译期红;CC-218);服务端自铸通告 `server.model_unreachable` 入受众表与事实读器 `readModelUnreachable`(CC-270 ①);开发依赖换钉引擎 `~7.37.1`、放行原因闭集镜像 `GATE_MODE_RELEASE_REASON_WORDS` / `isGateModeReleaseReasonWord`、修复通告事实读器 `readToolTurnRepaired`、通告码册 80 → 81(`EngineNoticeFactsCode` +2 员;CC-272);会话所有者自助记忆抹除 `eraseSessionMemory` / `sessionMemoryEraseOutcome` + 三只闭集镜像(CC-264);registry 同一个 409 的两义判别 `classifyRegistryConflict` / `isScopeGoneError`(CC-280);请求键 `requireExistingSession`(车道表 44 → 45 行)与被拒读口 `requireExistingSessionRefusalFromError` / 一句 `requireExistingSessionRefusalContent`(CC-281);投递事实账本 `createPromptDeliveryLedger` + 两只按消息行的读口 `promptKnownUndelivered` / `withoutUndeliveredPrompts`(判据 = 引擎为这次提交建了 run;CC-271);plan 决断台账:离门证据结掉、还没被认领的登记由投递口认领原笔(CC-278);`wiring_manifest` 帧 `fileHistory` 段(`WiringManifestChromeEvent.fileHistory?` / `WiringManifestView.fileHistory?`,超集键 `_sema_fileHistory`;CC-279);根公面 1356 → 1372;测试钩 62 不变;公面类型名 922 → 942;超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§114)。上一版 0.87.0 = **minor**:会话历史 tool_use 错配的自救出路 —— 合成终局错误行超集键 `_sema_tool_history_mismatch`、`EmitContext.offersRewind?` 声明面出路句与连续次数句、根入口两只纯函数 `classifyToolHistoryMismatch` / `resolveToolHistoryRewindTarget`(CC-268);崩溃收敛 needsHuman 行的闭集因由位 `needsHumanReason`(CC-269);停车 fail-soft 同步终帧与结果帧的真因超集键 `_sema_park_failed_reason`(CC-273);workflow 活动台账 / 监视器源的 `authToken` 收取值函数、连线身份按凭证来源认(CC-274);`armDetachCancel` 入参 `authToken` 收取值函数、取件口每调现读(CC-275);chrome 臂 `suspended_reopened`(`ChromeEvent` +1 臂,穷尽分支的端编译期红;CC-276);根公面 1354 → 1356;测试钩 62 不变;公面类型名 922 不变;超集键 +2;peer sdk 地板 `>=12.0.1` 不动;§113)。上一版 0.86.0 = **minor**:引擎 7.34.0 提货两代读法 —— 事实表第二批构建期生成、`GATE_DENIED_BY_WORDS` 两代并集十一词(元素型 `GateDeniedByWord`,`mode` 专句)、门记录权限模式两臂与读口 `gateModeRelease`、通告码册六码与六只事实读器(`EngineNoticeFactsCode` +6)、`STRUCTURED_DETAIL_TYPES` +`read_unestablished`、本人规则店读不出两代读法、`shell_gate_tighten` 改句(CC-249 / CC-245 / CC-230);服务端 7.105.0 提货 —— 会话规则写口拒名码 `rules.legacy_tool_name` 的具名结局与 `isRulesRefusalCode`(CC-251)、门前只读路 401 的 `unauthorized` 态与 `READ_CREDENTIAL_NOT_ACCEPTED_NOTICE`(CC-252);请求键 `approverPosture` 退役、构造期按名拒,两个运行期名字退出根入口(逐名见 §2z)(CC-253);`AskUnresolvableFactsView.remedy?`(CC-254);开发依赖引擎 `~7.36.0`(CC-255 换钉 7.35.0,`CONFIG_REFUSAL_CODES` 8 → 17;CC-261 再换钉 7.36.0),通告码册 73 → 80;`adapt()` 错误信封不再回落读旧名 `result`(CC-221);服务端 7.106.0 提货 —— caps `store` / `centerWiring` 窄读口、SQL 姿态两代读、计费入口 503 `fleet.lease_unavailable` 读口与一句话(CC-250),`executionLane.isolated` 与「本机无 OS 沙箱」判定(CC-256),请求键 `inheritEnv` 与版本闸片段口、两只拒按码出句(CC-257),权限规则表超帽坏项读口与一句(CC-262),工具声明拒按码认领(CC-263),请求体键形拒两张键表读口(CC-265);`-p` 首帧工具来源超集键 `_sema_tools_source` / `_sema_tools_fallback_reason` 与铸口 `printInitToolFaceSupersetKeys`(CC-266),三张估计工具表改为常驻(CC-267);根公面 1310 → 1354;测试钩 60 → 62;公面类型 891 → 922;超集键 +2;peer sdk 地板 `>=12.0.1` 不动(sdk 12.0.1 / 13.1.0 / 14.0.0 / 15.0.0 下本版 `.d.ts` 严格编译均零错误);§112)。上一版 0.85.2 = **patch**:自愈重开两只失败结局带 `errorCode`(这一次重开放弃所依据的那一发失败请求的外层 wire 码,present-iff;判定形不带),重开判决不成功臂 +`_sema_errorCode`(宿主可选铸;宿主重开口抛错时本包铸)(CC-260);自愈腿读错误对象与成功应答记录上的各位收进保护(读不出按缺席,不再 reject;`atMostOnceFailureClass` / `readSteerDelivery` / `readSteerReceiptStatus` 不再抛);根公面 1310 不变;公面类型名不变(两个已导出型各多可选位);超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§111)。上一版 0.85.1 = **patch**:请求装配回执省略成因的终端用户向句表 `TASK_REQUEST_OMISSION_CAUSE_NOTICES` 与取句口 `taskRequestOmissionCauseNotice`(与接入方那只 `taskRequestOmissionCauseDetail` 同源于同一成因闭集、逐词不同句;表外 / 读不出 ⇒ 一句通用句,不抛、不回显),接入方那张句表的字面量补挂 `satisfies`(CC-248);plan-review 重开口在「这个会话没有接能显示卡的界面」那一形上答 `{ reopened: false, _sema_noPresentationSurface: true }`,自愈结局两臂带 `noPresentationSurface`、自愈行五句补一句成因,重开前提(宿主为该会话键订阅问题帧端口)成文(CC-258);自愈腿读宿主重开判决收进保护(某一位读不出按缺席,不再 reject),宿主日志 / 探针口抛错不再改变判决;多会话宿主的按会话呈现回执登记口 `registerArmedGateFromQuestionIdFor` 回到根入口(0.72.0 退出公面的名字复活;CC-259);根公面 1307 → 1310;公面类型名不变(两个已导出型各多可选位);超集键 +1;peer sdk 地板 `>=12.0.1` 不动;§110)。上一版 0.85.0 = **minor**:引擎事实表(通告码册 / 受众表 / MCP 注入丢弃原因 / 会话规则翻译判定内部两表)改为构建期生成,`ASK_ORIGIN_WORDS` / `APPROVAL_MANDATE_WORDS` 就是 SDK 导出的数组(不再冻结),四个思考档 / 权限模式型改为 SDK 型的别名,包内单源(CC-230);子代族八入口与两只行停止门收注入 client,写动词失败结局 +`unconfirmed`,`classifySubagentResumeFailure` 同判(CC-236);`sessionPolicyDeliverable` 收可选名册,`SessionPolicyWithheldWhy` 六词 → 七词(CC-228);过渡物退役登记与到期门,`adapt()` 不再认旧名 `attachedFiles`,三个运行期名字退出根入口(逐名见 §2z),`surfaceRememberNotApplied` 撤回退役预告(CC-221);plan-review 决断台账六口,`reopenPlanReviewCard` 按台账拒开(CC-241);会话后台任务停止口 `stopEngineSessionBackground` 与受据归类口 `engineSessionBackgroundReceiptReadingOf`(CC-246);服务端 7.104.0 会话侧:会话存档读不出三载体读口与人话 `corruptSessionContent`、`session.records_skipped` 进册(`SERVER_NOTICE_AUDIENCE` 三行)、删会话 409 读口、`/decide` 停驻挪动族读口(CC-217 / CC-243);服务端 7.104.0 能力 / 同步体侧:同步 park 新体与 park 行 `result`、`fileHistoryCaptureMode` 认 `on-optional` 与请求词片段口 `fileHistoryDeclarationField`、公钥发现读口 `projectSealedKeyCapability`、折叠粗码 `isStatusDerivedCoarseCode`(CC-243);同名影子对账门按语义判(CC-222);导出存活门读已提交历史(CC-240);根公面 1275 → 1307;测试钩 59 → 60;公面类型 +34;peer sdk 地板 `>=12.0.1` 不动;§109)。上一版 0.84.1 = **patch**:`<system-reminder>` 开标签定位口 `findSystemReminderOpenTag`(CC-210);detach durable-off 400 纯判定 `isDetachDurableOff400`,`detachDurableOffHint` 对读属性会抛的错误对象改回 `null`(CC-219);服务端自铸通告码进码册与受众表 `SERVER_NOTICE_AUDIENCE`(`instructions.source_changed` 回到用户面)+ 事实读器 `readInstructionsSourceChanged`(CC-213);按码派发的通告事实口 `readEngineNoticeFacts` + 派发表 `ENGINE_NOTICE_FACT_READERS`,`readReadRootGrantNotice` 入参型放宽(CC-214);停泊审批决断 422 `parked_resume.startup_failed` 的读口 / 一句话 / 判定与码优先 `isCodeClassifiedGateFailure`(CC-225);拒启会话的窄撤销动词 `removeRefusedSessionRules` 与出路句 `legacyToolNameFailureNoteOf`,`CONFIG_REFUSAL_CODES` 七员 → 八员(CC-229);plan-review 编排三口与两只能力探针收注入 client(CC-209);CC 形 `permission_denials` 收入参只被传输层脱敏过的拒绝 + 超集位 `_sema_tool_input_redacted`(CC-235);凭据读法两处放行收口(CC-234);根公面 1260 → 1275;公面类型 +18;peer sdk 地板 `>=12.0.1` 不动;§108)。上一版 0.84.0 = **minor**:peer sdk 地板 `>=11.3.0` → `>=12.0.1`;后台代理登记读数 —— 读口 / 取代判定 / 归类口 / 登记键桥 / 补行谓词,缺席行下半场(CC-194);读目录授权结论通告读口 `readReadRootGrantNotice`(CC-185);接线回执 `hands` 段 `_sema_hands` + 读口 `handsSeamReadingOf` / `handsSeamDetail`,`handsMountedDetail` 坏入参不再抛(CC-206);陈旧逻辑清扫(CC-223):退役键 `rewind.rewindFiles` 构造期拒收、`WorkflowRunState.agentCount` 改可选、26 个内部件退出根入口、九张公面判定表换只读 Set 子类、十五张判定数组冻结、`resume_at` 文本兼容腿退役;根公面 1278 → 1260;公面类型 +10;§107)。上一版 0.83.6 = **patch**:会话规则记录的无损判定 `sessionPolicyDeliverable` 把引擎会在准备阶段拒启的两类名字(引擎退役名、含 `__` 而不以协议前缀开头的名字)改判「不写」,成因词 `legacy_tool_name`(闭集 5 → 6),引擎说「改名为 X」的退役名带 `currentName` 出路位;`peer_wide` 那句改措辞(判决不变)(CC-226);根公面 1278 不变;peer sdk 地板 `>=11.3.0` 不动;§106)。上一版 0.83.5 = **patch**:展示层出口 `displayUntrusted` 的连接符 ZWJ / ZWNJ 按语境判(🔴 默认形输出字节变)、两只可选开关 `escapeBackslashes` / `blanks` 与标记位置读口 `displayUntrustedMarks`(CC-204);凭据两网的判别视图认孤代理项,机读字节 `errors[]` / 合成终局行同批(CC-207);转义记号在凭据再扫里原子与四处凭据读法存量修复(相对 0.83.4 零新增外泄);hooks 启动模式可选词读口 `SettingsPort.hooksStartupMode()`,安全 / bare 模式下设置来源只发 managed(CC-200),设置来源里同一条 hook 只发一份(CC-208);自愈三条重发结局 +1 可选位 `releaseConfirmedByEngine`、行句按释放证据分说(CC-212);活段接入指引订正;公面类型 +3;peer sdk 地板 `>=11.3.0` 不动;根公面 1278;§105)。上一版 0.83.4 = **patch**:只增 —— plan 审批卡「用户亲手关掉的卡,自动触发不在同一道门上放回屏上」的判定归包(`reopenPlanReviewCard` 加触发者位 `trigger`、拒开位 `dismissedByUser`,409 自愈腿按提交出身替宿主传触发者、结局与整行由包出;CC-201);座位审批请求补强制位 / 强制理由词 / 报价缺席因由 / 出身词四个可选位与过境口 `toolPermissionRequestAskBits`(CC-203);`<system-reminder>` 剥离 / 解包两只口上公面并改线性时间(CC-205);两条展示层接入指引订正;开发依赖引擎 `~7.33.1`;公面类型 +2;peer sdk 地板 `>=11.3.0` 不动;根公面 1277;§104)。上一版 0.83.3 = **patch**:入参 / 来源面 —— hooks 投影加 flag 来源(`--settings` 那一层,排在 local 之后;设置来源 hooks 维持托管在前拼接);规则列举口 `listAllPersistedRules` 入参只要 `list`(`RulesListFacade`,其余四口作可选成员);模型身份认目录缺省(本机读数加宿主报位 `engineAcceptsCatalogDefault`,位 `true` 才算目录可解析);公面类型 +1;peer sdk 地板 `>=11.3.0` 不动;根公面 1273;§103)。上一版 0.83.2 = **patch**:只增 —— 审批卡一族三件(常驻姿态下的放行谓词 `askSurvivesPosture`,三态、「不知道」不折成放行;卡上 `mandate` 六词闭集 + 读口 + 每词一句说明,通告码册 +2,开发依赖引擎 `~7.32.0`;停泊卡带出身词 `origin`;CC-193 / CC-195 / CC-196)与后台子代缺席行的判定、计数、sweep 豁免、回收与措辞单源(回收只在后台代理登记确认离场时;CC-194);公面类型 +13;peer sdk 地板 `>=11.3.0` 不动;根公面 1273;§102)。上一版 0.83.1 = **patch**:只增 + 行为订正 —— 展示层安全出口三端单源 `displayUntrusted`(凭据两网 ∘ 字符三网,选项按载体选;CC-112);本包合成的终局行正文与结果帧 `errors[]` 在铸点洗凭据(`errors[]` wire 可见,方向只会更安全)、交互车道合成行带上行类旗,回决备注与子代续跑收据多收双向 / 格式字符(CC-187 / CC-112);会话规则记录的无损判定 `sessionPolicyDeliverable` + 措辞单源 `sessionPolicyWithheldNotice` + 五词成因 `SESSION_POLICY_WITHHELD_WHY`(整批可送才送,首尾带空白的名字比宿主侧更严;CC-117);插件 hook 每轮计划 `hooksWirePlan` + `SettingsPort` 可选读口 `enabledPluginHooks` + `hooksForWire({ plan })`,逐条判「投给引擎 / 本客户端执行 / 如实不跑」、开机「不会执行」清单与 `/hooks` 标注措辞单源(投给引擎那一臂候引擎能力位 `taskSettings.pluginHooks`),设置来源的 `mcp_tool` 与 exec 形 hook 条目不再上请求体、手写的 `plugin` 键剥掉(CC-174);公面类型 +26;peer sdk 地板 `>=11.3.0` 不动;根公面 1254;§101)。上一版 0.83.0 = **minor**:行为面与型面都有 BREAKING —— CC 形消息 24 项按裁定 C-R103 退役名:结果帧 `degraded` / `errorCode` / `model` 与错误信封 `result` → `_sema_model_degraded` / `_sema_error_code` / `_sema_selected_model` / `_sema_salvaged_result`,合成终局行 `isApiErrorMessage` → `_sema_api_error_message`,工具结果记录删过渡名 `toolUseResult`,system 行 `attachedFiles` → `_sema_attached_files`、到达时戳 `timestamp` 与 `isMeta` 删,print 完成通知帧十三键平铺 `_sema_*`,记忆写入改走 chrome 臂 `memory_saved`(新型 `MemorySavedChromeEvent`,`CHROME_ARMS` required);本包只铸新名、端两名并读一版 + 结果帧 CC 键 `terminal_reason` 与读口 `terminalReasonForResult`(CC-175),错误信封知道就铸 `_sema_selected_model` + 转录 id 改 UUID 形(CC-147)+ `SettingsPort` 可选合并读口 `mergedDisableAllHooks`、用户层 `disableAllHooks` 在引擎腿上生效(CC-162)+ 退化审批卡三形拒收改写、`FsApprovalOutcome` 的 `failed` 臂 +可选位 `editRefused`(CC-135)+ 注入件自愈句整族重写 + 联网搜索旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 退出公面,`resolveLiveInitToolFace` 可选 `opts.webSearchStamped`(`LiveInitToolFaceOptions`),endpoint userinfo 律跟服务端 7.101.0(CC-184)+ 公面类型 −4(CC-171)+ 通告码册 69 → 71 与结构化卡白名单 +`read-inbox`(CC-186,开发依赖引擎 `~7.31.0`)+ 合成终局行 `uuid` 改 UUID 形;peer sdk 地板 `>=11.3.0` 不动;根公面 1238;§100)。上一版 0.82.7 = **patch**:只增不改 —— 每请求联网搜索配置的三态判决 `judgeWebSearchSettings` / `webSearchVerdictFromEnv` / `resolveWebSearchVerdict`(与 7.100.0 及以后 server 的受理判官同序同判,认不出的 provider 判形错、不再静默丢段;settings 段凭据注入回调 `apiKeyFor`)+ 措辞单源 `webSearchVerdictMessage`(不回显任何用户配的值)+ 调试日志用 `webSearchEndpointForDisplay`;旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 行为不变、标过渡期,0.83.0 删(CC-182);peer sdk 地板 `>=11.3.0` 不动;根公面 1240;§99)。上一版 0.82.6 = **patch**:只增不改 —— 停泊行上选「本会话允许」却没被记住时与活卡腿同句告知(回体 `rememberApplied: false`,或 server 以会话级放行专属拒绝码拒了 remember 后回退普通批准;其余失败一律未知不告知),回执 `DecideReceiptView` +1 可选位 `rememberApplied`(CC-181);决断落定后与桥重试臂的诊断留痕不再因宿主日志口抛错回流进决断;接入文档改口:server ≥7.100.0 上 park 行卡的 `requiresRealApproval` / `approvalIsMandated` 生效(CC-180,零代码改动);peer sdk 地板 `>=11.3.0` 不动;根公面 1235;§98)。上一版 0.82.5 = **patch**:只增不改 —— print 车道 init 帧工具面名册优先:流包装器 `withPrintInitFrame`(首选接法,init 恒为首行、其后按到达序)/ 判定闸 `createPrintInitGate` / 分类口 `printInitRosterSignal` / 判定口 `decidePrintInitToolFace` / 留痕措辞 `printInitToolFaceDebugLine` + 等待上界 `PRINT_INIT_ROSTER_WAIT_MS`(150 000);回落估计表补 `ListAgents`(7.30.0 及以后的引擎上与 `SendMessage` 同条件)(CC-169);peer sdk 地板 `>=11.3.0` 不动;根公面 1235;§97)。上一版 0.82.4 = **patch**:只增不改 —— park 行审批卡新增门类位 `irreversibleParkGate`(待决行门类恰为 irreversible_ask,今天即生效,门类事实不是保证);`requiresRealApproval` 在待决行顶层带时透传(就绪,待决列表带出后才生效,今天零行为变化)(CC-180);`ApprovalCardRequest` +1 可选位;peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§96)。上一版 0.82.3 = **patch**:只增不改的公面 —— 自愈提示的「保住对话」出路槽 `keepSessionWayOut` 与交互面引擎决断入口开关 `engineDecidePath`(CC-177;两位都不给时措辞与 0.82.2 逐字节同);自愈结局两臂 +机读位 `pendingRowGone`(重开链证实待决项已不在);peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§95)。上一版 0.82.2 = **patch**:只增不改的公面 + 若干行为订正 —— 新增措辞单源 `cloudEffectiveNotices`:云控制面有效配置回体的降级告警 / 预算 / 能力上限三读数(CC-164,四态,不读成 0 或「没有预算」);本机引擎 models 文档在宿主注入本机条目判定 `entryAccepted` 时补 `default` / `tierGroups` / `activeTierGroup`,剔掉会让本机整份拒收的目录引用与判定口不收的条目,去掉 registry 注记键 `origin` / `overridesTeam`(CC-165;结果新增 `modelRefIssues`);计划复核结局机读位 `_sema_planReviewOutcome`(CC-160 ①);停泊审批决断操作起止回调 `onDecideOperation` 与操作句柄 `openDecideOperation`(CC-160 ③);新增超集键 `_sema_planReviewOutcome`;peer sdk 地板 `>=11.3.0` 不动;根公面 1229;§94)。上一版 0.82.1 = **patch**:只增不改的公面 + 若干行为订正 —— 新增读口 15 个(续跑折叠码读口与措辞 / 文件历史捕获读口六口 / 模型身份可解析判据五口 / 自定义代理载荷作废重投口 / 决断失败码「门还在」判定)+ 宿主车道声明 `EmitContext.lane`;新增超集键 `_sema_response_model`(终帧 / 每轮用量)与 chrome 用量两臂 `responseModel`、重开判决 `_sema_decisionInFlight`、自愈结局两臂 `decisionInFlight`、内部臂 `_sema_denial_unclassified`、通知码 +1;行为订正:计划复核决断在飞不重开卡且自愈提示不再教人再决一次(CC-160 ②)、决断出口补折叠句且停泊腿不再把折叠 / 坏档误判已决(CC-154)、执行车道 `in-process` 措辞(CC-153)、`-p` 车道 Bash 良性退出与交互同判(CC-168)、`-p` 工具结果帧补结构化结果(CC-149)、被拒分类词两车道同判(CC-172)、非交互车道子代工具帧(CC-158,宿主声明车道才生效)、终帧被拒清单对账流内拒绝(CC-159)、自定义代理载荷作废重投(CC-161);peer sdk 地板 `>=11.3.0` 不动;根公面 1228;§93)。上一版 0.82.0 = **minor**:只增不改 —— 新增只读读口 17 个 + 1 常量、工具名册行一格 `mountedBy`、turn 错误判决 `http` 臂一格 `storedRowWhere`:`/rewind` 代码档与对话档能不能用由引擎能力位回答(CC-146)、云控制面额度读数三分(CC-150)、装配期「这一条腿有没有手」(CC-152)、续跑拒收按原码判(CC-154);两处既有面行为订正:自动模式分类器拒的类别词由 `permission-rule` 改为 `automode-*` 三词(CC-155,订正 0.81.1)、续跑上下文读不出时引擎点名的那一行不再丢(CC-156);0.81.0 预告的 23 键 + 1 子型删改**改到 0.83.0**(§92y ㉙);零 wire 键、零投影臂;peer sdk 地板 `>=11.3.0` 不动;§92。上一版 0.81.1 = **patch**:被拒分类词读器加第③路(CC-148):引擎「没问过就拒」的工具调用(deny 规则 / 权限模式 / hook / 分类器 / 写保护 —— 无 `settlement` 只有 `gate.disposition.deniedBy`)在 user 工具结果记录与终帧 `permission_denials[]` 上此前恒缺 `_sema_denial_kind` / `toolDenialKind`,现按层名落 `permission-rule`(其中「分类器」一项已由 0.82.0 CC-155 订正)(`ask_resolution` 无结算 / 结算段不成形 / 层名表外仍缺席不猜);交互与 `--print` 两条车道同一只读器;另钉终帧两臂 `_sema_effective_*` 键集不变量 —— 成功臂展开单铸函数、错误信封显式重发,覆盖性钉在返回对象自己的类型上(漏键 / 多键编译期即红)+ 门格判两臂键集相等且值逐字节同,给单铸函数加键时错误臂不会再静默少键(本版无键增减);零 wire 键、零投影臂、根公面 1195;§91。上一版 0.81.0 = **minor**:CC 形消息一张脸(C-R85 / CC-131):user 工具结果记录加 SDK 面键 `tool_use_result`(与过渡键 `toolUseResult` 同引用,删驼峰原定 0.82.0、已改到 0.83.0)+ DS-19 普查门升硬门(键集按语法解析、按 type/subtype 分表;23 键 + 1 子型过渡表到期窗原为 0.82.0、已改到 0.83.0,零常驻豁免)+ CC-145 `/rewind` both 臂改发 `restoreFiles:true`、`projectRewind(pending)` 单参;零 wire 键、零投影臂、根公面 1195;§90。上一版 0.80.2 = **patch**:`conflict.resume_context_unavailable` 的 `staleAfterSec` / `runId` 在真 SDK 上读不到(CC-137:sdk 11.1.0 起 `APIError` 把体上非具名键收进 `extra`,这一码映射成 `ConflictError` 无具名位,读口只读顶层 ⇒ 真调用链恒缺席)⇒ 体源结构位改「顶层有效值优先、`extra` 兜底」三只类型化读口单铸,有具名子类位的三处(`retryAfterSec` × 2 / `allowlist`)行为不变只多兜底,头源 `retryAfterMs` 只读具名位;零 wire 键、零投影臂、根公面 1195;§89。上一版 0.80.1 = **patch**:去键重发判据句按「铸」计(CC-143;§87「带键的体恰一次」作废 → 被铸恰一次,POST 几次随传输层)+ 接入文档段落自带射程限定词自 §88 起向前执法 + 模型预设表 deepseek 项改闭集真名 deepseek-flash(CC-144,C-R82 ①)+ 门里 git 兜底自陈探针(CC-142);零 wire 键、零投影臂、根公面 1195;§88。上一版 0.80.0 = **minor**:🔴 peer sdk 地板 >=11.2.1 → >=11.3.0 + 策略拒的归因上 wire(CC-133:发送面 deny+policy 带 settledBy / 读侧 policy_refused 十三词入 CC 规则桶 / 三错误码读口 / 直连门去键重发恰一次)+ 删除规则后果句归包(CC-132)+ /mcp 详情卡两腿分说归包(CC-134:六档读口 + 九句铸点,同批改口八处说满的话)+ 🔴 终帧旧拼法 `structuredOutput` 按 0.79.1 的宣告删除(只剩 CC 形 `structured_output`);根公面 1195;§87。上一版 0.79.1 = **patch**:终帧结构化产出同帧铸 CC 形 `structured_output`(旧拼法 `structuredOutput` 过渡一版,0.80.0 删;CC-130)+ 写审批 `argsOmitted` 退化卡在无受护写入部署形上重新解得出路径(CC-129)+ 云控制面十值二型经本包第二个入口 `@sema-agent/client-core/registry` 原样转口(根入口零变;CC-128 ①);根公面 1184;§86。上一版 0.79.0 = **minor**:server 7.93.0 过境批 —— peer sdk 地板 >=11.2.1 + 写口回执第六臂 unverified 与 503 体 committed 分臂(CC-124)+ 无 run 可读的 MCP 状态面(CC-74)+ 审批卡 mandated 位(CC-110)+ 请求装配第三车道 utility 与 approverPosture / maxTokens / outputRetries 三键 + print 车道 model 座(CC-116 / 118 / 123)+ 拒因两面分铸与四个机读位(CC-125)+ 模型轮边界划消息界(CC-126)+ 委派结果人类面读口按来源声明体内定位(CC-127)+ sdk 转口三件(CC-128)+ 通告码 memory.project_scope_absent(CC-122);公面 1184;§85。上一版 0.78.2 = **patch**:门的棘轮登记数字单真源 —— 五只门十一格棘轮 + 218 条沿革账搬进 scripts/registry.json、门只读不抄、负控改篡改登记物、下调通道 RATCHET-SLACK、新门 run-registry-test(CC-79 第一期)+ 两格存量松量收掉 + submit-wiring-manifest 门补 count===1 边界格;src 零改动,dist 逐字节同 0.78.1;公面 1154;§84。上一版 0.78.1 = **patch**:两辆并行车收货 + 三张跟进票 —— displayBody 人类面读口 + 围栏解析头尾配对收紧(CC-113)/ MCP 两处「没报」措辞分句(CC-115)/ 记忆治理面五动词调用口(CC-97 b)/ 非流式提交回执接线回执读口 readSubmitWiringManifest(CC-121)/ 三份失败判官抛出物读取收口(CC-119);公面 1154;§83。上一版 0.78.0 = **minor**:peer sdk 地板 >=9.8.1 → >=11.0.1(CC-106)+ 单步写口 200 体按 stillLive 判别联合改读、第五臂 revoked、三型取自 sdk、RulesFacade.write 必填、PersistedRuleLiveness 转口(CC-103)+ DeniedBy 第十词 read_boundary 专句(CC-106 ④)+ excludeAllTools 车道行;型面 BREAKING 三处、行为面同 0.77.2;公面 1143;§82。上一版 0.77.2 = **patch**:出包面结构卫生 —— 构建期 removeComments,dist js / d.ts 零注释(新门 run-dist-comments-test.mjs + 卫生门词表 32 条 + 文档向前执法;CC-100)+ gateDeniedByDetail 表外词兜底句改「本版不认识这个层名」(CC-111 ①);行为 / 型面逐字节同 0.77.1;公面 1143;§81。上一版 0.77.1 = **patch**:外部验收三件回填 —— 读器族边界残留 projectMcpReconnectCapability 只认自有键(CC-107)/ rewind 四子键恰读一次(CC-108)/ 子代输出合并按回体 output.type · retrieval_status 定处置(CC-109,server ≥7.92.0 cursorSemantics 缺席面);型面 additive 一处;公面 1143;§80。上一版 0.77.0 = **minor**:请求装配逐键去向回执 + print 车道补座 + 表外键响亮拒(CC-101,四条行为 BREAKING)/ 会话策略写端口(CC-105)/ 持久规则单步写面(CC-103)/ workflow 子代面板行代际三向恢复(CC-104,零改码)/ 能力位读器族口径整族改齐 + 外部验收 F-A / F-B 处置 + 合并树异源复审两轮处置;公面 1143;§79。上一版 0.76.2 = **patch**:制品卫生 —— 清 dist 重 build 去掉两只已撤出源码的编译产物 + dist ⇄ src 对账门;零源码 / 零型面 / 零行为改动;公面 1122;§78。上一版 0.76.1 = **patch**:能力位读器工厂(CC-75)/ MCP 活性观察读口(CC-36)/ `capabilities.peerLane` · `permissionRulesWrite` 四态读口(CC-102)/ 记忆治理面两只读口 + 三只条目面回体读口(CC-97 a)/ 主车道证明逐次新建(CC-99)+ 修 0.76.0 的 F1 / F2(身份四键一次性快照只修了投影口一侧);公面 1122;§77。上一版 0.76.0 = **minor**:六票一批 —— `prompt_assembled` 投影臂 / 审批 feed 三态(**型面 BREAKING**)/ `ApprovalResolution` 单源联合 / 记忆 spec 读口 / 终态词表上游钉 / `tasks_expand` 退役(**型面 BREAKING**),外加身份四键一次性快照(跨全部内部臂);公面 1081;§76。上一版 0.75.1 = **patch**:面板短命子代反序缓行放不出的残洞(外部复验 D1)+ 同代 running 帧三向定形(B4)+ #969 提货 `spawnName` 透传与 `agentType` 改读诚实来源(CC-95);§75。上一版 0.75.0 = **minor**:压缩的非 compacted 结局上 chrome 面 `compaction_outcome`(新内部臂 —— 自建 print 出口的端先表态)+ peer sdk 地板 `>=9.8.1`;型面 additive(ChromeEvent +1 臂)、公面 1065、零 wire 新键;§74。上一版 0.74.5 = **patch**:core 7.24.0 提货 `_sema_freed_tokens?` + 首见即终态的行零事件(幽灵完成行)+ `isNewEngineAgentPanelCycle` / `approvalOutcomeNoteOf` 上公面;型面 additive、公面 1065、peer 不动;§73。上一版 0.74.4 = **patch**:面板键「先发布的键为准」(tick 归不了一的三序不再两行)+ 前代 UUID 迟到 tick 丢弃 + `readRunCancelContext` 下钻收紧;型面 additive、公面 1061、peer 不动;§72。上一版 0.74.3 = **patch**:面板子代身份归一(tick / end 的 UUID 归到 fleet 尾段,宿主零改)+ run 记录 `cancelContext` 读口与成因四词 + workflow 行 `errorCode` + reopen 第二臂两件;型面纯 additive、公面 1061、peer 不动;§71。上一版 0.74.2 = **patch**:`capabilities.deviceExecutor.management` 四态读口(缺席 ≠ false;`deviceExecutor: false` = 车道缺席;管理动词可用性三态归包);公面 1052;§70。上一版 0.74.1 = **patch**:审批卡无决断收口 + 结局回交;§69。上一版 0.74.0 = **minor**:peer sdk 地板 >=9.7.1 + covers 过境 + 面板周期身份 + 离场读口;§68。上一版 0.73.5 = **patch**:workflow 规模告警判定上收进包(`evaluateWorkflowSize` 三态:未知的规模不当作规模正常;分母口径与帽优先级单源;env 读口纯函数);型面纯 additive、公面 1044、peer 不动;§67。上一版 0.73.4 = **patch**:终帧 `permission_denials` 第三键 ⇐ 同一条流 `tool_start` 入参按 `toolCallId` join(三道闸;join 不上留 sema 载体;🔴 更正 0.73.2「自动升级收口」一句)+ 审批 feed push 侧取件失败的欠账退避重试;型面纯 additive、公面 1033、peer 不动;§66。上一版 0.73.3 = **patch**:CC-61 sdk 9.7.1 提货 + `capabilities.approvalsStreamLive` 四态读口(缺席 = 判不出;`livePendingNeedsReconcile` 只在引擎明说会推时才让对账节拍降兜底)+ CC-60 五条模型面文案锚包侧半场(cursorSemantics 机读位 / result 行注记 / bash 首行两变体与良性槽 / 通知 seed 并集 / parked 臂);型面纯 additive、公面 1032、peer 不动;§65。上一版 0.73.2 = **patch**:CC-59 悬挂 ask 全卡 —— `livePending[].frame`(server ≥7.87.0)两道闸窄读进视图,在场即走流内帧腿同一条路(入参可见、改写可转发),缺席保持盲卡;CC-34 收口(引擎半场随 7.87.0 到货,判据交黑盒);型面纯 additive、公面 1026、peer 不动;§64。上一版 0.73.1 = **patch**:CC-57 `decidePlanReview` outcome 尾句按「决断有没有生效」四态选(单铸点 `planReviewOutcomeTail`;此前本地拒发仍让模型汇报已拒绝)+ CC-56 cancel 的 409 按机器码分家(`cancelConflictFromError` 三形 / 新安全码 `cancel_run_not_running`)与提交面 429 用量窗读口 + 人话;型面纯 additive、公面 1026、peer 不动;§63。上一版 0.73.0 = **minor,型面 BREAKING**:fleet 视图八个数值键改可选 —— CC-52 `FleetTaskView.elapsedMs` / `tokens` / `queuedCount` 与 `FleetWorkflowView.doneCount` / `totalCount` / `failedCount` / `tokens` / `elapsedMs` 不再 `?? 0`(有键 = 真值含真 0,缺键 = 不知道;逐键缺席语义见 §62b)+ 台账补偿链无基数不铸;公面导出名零增减 1019、零 wire 变化、peer 不动;§62。上一版 0.72.14 = **patch**:悬挂的流内 ask 拉半场 —— CC-55 `startApprovalsFeed` 快照加 `livePending` 段并进变化摘要(键缺席 = 未报,不铸空)+ 视图 / 去重账 / 与流内帧腿同链的决断口(入参不可见上卡明说、改写不转发)+ 宿主闸对账节拍 + 待决计数读口(不知道 = null);型面纯 additive、公面 1019、peer 不动;§61。上一版 0.72.13 = **patch**:server 7.86.0 提货 —— CC-46 plan_review `permissionModeAfter` 发口(三选卡双闸:宿主声明只读起步 ∧ 引擎 ≥7.86.0;400 field_conflict 两种处置)+ CC-54 `capabilities.executionLane` 四态读面(键缺席 ≠ 不是本机车道;`toolsRunHere` 判据归包)+ CC-53 detach 版本闸三态;型面 additive(另撤回 0.72.12 的主通道 `absent` 臂,改独立缺席订阅口)、公面 1011、peer 不动;§60;**预告 0.73.0 BREAKING**:fleet 视图数值键改可选。上一版 0.72.12 = **patch**:「缺席被折成正向终态」按类清剿 —— CC-50 M1 头条(fleet 行缺席改发 `absent` 不再铸 `end{isError:false}`)+ 六站一次改齐(缺席 ⇒ `unknown`)+ 结果边界 fail-closed 取舍 + `_sema_outcome` + `Outcome unknown:` 行 + CC-51 M6(default 臂不再谎报 running)+ 普查门 + DS-06;型面 additive、公面 993、peer 不动;行为面三处真变化见 CHANGELOG 取舍段;§59。上一版 0.72.11 = **patch**:core 7.23.0 提货 —— CC-49 通告码 66 → 67 `config.write_protection_unresolved`(operator;兄弟码 `target_view_absent` = 没有视图,这枚 = 有视图解析不出)+ `permission_denials` 自动升级腿通电(`gates[].toolCallId` ⇒ `tool_use_id`;CC-34 引擎半场);型面零变化、公面 989、peer 不动、devDep core ~7.23.0;§58。上一版 0.72.10 = **patch**:CC-41 leader run 终局 `needs_human` + `result.conflict` 三形读面(none 缺席不可分 / unreadable 在场读不懂 / conflict;`salvaged[]` 原样给落盘口;措辞单源不提重试);型面纯 additive、公面 989、peer 不动;§57。上一版 0.72.9 = **patch**:server 7.85.0 提货 —— CC-30 会话内 MCP re-dial 消费口(`reconnectMcpServer` 三态 / unsupported 恒五键 / 交易文案单源)+ CC-39② memory-status `autoConsolidationArmed` 三态 + CC-45 resume 补充句渲保留秒数;型面纯 additive、公面 985、peer 不动;§56。上一版 0.72.8 = **patch**:清账三票 —— `memory:"off"` 请求键(CC-39③,server 7.84.0 S-405)+ `runStream` 第二条中性臂 `Model output error:`(CC-43)+ 注入件撞活 run 自动 steer 零卡(CC-44);型面纯 additive、公面 977、peer 不动;§55。上一版 0.72.7 = **patch**:core 7.22.0 提货 —— 通告码 66 `mcp.server_redialed` + 读器 `readMcpServerRedialed` + `wiring_manifest.readDeny` 第九段 `_sema_readDeny`(缺席 = 没有内置行判这条腿);型面纯 additive、公面 971、peer 不动、devDep core ~7.22.0;§54。上一版 0.72.6 = **patch**:cli L-379 包侧半场 —— `steerFollowIntent` steer 后续听意图三态(tail / after-decision / after-wake)+ `activeRunSelfHealRow` 续听声明第五参;型面纯 additive、公面 969、peer 不动;§53。上一版 0.72.5 = **patch**:server 7.82.1 提货 —— `capabilities.webSearch.backend` 部署默认 WebSearch 后端四态读面(键缺席 = 老引擎判不了 ≠ `none`);型面纯 additive、公面 968、peer 不动;§52。上一版 0.72.4 = **patch**:core 7.21.x 三件经 server 7.82.0 提货 —— `wiring_manifest.autoConsolidation` 第八段 `_sema_autoConsolidation`(缺席 = indeterminate 不折 false);型面纯 additive、公面 962、peer 不动;§51。上一版 0.72.3 = **patch**:core #863 记忆单系统半场 ① —— `projectAgentsForWire` 投影 `agents[].memory`(user|project|local 三词同映射引擎平面 agent:<type>);型面纯 additive、公面 962、零 wire 新键、peer 不动;§50。上一版 0.72.2 = **patch**:workflow 视图两票 —— `LiveWorkflowController.resolution()` 六态(snapshot() 的 null 三义拆开)+ `noteOwnWorkflowRun` own 台账同拍登记;型面纯 additive、公面 961、零 wire 键、peer 不动;§49。上一版 0.72.1 = **patch**:server 7.80.1 提货 —— 409 `conflict.resume_context_unavailable` 结构读数(`staleAfterSec` / `runId`;sdk 9.6.0 尚未带键,经 sdk 今天恒缺席)+ `SkillSpec.baseDir`(只在本机车道带);型面纯 additive、公面 960、peer 不动;§48。上一版 0.72.0 = **minor**:型面 BREAKING —— 39 个零消费导出退出公面(CC-32 退役批,[7419] §45 预告 / cli [7422] 同意 / web-client·desktop 过节拍沉默 = 同意;名单见 §47a S-1);运行期零 BREAKING、公面 956、peer 不动、devDep core ~7.20.1;随批:已退役名账 `removed` + export-liveness 门 G 段 + 冻结账门 ⑧c;§47。上一版 0.71.4 = **patch**:core 7.20.1 提货 —— `ENGINE_NOTICE_CODES` 65 + `wiring_manifest.writeProtection` 第七段 `_sema_writeProtection`;型面纯 additive、公面 995、peer 不动、devDep core `~7.20.1`;§46。上一版 0.71.3 = **patch**:门体系清账批 —— CC-24 export-liveness 门 + 39 个导出退役预告(0.72.0 删,表态制)/ CC-26 `as unknown as` 铸链棘轮 / CC-25 冻结账门 ⑧ 段 / CC-06 B-081 包侧半场(终帧 `_sema_effective_reasoning` / `_sema_effective_memory_scopes` + resume reopen 族 + `routePairingVerdict`);型面纯 additive、公面 986 → 995、peer 不动;§45。上一版 0.71.2 = **patch**:接入方验收两票归包 —— CC-28 B-132 decide 拒体三句去内部车道词 / CC-29 B-133 committedUuids 唯一性(重复 ⇒ 形 f);零型面变化、公面 986、peer 不动;§44。上一版 0.71.1 = **patch**:接入档打回修正 —— CC-27 `ApprovalCardRequest.readRootCandidate?` 帧→卡透传位 + 新导出型 `ReadRootCandidateView`;型面纯 additive、公面 986 不变、peer 不动;§43。上一版 0.71.0 = **minor**:型面 BREAKING 六件 —— peer sdk 地板 >=9.6.0 + agent-types >=0.3.0 / `SkillsListingTruncatedFactsView` 删 `requestedBudgetBytes?`·`laneClamped?` / `WiringManifestMcpEntry` → `WiringManifestMcpEntryView` / `MAX_AGENT_SKILLS` 删 / `decide.workflow_host_not_parked` 退役;运行期零 BREAKING。内容:core 7.20.0 提货(闭集 +5 六十四码)/ 🔴 CC-16 `text_segment_end.committedUuids[]` / CC-08 全五件(tool_disclosure / tool_progress 两 chrome 臂、wiring_manifest tools·hooks·lsp 进切片、tool_roster_delta 接上、context_usage 进切片、`readRootCandidate` 镜像)/ CC-19 `mcpEngineLegPresence` 归包 / CC-20 not_parked clean-cut;公面 986;§42 / 42y 八条)|
23
+ | peer:wire 契约 | `@sema-agent/sdk` **>=12.0.1**(value-level,非 type-only;**0.84.0 抬版**:12.x 声明每会话后台登记列表 `sessions.background`、能力位 `capabilities.background.listFace` 与七词闭集的后台状态型,本包三者都读(登记读口的端点门与归类口的编译期穷举),按 12.0.1 编译,11.3.0 失去物料见证;0.84.1 / 0.85.0 / 0.85.1 / 0.85.2 / 0.86.0 / 0.87.0 / 0.88.0 不动(0.86.0:sdk 14 的三处型面 BREAKING 本包已按结构读覆盖,本版 `.d.ts` 在 sdk 12.0.1 / 13.1.0 / 14.0.0 / 15.0.0 下严格编译零错误,§112y)。此前 **0.80.0 曾抬到 >=11.3.0**:11.3.0 在两条回决口体上声明 `settledBy?: "policy"`、`Settlement.kind` 第十三词 `policy_refused` 与三错误码(0.80.0 至 0.83.6 都在这条地板上);**0.79.0 曾抬到 >=11.2.1**:11.2.x 声明 `capabilities.mcpProbe`、`mcpCapabilities` / `probeMcp` + `McpProbeFace`、写回执第三支 `stillLive: "unknown"`,11.2.1 再补 `TaskRequest.approverPosture` 与审批帧键 `mandated`(型面 + 运行期键锚),本包按 11.2.1 编译,11.0.1 失去物料见证;**0.78.0 曾抬到 >=11.0.1**:11.x 声明 `DeniedBy` 第十词 `read_boundary`、`rules.write` 200 体按 `stillLive` 判别联合、`RemovalLiveness` / `RuleWriteRequest` / `RuleWriteResult` / `RuleWriteBehavior` 包根导出、`TaskRequest.excludeAllTools`,本包按 11.0.1 编译,9.8.1 失去物料见证;**0.75.0 曾抬到 >=9.8.1**:9.8.x 声明 `Capabilities.deviceExecutor.management?`,9.7.1 失去物料见证;**0.74.0 曾抬到 >=9.7.1**:9.7.x 追平的六处型面是本包 0.73.3 起的编译基线,且 9.6.0 失去物料见证;**0.71.0 曾抬到 >=9.6.0**:`tool_disclosure` / `tool_progress` 两帧型与 `ToolApprovalFrame.readRootCandidate` 自 9.6.0 起;0.69.0 曾抬到 >=9.4.0(`reasoning_end` / `lastLegMcp`),0.60.0 抬到 >=8.4.0;地板由 `scripts/run-sdk-floor-test.mjs` 的 `FLOOR` 与 public-surface 门 C-CC-3「不低于见证到的最低实装版」双钉)| `package.json` `peerDependencies` |
24
24
  | peer:会话词汇表 | `@sema-agent/agent-types` **>=0.3.0**(type-only,零运行时;0.71.0 抬版:devDep 与 peer 同步,type-superset 门 ④ 撞名预警对着 0.3.0 的 .d.ts 求值) | 同上 |
25
25
  | runtime dep | `diff` ^9.0.0(**唯一**一条;portability 门按**等值**钉死) | `package.json` `dependencies` |
26
- | 公开导出面 | **1356** 个运行期符号(+ **62 个测试钩,两种拼法**:38 个 `__*ForTests` + 24 个单下划线开头(22 个 `_*ForTest` + `_resetLiveQuestionStore` / `_resetUltracodePreset`) —— 两种都在 `public-export-baseline.json` 的 `testHookNames` 里、各自受棘轮管,**不在** `names` 的 1356 里。运行期 `Object.keys(dist/index.js)` 的全量 = 1356 + 62 = **1418**;只剔双下划线那 38 个会多数出 24 个来,那不是棘轮盲区;最简单的剔法是去掉所有以 `_` 开头的名字(公面运行期名没有一个以 `_` 开头);= 下一版(未发布)的值:相对 0.75.1 **+16**,两票合计 —— **CC-77 ①** 审批决断结局单源判别联合 6 件:`approvalResolutionOf` / `isApprovalDecided` / `approvalNotSentCause` / `approvalUnsettledCause` + 两张 cause 词表 `APPROVAL_NOT_SENT_CAUSES` / `APPROVAL_UNSETTLED_CAUSES`(域 3);**CC-96** 记忆 spec 读面 10 件:`readAgentMemorySpec` / `unknownMemorySpecKeys` / `unknownMemorySpecKeysNote` / `memoryConfigRefusalNoteOf` / `KNOWN_AGENT_MEMORY_SPEC_KEYS` / `PENDING_MEMORY_SPEC_KEYS` / `MAX_UNKNOWN_MEMORY_SPEC_KEYS` / `CONFIG_MEMORY_PROJECT_KEY_SPELLING` / `CONFIG_MEMORY_WRITE_SCOPE_MISMATCH` + 判别形型(域 6 / 16)。CC-89 / CC-91 / CC-92 / CC-98 四票**零值导出增减**(新臂走 `ChromeEvent` 联合与内部臂表,`tasks_expand` 退役删的是联合成员不是导出名);1065 = 0.74.5 / 0.75.0 / 0.75.1 的值:相对 0.74.4 +4 —— `isNewEngineAgentPanelCycle`(CC-87,域 4)+ `approvalOutcomeNoteOf` 与两句固定文案常量(CC-88,域 3);1065 = 0.74.5 / 0.75.0 的值:相对 0.74.4 +4 —— `isNewEngineAgentPanelCycle`(CC-87,域 4)+ `approvalOutcomeNoteOf` 与两句固定文案常量(CC-88,域 3);1061 = 0.74.3 / 0.74.4 的值:相对 0.74.2 +9 —— CC-70 / CC-71 / CC-72 / CC-73 八件 + CC-80 `lastFlagValue`,见 §2b 域 3 / 4 / 10 / 15;1052 = 0.74.2 的值:相对 0.74.1 +6 —— CC-69 六件,见 §2b 域 9;1046 = 0.74.1 的值:相对 0.74.0 +1 —— `RETRACTED_CARD_DECISION_KIND`,见 §2b 域 3;1045 = 0.74.0 的值:相对 0.73.5 +1 —— `isStaleEngineAgentPanelEnd`,见 §2b 域 4;1044 = 0.73.5 的值:相对 0.73.4 +11 —— CC-58 规模告警十一件,名单见 §2b 域 12;1033 = 0.73.4 的值:相对 0.73.3 +1 —— `TOOL_INPUT_JOIN_MAX_CALLS`,见 §2b 域 1;1032 = 0.73.3 的值:相对 0.73.2 +6 —— CC-61 六件,名单见 §2b 域 9;1026 = 0.73.2 的值(导出名零增减);= 0.73.1 的值:相对 0.73.0 +7 —— CC-56 六件 / CC-57 一件,名单见 §2b 域 3 / 15;1019 = 0.73.0 的值(导出名零增减,BREAKING 在类型面);= 0.72.14 的值:相对 0.72.13 +8 —— CC-55 八件,名单见 §2b 域 3;1011 = 0.72.13 的值:相对 0.72.12 +18 —— CC-46 八件 / CC-54 六件 / CC-53 两件 / CC-50 缺席口两件,名单见 §2b 域 3 / 4 / 9 / 10;993 = 0.72.12 的值(测试钩 45):相对 0.72.11 +4 —— CC-50 `OUTCOME_UNKNOWN_ROW_PREFIX` / `isOutcomeUnknownRowText` / `TASK_NOTIFICATION_TERMINAL_STATUSES` / `isTaskNotificationTerminalStatus`;989 = 0.72.10 的值:相对 0.72.9 +4 —— CC-41 `LEADER_RUN_STATUSES` / `LEADER_REJ_HEAD_DISPLAY_MAX` / `projectLeaderConflict` / `leaderConflictDetail`;985 = 0.72.9 的值:相对 0.72.8 +8 —— CC-30 `MCP_RECONNECT_OUTCOMES` / `MCP_RECONNECT_TRANSACTION_NOTICE` / `projectMcpReconnectResult` / `classifyMcpReconnectFailure` / `reconnectMcpServer` / `projectMcpReconnectCapability` / `mcpReconnectOutcomeDetail`、CC-39② `readAutoConsolidationArmed`;977 = 0.72.8 的值:相对 0.72.7 +6 —— CC-39③ `MEMORY_OFF` / `memoryOffDeclarationField` / `memoryOffDeclared`、CC-43 `MODEL_OUTPUT_ERROR_PREFIX` / `isModelOutputErrorText` / `isModelOutputErrorRowText`;971 = 0.72.7 的值:相对 0.72.6 +2 —— CC-42 core 7.22.0 提货 `MCP_REDIAL_OUTCOMES` / `readMcpServerRedialed`;969 = 0.72.6 的值:相对 0.72.5 +1 —— CC-40 `steerFollowIntent`;968 = 0.72.5 的值:相对 0.72.4 +6 —— CC-31 server 7.82.1 提货 `capabilities.webSearch.backend` 四态读面:`WEB_SEARCH_BACKEND_NONE` / `projectWebSearchBackendCapability` / `observedWebSearchBackend` / `noteEngineCapsForWebSearchBackend` / `forgetWebSearchBackendReading` / `webSearchBackendDoctorDetail`;962 = 0.72.3 的值:相对 0.72.2 +1 —— CC-39① `AGENT_MEMORY_WORDS`;0.72.2 相对 0.72.1 +1 —— CC-37 `noteOwnWorkflowRun`;0.72.1 相对 0.72.0 +4 —— CC-33 server 7.80.1 提货:`RESUME_CONTEXT_UNAVAILABLE` / `resumeContextUnavailableFromError` / `resumeContextUnavailableContent` / `skillBaseDirOf`;0.72.0 相对 0.71.4 −39 —— CC-32 退役批删 export-liveness 登记 retire 的 39 个零消费导出(23 常量 + 16 函数,名单见 §47);995 = 0.71.3 的值:相对 0.71.2 +9 —— CC-06 `readEffectiveReasoning` / `readEffectiveMemoryScopes` / `resumeReopenFromError` / `resumeReopenContent` / `routePairingVerdict` 五函数 + `RESUME_REOPEN_CODES` / `RESUME_ENV_FAILED` / `RESUME_TOOL_UNAVAILABLE` / `RESUME_TOOL_CONTRACT_MISMATCH` 四常量;986 = 0.71.0 的值:相对 0.70.2 −`MAX_AGENT_SKILLS` −`DECIDE_WORKFLOW_HOST_NOT_PARKED` +`projectToolRosterDelta` +`mcpEngineLegPresence`;986 = 0.70.0 的值:相对 0.69.2 **一件 additive(`readSkillsListingTruncated`,§39)、零删除**;985 = 0.69.2 的值:相对 0.69.1 **三件 additive、零删除**(CC-13 `isSubFlowSegmentEnd` / `SEGMENT_END_IDENTITY_KEYS` / `droppedWhySentence`,§38);982 = 0.69.0 未发布版的值(原排 0.68.3,因 peer 地板抬升改 minor)= 相对 0.68.2 **十七件 additive、零删除**:`fetchMcpPanel`(CC-03 补件,§36e)+ `readWorkflowResumeAdmissionIncomplete`(CC-05 core 7.18.0 #755)+ `installCoreValuePorts`/`hasCoreValuePorts`/`hasCoreValuePort`/`coreValuePortMisses`/`CORE_VALUE_PORT_NAMES` + 十读口(CC-07 core 值级端口,§36d);0.68.2 相对 0.68.1 十三件 additive:`SEMA_SEGMENT_ID_KEY`(CC-01 段身份键,§35f)/ `projectMcpPanel`+`mcpPanelLastLegDetail`+`projectMcpSection`(CC-03 `/mcp` 面板读视图,§35g)/ `resolveTextSegmentAuthority`/`createTextSegmentLedger`(L-318 `text_end` 权威段替换的判决单源 + print 形段账,详见 §35b/§35c)/ `memoryCaptureDeclarationField`/`MEMORY_CAPTURE_OFF`(L-316 会话级隐私声明的字面唯一铸点,§35d)/ `engineUrl`/`probeHealth`(L-61 件④ SDK 纯工具面原样转口,§35d)/ `AgentClient`/`isApprovalRequestFrameV1`/`isApprovalRevokeFrameV1`(L-61 存量清零:SDK **wire 面**原样转口,§35e)。`0.68.1`/`0.68.0` 是 **952**,那批是相对 0.67.2 **二十件 additive、🔴 两件删除(BREAKING)**:additive = `TERMINAL_CAUSE_KINDS`/`isTerminalCauseKind`/`RUN_TERMINAL_NOT_SUCCESS_STATUSES`/`RUN_TERMINAL_STATUSES`(L-247 终态词两表分源,详见 §33b)/ `SEMA_SUBAGENT_USAGE_PARTIAL_KEY`/`subagentUsageIsPartial`(L-244 子代下界位自有名,§33g)/ `ASK_UNRESOLVABLE_CAUSES`/`readAskUnresolvable`/`DURABLE_MANDATE_SOURCES`/`readDurableGateUnavailable`(core 7.17.0 #709 ①② 两只通告事实窄读器,§33c)/ `WORKFLOW_PARK_TRUTH_UNREADABLE`/`WORKFLOW_PARK_NOT_PENDING`/`WORKFLOW_PARK_BINDING_BROKEN`/`WORKFLOW_PARK_REQUIRES_RUN_STORE`(四个单码常量 🔧 0.72.0 退役)/`WORKFLOW_PARK_REFUSAL_CODES`/`isWorkflowParkRefusalCode`/`readWorkflowParks`(core 7.17.0 #652 park 真相四码 + parks 三键读器,§33d)/ `ENGINE_STOP_REASONS`/`engineStopReasonToCc`(L-246 A13 停止原词映射下沉,§33g)/ `readCancelRequested`(L-230 读面,§33f);🔴 **删除两件** `TERMINAL_NOT_SUCCESS_STATUSES`/`TERMINAL_STATUSES`(随 L-247 两表分源更名成 `RUN_TERMINAL_*`,clean-cut **不留别名** —— 留一个别名等于让端可以继续按合起来的那张表读,分源就白做了,详见 §33b)。`0.67.0` 是 **934**,那批是相对 0.66.0 **七件 additive、🔴 两件删除**:additive = `CLASSIFIER_DENY_CAUSES`/`isClassifierDenyCause`/`classifierDenyCauseOf`/`classifierDenyCauseDetail`(core 7.14.0 退役 `classifierUnavailable` 之后的**拒绝面**继任读器与措辞,详见 §32b)/ `RULE_STORE_UNREADABLE_KINDS`/`isRuleStoreUnreadableKind`/`ruleStoreUnreadableDetail`(core 7.14.0 #688 C3 的规则店机制位三件,详见 §32d);🔴 **删除两件** `classifierUnavailableOf`/`classifierUnavailableDetail`(随 core 7.14.0 的 Retired keys 表整族退役,clean-cut 不留别名,详见 §32b;同批删的还有**型** `ClassifierUnavailableView`、卡位与帧位 `classifierUnavailable`、以及一条恒真的型面钉 `_askOriginWordsPin`)。`0.66.0` 是 **929**,那批是一件 additive、零删除:`readRunCostFacts`(终局成本事实的唯一读器:`costBreakdown` / `nested` 窄读 + 对账三段与两个判别位,终帧超集键与 chrome 对账臂共用它;详见 §31c);已发的 **0.65.x 十一件 additive、两件删除**:additive = `DECIDE_WORKFLOW_HOST_UNKNOWN`/`DECIDE_WORKFLOW_HOST_NOT_PARKED`/`DECIDE_WORKFLOW_REMEMBER_UNSUPPORTED`/`DECIDE_WORKFLOW_LANE_CODES`/`readDecideReceipt`/`decideAcceptedNotResolved`/`decideRefusalFromError`(B-070 `/decide` 回执读面与三码人话,详见 §30h)/ `TERMINAL_NOT_SUCCESS_STATUSES`/`isTerminalNotSuccess`/`TERMINAL_STATUSES`/`isTerminalStatus`(L-215② 终局词汇单铸谓词,详见 §30j);🔴 **删除两件** `AUTO_MODE_BREAKER_CAUSES`/`classifierBreakerOf`(熔断族随 core 7.12.0 的 Removed(BREAKING) 整只退役,clean-cut 不留别名,详见 §30k②;同批删的还有**型** `ClassifierBreakerView` 与 `ClassifierStatusView.breaker` 一位)。`0.64.2` 是 **919**,那批是一件 additive、零删除:`readDenialLimitFallback`(限额回落卡的窄读器上公面,壳侧同判据副本退役,详见 §29③);`0.64.0` 是 **918**,那批是件①+件② 十三件 additive、零删除:`CLASSIFIER_STATUS_STATES`/`classifierBreakerOf`/`classifierStatusOf`/`classifierStatusDetail`(分类器状态面,详见 §28②)/ `THINKING_FORMATS`/`THINKING_FORMAT_WIRE_TWINS`/`THINKING_DISABLE_PROBE_ORDER`/`MODEL_PROBE_VERDICTS`/`PROBE_PROMPT`/`PROBE_MAX_TOKENS`(两个探针常量 🔧 0.72.0 退役)/`probeRequestBody`/`probeModelCapability`/`applyProbeToEntry`(模型思考能力探测,详见 §28①);`0.63.0` 是 **905**,那批是八件 additive、零删除:`projectServerGateKnobs`/`postureKnobSourceOf`/`postureSourceIsOperatorPinned`/`postureKnobDetail`/`POSTURE_SOURCE_WORDS`(S-178 三根 posture 旋钮读数,详见 §27b)/ `PERSISTED_RULE_BEHAVIORS`/`PERSISTED_RULE_BEHAVIOR_UNKNOWN`/`persistedRuleBehaviorOf`/`persistedRuleBehaviorLabel`/`revokeTargetFromPersistedRule`(三态规则身份,§27c)/ `engineIdentityOf`/`engineIdentityVerdict`/`engineIdentityChanged`/`engineIdentityChangedBy`/`ENGINE_IDENTITY_ANCHORS`(S-179 代际锚,§27d)/ `GATE_DENIED_BY_WORDS`/`gateDeniedByDetail`/`ASK_ORIGIN_WORDS`/`askOriginDetail`(门词汇 +2,§27e)/ `PERMISSION_RULE_ISSUE_CODES`/`RETIRED_PERMISSION_RULE_ISSUE_CODES`/`permissionRuleIssueDetail`(规则 lint 码表,§27f)/ `projectToolRoster`/`toolRosterNames`/`toolShimFromRoster`/`applyToolRosterDelta`(L-161 工具名册,§27g)/ `ENGINE_NOTICE_CODES`/`ENGINE_NOTICE_AUDIENCE`/`noticeAudienceOf`/`engineNoticeInCatalog`/`MCP_INJECTION_DROP_REASONS`/`readMcpInjectionDrop`(L-167 通告码册,§27h)/ `AUTO_MODE_UNAVAILABLE_CAUSES`/`AUTO_MODE_BREAKER_CAUSES`/`classifierUnavailableOf`/`classifierUnavailableDetail`(件⑧ 分类器不可用事实,§27h2);`0.62.0` 是 **869**,那批是五件 additive、**零删除**:`capForDisplay`(呈前消毒 + 封长的共用铸点,详见 §26⑦)/ `SEAT_SEND_MESSAGE_KEY_ORIGINS`(座位载荷逐键出身表,详见 §26③)/ `configureSubagentContentStore`+`subagentContentStoreConfig`+`SUBAGENT_CONTENT_STORE_DEFAULTS`(子代内容账本字节预算,测试钩 `__resetSubagentContentStoreConfigForTests` +1,详见 §26②);`0.61.0` 是 **864**,那批是三件 additive、**零删除**:`projectReadFacePosture`/`readFacePostureDetail`/`readFaceDisagreement`(S-167 READ 容纳面 operator 读器,详见 §25);`0.60.0` 是 **861**,那批是二十五件 additive、**零删除**:`readRunTerminal`/`runTerminalCode`/`runTerminalGateKind`/`runTerminalGateToolName`/`isReviewPark`/`REVIEW_PARK_GATE_KINDS` 六件终局因由读器 + `gateOutcomeOf`/`isDeniedGate`/`gateDeniedBy`/`gateApprover`/`isApprovalWindowExpiredGate`/`isDenialLimitAutoDeniedGate`/`isParkSlaExpiredGate`/`isHumanSettledGate` 八件门记录读器 + `projectWriteProtectionCapability`/`noteEngineCapsForWriteProtection`/`observedWriteProtection`/`forgetWriteProtectionReading`/`writeProtectionDoctorDetail`/`projectWriteProtectionPosture`/`writeProtectionPostureDetail` 七件写保护读面(测试钩 `__resetWriteProtectionReadingsForTests` +1)+ `readWireErrorCode` + 真机边界①的两件 `isGateParkedToolEnd`/`GATE_PARKED_ERROR_CODE` + 异源复审逼出的 `engineCapsGeneration`;`0.59.0` 是 **836**,那批是八件 additive:`RULE_OFFERS_ABSENCE_REASONS`/`DENIAL_LIMIT_KINDS`(后者 🔧 0.85.0 退出公面)两张闭词表再导出 + `engineCapValue` 能力位四态通用读口 + `projectSqlEngineCapability`/`observedSqlEngine`/`noteEngineCapsForSqlEngine`/`forgetSqlEngineReading`/`sqlEngineDoctorDetail` 五件 SQL 姿态读面(测试钩 `__resetSqlEngineReadingsForTests` +1);`0.58.0` 是 **828**,那批是三件 additive:`RULE_OFFER_MATCHES`/`RULE_OFFER_BATCH_MEMBER_KINDS`/`RULE_OFFER_UNCOVERED_REASONS` 三张闭词表再导出 + `RESUME_REFUSAL_CODES`/`RESUME_PLACEMENT_MISMATCH`/`resumeRefusalFromError`/`resumeRefusalContent` 四件文案铸点;`0.57.0` 是 **821**;`0.56.0`/`0.55.0` 是 **815**;已发 `0.54.0`(design/385 十件 additive 含 `AUTHORITY_ENVELOPE_TAGS` 🔧 0.72.0 退役);`0.52.0` 是 **805**(L-69⑨ 两件);`0.51.0` 是 **803**;`0.50.0` 是 **800**(S-81 五件);`0.49.0` 是 **795**;`0.48.0` 是 **794**;npm `0.47.0` 是 **790**,`0.46.0` 是 **787**,`0.44.0` 是 **783**,`0.43.1`/`0.43.0` 是 **776**,`0.42.0` 是 **771**,`0.41.0` 是 **767**,`0.39.0` 是 **766**,`0.38.0` 是 **764**;`0.37.0` 是 **753**,见 `CHANGELOG.md`) | `scripts/public-export-baseline.json` 的 `count` / `testHookCount` —— **别手抄进别处,以该文件为准** |
26
+ | 公开导出面 | **1372** 个运行期符号(+ **62 个测试钩,两种拼法**:38 个 `__*ForTests` + 24 个单下划线开头(22 个 `_*ForTest` + `_resetLiveQuestionStore` / `_resetUltracodePreset`) —— 两种都在 `public-export-baseline.json` 的 `testHookNames` 里、各自受棘轮管,**不在** `names` 的 1372 里。运行期 `Object.keys(dist/index.js)` 的全量 = 1372 + 62 = **1434**;只剔双下划线那 38 个会多数出 24 个来,那不是棘轮盲区;最简单的剔法是去掉所有以 `_` 开头的名字(公面运行期名没有一个以 `_` 开头);= 下一版(未发布)的值:相对 0.75.1 **+16**,两票合计 —— **CC-77 ①** 审批决断结局单源判别联合 6 件:`approvalResolutionOf` / `isApprovalDecided` / `approvalNotSentCause` / `approvalUnsettledCause` + 两张 cause 词表 `APPROVAL_NOT_SENT_CAUSES` / `APPROVAL_UNSETTLED_CAUSES`(域 3);**CC-96** 记忆 spec 读面 10 件:`readAgentMemorySpec` / `unknownMemorySpecKeys` / `unknownMemorySpecKeysNote` / `memoryConfigRefusalNoteOf` / `KNOWN_AGENT_MEMORY_SPEC_KEYS` / `PENDING_MEMORY_SPEC_KEYS` / `MAX_UNKNOWN_MEMORY_SPEC_KEYS` / `CONFIG_MEMORY_PROJECT_KEY_SPELLING` / `CONFIG_MEMORY_WRITE_SCOPE_MISMATCH` + 判别形型(域 6 / 16)。CC-89 / CC-91 / CC-92 / CC-98 四票**零值导出增减**(新臂走 `ChromeEvent` 联合与内部臂表,`tasks_expand` 退役删的是联合成员不是导出名);1065 = 0.74.5 / 0.75.0 / 0.75.1 的值:相对 0.74.4 +4 —— `isNewEngineAgentPanelCycle`(CC-87,域 4)+ `approvalOutcomeNoteOf` 与两句固定文案常量(CC-88,域 3);1065 = 0.74.5 / 0.75.0 的值:相对 0.74.4 +4 —— `isNewEngineAgentPanelCycle`(CC-87,域 4)+ `approvalOutcomeNoteOf` 与两句固定文案常量(CC-88,域 3);1061 = 0.74.3 / 0.74.4 的值:相对 0.74.2 +9 —— CC-70 / CC-71 / CC-72 / CC-73 八件 + CC-80 `lastFlagValue`,见 §2b 域 3 / 4 / 10 / 15;1052 = 0.74.2 的值:相对 0.74.1 +6 —— CC-69 六件,见 §2b 域 9;1046 = 0.74.1 的值:相对 0.74.0 +1 —— `RETRACTED_CARD_DECISION_KIND`,见 §2b 域 3;1045 = 0.74.0 的值:相对 0.73.5 +1 —— `isStaleEngineAgentPanelEnd`,见 §2b 域 4;1044 = 0.73.5 的值:相对 0.73.4 +11 —— CC-58 规模告警十一件,名单见 §2b 域 12;1033 = 0.73.4 的值:相对 0.73.3 +1 —— `TOOL_INPUT_JOIN_MAX_CALLS`,见 §2b 域 1;1032 = 0.73.3 的值:相对 0.73.2 +6 —— CC-61 六件,名单见 §2b 域 9;1026 = 0.73.2 的值(导出名零增减);= 0.73.1 的值:相对 0.73.0 +7 —— CC-56 六件 / CC-57 一件,名单见 §2b 域 3 / 15;1019 = 0.73.0 的值(导出名零增减,BREAKING 在类型面);= 0.72.14 的值:相对 0.72.13 +8 —— CC-55 八件,名单见 §2b 域 3;1011 = 0.72.13 的值:相对 0.72.12 +18 —— CC-46 八件 / CC-54 六件 / CC-53 两件 / CC-50 缺席口两件,名单见 §2b 域 3 / 4 / 9 / 10;993 = 0.72.12 的值(测试钩 45):相对 0.72.11 +4 —— CC-50 `OUTCOME_UNKNOWN_ROW_PREFIX` / `isOutcomeUnknownRowText` / `TASK_NOTIFICATION_TERMINAL_STATUSES` / `isTaskNotificationTerminalStatus`;989 = 0.72.10 的值:相对 0.72.9 +4 —— CC-41 `LEADER_RUN_STATUSES` / `LEADER_REJ_HEAD_DISPLAY_MAX` / `projectLeaderConflict` / `leaderConflictDetail`;985 = 0.72.9 的值:相对 0.72.8 +8 —— CC-30 `MCP_RECONNECT_OUTCOMES` / `MCP_RECONNECT_TRANSACTION_NOTICE` / `projectMcpReconnectResult` / `classifyMcpReconnectFailure` / `reconnectMcpServer` / `projectMcpReconnectCapability` / `mcpReconnectOutcomeDetail`、CC-39② `readAutoConsolidationArmed`;977 = 0.72.8 的值:相对 0.72.7 +6 —— CC-39③ `MEMORY_OFF` / `memoryOffDeclarationField` / `memoryOffDeclared`、CC-43 `MODEL_OUTPUT_ERROR_PREFIX` / `isModelOutputErrorText` / `isModelOutputErrorRowText`;971 = 0.72.7 的值:相对 0.72.6 +2 —— CC-42 core 7.22.0 提货 `MCP_REDIAL_OUTCOMES` / `readMcpServerRedialed`;969 = 0.72.6 的值:相对 0.72.5 +1 —— CC-40 `steerFollowIntent`;968 = 0.72.5 的值:相对 0.72.4 +6 —— CC-31 server 7.82.1 提货 `capabilities.webSearch.backend` 四态读面:`WEB_SEARCH_BACKEND_NONE` / `projectWebSearchBackendCapability` / `observedWebSearchBackend` / `noteEngineCapsForWebSearchBackend` / `forgetWebSearchBackendReading` / `webSearchBackendDoctorDetail`;962 = 0.72.3 的值:相对 0.72.2 +1 —— CC-39① `AGENT_MEMORY_WORDS`;0.72.2 相对 0.72.1 +1 —— CC-37 `noteOwnWorkflowRun`;0.72.1 相对 0.72.0 +4 —— CC-33 server 7.80.1 提货:`RESUME_CONTEXT_UNAVAILABLE` / `resumeContextUnavailableFromError` / `resumeContextUnavailableContent` / `skillBaseDirOf`;0.72.0 相对 0.71.4 −39 —— CC-32 退役批删 export-liveness 登记 retire 的 39 个零消费导出(23 常量 + 16 函数,名单见 §47);995 = 0.71.3 的值:相对 0.71.2 +9 —— CC-06 `readEffectiveReasoning` / `readEffectiveMemoryScopes` / `resumeReopenFromError` / `resumeReopenContent` / `routePairingVerdict` 五函数 + `RESUME_REOPEN_CODES` / `RESUME_ENV_FAILED` / `RESUME_TOOL_UNAVAILABLE` / `RESUME_TOOL_CONTRACT_MISMATCH` 四常量;986 = 0.71.0 的值:相对 0.70.2 −`MAX_AGENT_SKILLS` −`DECIDE_WORKFLOW_HOST_NOT_PARKED` +`projectToolRosterDelta` +`mcpEngineLegPresence`;986 = 0.70.0 的值:相对 0.69.2 **一件 additive(`readSkillsListingTruncated`,§39)、零删除**;985 = 0.69.2 的值:相对 0.69.1 **三件 additive、零删除**(CC-13 `isSubFlowSegmentEnd` / `SEGMENT_END_IDENTITY_KEYS` / `droppedWhySentence`,§38);982 = 0.69.0 未发布版的值(原排 0.68.3,因 peer 地板抬升改 minor)= 相对 0.68.2 **十七件 additive、零删除**:`fetchMcpPanel`(CC-03 补件,§36e)+ `readWorkflowResumeAdmissionIncomplete`(CC-05 core 7.18.0 #755)+ `installCoreValuePorts`/`hasCoreValuePorts`/`hasCoreValuePort`/`coreValuePortMisses`/`CORE_VALUE_PORT_NAMES` + 十读口(CC-07 core 值级端口,§36d);0.68.2 相对 0.68.1 十三件 additive:`SEMA_SEGMENT_ID_KEY`(CC-01 段身份键,§35f)/ `projectMcpPanel`+`mcpPanelLastLegDetail`+`projectMcpSection`(CC-03 `/mcp` 面板读视图,§35g)/ `resolveTextSegmentAuthority`/`createTextSegmentLedger`(L-318 `text_end` 权威段替换的判决单源 + print 形段账,详见 §35b/§35c)/ `memoryCaptureDeclarationField`/`MEMORY_CAPTURE_OFF`(L-316 会话级隐私声明的字面唯一铸点,§35d)/ `engineUrl`/`probeHealth`(L-61 件④ SDK 纯工具面原样转口,§35d)/ `AgentClient`/`isApprovalRequestFrameV1`/`isApprovalRevokeFrameV1`(L-61 存量清零:SDK **wire 面**原样转口,§35e)。`0.68.1`/`0.68.0` 是 **952**,那批是相对 0.67.2 **二十件 additive、🔴 两件删除(BREAKING)**:additive = `TERMINAL_CAUSE_KINDS`/`isTerminalCauseKind`/`RUN_TERMINAL_NOT_SUCCESS_STATUSES`/`RUN_TERMINAL_STATUSES`(L-247 终态词两表分源,详见 §33b)/ `SEMA_SUBAGENT_USAGE_PARTIAL_KEY`/`subagentUsageIsPartial`(L-244 子代下界位自有名,§33g)/ `ASK_UNRESOLVABLE_CAUSES`/`readAskUnresolvable`/`DURABLE_MANDATE_SOURCES`/`readDurableGateUnavailable`(core 7.17.0 #709 ①② 两只通告事实窄读器,§33c)/ `WORKFLOW_PARK_TRUTH_UNREADABLE`/`WORKFLOW_PARK_NOT_PENDING`/`WORKFLOW_PARK_BINDING_BROKEN`/`WORKFLOW_PARK_REQUIRES_RUN_STORE`(四个单码常量 🔧 0.72.0 退役)/`WORKFLOW_PARK_REFUSAL_CODES`/`isWorkflowParkRefusalCode`/`readWorkflowParks`(core 7.17.0 #652 park 真相四码 + parks 三键读器,§33d)/ `ENGINE_STOP_REASONS`/`engineStopReasonToCc`(L-246 A13 停止原词映射下沉,§33g)/ `readCancelRequested`(L-230 读面,§33f);🔴 **删除两件** `TERMINAL_NOT_SUCCESS_STATUSES`/`TERMINAL_STATUSES`(随 L-247 两表分源更名成 `RUN_TERMINAL_*`,clean-cut **不留别名** —— 留一个别名等于让端可以继续按合起来的那张表读,分源就白做了,详见 §33b)。`0.67.0` 是 **934**,那批是相对 0.66.0 **七件 additive、🔴 两件删除**:additive = `CLASSIFIER_DENY_CAUSES`/`isClassifierDenyCause`/`classifierDenyCauseOf`/`classifierDenyCauseDetail`(core 7.14.0 退役 `classifierUnavailable` 之后的**拒绝面**继任读器与措辞,详见 §32b)/ `RULE_STORE_UNREADABLE_KINDS`/`isRuleStoreUnreadableKind`/`ruleStoreUnreadableDetail`(core 7.14.0 #688 C3 的规则店机制位三件,详见 §32d);🔴 **删除两件** `classifierUnavailableOf`/`classifierUnavailableDetail`(随 core 7.14.0 的 Retired keys 表整族退役,clean-cut 不留别名,详见 §32b;同批删的还有**型** `ClassifierUnavailableView`、卡位与帧位 `classifierUnavailable`、以及一条恒真的型面钉 `_askOriginWordsPin`)。`0.66.0` 是 **929**,那批是一件 additive、零删除:`readRunCostFacts`(终局成本事实的唯一读器:`costBreakdown` / `nested` 窄读 + 对账三段与两个判别位,终帧超集键与 chrome 对账臂共用它;详见 §31c);已发的 **0.65.x 十一件 additive、两件删除**:additive = `DECIDE_WORKFLOW_HOST_UNKNOWN`/`DECIDE_WORKFLOW_HOST_NOT_PARKED`/`DECIDE_WORKFLOW_REMEMBER_UNSUPPORTED`/`DECIDE_WORKFLOW_LANE_CODES`/`readDecideReceipt`/`decideAcceptedNotResolved`/`decideRefusalFromError`(B-070 `/decide` 回执读面与三码人话,详见 §30h)/ `TERMINAL_NOT_SUCCESS_STATUSES`/`isTerminalNotSuccess`/`TERMINAL_STATUSES`/`isTerminalStatus`(L-215② 终局词汇单铸谓词,详见 §30j);🔴 **删除两件** `AUTO_MODE_BREAKER_CAUSES`/`classifierBreakerOf`(熔断族随 core 7.12.0 的 Removed(BREAKING) 整只退役,clean-cut 不留别名,详见 §30k②;同批删的还有**型** `ClassifierBreakerView` 与 `ClassifierStatusView.breaker` 一位)。`0.64.2` 是 **919**,那批是一件 additive、零删除:`readDenialLimitFallback`(限额回落卡的窄读器上公面,壳侧同判据副本退役,详见 §29③);`0.64.0` 是 **918**,那批是件①+件② 十三件 additive、零删除:`CLASSIFIER_STATUS_STATES`/`classifierBreakerOf`/`classifierStatusOf`/`classifierStatusDetail`(分类器状态面,详见 §28②)/ `THINKING_FORMATS`/`THINKING_FORMAT_WIRE_TWINS`/`THINKING_DISABLE_PROBE_ORDER`/`MODEL_PROBE_VERDICTS`/`PROBE_PROMPT`/`PROBE_MAX_TOKENS`(两个探针常量 🔧 0.72.0 退役)/`probeRequestBody`/`probeModelCapability`/`applyProbeToEntry`(模型思考能力探测,详见 §28①);`0.63.0` 是 **905**,那批是八件 additive、零删除:`projectServerGateKnobs`/`postureKnobSourceOf`/`postureSourceIsOperatorPinned`/`postureKnobDetail`/`POSTURE_SOURCE_WORDS`(S-178 三根 posture 旋钮读数,详见 §27b)/ `PERSISTED_RULE_BEHAVIORS`/`PERSISTED_RULE_BEHAVIOR_UNKNOWN`/`persistedRuleBehaviorOf`/`persistedRuleBehaviorLabel`/`revokeTargetFromPersistedRule`(三态规则身份,§27c)/ `engineIdentityOf`/`engineIdentityVerdict`/`engineIdentityChanged`/`engineIdentityChangedBy`/`ENGINE_IDENTITY_ANCHORS`(S-179 代际锚,§27d)/ `GATE_DENIED_BY_WORDS`/`gateDeniedByDetail`/`ASK_ORIGIN_WORDS`/`askOriginDetail`(门词汇 +2,§27e)/ `PERMISSION_RULE_ISSUE_CODES`/`RETIRED_PERMISSION_RULE_ISSUE_CODES`/`permissionRuleIssueDetail`(规则 lint 码表,§27f)/ `projectToolRoster`/`toolRosterNames`/`toolShimFromRoster`/`applyToolRosterDelta`(L-161 工具名册,§27g)/ `ENGINE_NOTICE_CODES`/`ENGINE_NOTICE_AUDIENCE`/`noticeAudienceOf`/`engineNoticeInCatalog`/`MCP_INJECTION_DROP_REASONS`/`readMcpInjectionDrop`(L-167 通告码册,§27h)/ `AUTO_MODE_UNAVAILABLE_CAUSES`/`AUTO_MODE_BREAKER_CAUSES`/`classifierUnavailableOf`/`classifierUnavailableDetail`(件⑧ 分类器不可用事实,§27h2);`0.62.0` 是 **869**,那批是五件 additive、**零删除**:`capForDisplay`(呈前消毒 + 封长的共用铸点,详见 §26⑦)/ `SEAT_SEND_MESSAGE_KEY_ORIGINS`(座位载荷逐键出身表,详见 §26③)/ `configureSubagentContentStore`+`subagentContentStoreConfig`+`SUBAGENT_CONTENT_STORE_DEFAULTS`(子代内容账本字节预算,测试钩 `__resetSubagentContentStoreConfigForTests` +1,详见 §26②);`0.61.0` 是 **864**,那批是三件 additive、**零删除**:`projectReadFacePosture`/`readFacePostureDetail`/`readFaceDisagreement`(S-167 READ 容纳面 operator 读器,详见 §25);`0.60.0` 是 **861**,那批是二十五件 additive、**零删除**:`readRunTerminal`/`runTerminalCode`/`runTerminalGateKind`/`runTerminalGateToolName`/`isReviewPark`/`REVIEW_PARK_GATE_KINDS` 六件终局因由读器 + `gateOutcomeOf`/`isDeniedGate`/`gateDeniedBy`/`gateApprover`/`isApprovalWindowExpiredGate`/`isDenialLimitAutoDeniedGate`/`isParkSlaExpiredGate`/`isHumanSettledGate` 八件门记录读器 + `projectWriteProtectionCapability`/`noteEngineCapsForWriteProtection`/`observedWriteProtection`/`forgetWriteProtectionReading`/`writeProtectionDoctorDetail`/`projectWriteProtectionPosture`/`writeProtectionPostureDetail` 七件写保护读面(测试钩 `__resetWriteProtectionReadingsForTests` +1)+ `readWireErrorCode` + 真机边界①的两件 `isGateParkedToolEnd`/`GATE_PARKED_ERROR_CODE` + 异源复审逼出的 `engineCapsGeneration`;`0.59.0` 是 **836**,那批是八件 additive:`RULE_OFFERS_ABSENCE_REASONS`/`DENIAL_LIMIT_KINDS`(后者 🔧 0.85.0 退出公面)两张闭词表再导出 + `engineCapValue` 能力位四态通用读口 + `projectSqlEngineCapability`/`observedSqlEngine`/`noteEngineCapsForSqlEngine`/`forgetSqlEngineReading`/`sqlEngineDoctorDetail` 五件 SQL 姿态读面(测试钩 `__resetSqlEngineReadingsForTests` +1);`0.58.0` 是 **828**,那批是三件 additive:`RULE_OFFER_MATCHES`/`RULE_OFFER_BATCH_MEMBER_KINDS`/`RULE_OFFER_UNCOVERED_REASONS` 三张闭词表再导出 + `RESUME_REFUSAL_CODES`/`RESUME_PLACEMENT_MISMATCH`/`resumeRefusalFromError`/`resumeRefusalContent` 四件文案铸点;`0.57.0` 是 **821**;`0.56.0`/`0.55.0` 是 **815**;已发 `0.54.0`(design/385 十件 additive 含 `AUTHORITY_ENVELOPE_TAGS` 🔧 0.72.0 退役);`0.52.0` 是 **805**(L-69⑨ 两件);`0.51.0` 是 **803**;`0.50.0` 是 **800**(S-81 五件);`0.49.0` 是 **795**;`0.48.0` 是 **794**;npm `0.47.0` 是 **790**,`0.46.0` 是 **787**,`0.44.0` 是 **783**,`0.43.1`/`0.43.0` 是 **776**,`0.42.0` 是 **771**,`0.41.0` 是 **767**,`0.39.0` 是 **766**,`0.38.0` 是 **764**;`0.37.0` 是 **753**,见 `CHANGELOG.md`) | `scripts/public-export-baseline.json` 的 `count` / `testHookCount` —— **别手抄进别处,以该文件为准** |
27
27
  | 常驻门 | 以 `scripts/gates-manifest.json` 的 `suites` 长度为准(**本档不抄这个数**) | `scripts/gates-manifest.json`;`npm test` 的名单等值门与它逐名对账 |
28
28
  | 沿革档 | 0.29.0 起建 `CHANGELOG.md`;更早批次记账在 `src/index.ts` 文件头 + `docs/REFACTOR-LEDGER.md` | — |
29
29
 
@@ -125,7 +125,7 @@ SDK 核对「本包 import 的每个值级符号仍然导出」「`TaskStats.cos
125
125
 
126
126
  > 📦 **随包 / 不随包**:npm 包只带 `dist` / `README` / `CHANGELOG` / 本档 / `LICENSE`。本档各处提到的 `docs/type-superset.json`、`scripts/*.json`、`scripts/run-*-test.mjs` 都是**仓内登记物与门,不随包发出** —— 装包的消费者找不到它们是预期;`_sema_` 超集键的**随包契约**就是本档各 §NNz 逐键处置表(键名 / 值域 / 缺席语义逐条在表里)。
127
127
  >
128
- > 全集真源 = `scripts/public-export-baseline.json` 的 `names`(**1356** 项;该基线只覆盖**根**入口,子路径入口 `./registry` 的名单在 §86 与 `scripts/run-sdk-registry-transit-test.mjs` A / C 段)。
128
+ > 全集真源 = `scripts/public-export-baseline.json` 的 `names`(**1372** 项;该基线只覆盖**根**入口,子路径入口 `./registry` 的名单在 §86 与 `scripts/run-sdk-registry-transit-test.mjs` A / C 段)。
129
129
  > 本节**不逐名抄**,只给「域 → 承重导出 → 用途 → 实现锚」。承重导出 = 一个端为了让这个域干活
130
130
  > **必须**直接调到的那几个符号;其余是它们的类型、变体与辅助位。
131
131
  > 两个入口:根 `import { … } from '@sema-agent/client-core'`(会话运行时;`exports` 的 `.`)+ `import { … } from '@sema-agent/client-core/registry'`(云控制面原样转口,0.79.1 起;`exports` 的 `./registry`,§86);
@@ -149,21 +149,21 @@ SDK 核对「本包 import 的每个值级符号仍然导出」「`TaskStats.cos
149
149
  `WorkflowsGateUnknownDenial` 四形**不在**基线里,`src/selfOrchestrationDenial.ts` 对基线贡献
150
150
  **4** 项运行期导出(三个函数 + `SELF_ORCHESTRATION_RETRY_WITHOUT`)。
151
151
 
152
- 1356 项的内部构成(帮助端估读表大小;0.87.0 +2 函数(CC-268 会话历史 tool_use 错配的判型口 `classifyToolHistoryMismatch` + 回退节点解析口 `resolveToolHistoryRewindTarget`);0.86.0 +40 函数 +6 常量 −1 函数 −1 常量(CC-249 引擎 7.34.0 提货:六只通告事实读器 + 权限模式折回原因闭集 + 门记录模式放行读口;CC-251 写口拒名码常量 + `rules.` 族前缀谓词;CC-252 凭据没被接受那一句;CC-253 `APPROVER_POSTURE_BYPASS` / `approverPostureDeclarationField` 🔧 0.86.0 退出公面,逐名见 §2z;CC-250 存储姿态六口 + 中心接线六口 + 计费入口 503 码常量 + 读口 + 一句;CC-256 本机无 OS 沙箱判定 + 一句 + 诊断面车道段读口;CC-257 `inheritEnv` 两词闭集 + 判词口 + 版本地板常量 + 版本闸 + 片段口 + 不发那一句 + 两只拒各读口与一句;CC-262 / CC-263 / CC-265 权限规则表 · 工具声明族 · 键形拒两张键表各一读口一句 / 谓词;CC-266 `-p` 首帧来源超集键铸口);0.85.1 +2 函数 +1 常量(CC-248 回执省略成因的终端用户向取句口 + 句表;CC-259 按会话呈现回执登记口复活,0.72.0 退出过);0.85.0 +26 函数 +9 常量 −2 函数 −1 常量(CC-241 plan-review 决断台账六口;CC-246 会话后台任务停止口 + 受据归类口 + 三态闭集;CC-217 / CC-243 服务端 7.104.0 会话侧:存档读不出三载体读口 + 判定 + 人话 + 码常量、跳过记录通告读器 + 补句、删会话 409 读口 + 措辞 + 码常量、停驻挪动族读口 + 措辞 + 判定 + 闭集 + 三码常量;CC-243 能力 / 同步体侧:公钥发现四口、文件历史请求词片段口 + 常量、粗码识别表 + 判定;CC-221 三个运行期名字退出公面,逐名见 §2z);0.84.1 +11 函数 +4 常量(CC-210 开标签定位口 / CC-219 detach 400 纯判定 / CC-213 服务端自铸码受众表 + 事实读器 / CC-214 按码派发口 + 派发表 / CC-225 停泊决断 422 读口 + 措辞 + 码优先判定 + 码常量 / CC-229 撤销动词 + 措辞 + 出路句 + 判据本体 + 码常量);0.84.0 +8 函数 −7 常量 −19 函数(CC-194 B 半登记读数五口 / CC-185 读目录授权结论通告读口 / CC-206 `hands` 段读口与措辞两口;CC-223 收回 0.71.3 预告的 26 个 `export *` 放大件,🔧 0.84.0 退出公面,逐名见 CHANGELOG 0.84.0);0.83.5 +1 函数(CC-204 字符面标记位置读口 `displayUntrustedMarks`);0.83.4 +4 函数(CC-205 `<system-reminder>` 剥离 / 解包两口;CC-203 座位过境口;CC-201 清「用户关卡」记号口);0.83.2 +15 函数 +4 常量(CC-193 姿态放行谓词 / CC-195 强制词闭集 + 成员判据 + 读口 + 措辞 / CC-194 缺席行判定 11 函数 + 3 常量);0.83.1 +10 函数 +6 常量(CC-112 展示层安全出口 `displayUntrusted` / CC-117 会话规则记录无损判定 + 措辞单源 + 五词成因闭集 / CC-174 插件 hook 每轮计划 + 查询口 + 事件判定口 + 四只措辞口 + 五张闭集);0.83.0 −3 函数(联网搜索旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 🔧 0.83.0 退出公面)+1 函数(CC-175 `terminalReasonForResult`);0.82.7 +5 函数(CC-182 每请求联网搜索配置三态判决:段判决 / env 判决 / 两车道合成 / 措辞单源 / endpoint 显示形);0.82.5 +5 函数 +1 常量(CC-169 print 车道 init 帧工具面:流包装器 / 判定闸 / 名册信号分类口 / 判定口 / 留痕措辞单源 + 等待上界常量);0.82.2 +1 函数(CC-164 云控制面有效配置回体措辞单源 `cloudEffectiveNotices`);0.82.1 +15 函数(CC-154 续跑折叠码读口 + 措辞 / CC-163 文件历史捕获读口六口 / CC-151 模型身份可解析判据五口 / CC-161 自定义代理载荷作废重投口 / 决断失败码「门还在」判定;测试钩 +1);0.82.0 +17 函数 +1 常量(CC-146 `/rewind` 代码档与对话档可用性读口投影 + 三口读账 + 两只判据 + 三句措辞 / CC-150 额度投影三口 / CC-152 装配期无手两口 / CC-154 取码单源 + 折叠码常量 / CC-156 坏档行坐标读口 + 措辞);0.80.0 +1 常量 +10 函数(CC-133 结算词表镜像 `SETTLEMENT_KIND_WORDS` + 五函数 / CC-134 三函数 / CC-132 两函数);0.79.0 +8 常量 +21 函数 +1 类(CC-74 MCP 状态面两张词表 + 九函数 / CC-110 `approvalIsMandated` + `mandatedApprovalDetail` / CC-116 · 118 · 123 `APPROVER_POSTURE_BYPASS`(🔧 0.86.0 退出公面)+ `REQUEST_LANES` + 三函数 / CC-125 拒因两面四常量 `HITL_POLICY_DENY_MESSAGE` `APPROVAL_DENY_SETTLED_BY_WORDS` `SEMA_DENIAL_KIND_KEY` `CC_TOOL_DENIAL_KINDS` + 四函数 / CC-128 会话 bundle 面转口 `pushSessionBundle` `pullSessionBundle` `importSessionBundle` + 错误类 `APIError`;测试钩 +1);0.78.1 +2 常量 +9 函数(CC-113 displayBody / CC-97 b 五动词 + 判官 + 覆盖面判词 / CC-121 readSubmitWiringManifest);0.77.0 +2 常量 +2 函数(CC-101)+ 5 常量 +12 函数(CC-105 / CC-103;测试钩 +1);0.76.1 +1 常量 +4 函数(CC-36)+ 13 函数(CC-102;测试钩 +2)+ 1 常量 +20 函数(CC-97a;测试钩 +2)+ 2 函数(身份快照助手上公面);0.76.0 +8 常量 +8 函数(CC-77 ① 2+4 / CC-96 6+4);0.74.5 +2 常量 +2 函数(CC-87 / CC-88);0.74.3 +2 常量 +7 函数(CC-70 / CC-71 / CC-72 / CC-73 / CC-80;测试钩 +1);0.74.2 +6 函数(CC-69;测试钩 +1);0.74.1 +1 常量(CC-67);0.74.0 +1 函数(CC-66);0.73.5 +8 常量 +3 函数(CC-58);0.73.4 +1 常量(CC-34);0.73.3 +6 函数(CC-61;测试钩 +1);0.73.1 +2 常量 +5 函数(CC-56 / CC-57;测试钩 +1);0.72.14 +1 常量 +7 函数(CC-55);0.72.13 +4 常量 +14 函数(CC-46 / CC-54 / CC-53 / CC-50 缺席口);0.72.12 +2 常量 +2 函数(CC-50);0.72.10 +2 常量 +2 函数(CC-41);0.72.9 +2 常量 +6 函数(CC-30 / CC-39②);0.72.8 +2 常量 +4 函数(CC-39③ / CC-43);0.72.7 +1 常量 +1 函数(CC-42);0.72.6 +1 函数(CC-40);0.72.5 +1 常量 +5 函数(CC-31);0.72.3 +1 常量(CC-39①);0.72.2 +1 函数(CC-37);0.72.1 +1 常量 +3 函数(CC-33);0.72.0 −23 常量 −16 函数(CC-32 退役批);0.71.3 +4 常量 +5 函数(CC-06);0.71.0 −2 常量 `MAX_AGENT_SKILLS` / `DECIDE_WORKFLOW_HOST_NOT_PARKED` +2 函数 `projectToolRosterDelta` / `mcpEngineLegPresence`;0.70.0 起 +1 函数;0.69.2 起 +3:常量 1 / 函数 2):**362** 项是 `SCREAMING_SNAKE` 常量数据表/词汇表
152
+ 1372 项的内部构成(帮助端估读表大小;0.88.0 +12 函数 +4 常量(CC-270 ① 服务端自铸通告事实读器 `readModelUnreachable`;CC-272 放行原因闭集镜像 `GATE_MODE_RELEASE_REASON_WORDS` + 判词谓词 `isGateModeReleaseReasonWord` + 修复通告事实读器 `readToolTurnRepaired`;CC-264 会话记忆抹除调用口 `eraseSessionMemory` + 判定口 `sessionMemoryEraseOutcome` + 三只闭集镜像;CC-280 registry 409 判别 `classifyRegistryConflict` / `isScopeGoneError`;CC-281 被拒读口 `requireExistingSessionRefusalFromError` + 一句 `requireExistingSessionRefusalContent`;CC-271 `createPromptDeliveryLedger` / `promptKnownUndelivered` / `withoutUndeliveredPrompts`);0.87.0 +2 函数(CC-268 会话历史 tool_use 错配的判型口 `classifyToolHistoryMismatch` + 回退节点解析口 `resolveToolHistoryRewindTarget`);0.86.0 +40 函数 +6 常量 −1 函数 −1 常量(CC-249 引擎 7.34.0 提货:六只通告事实读器 + 权限模式折回原因闭集 + 门记录模式放行读口;CC-251 写口拒名码常量 + `rules.` 族前缀谓词;CC-252 凭据没被接受那一句;CC-253 `APPROVER_POSTURE_BYPASS` / `approverPostureDeclarationField` 🔧 0.86.0 退出公面,逐名见 §2z;CC-250 存储姿态六口 + 中心接线六口 + 计费入口 503 码常量 + 读口 + 一句;CC-256 本机无 OS 沙箱判定 + 一句 + 诊断面车道段读口;CC-257 `inheritEnv` 两词闭集 + 判词口 + 版本地板常量 + 版本闸 + 片段口 + 不发那一句 + 两只拒各读口与一句;CC-262 / CC-263 / CC-265 权限规则表 · 工具声明族 · 键形拒两张键表各一读口一句 / 谓词;CC-266 `-p` 首帧来源超集键铸口);0.85.1 +2 函数 +1 常量(CC-248 回执省略成因的终端用户向取句口 + 句表;CC-259 按会话呈现回执登记口复活,0.72.0 退出过);0.85.0 +26 函数 +9 常量 −2 函数 −1 常量(CC-241 plan-review 决断台账六口;CC-246 会话后台任务停止口 + 受据归类口 + 三态闭集;CC-217 / CC-243 服务端 7.104.0 会话侧:存档读不出三载体读口 + 判定 + 人话 + 码常量、跳过记录通告读器 + 补句、删会话 409 读口 + 措辞 + 码常量、停驻挪动族读口 + 措辞 + 判定 + 闭集 + 三码常量;CC-243 能力 / 同步体侧:公钥发现四口、文件历史请求词片段口 + 常量、粗码识别表 + 判定;CC-221 三个运行期名字退出公面,逐名见 §2z);0.84.1 +11 函数 +4 常量(CC-210 开标签定位口 / CC-219 detach 400 纯判定 / CC-213 服务端自铸码受众表 + 事实读器 / CC-214 按码派发口 + 派发表 / CC-225 停泊决断 422 读口 + 措辞 + 码优先判定 + 码常量 / CC-229 撤销动词 + 措辞 + 出路句 + 判据本体 + 码常量);0.84.0 +8 函数 −7 常量 −19 函数(CC-194 B 半登记读数五口 / CC-185 读目录授权结论通告读口 / CC-206 `hands` 段读口与措辞两口;CC-223 收回 0.71.3 预告的 26 个 `export *` 放大件,🔧 0.84.0 退出公面,逐名见 CHANGELOG 0.84.0);0.83.5 +1 函数(CC-204 字符面标记位置读口 `displayUntrustedMarks`);0.83.4 +4 函数(CC-205 `<system-reminder>` 剥离 / 解包两口;CC-203 座位过境口;CC-201 清「用户关卡」记号口);0.83.2 +15 函数 +4 常量(CC-193 姿态放行谓词 / CC-195 强制词闭集 + 成员判据 + 读口 + 措辞 / CC-194 缺席行判定 11 函数 + 3 常量);0.83.1 +10 函数 +6 常量(CC-112 展示层安全出口 `displayUntrusted` / CC-117 会话规则记录无损判定 + 措辞单源 + 五词成因闭集 / CC-174 插件 hook 每轮计划 + 查询口 + 事件判定口 + 四只措辞口 + 五张闭集);0.83.0 −3 函数(联网搜索旧三读口 `webSearchFromEnv` / `webSearchFromSettings` / `resolveWebSearch` 🔧 0.83.0 退出公面)+1 函数(CC-175 `terminalReasonForResult`);0.82.7 +5 函数(CC-182 每请求联网搜索配置三态判决:段判决 / env 判决 / 两车道合成 / 措辞单源 / endpoint 显示形);0.82.5 +5 函数 +1 常量(CC-169 print 车道 init 帧工具面:流包装器 / 判定闸 / 名册信号分类口 / 判定口 / 留痕措辞单源 + 等待上界常量);0.82.2 +1 函数(CC-164 云控制面有效配置回体措辞单源 `cloudEffectiveNotices`);0.82.1 +15 函数(CC-154 续跑折叠码读口 + 措辞 / CC-163 文件历史捕获读口六口 / CC-151 模型身份可解析判据五口 / CC-161 自定义代理载荷作废重投口 / 决断失败码「门还在」判定;测试钩 +1);0.82.0 +17 函数 +1 常量(CC-146 `/rewind` 代码档与对话档可用性读口投影 + 三口读账 + 两只判据 + 三句措辞 / CC-150 额度投影三口 / CC-152 装配期无手两口 / CC-154 取码单源 + 折叠码常量 / CC-156 坏档行坐标读口 + 措辞);0.80.0 +1 常量 +10 函数(CC-133 结算词表镜像 `SETTLEMENT_KIND_WORDS` + 五函数 / CC-134 三函数 / CC-132 两函数);0.79.0 +8 常量 +21 函数 +1 类(CC-74 MCP 状态面两张词表 + 九函数 / CC-110 `approvalIsMandated` + `mandatedApprovalDetail` / CC-116 · 118 · 123 `APPROVER_POSTURE_BYPASS`(🔧 0.86.0 退出公面)+ `REQUEST_LANES` + 三函数 / CC-125 拒因两面四常量 `HITL_POLICY_DENY_MESSAGE` `APPROVAL_DENY_SETTLED_BY_WORDS` `SEMA_DENIAL_KIND_KEY` `CC_TOOL_DENIAL_KINDS` + 四函数 / CC-128 会话 bundle 面转口 `pushSessionBundle` `pullSessionBundle` `importSessionBundle` + 错误类 `APIError`;测试钩 +1);0.78.1 +2 常量 +9 函数(CC-113 displayBody / CC-97 b 五动词 + 判官 + 覆盖面判词 / CC-121 readSubmitWiringManifest);0.77.0 +2 常量 +2 函数(CC-101)+ 5 常量 +12 函数(CC-105 / CC-103;测试钩 +1);0.76.1 +1 常量 +4 函数(CC-36)+ 13 函数(CC-102;测试钩 +2)+ 1 常量 +20 函数(CC-97a;测试钩 +2)+ 2 函数(身份快照助手上公面);0.76.0 +8 常量 +8 函数(CC-77 ① 2+4 / CC-96 6+4);0.74.5 +2 常量 +2 函数(CC-87 / CC-88);0.74.3 +2 常量 +7 函数(CC-70 / CC-71 / CC-72 / CC-73 / CC-80;测试钩 +1);0.74.2 +6 函数(CC-69;测试钩 +1);0.74.1 +1 常量(CC-67);0.74.0 +1 函数(CC-66);0.73.5 +8 常量 +3 函数(CC-58);0.73.4 +1 常量(CC-34);0.73.3 +6 函数(CC-61;测试钩 +1);0.73.1 +2 常量 +5 函数(CC-56 / CC-57;测试钩 +1);0.72.14 +1 常量 +7 函数(CC-55);0.72.13 +4 常量 +14 函数(CC-46 / CC-54 / CC-53 / CC-50 缺席口);0.72.12 +2 常量 +2 函数(CC-50);0.72.10 +2 常量 +2 函数(CC-41);0.72.9 +2 常量 +6 函数(CC-30 / CC-39②);0.72.8 +2 常量 +4 函数(CC-39③ / CC-43);0.72.7 +1 常量 +1 函数(CC-42);0.72.6 +1 函数(CC-40);0.72.5 +1 常量 +5 函数(CC-31);0.72.3 +1 常量(CC-39①);0.72.2 +1 函数(CC-37);0.72.1 +1 常量 +3 函数(CC-33);0.72.0 −23 常量 −16 函数(CC-32 退役批);0.71.3 +4 常量 +5 函数(CC-06);0.71.0 −2 常量 `MAX_AGENT_SKILLS` / `DECIDE_WORKFLOW_HOST_NOT_PARKED` +2 函数 `projectToolRosterDelta` / `mcpEngineLegPresence`;0.70.0 起 +1 函数;0.69.2 起 +3:常量 1 / 函数 2):**366** 项是 `SCREAMING_SNAKE` 常量数据表/词汇表
153
153
  (矩阵、键集、env 名、锚串)而非可调用物;**7** 项是 PascalCase 运行期值
154
154
  (`ControlRouter` / `ControlSafetyError` / `HitlBridge` / `HitlSafetyError` / `DecideTransportRetryExhaustedError` / `APIError`);
155
155
  **35** 项是 `*For(sessionKey, …)` 的 per-session 变体(0.85.1 +1:`registerArmedGateFromQuestionIdFor` 复活,多会话宿主的按会话呈现回执登记口,§110;0.84.0 −3:`notePlanReviewAnsweredFor` / `planReviewArmedKeyFor` / `waitForGateArmedFor` 🔧 0.84.0 退出公面;0.72.0 −4:`clearArmedGateFor` / `onGateArmedFor` / `notePlanReviewAnsweredIfDecisiveFor` 退出公面,第四名 `registerArmedGateFromQuestionIdFor` 即 0.85.1 复活的那一只)(§6;其中 `engineNamespaceKeyFor` 是命名巧合 —— 参数是 baseUrl 不是 sessionKey,见域 14)。
156
156
 
157
- ### 2b. 域图(16 域,逐域计数之和 = 1356)
157
+ ### 2b. 域图(16 域,逐域计数之和 = 1372)
158
158
 
159
159
  | # | 域 | 名数 | 承重导出 | 用途 | 实现锚 |
160
160
  |---|---|---|---|---|---|
161
161
  | 1 | **适配内核(下行主链)** | 70 | `classifyToolHistoryMismatch` / `resolveToolHistoryRewindTarget`(0.87.0 CC-268:会话历史 tool_use 错配的判型口 —— 与合成终局错误行超集键 `_sema_tool_history_mismatch` 同一只判型,只认 HTTP 400 且 provider 那句话在消息开头,永不抛 —— 与回退节点解析口 —— 宿主转录行 + 错配 ⇒ 坏轮 prompt 行 / 从头开始 / 六理由判不了,不越过没有引擎句柄的 prompt;§113)· `handsSeamReadingOf` / `handsSeamDetail`(0.84.0 CC-206:接线回执 `hands` 段三态读口 + 措辞单源,「没有自带工具」那一句与 `handsMountedDetail` 同句首句尾,两者不是同一个事实;§107)· `terminalReasonForResult`(0.83.0 CC-175:结果帧 CC 键 `terminal_reason` 的读口,与铸点同一只判据,给端自拼的结果帧与旧转录;§100)· `handsMountedFromManifest` / `handsMountedDetail`(0.82.0 CC-152:装配期「这一 run 有没有手」三态判据 + 措辞单源,读 `wiring_manifest` 名册的 `mountedBy`;§92)· `readSubmitWiringManifest`(0.78.1 CC-121:非流式提交 200 体 `TaskResult.wiringManifest` 的三态读口,view 与流式腿 chrome 臂同一张;§83)· `TOOL_INPUT_JOIN_MAX_CALLS`(0.73.4 CC-34:终帧拒绝清单第三键的本流快照上限;§66)· `OUTCOME_UNKNOWN_ROW_PREFIX` / `isOutcomeUnknownRowText`(0.72.12 CC-50:第三条中性终局行「结局不知道」,读结果帧 `_sema_outcome`;§59)· `MODEL_OUTPUT_ERROR_PREFIX` / `isModelOutputErrorText` / `isModelOutputErrorRowText`(0.72.8 CC-43:runStream 第二条中性臂 —— core malformed tool-call 一族的行身份;§55)· `readEffectiveReasoning` · `readEffectiveMemoryScopes`(0.71.3 CC-06:终帧 `_sema_effective_reasoning` / `_sema_effective_memory_scopes` 的窄读器,§45)· `isSubFlowSegmentEnd` · `SEGMENT_END_IDENTITY_KEYS` · `droppedWhySentence`(0.69.2 CC-13:三件出公面,§38)· `adapt` · `createWireToCcAdapter` · `runStream` · `eventToSdkMessage` · `terminalToSdkResult` · `SEMA_SEGMENT_ID_KEY`(0.68.2 CC-01:committed assistant 文本行顶层段身份键的唯一字面量出处,壳只读)· `projectMcpSection`(0.68.2 CC-03:`wiring_manifest.mcp[]` 与 `/mcp` 面板 `lastLegMcp.mcp[]` 共用的同一只条目读器)· `readRunCostFacts`(0.66.0:终局成本事实的**唯一读器** —— `TaskStats.costBreakdown` / `nested` 逐键窄读 + 对账三段(own/nested/compaction)与两个「没定价」判别位;终帧的两个超集键与 chrome 臂 `run_cost_reconciled` **共用它**,两面不会各算各的,详见 §31c)· `TERMINAL_CAUSE_KINDS`/`isTerminalCauseKind`(0.68.0 / L-247:**core 终局因由**闭集,四词 `completed|failed|blocked|paused`)· `RUN_TERMINAL_NOT_SUCCESS_STATUSES`/`isTerminalNotSuccess`/`RUN_TERMINAL_STATUSES`/`isTerminalStatus`(L-215② 终局词汇的**单铸谓词**,0.68.0 随 L-247 **两表分源**更名 —— `killed` 属 server run 行状态面、`paused` 属 core 因由面,合成一张会让两边加词时都读不出该改哪儿;`blocked` 是 agent 自报终态,`suspended`/`needs_review` 刻意不在表里,详见 §33b / §30j)· `SEMA_SUBAGENT_USAGE_PARTIAL_KEY`/`subagentUsageIsPartial`(0.68.0 / L-244:子代用量下界位的**自有名**与唯一判据,与终帧 `_sema_usage_lower_bound` 分名,详见 §33g) · `turnUsageToModelUsage` · `isRunStreamActive` · `ADAPTER_DIVERGENCES` · `readRunTerminal` / `runTerminalCode` / `runTerminalGateKind` / `runTerminalGateToolName` / `isReviewPark` / `REVIEW_PARK_GATE_KINDS`(0.60.0 / engine ≥7.64.0:一次 run **怎么结束的**唯一读器 —— 终局从八个平面键换成一条带标因由 `terminal`,四臂 + `unknown` 防御臂 + `plane` 两代字节标;🔴 不认识的终态词绝不折成成功、本包不提供「因由→五词 status」的兼容投影,详见 §24b)| 引擎 SSE `AgentEvent` → 端要渲的**双面输出**:transcript(`SDKMessage`)+ chrome(瞬态 `ChromeEvent`)。**本包存在的理由** | `src/adapt.ts`、`src/adapt/{arms,wireShapes,panelTasks}.ts`(经 `adapt.ts` 再导出)、`src/adapter/runStream.ts`、`src/adapter/downstream/*`、`src/adapter/types.ts`、`src/runTerminal.ts` |
162
162
  | 2 | **seam 公共契约** | 4(其余为 type-only) | `CHROME_ARMS` · `deriveTranscriptId` · `snapshotSegmentIdentity` / `snapshotIsSubFlow`(0.76.1:身份四键一次性快照助手,投影口与 adapt 侧全部臂的唯一身份读点;§77)| 公共词汇 + **id 确定性不变量**(同一条流重放 ⇒ 同一串 id)。`CHROME_ARMS` = 端「我要消费哪些 chrome 臂」的对照清单 | `src/seam.ts` |
163
- | 3 | **HITL 决断卡链**(§4/§5 主战场) | 228 | `gateModeRelease`(0.86.0 CC-249:门记录放行臂上「权限模式替人答掉一问」那一条账的具名读口,与 `gateOutcomeOf` 同一只窄读器;缺席不是「没经过模式放行」;§112)· `registerArmedGateFromQuestionIdFor`(0.85.1 CC-259:多会话宿主在自己的会话键上登记呈现回执,`reopenPlanReviewCard` 回执形等的就是这个会话键上的回执;0.72.0 退出公面的名字复活;§110)· `decideParkMovedFromError` / `decideParkMovedContent` / `isDecideParkMovedCode` / `DECIDE_PARK_MOVED_CODES` + `DECIDE_NOT_PARKED` / `DECIDE_GATE_MOVED` / `DECIDE_CLAIM_LOST`(0.85.0 CC-243:`/decide` 停驻挪动三码的读口、按码分说的一句与判定,四个决断出口补句、停泊腿按码续读流;`isCodeClassifiedGateFailure` 不收本族;§109)· `notePlanReviewDecisionHandedOver` / `planReviewPendingReadMark` / `planReviewDecisionInFlight` / `notePlanReviewDecisionNotApplied` / `notePlanReviewGateLeft` / `latestPlanReviewDecisionMark`(0.85.0 CC-241:plan-review 决断台账 —— 交出登记 + 读起点刻度 + 拒开判据 + 「没生效」与「离门」两只说一声的口 + 交出刻度;`reopenPlanReviewCard` 按它拒开;§109)· `isCodeClassifiedGateFailure`(0.84.1 CC-225:这枚决断失败码自己说清了处置、失败文字不许再按「门已决」词表扫 —— `isGateStandingErrorCode` 的两码 ∪ 422 `parked_resume.startup_failed`;§108)· `removeRefusedSessionRules` / `sessionPolicyRemovalNotice` / `isEngineRefusedToolName`(0.84.1 CC-229:会话规则记录里引擎会拒启的条目的窄撤销动词 + 八臂措辞单源 + 引擎准备期按名字拒启的判据本体,比 `sessionPolicyDeliverable` 的 `legacy_tool_name` 判词宽;撤销动词必交这台部署一跑的工具名册,名册里的名与别名不撤;§108)· `toolPermissionRequestAskBits` / `clearPlanReviewUserDismissals`(0.83.4 CC-203 / CC-201:卡请求 → 座位请求的四位过境口,与卡请求同一把窄读;会话换代时清「用户关卡」记号;§104)· `askSurvivesPosture` / `readApprovalMandate`(0.83.2 CC-193 / CC-195:常驻姿态下「这一张卡能不能由姿态答掉」三态谓词;卡上强制词读口,缺席答缺席;§102)· `sessionPolicyDeliverable` / `sessionPolicyWithheldNotice` / `SESSION_POLICY_WITHHELD_WHY`(0.83.1 CC-117:一批规则串能不能无损写进会话规则记录 —— 整批可送才送、五词成因闭集、每词一句措辞单源;宿主侧那一份的继任;§101)· `isPolicyRefusedGate` / `denyAttributionRefusalFromError` / `denyAttributionRefusalContent` / `removalConsequenceLineForBehavior` / `ruleRemovalBehaviorOf`(0.80.0 CC-133 · CC-132:策略拒谓词 + 归因键三码读口与人话 + 删除规则后果句铸点与闭集读口;§87)· `HITL_POLICY_DENY_MESSAGE` / `APPROVAL_DENY_SETTLED_BY_WORDS` / `readApprovalDenySettledBy` / `SEMA_DENIAL_KIND_KEY`(0.79.0 CC-125:deny 收口帧按 `settledBy` 分两串的冻结句、决断对象归因位的两词可达子集与只认自有数据属性的读器、分类词信封键名;§85)· `approvalIsMandated`(0.79.0 CC-110:审批卡「清不掉」判据口,帧位 ∨ 寄存行缺席词两条腿一个真源;§85)· `readSessionPolicy` / `tightenSessionPolicy` / `tightenedSessionRules` / `classifySessionPolicyFailure` / `sessionPolicyTightenNotice` / `SESSION_POLICY_RULE_FIELDS` / `SESSION_POLICY_TIGHTEN_UNKNOWN_WHY`(0.77.0 CC-105:会话策略窄读 + 收紧编排五臂判别联合)· `writePersistedRule` / `PERSISTED_RULE_WRITE_BEHAVIORS` / `PERSISTED_RULE_WRITE_REFUSAL_CAUSES` / `PERSISTED_RULE_WRITE_UNKNOWN_REASONS`(0.77.0 CC-103:持久规则单步写面,词表派生不手抄;§79)· `persistedRulesWriteAvailable`(0.76.1 CC-102:单步写入口便利口,只派生自写键自己的四态,不与撤销面那只合取;§77)· `approvalResolutionOf` / `isApprovalDecided` / `approvalNotSentCause` / `approvalUnsettledCause` / `APPROVAL_NOT_SENT_CAUSES` / `APPROVAL_UNSETTLED_CAUSES`(CC-77 ①:「一次审批决断最后怎么了」的单源判别联合 `decided` / `not_sent` / `unsettled`,两条腿的结局对象一次判别;既有结局型面一字不动)· `approvalOutcomeNoteOf` / `APPROVAL_NOTE_RETRACTED_DETAIL` / `APPROVAL_NOTE_EDIT_REFUSED_DETAIL`(0.74.5 CC-88:审批结局便签单源;§73)· `decideReceiptReopen` / `suspendedReopenOf`(0.74.3 CC-73:reopen 族第二臂;§71)· `RETRACTED_CARD_DECISION_KIND`(0.74.1 CC-67:卡口无决断收口;§69)· `planReviewOutcomeTail`(0.73.1 CC-57:outcome 尾句六态单铸点;投递口闩;§63)· `readLivePendingRows` / `suspendedSubagentAsks` / `countApprovalsAwaitingDecision` / `createSuspendedAskTracker` / `livePendingRowToApprovalFrame` / `surfaceSuspendedAskAndRespond` / `surfaceEditRefusedOnBlindAsk` + `EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT`(0.72.14 CC-55:悬挂的流内 ask 读面 / 视图 / 去重账 / 决断口;§61)· `planReviewCardOptions` / `planReviewChoiceFromAnswer` / `versionSupportsPlanReviewModeAfter` / `isPlanReviewModeAfter` + `PLAN_REVIEW_APPROVE_AUTO_LABEL` / `PLAN_REVIEW_APPROVE_MANUAL_LABEL` / `PLAN_REVIEW_MODE_AFTER_WORDS` / `PLAN_REVIEW_MODE_AFTER_MIN_ENGINE`(0.72.13 CC-46:plan_review 批准后模式 `permissionModeAfter` 发口与三选卡双闸;§60)· `makeHitlCanUseTool` · `HitlBridge` · `findPendingForTask` · `readDecideReceipt`/`decideAcceptedNotResolved`/`decideRefusalFromError`(B-070:`/decide` 200 = **投递受理**不是「门已解决」;`executionOutcome` 缺席 = 未知,详见 §30h) · `HitlSafetyError` · `bridgeAskUserQuestionGates` · `surfaceToolApprovalFrameAndRespond` / `surfaceFsApprovalAndDecide` · `readToolApprovalRespondAck` · `installApprovalCardPort(For)` · `installHitlHostSurface(For)` · `armPlanReviewApproval` · `reopenPlanReviewCard` · `decidePlanReview` · `startApprovalsFeed` · `pendingRowIsOwnedByThisSession` · `approvalCallKey`/`liveFrameCallKey`/`planReviewQuestionId` · `registerArmedGateFor`/`wasGateArmedFor` · `waitForGateArmed`/`onGateArmed`/`gateArmedWaitMs`(#244 F1 呈现回执事件源) · `planReviewArmedKey`/`notePlanReviewAnswered`/`notePlanReviewAnsweredIfDecisive`(A-024.4 plan 呈现分代;`waitForGateArmed` / `planReviewArmedKey` / `notePlanReviewAnswered` 三只的 `*For` 变体 0.84.0 退出公面) · `toolEndOutputText` · `waitForParkRowBirth` · `classifyAskParkRows` / `askParkRowArm` / `classifyAskParkChainFailure` · `readDecisionNoteAudit` / `decisionNoteAuditLine` · `resumeRunningOptions` / `resumeChoiceFromLabels` · `persistedRulesLaneAvailable`/`persistedRulesGovernanceAvailable` · `classifyRulesFailure` · `listAllPersistedRules` · `classifySkippedReason` · `readRulePersistOutcome`(#244 F2:persist-ack 读口与 `readToolApprovalRespondAck` 合成一处) · `parseLocalAllowRule`(durable 腿本地落规则窄化骨架,谓词经 `LocalAllowRuleDeps` 注入) · `readToolApprovalRespondRefusal`(#225 件5,0.42.0:respond 抛错的结构化原文读口 —— 三位各自防御读、各自缺席不铸、**三位皆缺席时整只返 `undefined`**;原样交还零加工,UNTRUSTED-for-display)· `installEditedRuleTextPrechecker` / `hasEditedRuleTextPrechecker` / `precheckEditedRuleText`([5076] 转出口,0.42.0:core 5.57.0 `precheckEditedRuleText` 的**端口注入形** —— 类型面 + 注入口 + 诚实缺席读口。🔴 **不是** value 级 re-export,理由见 §7 缺口 **P-34**;未装 ⇒ 返 `undefined`,绝不编一个 `{ok:true}`)· `RULE_NOT_SENT_WARN_TEXT` + `RULE_NOT_SENT_REJECTED_WARN_TEXT`(#334,0.43.0:人在卡上按下的「不再询问」被整条丢弃时的诚实告知(文案两句;发告知的两只函数 0.84.0 起是包内件)——**两条刻意分开**:前者=**引擎能力位未确认**(换台引擎/等探测就好),后者=**这次选择没过包内表核/互斥核**(表外文本/坏下标/两臂同场,换引擎也不会变) —— 编辑臂 `respondFreeFormRules` 与批臂 `respondBatchRuleOffers` 两条同形存量共用一条,与 `surfaceRememberNotApplied` 同族纪律:决断照送、只是规则没存,静默丢掉用户明确意图 = 让人以为功能坏了)· `projectCrashConverged`(L-38,0.49.0:`/v1/approvals` additive 键 `crashConverged` 的分桶投影 —— 崩溃收敛的孤儿审批读面,**缺席 ≠ 空数组**、分桶恰一个合取、坏行丢弃并计数,详见 §12;同批把 `ApprovalsResourceLike.list()` 的返回位 additive 放宽成 `ApprovalsListEnvelope`,老形 `{pending}` 仍可赋值)· `readRuleOffers` / `readRuleOfferSupply`(L-103/[C228],0.57.0 additive 导出:「不再询问」候选两代 wire 键的窄读器**公面化** —— 此前只经卡端口出包,不走卡端口架构的宿主只能自己重铸一把,而它承载的是兑付安全判据(原始下标不前移/逐条丢坏/闭集 kind/两代取舍序),详见 §20)· `RULE_OFFERS_ABSENCE_REASONS` / `DENIAL_LIMIT_KINDS`〔后者 🔧 0.85.0 退出公面,值改从 `@sema-agent/sdk` 根入口取〕(0.59.0 / sdk 8.3.0 提货:`ruleOffersAbsence` 三词与 `denialLimitFallback.limit` 二词的**运行期**闭词表再导出 —— 与 0.58.0 那三张同一条纪律:端拿它做判定别再手抄字面量。⚠️ **本包自己不拿这两张表做窄读判定**(两处都按开集透传,词表属主是 core、server 已按闭集拒过),再导出只是给端的 `switch` 一份可数的表,端仍必须带 `default` 臂,详见 §23a)· `DecideTransportRetryExhaustedError`(Inkglow-1085 P0a:decide 出站瞬断重试耗尽的 typed 判别 —— HitlBridge 内建单次退避重试,耗尽走重呈臂不判死 turn;端一般只消费行为,不需要 instanceof) · `gateOutcomeOf` / `isDeniedGate` / `gateDeniedBy` / `gateApprover` / `isApprovalWindowExpiredGate` / `isDenialLimitAutoDeniedGate` / `isParkSlaExpiredGate` / `isHumanSettledGate`(0.60.0 / engine ≥7.64.0:`tool_end.gate` 整条门记录的窄读器 + 判定谓词 —— 取代退役的四个正交词 `settledBy`/`resolution`/`autoDenied`/`approver`。🔴 **判定归包**:「是不是审批窗自己走完的拒绝」旧形上是端各自拼的两键合取,而三条窗词现在分得开、合并读回去等于把刚修好的判别力扔掉;⚠️ 公面型一律带 `View` 后缀 —— 本文件的 `GateOutcome`(决断腿结局)与 sdk 的 `GateOutcome`(引擎门记录)**同名不同义**,详见 §24c)· `isGateParkedToolEnd`(「这次调用没在这里结算」的**第二形**谓词:gate 缺席 + `errorCode:"gate.parked"`;端判这件事必须与 `isApprovalWindowExpiredGate` **两形合读**) · `readWireErrorCode`(B-037 候包件②:decide/取件失败上引擎 wire 机器码的单源读口,结构视图读不 `instanceof`;与本包铸的 `code` 是两个命名空间,详见 §24g)| suspended→decide→resume 环。🔴 **D-1 两元组 verbatim 回显**是字节级断言的安全不变量,端**不许重实现它的任何一段**。🔴 键空间边界(web [C1] d3 拦截):`gateIdentity` 四常量两函数只覆盖 HITL questionId/callKey 空间;seat 的 `TOOL_PERMISSION_REQUEST_ID_DOMAINS`(`plan:` 等)是另一键空间,**两者绝不合并**(合并=座位校验器静默拒全部 plan-review 卡) | `src/hitl/hitlBridge.ts`、`toolApprovalWire.ts`、`askGateWire.ts`、`planReviewWire.ts`、`hitlHostSurface.ts`、`gateIdentity.ts`、`armedGateRegistry.ts`、`parkOwnership.ts`、`parkResolver.ts`、`approvalsFeed.ts`、`frameRouter.ts`(**只挑名导出** `toolEndOutputText`/`ENGINE_ABORT_TOOL_RESULT`/`HITL_REJECT_MESSAGE`/`HITL_INTERRUPT_MESSAGE_FOR_TOOL_USE`)、`parkRowBirthWait.ts`、`approvalDecisionNoteAudit.ts`、`askParkRowRouting.ts`、`resumeRunningCard.ts`(#265 上收的判定层)、`persistedRulesWire.ts`、`localAllowRule.ts`(#244 F2 规则侧)、`crashConverged.ts`(L-38 崩溃收敛读面)、`sessionPolicyDeliverable.ts`(0.83.1 CC-117 会话规则无损判定)、`askSurvivesPosture.ts`(0.83.2 CC-193 姿态放行谓词)、`src/gateOutcome.ts` |
163
+ | 3 | **HITL 决断卡链**(§4/§5 主战场) | 230 | `GATE_MODE_RELEASE_REASON_WORDS` / `isGateModeReleaseReasonWord`(0.88.0 CC-272:门记录放行账 `released.reason` 的闭集镜像与判词谓词,值取构建期生成物;读口 `gateModeRelease` 仍按开集透传;§114)· `gateModeRelease`(0.86.0 CC-249:门记录放行臂上「权限模式替人答掉一问」那一条账的具名读口,与 `gateOutcomeOf` 同一只窄读器;缺席不是「没经过模式放行」;§112)· `registerArmedGateFromQuestionIdFor`(0.85.1 CC-259:多会话宿主在自己的会话键上登记呈现回执,`reopenPlanReviewCard` 回执形等的就是这个会话键上的回执;0.72.0 退出公面的名字复活;§110)· `decideParkMovedFromError` / `decideParkMovedContent` / `isDecideParkMovedCode` / `DECIDE_PARK_MOVED_CODES` + `DECIDE_NOT_PARKED` / `DECIDE_GATE_MOVED` / `DECIDE_CLAIM_LOST`(0.85.0 CC-243:`/decide` 停驻挪动三码的读口、按码分说的一句与判定,四个决断出口补句、停泊腿按码续读流;`isCodeClassifiedGateFailure` 不收本族;§109)· `notePlanReviewDecisionHandedOver` / `planReviewPendingReadMark` / `planReviewDecisionInFlight` / `notePlanReviewDecisionNotApplied` / `notePlanReviewGateLeft` / `latestPlanReviewDecisionMark`(0.85.0 CC-241:plan-review 决断台账 —— 交出登记 + 读起点刻度 + 拒开判据 + 「没生效」与「离门」两只说一声的口 + 交出刻度;`reopenPlanReviewCard` 按它拒开;§109)· `isCodeClassifiedGateFailure`(0.84.1 CC-225:这枚决断失败码自己说清了处置、失败文字不许再按「门已决」词表扫 —— `isGateStandingErrorCode` 的两码 ∪ 422 `parked_resume.startup_failed`;§108)· `removeRefusedSessionRules` / `sessionPolicyRemovalNotice` / `isEngineRefusedToolName`(0.84.1 CC-229:会话规则记录里引擎会拒启的条目的窄撤销动词 + 八臂措辞单源 + 引擎准备期按名字拒启的判据本体,比 `sessionPolicyDeliverable` 的 `legacy_tool_name` 判词宽;撤销动词必交这台部署一跑的工具名册,名册里的名与别名不撤;§108)· `toolPermissionRequestAskBits` / `clearPlanReviewUserDismissals`(0.83.4 CC-203 / CC-201:卡请求 → 座位请求的四位过境口,与卡请求同一把窄读;会话换代时清「用户关卡」记号;§104)· `askSurvivesPosture` / `readApprovalMandate`(0.83.2 CC-193 / CC-195:常驻姿态下「这一张卡能不能由姿态答掉」三态谓词;卡上强制词读口,缺席答缺席;§102)· `sessionPolicyDeliverable` / `sessionPolicyWithheldNotice` / `SESSION_POLICY_WITHHELD_WHY`(0.83.1 CC-117:一批规则串能不能无损写进会话规则记录 —— 整批可送才送、五词成因闭集、每词一句措辞单源;宿主侧那一份的继任;§101)· `isPolicyRefusedGate` / `denyAttributionRefusalFromError` / `denyAttributionRefusalContent` / `removalConsequenceLineForBehavior` / `ruleRemovalBehaviorOf`(0.80.0 CC-133 · CC-132:策略拒谓词 + 归因键三码读口与人话 + 删除规则后果句铸点与闭集读口;§87)· `HITL_POLICY_DENY_MESSAGE` / `APPROVAL_DENY_SETTLED_BY_WORDS` / `readApprovalDenySettledBy` / `SEMA_DENIAL_KIND_KEY`(0.79.0 CC-125:deny 收口帧按 `settledBy` 分两串的冻结句、决断对象归因位的两词可达子集与只认自有数据属性的读器、分类词信封键名;§85)· `approvalIsMandated`(0.79.0 CC-110:审批卡「清不掉」判据口,帧位 ∨ 寄存行缺席词两条腿一个真源;§85)· `readSessionPolicy` / `tightenSessionPolicy` / `tightenedSessionRules` / `classifySessionPolicyFailure` / `sessionPolicyTightenNotice` / `SESSION_POLICY_RULE_FIELDS` / `SESSION_POLICY_TIGHTEN_UNKNOWN_WHY`(0.77.0 CC-105:会话策略窄读 + 收紧编排五臂判别联合)· `writePersistedRule` / `PERSISTED_RULE_WRITE_BEHAVIORS` / `PERSISTED_RULE_WRITE_REFUSAL_CAUSES` / `PERSISTED_RULE_WRITE_UNKNOWN_REASONS`(0.77.0 CC-103:持久规则单步写面,词表派生不手抄;§79)· `persistedRulesWriteAvailable`(0.76.1 CC-102:单步写入口便利口,只派生自写键自己的四态,不与撤销面那只合取;§77)· `approvalResolutionOf` / `isApprovalDecided` / `approvalNotSentCause` / `approvalUnsettledCause` / `APPROVAL_NOT_SENT_CAUSES` / `APPROVAL_UNSETTLED_CAUSES`(CC-77 ①:「一次审批决断最后怎么了」的单源判别联合 `decided` / `not_sent` / `unsettled`,两条腿的结局对象一次判别;既有结局型面一字不动)· `approvalOutcomeNoteOf` / `APPROVAL_NOTE_RETRACTED_DETAIL` / `APPROVAL_NOTE_EDIT_REFUSED_DETAIL`(0.74.5 CC-88:审批结局便签单源;§73)· `decideReceiptReopen` / `suspendedReopenOf`(0.74.3 CC-73:reopen 族第二臂;§71)· `RETRACTED_CARD_DECISION_KIND`(0.74.1 CC-67:卡口无决断收口;§69)· `planReviewOutcomeTail`(0.73.1 CC-57:outcome 尾句六态单铸点;投递口闩;§63)· `readLivePendingRows` / `suspendedSubagentAsks` / `countApprovalsAwaitingDecision` / `createSuspendedAskTracker` / `livePendingRowToApprovalFrame` / `surfaceSuspendedAskAndRespond` / `surfaceEditRefusedOnBlindAsk` + `EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT`(0.72.14 CC-55:悬挂的流内 ask 读面 / 视图 / 去重账 / 决断口;§61)· `planReviewCardOptions` / `planReviewChoiceFromAnswer` / `versionSupportsPlanReviewModeAfter` / `isPlanReviewModeAfter` + `PLAN_REVIEW_APPROVE_AUTO_LABEL` / `PLAN_REVIEW_APPROVE_MANUAL_LABEL` / `PLAN_REVIEW_MODE_AFTER_WORDS` / `PLAN_REVIEW_MODE_AFTER_MIN_ENGINE`(0.72.13 CC-46:plan_review 批准后模式 `permissionModeAfter` 发口与三选卡双闸;§60)· `makeHitlCanUseTool` · `HitlBridge` · `findPendingForTask` · `readDecideReceipt`/`decideAcceptedNotResolved`/`decideRefusalFromError`(B-070:`/decide` 200 = **投递受理**不是「门已解决」;`executionOutcome` 缺席 = 未知,详见 §30h) · `HitlSafetyError` · `bridgeAskUserQuestionGates` · `surfaceToolApprovalFrameAndRespond` / `surfaceFsApprovalAndDecide` · `readToolApprovalRespondAck` · `installApprovalCardPort(For)` · `installHitlHostSurface(For)` · `armPlanReviewApproval` · `reopenPlanReviewCard` · `decidePlanReview` · `startApprovalsFeed` · `pendingRowIsOwnedByThisSession` · `approvalCallKey`/`liveFrameCallKey`/`planReviewQuestionId` · `registerArmedGateFor`/`wasGateArmedFor` · `waitForGateArmed`/`onGateArmed`/`gateArmedWaitMs`(#244 F1 呈现回执事件源) · `planReviewArmedKey`/`notePlanReviewAnswered`/`notePlanReviewAnsweredIfDecisive`(A-024.4 plan 呈现分代;`waitForGateArmed` / `planReviewArmedKey` / `notePlanReviewAnswered` 三只的 `*For` 变体 0.84.0 退出公面) · `toolEndOutputText` · `waitForParkRowBirth` · `classifyAskParkRows` / `askParkRowArm` / `classifyAskParkChainFailure` · `readDecisionNoteAudit` / `decisionNoteAuditLine` · `resumeRunningOptions` / `resumeChoiceFromLabels` · `persistedRulesLaneAvailable`/`persistedRulesGovernanceAvailable` · `classifyRulesFailure` · `listAllPersistedRules` · `classifySkippedReason` · `readRulePersistOutcome`(#244 F2:persist-ack 读口与 `readToolApprovalRespondAck` 合成一处) · `parseLocalAllowRule`(durable 腿本地落规则窄化骨架,谓词经 `LocalAllowRuleDeps` 注入) · `readToolApprovalRespondRefusal`(#225 件5,0.42.0:respond 抛错的结构化原文读口 —— 三位各自防御读、各自缺席不铸、**三位皆缺席时整只返 `undefined`**;原样交还零加工,UNTRUSTED-for-display)· `installEditedRuleTextPrechecker` / `hasEditedRuleTextPrechecker` / `precheckEditedRuleText`([5076] 转出口,0.42.0:core 5.57.0 `precheckEditedRuleText` 的**端口注入形** —— 类型面 + 注入口 + 诚实缺席读口。🔴 **不是** value 级 re-export,理由见 §7 缺口 **P-34**;未装 ⇒ 返 `undefined`,绝不编一个 `{ok:true}`)· `RULE_NOT_SENT_WARN_TEXT` + `RULE_NOT_SENT_REJECTED_WARN_TEXT`(#334,0.43.0:人在卡上按下的「不再询问」被整条丢弃时的诚实告知(文案两句;发告知的两只函数 0.84.0 起是包内件)——**两条刻意分开**:前者=**引擎能力位未确认**(换台引擎/等探测就好),后者=**这次选择没过包内表核/互斥核**(表外文本/坏下标/两臂同场,换引擎也不会变) —— 编辑臂 `respondFreeFormRules` 与批臂 `respondBatchRuleOffers` 两条同形存量共用一条,与 `surfaceRememberNotApplied` 同族纪律:决断照送、只是规则没存,静默丢掉用户明确意图 = 让人以为功能坏了)· `projectCrashConverged`(L-38,0.49.0:`/v1/approvals` additive 键 `crashConverged` 的分桶投影 —— 崩溃收敛的孤儿审批读面,**缺席 ≠ 空数组**、分桶恰一个合取、坏行丢弃并计数,详见 §12;同批把 `ApprovalsResourceLike.list()` 的返回位 additive 放宽成 `ApprovalsListEnvelope`,老形 `{pending}` 仍可赋值)· `readRuleOffers` / `readRuleOfferSupply`(L-103/[C228],0.57.0 additive 导出:「不再询问」候选两代 wire 键的窄读器**公面化** —— 此前只经卡端口出包,不走卡端口架构的宿主只能自己重铸一把,而它承载的是兑付安全判据(原始下标不前移/逐条丢坏/闭集 kind/两代取舍序),详见 §20)· `RULE_OFFERS_ABSENCE_REASONS` / `DENIAL_LIMIT_KINDS`〔后者 🔧 0.85.0 退出公面,值改从 `@sema-agent/sdk` 根入口取〕(0.59.0 / sdk 8.3.0 提货:`ruleOffersAbsence` 三词与 `denialLimitFallback.limit` 二词的**运行期**闭词表再导出 —— 与 0.58.0 那三张同一条纪律:端拿它做判定别再手抄字面量。⚠️ **本包自己不拿这两张表做窄读判定**(两处都按开集透传,词表属主是 core、server 已按闭集拒过),再导出只是给端的 `switch` 一份可数的表,端仍必须带 `default` 臂,详见 §23a)· `DecideTransportRetryExhaustedError`(Inkglow-1085 P0a:decide 出站瞬断重试耗尽的 typed 判别 —— HitlBridge 内建单次退避重试,耗尽走重呈臂不判死 turn;端一般只消费行为,不需要 instanceof) · `gateOutcomeOf` / `isDeniedGate` / `gateDeniedBy` / `gateApprover` / `isApprovalWindowExpiredGate` / `isDenialLimitAutoDeniedGate` / `isParkSlaExpiredGate` / `isHumanSettledGate`(0.60.0 / engine ≥7.64.0:`tool_end.gate` 整条门记录的窄读器 + 判定谓词 —— 取代退役的四个正交词 `settledBy`/`resolution`/`autoDenied`/`approver`。🔴 **判定归包**:「是不是审批窗自己走完的拒绝」旧形上是端各自拼的两键合取,而三条窗词现在分得开、合并读回去等于把刚修好的判别力扔掉;⚠️ 公面型一律带 `View` 后缀 —— 本文件的 `GateOutcome`(决断腿结局)与 sdk 的 `GateOutcome`(引擎门记录)**同名不同义**,详见 §24c)· `isGateParkedToolEnd`(「这次调用没在这里结算」的**第二形**谓词:gate 缺席 + `errorCode:"gate.parked"`;端判这件事必须与 `isApprovalWindowExpiredGate` **两形合读**) · `readWireErrorCode`(B-037 候包件②:decide/取件失败上引擎 wire 机器码的单源读口,结构视图读不 `instanceof`;与本包铸的 `code` 是两个命名空间,详见 §24g)| suspended→decide→resume 环。🔴 **D-1 两元组 verbatim 回显**是字节级断言的安全不变量,端**不许重实现它的任何一段**。🔴 键空间边界(web [C1] d3 拦截):`gateIdentity` 四常量两函数只覆盖 HITL questionId/callKey 空间;seat 的 `TOOL_PERMISSION_REQUEST_ID_DOMAINS`(`plan:` 等)是另一键空间,**两者绝不合并**(合并=座位校验器静默拒全部 plan-review 卡) | `src/hitl/hitlBridge.ts`、`toolApprovalWire.ts`、`askGateWire.ts`、`planReviewWire.ts`、`hitlHostSurface.ts`、`gateIdentity.ts`、`armedGateRegistry.ts`、`parkOwnership.ts`、`parkResolver.ts`、`approvalsFeed.ts`、`frameRouter.ts`(**只挑名导出** `toolEndOutputText`/`ENGINE_ABORT_TOOL_RESULT`/`HITL_REJECT_MESSAGE`/`HITL_INTERRUPT_MESSAGE_FOR_TOOL_USE`)、`parkRowBirthWait.ts`、`approvalDecisionNoteAudit.ts`、`askParkRowRouting.ts`、`resumeRunningCard.ts`(#265 上收的判定层)、`persistedRulesWire.ts`、`localAllowRule.ts`(#244 F2 规则侧)、`crashConverged.ts`(L-38 崩溃收敛读面)、`sessionPolicyDeliverable.ts`(0.83.1 CC-117 会话规则无损判定)、`askSurvivesPosture.ts`(0.83.2 CC-193 姿态放行谓词)、`src/gateOutcome.ts` |
164
164
  | 4 | **子代 wire + 面板侧信道台账** | 110 | `stopEngineSessionBackground` / `engineSessionBackgroundReceiptReadingOf` / `ENGINE_SESSION_BACKGROUND_RECEIPT_STATES`(0.85.0 CC-246:会话后台任务停止口 + 受据三态归类口与闭集镜像,三端公共转调与单源措辞;认不出的受据词一律归「可能仍在跑」;§109)· `readEngineAgentRegistry` / `isEngineAgentRegistryListingSuperseded` / `engineAgentRegistryReadingOf` / `engineAgentRegistryKeyOf` / `engineAgentRegistryRowsMissingFromHost`(0.84.0 CC-194 B 半:后台代理登记读口 + 取代判定 + 归类口 + 登记键桥 + 补行谓词,宿主据此给缺席行回收入参的 `registry` 位填真读数;§107)· `isEngineAgentAbsentRow` / `engineAgentAbsenceMarkOf` / `engineAgentAbsenceClockStopMs` / `engineAgentPanelEventClearsAbsence` / `engineAgentRowCountsAsRunning` / `tallyEngineAgentRows` / `engineAgentTurnSweepSettles` / `reapEngineAgentAbsentRows` / `engineAgentAbsenceTtlDueAtMs` / `engineAgentAbsenceDroppedLine` / `engineAgentTerminalAfterDropLine` + `ENGINE_AGENT_ABSENT_ROW_TEXT` / `ENGINE_AGENT_ABSENCE_TTL_MS` / `ENGINE_AGENT_REGISTRY_READINGS`(0.83.2 CC-194:后台子代缺席行的判定 / 计数 / sweep 豁免 / 回收 / 措辞单源,回收只在后台代理登记确认离场时;§102)· `isNewEngineAgentPanelCycle`(0.74.5 CC-87:新周期单源判据;§73)· `resolveEnginePanelTaskId` / `MAX_HELD_WIRE_TICK_BEATS` / `clearEnginePanelTaskResidentByWire`(0.74.3 CC-70:子代身份归一读口、缓一拍节拍上限、按 wire id 清常驻标(前代终态不清当代);§71)· `isStaleEngineAgentPanelEnd`(0.74.0 CC-66:面板 end 的周期身份判据;§68)· `subscribeEngineAgentPanelAbsence` / `publishEngineAgentPanelAbsence`(0.72.13:fleet 行缺席上报的**独立订阅口** —— 不上主通道,老消费者结构上收不到;§60 S-5)· `tailEngineSubagent` · `installSubagentActivitySink` · `installSubagentTailMetaSink`(#280 件2:tail meta 帧发布口,`contentFrames` 判别位载体)· `stopEngineTask` + `classifyTaskStopConflict` · `fetchEngineSubagentReport` · `steerEngineSubagent`(0.32.0 未发布 #280 件A:additive 第三参 `childTaskId` —— 端有行上下文时**应当**传,传了就走「台账优先 / 缺席即诚实缺席 + 缺席留痕」的 Q3 口径,与 tail·taskOutput·subagentOutput 三腿同姿势、与孪生 resume 腿共用同一个 `resolveOwnerRunId` 判据;**不传**则逐字维持旧行为=回落在飞 run)· `resumeSettledSubagent` + `resolveSubagentResumeContext` + `resolveOwnerRunId` + `classifySubagentResumeFailure` + `subagentResumeAvailable`(#242 批 2 A-028.7:resume 判定半场上收,与 steer 孪生同居;取址三态 = 台账有行用行值 / 指名了行但台账缺席则**诚实缺席绝不回落在飞 run** / 没指名行才回落。出路文案归端)· `recordSubagentOwnerFromProgress` + `getBgParentRunOwner`(A-028.6:「子代 → 宿主 run」**单表**,宿主 run 必须由持 stream-local 值的调用方显式传入,包内绝不从 `activeEngineRunId()` 推断)· `auditRetainWithoutWake`([4000] Q5:引擎宣示 `subagentResume` + 本端在付 `retainSubagentSessions` + 端未实现 `wakeSubagent` ⇒ 响亮一条;`CLIENT_VERBS.wakeSubagent` 维持 fail-soft)· `subscribeSubagentContent` · `subscribeEngineAgentPanel` · `publishQuestionFrame` / `respondToQuestion` · `configureSubagentContentStore` / `subagentContentStoreConfig` / `SUBAGENT_CONTENT_STORE_DEFAULTS`(0.62.0:子代内容账本的**字节预算** —— 此前只有条数帽而单条无上限,一条 base64 工具结果就能让一个子代槽吃到十几 MB;越限从最早的内容开始丢并留一条可渲染的 `truncated` 记录,总帽淘汰整条最久未用的账本。配置面 fail-loud,详见 §26②)| 驱动与观测委派子代;经 module 级台账喂活体 agent/task 面板。全部**能力位 gate**(§5b) | `src/subagent/*.ts`、`src/subagentContentStore.ts`、`src/engineAgentPanelStore.ts`、`src/engineAgentAbsence.ts`(0.83.2 CC-194 缺席行判定与措辞)、`src/agentSession/engineAgentRegistryRead.ts`(0.84.0 CC-194 B 半登记读口)、`src/engineInlineTaskStats.ts`、`src/engineToolLabelStore.ts`、`src/liveQuestionStore.ts` |
165
165
  | 5 | **fleet 投影** | 38 | `displayUntrustedMarks`(0.83.5 CC-204:同一只出口另报每一枚字符面标记的 UTF-16 区间,`text` 与同选项的出口逐字节同;§105)· `displayUntrusted`(0.83.1 CC-112:wire 派生文本上屏前的合成出口三端单源 —— 凭据两网 ∘ 字符三网,选项按载体选;本域 `escapeDisplayControlChars` / `collapseLabel` / `capForDisplay` 三只旧口改由同一只字符面引擎实现、输出逐字节不变,字符集窄于新口默认;§101)· `createFleetLedger` · `projectTasks` · `projectWorkflows` · `projectFleetAgentRows` · `readEngineActiveBgTasks` · `FLEET_TASK_VIEW_KEYS` · `escapeDisplayControlChars`(不可见字符可见化,行标签/描述消毒的共享底座)· `capForDisplay`(0.62.0:呈前**消毒 + 封长**的共用铸点 —— 先转义、后按转义结果封长,截点避开半截转义 token 与合法代理对;本包该族四处此前各写一份、其中三份顺序是反的,详见 §26⑦) | 老 `fleetClient` 那一刀的成品:**帧体归库、连接归端** —— 端持 SSE 连接,库做行投影 + 保留台账 | `src/fleet/fleetProjection.ts`、`src/fleet/fleetLedger.ts`、`src/fleetAgentPanelProjection.ts`、`src/fleetTaskDesc.ts`、`src/displayUntrusted.ts`(0.83.1 CC-112:展示层安全出口单源,本域三只旧口的字符面引擎) |
166
- | 6 | **请求装配(上行唯一构造口)** | 38 | `inheritEnvDeclaration` / `inheritEnvServerSupport` / `inheritEnvWithheldNotice` / `isInheritEnvWord` + `INHERIT_ENV_WORDS` / `INHERIT_ENV_MIN_SERVER`(0.86.0 CC-257:请求键 `inheritEnv` 的版本闸片段口 —— 服务端整串正式版 ≥ 7.106.0 才给 `{ inheritEnv }`,否则空片段 + 回执成因与一句终端用户面话;两词闭集与判词口、版本地板常量;缺席 = 缺省清洗且清掉本会话上一条声明;§112)· `taskRequestOmissionCauseNotice` / `TASK_REQUEST_OMISSION_CAUSE_NOTICES`(0.85.1 CC-248:回执省略成因的终端用户向取句口与句表,与接入方那只同源于同一成因闭集、逐词不同句;表外 / 读不出 ⇒ 一句通用句,不抛、不回显;§110)· `fileHistoryDeclarationField` / `FILE_HISTORY_DISABLED`(0.85.0 CC-243:「这一次运行别捕获文件历史」请求词片段口 —— 只在能力读数是 `on-optional` 且宿主意图是别捕获时给 `{ fileHistory: 'disabled' }`,老服务端对这一键整条 400;字面常量供断言锚;§109)· `REQUEST_LANES` / `APPROVER_POSTURE_BYPASS` / `approverPostureDeclarationField`〔后两者 🔧 0.86.0 退出公面:请求键 `approverPosture` 退役,宿主仍给即构造期按名拒;§112〕/ `taskRequestOmissionCauseDetail` / `parseMaxCostUsd`(0.79.0 CC-116 · 118 · 123:第三条车道清单、审批姿态声明的唯一铸点与意图位片段、回执成因人话、花费上限文本解析;§85)· `assembleTaskRequest` / `taskRequestSeatOf` / `TASK_REQUEST_OMISSION_CAUSES` / `UPSTREAM_ABSENT_REQUEST_INTENTS`(0.77.0 CC-101:逐键去向回执 + 座位读数 + 成因词表 + 上游无对位表;§79)· `readAgentMemorySpec` / `unknownMemorySpecKeys` / `unknownMemorySpecKeysNote` / `memoryConfigRefusalNoteOf` / `KNOWN_AGENT_MEMORY_SPEC_KEYS` / `PENDING_MEMORY_SPEC_KEYS` / `RETIRED_MEMORY_SPEC_SINGULAR_KEY` / `MAX_UNKNOWN_MEMORY_SPEC_KEYS`(CC-96:`agents[].memory` 记忆 spec 的三态读口与闭白名单判官 —— 未列键拒掉的是**整只 agent 定义**)· `MEMORY_OFF` / `memoryOffDeclarationField` / `memoryOffDeclared`(0.72.8 CC-39③:`memory:"off"` 请求级整面关的意图位片段;§55)· `buildTaskRequest` · `REQUEST_FIELD_MATRIX` · `unregisteredRequestKeys` · `applyLiveRequestDefaults` · `taskNotificationToPrintFrame` | 两条车道(`interactive`/`print`)出站请求的**唯一**构造器;`unregisteredRequestKeys` 是可执行门 —— 端偷带一个未登记键上 wire 就红 | `src/request/taskRequest.ts`、`src/request/printNotification.ts` |
166
+ | 6 | **请求装配(上行唯一构造口)** | 40 | `requireExistingSessionRefusalFromError` / `requireExistingSessionRefusalContent`(0.88.0 CC-281:请求键 `requireExistingSession` 被服务端拒 —— 会话不在 / 没给会话 id —— 的读口与一句,粗码形读消息尾括注、带码形直接认;§114)· `inheritEnvDeclaration` / `inheritEnvServerSupport` / `inheritEnvWithheldNotice` / `isInheritEnvWord` + `INHERIT_ENV_WORDS` / `INHERIT_ENV_MIN_SERVER`(0.86.0 CC-257:请求键 `inheritEnv` 的版本闸片段口 —— 服务端整串正式版 ≥ 7.106.0 才给 `{ inheritEnv }`,否则空片段 + 回执成因与一句终端用户面话;两词闭集与判词口、版本地板常量;缺席 = 缺省清洗且清掉本会话上一条声明;§112)· `taskRequestOmissionCauseNotice` / `TASK_REQUEST_OMISSION_CAUSE_NOTICES`(0.85.1 CC-248:回执省略成因的终端用户向取句口与句表,与接入方那只同源于同一成因闭集、逐词不同句;表外 / 读不出 ⇒ 一句通用句,不抛、不回显;§110)· `fileHistoryDeclarationField` / `FILE_HISTORY_DISABLED`(0.85.0 CC-243:「这一次运行别捕获文件历史」请求词片段口 —— 只在能力读数是 `on-optional` 且宿主意图是别捕获时给 `{ fileHistory: 'disabled' }`,老服务端对这一键整条 400;字面常量供断言锚;§109)· `REQUEST_LANES` / `APPROVER_POSTURE_BYPASS` / `approverPostureDeclarationField`〔后两者 🔧 0.86.0 退出公面:请求键 `approverPosture` 退役,宿主仍给即构造期按名拒;§112〕/ `taskRequestOmissionCauseDetail` / `parseMaxCostUsd`(0.79.0 CC-116 · 118 · 123:第三条车道清单、审批姿态声明的唯一铸点与意图位片段、回执成因人话、花费上限文本解析;§85)· `assembleTaskRequest` / `taskRequestSeatOf` / `TASK_REQUEST_OMISSION_CAUSES` / `UPSTREAM_ABSENT_REQUEST_INTENTS`(0.77.0 CC-101:逐键去向回执 + 座位读数 + 成因词表 + 上游无对位表;§79)· `readAgentMemorySpec` / `unknownMemorySpecKeys` / `unknownMemorySpecKeysNote` / `memoryConfigRefusalNoteOf` / `KNOWN_AGENT_MEMORY_SPEC_KEYS` / `PENDING_MEMORY_SPEC_KEYS` / `RETIRED_MEMORY_SPEC_SINGULAR_KEY` / `MAX_UNKNOWN_MEMORY_SPEC_KEYS`(CC-96:`agents[].memory` 记忆 spec 的三态读口与闭白名单判官 —— 未列键拒掉的是**整只 agent 定义**)· `MEMORY_OFF` / `memoryOffDeclarationField` / `memoryOffDeclared`(0.72.8 CC-39③:`memory:"off"` 请求级整面关的意图位片段;§55)· `buildTaskRequest` · `REQUEST_FIELD_MATRIX` · `unregisteredRequestKeys` · `applyLiveRequestDefaults` · `taskNotificationToPrintFrame` | 两条车道(`interactive`/`print`)出站请求的**唯一**构造器;`unregisteredRequestKeys` 是可执行门 —— 端偷带一个未登记键上 wire 就红 | `src/request/taskRequest.ts`、`src/request/printNotification.ts` |
167
167
  | 7 | **通知与 outstanding 台账** | 49 | `noteOwnWorkflowRun`(0.72.2 CC-37:own 台账显式登记口,adapter workflow lane 门在 own-run 正向证明下同拍调;§49)· `installNotificationQueuePort` · `normalizeTaskNotification` · `taskNotificationDedupKeyFromWire` · `registerOutstandingBgTask` / `registerOutstandingWorkflowRun` · `notificationQueuePortMisses` · `subscribeOutstandingWorkflows` · `outstandingDeliverableWorkflowCount` | `task_notification` 归一 + 去重 + 投递进宿主命令队列的**一把闸**;`outstandingDeliverableWorkflowCount()` 是 headless `-p` 的**退出门** · `classifyPeerNotification` / `renderPeerFrameTranscriptText` / `parsePeerFrameText` / `peerFrameDisplayName` + 三张闭集表(design/385,0.54.0:同一条 `task_notification` 车道上三条**引擎注入帧**的类型化投影 —— 判别位=载体在场而非 summary 文本,详见 §17) | `src/notifications.ts`(11 个 module 台账) |
168
168
  | 8 | **工具结果卡** | 28 | `findSystemReminderOpenTag`(0.84.1 CC-210:开标签定位口,与剥离 / 解包同一个判定,文法常量不上公面;§108)· `stripSystemReminderBlocks` / `unwrapSystemReminder`(0.83.4 CC-205:引擎 `<system-reminder>` 信封壳的剥离与整条解包,开标签只认引擎铸的两形,线性时间;§104)· `displayBody`(0.78.1 CC-113:工具结果正文的人类面读口,剥本包铸的不可信围栏,三形互不折叠;§83)· `structuredToToolUseResult` · `readAsyncLaunchedAgentReceipt` · `wireOutputToBody` · `parseModelFacingBash` · `getPatchFromContents` · `toolEndResultToUserFrame` · `flattenToolOutput` | 铸端要渲的 `tool_result` 卡体,含客户端 diff hunk(唯一 runtime dep 的用处) | `src/toolResult.ts`、`src/printToolResultFrame.ts`、`src/diff/patch.ts` |
169
169
  | 9 | **能力/旋钮 wire 门族** | 198 | `projectStorePostureCapability` / `noteEngineCapsForStorePosture` / `observedStorePosture` / `forgetStorePostureReading` + `storePersistence` / `storePostureDoctorDetail`(0.86.0 CC-250:caps `store` 存储姿态四态读口与读账、持久判据三值、doctor 一行;键缺席 = 老引擎没报,不是「不持久」;§112)· `projectCenterWiringCapability` / `noteEngineCapsForCenterWiring` / `observedCenterWiring` / `forgetCenterWiringReading` + `callerQuotaLease` / `centerWiringDoctorDetail`(0.86.0 CC-250:caps `centerWiring` 中心接线读口,缺席按同体 `store` 分 `none` / `not_reported`,调用方租约六词判决,doctor 一行;§112)· `noOsSandboxOnThisHost` / `noOsSandboxContent` / `projectExecutionLaneWiring`(0.86.0 CC-256:`executionLane.isolated` 读进车道读数后的「本机无 OS 沙箱」三值判定与那一句,operator 诊断面车道段同一份判据;§112)· `projectSealedKeyCapability` / `noteEngineCapsForSealedKey` / `observedSealedKey` / `forgetSealedKeyReading`(0.85.0 CC-243:能力面公钥发现段 `sealedKey` 的四态读口与读账,只出公钥三键、键缺席 = 不要封;§109)· `hooksWirePlan` / `pluginHookVerdictOf` / `hooksNotRunNotice` / `pluginHookExecutorLabel` / `pluginHookReasonText` / `settingsHookDropText` / `isEngineFiredHookEvent` + `ENGINE_FIRED_HOOK_EVENTS` / `PLUGIN_HOOK_DISPOSITIONS` / `PLUGIN_HOOK_REASONS` / `PLUGIN_HOOK_EXCLUSION_REASONS` / `SETTINGS_HOOK_DROP_REASONS`(0.83.1 CC-174:插件 hook 每轮计划 —— 逐条判「投给引擎 / 本客户端执行 / 如实不跑」,请求体 hooks 与本地跳过用同一份,开机「不会执行」清单与 `/hooks` 标注措辞单源,五张闭集;读口是 `SettingsPort` 的可选成员 `enabledPluginHooks`(型面,不计名数);§101)· `invalidateTaskAgentsWire`(0.82.1 CC-161:自定义代理载荷作废并重投,就绪门等最新一代,§93 S-14)· `projectFileHistoryCaptureCapability` / `noteEngineCapsForFileHistoryCapture` / `observedFileHistoryCapture` / `forgetFileHistoryCaptureReading` / `fileHistoryCaptureMode` / `fileHistoryCaptureDoctorDetail`(0.82.1 CC-163:`capabilities.fileHistoryCapture` 四态读口 + 判据 + 措辞单源;§93)· `observedRewindArchive` / `rewindCodeArchiveAvailability` / `rewindConversationAvailability` / `rewindArchiveDoctorDetail` / `rewindConversationDoctorDetail`(0.82.0 CC-146:`/rewind` 代码档与对话档可用性四位窄读口 + 端判据三态 + 措辞单源,替掉壳侧「本地备份表非空」那条判据;§92)· `mcpEngineLegLivenessOf` / `mcpDetailLegNote` / `isMcpLivenessState`(0.80.0 CC-134:引擎腿活性六档读口 + 九句范围说明铸点 + 活性三词判据上公面;§87)· `projectMcpProbeCapability` / `noteEngineCapsForMcpProbe` / `observedMcpProbe` / `forgetMcpProbeReading` / `mcpProbeAvailable` / `mcpProbeDoctorDetail`(0.79.0 CC-74:`capabilities.mcpProbe` 四态读口 + 「这次调用要不要上 wire」三态 + doctor 句;§85)· `projectSessionPolicyCapability` / `observedSessionPolicy` / `sessionPolicyFaceAvailable`(0.77.0 CC-105:`capabilities.sessionPolicy` 四态读口 + 渲不渲写入口三态;§79)· `projectMemoryComplianceCapability` / `memoryComplianceVerbsAvailable` · `projectMemoryOriginCapability` / `memoryOriginVerbsAvailable`(0.76.1 CC-97a:`capabilities.memoryCompliance` / `memoryOrigin` 两只四态读口,同判据不同位、各持一张表;§77)· `projectPeerLaneCapability` / `observedPeerLane` / `peerLaneAvailable`(0.76.1 CC-102:`capabilities.peerLane` 四态读口 + 露不露跨会话入口的三态判据;非 HTTP 面)· `projectPermissionRulesWriteCapability` / `observedPermissionRulesWrite` / `permissionRulesWriteAvailable`(0.76.1 CC-102:`capabilities.permissionRulesWrite` 四态读口 —— 键缺席 = 二进制比单步写口老、藏入口;在场按本键的值判这次够不够得着;§77)· `projectDeviceExecutorManagementCapability` / `noteEngineCapsForDeviceExecutorManagement` / `observedDeviceExecutorManagement` / `forgetDeviceExecutorManagementReading` / `deviceExecutorManagementDoctorDetail` / `deviceManagementVerbsAvailable`(0.74.2 CC-69;§70)· `projectApprovalsStreamLiveCapability` / `noteEngineCapsForApprovalsStreamLive` / `observedApprovalsStreamLive` / `forgetApprovalsStreamLiveReading` / `approvalsStreamLiveDoctorDetail` / `livePendingNeedsReconcile`(0.73.3 CC-61;§65)· `projectExecutionLaneCapability` / `noteEngineCapsForExecutionLane` / `observedExecutionLane` / `forgetExecutionLaneReading` / `executionLaneDoctorDetail` / `toolsRunHereFromExecutionLane`(0.72.13 CC-54:`capabilities.executionLane` 四态读面,键缺席 ≠ 不是本机车道;§60)· `AGENT_MEMORY_WORDS`(0.72.3 CC-39①:`memory: user|project|local` 三词;`projectAgentsForWire` 把它们同映射为 `agents[].memory = { scopes:[agent:<type>], writeScope }`;§50)· `skillBaseDirOf`(0.72.1 CC-33:`SkillSpec.baseDir` 窄读 = server 顶层门同一只结构判据;`skillCommandsToSpecs` 第三参 `{ toolsRunHere }` 只在本机车道带;§48)· `projectAgentsForWire` / `awaitTaskAgentsWire` · `hooksForWire` · `mcpConfigsToSpecs` · `ultracodeForRequest` · `buildWebSearchEnv`(`resolveWebSearch` 🔧 0.83.0 退出公面,换读域 15 的 `resolveWebSearchVerdict`) · `attachmentsForRequest` · `projectEffectiveBody` · `classifySelfOrchestrationRefusal` / `stripSelfOrchestrationIntent` / `projectWorkflowsGate` / `SELF_ORCHESTRATION_RETRY_WITHOUT`(S-81,server 7.57.0:上面两条 stamp 腿的**背面** —— 半配置多租户形态下 server 把带 `selfOrchestration` / `settings.ultracode` 的提交 501 拒掉,判型/去键/caps 闸三处都是判定不是文案,详见 §13) · `engineCapsGeneration`(0.60.0,异源对抗复审 [medium] 逼出:caps 探测的**当代号**读口 —— 代际闸在 probe **返回之后**才跑,而宿主的读面 tee 是在 probe **内部**落地的 ⇒ 一次慢的旧探测能把上一台引擎的读数写回来。宿主在**起探测那一刻**抓号、tee 时交回 `{generation}`,陈旧那一发整只丢掉;不传 = 逐字节同行为,详见 §24e)| 逐功能的「引擎有没有这个能力 + 这个字段怎么上 wire」投影器,由 `buildTaskRequest` 组装。🔴 `hooksForWire()` 是 **fail-closed**:无 `SettingsPort` ⇒ 返回 `undefined`(信任门,不是取值) | 17 个 `src/*WireCaps.ts` + `src/scratchpadWireCaps.ts`、`src/hooksWireCaps.ts`、`src/goalStopHook.ts`、`src/websearch/searchProviderPresets.ts`、`src/selfOrchestrationDenial.ts`(S-81 拒绝判定层)、`src/pluginHooksWire.ts`(0.83.1 CC-174:插件 hook 判定 / 措辞 / 闭集,经 `src/hooksWireCaps.ts` 编排) |
@@ -172,8 +172,8 @@ SDK 核对「本包 import 的每个值级符号仍然导出」「`TaskStats.cos
172
172
  | 12 | **workflow 与后台工作视图** | 37 | `READ_CREDENTIAL_NOT_ACCEPTED_NOTICE`(0.86.0 CC-252:门前只读路「凭据没被接受」那一句,workflow 监视器 `unauthorized` 态与后台视图 fleet 源 `unauthorized` 共用;§112)· `evaluateWorkflowSize` / `readWorkflowSizeWarningEnvCaps` / `workflowSizeWarningTextForWidth` + `WORKFLOW_SIZE_WARNING_AGENT_CAP` / `_TOKEN_CAP` / `_TOKENS_PER_AGENT` / `_ENV_NAMES` / `_TEXT_LONG` / `_TEXT_SHORT` / `_TEXT_MIN` / `WORKFLOW_SIZE_GUIDELINE_AGENT_CAPS`(0.73.5 CC-58:规模告警判定三态;§67)· `projectLeaderConflict` / `leaderConflictDetail` + `LEADER_RUN_STATUSES` / `LEADER_REJ_HEAD_DISPLAY_MAX`(0.72.10 CC-41:leader run 终局 `needs_human` + `result.conflict` 三形读面 none / unreadable / conflict,缺席不可分、filesTruncated 只认 true、salvaged 原样给落盘口;§57)· `projectWorkflowRun` · `readWorkflowResumeAdmissionIncomplete`(0.68.3 CC-05:core 7.18.0 `resumeAdmissionIncomplete` 在场 = 不是 resume 基,与 `readWorkflowParks` 同一条投影义务)· `createLiveWorkflowSource` · `ensureWorkflowActivityLedger` · `readWorkflowActivityLedger` · `stopWorkflowActivityLedger` · `resetWorkflowActivityLedgers` · `createBackgroundView` · `projectBackgroundView` · `recordWorkflowAgentTaskId` · `agentDisplayStatus` | 活过一个 turn 的长任务读面:workflow run + 跨 session 后台任务归一表(`assistant.tasks` 与 fleet SSE **两源独立降级**) | `src/workflow.ts`、`src/workflowClient.ts`、`src/workflowMonitor.ts`、`src/agentSession/backgroundView.ts`(+ 纯类型 `src/agentSession/contract.ts`) |
173
173
  | 13 | **座位 IPC 契约** | 34 | `LOCAL_SESSIONS_SPEC` · `SEAT_METHOD_NAMES` · `SEAT_EVENT_TYPES` · `isLocalSessionEvent` · `isToolPermissionRequest` · `toolPermissionRequestId` · `SEAT_VALIDATOR_KEY_COVERAGE` · `SEAT_SEND_MESSAGE_KEY_ORIGINS`(0.62.0:座位载荷**逐键出身**登记 —— 每个位要么写明转投哪个引擎请求位、要么写明为什么不上 wire;常驻门对**装在盘上的** sdk 型面逐名核,详见 §26③)| desktop↔web 座位 IPC 契约的**单一真源**(此前两边各一份、名字零重合 ⇒ 编译器永远不会告诉你它们漂了)。🔴 加 verb 忘了加 `LOCAL_SESSIONS_SPEC` **不报错**:preload 不注册 channel、渲染端读到 `undefined` | `src/seatContract.ts`(**零 import**,纯类型 + 常量 + 纯谓词)。🔴 **证据等级标注(0.42.0,test [5087] 的「语料**种类**缺口」/ cli [5088] 认领件)**:该文件里所有以「CC 如何如何」为形的断言(`212 methods` / `854-channel census` / 方法名逐字保留 / `fQe` 逐字段对照 / 一切 `.vite/build/index.chunk-*.js` 坐标)**证据等级 = 桌面 unpack,本地语料库不可复验** —— 本仓手边可复验的参照语料**只覆盖终端 CLI 形态**的静态产物,拿它去 grep 桌面壳里的符号只会零命中,而零命中在这里**既不证真也不证伪**。复核这些断言**不得**拿本仓语料当反证 |
174
174
  | 14 | **宿主端口与会话槽** | 41 | `installHost` · `installHostFor` · `installCoreValuePorts` + 十读口 + 三存在性口(0.69.0 CC-07:core 值级面端口注入,Node 宿主装配根装、浏览器 lane 恒缺席)· `hostPortMisses(For)` · `DEFAULT_SESSION_KEY` · `hostEnv` · `unrefTimer` · `parseLocaleTag` / `pickUiLanguage`(#244 F4 族D A-028.20:locale tag 手术单源 + UI 语言判定;与 `resolveRegionHint` 双出口成文 —— 语言偏好域 en/zh ≠ 地址可达域 cn/intl/unknown,`zh-Hant` 前者 zh 后者 intl 是设计)· `engineNamespaceKeyFor` / `mergeSessionMapRecord` / `mergeEngineEntry`(A-028.12:会话 id 映射单一键形 + merge 判定;存储经 `SessionMapStorePort` 归端 —— cli 文件锁/原子写,web localStorage)| 进程/端级装配层(settings/fs/queue/timers/session/log/probe),与 per-turn 的 `AdapterContext` **分层**。头注的判定规则:**这个能力每 turn 都会变吗?** 会 ⇒ `ctx`;不会 ⇒ `installHost` | `src/host.ts`、`src/hostEnv.ts`、`src/sessionSlot.ts`、`src/unrefTimer.ts`、`src/env/{localeGeo,localeTag,uiLanguage}.ts`、`src/sessionMap.ts` |
175
- | 15 | **控制面与传输** | 206 | `printInitToolFaceSupersetKeys`(0.86.0 CC-266:`-p` 首帧 `system/init` 两只来源超集键 `_sema_tools_source` / `_sema_tools_fallback_reason` 的铸口,`withPrintInitFrame` 已铺在宿主那只首帧对象上;自建首帧的宿主展开它的结果;§112)· `FLEET_LEASE_UNAVAILABLE` / `fleetLeaseUnavailableFromError` / `fleetLeaseUnavailableContent`(0.86.0 CC-250:计费入口 503 `fleet.lease_unavailable` 按码读口与一句话,`classifyTurnWireError` 的 `http` 判决同批带 `leaseUnavailable`;§112)· `hostPostureRefusalFromError` / `hostPostureRefusalContent` · `inheritEnvRefusalFromError` / `inheritEnvRefusalContent` · `settingsPermissionBucketRefusalFromError` / `settingsPermissionBucketRefusalContent` · `toolDeclarationRefusalFromError` / `toolDeclarationRefusalContent` · `bodyShapeRefusalFromError` / `bodyShapeRefusalTouchesSettings`(0.86.0 CC-257 / CC-262 / CC-263 / CC-265:新提交两只拒、权限规则表超帽坏项、工具声明族「不是暂时故障」、请求体键形拒两张键表 —— 五对按码读口与单源句;§112)· `judgeWebSearchSettings` / `webSearchVerdictFromEnv` / `resolveWebSearchVerdict` / `webSearchVerdictMessage` / `webSearchEndpointForDisplay`(0.82.7 CC-182:每请求联网搜索配置三态判决,与 server ≥7.100.0 判官同判;§99)· `withPrintInitFrame` / `createPrintInitGate` / `printInitRosterSignal` / `decidePrintInitToolFace` / `printInitToolFaceDebugLine` / `PRINT_INIT_ROSTER_WAIT_MS`(0.82.5 CC-169:print 车道 init 帧工具面名册优先 —— 流包装器、判定闸、名册信号三态分类、判定口、留痕措辞单源、等待上界;§97)· `projectRegistryQuotaUsage` / `quotaAmountText` / `registryQuotaDoctorDetail`(0.82.0 CC-150:云控制面 quota/usage 回体的纯投影 —— 两种 null 的正面事实与「判不出」三分,措辞零 0;§92)· `pushSessionBundle` / `pullSessionBundle` / `importSessionBundle` / `APIError`(0.79.0 CC-128:会话 bundle 面四名原样转口,与 `AgentClient` 同一张存量转口表;§85)· `readMcpCapabilities` / `probeMcpServers` / `classifyMcpProbeFailure` / `MCP_PROBE_REFUSAL_CAUSES` / `MCP_PROBE_UNKNOWN_WHYS`(0.79.0 CC-74:无 run 可读的 MCP 状态面两只调用口 + 单一失败判官 + 两张闭集词表;§85)· `readEntryProvenance` / `eraseMemoryEntries` / `listExternalOriginEntries` / `listOriginClearances` / `clearEntryOrigin` / `classifyMemoryFailure` / `externalOriginCoverage` / `MEMORY_VERB_REFUSAL_CAUSES` / `MEMORY_VERB_UNKNOWN_WHYS`(0.78.1 CC-97 b:记忆治理面五动词调用口 + 单一失败判官 + 两张闭集 + 覆盖面判词;§83)· `readMemoryExportRows` / `scopeExternalOriginVerdict` / `readMemoryEraseReceipt` / `memoryEraseCounts` / `memoryEraseErasedNothing` / `eraseNotFoundHistoryVerdict` / `memoryEraseReplayPosture` / `readMemoryOriginClearanceReceipt` / `MEMORY_ENGINE_REQUIRED_CODE`(0.76.1 CC-97a:记忆条目面三个回体的窄读口 + 判词口;「空答绝不读作本店干净」的代码落点;§77)· `readMcpLiveness` / `mcpLivenessRollupOf` / `mcpEngineLegHealthOf` / `mcpEngineLegHealthDetail` / `MCP_LIVENESS_STATES`(0.76.1 CC-36:`wiring_manifest.mcp[].liveness` 活性观察的行级三向读口 + 腿级四读数判词 + 措辞铸点;§77)· `readRunCancelContext` / `classifyRunAbortCause` / `RUN_CANCELLED_CODE`(0.74.3 CC-71:run 取消现场与成因;§71)· `cancelConflictFromError` / `cancelConflictContent` / `usageWindowExhaustedFromError` / `usageWindowExhaustedContent` + `CONFLICT_APPROVAL_SETTLED` / `CONFLICT_RUN_NOT_RUNNING`(0.73.1 CC-56:cancel 409 按码分家 + 提交面 429 用量窗;§63)· `reconnectMcpServer` / `projectMcpReconnectResult` / `classifyMcpReconnectFailure` / `projectMcpReconnectCapability` / `mcpReconnectOutcomeDetail` + `MCP_RECONNECT_OUTCOMES` / `MCP_RECONNECT_TRANSACTION_NOTICE`(0.72.9 CC-30:会话内 MCP re-dial 消费口,outcome 三态 / unsupported 恒五键 / 名册按 toolNames 在场性;§56)· `readAutoConsolidationArmed`(0.72.9 CC-39②:memory-status `autoConsolidationArmed` 三态,缺席 = 老 server 判不了;§56)· `steerFollowIntent`(0.72.6 CC-40:steer 后续听意图三态 tail / after-decision / after-wake,按 `SteerReceipt.delivery` 判;§53)· `projectWebSearchBackendCapability` / `observedWebSearchBackend` / `noteEngineCapsForWebSearchBackend` / `forgetWebSearchBackendReading` / `webSearchBackendDoctorDetail` + `WEB_SEARCH_BACKEND_NONE`(0.72.5 CC-31:`capabilities.webSearch.backend` 四态读面 —— 键缺席 = 老引擎判不了 ≠ `none` = 引擎明说没有默认后端;与 `sqlEngineCapability` / `writeProtectionCapability` 同构;§52)· `resumeContextUnavailableFromError` / `resumeContextUnavailableContent`(0.72.1 CC-33:409 `conflict.resume_context_unavailable` 读数 `{ code, staleAfterSec?, runId? }` + 三句人话;§48)· `mcpEngineLegPresence`(0.71.0 CC-19:引擎侧 MCP 在场三值,只从面板视图求;§42)· `ControlRouter`(+ `ControlSafetyError`)· `fetchMcpPanel`(0.69.0:经 sdk `sessions.mcp` 取体 + 投视图,不裸 fetch)· `projectMcpPanel` + `mcpPanelLastLegDetail`(0.68.2 CC-03:`GET /v1/sessions/:id/mcp` 面板体防御读视图 + `lastLegMcp` 一行措辞铸点;缺席 = 键不铸、读不懂 = `lastLegMcpUnreadable`、禁与 `servers[]` 对账)· `makeEngineWireClient` + `resolveWireAuth` · `installEngineWireTarget` · `diagnoseSseIdleTear` / `isSseIdleError` · `attemptActiveRunSelfHeal` + `activeRunBusySignal` + `activeRunSelfHealRow` / `activeRunBusyHeadlessRow` · `kickEngineCapsProbe` / `engineCapTrue` / `invalidateEngineCaps(baseUrl, probe?)`(#307 S25:引擎温切后的 caps 生产失效口 —— kick 自带幂等闸,同 baseUrl 重启后不显式失效就永远读到旧引擎那一版能力位;调用方 = 壳的 respawn/restartEngine。🔴 **推荐两参形**:第二参给替代探测则「推进代际 + 注册新探测」在同一同步块内完成,失效与下一次 kick 之间那个「等待者读到未判」的窗按构造不存在;单参形保留给「只丢缓存、这一刻没有替代探测」的调用方,那种情形下读到未判是诚实结局) · `engineCapValue`(S-131,0.59.0:能力位的**四态**通用读口 `unobserved`/`not_reported`/`null`/`value` —— 既有三口把四种「读不出」全折成 fail-closed 一档,对**放行**问题是对的、对**读面/诊断**问题是错的:`null`(引擎明确说没有,正面事实)会与「老引擎不报」「还没探到」在屏上同形。`value` 位刻意不做形校验,形归各能力位自己的窄读器,详见 §23b)· `projectSqlEngineCapability` / `observedSqlEngine` / `noteEngineCapsForSqlEngine` / `forgetSqlEngineReading` / `sqlEngineDoctorDetail`(S-131,0.59.0:`Capabilities.sql`(server ≥7.60.0)的四态读面**从壳侧上收** —— 归层债,0.58.0 时它长在壳里正是因为包侧没有嵌套对象读口。🔴 **导出名与壳侧那份逐字同名 = drift-lock**;`txnMode: null` 是铸点域内的合法值不是畸形;换代失效口清成未观测而不是留旧值,详见 §23b)· `mapBrainStatusToRetry` · `waitForClaimRelease` + `CLAIM_RELEASED_STATES` / `CLAIM_HELD_STATES` · `atMostOnceFailureClass` / `readSteerDelivery` · `clearRunningChoiceOffer`(Inkglow-1085 P0b①:「Do nothing」登记的清口 —— 端的「重新打开操作菜单」入口;登记在场时 attemptActiveRunSelfHeal 不整卡重弹,not-parked 结局带 `alreadyOffered: true` 判别位,端据此降级渲一行)· `INTERACTIVE_WAY_OUT`(默认出路串单源)· `engineSessionParamFor`(design/285 批 0:`?session=` 派生的 **per-key** 形 —— `hostSessionFor(sessionKey)?.currentSessionId()` + [1501] 空串归一;零参 `engineSessionParam()` = 默认槽兼容层,取值链逐字等价)· `normalizeWirePrincipal`(A-028.10:principal 在场性 trim 原语 —— 全空白=缺席不发头,engineWireTarget 两臂/makeEngineWireClient/壳 livePrincipal 同尺)· `readSessionMemoryStatus` / `classifyMemoryStatusFailure` / `readCaptureOptOut` / `readLastCapture`(S-53 会话记忆姿态读面,0.48.0:失败分诊**码优先**——两个 404 分道 `not_found.session` / `not_found.route`,无码 404 不猜落 failed;五键逐键缺席语义两个合读器,`lastCapture` 三态的判别材料是 `committedCount` 不是本键;IO 归宿主注入 `MemoryStatusClientLike`,详见 §11) · `classifyTurnWireError` / `isWireTransportError` / `isPreStreamDrainingReject` / `isResumeAtRejection` / `drainingRetryDelayMs` / `scenarioDenyFromError` + `WIRE_NETWORK_ERROR_PATTERN`(A-028.11/.13:turn 错误分型判定半场,人话文案与渲染归端)· `resumeRetryLaterFromError`(L-102,0.57.0:resume 族**时间性拒绝**二码的判型半场 —— 这一族里唯一**带得出「等多久」**(`retryAfterSec`)的两个码。🔴 闭集**不是**「哪些码可以等」的名单:同族 `resume.row_recycling` 同样可等(窗口自清)只是没有秒数 ⇒ 本读口返回 `null` 只意味着没命中这两码,详见 §21) · `projectWriteProtectionCapability` / `observedWriteProtection` / `noteEngineCapsForWriteProtection` / `forgetWriteProtectionReading` / `writeProtectionDoctorDetail` / `projectWriteProtectionPosture` / `writeProtectionPostureDetail`(S-138,0.60.0:`Capabilities.writeProtection` (engine ≥7.63.0)的**四态**读面 + operator 面行表 —— 与上面 S-131 那一格**同构同纪律**。🔴 三位刻意不合成一个布尔;`not_reported` **不是**「这台部署没有写保护表」(座位缺席恰是缺省表在岗);逐行 name/kind 走**最小披露**只上 operator 面,详见 §24e)· `projectReadFacePosture` / `readFacePostureDetail` / `readFaceDisagreement`(S-167,0.61.0:operator 面 `diagnostics.wiring.readFace`(engine ≥7.65.0)的窄读器 —— 与上面S-138 那一格**同构同纪律**。🔴 三句「答不出来」逐字互异且没有一句等于「没有 READ 档」;`source` 按开集读;与租户面 `capabilities.readFace` 刻意不合流,只带一个纯比较函数,详见 §25)| 上行通道的**监管**半场(submit / steer / kill / 队列命令定序)+ 传输构造、caps 探测、SSE 断流分诊、**409 active-run 自愈** | `src/controlRouter.ts`、`steering.ts`、`sseIdleTriage.ts`、`retryStatus.ts`、`diagnostics.ts`、`engineWireSdk.ts`、`engineWireTarget.ts`、`src/principalWire.ts`、`src/wireErrorTriage.ts`、`engineSessionParam.ts`、`engineCapsCache.ts`、`liveInitToolFace.ts`、`adapter/activeRunSelfHeal.ts`、`src/sessionMemoryStatus.ts`、`src/writeProtectionCapability.ts`、`src/webSearchBackendCapability.ts`、`src/mcpReconnect.ts`、`src/readFacePosture.ts` |
176
- | 16 | **引擎词汇表与包自检** | 141 | `readRuleStoreUnavailable` / `readClassifierUnavailable` / `readPermissionModeUnavailable` / `readAskReleasedByMode` / `readReadDenyUnapplied` / `readLegacyModeSeedMigrated` + `PERMISSION_MODE_FOLD_REASONS`(0.86.0 CC-249:引擎 7.34.0 新铸六条通告的事实读器,挂进按码派发口;分支键按闭集读、描述性词原样透传;§112)· `RULES_LEGACY_TOOL_NAME` / `isRulesRefusalCode`(0.86.0 CC-251:会话规则写口拒名码常量与 `rules.` 族前缀谓词,开集;§112)· `isCorruptSessionError` / `isCorruptSessionResult` / `isCorruptSessionRunRow` / `isCorruptSessionCode` / `corruptSessionContent` / `CORRUPT_SESSION_ERROR_CODE`(0.85.0 CC-217:会话存档读不出在 HTTP 拒体 / 终局因由 / run 行三处载体同一判定 + 单源人话;§109)· `readSessionRecordsSkipped` / `sessionRecordsSkippedNote`(0.85.0 CC-217:服务端自铸通告 `session.records_skipped` 的事实读器,计数读不出答 `'unknown'` 不折 0;§109)· `sessionDeleteConflictFromError` / `sessionDeleteConflictContent` / `CONFLICT_SESSION_CHILDREN_ALIVE`(0.85.0 CC-243:删会话 409 按码分三形与三句;§109)· `STATUS_DERIVED_COARSE_CODES` / `isStatusDerivedCoarseCode`(0.85.0 CC-243:服务端分发器按状态补的粗码识别表与判定,以铸点为准;§109)· `SERVER_NOTICE_AUDIENCE` / `readInstructionsSourceChanged`(0.84.1 CC-213:服务端自铸通告码 → 受众两行,在册判据与受众读口同认;`instructions.source_changed` 的事实读器;§108)· `readEngineNoticeFacts` / `ENGINE_NOTICE_FACT_READERS`(0.84.1 CC-214:按码派发的 typed 通告事实口 + 派发表,七只读器八个码,只有受众 `user` 的六码属用户面;§108)· `PARKED_RESUME_STARTUP_FAILED` / `parkedResumeStartupFromError` / `parkedResumeStartupContent`(0.84.1 CC-225:停泊审批决断 422 的码常量、读口与按成因分说的一句话,同一个决定不重发、deny 照开;§108)· `CONFIG_LEGACY_TOOL_NAME` / `legacyToolNameFailureNoteOf`(0.84.1 CC-229:拒启码常量与启动失败出路句,只按码判,列四处可能的位置;§108)· `readReadRootGrantNotice`(0.84.0 CC-185:读目录授权两枚结论通告 `approval.read_root_granted` / `approval.read_root_grant_rejected` 的事实读口,按 `toolCallId` 对卡,没有 granted 通告 = 什么都没加;§107)· `APPROVAL_MANDATE_WORDS` / `isApprovalMandateWord` / `approvalMandateDetail`(0.83.2 CC-195:强制位站在哪一个词上的六词闭集,与引擎型面编译期双向钉;成员判据;每词一句说明;§102)· `resumePolicyBlockFromError` / `resumePolicyBlockContent`(0.82.1 CC-154:续跑折叠码 `resume_blocked_by_policy` 自己的读数与措辞,原码三态;§93)· `corruptStoredRowWhere` / `corruptStoredRowContent`(0.82.0 CC-156:续跑上下文坏档时引擎点名的那一行的读口与措辞单源;§92)· `effectiveWireErrorCode` / `RESUME_POLICY_FOLD_CODE`(0.82.0 CC-154:政策折叠码与「按原码判」的取码单源;§92)· `SETTLEMENT_KIND_WORDS` / `ccToolDenialKindForSettledBy` / `ccToolDenialKindForToolEnd`(0.80.0 CC-133:结算词十三词镜像 + 「谁结算的」→ CC 分类词单铸映射 + `tool_end` 帧合流读口;§87)· `CC_TOOL_DENIAL_KINDS` / `isCcToolDenialKind` / `isCcToolDenialKindADenial` / `isGateDeniedByWord`(0.79.0 CC-125:上游转录记录键 `toolDenialKind` 七词镜像 + 两只谓词 + `DeniedBy` 十词成员谓词;§85)· `mandatedApprovalDetail`(0.79.0 CC-110:「这张卡清不掉」那一句的唯一铸点;§85)· `CONFIG_MEMORY_PROJECT_KEY_SPELLING` / `CONFIG_MEMORY_WRITE_SCOPE_MISMATCH`(CC-96:记忆面两个**构造期**拒码,进既有 `config.` 族识别表;400 拼写 / 409 冲突,分诊归引擎)· `TASK_NOTIFICATION_TERMINAL_STATUSES` / `isTaskNotificationTerminalStatus`(0.72.12 CC-50:通知自己的四终态词,含 `cancelled`;与 run 级终态表两张表;§59)· `ENGINE_NOTICE_CODES` 71(0.83.0 CC-186:引擎 7.30.0 / 7.31.0 +2 `config.context_settings_swapped` / `config.secret_env_scrubbed`,均 operator;§100。历史:0.82.1 69、0.79.0 68、0.72.11 CC-49 67 —— core 7.23.0 +1 `config.write_protection_unresolved`,operator,兄弟码 `target_view_absent` 之后;§58)· `MCP_REDIAL_OUTCOMES` / `readMcpServerRedialed`(0.72.7 CC-42:通告 `mcp.server_redialed` 事实读器,outcome 三词闭集、added/removed 计数;§54)· `RESUME_CONTEXT_UNAVAILABLE`(0.72.1 CC-33;不进两个 resume 闭集:不可等、也不是换参数)· `RESUME_REOPEN_CODES` / `RESUME_ENV_FAILED` / `RESUME_TOOL_UNAVAILABLE` / `RESUME_TOOL_CONTRACT_MISMATCH` · `resumeReopenFromError` / `resumeReopenContent`(0.71.3 CC-06:resume reopen 族三码闭集 + 读口 + 三句,§45)· `readSkillsListingTruncated`(0.70.0 CC-04:`skills.listing_truncated` 事实读器,§39)· `CONFIG_REFUSAL_CODES` / `isConfigRefusalCode` · `DECIDE_WORKFLOW_LANE_CODES`(+ 三个具名码;`/decide` workflow 车道,三条出路刻意不合并,详见 §30h)· `STOP_CONFLICT_CODES` · `isInterruptedToolEndCode` · `isRewindFamilyCode` · `CLIENT_VERBS` · `compensationSplitViolations` · `DELEGATION_CAP_CODES` / `isDelegationCapCode` / `DELEGATION_CONCURRENCY_CAP` / `DELEGATION_SESSION_CAP`(0.38.0 #318 件④:core 5.48.0 design/323 委派席位到限**两码,处置不对称禁合并** —— 并发帽=**可等**(兄弟结束即有位)/ 会话累计帽=**等也没用**(这条会话的配额用尽))· `CONFIG_DELEGATION_ENTRY_CAPS`(同批入 `CONFIG_REFUSAL_CODES` 识别表)· `delegationCapDispositionOf` / `MCP_SERVER_REVOKED`(0.39.0 载体到货消费件:core 5.50.0 补 `{ error: code, code }` 孪生拼法后两码真上 `tool_end.errorCode`,0.38.0「先立词不落消费分支」的已知局限自此解除;处置轴 `wait-for-slot` / `reuse-existing-or-await-reap` 机器可读(累计帽=retained-window 帐,行回收配额即回,处置=SendMessage 复用,**非**「换会话/永久耗尽」——0.38.0 段该句系勘误),未知 `delegation.*` 码 ⇒ `undefined`;`mcp.server_revoked` = 操作员 mid-session 吊销 server 后的工具面本地闸(被吊销的 server **名**今天不过 wire 境:detail.server 是进程内位,抬升腿只 lift code——归因渲染候 core 补 typed detail,已点名);载体门 = engine-vocab G3 腿锚 core dist 铸点)· `CAPABILITY_SELF_ORCHESTRATION_REQUIRED`(S-81,server 7.57.0:提交面的 selfOrchestration 准入拒绝码。🔴 **复用码** —— 与其它 `capability.*` 501 同体形而处置不同,消费点必须按**恰等**判、绝不放宽成前缀判;判型与「去键重发一次」归 `src/selfOrchestrationDenial.ts`,详见 §13) · `GATE_PARKED_ERROR_CODE`(0.60.0:「门把这次调用 park 了」的机读码单源 —— `frameRouter` 的连坐/中断判据与 `gateOutcome.isGateParkedToolEnd` 读同一个常量;真机黑盒直证 park 短路帧上**没有 `gate`**,这个码是那一形唯一的信号,详见 §24c)| 三端分臂共用的**去字面化** `errorCode` 词表(病根正是三端各抄一份字面);编译期 verb 闭合门;搬迁补偿登记表 | `src/engineErrorCodes.ts`(计数以 `scripts/public-export-baseline.json` 为准,别手抄;A-028.11/.13 补 `DRAINING_ERROR_CODE`/`SCENARIO_NOT_ALLOWED_ERROR_CODE`/`RESUME_AT_ERROR_CODE_PREFIX`;#318 件④ 补 `delegation.*` 族四位 + `config.delegation_entry_caps`;0.39.0 补三新码消费件三位);S-81 补 `capability.self_orchestration_required` 一位;L-102 补 `resume.*` 时间性拒绝二码 + 闭集 `RESUME_RETRY_LATER_CODES` 三位)、`src/classifierVerdictWire.ts`、`src/compensations.ts`、`src/clientSlice.ts`;**0.67.0 补锚**(这三件的导出一直计在本域,而本表此前没有它们的锚行 —— 如实补上,不是搬家):`src/gateVocabulary.ts`(`GATE_DENIED_BY_WORDS`/`gateDeniedByDetail`/`ASK_ORIGIN_WORDS`/`askOriginDetail` + 🆕 `RULE_STORE_UNREADABLE_KINDS`/`isRuleStoreUnreadableKind`/`ruleStoreUnreadableDetail`,详见 §32d)、`src/autoModeUnavailable.ts`(`AUTO_MODE_UNAVAILABLE_CAUSES` + 🆕 `CLASSIFIER_DENY_CAUSES`/`isClassifierDenyCause`/`classifierDenyCauseOf`/`classifierDenyCauseDetail`;🔴 同批**删**`classifierUnavailableOf`/`classifierUnavailableDetail`,详见 §32b)、`src/classifierStatus.ts`(`CLASSIFIER_STATUS_STATES`/`classifierStatusOf`/`classifierStatusDetail`)|
175
+ | 15 | **控制面与传输** | 216 | `eraseSessionMemory` / `sessionMemoryEraseOutcome` + `SESSION_MEMORY_ERASE_REFUSAL_REASONS` / `SESSION_MEMORY_ERASE_UNCONFIRMED_WHYS` / `SESSION_MEMORY_ERASE_RETRIES`(0.88.0 CC-264:会话所有者自助记忆抹除 —— 按 wire 直发恰一发,四档判定 + 单源句 + 七值重发姿势;§114)· `classifyRegistryConflict` / `isScopeGoneError`(0.88.0 CC-280:registry 同一个 409 的两义判别,与新版 SDK 同名同答;§114)· `createPromptDeliveryLedger` / `promptKnownUndelivered` / `withoutUndeliveredPrompts`(0.88.0 CC-271:提交事实账本与两只按消息行的读口,判据 = 引擎为这次提交建了 run;§114)· `printInitToolFaceSupersetKeys`(0.86.0 CC-266:`-p` 首帧 `system/init` 两只来源超集键 `_sema_tools_source` / `_sema_tools_fallback_reason` 的铸口,`withPrintInitFrame` 已铺在宿主那只首帧对象上;自建首帧的宿主展开它的结果;§112)· `FLEET_LEASE_UNAVAILABLE` / `fleetLeaseUnavailableFromError` / `fleetLeaseUnavailableContent`(0.86.0 CC-250:计费入口 503 `fleet.lease_unavailable` 按码读口与一句话,`classifyTurnWireError` 的 `http` 判决同批带 `leaseUnavailable`;§112)· `hostPostureRefusalFromError` / `hostPostureRefusalContent` · `inheritEnvRefusalFromError` / `inheritEnvRefusalContent` · `settingsPermissionBucketRefusalFromError` / `settingsPermissionBucketRefusalContent` · `toolDeclarationRefusalFromError` / `toolDeclarationRefusalContent` · `bodyShapeRefusalFromError` / `bodyShapeRefusalTouchesSettings`(0.86.0 CC-257 / CC-262 / CC-263 / CC-265:新提交两只拒、权限规则表超帽坏项、工具声明族「不是暂时故障」、请求体键形拒两张键表 —— 五对按码读口与单源句;§112)· `judgeWebSearchSettings` / `webSearchVerdictFromEnv` / `resolveWebSearchVerdict` / `webSearchVerdictMessage` / `webSearchEndpointForDisplay`(0.82.7 CC-182:每请求联网搜索配置三态判决,与 server ≥7.100.0 判官同判;§99)· `withPrintInitFrame` / `createPrintInitGate` / `printInitRosterSignal` / `decidePrintInitToolFace` / `printInitToolFaceDebugLine` / `PRINT_INIT_ROSTER_WAIT_MS`(0.82.5 CC-169:print 车道 init 帧工具面名册优先 —— 流包装器、判定闸、名册信号三态分类、判定口、留痕措辞单源、等待上界;§97)· `projectRegistryQuotaUsage` / `quotaAmountText` / `registryQuotaDoctorDetail`(0.82.0 CC-150:云控制面 quota/usage 回体的纯投影 —— 两种 null 的正面事实与「判不出」三分,措辞零 0;§92)· `pushSessionBundle` / `pullSessionBundle` / `importSessionBundle` / `APIError`(0.79.0 CC-128:会话 bundle 面四名原样转口,与 `AgentClient` 同一张存量转口表;§85)· `readMcpCapabilities` / `probeMcpServers` / `classifyMcpProbeFailure` / `MCP_PROBE_REFUSAL_CAUSES` / `MCP_PROBE_UNKNOWN_WHYS`(0.79.0 CC-74:无 run 可读的 MCP 状态面两只调用口 + 单一失败判官 + 两张闭集词表;§85)· `readEntryProvenance` / `eraseMemoryEntries` / `listExternalOriginEntries` / `listOriginClearances` / `clearEntryOrigin` / `classifyMemoryFailure` / `externalOriginCoverage` / `MEMORY_VERB_REFUSAL_CAUSES` / `MEMORY_VERB_UNKNOWN_WHYS`(0.78.1 CC-97 b:记忆治理面五动词调用口 + 单一失败判官 + 两张闭集 + 覆盖面判词;§83)· `readMemoryExportRows` / `scopeExternalOriginVerdict` / `readMemoryEraseReceipt` / `memoryEraseCounts` / `memoryEraseErasedNothing` / `eraseNotFoundHistoryVerdict` / `memoryEraseReplayPosture` / `readMemoryOriginClearanceReceipt` / `MEMORY_ENGINE_REQUIRED_CODE`(0.76.1 CC-97a:记忆条目面三个回体的窄读口 + 判词口;「空答绝不读作本店干净」的代码落点;§77)· `readMcpLiveness` / `mcpLivenessRollupOf` / `mcpEngineLegHealthOf` / `mcpEngineLegHealthDetail` / `MCP_LIVENESS_STATES`(0.76.1 CC-36:`wiring_manifest.mcp[].liveness` 活性观察的行级三向读口 + 腿级四读数判词 + 措辞铸点;§77)· `readRunCancelContext` / `classifyRunAbortCause` / `RUN_CANCELLED_CODE`(0.74.3 CC-71:run 取消现场与成因;§71)· `cancelConflictFromError` / `cancelConflictContent` / `usageWindowExhaustedFromError` / `usageWindowExhaustedContent` + `CONFLICT_APPROVAL_SETTLED` / `CONFLICT_RUN_NOT_RUNNING`(0.73.1 CC-56:cancel 409 按码分家 + 提交面 429 用量窗;§63)· `reconnectMcpServer` / `projectMcpReconnectResult` / `classifyMcpReconnectFailure` / `projectMcpReconnectCapability` / `mcpReconnectOutcomeDetail` + `MCP_RECONNECT_OUTCOMES` / `MCP_RECONNECT_TRANSACTION_NOTICE`(0.72.9 CC-30:会话内 MCP re-dial 消费口,outcome 三态 / unsupported 恒五键 / 名册按 toolNames 在场性;§56)· `readAutoConsolidationArmed`(0.72.9 CC-39②:memory-status `autoConsolidationArmed` 三态,缺席 = 老 server 判不了;§56)· `steerFollowIntent`(0.72.6 CC-40:steer 后续听意图三态 tail / after-decision / after-wake,按 `SteerReceipt.delivery` 判;§53)· `projectWebSearchBackendCapability` / `observedWebSearchBackend` / `noteEngineCapsForWebSearchBackend` / `forgetWebSearchBackendReading` / `webSearchBackendDoctorDetail` + `WEB_SEARCH_BACKEND_NONE`(0.72.5 CC-31:`capabilities.webSearch.backend` 四态读面 —— 键缺席 = 老引擎判不了 ≠ `none` = 引擎明说没有默认后端;与 `sqlEngineCapability` / `writeProtectionCapability` 同构;§52)· `resumeContextUnavailableFromError` / `resumeContextUnavailableContent`(0.72.1 CC-33:409 `conflict.resume_context_unavailable` 读数 `{ code, staleAfterSec?, runId? }` + 三句人话;§48)· `mcpEngineLegPresence`(0.71.0 CC-19:引擎侧 MCP 在场三值,只从面板视图求;§42)· `ControlRouter`(+ `ControlSafetyError`)· `fetchMcpPanel`(0.69.0:经 sdk `sessions.mcp` 取体 + 投视图,不裸 fetch)· `projectMcpPanel` + `mcpPanelLastLegDetail`(0.68.2 CC-03:`GET /v1/sessions/:id/mcp` 面板体防御读视图 + `lastLegMcp` 一行措辞铸点;缺席 = 键不铸、读不懂 = `lastLegMcpUnreadable`、禁与 `servers[]` 对账)· `makeEngineWireClient` + `resolveWireAuth` · `installEngineWireTarget` · `diagnoseSseIdleTear` / `isSseIdleError` · `attemptActiveRunSelfHeal` + `activeRunBusySignal` + `activeRunSelfHealRow` / `activeRunBusyHeadlessRow` · `kickEngineCapsProbe` / `engineCapTrue` / `invalidateEngineCaps(baseUrl, probe?)`(#307 S25:引擎温切后的 caps 生产失效口 —— kick 自带幂等闸,同 baseUrl 重启后不显式失效就永远读到旧引擎那一版能力位;调用方 = 壳的 respawn/restartEngine。🔴 **推荐两参形**:第二参给替代探测则「推进代际 + 注册新探测」在同一同步块内完成,失效与下一次 kick 之间那个「等待者读到未判」的窗按构造不存在;单参形保留给「只丢缓存、这一刻没有替代探测」的调用方,那种情形下读到未判是诚实结局) · `engineCapValue`(S-131,0.59.0:能力位的**四态**通用读口 `unobserved`/`not_reported`/`null`/`value` —— 既有三口把四种「读不出」全折成 fail-closed 一档,对**放行**问题是对的、对**读面/诊断**问题是错的:`null`(引擎明确说没有,正面事实)会与「老引擎不报」「还没探到」在屏上同形。`value` 位刻意不做形校验,形归各能力位自己的窄读器,详见 §23b)· `projectSqlEngineCapability` / `observedSqlEngine` / `noteEngineCapsForSqlEngine` / `forgetSqlEngineReading` / `sqlEngineDoctorDetail`(S-131,0.59.0:`Capabilities.sql`(server ≥7.60.0)的四态读面**从壳侧上收** —— 归层债,0.58.0 时它长在壳里正是因为包侧没有嵌套对象读口。🔴 **导出名与壳侧那份逐字同名 = drift-lock**;`txnMode: null` 是铸点域内的合法值不是畸形;换代失效口清成未观测而不是留旧值,详见 §23b)· `mapBrainStatusToRetry` · `waitForClaimRelease` + `CLAIM_RELEASED_STATES` / `CLAIM_HELD_STATES` · `atMostOnceFailureClass` / `readSteerDelivery` · `clearRunningChoiceOffer`(Inkglow-1085 P0b①:「Do nothing」登记的清口 —— 端的「重新打开操作菜单」入口;登记在场时 attemptActiveRunSelfHeal 不整卡重弹,not-parked 结局带 `alreadyOffered: true` 判别位,端据此降级渲一行)· `INTERACTIVE_WAY_OUT`(默认出路串单源)· `engineSessionParamFor`(design/285 批 0:`?session=` 派生的 **per-key** 形 —— `hostSessionFor(sessionKey)?.currentSessionId()` + [1501] 空串归一;零参 `engineSessionParam()` = 默认槽兼容层,取值链逐字等价)· `normalizeWirePrincipal`(A-028.10:principal 在场性 trim 原语 —— 全空白=缺席不发头,engineWireTarget 两臂/makeEngineWireClient/壳 livePrincipal 同尺)· `readSessionMemoryStatus` / `classifyMemoryStatusFailure` / `readCaptureOptOut` / `readLastCapture`(S-53 会话记忆姿态读面,0.48.0:失败分诊**码优先**——两个 404 分道 `not_found.session` / `not_found.route`,无码 404 不猜落 failed;五键逐键缺席语义两个合读器,`lastCapture` 三态的判别材料是 `committedCount` 不是本键;IO 归宿主注入 `MemoryStatusClientLike`,详见 §11) · `classifyTurnWireError` / `isWireTransportError` / `isPreStreamDrainingReject` / `isResumeAtRejection` / `drainingRetryDelayMs` / `scenarioDenyFromError` + `WIRE_NETWORK_ERROR_PATTERN`(A-028.11/.13:turn 错误分型判定半场,人话文案与渲染归端)· `resumeRetryLaterFromError`(L-102,0.57.0:resume 族**时间性拒绝**二码的判型半场 —— 这一族里唯一**带得出「等多久」**(`retryAfterSec`)的两个码。🔴 闭集**不是**「哪些码可以等」的名单:同族 `resume.row_recycling` 同样可等(窗口自清)只是没有秒数 ⇒ 本读口返回 `null` 只意味着没命中这两码,详见 §21) · `projectWriteProtectionCapability` / `observedWriteProtection` / `noteEngineCapsForWriteProtection` / `forgetWriteProtectionReading` / `writeProtectionDoctorDetail` / `projectWriteProtectionPosture` / `writeProtectionPostureDetail`(S-138,0.60.0:`Capabilities.writeProtection` (engine ≥7.63.0)的**四态**读面 + operator 面行表 —— 与上面 S-131 那一格**同构同纪律**。🔴 三位刻意不合成一个布尔;`not_reported` **不是**「这台部署没有写保护表」(座位缺席恰是缺省表在岗);逐行 name/kind 走**最小披露**只上 operator 面,详见 §24e)· `projectReadFacePosture` / `readFacePostureDetail` / `readFaceDisagreement`(S-167,0.61.0:operator 面 `diagnostics.wiring.readFace`(engine ≥7.65.0)的窄读器 —— 与上面S-138 那一格**同构同纪律**。🔴 三句「答不出来」逐字互异且没有一句等于「没有 READ 档」;`source` 按开集读;与租户面 `capabilities.readFace` 刻意不合流,只带一个纯比较函数,详见 §25)| 上行通道的**监管**半场(submit / steer / kill / 队列命令定序)+ 传输构造、caps 探测、SSE 断流分诊、**409 active-run 自愈** | `src/controlRouter.ts`、`steering.ts`、`sseIdleTriage.ts`、`retryStatus.ts`、`diagnostics.ts`、`engineWireSdk.ts`、`engineWireTarget.ts`、`src/principalWire.ts`、`src/wireErrorTriage.ts`、`engineSessionParam.ts`、`engineCapsCache.ts`、`liveInitToolFace.ts`、`adapter/activeRunSelfHeal.ts`、`src/sessionMemoryStatus.ts`、`src/writeProtectionCapability.ts`、`src/webSearchBackendCapability.ts`、`src/mcpReconnect.ts`、`src/readFacePosture.ts` |
176
+ | 16 | **引擎词汇表与包自检** | 143 | `readModelUnreachable`(0.88.0 CC-270 ①:服务端自铸通告 `server.model_unreachable` 的事实读器,受众 user;§114)· `readToolTurnRepaired`(0.88.0 CC-272:`context.tool_turn_repaired` 的事实读器,受众运维面;§114)· `readRuleStoreUnavailable` / `readClassifierUnavailable` / `readPermissionModeUnavailable` / `readAskReleasedByMode` / `readReadDenyUnapplied` / `readLegacyModeSeedMigrated` + `PERMISSION_MODE_FOLD_REASONS`(0.86.0 CC-249:引擎 7.34.0 新铸六条通告的事实读器,挂进按码派发口;分支键按闭集读、描述性词原样透传;§112)· `RULES_LEGACY_TOOL_NAME` / `isRulesRefusalCode`(0.86.0 CC-251:会话规则写口拒名码常量与 `rules.` 族前缀谓词,开集;§112)· `isCorruptSessionError` / `isCorruptSessionResult` / `isCorruptSessionRunRow` / `isCorruptSessionCode` / `corruptSessionContent` / `CORRUPT_SESSION_ERROR_CODE`(0.85.0 CC-217:会话存档读不出在 HTTP 拒体 / 终局因由 / run 行三处载体同一判定 + 单源人话;§109)· `readSessionRecordsSkipped` / `sessionRecordsSkippedNote`(0.85.0 CC-217:服务端自铸通告 `session.records_skipped` 的事实读器,计数读不出答 `'unknown'` 不折 0;§109)· `sessionDeleteConflictFromError` / `sessionDeleteConflictContent` / `CONFLICT_SESSION_CHILDREN_ALIVE`(0.85.0 CC-243:删会话 409 按码分三形与三句;§109)· `STATUS_DERIVED_COARSE_CODES` / `isStatusDerivedCoarseCode`(0.85.0 CC-243:服务端分发器按状态补的粗码识别表与判定,以铸点为准;§109)· `SERVER_NOTICE_AUDIENCE` / `readInstructionsSourceChanged`(0.84.1 CC-213:服务端自铸通告码 → 受众两行,在册判据与受众读口同认;`instructions.source_changed` 的事实读器;§108)· `readEngineNoticeFacts` / `ENGINE_NOTICE_FACT_READERS`(0.84.1 CC-214:按码派发的 typed 通告事实口 + 派发表,七只读器八个码,只有受众 `user` 的六码属用户面;§108)· `PARKED_RESUME_STARTUP_FAILED` / `parkedResumeStartupFromError` / `parkedResumeStartupContent`(0.84.1 CC-225:停泊审批决断 422 的码常量、读口与按成因分说的一句话,同一个决定不重发、deny 照开;§108)· `CONFIG_LEGACY_TOOL_NAME` / `legacyToolNameFailureNoteOf`(0.84.1 CC-229:拒启码常量与启动失败出路句,只按码判,列四处可能的位置;§108)· `readReadRootGrantNotice`(0.84.0 CC-185:读目录授权两枚结论通告 `approval.read_root_granted` / `approval.read_root_grant_rejected` 的事实读口,按 `toolCallId` 对卡,没有 granted 通告 = 什么都没加;§107)· `APPROVAL_MANDATE_WORDS` / `isApprovalMandateWord` / `approvalMandateDetail`(0.83.2 CC-195:强制位站在哪一个词上的六词闭集,与引擎型面编译期双向钉;成员判据;每词一句说明;§102)· `resumePolicyBlockFromError` / `resumePolicyBlockContent`(0.82.1 CC-154:续跑折叠码 `resume_blocked_by_policy` 自己的读数与措辞,原码三态;§93)· `corruptStoredRowWhere` / `corruptStoredRowContent`(0.82.0 CC-156:续跑上下文坏档时引擎点名的那一行的读口与措辞单源;§92)· `effectiveWireErrorCode` / `RESUME_POLICY_FOLD_CODE`(0.82.0 CC-154:政策折叠码与「按原码判」的取码单源;§92)· `SETTLEMENT_KIND_WORDS` / `ccToolDenialKindForSettledBy` / `ccToolDenialKindForToolEnd`(0.80.0 CC-133:结算词十三词镜像 + 「谁结算的」→ CC 分类词单铸映射 + `tool_end` 帧合流读口;§87)· `CC_TOOL_DENIAL_KINDS` / `isCcToolDenialKind` / `isCcToolDenialKindADenial` / `isGateDeniedByWord`(0.79.0 CC-125:上游转录记录键 `toolDenialKind` 七词镜像 + 两只谓词 + `DeniedBy` 十词成员谓词;§85)· `mandatedApprovalDetail`(0.79.0 CC-110:「这张卡清不掉」那一句的唯一铸点;§85)· `CONFIG_MEMORY_PROJECT_KEY_SPELLING` / `CONFIG_MEMORY_WRITE_SCOPE_MISMATCH`(CC-96:记忆面两个**构造期**拒码,进既有 `config.` 族识别表;400 拼写 / 409 冲突,分诊归引擎)· `TASK_NOTIFICATION_TERMINAL_STATUSES` / `isTaskNotificationTerminalStatus`(0.72.12 CC-50:通知自己的四终态词,含 `cancelled`;与 run 级终态表两张表;§59)· `ENGINE_NOTICE_CODES` 71(0.83.0 CC-186:引擎 7.30.0 / 7.31.0 +2 `config.context_settings_swapped` / `config.secret_env_scrubbed`,均 operator;§100。历史:0.82.1 69、0.79.0 68、0.72.11 CC-49 67 —— core 7.23.0 +1 `config.write_protection_unresolved`,operator,兄弟码 `target_view_absent` 之后;§58)· `MCP_REDIAL_OUTCOMES` / `readMcpServerRedialed`(0.72.7 CC-42:通告 `mcp.server_redialed` 事实读器,outcome 三词闭集、added/removed 计数;§54)· `RESUME_CONTEXT_UNAVAILABLE`(0.72.1 CC-33;不进两个 resume 闭集:不可等、也不是换参数)· `RESUME_REOPEN_CODES` / `RESUME_ENV_FAILED` / `RESUME_TOOL_UNAVAILABLE` / `RESUME_TOOL_CONTRACT_MISMATCH` · `resumeReopenFromError` / `resumeReopenContent`(0.71.3 CC-06:resume reopen 族三码闭集 + 读口 + 三句,§45)· `readSkillsListingTruncated`(0.70.0 CC-04:`skills.listing_truncated` 事实读器,§39)· `CONFIG_REFUSAL_CODES` / `isConfigRefusalCode` · `DECIDE_WORKFLOW_LANE_CODES`(+ 三个具名码;`/decide` workflow 车道,三条出路刻意不合并,详见 §30h)· `STOP_CONFLICT_CODES` · `isInterruptedToolEndCode` · `isRewindFamilyCode` · `CLIENT_VERBS` · `compensationSplitViolations` · `DELEGATION_CAP_CODES` / `isDelegationCapCode` / `DELEGATION_CONCURRENCY_CAP` / `DELEGATION_SESSION_CAP`(0.38.0 #318 件④:core 5.48.0 design/323 委派席位到限**两码,处置不对称禁合并** —— 并发帽=**可等**(兄弟结束即有位)/ 会话累计帽=**等也没用**(这条会话的配额用尽))· `CONFIG_DELEGATION_ENTRY_CAPS`(同批入 `CONFIG_REFUSAL_CODES` 识别表)· `delegationCapDispositionOf` / `MCP_SERVER_REVOKED`(0.39.0 载体到货消费件:core 5.50.0 补 `{ error: code, code }` 孪生拼法后两码真上 `tool_end.errorCode`,0.38.0「先立词不落消费分支」的已知局限自此解除;处置轴 `wait-for-slot` / `reuse-existing-or-await-reap` 机器可读(累计帽=retained-window 帐,行回收配额即回,处置=SendMessage 复用,**非**「换会话/永久耗尽」——0.38.0 段该句系勘误),未知 `delegation.*` 码 ⇒ `undefined`;`mcp.server_revoked` = 操作员 mid-session 吊销 server 后的工具面本地闸(被吊销的 server **名**今天不过 wire 境:detail.server 是进程内位,抬升腿只 lift code——归因渲染候 core 补 typed detail,已点名);载体门 = engine-vocab G3 腿锚 core dist 铸点)· `CAPABILITY_SELF_ORCHESTRATION_REQUIRED`(S-81,server 7.57.0:提交面的 selfOrchestration 准入拒绝码。🔴 **复用码** —— 与其它 `capability.*` 501 同体形而处置不同,消费点必须按**恰等**判、绝不放宽成前缀判;判型与「去键重发一次」归 `src/selfOrchestrationDenial.ts`,详见 §13) · `GATE_PARKED_ERROR_CODE`(0.60.0:「门把这次调用 park 了」的机读码单源 —— `frameRouter` 的连坐/中断判据与 `gateOutcome.isGateParkedToolEnd` 读同一个常量;真机黑盒直证 park 短路帧上**没有 `gate`**,这个码是那一形唯一的信号,详见 §24c)| 三端分臂共用的**去字面化** `errorCode` 词表(病根正是三端各抄一份字面);编译期 verb 闭合门;搬迁补偿登记表 | `src/engineErrorCodes.ts`(计数以 `scripts/public-export-baseline.json` 为准,别手抄;A-028.11/.13 补 `DRAINING_ERROR_CODE`/`SCENARIO_NOT_ALLOWED_ERROR_CODE`/`RESUME_AT_ERROR_CODE_PREFIX`;#318 件④ 补 `delegation.*` 族四位 + `config.delegation_entry_caps`;0.39.0 补三新码消费件三位);S-81 补 `capability.self_orchestration_required` 一位;L-102 补 `resume.*` 时间性拒绝二码 + 闭集 `RESUME_RETRY_LATER_CODES` 三位)、`src/classifierVerdictWire.ts`、`src/compensations.ts`、`src/clientSlice.ts`;**0.67.0 补锚**(这三件的导出一直计在本域,而本表此前没有它们的锚行 —— 如实补上,不是搬家):`src/gateVocabulary.ts`(`GATE_DENIED_BY_WORDS`/`gateDeniedByDetail`/`ASK_ORIGIN_WORDS`/`askOriginDetail` + 🆕 `RULE_STORE_UNREADABLE_KINDS`/`isRuleStoreUnreadableKind`/`ruleStoreUnreadableDetail`,详见 §32d)、`src/autoModeUnavailable.ts`(`AUTO_MODE_UNAVAILABLE_CAUSES` + 🆕 `CLASSIFIER_DENY_CAUSES`/`isClassifierDenyCause`/`classifierDenyCauseOf`/`classifierDenyCauseDetail`;🔴 同批**删**`classifierUnavailableOf`/`classifierUnavailableDetail`,详见 §32b)、`src/classifierStatus.ts`(`CLASSIFIER_STATUS_STATES`/`classifierStatusOf`/`classifierStatusDetail`)|
177
177
 
178
178
  🔴 **`engineErrorCodes` 的开集纪律**(该文件头注逐字):这些 `ReadonlySet` / 前缀谓词一律是**识别表**,
179
179
  回答的是「我认不认得这个码」,**绝不是**「合法码只有这些」。消费点 `switch` **必须留 `default`**,
@@ -4682,7 +4682,7 @@ an argument」。audience 答另一问:这条事实**说给谁听**。
4682
4682
  **签名**
4683
4683
 
4684
4684
  ```ts
4685
- ENGINE_NOTICE_CODES: readonly string[] // 80 码,顺序同源(core 7.36.0 +1:route.tool_call_id_folded;0.86.0。此前 core 7.34.0 +6:config.permission_mode_unavailable / permission.ask_released_by_mode / permission.read_deny_unapplied / permission.rule_store_unavailable / resume.legacy_mode_seed_migrated / classifier.unavailable;0.86.0。此前 core 7.32.0 +2:approval.read_root_granted / approval.read_root_grant_rejected;0.83.2。此前 core 7.31.0 +2:config.context_settings_swapped〔7.30.0〕/ config.secret_env_scrubbed;0.83.0。此前 core 7.29.0 +1 route.response_model_mismatch;0.82.1)
4685
+ ENGINE_NOTICE_CODES: readonly string[] // 81 码,顺序同源(core 7.37.1 +1:context.tool_turn_repaired;0.88.0。此前 core 7.36.0 +1:route.tool_call_id_folded;0.86.0。此前 core 7.34.0 +6:config.permission_mode_unavailable / permission.ask_released_by_mode / permission.read_deny_unapplied / permission.rule_store_unavailable / resume.legacy_mode_seed_migrated / classifier.unavailable;0.86.0。此前 core 7.32.0 +2:approval.read_root_granted / approval.read_root_grant_rejected;0.83.2。此前 core 7.31.0 +2:config.context_settings_swapped〔7.30.0〕/ config.secret_env_scrubbed;0.83.0。此前 core 7.29.0 +1 route.response_model_mismatch;0.82.1)
4686
4686
  ENGINE_NOTICE_AUDIENCE: Readonly<Record<string, 'user' | 'operator'>>
4687
4687
  noticeAudienceOf(code: unknown): 'user' | 'operator'
4688
4688
  engineNoticeInCatalog(code: unknown): boolean
@@ -9644,6 +9644,367 @@ installCoreValuePorts({ resolveAutonomousLoopPrompt, loosenReasons, combinePolic
9644
9644
 
9645
9645
  **包侧缺口:** ① 出包面注释存量(别仓名 / 票号 / 帖号 / 过程词)与卫生门判据太窄(CC-100)—— 方案候拍板(dist 去注释 vs 手清),0.77.2 · ② `DeniedBy` 第十词 `read_boundary` / `teamName` / `stillLive` 三词随 sdk 10 型面在 0.78.0 吸收(CC-106)· ③ `capabilities.mcpProbe` 候 core 7.26.0 #951 → server 7.93.0(CC-74)。
9646
9646
 
9647
+ ## §114 🆕 0.88.0(2026-10-02)展示出口凭据面一次扫描 + 崩溃收敛 `cause` 第二词 + `server.model_unreachable` 入册 + 开发依赖换钉引擎 7.37.1(放行原因闭集镜像 · 修复通告读器)+ 会话所有者自助记忆抹除 + registry 409 两义判别 + 请求键 `requireExistingSession` 与被拒读口 + 投递事实判定归包 + plan 决断台账离门认领 + `wiring_manifest.fileHistory`(🔴 minor;型面 BREAKING 零处(对构造方);根公面运行期导出 1356 → 1372〔+16〕;测试钩 62 不变;公面类型名 922 → 942〔+20〕;`CrashConvergedRow.cause` 闭集 +1 词、`EngineNoticeFactsCode` +2 员〔穷尽分支的端编译期红〕;`WiringManifestChromeEvent.fileHistory?` / `WiringManifestView.fileHistory?` / `TaskRequestInput.requireExistingSession?` 三只可选位;展示出口在带凭据输入上输出字节变;超集键 +1〔`_sema_fileHistory`〕;零新投影臂;车道表 44 → 45 行;`ENGINE_NOTICE_CODES` 80 → 81;`SERVER_NOTICE_AUDIENCE` 三行 → 四行;peer sdk 地板 `>=12.0.1` 不动;开发依赖引擎 `~7.36.0` → `~7.37.1`)
9648
+
9649
+ > **minor**,十票同发(按票序):
9650
+ > ① **CC-247**:展示出口(`displayUntrusted` / `displayUntrustedMarks`,与本包合成终局行 / 结果帧 `errors[]` 铸点)共用的凭据面,从「几张识别网串行改写同一份文本、洗到不动点」换成**一次扫描**:判别视图 → 分隔 / 并联 / 屏上三种读面 → 各类候选一次收齐 → 按写死的优先序归并(114a-1)→ 落地;带凭据的输入在出口内部对落地结果再过一遍,到输出不再变为止(按改写遍数计、帽 8 次;实测遍数(含确认那一遍):差分门的随机 / 穷举 / 文法池与两条已知构造链至多 3 遍、非定向的自造文法串也见到 4 遍、定向搜索构造的串至多 6 遍;干净文本一遍、逐字节同;定向构造可让改写遍数随长度增长、到帽,KL-355)。带凭据的输入上输出字节变(DU-2);对上一发布产物全池差分,凭据位(本包认得的凭据标签 / 方案词的值位与 URL 结构位)「上一版遮、本版露」= 0(射程:差分门五池与门内追加的最小形之内;池外几形与本包铸点 → 展示出口的复合路径见末行「包侧缺口」⑤ / ⑤′,G-DU9)。
9651
+ > ② **CC-218**:服务端 7.108.0 起有序关停截断的腿以 `cause: 'shutdown_before_park'` 列收敛行;修前整行 `dropped`,本版照常分桶、因由不变(SB-1 / SB-2);同版服务端对未被追踪腿的 pending 孤儿改给 `resumeSafe:false`(本包零代码,RS-1)。
9652
+ > ③ **CC-270 ①**:服务端自铸码 `server.model_unreachable`(建连失败的模型端点)入受众表(user)+ 事实读器(MU-1 – MU-3)。
9653
+ > ④ **CC-272**:开发依赖换钉引擎 `~7.37.1`;放行原因闭集镜像与判词谓词(RR-1);`context.tool_turn_repaired` 入码册(运维面)+ 事实读器(TT-1 – TT-5);审批卡问类两位本版不接(AC-1)。
9654
+ > ⑤ **CC-264**:会话所有者对**自己会话**写进记忆的条目发起抹除 —— 调用口按 wire 直发恰一发,判定口四档 + 单源句 + 七值重发姿势,两代服务端逐码读(SE-1 – SE-6,114a-2)。
9655
+ > ⑥ **CC-280**:registry 写门 / 回滚门同一个 409 的两义(乐观锁冲突 vs 目标空间被删 / 重建)分开判(RC-1 – RC-5)。
9656
+ > ⑦ **CC-281**:请求键 `requireExistingSession`(只续已有会话)上车道表;服务端两种拒绝的读口与一句(RE-1 – RE-5 · RF-1 – RF-5)。
9657
+ > ⑧ **CC-271**:「这条消息确知没交给引擎」的判定从终端搬进包 —— 提交事实账本 + 两只同名读口;判据 = 引擎为这次提交**建了 run**(PD-1 – PD-5;🔴 与终端现行判据的差别见 114a′ 第 13 条)。
9658
+ > ⑨ **CC-278**:宿主登记的决断被离门证据结掉、还没被投递口认领时,随后到达的投递口认领原笔(DL-1 – DL-3)。
9659
+ > ⑩ **CC-279**:`wiring_manifest` 帧的 `fileHistory` 段(这条腿捕不捕文件历史)投影(FH-1 – FH-3)。
9660
+ > **到货点名**:终端 —— 请托方四件(CC-271 换读、CC-279 两处读点、CC-280 两条 registry 写腿、CC-281 `--resume` 路径)按 114d;🔴 换钉服务端 7.108.0 时线上锚 `cause` 一锚改钉;决断台账两处测试替身改 `settle()`;按产物字节登记锚的门换钉当天重跑(展示出口三枚登记键不在了)。网页端 —— 🔴 崩溃遗留通告三句开头写死「crash」建议必改(SB-1);其余零改动即得。管理台 —— 零改动即得(一处前缀断言建议放宽)。桌面端 —— 冻结期零改动。
9661
+
9662
+ ### 114a. 处置表
9663
+
9664
+ 包处置列与各端列的词同 §113a(按本机克隆的只读检索,读的是哪一个提交见 114d)。
9665
+
9666
+ | # | 面 | 包处置 | 旧 → 新 | 终端 | 网页端 | 桌面端 | 管理台 | 验收方 | 本节 |
9667
+ |---|---|---|---|---|---|---|---|---|---|
9668
+ | DU-1 | `displayUntrusted` / `displayUntrustedMarks` 的凭据面实现 | changed(内部重构;CC-247) | 串行多网 + 不动点循环 → 判别视图上一遍收齐 + 写死的优先序,带凭据的输入出口内部对落地结果再过到不动为止(按改写遍数计、帽 8 次;到帽交最后一次改写的输出);字符面 / 封长 / 标记位置读口不动(只在收尾做一次);封长后的有界重扫保留 | 零改动即得 | 零改动即得 | n/a | 零改动即得 | pending(G-DU1 – G-DU4) | 114a-1 |
9669
+ | DU-2 | 带凭据的输入上的输出字节 | changed(CHANGELOG 0.88.0 Changed 第 1 条逐类) | 凭据位「多遮 / 记号位置变」;非凭据位几形少遮(链接与邮箱挨着的干净形;带端口的链接形与上一版同) | 零改动即得(本机检索到的按字节断言格本版读数不变,见 114d;按产物字节登记锚的门换钉当天重跑) | 零改动即得(断言已是「不含值 ∧ 含记号」) | n/a | 零改动即得(一处前缀断言建议放宽) | pending(G-DU5 – G-DU16) | 114a′ 第 1 条 |
9670
+ | DU-3 | 结果帧 `errors[]` 与合成终局行正文(本包铸点洗凭据) | changed(同 DU-2) | 同一只凭据面,字节随 DU-2 变 | 零改动即得 | 零改动即得 | n/a | 零改动即得 | 回归约束 | 114a′ 第 1 条 |
9671
+ | DU-4 | 干净文本 | 不变 | 不含凭据形的行逐字节同 | 回归约束 | 回归约束 | — | 回归约束 | 回归约束(G-DU3) | — |
9672
+ | DU-5 | 幂等 | 不变(达成方式变;射程改口) | 洗两遍 = 洗一遍(**帽内收敛的输入**;含封长;`escapeBackslashes` 开着除外)—— 此前靠多网串行洗到不动点;本版判别视图上一遍收齐并归并,带凭据的输入在出口内部再过到不动为止(按改写遍数计、帽 8 次;实测遍数(含确认那一遍):差分门的随机 / 穷举 / 文法池与两条已知构造链至多 3 遍、非定向的自造文法串也见到 4 遍、定向搜索构造的串至多 6 遍),对帽内收敛的输入仍是一轮即不动;定向构造可让改写遍数随长度增长、到帽(交最后一次改写的输出,再过一遍只多遮不多露;KL-355) | 回归约束 | 回归约束 | — | 回归约束 | 回归约束(G-DU4) | 114a′ 第 2 条 |
9673
+ | DU-6 | 公面签名 / 类型 / 选项 | 不变 | 两只出口同名同签名,`DisplayUntrustedOptions` 各位语义不变 | — | — | — | — | 回归约束 | — |
9674
+ | SB-1 | `projectCrashConverged` 对 `cause:'shutdown_before_park'` 的行 | changed(consumed:服务端 7.108.0 闭集 +1;CC-218) | 整行计入 `dropped` → 照常分桶(常态 `needsHuman` / `approved_then_interrupted`;`pending` 形按 `resumeSafe`);`cause` 原样交出 | 零改动即得(通告按记录原样转述码,见 114d) | 🔴 pending(**建议必改**:崩溃遗留通告三句开头写死「from the last engine crash」、resumeSafe 行写「did not run before the crash」—— 有序关停的行会被说成崩溃;按行 `cause` 挑句,见 114d) | n/a(零读点) | n/a(零读点) | pending(G-SB1 – G-SB5) | 114a′ 第 5 / 6 条 |
9675
+ | SB-2 | `CrashConvergedRow.cause` 型 | changed(型联合 +1 词) | `'crashed_before_park'` → `'crashed_before_park' \| 'shutdown_before_park'` | 零改动即得(只按 `${row.cause}` 原样转述,无穷尽分支) | 零改动即得(不按 `cause` 分支) | n/a | n/a | pending(G-SB6) | 114y ① |
9676
+ | RS-1 | `crashConverged[].resumeSafe`(服务端值变;未被追踪腿的 pending 孤儿) | 不变(本包零代码;读数变) | 服务端 ≤7.107.x `true` ⇒ `resumeSafe[]`;7.108.0 起 `false` ⇒ `needsHuman[]` / `pending_unsafe` | 零改动即得(分桶单源在包;需人确认的行变多) | 零改动即得(同左) | n/a | n/a | 回归约束(G-RS1 / G-RS2) | 114b |
9677
+ | MU-1 | `SERVER_NOTICE_AUDIENCE` +`server.model_unreachable: 'user'`(连带 `engineNoticeInCatalog` / `noticeAudienceOf`) | changed(consumed:服务端 7.108.0 自铸码 +1;CC-270 ①) | 册外 / `operator` → 在册 / `user` | 零改动即得(呈现闸由「册外兜底行」变「册内通用行」,仍渲服务端原句;`-p` 机读车道这一码多一份 typed 读数);建议专属呈现(通用行截断补救句,见 114d) | n/a(无 `engine_notice` 呈现面) | n/a | n/a(零读点) | pending(G-MU1 / G-MU5) | 114a′ 第 7 条 |
9678
+ | MU-2 | 新根入口导出 `readModelUnreachable` + 视图型 `ModelUnreachableFactsView` | added(公面 +1 / 类型名 +1) | 无 → 五位窄读(四必填 + `proxyInUse?`),不成形 ⇒ `undefined` | 零改动即得(经派发口拿到;要专属句再读位) | n/a | n/a | n/a | pending(G-MU2 – G-MU4) | 114b |
9679
+ | MU-3 | 派发表 `ENGINE_NOTICE_FACT_READERS` +`'server.model_unreachable'` 行 | changed(+1 行) | 派发口答 `undefined` → `{ code, audience: 'user', facts }` | 零改动即得 | n/a | n/a | n/a | pending(G-MU2) | 114a′ 第 8 条 |
9680
+ | RR-1 | `GATE_MODE_RELEASE_REASON_WORDS` / `isGateModeReleaseReasonWord` / `GateModeReleaseReasonWord` | added(公面 +2 运行期名、+1 型名;引擎 7.37.0 放行原因闭集的镜像,生成物;CC-272) | 无 → 冻结词表(今天 `['rule_unreadable']`)+ 与引擎同答的成员谓词 | pending(非必改:按词说话时用谓词判;今天零读点) | n/a(零读点) | n/a(冻结) | n/a | pending(G-RR1) | 114b |
9681
+ | RR-2 | `GateModeReleaseView.reason`(`gateOutcomeOf` / `gateModeRelease`) | 不变 | 开集透传(表外词原样带回、处置照读) | 回归约束 | 回归约束 | — | — | 回归约束(G-RR2 – G-RR4) | 114b |
9682
+ | RR-3 | 引擎 7.37.0 不变式筛对放行原因收紧(表外词 / 不在 `classes` 里 ⇒ 引擎报缺陷,服务端整条门记录不上帧) | 不变(本包不重校引擎不变式) | — | 回归约束 | 回归约束 | — | — | 回归约束 | — |
9683
+ | TT-1 | `ENGINE_NOTICE_CODES` +`context.tool_turn_repaired`(受众 `operator`) | consumed(只随生成物;80 → 81) | 册外 → 在册、受众运维面 | 零改动即得(运维码不上机读车道) | n/a(零读点) | n/a | n/a | pending(G-TT1) | 114a′ 第 9 条 |
9684
+ | TT-2 | `readToolTurnRepaired` + 派发表一行 | added(公面 +1;事实读器) | 派发口答 `undefined` → typed 读数 `{ code, audience: 'operator', facts }` | n/a(今天服务端不把这一码放上客户端的流;要读它的是拿得到运维面原始通告的宿主) | n/a | n/a | n/a | pending(G-TT2 / G-TT3 / G-TT5) | 114b |
9685
+ | TT-3 | `EngineNoticeFactsCode` / `EngineNoticeFacts` | changed(型 +2 成员 / +2 臂,连 MU-3) | 15 码 → 17 码 | 零改动即得(按码 `===` 读,无穷尽分支) | n/a(零读点) | n/a | n/a | 回归约束(G-TT7) | 114y ① |
9686
+ | TT-4 | 修复形词表(引擎四词) | declined(本包不出镜像:引擎包入口不导出、已预告加词;读器按开集透传) | — | — | — | — | — | 回归约束(G-TT4 / G-TT6) | 114b |
9687
+ | TT-5 | 会话历史错配判型(0.87.0 TH-1 / TH-7) | 不变(判型零改) | 引擎 ≥ 7.37.1 上调用之后的块 / 晚到 / 缺失三形不再出 400(重复结果也被并掉)⇒ 键与出路句出现得更少;仍出 400 的形照旧认出 | 回归约束 | 回归约束 | — | — | 回归约束(G-TT8) | 114a′ 第 10 条 |
9688
+ | AC-1 | 审批卡上的问类两位 `askClass` / `classes`(活卡帧 / 停车卡 / 待决行) | pending(下一 minor;已发布的服务端卡帧不带这两位,零铸) | — | 候(卡面可选显示问类) | 候 | — | — | — | 114b |
9689
+ | AC-2 | 门记录放行 / 模式拒绝两臂的 `askClass` / `classes` | 不变(0.86.0 已投;引擎 7.37.0 同形) | — | 回归约束 | 回归约束 | — | — | 回归约束 | — |
9690
+ | PIN | 开发依赖引擎 `~7.36.0` → `~7.37.1` | changed(构建期) | 生成器要求 ≥ 7.37.0 | n/a | n/a | n/a | n/a | — | — |
9691
+ | SE-1 | 服务端 `POST /v1/sessions/:id/memory/erase`(会话所有者自助抹除) | consumed(本版新调用口;CC-264) | 包内无调用面 → `eraseSessionMemory` 恰一发、按 wire 直发 | pending(请托方:`/memory` 或会话状态面加「抹掉本会话写进记忆的条目」动作,确认卡之后调;见 114d) | pending(要用就接:同源中继形 `{ baseUrl: '/api', token: { mode: 'same-origin-relay' } }` 直接可用,不需要升 sdk) | pending(同网页端) | n/a(会话所有者面,不是运维面) | pending(G-SE1 / G-SE4 / G-SE5) | 114b · 114d |
9692
+ | SE-2 | 结局判定 | consumed(本版新判定口) | 各端按码自判 → `sessionMemoryEraseOutcome` 四档 + 单源人话 + 重发姿势 | pending(请托方:确认卡结果行直接渲 `text` + `retryText`;重发按钮按 `retry` 分支) | pending | pending | n/a | pending(G-SE2 / G-SE3 / G-SE6) | 114b · 114c |
9693
+ | SE-3 | 服务端 7.108.0 拒因映射(三只 409 + 500 typed;更老的服务端同四形落 500 `internal.error`) | consumed(两代读法) | — → 新一代按码分档;老一代那四形 ⇒ `unconfirmed` / `engine_fault` / `same_request_id` | 零改动即得 | 零改动即得 | 零改动即得 | — | pending(G-SE2 / G-SE3 / G-SE10 / G-SE11) | 114a-2 |
9694
+ | SE-4 | 200 收执 | consumed(复用既有读口) | 与 operator 面 `POST /v1/memory/erase` 同一只收执形 ⇒ 复用 `readMemoryEraseReceipt` / `memoryEraseCounts` / `memoryEraseReplayPosture`,不另出读口 | 零改动即得 | 零改动即得 | 零改动即得 | — | 回归约束(G-SE7) | 114b |
9695
+ | SE-5 | 同口 SDK 动词 `sessions.eraseMemory`(sdk ≥15.0.0) | declined(本包不经它) | — → 按 wire 直发(本包开发依赖的 sdk 没有这只动词;直发让任一 sdk 版本的宿主都能用,同源中继宿主不必升 sdk) | 不要直调(端经隔离门) | 同左 | 同左 | — | — | 114d |
9696
+ | SE-6 | 既有 operator 抹除口 `eraseMemoryEntries` / `classifyMemoryFailure` | 不变 | 逐字节同 0.87.0 | 回归约束 | 回归约束 | 回归约束 | — | 回归约束(G-SE8 / G-SE9) | — |
9697
+ | RC-1 | 根入口导出 `classifyRegistryConflict(status, body) ⇒ RegistryConflictClass` | added(公面 +1;终端请托 consumed;CC-280) | 无 → 三词闭集;409 机器码三步读;非 409 不读体;敌意体 409 ⇒ `'gone'` 不抛 | pending(请托方:两条 registry 写腿按 `'conflict'` 才重试一次、`'gone'` 止血;今天壳拿的是原始 `{status, json}`,直接喂这一口) | n/a(零读点) | n/a | n/a(管理台自有同规则读法,不经本包) | pending(G-RC1 / G-RC3) | 114b |
9698
+ | RC-2 | 根入口导出 `isScopeGoneError(err) ⇒ boolean` | added(公面 +1) | 无 → 带原样体的错误按体判;两只 scope-gone 类名 + 409 ⇒ true;判不出的形(114b)⇒ false | pending(按需:经子路径 `RegistryApiError` 抛出来的那几腿用) | n/a | n/a | n/a | pending(G-RC2) | 114b |
9699
+ | RC-3 | 型 `RegistryConflictClass`(`'gone' \| 'conflict' \| 'none'`) | added(公面类型 +1) | 无 → 与新版 SDK 同名型成员逐词相同;穷尽 `switch` 加词即编译红 | 零改动即得 | n/a | n/a | n/a | — | 114b |
9700
+ | RC-4 | 新版 SDK 的两只错误类 `ScopeGoneError`(子路径)/ `ControlScopeGoneError`(根) | declined(不转口、不自铸同名类:本包支持的 SDK 版本上不存在;自铸同名类会让升了 SDK 的端两只类各认各的) | — | 回归约束 | — | — | — | — | 114b |
9701
+ | RC-5 | registry 409 上其余机器码(回滚的「历史行属于已被替换的空间」、发布闸「已有待审」…) | 不变(归 `'conflict'`,与新版 SDK 同) | — | 回归约束(`'conflict'` = 「不是 scope-gone 的 409」,不等于「重试必过」;只在本腿 409 本来就是乐观锁冲突时按它重试) | — | — | — | — | 114b |
9702
+ | RE-1 | `TaskRequestInput.requireExistingSession?: boolean` + 车道表一行 | added(入参可选位;车道表 44 → 45 行;终端请托 consumed;CC-281) | 表外键 ⇒ `TypeError` → interactive / print(live)带 `requireExistingSession: true`;非 live ⇒ 回执 `not_live`;utility ⇒ 回执 `off_lane`(带 `sessionId` 时;`true` 而无会话 id 不分车道一律装配期拒) | pending(请托方:`--resume` 路径交 `true` + 会话 id) | n/a(零读点) | n/a | n/a | pending(G-RE1 / G-RE4 / G-RE6) | 114a′ 第 12 条 |
9703
+ | RE-2 | `requireExistingSession: true` 而 `sessionId` 缺席 / null / 空串 / 非串 | added(装配期拒) | (修前整键被当表外键拒)→ `TypeError`,文本含「没有可续的会话」,只报形状 | 回归约束(请托方本来就带会话 id) | — | — | — | pending(G-RE2) | 114b |
9704
+ | RE-3 | `requireExistingSession` 非布尔坏值 | added(装配期拒) | → `TypeError`,不回显值 | 回归约束 | — | — | — | pending(G-RE3) | 114b |
9705
+ | RE-4 | `requireExistingSession: false` / undefined / null | 不变 | 不发、不进回执(与缺席同义) | 回归约束 | — | — | — | 回归约束(G-RE5) | 114b |
9706
+ | RE-5 | 不带这一键的一切装配 | 不变 | 逐字节同 0.87.0 | 回归约束 | 回归约束 | 回归约束 | — | 回归约束(G-RE7) | — |
9707
+ | RF-1 | 根入口导出 `requireExistingSessionRefusalFromError(err)` | added(公面 +1;CC-281) | 无 → 404 `not_found.resource` / 422 `request.unprocessable` 且消息以 `(resume.session_not_found)` 收尾,或 404 / 422 且 `errorCode` 恰是 `resume.session_not_found` ⇒ 读数;其余 ⇒ null | pending(请托方:提交失败时先问这一口,再落通用错误行) | pending(非必改:只有交这一键的端才会收到这一拒) | n/a | n/a | pending(G-RF1 / G-RF3) | 114d |
9708
+ | RF-2 | 根入口导出 `requireExistingSessionRefusalContent(detail)` | added(公面 +1) | 无 → 两形各一句 + 通用句(按不可信读、不抛) | 同 RF-1 | 同 RF-1 | n/a | n/a | pending(G-RF1) | 114d |
9709
+ | RF-3 | 型 `RequireExistingSessionRefusalForm` / `RequireExistingSessionRefusalDetail` | added(公面类型 +2) | — | 零改动即得 | — | — | — | — | 114d |
9710
+ | RF-4 | 既有读口 `resumeRefusalFromError` / `classifySubagentResumeFailure` | 不变 | 对上述三形的答案逐字同 0.87.0(前者恒 null;后者 404 带码形答 `retention-lapsed`、粗码 404 答 `not-found`、粗码 422 答 `error` —— 都是既有行为) | 回归约束 | 回归约束 | 回归约束 | — | 回归约束(G-RF2) | 114d |
9711
+ | RF-5 | 流式提交上引擎侧的同码失败事件帧(会话店查不到的那一形) | pending(射程外,KL-343) | 不经本读口(那是事件帧不是抛出物),仍按既有失败投影渲 | — | — | — | — | — | 114d |
9712
+ | PD-1 | 新根入口导出 `createPromptDeliveryLedger` + 型 `PromptDeliveryLedger` / `PromptDeliveryRecord` | added(公面 +1;CC-271) | 无 → 提交事实账本(九只口,见 CHANGELOG) | pending(请托方;换读点见 114d,随换钉批) | pending(非必改:同样要「这条没送到」与旁路载荷过滤的端可采) | pending(非必改) | n/a | pending(G-PD1 – G-PD6 / G-PD10) | 114a′ 第 13 – 15 条 |
9713
+ | PD-2 | 新根入口导出 `promptKnownUndelivered(ledger, message)` | added(公面 +1;与终端旧实现同名) | 无 → 按行判「确知没交出去」 | pending(请托方:改成注入账本的薄包装) | 同 PD-1 | 同 PD-1 | n/a | pending(G-PD7) | — |
9714
+ | PD-3 | 新根入口导出 `withoutUndeliveredPrompts(ledger, messages)` | added(公面 +1;与终端旧实现同名) | 无 → 旁路载荷过滤(只剔确知没交出去的行,其余原样保序) | pending(请托方:同上;终端旁路调用点零改动) | 同 PD-1 | 同 PD-1 | n/a | pending(G-PD7) | — |
9715
+ | PD-4 | 投递首帧判据(终端现行「引擎流第一帧不是 409 就算交出去」→ 本包 `deliveredByFrame`) | changed(相对终端现行判据;本包首次出) | 第一帧非 409 即交出去 → **建了 run 的帧**才算:`meta` / `approval_request` / `approval_revoke` / 无 `type` 的对象不算;409 在跑帧不算 | 🔴 pending(请托方;行为改:durable 部署上 409 被拒的那一轮从「交出去了」变成「确知没交出去」⇒ 「↑ 重发」提示与旁路过滤在这一形上开始生效) | n/a | n/a | n/a | pending(G-PD3) | 114a′ 第 13 条 |
9716
+ | PD-5 | 既有判官 `activeRunBusySignal` / `selfHealSubmissionDisposition` | 不变(被本账本复用) | 答案逐字同 0.87.0 | 回归约束 | 回归约束 | 回归约束 | — | 回归约束(G-PD8) | — |
9717
+ | DL-1 | 投递口认领(`decidePlanReview`,及 arm 卡 / 重开卡 responder 走的同一投递口)对「已登记、被 `notePlanReviewGateLeft` 结掉、还没被认领」的那一笔 | changed(CC-278;终端请托 consumed) | 另铸一笔(`latestPlanReviewDecisionMark` 前进)→ 认领原笔(刻度不变;认领那一拍撤回离门结算与「没生效」注脚;两笔都被结掉时先认较近的) | pending(请托方:宿主编排计数可退,见 114d / 114y;🔴 测试替身两处待改,见 114d) | n/a(零读点:不登记 ⇒ 无此形) | n/a(零读点) | n/a(零读点) | pending(G-DL1 – G-DL5) | 114a′ 第 16 条 |
9718
+ | DL-2 | 认领来的那一笔在重开口判定里的身份 | 不变 | 同修前另铸的那一笔:从认领到结局算在飞(POST 在飞时重开口拒开、读起点早于结局的快照判陈旧),结局投出时结算 | 回归约束 | n/a | n/a | n/a | 回归约束(G-DL9) | — |
9719
+ | DL-3 | 宿主句柄 `settle()` / `revoke()`、离门证据 `notePlanReviewGateLeft`、投递口闩、容量规则、结局正文与机读位 | 不变 | 离门证据结掉之后 `settle()` 空动作、`revoke()` 不删(同修前);闩 / 容量 / 三种失败结局与不登记时逐字节同 | 回归约束 | n/a | n/a | n/a | 回归约束(G-DL6 – G-DL8) | 114b |
9720
+ | FH-1 | chrome `wiring_manifest` 臂的 `fileHistory?: string` | added(可选成员;CC-279) | 无 → 帧上自有非空串原字节过境(今天 `on` / `disabled`;开集);缺席 / 坏形 ⇒ 键缺席 | consumed(请托方;读点见 114d 两处,登记表该行 pending → consumed) | n/a(`wiring_manifest` 登记为不消费) | n/a(零读点) | n/a(`not_in_slice` 静默,零读点) | pending(G-FH1 / G-FH2 / G-FH4b) | 114b |
9721
+ | FH-2 | `WiringManifestView.fileHistory?`(`readSubmitWiringManifest` 非流式提交回执) | added(同一张视图,编译期钉键集相等) | 回执只带这一段 ⇒ `unreadable` → `manifest` 且视图带它 | 零改动即得 | n/a | n/a | n/a | pending(G-FH5) | 114a′ 第 17 条 |
9722
+ | FH-3 | 内部臂超集键 `_sema_fileHistory`(`eventToSdkMessage` 投影) | added(超集键 +1) | 无 → 在场同 FH-1 | 零改动即得(按开集读 `_sema_` 键) | 零改动即得 | 零改动即得 | 零改动即得 | 回归约束(G-FH3 / G-FH4a)/ 本版证明(G-FH6) | — |
9723
+
9724
+ #### 114a-1 · 展示出口一次扫描:优先序与记号原子(DU-1)
9725
+
9726
+ - **P0 剪边**:候选两端的可剥单元(着色序列、控制符、格式字符)剪到记号外,原样留在记号两侧;剪完只剩一枚记号(或几枚记号与它们之间的点 / 空格)的不算候选。
9727
+ - **P1 PEM 块不透明**:起点落在 PEM 块区域里的其它候选不算(块体整枚一个记号)。区域 = BEGIN 行起到 END 记号末;没有 END 行时到主体末的那一枚行断之后。块体里被剥掉(控制串 / 序列)、又没进块体记号的那一截是洞,洞里的候选照算(头行紧跟、或块体里夹着的控制串里的标签值照遮)。区域与读面同读:块头 / 块尾行在读面上认 —— 被剥单元的占位、画面读面画出的点 / 转义记号与空格同读(头行词间的空格换成零宽空格 / 软连字符 / RLM / BEL 时照认);区域与块体出自同一次认头(分隔读面;有屏上读面的出口取屏上那一只 —— 洗过的屏上文本再洗一遍时,原文读面看见的就是那一份),不另在原文上认;块头在读面上认不出(裸 ESC / C1 CSI 紧贴 `-----BEGIN`,判别视图把 `ESC -----B` 读成一段序列)的块不划区域,块里的标签值照遮。
9728
+ - **P2 地址片段内值的定界归结构**:带 scheme 的地址片段里,结构候选(userinfo / query 值 / 片段)所在片段之内的词级候选不算;伸出片段末的照并。值左邻紧贴一枚不可见单字、按整只值遮的候选不受 P2 压。
9729
+ - **P3 其余重叠取并**:并集里有词级 / PEM / 参数表 / 字面形 / 空主机 userinfo 候选、且它比全部结构候选伸得更远 ⇒ 记号种类 `secret`;否则取最靠左的结构候选的种类。
9730
+ - **T0 记号原子**:值以一枚记号起头、记号之后(跳过不可见单元与画出的点)不紧贴词字符,或紧跟一对可独立消费的键值(凭据标签的名字后直接是合法分隔 `:` / `=`、方案词 + 空白;名字与分隔之间只隔不可见单元 / 点 / 空格时,分隔之后已经没有明文才算;名字在串尾也算)⇒ 这只值就是那枚记号,不往后并。紧贴词字符、隔单元 / 画出的点再紧贴词字符、紧跟名字而名字后不是分隔、或名字与分隔之间隔着点而分隔后还有明文 ⇒ 值没洗完,照常往后扫。`«redacted:userinfo»@…` 是地址形,按结构处置。退役占位 `***`(本版不铸,只认上游带来的)严格判:后面还有别的内容整只照遮。URL 的 query 值 / 路径段参数值 / 片段另有一条:记号 + 尾标点 + 软位(不可见单元 / 画面读面画出的点)+ 词字符 ⇒ 没洗完(本包机读口按真空白断开交出的 `?k=«redacted:query»:<CR><值>` 在点形 / 转义形出口上与值粘成一截)。
9731
+ - **地址结构位的记号**:带 scheme 地址的 userinfo 位只有整段是记号(与点 / 空格 / 尾标点)才不动;`«redacted:userinfo»@…` 打头(多重 `@` 形)按已洗。query 值 / 路径段参数值 / 片段按 T0,退役占位严格判。
9732
+ - **带 scheme 地址跨停字符**:片段在 authority 里遇到 `" < > | \ ^ { }` / 反引号,只有「`@` 在前方 ∧(停字符恰在 `://` 之后 —— 中间只隔不可见单元也算 —— ∨ `://` 与停字符之间有一枚冒号)」才跨过(口令位上的停字符);闭形记号里的冒号、authority 开头一只闭合的方括号主机字面里的冒号不算。带端口的链接按有冒号处置 —— 它与带点用户名 + 停字符口令(`https://u.v:"<口令>@…`)只看字面分不开,取遮的一侧(KL-325)。
9733
+ - **片段在 `,` / `;` 处的断法**:query 值 / 片段里 `,` / `;` 后紧跟「凭据标签 + 分隔 + 空白」或「方案词 + 空白」(它的值落在片段外)⇒ 片段在这里断、让给词级网;空白 = 片段扫描自己的终止字符(ASCII 空白 / 控制符),不换行空格 / 表意空格 / 各宽空格 / 谚文填充 / 盲文空点是片段值里的字,不在这里断(值归结构,只开 URL 结构面的出口同遮);`;name=<值>` / `,name=<值>` / `,password:<值>` 是 URL 自己的参数语法,不断(值归结构,不按键名挑)。
9734
+ - **值遮盖续接**:一处值的遮盖之后隔着不可见单元(点形 / 转义形载体上还有画出的点与写出的转义记号)再紧贴词字符 ⇒ 遮盖续到那一截词的末尾(与 T0 在第二遍上的读法同判,第一遍就接近终形;帽内收敛的输入一轮即不动由出口内部的不动点循环保证)。
9735
+ - **无 scheme userinfo 的用户名定界**:用户名是冒号左边、最后一枚定界字符之后的一段;定界字符 = 空白与 `" ' ` ( ) [ ] { } < > | \ ^ , ; =`。用户名可以为空(`:<口令>@host`),可以整枚是一枚记号。口令不含空白、`@ / ? #`、双引号、反引号、尖括号;单引号允许,但「口令以 `'` 起头 ∧ 主机右界恰是 `'`」的单引号串不算 userinfo。口令段里有一枚完整记号、它是一枚凭据标签的已洗值、而口令段又不只是记号 ⇒ 那枚冒号不是分隔(第一遍就接近终形);口令段是「明文 + 记号」照旧按 userinfo 整段遮。闭合的方括号主机字面整只跳过,里面的冒号不是分隔。口令段含禁字时的例外(KL-323 ①–③):③ 用户名 + 冒号本身就是一枚凭据标签 + 分隔,或方案词 + 冒号(`bearer:` / `basic:`)⇒ 只有词级网开着、且它给这枚标签扫出的值真盖到 `@`(引号值闭在 `@` 之后 / 裸值一路没有停字符)才让给词级网,否则照认 userinfo;标签 / 方案词的裸值停在口令禁字上、其后到 `@主机` 没有断字也没有下一枚标签 ⇒ 值的遮盖延到 `@` 前。标签值读成无 scheme userinfo 地址时,最后一枚 `@` 的主机[:端口]之后紧贴、不以 `/ ? #` 起头的那一截照遮到值末(只剩标点 / 引号的不动)。
9736
+ - **封长**:封长之后若截出了新形,重扫有界(与此前同)。
9737
+
9738
+ #### 114a-2 · 会话记忆抹除:两代门序与码 → 档(SE-3)
9739
+
9740
+ | 门序 | HTTP / 机读码 | 新一代(≥7.108.0) | 老一代(7.106.0) | 结局 | 重发姿势 |
9741
+ |---|---|---|---|---|---|
9742
+ | 路由前 | 503 `auth.service_token_required` | 同 | 同 | refused / `credentials_required` | `needs_operator` |
9743
+ | 路由前 | 401 `auth.unauthorized` | 同 | 同 | refused / `not_permitted` | `pointless` |
9744
+ | 路由前 | 404 `not_found.route`(没有这条路由的老引擎) | — | — | refused / `route_absent` | `pointless` |
9745
+ | 处理器 ① | 400 `request.path_malformed` | 同 | 同 | refused / `request_rejected` | `pointless` |
9746
+ | 处理器 ② | 401 `auth.principal_required` / `principal_unverified` | 同 | 同 | refused / `not_permitted` | `pointless` |
9747
+ | 处理器 ③ | 501 `capability.memory_engine_required`(无属主读面,先于 404) | 同 | 同 | refused / `memory_engine_absent` | `pointless` |
9748
+ | 处理器 ④ | 404 `not_found.session`(未知与他人同码同句) | 同 | 同 | refused / `session_not_found` | `pointless` |
9749
+ | 处理器 ⑤ | 501 `capability.memory_engine_required`(无合规面) | 同 | 同 | refused / `memory_engine_absent` | `pointless` |
9750
+ | 处理器 ⑥ | 400 `request.body_shape` / `request.request_id_required` / `request.field_invalid` | 同 | 同 | refused / `request_rejected` | `pointless` |
9751
+ | 引擎 | 200 收执 `complete` / `partial` | 同 | 同 | erased / partial | `not_needed` / 证据腿 `same_request_id`、降级腿 `human_decision` |
9752
+ | 引擎 | 400 `config.memory_erasure_request` | 固定句 | 引擎原句直出 | refused / `request_rejected` | `pointless` |
9753
+ | 引擎 | 409 `memory.erasure_evidence_unavailable` | 409 | **500 `internal.error`** | 新 refused / `evidence_unavailable`;老 unconfirmed / `engine_fault` | 新 `needs_consent`;老 `same_request_id` |
9754
+ | 引擎 | 409 `memory.erasure_selector_mismatch` | 409 | **500 `internal.error`** | 新 refused / `request_id_reused`;老 unconfirmed / `engine_fault` | 新 `new_request_id`;老 `same_request_id` |
9755
+ | 引擎 | 409 `memory.erasure_census_incomplete` | 409 | **500 `internal.error`** | 新 refused / `store_unreadable`;老 unconfirmed / `engine_fault` | 新 `needs_operator`;老 `same_request_id` |
9756
+ | 引擎 | 409 `memory.target_outside_store` | 同 | 同 | unconfirmed / `store_link_outside` | `needs_operator` |
9757
+ | 引擎 | 500 `internal.memory_control_plane_corrupt` | 500 typed | **500 `internal.error`** | 新 unconfirmed / `control_plane_corrupt`;老 unconfirmed / `engine_fault` | 新 `needs_operator`;老 `same_request_id` |
9758
+ | 引擎 | 500 `internal.error` | 同 | 同 | unconfirmed / `engine_fault` | `same_request_id` |
9759
+
9760
+ 调用方签了 `allowUnevidenced: true` 时,**所有**「没法确认」档的重发姿势改为 `human_decision`(可能落在降级腿,同一个 `requestId` 再发就是一次新的真删)。拒档的姿势不变。
9761
+
9762
+ ### 114a′. 成文改口(旧判据眼作废 → 新判据眼)
9763
+
9764
+ 1. **改读**(CC-247;三端按字节断言凭据输出的格):一律改成**「不含值 ∧ 含 `«redacted:`」**两条独立断言 —— 不锚记号的具体位置、不锚记号与前后文字的拼接字节、不锚记号种类(取并会让种类变)。§101 起各版里「按字节断言凭据输出」的成文句(包括各版判据骨架里的逐字节期望)本版起按此读;已发段不回改,以本条为准。现状钉类的格(明知故犯地钉旧读数的)按新读数重钉。
9765
+ 2. **改读**(CC-247;幂等):「洗两遍 = 洗一遍」判据不变,射程收成**帽内收敛的输入**(此前写「任意输入」、「由构造保证」—— 带帽的循环只保证帽内)。达成方式:凭据面在判别视图上一遍收齐候选并归并、落地;带凭据的输入在出口内部对落地结果再过一遍,到输出不再变为止(按改写遍数计、帽 8 次;实测遍数(含确认那一遍):差分门的随机 / 穷举 / 文法池与两条已知构造链至多 3 遍,非定向的自造文法串也见到 4 遍(门池收了一只);定向构造可让遍数随长度增长,定向搜索实测构造到 6 遍、仍在帽内,这几只串也收进了差分门池);干净文本一遍、逐字节同;到帽 ⇒ 交最后一次改写的输出,再过一遍只多遮不多露(KL-355)。验收方只断言出口层的「洗两遍 = 洗一遍」,不要断言出口内部只过一遍,也不要拿自己构造的病态长串当反例(出口层读不到帽内收敛与否;按 G-DU4 的输入集断言)。
9766
+ 3. **改读**(CC-247;§101 / §105 / §108 各版对 KL-68 / KL-193 / KL-233 / KL-234 / KL-235 的「已知、不修」表述):这五行本版收口(KL-68 只收片段那一形,query 键不是凭据标签的同族形仍在),改读包侧缺口的新行。
9767
+ 4. **改读**(CC-247;用户名定界):此前「无 scheme userinfo 的用户名向左找到空白 / 上一枚 `@` / `/ ? #` 为止」改为 114a-1 的定界字符集;标签左边紧贴的裸串不再随记号吞掉(KL-318)。
9768
+ 5. **作废**(CC-218):§113c G-N5「`cause:'shutdown_before_park'` 的行今天仍计入 `dropped`」(回归约束)→ 新格 G-SB1 / G-SB2(本版证明):新词行读得出、因由与旧词同。按旧格写的验收脚本在 0.88.0 上会红,是预期。同理 §113 末行「包侧缺口」第 ⑦ 条「`cause:'shutdown_before_park'` 本版不认」作废 —— 0.88.0 起认;同条后半句「认它那天 needsHuman 因由不变」照旧成立。
9769
+ 6. **改读**(CC-218;§12 / §113 不回改,以本条为准):§12b `cause` 一行的形 `'crashed_before_park'` → `'crashed_before_park' | 'shutdown_before_park'`,说明补「`shutdown_before_park` = 服务端有序关停截断了一条还没闭的腿(服务端 ≥7.108.0);两词判据相同,分桶与因由都不看它」;§12 开头「local 引擎在人还挂在审批门上的时候崩了」补「或被有序关停截断」。§113a N-1 与 `needsHumanReason` 文档里 `contradictory` 的理由句「服务端 `resumeSafe` 恒 = `orphanState === 'pending'`」→「服务端 `decided` 行恒 `resumeSafe:false`;`pending` 行两值都合法(服务端 7.108.0 起未被追踪腿给 `false`)」,判据(`decided` ∧ `resumeSafe:true` ⇒ `contradictory`)不变。§12d 第 1 条补一句:`pending` ∧ `resumeSafe:false` 自服务端 7.108.0 起是常态(未被追踪的腿),因由 `pending_unsafe`;它不是坏形,不该被端当成「记录自相矛盾」。
9770
+ 7. **改读**(CC-270 ①;§108a N-1 / §109a T-3 / §109 K-4 的「两行 / 三行」):`SERVER_NOTICE_AUDIENCE` 自 0.88.0 起四行;按「键集恰为三行」断言的验收格改为四行(值 `server.model_unreachable: 'user'`)。
9771
+ 8. **改读**(CC-270 ①;派发口用户面码计数):0.86.0 起「受众 user 的码恰十二个」→ 0.88.0 恰十三个(+`server.model_unreachable`)。
9772
+ 9. **改读**(CC-272):「通告码册八十码」→ **八十一码**(§112 G-TF1 的长度眼作废,G-TT1 接替);「派发表运维面 typed 码恰三个」→ **四个**(+`context.tool_turn_repaired`)。
9773
+ 10. **补读**(CC-272;§113b):「`_sema_tool_history_mismatch` 整键缺席 …… 不是『会话历史一定没问题』」照旧成立,补一句:引擎 ≥ 7.37.1 上缺席多了一种常见成因 —— 引擎在请求出门前已把那只坏轮修好(那一次请求本来就不会被拒);引擎修好后,之前撞过错配的会话下一次请求成功,连续次数按「别的结局」清零。修复通告不上客户端的流,端不能据它抑制这只键(KL-308 射程句同批补)。
9774
+ 11. **作废一半**(CC-272):「放行账的 `reason` 只有 `rule_unreadable` 一词、本包不持闭集」—— 本包起持镜像词表与谓词(RR-1),读口仍开集(RR-2 回归约束)。
9775
+ 12. **作废**(CC-281):「`requireExistingSession` 是表外键 ⇒ 装配口 `TypeError`(不认识的键)」→ interactive / print 有座、utility `off_lane`、`true` + 无会话 id ⇒ 专句拒(G-RE1 – G-RE6)。验收方按旧行为写的格(「交这一键会被拒」)本版起判红是正确行为。
9776
+ 13. **改读**(CC-271;相对终端现行判据与 [8751] 口形草案):「delivered = 引擎流第一帧非拒收帧」作废 → 「**引擎为这次提交建了 run 的帧**」:服务端 7.108.0 durable 腿在开流处用预铸 run id 先写流首帧 `meta`、再写开流审批卡 preamble,之后才建 run,会话被占时 409 拒收终帧跟在它们后面(两代同序)—— 按「第一帧」判,会话被占的每一次提交都被记成交出去了。验收方按旧口径写的「首帧非 409 即 delivered」格须改成「建了 run 的帧」。
9777
+ 14. **改读**(CC-271;口形):草案 `deliveredByFrame(event)` / `deliveredBySteerReceipt(receipt)` → 本版带批:`deliveredByFrame(batchUuids, event)` / `deliveredBySteerReceipt(batchUuids, outcome)`。attempted 记整批,delivered 只记真编进请求的那几行,两者可以不同,且同一账本上可以有两批在飞;账本不替宿主猜「这一帧属于哪一批」。
9778
+ 15. **改读**(CC-271;受理回执读位):本版读的是处置分类 `selfHealSubmissionDisposition(outcome) === 'handed-off'`(「正文已经交给引擎了」那一词),与终端现行读法逐 kind 同答;将来两者分叉时以处置分类为准。
9779
+ 16. **作废**(CC-278):「离门证据之后到达的投递 = 新的一笔(另铸)」→「离门证据结掉、还没被认领的登记,由随后到达的投递口认领(同一笔)」。旧判据眼「离门 → 投递之后 `latestPlanReviewDecisionMark` 前进」作废;新判据眼:登记 → 离门 → 投递 ⇒ 刻度恒为登记那一枚(G-DL1 – G-DL4)。§109b「登记后不调 `settle()` / `revoke()`」那一条的射程补一句:被离门证据结掉的登记仍可被投递口认领。§109c「本包投递口从 POST 到投出结局的整段算在飞」「读起点早于结局 ⇒ 陈旧」两条在认领来的那一笔上照旧成立(G-DL9)。
9780
+ 17. **补读 / 作废**(CC-279):「`wiring_manifest` 事件键集恰为 …」加 `fileHistory`(present-iff);「只带文件历史一段的帧 ⇒ `not_in_slice`」作废(本版成臂)。§109a M-5「接线回执 `fileHistory` 段 pending(不投),视图十段不变」与 §109b「接线回执 `fileHistory` 段:本版不投 ⇒ 端读不到 ≠ 那条腿在捕获(KL-245)」作废 —— 0.88.0 起投(FH-1 – FH-3),KL-245 收口;端读不到这一段时按 114b 缺席语义读(不折 `disabled`)。§109b「片段口只答下一条提交带不带这一键」那一句照旧成立。
9781
+ 18. **改读**(CC-247;引号值里第二枚地址):引号值里地址之后、隔空白又以一枚地址起头的尾巴(`token:"u:<口令>@h https://h/x <尾>"`)—— 本版那枚地址只到空白为止,之后的明文照遮;上一版原样。按「尾巴原样」断言的格作废。
9782
+ - 新增 G-DU1 – G-DU15 / G-SB1 – G-SB6 / G-RS1 – G-RS2 / G-MU1 – G-MU5 / G-RR1 – G-RR4 / G-TT1 – G-TT8 / G-SE1 – G-SE11 / G-RC0 – G-RC3 / G-RE1 – G-RE7 / G-RF0 – G-RF3 / G-PD1 – G-PD10 / G-FH1 – G-FH7 / G-DL1 – G-DL9(114c)。
9783
+
9784
+ ### 114b. 缺席语义(逐键)
9785
+
9786
+ **展示出口(CC-247)**
9787
+ - 本版不增删任何键 / 选项位;`DisplayUntrustedOptions` 各位缺席时的缺省不变。
9788
+ - `credentialUrls: false`(只开词级面)/ `credentialWords: false`(只开 URL 结构面):关掉一面 = 宣告不遮那一面射程里的东西。只开 URL 结构面时,标签值、引号值地址之后的尾巴不遮(KL-321);只开词级面时,URL 的 userinfo / query / 片段只在它们同时是标签值时遮。
9789
+ - 记号种类(`userinfo` / `query` / `fragment` / `secret`)随取并变:端不要按种类分支判「遮了什么」。
9790
+ - 值以记号起头(上游预先带记号)的输入:T0 —— 记号后不紧贴词字符(或紧跟下一对键值)⇒ 按「已洗」处置,不是「没有值」;退役占位 `***` 后还有内容 ⇒ 不算已洗。
9791
+
9792
+ **崩溃收敛(CC-218)**
9793
+ - `cause`(`projectCrashConverged` 交出的行):恒在场,两词之一;词表外 / 缺席 / 非串 / 只在原型链上 ⇒ 这一行不交出、计入 `dropped`。`shutdown_before_park` **不是**「这次没崩」的保证 —— 它只说服务端记录到这条腿是被有序关停截断的;腿上那一步做到了哪儿,仍只看 `orphanState` / `resumeSafe`。
9794
+ - `resumeSafe:false` 的 `pending` 行(RS-1):**不是**「工具执行过」—— 是服务端拿不出「零执行」的腿上证据(未被追踪的腿)。端按 `needsHumanReason === 'pending_unsafe'` 挑句(「按记录没执行,但服务端没给可重跑」)。更老的服务端上同一形是 `resumeSafe:true`,落 `resumeSafe[]`。
9795
+
9796
+ **服务端自铸通告(CC-270 ①)**
9797
+ - `readModelUnreachable` 答 `undefined`:不是这一码 / `detail` 不是对象 / 四个必填位(`code` / `targetHost` / `remedy` / `sessionId`)任一缺席(只认自有属性,原型链上的同名键算缺席)、空串、非串 / 读它就抛。**不是**「模型端点够得着」。
9798
+ - `proxyInUse` 缺席 = 这一跳直连(或这一位读不出);**不是**「部署没配代理」—— 服务端只在这一跳真的经过代理时才带,带的是变量名、不是代理地址。
9799
+ - 这一条通告整个没来:**不等于**模型端点够得着 —— 服务端在同步非流式提交口、leader 车道、无会话的模型调用、代理在而上游不通、Bun 运行时上都不发;同一条腿对同一目标只发一次(KL-327)。
9800
+
9801
+ **引擎换钉(CC-272)**
9802
+ - `isGateModeReleaseReasonWord(x) === false`:不是「坏词」—— 比本包新的引擎加的词在这里答 false;`undefined`(放行账没带原因)同样答 false,缺席是「这次放行没有原因词」,不是任何一个原因词。
9803
+ - `released.reason` 缺席:这次放行的类组里没有原因词(普通问被模式放行),或老引擎 / 没投影这一位的服务端 —— 端不据它断言「这次没有越过读不出的规则行」。
9804
+ - `readToolTurnRepaired` / 派发口对这一码答 `undefined`:通告不成形;**不是**「这次请求没被修过」。三端在服务端承载的会话上根本收不到这一码(运维面)。
9805
+ - `form` 是表外词:更新的引擎加的修复形,原样带回;按词分支的端走 default。修复通告整条缺席:这一 run 的每一次请求本来就合法,或引擎 < 7.37.1(不修也不铸),或通告只进了运维日志 —— 三者在端上分不开。
9806
+ - 审批卡上 `askClass` / `classes` 缺席:本版本包不投影(AC-1),与「无类」无关。
9807
+ - 码册外的码(例如内嵌更新引擎的服务端新铸的码,KL-333):`readEngineNoticeFacts` 答 `undefined`、`noticeAudienceOf` 按保守缺省答 `operator` —— 那是「本版不认识」,不是判决。
9808
+
9809
+ **会话记忆抹除(CC-264)**
9810
+ - `answered.body` 为 `undefined` = 答复体不是 JSON(空体 / HTML 网关页 / 坏字节),**不是**「引擎答了一个空对象」。判定口:2xx ⇒ `unconfirmed` / `receipt_unreadable`(`receiptWhy: 'body_unreadable'`);非 2xx ⇒ `unconfirmed` / `no_code`。
9811
+ - `answered.sent.allowUnevidenced` 缺席 = 调用方没给(调用方对象的**自有**键才算给;原型链上继承来的不算、不上 wire;体里也没有这个键,服务端按默认拒降级腿),**不是** `false` 已签。
9812
+ - `eraseSessionMemory` 的 `opts.signal`:运行时有 `AbortSignal.any` 时只收本 realm 的 `AbortSignal` 实例;别的 realm 的信号与带 `addEventListener` 的鸭子形答 `not_sent` / `bad_input`(没发),不是「没有可用连线」。
9813
+ - 结局 `errorCode` 缺席 = 引擎没带自有的机读码(或码超过 200 字),或这一档本来就不是引擎答的(本地三因 / 没答复 / 2xx)。原型链上的同名位不算码。结局 `status` 缺席 = 没拿到 HTTP 答复或答复对象读不了。结局 `receiptWhy` 只在 `receipt_unreadable` 档在场。
9814
+ - 收执上 `select` 缺席:不另立必在键(`requestId` 对得上即认);在场而不是这条会话 ⇒ `receipt_mismatch`。
9815
+ - `erased` 档且收执零条 = 引擎完整判过、这条会话没有记录在案的贡献条目(或都已不在),不是「没法确认」。「已抹」只覆盖记录为这条会话贡献的条目,不覆盖别处的副本(收执 `residuals.propagation` 原样在收执里)。
9816
+ - `no_answer` **不是**「没做」:请求可能已被收下;同一个 `requestId` 重发在证据腿上收敛。`refused` / `cancelled_before_send` 是「调用前就已取消」;发出之后才取消的是 `no_answer`。
9817
+
9818
+ **registry 与只续已有会话(CC-280 / CC-281)**
9819
+ - `classifyRegistryConflict`:状态不是数 409(含串 `'409'`)⇒ `'none'`,不读体;409 而体缺席 / 非对象 / 三步都读不到机器码 ⇒ `'conflict'`(与新版 SDK 同);409 而体上取值器 / 代理抛 ⇒ `'gone'`(**读不出 ≠ 没有**;闭合到不重发的一边;JSON 解析出来的体上不可达);体上的取值器每次读答不同时每一位只读一次、按那一次读数判(新版 SDK 同一位读多次,两边可能不同答 —— 与新版 SDK 的第二处分歧,同样只在宿主自造的对象上出现;JSON 体上逐例同答);`errorCode` 是空白串 / 非串 ⇒ 视为缺席、落到下一步;`error` 串原样比。
9820
+ - `isScopeGoneError`:非对象 / `status` 读不出 / 不是 409 ⇒ `false`;409 而体与类名都读不出 ⇒ `true`;409 而错误对象上没有体、类名也不是两只 scope-gone 类之一 ⇒ `false` —— **这是「判不出」不是「确证不是」**(本包支持的 SDK 版本的控制面映射与两只乐观锁冲突类不保留体也不保留码;要判就拿原始状态与体调 `classifyRegistryConflict`)。
9821
+ - `requireExistingSession`(请求键):缺席 / `false` / undefined / null = 「找不到就新开」(服务端缺省);本层不替服务端补 `false`。
9822
+ - `requireExistingSessionRefusalFromError`:状态缺席 / 非数 / 不是 404 或 422 ⇒ null(子代续跑面的同码 409 归子代读口);`errorCode` 缺席 ⇒ null(不按状态 + 消息猜);粗码形消息不以 `(resume.session_not_found)` 收尾 ⇒ null —— 端落回通用错误行,不说错话,只是少这一句;读数里 `code` 恒为 `resume.session_not_found`。
9823
+
9824
+ **投递事实(CC-271)**
9825
+ - `isDelivered(u)` 真 = 这条消息所在的那一批,引擎流上来过一帧证明建了 run 的帧,或自愈 steer 受理回执;**假 ≠ 没送到**(没走过提交路径时也是假)。
9826
+ - `knownUndelivered(u)` 真 = attempted ∧ ¬delivered:壳拒交 / 引擎拒收(409 在跑,含其前的 `meta` 与审批卡 preamble)/ 在飞未到建 run 的帧 / steer 被拒或送达未知 / 用户选「先不动」。在飞那一小段落在这一格(对旁路过滤是保守方向:少带一条)。
9827
+ - 两判皆假 = 不知道(恢复进来的旧消息、本地命令回显、本账本没见过的 uuid、非串 / 空串)。**不渲成「没送到」**。`batchOf(u)` 缺席 = 本账本没记过它的 attempted(含只经 `fromRecords` 读回得知的:记录不带批)。读回的记录与现场记下的同权;坏行逐条跳过,不是「这一条没送到」。
9828
+
9829
+ **决断台账(CC-278)**
9830
+ - 结算方(谁结算的这一笔:宿主 / 本包 / 离门证据)是包内位,**不上公面**:没有读口、不进结局机读位、不进任何帧。
9831
+ - `latestPlanReviewDecisionMark(taskId)` 的射程改口:「最近一笔的交出刻度」里的「一笔」= 一次**登记**或一次不经登记的投递;被离门证据结掉、随后被投递口认领的登记与那一发是同一笔(不再各占一枚刻度)。缺席(`null`)仍 = 这条 run 在本进程里没记过任何一笔。宿主不登记、或不调 `notePlanReviewGateLeft` ⇒ 本版无此形,行为与 0.87.0 逐字节同。
9832
+ - 被离门证据结掉的登记一直等到被认领、被容量挤掉或进程结束(无 TTL);中间宿主 `settle()` / `revoke()` 都动不了它(已结算);之后同 run 一次**不经登记**的投递会认领它(刻度不前进;KL-348)。
9833
+
9834
+ **文件历史段(CC-279)**
9835
+ - `fileHistory` 在场 = 引擎对**这一条腿**报了捕不捕文件历史(今天 core 只铸 `on` / `disabled`;开集读是前向兼容)。缺席 = 三形不可分:老服务端(<7.104.0 不投这一段)/ 老引擎或外部 derive 没报 / 帧上值坏形 —— 🔴 **不折 `disabled`**,也不当「在捕获」;端渲「本会话未按声明执行」那一句时,缺席走「引擎没报这条腿捕不捕」那一档。
9836
+ - `"disabled"` ≠「不能还原」:部署捕获位关时已存历史照常服务还原,只有请求词关的那条 run 自己不能还原;部署形看能力位 `fileHistoryCapture`,本位答这一条腿。子流那条腿的这一位不上 leader 面(与整臂同律)。
9837
+
9838
+ ### 114c. 黑盒判据骨架
9839
+
9840
+ > 🔴 标「本版证明」的格在**上一版(0.87.0)**产物上必须 FAIL、在 0.88.0 上必须 PASS;标「回归约束」的格两版都 PASS;标「端侧验收」的格验的是端换读之后的行为(包层跑不了)。本段每一格已在 0.87.0 发布包 dist 与 0.88.0 dist 上各实跑一次,两版读数原样附在括注里;请验收方记下自己两次跑的产物标识(版本 + tarball shasum)。纯包层,只走根入口公面;服务端夹具(可选)= 新一代 7.108.0 / 老一代 7.106.0 npm 包。前缀:G-DU = 展示出口(CC-247)、G-SB / G-RS = 崩溃收敛 `cause` 第二词与 `resumeSafe` 值变读数(CC-218)、G-MU = `server.model_unreachable`(CC-270 ①)、G-RR / G-TT = 放行原因 / 修复通告(CC-272)、G-SE = 会话记忆抹除(CC-264)、G-RC = registry 409(CC-280)、G-RE / G-RF = `requireExistingSession` 装配 / 被拒读口(CC-281)、G-PD = 投递事实(CC-271)、G-DL = 决断台账离门认领(CC-278)、G-FH = `fileHistory`(CC-279)。
9841
+
9842
+ **展示出口**(`W(s)` = `displayUntrusted(s, { controls: false, bidi: false, foldLines: false })`,`D(s, o)` = `displayUntrusted(s, o)`,`LINE = { foldLines: false, mark: 'dot' }`,`FIELD = { foldLines: false, mark: 'escape' }`;「不露」= 去掉 `\uXXXX` 转义记号与非字母数字之后,输出里不含该凭据任一连续 6 字)
9843
+
9844
+ - **G-DU1**(本版证明):`W('{"password":"u:hunter2hunter2@host/ PLACEHOLDERVALUE"}')` 恰 `{"password":"«redacted:userinfo»@host/ «redacted:secret»"}`;`D(·)` / `D(·, LINE)` / `D(·, FIELD)` 同答。(0.87.0:四出口都答 `«redacted:userinfo»@host/ PLACEHOLDERVALUE"}`;0.88.0:四出口恰期望串)
9845
+ - **G-DU2**(本版证明):`W('{"password":"https://host/ PLACEHOLDERVALUE"}')` 不露 `PLACEHOLDERVALUE`;`W("see 'u:hunter2hunter2@example.com' now")` 不露口令;`W('«redacted:query»:hunter2hunter2@host')` 恰 `«redacted:userinfo»@host`;`W('db :hunter2hunter2@host.example/x')` 不露口令;`W('see https://h:1/v1#api_key=AB|SECRETQ now')` 不含 `SECRETQ`。(0.87.0:五项依次 露 / 露 / 原样 / 露 / 含;0.88.0:不露 / 不露 / 恰期望 / 不露 / 不含)
9846
+ - **G-DU3**(回归约束):不含凭据标签 / 方案词 / userinfo 形 / 带 query 或片段的地址 / 记号 / PEM 头的文本行,`W(x) === x`、`D(x) === x`。(两版三行 × 三出口全等)
9847
+ - **G-DU4**(回归约束):对帽内收敛的输入 `s`(本段各格的输入、本包差分门全部池(含门池里收的定向搜索构造串)与自造文法池都在内;定向构造的病态长串可让改写遍数随长度增长、到帽,不在本格射程 —— KL-355)与选项 `o`(`escapeBackslashes: true` 除外),`D(D(s, o), o) === D(s, o)`(由出口内部的不动点循环在帽内保证;本包差分门 B6 钉各池到帽 0 次);含封长(`{ max: 9, mark: 'dot' }` / `{ max: 17 }` / `{ max: 23, foldLines: false, mark: 'escape' }`)。(七只输入 × 七组选项两版全等)
9848
+ - **G-DU5**(本版证明,用户名定界):`W('token=u:hunter2hunter2@host.example/x')` 恰 `token=«redacted:userinfo»@host.example/x`;`W('x(a:hunter2hunter2@host/p)')` 恰 `x(«redacted:userinfo»@host/p)`。(0.87.0:`«redacted:userinfo»@host.example/x` / `«redacted:userinfo»@host/p)`,`token=` 与 `x(` 被吞)
9849
+ - **G-DU6**(本版证明,T0 与续接):`W('token=«redacted:query»&hunter2hunter2 done')` 原样;`W('Authorization:N\u001bresponse=h(\u001bc')` 恰 `Authorization:«redacted:secret»`。回归约束半:`W('token=«redacted:query»hunter2hunter2 done')` 恰 `token=«redacted:secret» done`。(0.87.0:第一形 `token=«redacted:secret» done`、第二形尾留 `(\u001bc`(`Authorization:«redacted:secret»(\u001bc`);第三形两版同为 `token=«redacted:secret» done`(回归约束);0.88.0 恰期望)
9850
+ - **G-DU7**(回归约束,PEM):`W('-----BEGIN PRIVATE KEY-----\nMIIEvQFAKEFAKEFAKEFAKEFAKE\n-----END PRIVATE KEY----- token=PLACEHOLDERVALUE')` 不露 `PLACEHOLDERVALUE`、不露主体。(两版都不露)
9851
+ - **G-DU8**(本版证明,不插记号):`W("Credential://'e://@")` 恰 `Credential:«redacted:secret»'e://@`;`W('Authorization:tp://#>Authorization:')` 恰 `Authorization:tp://#«redacted:fragment»Authorization:`。(0.87.0:`…'e://«redacted:userinfo»@` / `Authorization:tp://#«redacted:fragment»`)
9852
+ - **G-DU9**(回归约束,差分):对上一发布产物跑本包 `scripts/run-display-untrusted-baseline-diff-test.mjs` 的五池 × 十五出口(基线 tarball 经 `SEMA_DU_BASELINE_TGZ` 给),凭据位「上一版遮、本版露」= 0(射程:差分门五池与门内追加的最小形之内,不是对任意输入的保证;池外仍原样的几形见末行「包侧缺口」⑤),只开 URL 结构面出口按射程 = 0,干净语料 100%,幂等 100%。验收方用自己的池时,判据按 114a′ 第 1 条:不含值 ∧ 含 `«redacted:`。(对 0.87.0 实跑,本版最后一次:1 071 165 格,凭据位 0 / 射程内 0;幂等 0 / 1 902 922 格;到帽 0 / 679 615 格)
9853
+ - **G-DU10**(干净形不多遮;两半):回归约束半 —— `<a href="https://example.com">bob@example.com</a>`、`url=https://example.com|owner=bob@example.com`、`|https://example.com|bob@example.com|`、`https://example.com<br>bob@example.com`、`["https://example.com","bob@example.com"]` 在 `W` / `D(·)` / `D(·, LINE)` / `D(·, FIELD)` 上逐字节不变;`W('https://u:p"w@host/x')` 恰 `https://«redacted:userinfo»@host/x`;`W('https://u.v:"hunter2hunter2@h/')` 与 `W('https://u.v:1"hunter2hunter2@h/')` 恰 `https://«redacted:userinfo»@h/`;带端口的链接形 `<a href="https://example.com:8080">bob@example.com</a>` 两版同答(多遮,KL-325)。本版证明半 —— `<a href="https://[2001:db8::1]">bob@example.com</a>`、`url=https://[::1]|owner=bob@example.com`、`{"url":"https://example.com","email":"bob@example.com"}` 在四出口上逐字节不变。(0.87.0:后三形四出口全多遮;0.88.0 全原样;前半两版同)
9854
+ - **G-DU11**(回归约束,预带记号 / 占位的输入;两版同答、不露口令):`W('password=«redacted:secret»password!hunter2hunter2')` 与 `W('password=***password!hunter2hunter2')` 恰 `password=«redacted:secret»`;`W('password="***@hunter2hunter2"')` 恰 `password="«redacted:secret»"`;`W('https://***:hunter2hunter2@例子.com/')` 恰 `https://«redacted:userinfo»@例子.com/`;`W('https://h/?k=«redacted:query»hunter2hunter2')` 恰 `https://h/?k=«redacted:query»`;`W('password=***Bearer.hunter2hunter2')`、`W('password=«redacted:secret»password.=hunter2hunter2')` 恰 `password=«redacted:secret»`。
9855
+ - **G-DU12**(回归约束,PEM 与控制串):`W('-----BEGIN PRIVATE KEY-----\u001b]0;token=hunter2hunter2\u0007')` 恰 `-----BEGIN PRIVATE KEY-----\u001b]0;token=«redacted:secret»\u0007`;块体里夹控制串(`…\nMIIEvQ\n\u001b]0;token=hunter2hunter2\u0007\n-----END PRIVATE KEY-----`)默认出口不露。(两版同)
9856
+ - **G-DU13**(回归约束,幂等):`W(':key=#)@h')` 恰 `:key=«redacted:secret»)@h` 且 `W(W(x)) === W(x)`;`W('u:hunter2hunter2«redacted:secret»@host')` 恰 `«redacted:userinfo»@host`;`D('s://\u001b[u"@', LINE)` 再洗一遍不变。(两版同;后一形点形输出字节两版不同 —— 0.87.0 `s://.[u"@` / 0.88.0 `s://.«redacted:userinfo»@`,属 DU-2,本格只判幂等)
9857
+ - **G-DU14**(回归约束,线性):`W('a:'.repeat(n) + '"@h')` 与 `W('x@' + 'a:'.repeat(n) + 'b@h')` 在 n = 2000 → 8000 上耗时倍数 < 10(或 8000 在 250 ms 内);`W('token="a '.repeat(n) + 'X')` 在 n = 1000 → 4000 上同判。(两版都线性;本机一次读数 0.88.0:7.7 / 9.5 / 134.8 ms)
9858
+ - **G-DU15**(回归约束;两版同遮):`W('token:u<hunter2hunter2@db')` 恰 `«redacted:userinfo»@db`,只开 URL 结构面(`{ ...W 的选项, credentialWords: false }`)同答;`W('auth_token:"pass"hunter2hunter2@db.example')` 恰 `«redacted:userinfo»@db.example`;`W('https://h/p;token=abc,PLACEHOLDERVALUE')` 恰 `https://h/p;token=«redacted:query»`,只开 URL 结构面同答;`W('\u001b-----BEGIN PRIVATE KEY-----\nfoo bar\npassword=hunter2hunter2\n-----END PRIVATE KEY-----')` 不露口令;`D(washCredentials 的产物, { foldLines: false, keepLayout: true, mark: 'dot' })` 对 `https://h/x?k=1:\rhunter2hunter2` 恰 `https://h/x?k=«redacted:query»`(`washCredentials` 不在根入口 —— 用本包合成终局行 / 结果帧 `errors[]` 的产物,或直接喂 `https://h/x?k=«redacted:query»:\rhunter2hunter2`);只开 URL 结构面上 `https://h/?k=1;Bearer\u00a0hunter2hunter2` 恰 `https://h/?k=«redacted:query»`、`https://h/p;a=1,Bearer\u2003hunter2hunter2` 恰 `https://h/p;a=«redacted:query»`(分隔之后是非 ASCII 空白:片段不在那里断);`W('password=https://h/token="\u001b]0;hunter2hunter2\u0007"')` 恰 `password=https://h/token=«redacted:secret»`(地址值路径标签之后引号里夹控制串;`D(·)` 同答);`W('bearer:u<hunter2hunter2@db>')` 与 `W('token:u<hunter2hunter2@db>')` 恰 `«redacted:userinfo»@db>`,只开 URL 结构面同答。(0.87.0 与 0.88.0 各形同遮)
9859
+ - **G-DU16**(本版证明):`W('"password":"To:<bob@example.com>admin:<hunter2hunter2@db:5432&x=PLACEHOLDERVALUE')` 恰 `"password":"«redacted:userinfo»@db:5432«redacted:secret»`;`W('-----BEGIN\u200bPRIVATE KEY-----\nMIIEvQFAKEFAKEFAKEFAKEFAKE\n-----END PRIVATE KEY-----')` 恰 `-----BEGIN\u200bPRIVATE KEY-----\n«redacted:secret»\n-----END PRIVATE KEY-----`(头行词间的空格换成零宽空格;换成 `\u00ad` / `\u200f` / `\u0007` 同答),`D(·, LINE)` 不露主体。(0.87.0:第一形 `«redacted:userinfo»@example.com>admin:<hunter2hunter2@db:5432&x=PLACEHOLDERVALUE`,两只值都露;第二形 `W` 与 `D(·, LINE)` 原样(`D(·)` / `D(·, FIELD)` 遮);0.88.0 恰期望 / 不露)
9860
+
9861
+ **崩溃收敛 `cause` 第二词与 `resumeSafe` 值变读数**(夹具五形,服务端审计店 `FileApprovalAskAuditStore` 真铸,第二只实例重放 + `convergeCrashedAsks()` + `listCrashConverged(undefined)`,整只经 `JSON.parse(JSON.stringify(…))` 过境后交 `projectCrashConverged({ pending: [], crashConverged })`:① 被追踪腿 `recordAsk` + `recordSettle(allowed)` ② 被追踪腿 `recordAsk`(无结清)③ 未被追踪腿(`legTracked:false`)`recordAsk` —— 三者之后调 `noteLegsInterruptedByShutdown()`(老一代无此口则跳过)—— ④ 被追踪腿 `recordAsk` ⑤ 被追踪腿 `recordAsk` + `recordSettle(allowed)`)
9862
+
9863
+ - **G-SB1**(本版证明):7.108.0 ① ⇒ `needsHuman`,`needsHumanReason === 'approved_then_interrupted'`,`cause === 'shutdown_before_park'`。(0.87.0:行缺席、被 `dropped`;0.88.0 命中)
9864
+ - **G-SB2**(本版证明):7.108.0 ②(`pending` / `resumeSafe:true` / `shutdown_before_park`)⇒ `resumeSafe[]`、行上无 `needsHumanReason` 键。(0.87.0 缺席;0.88.0 命中)
9865
+ - **G-SB3**(本版证明):7.108.0 五形 ⇒ `total === 5 && dropped === 0`。(0.87.0 `{total:3, dropped:2}`;0.88.0 `{total:5, dropped:0}`)
9866
+ - **G-SB4**(回归约束):`cause:'orderly_restart'` 的一行 ⇒ `{total:0, dropped:1}`(词表外仍丢)。
9867
+ - **G-SB5**(回归约束):7.108.0 ④ ⇒ `resumeSafe[]`;⑤ ⇒ `needsHuman` / `approved_then_interrupted`(旧词两形照旧)。
9868
+ - **G-SB6**(类型面本版证明):TS 宿主 `function f(c: CrashConvergedRow['cause']): string { switch (c) { case 'crashed_before_park': return 'x'; default: { const rest: never = c; return rest } } }` ⇒ 0.87.0 零诊断 / 0.88.0 恰 TS2322。
9869
+ - **G-RS1**(回归约束;读数随服务端变):7.108.0 ③(`pending` / `resumeSafe:false` / `crashed_before_park`)⇒ `needsHuman` / `pending_unsafe`(两版同)。
9870
+ - **G-RS2**(回归约束):7.106.0 ③ 同一形(`resumeSafe:true`)⇒ `resumeSafe[]`;五行全是旧词、`dropped === 0`(两版同)。
9871
+
9872
+ **`server.model_unreachable`**(铸帧:服务端 `model-unreachable-notice.js` 的 `createModelReachBrain(inner, { route })` 包一只内层 brain,内层 `stream()` 在 `model-reach-scope.js` 的 `currentModelCallReach()` 上写建连失败并以 `stopReason:'error'` 收场;在 `withModelReachScope(<会话>, …)` 里调一次,收 `route` 收到的那一帧)
9873
+
9874
+ - **G-MU1**(本版证明):`noticeAudienceOf('server.model_unreachable') === 'user'` 且 `engineNoticeInCatalog(…) === true`。(0.87.0 `['operator', false]`;0.88.0 `['user', true]`)
9875
+ - **G-MU2**(本版证明):直连帧(`ECONNREFUSED` / `127.0.0.1:9` / `proxyInUse:null`)经 `readEngineNoticeFacts` ⇒ `audience === 'user'`,`facts` 恰四键 `code / targetHost / remedy / sessionId`(无 `proxyInUse`)。(0.87.0 `undefined`)
9876
+ - **G-MU3**(本版证明):代理帧(`UND_ERR_CONNECT_TIMEOUT` / `api.example.test:443` / `HTTPS_PROXY`)⇒ `facts.proxyInUse === 'HTTPS_PROXY'`。(0.87.0 `undefined`)
9877
+ - **G-MU4**(本版证明):`readModelUnreachable` 在根入口;`detail` 缺 `remedy` ⇒ `undefined` 不抛。(0.87.0 读器不在公面)
9878
+ - **G-MU5**(回归约束):`SERVER_NOTICE_AUDIENCE` 其余三行值不变;`ENGINE_NOTICE_CODES` 不含 `server.model_unreachable`。
9879
+
9880
+ **放行原因与修复通告**
9881
+
9882
+ - **G-RR1**(本版证明):`GATE_MODE_RELEASE_REASON_WORDS` 深等 `['rule_unreadable']` 且冻结;`['rule_unreadable', 'a_reason_newer_than_this_client', '', undefined, 'Rule_unreadable'].map(isGateModeReleaseReasonWord)` = `[true, false, false, false, false]`。(0.87.0 两名都不存在)
9883
+ - **G-RR2 / G-RR3 / G-RR4**(回归约束):`gateModeRelease(gateOutcomeOf({ gate: { disposition: { kind: 'allowed', released: { mode: 'bypassPermissions', askClass: 'rule_unreadable', classes: ['rule_unreadable', 'write_protection'], origin: 'rule_store_unavailable', reason: <R> } } } }))` 原样带回 —— `<R>` 为表外词 `'a_reason_newer_than_this_client'` / `'rule_unreadable'` / 不带(视图无 `reason` 键)。(两版逐字同)
9884
+ - **G-TT1**(本版证明):`ENGINE_NOTICE_CODES.length === 81`;`route.tool_call_id_folded` 的下一员是 `context.tool_turn_repaired`;`engineNoticeInCatalog('context.tool_turn_repaired') === true`;`ENGINE_NOTICE_AUDIENCE['context.tool_turn_repaired'] === 'operator'`。(0.87.0:80 员、下一员 `task.user_steer_undrained`、不在册、受众表无此键;`noticeAudienceOf` 两版同答 `'operator'`,不作判别)
9885
+ - **G-TT2**(本版证明):`readEngineNoticeFacts({ code: 'context.tool_turn_repaired', message: 'm', detail: { repairs: [{ form: 'trailing_text', toolCallIds: ['g1', 'g2'] }], sessionId: 'seeded', runId: 'r1' } })` ⇒ `{ code, audience: 'operator', facts: { repairs: [{ form: 'trailing_text', toolCallIds: ['g1', 'g2'] }], sessionId: 'seeded', runId: 'r1' } }`。(0.87.0 `undefined`)
9886
+ - **G-TT3**(本版证明):`typeof readToolTurnRepaired === 'function'` 且 `ENGINE_NOTICE_FACT_READERS['context.tool_turn_repaired'] === readToolTurnRepaired`。(0.87.0 不存在)
9887
+ - **G-TT4**(本版证明):`repairs: [{ form: 'duplicate_call', toolCallIds: ['x1'] }, { form: 'late_result', toolCallIds: ['c6'] }]` ⇒ 两条原样带回(表外 `form` 不丢、不折、不连累同条通告别的条)。(0.87.0 整只 `undefined`)
9888
+ - **G-TT5**(本版证明):全形读得出,且五种坏形(`repairs: []` / 某条 `toolCallIds: []` / 某条 `form: ''` / 缺 `runId` / 某条是 `null`)各答 `undefined`。(0.87.0 全形也读不出)
9889
+ - **G-TT6**(回归约束):根入口没有名字匹配 `/TOOL_TURN_REPAIR|ToolTurnRepairForm|isToolTurnRepairForm/i` 的导出。(两版 `[]`)
9890
+ - **G-TT7**(本版证明):派发表里受众 `operator` 的码 = `['context.tool_turn_repaired', 'mcp.server_redialed', 'resume.legacy_mode_seed_migrated', 'skills.listing_truncated']`;`user` 的 13 个。(0.87.0:运维面三个、用户面 12 个)
9891
+ - **G-TT8**(回归约束):`classifyToolHistoryMismatch` 对三句模板与一个非模板 400 的答案两版逐字同(判型零改)。
9892
+
9893
+ **会话记忆抹除**(假引擎 = 一只 node:http 服务端,按场景答 200 收执 / 带码拒 / 挂住)
9894
+
9895
+ - **G-SE1**(本版证明):假引擎答 200 收执(`status: "complete"`)⇒ `sessionMemoryEraseOutcome(await eraseSessionMemory({ sessionId, requestId }, wire))` 为 `erased` / `not_needed`,引擎恰收一发,实收体恰好 `{"requestId":…}`。(0.87.0 口缺席;0.88.0 `erased` / `not_needed`,恰 1 发)
9896
+ - **G-SE2**(本版证明):409 `memory.erasure_selector_mismatch` ⇒ `refused` / `request_id_reused` / `new_request_id`。
9897
+ - **G-SE3**(本版证明):500 `internal.error`(老一代四形的落点)⇒ `unconfirmed` / `engine_fault` / `same_request_id`。
9898
+ - **G-SE4**(本版证明):假引擎收下不答、`timeoutMs: 100` ⇒ `unconfirmed` / `no_answer`,引擎恰收一发(不重发)。
9899
+ - **G-SE5**(本版证明):会话 id `..` ⇒ 答复 `not_sent`、结局 `refused` / `bad_input`,引擎零实收。
9900
+ - **G-SE6**(本版证明):502 非 JSON 体 ⇒ `unconfirmed` / `no_code`(没有引擎的码不判「没做」)。(G-SE2 – G-SE6:0.87.0 口缺席;0.88.0 恰期望)
9901
+ - **G-SE7**(回归约束):`readMemoryEraseReceipt` 读同一份收执 ⇒ `present`、`requestId` 原样。
9902
+ - **G-SE8**(回归约束):`classifyMemoryFailure({ status: 409, errorCode: 'memory.erasure_selector_mismatch' })` ⇒ `refused` / `selector_mismatch`(operator 面口不变)。
9903
+ - **G-SE9**(回归约束):`classifyMemoryFailure({ status: 500, errorCode: 'internal.memory_control_plane_corrupt' })` ⇒ `unknown` / `control_plane_corrupt`。
9904
+ - **G-SE10**(本版证明;可选服务端夹具 ≥7.108.0):起夹具自己的 HTTP 服务端,记忆面用夹具引擎的真 file 后端;同一个 `requestId` 先抹会话 A(⇒ `erased`)、同 id 重放(⇒ `erased`,收执与首发同)、再拿去抹会话 B(⇒ 新一代 `refused` / `request_id_reused`;老一代 7.106.0 ⇒ `unconfirmed` / `engine_fault`)。
9905
+ - **G-SE11**(本版证明;可选夹具):同上,后端证据面缺席 ⇒ 不签字 `refused` / `evidence_unavailable` / `needs_consent`(老一代 `unconfirmed` / `engine_fault`);签了 `allowUnevidenced: true` ⇒ `erased`(收执 `evidenceCapability: "none"`)。
9906
+
9907
+ **registry 409 与只续已有会话**(夹具 = 服务端 7.108.0)
9908
+
9909
+ - **G-RC0**(本版证明):`typeof classifyRegistryConflict` / `typeof isScopeGoneError` ⇒ `function` / `function`。(0.87.0 `undefined` / `undefined`)
9910
+ - **G-RC1**(本版证明):`classifyRegistryConflict(409, {error:"scope_gone", error_description})` / `(409, {error:<散文>, errorCode:"scope_gone"})` / `(409, {error:"conflict", currentVersion:3})` / `(404, {error:"scope_gone"})` ⇒ `"gone"` / `"gone"` / `"conflict"` / `"none"`。(0.87.0 四格抛「不是函数」)
9911
+ - **G-RC2**(本版证明;第三格是取舍格):`isScopeGoneError(new RegistryApiError(409, …, v1 体))` / CAS 体 / SDK 12 `toControlError(409, legacy scope-gone)` ⇒ `true` / `false` / `false`(第三格判不出,KL-339)。
9912
+ - **G-RC3**(本版证明):`classifyRegistryConflict(409, 全陷阱代理体)` ⇒ `"gone"`(不抛)。
9913
+ - **G-RE1**(本版证明):`assembleTaskRequest({ objective, sessionId: 's', live: true, requireExistingSession: true }, 'interactive')` 与 print ⇒ 体带 `requireExistingSession: true`、`omitted: []`。(0.87.0 抛「入参带了本包不认识的键」)
9914
+ - **G-RE2**(本版证明):`requireExistingSession: true` + 无 `sessionId` / `sessionId: ""` ⇒ 抛,文本含「没有可续的会话」。
9915
+ - **G-RE3**(本版证明):`requireExistingSession: 'true'` ⇒ 抛「只接受布尔或缺席」,不回显值。
9916
+ - **G-RE4**(本版证明):utility + `excludeAllTools: true` + `requireExistingSession: true` + `sessionId: '<独立会话 id>'` + `live: true` ⇒ 体无此键、回执**含** `{ key: 'requireExistingSession', cause: 'off_lane' }`(不带 `live` 时回执另含 `{ key: 'excludeAllTools', cause: 'not_live' }`)。`true` 而不带 `sessionId` 不分车道一律装配期拒(「没有可续的会话」那一句),不是回执。(0.87.0:带不带 `sessionId` / `live` 都抛「入参带了本包不认识的键」;0.88.0:带 `sessionId` + `live` 恰回执 `[{ key: 'requireExistingSession', cause: 'off_lane' }]`,只带 `sessionId` 回执两条,不带 `sessionId` 抛)
9917
+ - **G-RE5**(本版证明):`requireExistingSession: false` ⇒ 体无此键、回执空。
9918
+ - **G-RE6**(本版证明):`taskRequestSeatOf('requireExistingSession', 三车道)` ⇒ `seated/liveGated` × 2 + `{ seat: 'none', cause: 'off_lane' }`。(0.87.0 三格 `{ seat: 'unknown' }`;G-RE2 – G-RE5 在 0.87.0 上都抛「不认识的键」)
9919
+ - **G-RE7**(回归约束):不带这一键:两份输入 × 三车道 × live 两态(12 格)的请求体 + 回执与 0.87.0 逐字节相同。
9920
+ - **G-RF0**(本版证明):`typeof requireExistingSessionRefusalFromError` / `typeof requireExistingSessionRefusalContent` ⇒ `function` / `function`。
9921
+ - **G-RF1**(本版证明):SDK 12 `toApiError` 映出的 404 粗码 / 422 粗码 / 404 带码 / 409 同码 → 读口 ⇒ `session_not_found` / `session_id_missing` / `session_not_found` / `null`;措辞两形各自那一句,`{}` 落通用句。(0.87.0 抛「不是函数」)
9922
+ - **G-RF2**(回归约束):同四形喂 `resumeRefusalFromError` / `classifySubagentResumeFailure(…).reason` ⇒ `null` ×4;`not-found` / `error` / `retention-lapsed` / `retention-lapsed`。(两版逐字同)
9923
+ - **G-RF3**(本版证明;夹具):服务端 7.108.0 真鉴权口 `createAuthorizer` → 真 `httpErrorCode` → SDK 12 `toApiError` → 读口:404 `not_found.resource` ⇒ `session_not_found`;422 `request.unprocessable` ⇒ `session_id_missing`。
9924
+
9925
+ **投递事实与文件历史段**
9926
+
9927
+ - **G-PD1**(本版证明):根入口 `createPromptDeliveryLedger` / `promptKnownUndelivered` / `withoutUndeliveredPrompts` 三只是函数。(0.87.0 三只 `undefined`)
9928
+ - **G-PD2**(本版证明):`attempted(['u1'])` → `deliveredByFrame(['u1'], 409 拒收终帧)` ⇒ `knownUndelivered('u1')`;再以真 `attemptActiveRunSelfHeal`(注入件、`runs.steer` 答 `applied`)的结局喂 `deliveredBySteerReceipt` ⇒ `isDelivered('u1')`、`knownUndelivered` 假。
9929
+ - **G-PD3**(本版证明):`meta` → `approval_request`(preamble 形)→ 409 拒收终帧依次喂 ⇒ 全程 `knownUndelivered` 真。
9930
+ - **G-PD4**(本版证明):`meta` → `text_delta` ⇒ delivered。
9931
+ - **G-PD5**(本版证明):从没 attempted 的 uuid ⇒ `isDelivered` / `knownUndelivered` 皆假。
9932
+ - **G-PD6**(本版证明):`toRecords()` 逐行 `JSON.stringify` = `{"u":"r1","s":"a"}` / `{"u":"r2","s":"a"}` / `{"u":"r2","s":"d"}`;新账本 `fromRecords` 读回后结论不变。
9933
+ - **G-PD7**(本版证明):`withoutUndeliveredPrompts(ledger, [old, x(被拒), y(交出去), assistant])` ⇒ `[old, y, assistant]`;`promptKnownUndelivered(ledger, x)` 真。(G-PD2 – G-PD7:0.87.0 上抛「不是函数」)
9934
+ - **G-PD8**(回归约束):被复用的 `activeRunBusySignal` / `selfHealSubmissionDisposition` 对一组帧 / 结局答案与 0.87.0 逐字同。
9935
+ - **G-PD9**(端侧验收):终端 durable 部署上,会话被占时提交一条 ⇒ 底栏「这条没送到,↑ 重发」出现、自动标题 / recap / `/btw` 不带这一条;自愈 steer 受理后 ⇒ 提示收回、旁路照常带它。
9936
+ - **G-PD10**(本版证明,重启恢复):照 114d 迁移骨架 —— `attempted(['u1','u2'])`、`deliveredByFrame(['u1'], meta)` / `deliveredByFrame(['u1'], text_delta)`、`deliveredBySteerReceipt(['u2'], { kind: 'running-steered', delivery: 'applied', … })` 三只写口的**返回**逐条追加进旁车 → 丢掉账本、新建一只 → `fromRecords(旁车)` ⇒ `isDelivered('u1')` / `isDelivered('u2')` 真、`knownUndelivered` 两只皆假(旁车四行)。判别半:只追加 `attempted` 的返回 ⇒ 读回后两只皆 `knownUndelivered` 真(已交出去的消息会被旁路载荷剔掉)。(0.87.0 无账本口;0.88.0 两半恰期望)
9937
+ - **G-FH1**(本版证明):`{type:'wiring_manifest', fileHistory:'disabled', lsp:{mounted:true}}` 先经 `eventToSdkMessage(帧, { sessionId })` 投影,其 `message`(再接一条 `result` 收尾)喂 `createWireToCcAdapter().adapt(…, ctx)` ⇒ chrome `wiring_manifest` 恰一条且 `fileHistory === "disabled"`(原始 wire 帧直接喂 `adapt` 两版都是零条 —— `adapt` 吃的是投影产物,本组各格同此)。(0.87.0:恰一条、无 `fileHistory` 键)
9938
+ - **G-FH2**(本版证明):只带 `fileHistory:'on'` 一段的帧 ⇒ `eventToSdkMessage` 投影成臂、经 `adapt` 后 chrome 恰一条且 `fileHistory === "on"`。(0.87.0 投影答 `none` / `not_in_slice`)
9939
+ - **G-FH3**(回归约束):帧上不带(`{type:'wiring_manifest', lsp:{mounted:true}}`,投影后经 `adapt`)⇒ chrome 恰一条、无 `fileHistory` 键(不折 `disabled`)。(两版同)
9940
+ - **G-FH4a**(回归约束):`fileHistory` 为 `""` / `7` / `null`(投影后经 `adapt`)⇒ 键缺席、`lsp` 段照投。(两版同)
9941
+ - **G-FH4b**(本版证明):表外词 `"partial_Word"`(投影后经 `adapt`)⇒ 原字节到端。(0.87.0 键缺席)
9942
+ - **G-FH5**(本版证明):`readSubmitWiringManifest({ wiringManifest: { fileHistory: 'disabled' } })` ⇒ `{ kind: 'manifest', view.fileHistory: 'disabled' }`。(0.87.0 `unreadable`)
9943
+ - **G-FH6**(本版证明,子流断闸带判别半):`{type:'wiring_manifest', fileHistory:'on', lsp:{mounted:true}, parentToolCallId:'c1'}` 投影后经 `adapt` ⇒ 零 chrome;同一帧去掉 `parentToolCallId` ⇒ chrome 恰一条且 `fileHistory === "on"`。(0.87.0:前半零条、后半恰一条但无 `fileHistory` 键;0.88.0 两半恰期望 —— 只断言前半的写法两版恒绿、不判别)
9944
+ - **G-FH7**(端侧验收):用户显式关文件检查点、引擎报 `fileHistory: "on"` ⇒ 终端渲「本会话未按声明执行」;帧上缺席 ⇒ 渲「引擎没报」那一档,不渲「已关闭」。
9945
+
9946
+ **决断台账离门认领**(零网络,注入最小 client:`assistant.planReview` / `runs.get` 两只口,POST 可挂起;宿主投递编排的替身 = 登记 → 等一只可控的「快照读」→ `decidePlanReview` →(落定后)句柄 `settle()`,即终端 1.0.139 `sema/planReviewReopen.ts:56-97`(`deliverPlanReviewDecision`)去掉编排计数的形)
9947
+
9948
+ - **G-DL1**(r1 形;本版证明):`reopenPlanReviewCard(T, { deliverDecision: 替身 })` 出卡 → `respondToQuestion(卡, 批准)` → 替身登记(记 `M = latestPlanReviewDecisionMark(T)`)并开始等快照 → 快照读在路上时 `notePlanReviewGateLeft(T)` → 放行 → 投递(POST 503)。断言:POST 恰一次、结局恰一条(effect `unconfirmed`),`latestPlanReviewDecisionMark(T)` 在离门后 / POST 在飞时 / 队列口收到结局那一拍 / 落定后都 `=== M`;POST 在飞时 `planReviewDecisionInFlight(T) === true`。(0.87.0:M = 2 → 4 / 4 / 4;0.88.0:2 / 2 / 2 / 2,在飞 true)
9949
+ - **G-DL2**(r2 形;本版证明):同上,但先放行快照,离门证据落在放行之后、投递调用之前的那一枚微任务里;POST 404 `not_found.plan_review`。断言同上(effect `not_applied`)。(0.87.0:7 → 9;0.88.0:6 → 6)
9950
+ - **G-DL3**(arm 卡形;本版证明):`armPlanReviewApproval` 出卡 → 登记 → `notePlanReviewGateLeft` → `respondToQuestion(卡, 批准)`。断言结局那一拍与落定后刻度 `=== M`。(0.87.0:11 → 13;0.88.0:9 → 9)
9951
+ - **G-DL4**(同 run 两次;本版证明):登记(M1)→ 离门 → 再登记(答非 null,M2 > M1)→ 投递两次(各自落定)。断言两次之后刻度都 `=== M2`、POST 恰两次。(0.87.0:第二次后 19 ≠ 17;0.88.0:14 / 14)
9952
+ - **G-DL5**(一个字节没送出;本版证明):先取读起点 `s` → 登记(M)→ 离门 → `decidePlanReview(T, 'approve', undefined, { wire: { client: {} } })`。断言 effect `not_sent`、刻度 `=== M`、`planReviewDecisionInFlight(T, s) === false`。(0.87.0:刻度 22 → 24、在飞 true;0.88.0:18 → 18、false)
9953
+ - **G-DL6**(既有形;回归约束):登记 → 投递(POST 挂起)→ 离门 → 同 run 第二次投递 ⇒ 零 POST;放行 ⇒ 结局恰一条、刻度 `=== M`。
9954
+ - **G-DL7**(判别负控;回归约束):登记 → 句柄 `settle()` → 投递 ⇒ 不认领、刻度前进。
9955
+ - **G-DL8**(失败分类;回归约束):G-DL1 / G-DL2 / G-DL5 的结局正文与「不登记、不离门的同一失败」逐字节同;两版之间同格正文逐字节同。(r1 / r2 / not_sent / 404 四格两版逐字节同)
9956
+ - **G-DL9**(回归约束):登记 → 离门 → 投递(POST 挂起)→ POST 在飞时问 `planReviewDecisionInFlight(T)` 并取读起点 `r`;放行 → 结局后问 `planReviewDecisionInFlight(T, r)`。两版都答 `true` / `true`(认领来的那一笔从认领到结局算在飞、结局后判陈旧,与修前另铸的那一笔同判)。
9957
+
9958
+ ### 114d. 端上要动的读点
9959
+
9960
+ 坐标来自本机克隆的只读检索,读的提交:终端 1.0.139 集成分支 3f4ad522 · 网页端 `origin/main` 0fb6df3 · 管理台 `origin/main` 21b8951 · 桌面端冻结。终端 / 管理台的产品源码坐标省去开头的 src 目录,网页端坐标从仓根起(`ui/`);本机克隆可能落后远端,行号会漂,合并前请各端对自己的最新主干重看一遍。
9961
+
9962
+ **终端**(3f4ad522)
9963
+
9964
+ - 展示出口(DU-2,零改动即得):`sema/untrustedDisplayOutlet.test.ts:156` / `:172` 两格逐字节全等与 `:91` / `:123` 两格拼接子串,本版读数与 0.87.0 同串(两版实跑);建议(非必改)改成「不含值 ∧ 含记号」两条独立断言(114a′ 第 1 条)。`sema/mcpFailureReason.test.ts:602` 的生产函数是终端自带的洗法(`sema/displaySafeUrl.ts`),不经本包。🔴 线上锚对账门登记了本包 `dist/displayUntrusted.js` 里的正则 / 常量名(终端仓的 scripts/wire-anchor-exempt.json 306-324 行一带,14 枚):本版这个文件里有三枚登记键不再存在(`/[\u001b\u0090\u0098\u009d-\u009f]|\\u/`、`/^u([0-9A-Fa-f]{4})/`、`NEEDS_VIEW`),另有新的正则字面量与常量名 —— 换钉当天请重跑那道门,按它的报错增删登记。
9965
+ - 崩溃收敛(SB-1,零改动即得):`sema/crashConvergedNotice.ts:147-157`(`crashConvergedCauseCodes`)与 `:169-189`(`crashConvergedNoticeText`)按记录原样转述 `cause` 码、不把它翻译成「崩了」⇒ 新词行照常出现在通告里、措辞不变。若要按 `cause` 分句(「有序关停结清」/「崩溃」),按位渲须带本票号 CC-218。🔴 换钉服务端 7.108.0 时(不是本包换钉):终端仓 scripts/wire-anchor-registry.mjs 里 A-K21 的 `mintProbeAt` 第一条 `'cause: "crashed_before_park"'` 在 7.108.0 发布包的 `approval-ask-audit-store.js` 里**已不在**(本机实测 7.106.0 = 1 处、7.108.0 = 0 处:`cause` 改由 `causeOf()` 求值)⇒ 那一锚会红,改钉两词的新铸点(`trace/self-minted-wire.js:5-6` 或 `approval-ask-audit-store.js:408`)。
9966
+ - `server.model_unreachable`(MU-1 / MU-3,零改动即得):呈现闸 `sema/engineNoticeCodes.ts` `engineNoticeSurfaceVerdict` 对这一码由 `'unlisted'`(兜底行:码 + 服务端原句)改判 `'listed'`(通用行,仍渲服务端原句);`-p` 机读车道 `engineNoticeFactsForMachineLane`(`:170-190`)对这一码由不上帧改为上一份 typed 读数(受众 user;串叶过同一只洗法)。按「这一码不出机读读数」或「可见码集合恰为 …」断言的测试改锚。建议(非必改):这一码的补救句较长,通用行会截断出路那半句(验收方 [8796] 读码推断)⇒ 给它专属呈现,按 `readModelUnreachable` 五位渲(补救句完整)。
9967
+ - 放行原因 / 修复通告(RR-1 / TT-3,零改动即得):`EngineNoticeFactsCode` 按码 `===` 读、无穷尽分支(`sema/upstreamBridge.ts:967` 起与 `sema/engineNoticeCodes.ts:176`)。
9968
+ - 会话记忆抹除(SE-1 / SE-2,请托方):连线不必起新的 sdk client —— 把会话连线配置直接交 `wire`:`{ baseUrl: config.baseUrl, token: <与流同一只取值函数或串>, principal: config.principal, timeoutMs }`(`sema/liveClient.ts` 的 `LiveClientConfig` 三位;凭证用 `armAuthTokenSource(config)` 那一只 —— 显式回环免凭证形交 `undefined`,本包在回环 `baseUrl` 上同样零 `Authorization`)。一次性 id:确认卡**弹出时**铸一只 `requestId`,确认后用它发;结果档 `retry === 'same_request_id'` 时「再试一次」按钮沿用同一只;`new_request_id` 时另铸;`human_decision` / `needs_consent` 时再弹一次确认卡(`needs_consent` 卡上写清「不留证据也删」并在确认后才带 `allowUnevidenced: true`);`needs_operator` / `pointless` 不给重试按钮。呈现:结果行渲 `text` + 空格 + `retryText`;不要按 `errorCode` 自写句子;要数字时走 `memoryEraseCounts(outcome.receipt)`。落点:`/memory` 命令面(`commands/memory/memory.tsx`)今天只管本地记忆文件,会话记忆状态面在 `/status`(`sema/memoryStatusClientPort.ts`);挂哪一面由终端定。
9969
+ - registry 409(RC-1 / RC-2,请托方):两条 registry 写腿拿原始 `(status, json)` 调 `classifyRegistryConflict` —— `'conflict'` 才重读重写一次,`'gone'` 止血(说清什么都没写、目标空间被删或重建),`'none'` 走既有非 409 分支;经子路径 `RegistryApiError` 抛出的腿用 `isScopeGoneError(e)`。注意 `'conflict'` 也包含回滚门「历史行属于已被替换的空间」等不会因重试而过的 409,只在本腿 409 本来就是乐观锁冲突时按它重试。
9970
+ - 只续已有会话(RE-1 / RF-1 / RF-2,请托方):`--resume` 路径给装配口交 `requireExistingSession: true` + 会话 id;提交失败时先问 `requireExistingSessionRefusalFromError(err)`,命中就渲 `requireExistingSessionRefusalContent(detail)`(不要按 404 / 422 数字或消息原文自判)。
9971
+ - 投递事实(PD-1 – PD-4,请托方;终端 [C448] 已认领随 1.0.140 换读):`sema/promptDelivery.ts` `:49-52` 三只进程级集合 → `const ledger = createPromptDeliveryLedger()`;`:107-116` `notePromptBatchAttempt` → `for (const rec of ledger.attempted(uuids)) appendJournal(rec)`(`batchOf` 那张表删,改读 `ledger.batchOf`);`:122-128` `notePromptBatchDelivered` 删 —— 🔴 它原来那句 `appendJournal({ u, s: 'd' })` 不能随之丢:两只 delivered 写口的返回同样逐条落盘,`sema/seamQuery.ts:2580-2583` 改为每帧都喂 `for (const rec of ledger.deliveredByFrame(deliveryUuids, ev)) appendJournal(rec)`(🔴 判据随之修正:durable 腿首帧是 `meta`,终端自家 409 夹具不发 `meta` 所以现行测试绿 —— 114a′ 第 13 条);`sema/seamQuery.ts:2953-2956` 改 `for (const rec of ledger.deliveredBySteerReceipt(deliveryUuids, outcome)) appendJournal(rec)`(只落 attempted 的返回,重启读回后已交出去的行会成「确知没交出去」、被旁路载荷剔掉 —— G-PD10);`:89-99` 读回 → `ledger.fromRecords(parseJournal(text))`;`:170-184` 三只读口 → `ledger.isDelivered` 与本包同名口的薄包装(过同名影子门的 `single-delegation` 证明后改判 `host-deps-wrapper`)。落盘 / 选择器 / 分叉复制 / 导入合并 / 跨会话读文件留壳;`:251-267`「进程事实 ∪ 文件事实」若改用一只临时账本合并,在「进程说被拒、文件说交出去」那一形上并集判交出去、现行判被拒 —— 要不要改由终端定。`sema/forkedSessionContinuity.ts:171-198` 的 `frameProvesSeedDelivered` 按终端 [C448] 保留为「模型消费了种子」谓词、不并入 delivered(两者判的不是同一件事;名字与本包不同名,同名影子门不报)。
9972
+ - 文件历史段(FH-1,请托方):`sema/upstreamBridge.ts:2599-2620`(`case 'wiring_manifest'` 里 `noteWiringManifestReading({...})` 那一段)同 `hands` 那一行的展开式补 `...(e.fileHistory !== undefined ? { fileHistory: e.fileHistory } : {})`(缺席不补键);终端仓 scripts/wiring-manifest-sections.json 185-191 行的 `fileHistory` 行 `pending` → `consumed`、`pendingMax` 8 → 7;「说一句」形与 `/config` 开关状态的读源换成本位(按 114b 缺席语义渲)。
9973
+ - 决断台账(DL-1,请托方):宿主编排计数可退 —— `sema/planReviewDecisionWindow.ts:303-323`(`dispatchAwaitingSnapshot` 表 + `notePlanReviewDispatchAwaitingSnapshot`)、`:335`(`clearPlanReviewDecisionWindow` 里「这条 run 有一发还在等快照 ⇒ 不调本包离门口」那一判)、`sema/planReviewDecisionNotice.ts:249`(交出那一拍记数)与 `:256-259`(放行后下一个宏任务撤数);退了之后 `:335` 无条件调 `notePlanReviewGateLeft(taskId)`。🔴 测试替身两处:`sema/planReviewReopenRace.test.ts:279` 的 `packageSettlesAndOutcome` 与 `sema/planReviewDecisionNotice.test.tsx:170` 的 `packageOutcome` 用 `notePlanReviewGateLeft` 充当「本包已结算那一笔」—— 本版起被这样结掉的登记仍可被之后一次不经登记的投递认领(刻度不前进);要替身「本包结算」,改用登记句柄的 `settle()`(终端已排随 1.0.140 换钉改)。
9974
+
9975
+ **网页端**(0fb6df3)
9976
+
9977
+ - 🔴 崩溃遗留通告(SB-1,建议必改):`ui/lib/engine/engine-crash-converged.ts:120` / `:122` / `:124`(三句开头都写「from the last engine crash」)与 `:128`(resumeSafe 行「did not run before the crash」)—— `cause: 'shutdown_before_park'` 的行会被说成崩溃。按行 `cause` 挑开头那半句(有序关停 ⇒ 不说 crash);分桶仍只信 `projectCrashConverged`。按位渲须带本票号 CC-218 + retireBy。
9978
+ - 展示出口:`tests/run-display-untrusted-exit-test.mjs` 已是「不含值 ∧ 含记号」两条独立断言,零改动。
9979
+ - `server.model_unreachable`:无 `engine_notice` 呈现面(`ui/lib/engine/chrome-arm-ledger.ts:126` 登记为不消费),零改动。`fileHistory`:`wiring_manifest` 登记为不消费,零改动。会话记忆抹除 / 投递账本:要用就接(同源中继形直接可用)。
9980
+
9981
+ **桌面端**:冻结期零改动(`projectCrashConverged` / `readEngineNoticeFacts` / `noticeAudienceOf` / 展示出口零读点)。
9982
+
9983
+ **管理台**(21b8951)
9984
+
9985
+ - 展示出口:`test/du-display-untrusted-r5.test.ts:23`(`startsWith("«redacted")`)建议放宽为 `includes`;其余经 `lib/web/display-untrusted.ts` 转调本包的格已是子串形,零改动。管理台自带的目录行 userinfo 洗法不经本包,不受影响。
9986
+ - `noticeAudienceOf` 只在测试 `test/ccsdk-mandate-origin.test.tsx:485` 断言别的码;registry 的 scope-gone 读法管理台自有、不经本包。零改动。
9987
+
9988
+ **验收方**
9989
+
9990
+ - 新增 G-DU / G-SB / G-RS / G-MU / G-RR / G-TT / G-SE / G-RC / G-RE / G-RF / G-PD / G-FH / G-DL 十三组;按 114a′ 改锚(展示出口按字节断言四条 · §113c G-N5 作废 · 受众表四行与用户面十三码 · 码册八十一 · `requireExistingSession` 不再被拒 · 投递首帧判据 · 离门之后投递不另铸)。G-PD9 / G-FH7 为端侧验收格。
9991
+
9992
+ ### 114y. 🔴 三端升级必读(固定段式)
9993
+
9994
+ 1. **换钉 `^0.88.0` 之前**:① 对 `CrashConvergedRow['cause']` 或 `EngineNoticeFactsCode` 做穷尽 `switch`(`never` 兜底)或穷尽 `Record` 的 TypeScript 端编译红一次 —— 补 `shutdown_before_park` 一臂 / `'context.tool_turn_repaired'` 与 `'server.model_unreachable'` 两行;本机检索四端今天都没有这种写法(终端按 `${row.cause}` 原样转述、按码 `===` 读通告;网页端不按 `cause` 分支),预期零编译红。② **新公面十六名**(根入口具名导出,逐名见 CHANGELOG「公面合计」);公面类型名 +20;`WiringManifestChromeEvent.fileHistory?` / `WiringManifestView.fileHistory?` / `TaskRequestInput.requireExistingSession?` 三只可选位对构造方 additive。③ 已发导出的可观察变化(不改代码也会看到):展示出口在带凭据的输入上输出字节变(干净文本逐字节同;一轮即不动对帽内收敛的输入成立,同 114a′ 第 2 条,KL-355);崩溃遗留里多出 `cause: 'shutdown_before_park'` 的行(修前被静默丢进 `dropped`);服务端 7.108.0 起后台 run / 子代崩溃后的 pending 孤儿落 `needsHuman` / `pending_unsafe`;`server.model_unreachable` 经包按受众分发时从运维面挪到用户面;码册 81 码;`requireExistingSession` 不再被装配口拒;决断台账在「登记 → 离门 → 投递」形上不再另铸刻度;只带文件历史一段的 `wiring_manifest` 帧成臂。④ peer sdk 地板 `>=12.0.1` 不动;开发依赖引擎 `~7.37.1`(构建期)。
9995
+ 2. **逐面**:
9996
+ - **展示出口**:按字节断言凭据输出的格改「不含值 ∧ 含 `«redacted:`」;不要按记号种类分支;按产物字节登记锚的门换钉当天重跑(终端三枚登记键不在了)。
9997
+ - **崩溃遗留**:🔴 `shutdown_before_park` 的行是有序关停后的结清,措辞不要说「引擎崩了」(网页端三句开头需改,114d);分桶仍只信 `projectCrashConverged`,不要拿 `cause` 重判「能不能重跑」。
9998
+ - **通告**:`server.model_unreachable.code` 开集,按它分支带 `default`;没收到这条通告不等于模型端点够得着;`context.tool_turn_repaired` 不上客户端的流,端上没收到 ≠ 没修过;内嵌引擎 7.38.0 的服务端新铸的五码在本版码册外(KL-333)。
9999
+ - **记忆抹除**:`refused` 才能说「什么都没抹」;`unconfirmed` 一律说「没法确认」并按 `retry` 给下一步,**不要**把它渲成失败重来(同一个 `requestId` 在证据腿上是收敛,换新 id 就成了第二次真删)。
10000
+ - **投递账本**:`deliveredByFrame` **每帧都喂**(不要只喂第一帧 —— durable 腿第一帧恒是 `meta`,不算);批要带(attempted 那一批与真编进请求那几行可以不同);三只写口(`attempted` / `deliveredByFrame` / `deliveredBySteerReceipt`)返回的记录**都要**逐条落盘、也只落它们(只落 attempted 的返回,进程重启后已交出去的行读回成「确知没交出去」,G-PD10)。
10001
+ - **决断台账**:终端 1.0.139 的宿主编排计数在升到本版后可退 —— 退了之后只在「离门证据 → 投递口认领」那一小段窗里(快照等待窗加微任务)那一笔不算在飞(§109 R9a 既有契约,KL-349);从认领到结局照旧按在飞判。
10002
+ - **缺席 = 没说**:`fileHistory` 缺席不折 `disabled`;`readModelUnreachable` 答 `undefined` 不等于够得着;`isScopeGoneError` 答 false 可能只是判不出;投递账本两判皆假 = 不知道;结算方不上公面。
10003
+ - **各端**:终端 —— 请托方四件按 114d 换读;🔴 换钉服务端 7.108.0 时 A-K21 线上锚改钉;决断台账两处测试替身改 `settle()`;线上锚对账门重跑。网页端 —— 🔴 崩溃遗留三句开头建议必改;其余零改动即得。管理台 —— 一处前缀断言建议放宽,其余零改动。桌面端 —— 冻结期零改动。
10004
+ 3. **成文改口**:见 114a′(展示出口四条 · 崩溃收敛两条 · 受众表与用户面码数两条 · 码册与错配缺席与放行原因三条 · `requireExistingSession` 一条 · 投递判据三条 · 决断台账一条 · `wiring_manifest` 键集一条);既有段(§12 / §101 / §105 / §108 / §109 / §112 / §113 等)不回改,以本段为准;活段 §0a / §2 / §2b 与签名块通告码表长已同批改。
10005
+
10006
+ **包侧缺口:** 展示出口(CC-247)—— ① 上游预先带记号、记号后隔非词字符紧跟明文时明文不并进(记号原子的代价;KL-317)· ② 凭据标签左边紧贴、无标签无形状的裸串按原文显示(KL-318)· ③ 非凭据头值里地址之后的文字不遮(KL-319)· ④ 只开 URL 结构面时标签值 / 引号值尾巴不遮(KL-321)· ⑤ 口令段含双引号 / 反引号 / 尖括号的无 scheme userinfo 默认不算(strict 档);用户名紧跟凭据标签 / 方案词、用户名本身就是凭据标签或方案词 + 冒号(只有词级网开着且标签值盖到 `@` 时让位),或用户名是裸词、主机成形、地址不被引号包着时照遮,与上一版同;仍原样的几形(相对上一版少遮,差分门五池之外):无标签且用户名为空(紧跟非凭据键)或不是裸词、无标签而口令最后一枚禁字是紧贴主机收尾的开引号、无标签而主机无点无端口且紧跟 `< > | \ ^ { }`(KL-323);`email:"bob@example.com tail"` 一类与上一版同字节多遮(KL-351);标签 / 方案词 + 冒号后以 `<` 起头的占位文本(`key: <id>@scope`;只开词级网的出口上另含无空格的 `key:<id>@scope`)相对上一版新多遮成 `«redacted:secret»@…`(不含凭据,方向是多遮;KL-351);不在本包凭据标签族里的 JSON 键(`passphrase` / `pwd` …)值里带 `@` 的串按原样显示(KL-354)· ⑤′ 本包铸点(合成终局行 / 结果帧 `errors[]` 的机读口)洗过、端再过展示出口的复合路径:URL 值位上「记号 + 尾标点 + 屏上软位 + 值」一形照遮,其余几形(机读口按真空白断开、展示出口画成点 / 转义记号之后读成另一种结构)仍比上一版多露,读数见 KL-317 · ⑤″ 凭据面不动点循环只对帽内收敛的输入保证一轮即不动:定向构造可让改写遍数随长度增长、到帽(交最后一次改写的输出;KL-355);裸 ESC / C1 CSI 紧贴 `-----BEGIN` 的 PEM 块体在非点形出口原样(三版同;块里的标签值照遮;KL-356);头行词间是制表符 / 不换行空格(真空白)、出口不把它折平成空格 / 画成点时块体原样(三版同;头行词间是不可见单元的形本版起各出口照遮;KL-356)· ⑥ 链接后紧跟 `)` `[` `,` `;`、或带端口的链接后紧跟停字符再有邮箱的干净文本整段换进 userinfo 记号(与上一版同形多遮;KL-324 / KL-325)· ⑦ query 键不是凭据标签时未编码停字符之后的值两面都看不见(KL-68 余形);崩溃收敛与服务端自铸通告(CC-218 / CC-270 ①)—— ⑧ `shutdown_before_park` 的措辞不在包里(包零文案):终端按码原样转述、网页端三句开头仍写「crash」需端侧改句 · ⑨ 服务端自铸码的受众仍由本包手写一张四行小表,常驻门对服务端发布包两代逐行对账;引擎码册登记服务端自铸码的铸方表那一版(引擎 7.38.0)经下一次换钉接入后手写表逐行退役(CC-213 / CC-282;过渡物退役登记按开发依赖引擎 ≥ 7.38.0 机读到期)· ⑩ `server.model_unreachable` 只对收到的帧说话(同步非流式提交口 / leader 车道 / 无会话模型调用 / 代理在而上游不通 / Bun 运行时上服务端不发;KL-327);`code` 开集透传(KL-328)· ⑪ 终端呈现:这一码的补救句经通用行会被截断,建议专属呈现(114d);引擎换钉(CC-272)—— ⑫ 审批卡问类两位 `askClass` / `classes` 本版不接:已发布的服务端卡帧不带、铸点在未发布的服务端 7.109.0 线(KL-332)· ⑬ 修复形词表 `TOOL_TURN_REPAIR_FORMS` 不出镜像:引擎包入口不导出(KL-331)· ⑭ 运维通告 `context.tool_turn_repaired` 不上客户端的流(属服务端;KL-330)· ⑮ 本版码册来自引擎 7.37.1:引擎 7.38.0 的五码(四只服务端码入册 + `task.tool_turn_incomplete`)在码册外,到下一版换钉(CC-282)前经本包分发的端看不到它们的 typed 事实(KL-333);会话记忆抹除(CC-264)—— ⑯ 本口不读能力位(服务端没有这一面专属的能力位),部署没有这一面时靠 501 / 404 `not_found.route` 如实答 · ⑰ 会话存储层自己的读错在本面上落 `unconfirmed`(保守方向;KL-335)· ⑱ 点段会话 id 只在本口本地拒,经 SDK 动词拼路径的别的口同形不防(KL-337);registry 与只续已有会话(CC-280 / CC-281)—— ⑲ registry 的 scope-gone 机器码铸点在 registry 服务与新版 SDK 包里,本包门对它的真铸点腿依赖本机有那一份源码树(`SEMA_WEB_ADMIN_ROOT`)、对新版 SDK 的逐例对拍依赖探针树(`SEMA_SDK15_ROOT`),缺席时 SKIPPED · ⑳ 服务端「只续已有会话」两种拒绝不带专属码,本包粗码形读消息尾括注,服务端改措辞即退化为 null(已上板请服务端挂码 [8797];KL-342;过渡物退役登记 retireBy 0.90.0 到期重看);投递事实(CC-271)—— ㉑ 判据是「建了 run」不是「模型处理了」(KL-344)· ㉒ 开流先于建 run 的帧型是按服务端写序列的枚举(KL-345);服务端幂等重放臂(宿主对两次提交钉同一把 `Idempotency-Key`)的 409 冲突体账本照认、不记交出,公面判别口 `activeRunBusySignal` 对这一形仍答 `null`(与上一版同;KL-353)· ㉓ 账本不判帧归属,宿主只喂这次提交自己那条流的帧(KL-347)· ㉔ 终端现行判据在 durable 腿上失效([C447]);终端已认领随 1.0.140 换读([C448]),终端读码另行坐实 durable 首帧 = `meta`,真终端 live 腿的实跑读数候终端换读后补 · ㉕ 提交批怎么从消息表里划、旁车落盘与跨会话合并在宿主;决断台账(CC-278)—— ㉖ 被离门证据结掉的登记在宿主 `revoke()` / 自带路径 `settle()` 之后仍可被认领,之后一次不经登记的投递与它共用一枚刻度(KL-348);`fileHistory`(CC-279)—— ㉗ 开集第三个词本包无措辞(KL-350);这一段读抛 ⇒ 只省这一段,既有段的取值器抛仍整帧抛(与上一版同;KL-352);登记物到期 —— ㉘ 同名影子对账门豁免表里 retireBy 0.88.0 的两行(终端重开口外层 `reopenPlanReviewCard`,用户关卡守卫候本包 CC-201 出读点;终端回执成因词表 `taskRequestOmissionCauseNotice`,终端留作刻意第二份)在 bump 当天到期即红,本版不改窗(改窗须裁定)。
10007
+
9647
10008
  ## §113 🆕 0.87.0(2026-10-01)会话历史 tool_use 错配的自救出路(合成终局行超集键 · 声明面出路句与连续次数句 · 判型 / 回退节点解析两只根入口口)+ 崩溃收敛 needsHuman 因由位 + 停车 fail-soft 真因超集键 + workflow 活动台账 / detach 取消兜底的凭证取值函数 + chrome 臂 `suspended_reopened`(🔴 minor;型面 BREAKING 零处;根公面运行期导出 1354 → 1356〔+2:`classifyToolHistoryMismatch` / `resolveToolHistoryRewindTarget`〕;测试钩 62 不变;公面类型名 922 不变;`ChromeEvent` +1 臂 `suspended_reopened`〔穷尽分支的端编译期红〕;`EmitContext.offersRewind?` / `CrashConvergedRow.needsHumanReason?` 两只可选位;`LiveWorkflowConfig.authToken` / `WorkflowActivityLedgerConfig.authToken` / `armDetachCancel` 入参 `authToken` 收取值函数〔入参放宽,对构造方 additive;读方见 113y ①③〕;超集键 +2〔`_sema_tool_history_mismatch` / `_sema_park_failed_reason`〕;投影臂 +1;peer sdk 地板 `>=12.0.1` 不动)
9648
10009
 
9649
10010
  > **minor**,六票同发(按票序):