Skip to content

[R2][回归] 核对 more.com 尾部 ECH 的捕获与 Recovery 差异 #42

Closed

Description

@JavaZeroo

现象

真实 more.com 的 pager 捕获存在两种尾部:一种只有提示文字,另一种在 q 退出时追加 CR + CSI 79X(十六进制 0d 1b 5b 37 39 58)。当前捕获器在等待 TF_PAGE_1 后就发送 q,尚未证明 More 提示完整输出后再退出。

固定 366 字节捕获的末尾为 CR + CSI 79X。默认 Recovery 在 3x12 回放后于第三行留下 ),termforge.2 与 termforge.3 候选和固定 pyte 0.8.2 则清除该行。两个候选版本在同一原始捕获上的差异完全相同,因此这不是 margin 修复引入的差异。新鲜捕获为 360 字节时,三应用 3 次 match;不能据此忽略另一类真实运输。

保留的边界

后续验收

  • 固定同一捕获比较默认 Recovery、候选和独立参考,明确 ECH 与 wrap 的可观察合同。
  • 真实 more.com 在确认完整提示后退出,记录输出端点、退出与回收;不同合法重绘不能靠修改输入规避。
  • 消除捕获竞态及确认的实现差异,或保留带精确输入和未完成路标的差异记录;完整默认 differential 与 R1 回归不得被静默降级。

父项:#38。

Activity

  1. JavaZeroo commented on Oct 26, 2026

    @JavaZeroo
    OwnerAuthor

    已由 #43 合入限定修复。默认 Recovery 实现 ECH;原 360/366 字节输入保留,366 字节在旧核心 whole/byte 失败、修复后与候选/pyte 一致。真实 More 捕获等待完整提示、只发一次 q、正常退出并继续读取至真实 EOF,保留全部尾部,不再提前取快照。

    合同、来源及剩余差异与前后证据已同步。候选 pending-wrap 差异继续归 #27,未自动登记比较豁免;本项关闭不表示完整终端模式或 R2 验收完成。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions