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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions