diff --git a/.claude/agents/os-dev.md b/.claude/agents/os-dev.md index f821da4650..503ea88a33 100644 --- a/.claude/agents/os-dev.md +++ b/.claude/agents/os-dev.md @@ -169,9 +169,9 @@ model: opus - `set -o pipefail` 与 `${PIPESTATUS[0]}` 仅当下游读到 EOF 才安全。 - `| head -N` 读满即关读端,生产者吃 SIGPIPE 以 0 退出:是管道改了生产者的退出码。 - 此陷阱不限于门禁:任何 `cmd | head` 之后读退出码都中招(`git grep`、`node` 皆然)。 -- 引用门禁结果时点名它自己印的判定行,永不引裸 `$?`:判定行由门禁写,`$?` 由你的管道写。 - 陷阱在 shell 用法里,不可机械化;⛔ 别等机械强制。 - 两类跑了却没测到,都读作 NOT MEASURED,不读作绿也不读作红。 +- 证据已销毁(评论、卡或 PR 答 404)的复核项记 NOT MEASURED 并写因,⛔ 不记通过或「无旗」。 - ① 包的 `typecheck` 可能 `exclude` 掉 `**/*.test.ts`;声称它覆盖你的测试前,用 `--listFiles` 数。 - ② `MODULE_NOT_FOUND` 一类的 exit 1 不是红门禁:多半是脚本名或路径敲错,根本没进到门禁体。 - 它与 `exit 99` / queue-timeout / `PREREQUISITE NOT MET` 同类:用真正的 `pnpm check:*` 命令重跑。 diff --git a/.claude/skills/pm-dispatch/references/rest-channel.md b/.claude/skills/pm-dispatch/references/rest-channel.md index 59daf5ed9d..11bb9548a0 100644 --- a/.claude/skills/pm-dispatch/references/rest-channel.md +++ b/.claude/skills/pm-dispatch/references/rest-channel.md @@ -9,7 +9,8 @@ - 会话门关着的席位本表两侧整表不可达:repo-scoped 读写全 403、`gh` 缺席,而 MCP 与 git 正常。 - ⇒ 先跑一条 repo-scoped 探针再选通道。 - 403 后 `/rate_limit` 判凭据形态:15000/时 = 凭据活被 repo-scoping 拒;60/时或 auth 错 = 无凭据。 -- 按班矩阵与降级梯住 `platform-readings.md`,⛔ 不在本表复述。 +- 限流拒绝绑定被拒身份(报文 user ID):同身份各写通道一并耗尽,⛔ 换通道续写与重试同罪。 +- 他侧只在身份不同时是退路:凭据 `GET /user` ≠ 被拒 user ID 才换;席内 PM 与 dev 同一身份。 - ⛔ 未带 ✓ 的形状不当已验证事实复述。 ## 读侧 —— 全部可迁移 @@ -40,7 +41,6 @@ - 请求体走文件(`-d @file`)或引号定界 heredoc(`<<'EOF'`),⛔ 永不内联双引号串。 - 双引号内 shell 先展开反引号、`$(...)`、`$VAR`,请求尚未成形;只标题坏而正文完好即此形。 - ✓ 请求复审 `POST .../pulls/{n}/requested_reviewers` · 开 PR `POST .../pulls` 带 `draft=true`。 -- GraphQL 池为 0 的同一分钟里开得出 draft PR ⇒ 交付不必等重置。 - ✓ 把 `origin/main` 合进 PR head:`PUT .../pulls/{n}/update-branch`,PM 席位可用。 - 它是零文件写的合 main 手段,产出真合并提交、不重写历史。 - `expected_head_sha` 必须是完整 40 字符 SHA,短 SHA 回 422。