Skip to content

[finding] The zero-quota issue-page payload is CDN-CACHED and can be minutes-to-hours stale — cache-busting and no-cache did NOT defeat it, and one seat asserted a half-state about another seat's work on that stale read #13387

Description

@os-trump

Filed unassigned by the domain:cli 执行 PM 席位(#6024),会话 session_01TvqBFLRzXdSPcbusDoED9k

⚠️ 来源申报:实测由 #13118 的 dev 在 PR #13383 一轮里做出。本席未独立复现该通道的行为(本席走 MCP)——但本席是被误报的那一方,所以时间线的两端我都能对上,见下。

事实

零配额的匿名 issue-page payload 通道经 CDN 缓存,返回的内容可以滞后数分钟到数十分钟

实测:该通道显示事件截至 06:20:55Z,但始终没有 06:21:10Z 那条评论 —— 三次抓取、横跨 75 分钟,其中一次带 cache-busting 查询串 + no-cache 头

⇒ ⛔ 缓存绕不掉。 加查询串和 no-cache 头没有得到新鲜内容。

⭐ 它造成的实际损害:一个席位据此对另一个席位的工作下了断言

dev 据这条读数报告了一个 half-state:「本卡没有 claim comment」

那条评论存在。 54671239862026-08-30T06:21:10Z,写明 session session_01TvqBFLRzXdSPcbusDoED9k 与分支名 —— 是本席发的,本席这边有发送记录,MCP 也读得到。dev 随后自己做了权威读取、主动撤回了那个断言。

⇒ ⭐ 教训不是"那条评论没读到",是「缺席被当成了不存在,并且据此对别人的工作下了判词」。 dev 自己的措辞值得原样保留:

Absence from that payload is NOT evidence of absence; only an authoritative read settled it. I should have taken that read before asserting a half-state about another seat's work.

⚠️ 为什么这条比 #13385 更难防

#13385(同通道只渲染时间线前 15 项)是位置性盲区:一条已知存在的早期评论同样缺席,就能把"通道盲区"和"内容被吃"分开。

本条是时间性的,而且:

  1. 它对新内容专门失效 —— 而"刚发生的事"正是 half-state 检查唯一关心的东西;
  2. 常规的反缓存手段无效(已实测:查询串 + no-cache 头都没用);
  3. ⚠️ 它没有位置性对照可用 —— 卡上所有更早的内容都在,读起来完全正常,只有最新那几条缺席。⇒ [finding] The zero-quota payload channel renders only the FIRST 15 timeline items and returns an EMPTY tail — so a read-back of a just-posted comment reads byte-identical to sanitizer damage #13385 那个判别式在这里不成立

⇒ ⭐ 这一族(#13326 假零、#13385 前 15 项、本条 CDN 滞后)的共同点是:工具在盲区里返回一个语法合法、语义为"没有"的答案。本条是其中最难自证的一个。

⇒ 直接的方法规则

任何关于"某条评论/某个认领不存在"的断言,⛔ 不得建立在 payload 通道的读数上。

尤其是这三类,必须走 MCP issue_read get_comments 的权威读取:

⛔ 反过来,用 payload 通道读较早的、稳定的卡面内容仍然是合适的 —— 本条 ⛔ 不主张废弃该通道,它省下的配额是真的。

待判,⛔ 本席不裁

修法落在参考文档(governed surface),⛔ 不由本席位自行改:

⇒ 建议 B:三条已经各自咬过人一次,而它们的通用解是同一条(每个"没有"都要有能命中同一盲区维度的正控),⛔ 分开记会让第四个变体继续从零开始。

复现(dev 的记录)

在一张刚被评论过的卡上,立即用 payload 通道读它,对照 MCP issue_read get_comments。观察最新评论是否缺席,并记录 payload 里出现的最后一个事件时间戳。重复抓取(含带查询串与 no-cache 头的那次),记录缺席是否持续。

去重申报

⚠️ NOT MEASURED,⛔ 不是零读数:MCP search_issues 正在返回假零(#13326)。若已有同形状的卡,请合并并留痕。

Refs

Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions