Repository navigation
Conversation
Signed-off-by: song <liusongstep@gmail.com>
Probe unchanged native streams on the existing HTTP connection and tolerate an unavailable packet encountering a closed socket. Retain native-generator and reader-slot cleanup, retry semantics and legal half-closed readers. Signed-off-by: song <liusongstep@gmail.com>
Signed-off-by: song <liusongstep@gmail.com>
Signed-off-by: song <liusongstep@gmail.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
songoow
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; model=Codex; provider=OpenAI; declaration_source=self_reported; exact serving variant and reasoning effort unavailable.
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
准确头 02abd27。结论 APPROVE,未发现阻断项。这是明确标注的作者自审,不是独立维护者批准或合并授权。
动机
运行测试和使用原生会话实时只读页面的开发者,需要结束自己的临时资源,而不影响其他工作。
旧清理器会把复制进测试目录的合法定位文件误当作归属证明;浏览器离开且原生事件持续不变时,旧连接也可能没有及时退订。
当前改动让服务端确认最初发布路径后才清理,并让离开的 HTTP 读取器释放原生订阅与读取槽位;真实外部进程保留、真实自有进程退出均已验证。
本次不证明任意网络下的严格释放时限、自然长程容量或研究效果,也不授予执行、部署、合并或撤销他人评审的权限。
改动思路
启动事实由原 TypeScript 服务端给出,清理与 HTTP IO 仍归原适配层;复制 JSON 不能授予进程归属,不需要清理台账或通用生命周期框架。
当前 PR 仅闭合测试运行时归属和离开读取器收尾,保留已有关闭协议、读取权限及半关闭连接语义;不捆绑研究策略或分析功能。
最强反对理由是为测试增加产品 RPC 字段、为连接回归增加心跳。但 PID/token 只能证明是谁,不能证明属于哪个测试;完全取消清理又会留下进程。因此在原发布屏障记录一个事实,比另建进程管理器更小。SSE 仍沿原连接写心跳,未创建新连接、原生 turn 或输入。半秒间隔处理本地 TCP 首次关闭写入仍可能成功的情况,不是任意网络的释放 SLA。
下表是准确头的源码关系说明,不代替执行证据:
| 同一输入 | 原行为 | 当前观察 |
|---|---|---|
| 真正自有 locator,目录保留/已删除 | 可以关闭 | 两例都关闭,没有加固后泄漏 |
| 外部合法 locator 的普通复制,目录保留/已删除 | 外部进程误停 | 两例均保留同一外部 PID |
| HTTP 读取器离开,native 持续发送不变事件 | 未及时退订 | 原订阅结束,读取槽位释放 |
具体改动
完整净提案七文件、+78/-11:三个产品文件、三个夹具/测试文件、一份文档;没有新增模块、配置或状态机。规范依据为 docs/development/testing-and-quality.md,spec_revision: 73aa2bc,使用改动前文本,不以本 PR 新说明自证。
既有准则 Isolate the managed Effect process as well as the data 和 Smoke cleanup 均 implemented:只关闭隔离进程,认证关闭并观察实际退出,不跟随 namespace/locator symlink。SSE 没有另查到成文时限规范,以冻结主干已有真实 HTTP/原生 peer 回归为独立 oracle,不发明网络时限验收。
关键代码讲解
- server.listen 发布回调:同一 locator 锁内写文件并冻结物理 realpath,之后才放开 publicationReady。目录被删除不等于原发布事实能由 copied JSON 重写;启动失败仍归原错误 owner。
- runtime.ping:真实管理进程额外返回已认证的 info_path;不提供上下文的既有 handler 调用仍保持原形状。这不是 Goal 权限,也没有把路径传给浏览器。
- stop_disposable_effect_runtimes:同时校验物理根、PID/fingerprint 和原生发布路径,才调用已有 shutdown。损坏、借用、symlink 或未知出处不能授权关闭;已删除目录使用捕获字节,真正自有进程未退出仍触发原断言。
- _codex_attached_live:不变事件也探测原 HTTP 连接;不可用包本身遇关闭 socket 仍执行 finally,关闭 generator、释放 slot。协议错误不可重试、临时不可用可重试,原 binding/输入授权未变。
另外两条 collection-only 断言要求隔离不能隐藏默认目录写入;这不改变产品默认路由。保留现有真实回归而非复制另一套 native provider。
对主干的风险
独立重跑清理与原生 HTTP 模块 55 passed / 54.28 秒,无跳过。同一独立真实进程探针在冻结 base/head 各运行四例:base 的两例 borrowed 都失败,head 两例都保留原 PID;两侧的 own retained/removed 正例都关闭。所有进程由探针自己创建,直接 ping 原服务器,不允许自动重启掩盖误停。主干原有 continuous-unchanged departing-reader 回归在 base 失败、当前通过;没有改原等待断言、删除负例或把半关闭当离开。
最初私有探针未处理真实编译缓存目录,也没有还原 teardown 的 tempfile 命名空间,因此尚未到达所评审判断。修正的是私有 fixture 生命周期,原失败保留;最终八例才计证据,不把探针错误归咎产品。未知旧服务保持 untouched 是安全边界,不等于承诺能清理任意混合版本。
本轮再次用同一准确头的正常 wheel 安装环境验证:三个受影响产品源文件字节相符,真实发布路径 ping、owned retirement 与实际 Chat HTTP 全资源校验通过;控制面 typecheck 重跑通过。此前该准确头的307 Python/30 TS、完整语义187.56秒和6 direct+3 selected premerge 可复用:HEAD、base、源码、caller 与包字节未变;不重新标成这轮全套重跑。
语义与 CI 对齐
复用原认证 RPC 与退出 owner,只增加本地启动观察,没有新增共享状态枚举、Actor 或工作权限。默认变化仅为更安全的测试收尾和原已授权 SSE 心跳,不宣称整个改动 default-off,也没有给普通 Goal 增加义务。当前可见 CI 执行项已通过,尚有排队汇总;它不是本地证据的替代,也不因排队而否定已覆盖不变量。
当前 main 已前进至 110893bcafeb23c166251f9aeec6fe3d829294d1。只读 merge-tree 干净;该阶段 Chat 配置、Lark 和 warm 变更未改本 PR 的三个产品 owner。未执行该最终合并树,不把无冲突当作最终集成通过,合并前仍须核验实际 merge gate。
我的整体评价
long_horizon=improved、user_experience=preserved,改善限误停风险和资源收尾,不外推自然长程容量。原有只读、失败更正和后续继续读取不新增用户确认或重输信息。完整准确头未发现阻断项。
变更规模与误停后果相称。optional context 保留真实 handler 调用的兼容,不是另一版协议;不为减少版本数强停无出处旧服务。相关小重构已收敛于原发布/退出/finally owner,无需额外框架。旧 #6713 仅作历史,不继承其结论;本结论不授权 dismiss 他人意见、更新运行实验或合并。
English verdict: APPROVE - 02abd27: original authenticated publication provenance prevents copied locators from retiring foreign runtimes while owned cleanup and departed-reader unsubscribe remain functional. Independent base/head counterfactuals,55 head tests and installed readback support the bounded repair; hosted completion and final merged-tree qualification remain separate.
|
本轮按冻结 当前 这是作者账号 COMMENTED/APPROVE 自审,不代替独立维护者批准。closeout 无现存阻断 review,但 GitHub 仍为 REVIEW_REQUIRED;不是可直接合并结论。未合并、撤销意见、部署或更新实验。 |
动机与必要性
替代 #6713 的整合提案,仅提交仍需进入 main 的独立连接/进程生命周期修复。旧 PR 混合了 #6624、#6700、#6698 的来源历史;其中部分已进 main,其他部分继续由各原 PR 负责。不以回滚这些未合入功能的方式“缩小”旧分支,避免 Git 祖先关系让后续功能 PR 被误判为已采用。
两项已复现的实际问题:
修改与归属
realpath,发布完成屏障之后才可响应;通过已认证的runtime.ping返回这个不可由 locator JSON 改写的启动观察。finally,关闭 generator、释放 slot。保留半关闭读取、原 session binding 与 unavailable 重试语义。info_path是已认证本地诊断事实,不进入浏览器响应。净提案仅七个文件,基于
main@73aa2bc8946f3d5e0fb5600580dfa233427eb462。#6700 已由其他交付合入该主干,不是本 PR 的新功能;本 PR 不捆绑 #6624 的研究决策或 #6698 的 warm continuation。#6713 已按本轮明确选择关闭,其分支、旧 head42e0ae7ce8332acf8cc7ebd374724b49b7f27322和评审历史保留,不删除、不改写历史,不合并任何 PR。准确提案头:
02abd27ab480bddd117926f020a937e67e2f7bab。验证与限制
0b5b2f9的广覆盖风险集 410 Python 通过,255.94 秒,无跳过:真实运行时集成、发布 ready 屏障、监听失败、重启、清理、实际 HTTP/Desktop peer 以及 digest 单一 owner 架构。沿用 main 的 SSE 回归,不另造替身版本。最终头
02abd27ab在已合入 #6700 的组合源码上:307 Python 通过、30 TypeScript 通过,均无跳过,覆盖 owned/foreign runtime、原生只读会话清理、分析 HTTP、collection 隔离和架构。控制面 typecheck、Ruff、双语及七个净变更文件的私有边界检查通过。最终 quick premerge 的执行检查全过,完整语义项 187.56 秒通过;该结果不是独立 review 或合并授权。正常 bundle/wheel 在此头重新构建、全新环境安装,安装后源码字节、真实发布路径/retirement 和实际 Chat HTTP 全资源校验均通过。410 项是刷新前广覆盖,307 项是最终组合,两者含重复,不相加为唯一测试数。这不是完整研究组合测试、长程容量认证、模型采用/效果证明、部署或合并批准。现存评审意见不 dismiss;原来源 PR 仍须各自准确头评审和维护者合并。
Written by: model_agent, OpenAI Codex; exact serving variant not independently verified.