Repository navigation
fix(ci): 修复必过测试的不稳定问题 - #4
Merged
Merged
Conversation
SMARK2022
force-pushed
the
ci-fixture-lifetime
branch
16 times, most recently
from
November 10, 2026 19:55
3a0c0be to
a146eee
Compare
SMARK2022
force-pushed
the
dev1-smark
branch
from
November 10, 2026 21:49
c9b4817 to
da3f17e
Compare
SMARK2022
force-pushed
the
ci-fixture-lifetime
branch
6 times, most recently
from
November 11, 2026 09:50
13ef379 to
3262f4c
Compare
SMARK2022
marked this pull request as ready for review
November 11, 2026 10:47
SMARK2022
force-pushed
the
ci-fixture-lifetime
branch
4 times, most recently
from
November 11, 2026 14:22
a5b9594 to
4fbbf70
Compare
SMARK2022
force-pushed
the
ci-fixture-lifetime
branch
from
November 11, 2026 16:54
4fbbf70 to
82c183b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
当前状态
当前
098a5cd1是用于定位必过 CI 失败的临时诊断版本,不是最终交付版本。相对61ebd8d保持单个提交,16 个修改文件、+422/-176,共 598 行,未超过 600 行预算。保留草稿,不自动合并。保留的 CI 修复
当前 Windows 启动诊断范围
已撤除完成取证的 32 行 macOS 采样,prompt.test.ts 精确恢复原文。仅在原 spawnDaemon 测试 helper 增加 +67/-3 的父侧观察,记录自己的 PID、有效锁与匹配状态、原 health 结果、父等待阶段、快照时间和退出通知。
原命令、环境、ignored stdin/stdout/stderr、健康请求资格与凭证、100ms 轮询、60 秒 helper deadline、15 秒外层测试期限、返回与 kill/throw 均不变。额外 own-PID 存活检查只记录,不影响成功判断。每次 helper 最多 12 条状态变化记录,spawn、ready/timeout 和 exit 单独保留;不记录密码、token、路径或原始子日志。
这些记录不能定位 child 内部 import、listener、DB 或 recovery 阶段。poll gap 包含 I/O、健康请求、sleep 和调度;退出时间是父侧收到通知的时间,退出记录可能带旧快照。新增观察会扰动执行,不计作最终稳定性验收。
为保持每个远端版本不超过 600 行,CodeMode 此前新增的 68 行回归测试仍暂存,原 264 项与生产修复均保留。最终必须撤除全部临时观察并恢复该回归,再执行完整 265 项验收。若没有其他新获审修复,恢复后应精确回到此前 596 行技术源树。
当前版本的本地验证
完整方案与全部实际改动分别通过独立审查。实际源树 14 条正式检查命令全部成功:
本次精确头自然触发的原生矩阵尚待完成。完整 HTTP/plugin/FileApi、PTY、force-upgrade、hanging-disposer、maintenance 等原生范围不冒充本地通过;没有手动重跑求绿。
已保留的原生失败与 macOS 样本
旧头
20b48c79的首轮 18 个必过 test job 及 typecheck/generated/scope 均通过,但固定重复验收未通过:macOS 第三次实际执行 的 fullHit 为 307.177ms,阈值 205.629ms,JUnit 确认 1 failure。旧头三个固定目标各仅 2 次成功,不计为 3 次,也不转移到后续版本。此原因仍未知。前一诊断头
2f42aa38的 macOS 原生采样 有效:fullHit 94.308ms,rebuild 112.198ms,严格阈值 192.929ms;原例 11 断言通过,整组 5291 pass、45 skip、0 fail。profile 与 timings 各一次、未截断、无诊断错误。14 个样本仅证明该窗存在对象/压缩等工作,不能直接换算 CPU 毫秒、认定 host pause 或解释原 307ms。该次正常执行不是修复证明。同一
2f42aa38自然矩阵为 17/18 必过成功,typecheck/generated/scope 通过;唯一 Windows TUI 失败 在 daemon lifecycle 用例外层 15000ms 超时,361 pass、38 skip、1 fail。JUnit 为 0 assertions、15.001544s;原日志随后确认同一调用停在 await spawnDaemon,尚未进入 control status、SSE 或新增断言。Bun 先杀子进程,helper 继续约 45 秒后发出 60 秒拒绝,这不表示未中断启动实际需要 60 秒。旧未合并用例已有相同签名,具体子阶段仍待此次观察。所有原始失败保留,没有失败后手动重跑。这两个未解决问题继续阻止最终完成。
排除范围
warning-only App E2E 不修改、不计必过:前一诊断头 Linux 100 pass、4 flaky、1 fail;Windows 103 pass、2 flaky。本次新头结果另行记录,不以旧结果代替。