From 865c349a51b9caa5440def5b4dfb5134a8d6cb0e Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 14 Aug 2026 04:39:59 +0000 Subject: [PATCH] docs(pm-dispatch): add search_issues semantic-only and list_issue_types 403 trap rows to platform readings Two MCP trap-table rows beside their siblings in the API-quota section: quoted exact-string queries through search_issues return 0 for literals verifiably present in bodies (control probe included, still 0 at ~12h across a UTC day boundary), so zero hits are never evidence and the Blocked-by reverse index must be computed by direct body/comment reads; list_issue_types 403s for this integration while issue_write type: succeeds with known-good values, so write directly and treat a write-side error as the real signal (invalid-value behavior unmeasured). Plus one runbook note at the pm:blocking derivation step pointing at the direct-read procedure. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_018WuTtyckQa1VcXwgd52JpN --- .../pm-dispatch/references/dispatch-runbook.md | 5 ++++- .../pm-dispatch/references/platform-readings.md | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.claude/skills/pm-dispatch/references/dispatch-runbook.md b/.claude/skills/pm-dispatch/references/dispatch-runbook.md index 84d823b148..d8988dccdf 100644 --- a/.claude/skills/pm-dispatch/references/dispatch-runbook.md +++ b/.claude/skills/pm-dispatch/references/dispatch-runbook.md @@ -22,7 +22,10 @@ issue 编号。 即摘。写标签只是把决策箱指标早已在现算的结果**缓存**到列表页可见的地方 —— 推导 本性不变,「一个标签存在,当且仅当有具名读者」不变(具名读者:取卡全序、列表页 扫描)。种子与消费者注记在 `scripts/pm/ensure-pm-labels.sh`;手工挂上的按误标处 - 理,sweep 对着索引校正。 + 理,sweep 对着索引校正。反向索引的取数**只能直读**(`list_issues` 列候选 + + `issue_read` 逐卡读 body 与评论)—— MCP `search_issues` 是语义匹配,精确串对逐 + 字在正文的 `Blocked-by:` 行也 0 命中,零命中不是证据(实测细则见平台读数事实 + 表)。 ## 紧急卡 fable 直接分诊(维护者 2026-08-13) diff --git a/.claude/skills/pm-dispatch/references/platform-readings.md b/.claude/skills/pm-dispatch/references/platform-readings.md index 74c6437522..2dd376037d 100644 --- a/.claude/skills/pm-dispatch/references/platform-readings.md +++ b/.claude/skills/pm-dispatch/references/platform-readings.md @@ -67,6 +67,22 @@ 转,且同一套工具里无从对账真原文。机器可 grep 的行(`Blocked-by:` 一类)可能因 此落在评论首行而非 body —— 解锁扫描必须连评论一起扫(`in:comments`);确要改写 body,先经 REST 取原始 body 对账再写。 +- **MCP `search_issues` 是纯语义匹配,精确串/限定符语义不成立** —— 带引号的逐字 + 查询对「正文里可验证存在」的 `Blocked-by:` 行返回 0 命中,连控制探针(目标行逐 + 字在正文、写入约 15 分钟后同小时读回确认)也 0 命中;复测同一控制在约 12 小 + 时、跨 UTC 日界后仍 0 命中。同日索引滞后让它恰在最需要反向索引的时刻(当日新写 + 的依赖行)失真 ⇒ 它的零命中**永远不是证据**,零命中反查纪律对这条通道本身失 + 败,⛔ 不拿它的 0 当「无依赖者」。MCP 座位算 `Blocked-by:` 反向索引只能**直 + 读**:`list_issues` 列候选 + `issue_read` 逐卡读 body 与评论(机器可 grep 行可 + 能落在评论首行,见上条),或等仓库侧机械索引。 +- **MCP `list_issue_types` 对本集成一律 403**(「Resource not accessible by + integration」,读侧权限缺口),而同一会话同一集成的 `issue_write` 带 `type:` + 写已知合法值(`Bug` / `Feature` / `Task`)成功。服务器指引「先查列表再取合法 + 值」在这里把座位引向两个错误出口:据 403 判「原生 type 不可用」而静默丢掉 + type 纪律,或把 type 任务报 blocked ——「查不了 ≠ 类型不可用」。⇒ ⛔ 不先探列 + 表:直接写已知合法值,**写侧报错才是真信号**,列表 403 不是。边界:非法 + type 值是大声报错还是被静默丢弃**未实测** —— 本条只断言已测的一对(列表 + 403 / 已知合法值写入成功)。 ## 读数陷阱