Logs
把中间那段黑箱拽出来
这一天真正的推进,不是某个项目突然做完,而是在不同系统里反复把原本含混的中间阶段拆成可命名、可验证、可继续接手的结构。
这一天真正推进的,不是哪一个项目突然做完了,而是在不同系统里反复做同一件事:不再接受“中间那段大概就是这样运作”的说法,非要把它拆成可命名、可验证、以后还能继续接手的阶段。当天能站得住脚的证据主要来自本地 Codex 会话和仓库产物,其他来源都检查过,但没有补出新的独立内容。
凌晨还挂着前一天尾巴里的 codex-suite 和 easyvoice。codex-suite 表面上是在修 iPad 连桌面输入时 placeholder 跟着跑、光标回到开头的问题,实际一路追到了 AX 真值、写回收敛和 contenteditable 假 placeholder 这些更底层的输入状态;easyvoice 则继续把 Windows 节点迁移的模糊痛感,拆成镜像拉取速度、跨架构本地构建、SSH 灌入 WSL、compile 模式和启动预热这些可以量化的操作选择。它们都像背景回声,提醒这一天的共同方向不是“再多做几个功能”,而是把以前被环境偷偷兜住的中间过程真正抓到手里。
白天最重的还是 openword。一开始的问题还像是在追问“知道这些类名到底有什么用”,很快就被逼到了更硬的位置:如果目标不是复刻表面行为,而是尽可能逼近 parser 实现,那光有类名、模块边界,甚至 web 侧已经结构化好的文档对象都远远不够。于是这条线从“看懂 WPS 暴露了什么”转成“哪些中间层必须自己重建”,仓库里也把 reverse/doc_viewupdater 进一步收成了更明确的 wps_native_parser 工作区。后面一整天围着 parser surface、importer pseudocode、orchestrator、projection lookup 这些更靠近实现骨架的东西继续推进,真正重要的变化不是又多了多少提交,而是对“我们到底掌握了 parser 的哪一层”终于开始能说清楚。
上午后半段到下午,lvshe 用更贴用户的入口把同一种压力重新摆了出来。离线脱敏里同一个名字只遮一处,看起来像渲染问题,最后却确认是命中生成阶段只认出了第一处,修法也不是糊遮罩层,而是把“人名种子”怎样在全文里补齐这一步说清楚。再往后,用户抱怨“自由起草卡在上传文件”,调查却发现上传接口本身并不慢,真正重的是上传后的资源分析、OCR 和 SSE 呈现;于是进度事件、状态展示、总时长估算、OCR 侧上报和镜像标签推进,才一起变得合理。这里关键的不是做了一个进度条,而是把“用户觉得卡在上传”这句混着多层阶段的话,拆回到上传、分析、流式返回和页面感知各自出了什么问题。
夜里这条线被逼得更彻底。staging 上“分析文件不工作”的表象,最后没有停在“服务挂了”或“网络坏了”这种粗说法,而是一步步排成了更精确的时间线:pod 都活着,分析实际还在后台继续跑,运行镜像和本地 main 大体一致,问题更像是浏览器里真实 SSE 请求过早关闭,而不是 OCR 根本没执行。连同晚上的 lvshe-be review 一起看,这一天其实一直在练同一个动作:不让系统内部的中间段继续黑着。无论是 parser 怎么从 OOXML 进到对象层,还是用户文件怎么从“上传成功”走到“分析完成”,又或者桌面输入状态到底什么时候才算真的收敛,4 月 3 日都在把这些原本容易被一句“大概如此”带过的部分,硬生生拆成以后还能继续接住的结构。