输入法本体:从契约红线到 Build 编号的小步推进
最显眼的一条线索是 S4-1 那份关于“单笔准确选择奖励的可靠持久撤回”的报告。按会话自述,S4-1 完成后,原来的红合同变成了绿色,单笔撤回现在能给出可信回执,写盘失败后允许最多 3 次显式尝试。Runtime 与 Adapter 之间已经贯通,重试不会重放负反馈,Core 的 100 个测试和相关回归也都通过,宿主也能编译。报告中特意提到“既有 dirty 改动已保护,未安装、重启、提交或推送”,以及“尚未成功落盘就退出,重开后奖励仍可能恢复”——换句话说,代码层面的修复走到了,但交付动作被刻意压住了。这条细节值得停下来看一眼:它在暗示这一轮只是把红合同治绿,而不是把改动真正推到运行环境里。
往前回退一格,S4-0 的报告说 Ajin 可以按 decisionID 撤回单笔强选择贡献,保留其他选择和 pin,但 Rime 那边还没有对应的撤回链路;并明确指出撤回写盘失败后不能重试、重启会恢复原奖励,这条被作为真实红合同承接给 S4-1。S4-0 里还有一句值得记住的边界:S4-1 的建议是先补持久撤回结果和重试,不要再新增“自动撤销识别”或“普遍的负反馈”。换句话说,修红合同是修红合同,不要顺手扩成另一个特性。
再往前一点的 S3-7,记录里说是 Build 96,根因被点为“替代 lane 只查个人库,未接公共词典”,顺带把实际的 ' 输入被标点路由提前提交这个问题一起修了。修复方式是接入真实的随包公共词源、修正分隔符路由,排序、K=5、提交校验都沿用原样。会话里举了 gongshizhangc → 公司章程 当例子,这一步的关键判断是“只读地补一条随包公共词条供给,复用已有纠错、尾补全、首屏排序和提交链路”——也就是说,这一轮宁愿新加一点供给面,也不动主链路。
在 Build 97 的位置上,还有一次“ASCII 撇号事件归属与无损处理”的定点修复,IMK 真机验证覆盖了 O'Reilly、D'Angelo、退格重输、拼音分隔、英文直通这几类常见输入,没有出现丢字或重复;事件消费打通了 Session → Adapter,安全拒绝保持了原合同。比较克制的一点是:有 3 个既有英文词典测试在修复前源码上也能复现失败,这一轮没有顺手去扩修。
S3-6 这边也已经收口,最终跑在 Build 93 上,PID 15606,正常数据根恢复,普通输入烟测通过;旧动作到达生产 handler 后被拒绝,旧 AX 动作不可达分别记录;同一输入在 UI5 和 UI9 之间走了 5→9→5 的同 epoch reflow,epoch、ticket、transport 保持一致,纯 reflow 没新增后端调用,“工时”被正确提交。随后 S3-6 还补做了一次证据审计和归档,结论是“报告误标测试高亮目标”,没有发现快照混拼之类更深的问题,原报告被备份并做了最小勘误。再往后,Phase 3 的最后一项补验也被点名通过,同一 ticket 在 UI5 和 UI9 之间复用结果一致。
外部对照:项目其实是“在线但停滞”的
这一天比较有意思的对照来自那条直接问“我们当前项目是不是停滞的”的会话。Codex 自述的回答是:线上服务没问题,/api/health 返 HTTP 200、status=ok;但日报线上最新日期停在 8 月 5 日,大约 62 天没更新;自动任务那一行被截断,只能看到“A…”,从上下文看也在提示自动化流水线那一边同样长时间没动。也就是说:服务还在跑,但内容侧和自动化侧都明显放缓。把这块拼到 Ajin 输入法的进展里,会得到一个有点矛盾的图景——这边一天里把好几轮红合同都治绿,那边线上日报却两个月没刷新。
另一条线索是对数据源的盘点:这套日报用的是“官方消息 + 开发者趋势 + 搜索补漏 + 游戏 + 市场行情 + 衍生机会”的组合,仓库配置里 28 个来源,默认启用 26 个。这里我没有拿到更细的逐项清单,只能从会话留下的概述看到 AI 官方动态里点名了 OpenAI、Anthropic 等,后面的表格被截断。换句话说,盘点的动作完成了,但口径上更像是“今天先确认我们用的是哪几路原料”,而不是“今天重新选一遍原料”。
几条值得拎出来的小判断
把今天的几条线索横向看一眼,有几件事比较耐看:
第一,S4-1 这一轮在“完成”的同时,自己点名了 dirty 状态被保护、未安装、未重启、未提交、未推送。这是一个挺典型的“把红合同治绿、但不交付”的收口方式——把正确性的边界先守住,把交付动作留给下一轮。Build 96 → Build 97 这一步是真正落到运行上的,而 S4 系列则更像是先把契约层面的债务清掉。
第二,几轮修复对“边界”都比较克制:S4-0 明说不要在 S4-1 里塞“自动撤销识别”或“普遍负反馈”,S3-7 不动主链路只补只读供给,Build 97 不去顺手修英文词典的 3 个失败测试。换句话说,这一天的修法是有意识地“只修被点名的那一块”,这和红绿合同的矩阵感是对得上的。
第三,今天其实花了不少时间在“盘点”而不是“动手”——既有对项目状态的核对,也有对日报数据源的盘点,加上 S3-6 的证据审计。这些动作单独看都不显眼,但加在一起让这一天更像是在“先把账对清楚”,再决定下一轮要不要继续往前推 Ajin。这件事和“线上 62 天没新日报”放在一起,会让人觉得今天更像是把节奏从“停了两个月”拉回到“重新看一圈”的那一天。
一些不确定的地方
需要诚实标出来的是:今天看到的多半是 Codex 流程里留下的结果摘要,真正的会话正文(也就是用户原话、交互过程、被否决的方案之类)大多没在素材里完整呈现。也就是说,我能说的“完成/收口/通过”,主要来自 Codex 自述和报告链接,而不是我从原始对话里自己读出来的。S4-1 那句“重开后奖励仍可能恢复”,是一个值得记住的提醒:今天的红转绿在持久性上还有尾巴没处理,后面的轮次大概率要回头收这条。日报侧,8 月 5 日之后为什么停了 62 天、停的这段时间里到底在做什么,素材里没有直接给出说法,只能从“今天开始重新对账”这个动作去倒推。输入法的整体进展看起来是稳的、克制的、明显受矩阵约束的;而项目整体节奏看起来是在这一步慢慢被重新摸起来。
