Skip to content

service/cases 的「工单升级」整节(:89–100)与 :34 是 PR #894 未清扫的同族副本:High+Customer 分支、改派给经理、跟进任务归原客服、通知客服+经理+支持团队 #914

Closed

Description

@yinlianghui

发现自 #904 / PR #913 的实施过程(清扫 service/index 同族说法时,顺链核对了 sla / cases 两页的现行文本)。

#887 / PR #894 在 content/docs/service/cases.mdx 上认领并写实的是《工作流自动化》一节的 :82 / :83 与管理员提示 :178 —— 那三处现在是对的。但同一页的另外两处仍是原样未动的旧说法,而且比已改的那三处更完整地复述了全部虚构:一个不存在的触发分支、一次不存在的改派、一条归属错误的任务、一封发给三方的邮件。不在 #887 的切割里,故单独立单。

基线 origin/main = 7df29789(含 PR #894 / #906 / #907 / #910),平台 17.0.0-rc.3。三语同行号,共 7 行 ×3 语言 = 21 行。

逐条

:34 —— Critical 通知支持经理 + High/Customer 自动升级

When a case is set to Critical, the support manager is notified by email. When set to High for a customer account, the case is auto-escalated.

两句都不成立,且与同页 :82(PR #894 已写实)直接打架::82 说收件人是 {caseRecord.owner_id} 一人、support_manager@example.com 不存在,:34 在它上方 48 行说支持经理会收到邮件。High/Customer 分支同理 —— src/flows/case-escalation.flow.ts 的 start 条件全文只有 record.priority == "critical",全仓 24 个 flow 无一处读取账户类型(#886 已按同一实测把 sla 页写实)。

:89–:100 —— 升级触发条件与五步清单

89: The Case Escalation flow runs automatically when:
91: - Priority is Critical, OR
92: - Priority is High AND the account is a Customer (not a prospect)
94: It performs:
96: 1. Reassign the case to the agent's manager.
97: 2. Flag as escalated, stamp the escalated date.
98: 3. Set status to Escalated.
99: 4. Create a follow-up task on the original agent due tomorrow.
100: 5. Notify the agent, the manager, and the support team via email.

这正是 #876 / PR #885 在 sla 页逐条写实过的那份五步清单,原封不动地留在 cases 页上:

  • :92 的 High+Customer 分支不存在(同 :34);
  • :96 的改派不存在 —— update_record 节点只写 is_escalated / escalation_reason / escalated_date / status,注释开头即 No owner reassignment,通知正文自己写着 It remains assigned to you.;
  • :99 的跟进任务归属错 —— flow 里根本没有任务节点,任务由 src/objects/case.hook.ts 的 case_status_side_effects 钩子开出,owner_id 取的是账户负责人(account.owner_id),且仅限有关联账户的工单;
  • :100 的三方邮件不存在 —— recipients 只有 {caseRecord.owner_id} 一项,grep -rn "support-team@\|support_manager@" src/ 零命中。

:97 / :98(打标记 + 改状态)经核对是对的,与 sla 页 :70 / :71 一致,不要顺手改。

为什么要紧

:34 与 :82、:89–:100 与 :82/:83 在同一页里互相矛盾:PR #894 把《工作流自动化》一节修好之后,读者在这一页上同时读到「发给工单负责人一人」和「通知客服、经理和支持团队」,而后者带着一份看起来更权威的编号清单。

边界

Refs #876 #886 #887 #904

Activity

  1. added
    documentationImprovements or additions to documentation
    pm:queueReady for the PM dispatch loop
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    documentationImprovements or additions to documentation
    pm:queueReady for the PM dispatch loop
    on Aug 6, 2026
  2. self-assigned this
    on Aug 6, 2026
  3. yinlianghui commented on Aug 6, 2026

    @yinlianghui
    CollaboratorAuthor

    🔒 认领(/pm-dispatch R28,与 #915 并单,本单为主单)— session session_01VHrPAGEgFDoHjphqYG4BMa,分支 claude/issue-914-915-service-copies。

    文件面:content/docs/service/cases{,.zh-Hans,.zh-Hant}.mdx 的 :34 与 :89-100 整节(本单)+ content/docs/service/index{,.zh-Hans,.zh-Hant}.mdx 的 :27(#915)——PR #913/#918 刚动过这两页,fresh main 重定位。

    裁定:

    1. 同族同修:两单都是 service/index 的「工作流程 / 系统为你做了什么」两处清单是 #876/#885/#894 已清掉那批说法的未清扫副本:升级会重新分配给资深客服、High+Customer 分支、通知支持经理 / 升级团队、红色横幅 #904/docs(service): 按 flow 与 hook 写实 SLA 页的升级说明(#876) #885/docs: 清扫 automation 页之外的「工作流规则」并写实 cases 两条虚构通知 (#850, #887) #894 家族的未清扫副本(High+Customer 分支、改派给经理、跟进任务归属、通知收件人、「紧急提醒支持经理」),一个 PR 两行 Fixes 一次收口,措辞逐句对照 docs(service): 按 flow 与 hook 写实 SLA 页的升级说明(#876) #885/docs: 清扫 automation 页之外的「工作流规则」并写实 cases 两条虚构通知 (#850, #887) #894/docs(service): 把 service/index 的升级与通知五条说法按 flow / hook 写实(#904) #913 已落地写法抄平。
    2. ⚠️ cases 页 :78 与 :80 不在面内,一字不得动——:78(Status progression is enforced)归 administration/state-machines 通篇声称状态机会「拦下」非法转换,实测五条规则全是 warning:保存照样通过;连「只显示合法下一状态」「bypass state machine 权限」都无实现 #920、:80(Workflow automation 标题)归 bare workflows 残留族在 #899 枚举之外还有 4 处:whats-new 把真实的 contract_renewal 流程叫成 workflow,state-machines:133 在 PR #894 扫过该文件后仍留着 #912,R29 处理;service/cases 的「工单升级」整节(:89–100)与 :34 是 PR #894 未清扫的同族副本:High+Customer 分支、改派给经理、跟进任务归原客服、通知客服+经理+支持团队 #914 正文已核对属实的 :97/:98 同样不得动。
    3. service/index :27「*紧急*会立即提醒支持经理」是同页 :37 那条虚构收件人的第二份——#904 的行清单没有列到它,PR #913 落地后同页自相矛盾 #915 附带:index :27 是全页唯一把 Critical 译作「紧急」的地方,修复时按同页其余写法统一(Critical 拉丁写法沿 docs(service): 把 service/index 的升级与通知五条说法按 flow / hook 写实(#904) #913 口径)。
    4. SLA policy matrix: per-priority × tier clocks, first-response stamping, escalation that reassigns #595/Case intake: round-robin assignment + triage view so web-to-case never lands ownerless #596 不预判;src/ 零改动;三语同步。

    Generated by Claude Code

  4. yinlianghui commented on Aug 6, 2026

    @yinlianghui
    CollaboratorAuthor

    ✅ 验收通过(并单 #914+#915)—— PR #922 已转 ready 并挂 auto-merge(CI 8/8 全绿实核)。

    验收要点:

    1. 两单前提逐条复核成立,每处都有 file:line 源码证据(start 条件只有 critical、update_record 不碰 owner、通知正文自证 It remains assigned to you.、任务由 case_status_side_effects 开给账户负责人、三个虚构邮箱 grep 零命中)。
    2. 面控证明是本单亮点:git diff -U0 三个 hunk 头证 :78(归 administration/state-machines 通篇声称状态机会「拦下」非法转换,实测五条规则全是 warning:保存照样通过;连「只显示合法下一状态」「bypass state machine 权限」都无实现 #920)/:80(归 bare workflows 残留族在 #899 枚举之外还有 4 处:whats-new 把真实的 contract_renewal 流程叫成 workflow,state-machines:133 在 PR #894 扫过该文件后仍留着 #912)落在改动段之外,sed + md5 改动前后一致;:97/:98 属实文本仅重编号,去前缀 md5 一致——行级切割以密码学证据交付,后续 bare workflows 残留族在 #899 枚举之外还有 4 处:whats-new 把真实的 contract_renewal 流程叫成 workflow,state-machines:133 在 PR #894 扫过该文件后仍留着 #912/administration/state-machines 通篇声称状态机会「拦下」非法转换,实测五条规则全是 warning:保存照样通过;连「只显示合法下一状态」「bypass state machine 权限」都无实现 #920 派发无碰撞风险。
    3. 口径抄平到位:《工单升级》整节按 docs(service): 按 flow 与 hook 写实 SLA 页的升级说明(#876) #885/service/sla-and-escalation 三语还剩两处行为性失实:升级触发条件多出一个不存在的 High+Customer 分支,Critical 违约行承诺「红色横幅 + 通知支持经理」 #886 已落地结构重写(一个触发条件 + 三步真实动作 + 三条刻意不写);service/index :27「*紧急*会立即提醒支持经理」是同页 :37 那条虚构收件人的第二份——#904 的行清单没有列到它,PR #913 落地后同页自相矛盾 #915 的 :27 顺带统一了中文页唯一的「紧急/緊急」为拉丁 Critical,沿 docs(service): 把 service/index 的升级与通知五条说法按 flow / hook 写实(#904) #913 口径。
    4. 守卫盲区如实报 predicted GREEN 并做了 stash 实测(改前改后同绿),证据在源码复核。
    5. SLA policy matrix: per-priority × tier clocks, first-response stamping, escalation that reassigns #595/Case intake: round-robin assignment + triage view so web-to-case never lands ownerless #596 未预判;src/ 零改动;中文页锚点按 service/index 的「工作流程 / 系统为你做了什么」两处清单是 #876/#885/#894 已清掉那批说法的未清扫副本:升级会重新分配给资深客服、High+Customer 分支、通知支持经理 / 升级团队、红色横幅 #904 惯例清理。

    越界发现处置:#925(cases 页 :59/:70/:71/:111 —— SLA 断言与字段名同族第三处,行集与 #920 的 :78、#912 的 :80 互斥)已复核成立,标 pm:queue;R29 与 #912/#920 同页,建议三单并单或同轮同 dev 处理,避免三次碰同一文件。


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

pm:dispatchedDispatched to a dev agent by /pm-dispatch

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions