From 8014e8bac9bb9f35f80501567e6ca46f7890e0d8 Mon Sep 17 00:00:00 2001 From: os-dev Date: Tue, 6 Oct 2026 14:33:29 +0000 Subject: [PATCH 1/2] =?UTF-8?q?docs(pm-dispatch,=20os-dev):=20a=20user-vis?= =?UTF-8?q?ible=20UX=20defect=20is=20class=20(a)=20=E2=80=94=20filed=20lik?= =?UTF-8?q?e=20a=20functional=20one=20when=20it=20reproduces=20on=20a=20pu?= =?UTF-8?q?blic=20surface=20with=20a=20named=20fix=20site?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit filing-gate.md: ① admits UX defects on equal footing; a ⛔ fence keeps taste, redesign (→ ②) and cost-free perf observations out; a 判例 line records the dashboard case. triage-duties.md and os-dev.md state the same boundary for the triage seat and the dev. Every added line is paid by deleting a line whose rule already lives elsewhere (write pacing / write identity / label-write channel / git stash), so all three ceilings stay at 58 / 120 / 402. Co-authored-by: Claude Claude-Session: https://claude.ai/code/session_0181E4ZeZmWyknawnauxD2CE --- .claude/agents/os-dev.md | 2 +- .claude/skills/pm-dispatch/references/filing-gate.md | 6 +++--- .claude/skills/pm-dispatch/references/triage-duties.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.claude/agents/os-dev.md b/.claude/agents/os-dev.md index 4e70b016be7..a61b4ad4568 100644 --- a/.claude/agents/os-dev.md +++ b/.claude/agents/os-dev.md @@ -40,6 +40,7 @@ model: opus - 回退他人的操作(尤其 ready 翻转)永不轮到你;把意外写进 `summary`。 3. **范围 = 这张 issue,别无其它。** 顺路发现 ⛔ 不在本 PR 修,只有三类立卡且不打标签: - (a) 可复现缺陷(复现或失败探针具名);(b) 违背已声明契约(引契约原文,带 `Seam:` 行); + - (a) 含用户可见的体验缺陷(截断、遮挡、白占首屏、误导文案),须复现且落点具名。 - `Seam: spec:<键或符号> → runtime:<调用点> | renderer:<组件>`,无消费者写 `consumer: none`。 - (c) 让 AI 写出运行时拒收或静默丢弃的元数据的陷阱;三类内 ⛔ 不因看着小揣着不报。 - 三类同欠 `reach:`:公开入口(HTTP/界面/`os validate`/保存)一次实测错误,或具名真实生产者。 @@ -200,7 +201,6 @@ model: opus - `git worktree` 只隔离工作树与 HEAD;`.git/` 下其余一切全 worktree 共享。 - 共享的含 refs(含 `refs/remotes/*`)、stash 栈、config、hooks;配方不点名共享态才 worktree-safe。 - 失效同签名:操作看着本地、报成功,唯一症状是 `git status` 里出现他人文件。 -- ⛔ 永不 `git stash`;替代拼写(wip commit / patch)、机制与 hook 住每会话注入的 CLAUDE.md。 - `git reset --soft origin/main` 会把你分支点之后他人已合并的文件整批 stage 成你的。 - 起点在哪的 reset/diff/log/rebase 一律锚基本规则 1 记录的 `"$BASE"`。 - `log -S/--follow/blame` 判日期或先后前,先 `git rev-parse --is-shallow-repository`,true 就加深申报。 diff --git a/.claude/skills/pm-dispatch/references/filing-gate.md b/.claude/skills/pm-dispatch/references/filing-gate.md index 1bde29ca354..2c6b2c3808d 100644 --- a/.claude/skills/pm-dispatch/references/filing-gate.md +++ b/.claude/skills/pm-dispatch/references/filing-gate.md @@ -10,9 +10,12 @@ - 立卡只为四类,正文首行写立卡门类别 ①–④;⛔ 其余一律不立卡,不论它叫什么。 - ① 有具名落点或复现的产品缺陷,即 `pm:queue` 的定义;其内的 `finding` 限三类且带 `reach:`。 +- ① 含用户可见的体验缺陷,与功能缺陷同等:界面上稳定复现、落点具名、预期不凭审美。 +- ⛔ 不是卡:纯审美偏好、重设计与新功能提议(走 ②)、无用户可见代价的性能观察。 - `reach:` 二选一:公开入口(HTTP/界面/`os validate`/保存)实测一次错误结果;或具名真实生产者。 - 三种例外照立,要点首条「先测可达性」:可能泄露数据;发版固化的错误文字;维护者直派。 - 判例:自注「未测量」的 (b) 卡 ⇒ 不立;`reach:` 记公开入口一次实测错误的 (b) 卡 ⇒ 立。 +- 判例:仪表盘刷新按钮独占一行、首屏白占约 120px ⇒ 立;「配色换个好看的」⇒ 不立。 - ② 只有维护者能做的决定,落卡即带「维护者速读」与四棱块。 - ③ 维护者直派的任务,正文引其原话。 - ④ 协调节点:跨仓/跨层父单与它的逐层子单。 @@ -27,9 +30,6 @@ - 配额:一席每 fire 至多立三张;sweep 超出的折进一张带清单的卡,或折进座位贴。 - 分诊席的存量清理仍走维护者确认的十张一组,⛔ 不因本门改批量。 - 十张一组只备下一组:当前组未经维护者确认 ⛔ 不预备再下一组、不提前展开全部批次。 -- 收到 429 或次级限流 ⇒ 该席本 fire 停写,并把停写记在座位贴上。 -- 关单 ⛔ 永不由脚本循环连发:须维护者确认的分组,且逐笔之间留间隔。 -- 用户类写绑作者:封号则其卡与评论按作者 404,故一个 fire 的首写回读 `user.type`。 - 读到 `User` ⇒ 记座位贴、本 fire ⛔ 不立新卡;认领仍靠 assignee,署名仍是文本的 session ID。 ## 定级判据(北极星「优先级」的执行说明) diff --git a/.claude/skills/pm-dispatch/references/triage-duties.md b/.claude/skills/pm-dispatch/references/triage-duties.md index 184c4b56c5c..3bdb072ff48 100644 --- a/.claude/skills/pm-dispatch/references/triage-duties.md +++ b/.claude/skills/pm-dispatch/references/triage-duties.md @@ -41,6 +41,7 @@ - `finding` = 三类内待定级:(a) 可复现缺陷(复现或失败探针);(b) 违背已声明契约(引契约文); - (c) AI 写元数据会被运行时拒收或静默丢弃的陷阱;其余进 PR `## Acceptance notes`,⛔ 不立卡。 - (a) 的分界是不完整 vs 错误,不是文档 vs 代码:示例照抄即失败是 (a),漏列成员不是。 +- (a) 不分功能与体验:能用但用户可见地错(截断、遮挡、白占首屏、误导文案)也是 (a)。 - 门禁头注、self-test 文案与 `check-*` 处方句 ⛔ 非已声明契约;(b) 须用户或已发布包读得到。 - (c) 元数据 = 由写它的人以外的人存储并再作者化的键:React prop 不是,存储的视图配置是。 - 把作者引向运行时会兑现却让事情更糟的元数据的警告不在 (c) 内;记为边界,⛔ 不扩类。 @@ -81,7 +82,6 @@ - 三类内再过时前提检查,三选一:晋级 / 关闭 not planned / hold;判级只在此轮,不在立单时。 - ⛔ 写入前对每张卡现读当前状态;任何列表快照读数一律作废。 - ⛔ 带 `pm:dispatched` / assignee / 任何 open 或 merged PR 引用的卡,一律不动。 -- 标签/assignee 写恒经 `scripts/pm/label-write.mjs`(四步、回读);⛔ 永不 MCP `issue_write`(锁 1 已拒)。 - 车道席可附证据/前提重验,⛔ 不定级不改标;skills 车道 finding 由该席自分诊,全仓轮跳过。 - 域分批与 sweep 打包晋级五条照用;每批约定与积压告警见 `references/dispatch-runbook.md`。 - `pm:retriage` 每 fire 先答异议评论所求,答后同笔摘标;须维护者答的进收件箱,标照摘。 From 2a241332d3375c7bb4489cd024e7697abea9b737 Mon Sep 17 00:00:00 2001 From: os-dev Date: Tue, 6 Oct 2026 14:51:15 +0000 Subject: [PATCH 2/2] =?UTF-8?q?docs(pm-dispatch):=20the=20UX=20=E5=88=A4?= =?UTF-8?q?=E4=BE=8B=20line=20closes=20the=20=E2=91=A0=20group=20instead?= =?UTF-8?q?=20of=20hanging=20under=20the=20(b)=20=E5=88=A4=E4=BE=8B=20line?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The sibling branch in flight deletes the (b) 判例 line; anchoring the new case under it would make the two hunks adjacent. Placed after the ⛔ fence, the ① group reads ①-extension → fence → case, and two unchanged lines separate it from the sibling's deletion. Co-authored-by: Claude Claude-Session: https://claude.ai/code/session_0181E4ZeZmWyknawnauxD2CE --- .claude/skills/pm-dispatch/references/filing-gate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.claude/skills/pm-dispatch/references/filing-gate.md b/.claude/skills/pm-dispatch/references/filing-gate.md index 2c6b2c3808d..40c86161255 100644 --- a/.claude/skills/pm-dispatch/references/filing-gate.md +++ b/.claude/skills/pm-dispatch/references/filing-gate.md @@ -12,10 +12,10 @@ - ① 有具名落点或复现的产品缺陷,即 `pm:queue` 的定义;其内的 `finding` 限三类且带 `reach:`。 - ① 含用户可见的体验缺陷,与功能缺陷同等:界面上稳定复现、落点具名、预期不凭审美。 - ⛔ 不是卡:纯审美偏好、重设计与新功能提议(走 ②)、无用户可见代价的性能观察。 +- 判例:仪表盘刷新按钮独占一行、首屏白占约 120px ⇒ 立;「配色换个好看的」⇒ 不立。 - `reach:` 二选一:公开入口(HTTP/界面/`os validate`/保存)实测一次错误结果;或具名真实生产者。 - 三种例外照立,要点首条「先测可达性」:可能泄露数据;发版固化的错误文字;维护者直派。 - 判例:自注「未测量」的 (b) 卡 ⇒ 不立;`reach:` 记公开入口一次实测错误的 (b) 卡 ⇒ 立。 -- 判例:仪表盘刷新按钮独占一行、首屏白占约 120px ⇒ 立;「配色换个好看的」⇒ 不立。 - ② 只有维护者能做的决定,落卡即带「维护者速读」与四棱块。 - ③ 维护者直派的任务,正文引其原话。 - ④ 协调节点:跨仓/跨层父单与它的逐层子单。