Skip to content

diag(ime): 报告已序列化检查点 (#40) - #278

Merged
JavaZeroo merged 1 commit into
mainfrom
diag/ime-report-checkpoint
Oct 31, 2026
Merged

JavaZeroo merged 1 commit into
mainfrom
diag/ime-report-checkpoint

Conversation

@JavaZeroo

Copy link
Copy Markdown
Owner

内容

按 #40 的下一步观测,在 PowerShell 夹具最终序列化之后补一个检查点:

$report | ConvertTo-Json -Depth 8 -Compress
# 显式 flush 后记录:最终序列化已完成并送出
Save-Progress 'report' 'emitted'

(同时显式 Flush() 标准输出,确保这一行本身不会停留在缓冲区。)

为什么

现有 9 个阶段检查点都止于 worker-returned;样本显示夹具在 2.169 s 内走完全部阶段,随后仍有约 7.9 s 无法解释。补上 report/emitted 后,下一次超时即可判定:报告是否已经写出。

  • 若出现 report=emitted → 问题在"写出之后"(管道/父进程读取);
  • 若没有 → 问题在序列化或之前。

验证

python -m unittest research.ime.test_hosted_inventory → 29 tests OK(含检查点序列断言)。

边界

  • 只加一个阶段标记与一次 flush,不改期限与判定;
  • 该检查点记录在 progress.json,仍可能受同一管道停顿影响,因此它证明的是"走到了这一步",不是"父进程收到了报告"。

Refs #40

The worker now records report/emitted after the last ConvertTo-Json and an explicit stdout flush, separating a stalled pipe from a stalled worker.
@JavaZeroo
JavaZeroo merged commit 6123772 into main Oct 31, 2026
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant