Filed unassigned by the domain:cli 执行 PM 席位(#6024),会话 session_01TvqBFLRzXdSPcbusDoED9k。
事实
一个 issue body,若以一条 --- 水平线、其后跟 attribution footer 结尾,创建时会丢掉从那条线开始的一切。存下来的 body 停在最后一段正文。
⇒ 每一张这样立的卡都在静默地丢掉仓规要求的 attribution footer。
测量:5 个实例,两个独立来源
#12573 的 dev 测了 3 次,判定为确定性,并给出了区分机制的关键一步:把同样的 footer、去掉前面那条规则重写一次,完整存活。⇒ 触发条件是结尾的那条水平线,⛔ 不是 footer 文本本身。三种读法互相印证:raw markdown body、渲染后的 bodyHTML、以及对 raw page 的 grep。
本席今天独立撞上了另外 2 个,⛔ 不是转述:
| 卡 |
我发出的结尾 |
存下来的结尾 |
| #13376 |
--- + _Generated by [Claude Code](…)_ |
停在 ## Refs 的最后一个 bullet |
| #13381 |
同上 |
停在 ## Refs 的最后一个 bullet |
两张都是我本人在 2026-08-30 用 MCP issue_write create 立的,正文我手上有原文 ⇒ 发出去有、存下来没有。
⭐ 边界:comments 不受影响
dev 事后测了范围:评论不受影响 —— 平台自动追加在报告评论上的 footer 带着那条 --- 规则并且存活了。本席今天所有评论的读回也都带着完整 footer。
⇒ 这是 issue / PR body 专属的行为,⛔ 不要把它推广成"footer 在哪都会掉"。
⚠️ 为什么定 p1
⛔ 不是因为难看。三条:
- 它删掉的是仓规强制的东西。 attribution footer 是每条 GitHub 发帖的硬要求,⛔ 而这个机制让遵守它的人以为自己遵守了。
- 它静默。 ⛔ 没有报错、没有警告、创建返回成功。唯一的症状是事后回读才看得见 —— 而回读一张自己刚写的卡,正是最容易被跳过的那一步。
- 它专挑正确的写法。 ⭐
--- + footer 是本仓推荐的结尾形状 ⇒ 越守规矩的作者越会踩到,⛔ 随手写的反而躲开了。
待判:修法有两个方向,⛔ 本席不裁
- A 改写作约定:body 里 footer 前 ⛔ 不要那条
---(评论仍可保留)。⭐ 零成本、今天就能生效、os-dev 契约与 PM SKILL 各一行。⚠️ 但它是绕过,⛔ 不修根因,且任何没读到这条规则的席位会继续踩。
- B 定位根因:先确定是 MCP 层、GitHub API 层、还是某个 sanitizer 在吃。⚠️ 若不在本仓可控范围内,B 会退化成 A。
⇒ ⭐ 建议先落 A(便宜、立即止血),B 作为独立调查。⛔ 但这是一个写作约定的改动,落在 governed surface(.claude/** / AGENTS.md / skills/**)上,⛔ 不由本席位自行改。
复现
用 MCP issue_write create 立一张卡,body 以下面两行结尾:
然后 issue_read get 回读 body。观察:两行都不在。
再用 issue_write update 把同样的 footer 写回去、但去掉前面的 ---。观察:存活。
⚠️ 本卡自身就是正控:它故意不以 --- 结尾。若你现在读到下面这行 footer,本卡描述的机制就是真的 —— 因为同一天同一个席位用同一个工具立的 #13376 与 #13381 都丢了它。
去重申报
⚠️ NOT MEASURED,⛔ 不是零读数:MCP search_issues 正在返回假零(#13326,p1,三席两仓复现且会话中途退化)。若已有同形状的卡,请合并并留痕。
Refs
Generated by Claude Code
Filed unassigned by the
domain:cli执行 PM 席位(#6024),会话session_01TvqBFLRzXdSPcbusDoED9k。事实
一个 issue body,若以一条
---水平线、其后跟 attribution footer 结尾,创建时会丢掉从那条线开始的一切。存下来的 body 停在最后一段正文。⇒ 每一张这样立的卡都在静默地丢掉仓规要求的 attribution footer。
测量:5 个实例,两个独立来源
#12573 的 dev 测了 3 次,判定为确定性,并给出了区分机制的关键一步:把同样的 footer、去掉前面那条规则重写一次,完整存活。⇒ 触发条件是结尾的那条水平线,⛔ 不是 footer 文本本身。三种读法互相印证:raw markdown body、渲染后的
bodyHTML、以及对 raw page 的 grep。本席今天独立撞上了另外 2 个,⛔ 不是转述:
---+_Generated by [Claude Code](…)_## Refs的最后一个 bullet## Refs的最后一个 bullet两张都是我本人在 2026-08-30 用 MCP
issue_write create立的,正文我手上有原文 ⇒ 发出去有、存下来没有。⭐ 边界:comments 不受影响
dev 事后测了范围:评论不受影响 —— 平台自动追加在报告评论上的 footer 带着那条
---规则并且存活了。本席今天所有评论的读回也都带着完整 footer。⇒ 这是 issue / PR body 专属的行为,⛔ 不要把它推广成"footer 在哪都会掉"。
⛔ 不是因为难看。三条:
---+ footer 是本仓推荐的结尾形状 ⇒ 越守规矩的作者越会踩到,⛔ 随手写的反而躲开了。待判:修法有两个方向,⛔ 本席不裁
---(评论仍可保留)。⭐ 零成本、今天就能生效、os-dev契约与 PM SKILL 各一行。⇒ ⭐ 建议先落 A(便宜、立即止血),B 作为独立调查。⛔ 但这是一个写作约定的改动,落在 governed surface(
.claude/**/AGENTS.md/skills/**)上,⛔ 不由本席位自行改。复现
---结尾。若你现在读到下面这行 footer,本卡描述的机制就是真的 —— 因为同一天同一个席位用同一个工具立的 #13376 与 #13381 都丢了它。去重申报
search_issues正在返回假零(#13326,p1,三席两仓复现且会话中途退化)。若已有同形状的卡,请合并并留痕。Refs
---。两条一起看才是完整的 footer 丢失图景。pull_request_readreturns a PR body with HTML entities ESCAPED, and PATCHing it back stores the escaped form — a blockquote silently becomes a paragraph starting with a literal>#13165 —— MCP 读回的 body 里 HTML 实体被转义,原样 PATCH 回去会存下转义形态。⇒pull_request_readreturns a PR body with HTML entities ESCAPED, and PATCHing it back stores the escaped form — a blockquote silently becomes a paragraph starting with a literal>#13165。packages/rest's new 37-error test-typecheck ledger — 13 of them are one class in one file, and 14 more look like one call-signature story across five #12573 / [finding] The authz-conformance PROBES table names 4 of the 17 runtime domain files — the same blind spot one layer out, at file selection rather than probe reach #13376 / [finding]ProvisionEnvironmentResponseSchemadeclares a REQUIREDcredentialthe quoted handler does not send — andProvisionOrganizationResponseSchemaembeds it, so two response contracts carry the divergence #13381 —— 五个实例的出处Generated by Claude Code