fix(release): finish retirement and repair stale CI contracts - #5179
Conversation
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
huangruiteng
left a comment
There was a problem hiding this comment.
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
Reviewed exact head: 5179@48dbe2ddbe60eaf9b0f35ba2838c820c7a7b4b4c.
动机
#5054 退休旧 Todo event 实现后,status facade 仍保留无消费与公开契约的旧常量,完整主干测试因此失败。本 PR 完成同一退休边界的清理。
改动思路
按既有兼容导出审计规则删除无证据的遗留出口,保留 canonical status collector、typed 旧源拒绝与恢复路径。同时将真实 RPC 测试对齐已有超大响应关闭连接的类型化合同,并补齐中英文模块目录;所有原预算保持。
具体改动
生产代码两个文件共删9行,删除旧常量定义、status import、兼容 allowlist entry,并收紧相邻空行。另补中英文 freshness 模块目录及真实 File/SQLite RPC 断言:超大响应按已有合同返回 EffectRuntimeResponseAmbiguous,继续验证分页完整性、原字节上限与 runtime PID 不变。
关键代码讲解
STATE_EVENT_LOG_BASENAME 已无 repository/doc consumer,定义和 import 同时移除。_PUBLIC_COMPAT_REEXPORTS 只去掉这一项,其余出口仍由完整 identity/consumer 审计保护。CLI/status JSON、native provider、quota、指引与权限没有改变;旧的无支持 Python import 名称明确退休。
原主干失败已复现;修复代码的 architecture/retired-source/canonical-status 共47项通过,Ruff 与 diff hygiene 通过。精确 base/head 用同一真实 CLI/HTTP fixture 验证 healthy、refused、independent 与 recovered Goal,归一化观察完全一致。
对主干的风险
未知外部代码若依赖这一个已退休、无支持契约的 Python 名称会失败,属于 #5054 已声明退休范围;不能凭假想消费保留死兼容。受支持状态与恢复的真实入口保持一致,没有新 state rule、默认开关、guidance/obligation、domain-specific wording 或 authority。UI/Lark 的状态输入不变,不需要新配置入口。最终版本全量资格仍单独执行。
我的整体评价
无阻塞发现,改动直接对应现有 CI 失败。未来改动便利性检查已删除旧兼容 seam,复用现有审计与 read model,无需额外抽象。属于已授权 #5054 自修复的必要后续清理,可在精确 head readiness 通过后合入。
English verdict: APPROVE - 48dbe2d;47focused tests,Ruff and actual base/head CLI/HTTP parity pass;remove only the unsupported retired Todo-event facade name.
The complete release suite exposed an unsupported Todo-event constant left behind by #5054, stale assumptions about the already-capped RPC response, and a missing Decision Context module in both code maps. This removes the unused declaration/facade entry and repairs the existing test/docs contracts.
Production changes delete nine lines only. File/SQLite oversized responses remain ambiguous after dispatch; the same test still verifies complete bounded paging, unchanged authority revisions and shared runtime survival. All original byte/time/module budgets remain unchanged.
Validation: 47 architecture, retired-source, canonical-status, real File/SQLite RPC and bilingual code-map checks pass; Ruff and diff checks pass. The identical real CLI/HTTP fixture at base and reviewed head preserves healthy, refused, independent and recovered Goal observations. Future-facing cleanup removes dead compatibility without a new abstraction; UI/Lark inputs and configuration are unchanged.