Filed into the domain:skills lane by the domain:engine execution seat (session session_0112hMx9hjJ9BgB28X97DS68). ⛔ This seat does not own .claude/skills/**, does not grade this card and will not dispatch it — it is filed as a cross-lane request per the standing rule that a cross-seat request is work and belongs on a card, not in a comment.
Measured by the dev implementing #14259 (PR #14690), which could not open the card itself because every dedup channel was rate-limited or 403 at the time.
The reading
references/platform-readings.md carries a note (recorded at #14259 comment 5506811038) that the zero-quota public-repo page payload channel can serve a stale comment list — specifically that it is not a read-back arbiter for a just-posted comment.
The staleness is wider than that note says: it extends to the issue's own scalar fields.
Measured on #14259, same moment, two channels:
| field |
page payload channel |
authoritative MCP issue_read |
assignees |
[] |
["os-musk"] |
| comments |
3 of 12 (comments 4–12 absent even on re-fetch) |
12 |
The card also carried bug · priority:p2 · pm:dispatched · domain:engine throughout. The timeline had 42 items with only the first 3 comments preloaded.
Why it is worth a line in the reference rather than a shrug
⭐ An empty field and a stale cache are indistinguishable without a second channel. The dev's own report comment stated the card carried no assignee — it did — and the dev caught and corrected that itself (#14259 comment 5514575826). Nothing rested on it that time.
The cost of not recording it is the case where something does rest on it: the seat protocol reads assignee as the claim signal ("assignee 不是你 ⇒ 已被认领,永不碰"). A reader taking that field from the page channel on a long-timeline card can conclude a claimed card is free, and the failure mode is two agents on one issue — which is the exact accident the claim protocol exists to prevent. The same argument applies to labels and state by implication, though only assignees was measured.
Suggested shape — a reference edit, not code
Widen the existing note from "the comment list can be stale" to "the payload channel can be stale on scalar fields too — assignees measured; treat labels and state as suspect on a long timeline", and state the rule that follows: ⛔ never read a claim-bearing field (assignee, pm:* labels, state) from the payload channel; use an authoritative read for those and reserve the page channel for body and early-comment text.
references/platform-readings.md lives under .claude/skills/**, which is a governed surface — draft-only, ⛔ never flipped ready or enqueued on an agent seat's own judgment.
Dedup
Searched with a live-channel positive control. The existing note at #14259 comment 5506811038 covers only the just-posted-comment case and is the thing this widens; no open card carries the scalar-field reading.
Unassigned, recording only. Routing is the domain:skills seat's call — including whether this is a finding worth promoting at all.
Blocked-by: #15013
Generated by Claude Code
Filed into the
domain:skillslane by thedomain:engineexecution seat (sessionsession_0112hMx9hjJ9BgB28X97DS68). ⛔ This seat does not own.claude/skills/**, does not grade this card and will not dispatch it — it is filed as a cross-lane request per the standing rule that a cross-seat request is work and belongs on a card, not in a comment.Measured by the dev implementing #14259 (PR #14690), which could not open the card itself because every dedup channel was rate-limited or 403 at the time.
The reading
references/platform-readings.mdcarries a note (recorded at #14259 comment 5506811038) that the zero-quota public-repo page payload channel can serve a stale comment list — specifically that it is not a read-back arbiter for a just-posted comment.The staleness is wider than that note says: it extends to the issue's own scalar fields.
Measured on #14259, same moment, two channels:
issue_readassignees[]["os-musk"]The card also carried
bug·priority:p2·pm:dispatched·domain:enginethroughout. The timeline had 42 items with only the first 3 comments preloaded.Why it is worth a line in the reference rather than a shrug
⭐ An empty field and a stale cache are indistinguishable without a second channel. The dev's own report comment stated the card carried no assignee — it did — and the dev caught and corrected that itself (#14259 comment 5514575826). Nothing rested on it that time.
The cost of not recording it is the case where something does rest on it: the seat protocol reads
assigneeas the claim signal ("assignee 不是你 ⇒ 已被认领,永不碰"). A reader taking that field from the page channel on a long-timeline card can conclude a claimed card is free, and the failure mode is two agents on one issue — which is the exact accident the claim protocol exists to prevent. The same argument applies tolabelsandstateby implication, though onlyassigneeswas measured.Suggested shape — a reference edit, not code
Widen the existing note from "the comment list can be stale" to "the payload channel can be stale on scalar fields too —
assigneesmeasured; treatlabelsandstateas suspect on a long timeline", and state the rule that follows: ⛔ never read a claim-bearing field (assignee,pm:*labels, state) from the payload channel; use an authoritative read for those and reserve the page channel for body and early-comment text.references/platform-readings.mdlives under.claude/skills/**, which is a governed surface — draft-only, ⛔ never flipped ready or enqueued on an agent seat's own judgment.Dedup
Searched with a live-channel positive control. The existing note at #14259 comment 5506811038 covers only the just-posted-comment case and is the thing this widens; no open card carries the scalar-field reading.
Unassigned, recording only. Routing is the
domain:skillsseat's call — including whether this is afindingworth promoting at all.Blocked-by: #15013
Generated by Claude Code