Skip to content

Docs drift (round 2 leftovers): ~39 product pages still name "Sales/Service Copilot" as a persona; config comment and RELEASE_STRATEGY.md still stale #612

Description

@os-zhuang

发现于 #589 / PR #611 的实施过程中,均超出 #589 的明确范围,故单独记录。三项都是纯文档/注释变更。

1. 约 39 个产品页面仍把 "Sales Copilot" / "Service Copilot" 当作人格化助手

#589 的问题 2 只列举了 content/docs/ai-copilot/{sales,service}-copilot.mdx(6 个页面),PR #611 已把它们改写为技能文档,并顺带修正了 ai-copilot 目录、glossary、customization 以及全部指向这两页的链接文案。

但 content/docs/ 下仍有约 39 个页面在散文中沿用这两个昵称,共约 90 处,例如:

  • content/docs/sales/contacts.mdx:54 — "The Sales Copilot refuses to draft outbound emails to this person"
  • content/docs/sales/opportunities.mdx:113 — "AI Reference Rail — Sales Copilot suggestions"
  • content/docs/sales/pipeline-management.mdx、sales/leads.mdx、sales/quotes.mdx
  • content/docs/revenue/products.mdx:89,113
  • content/docs/service/knowledge-base.mdx、service/sla-and-escalation.mdx
  • content/docs/index.mdx

这些散文没有断言存在名为 sales_copilot 的 agent(所以 #589 的验收标准已由 #611 满足),但作为产品用语它们指向的是 #512 已退役的人格。

需要先定调再动手的问题:这些位置应该统一改成"平台助手"(AI assistant),还是保留 "Copilot" 作为面向用户的品牌称呼?这是一次全站用语决策,不宜由单个 PR 顺手带过。

注意与 #606 的重叠:content/docs/ai-copilot/live-schema.* 也在这批文件中,但它属于 #606 的范围(可执行 demo 路径)。本议题动手前应先确认 #606 的落地结果。

2. objectstack.config.ts:76 注释仍提到"两个 agent"

// unaffected — the two agents + skills still validate, build into the artifact,

ai 能力那段长注释里的这一句写于 agents 退役(#512)之前,现在应为 "the skills still validate…"。属于源码注释而非文档,故未并入 #611。

3. docs/RELEASE_STRATEGY.md:14 版本号过时

| Current version | `1.0.5` |

实际为 2.2.2(objectstack.config.ts 与 package.json 一致)。#589 只点名了 docs/ARCHITECTURE.md 的同类问题(已在 #611 修正),此处遗漏。

顺带建议:既然同一个数字已经在至少三处手写副本中漂移,可以考虑让 test/docs-drift.test.ts 增加一条规则,从 objectstack.config.ts 抽取 manifest.version 并断言这些文档中出现该值——把"声明即强制"落到版本号上,比再修一次更划算。

Activity

  1. added
    documentationImprovements or additions to documentation
    needs-user-decisionNeeds the maintainer's call before work proceeds
    on Aug 4, 2026
  2. os-zhuang commented on Aug 4, 2026

    @os-zhuang
    ContributorAuthor

    分诊(PM 循环第 1 轮扫检,会话 session_01Rvtsew6XgsSjxVa59HRPRK):加 needs-user-decision,等维护者定调后再入队。

    待拍板的问题:约 39 个产品页面、~90 处散文仍把 "Sales Copilot" / "Service Copilot" 当作人格化助手称呼(#512 已退役 agent 实体)。全站统一用语是一次品牌/产品语义决策,不宜由单个 PR 顺手带过。

    可选方案(两轴分析):

    • 方案 A:统一改为中性的「AI assistant / 平台助手」措辞。
    • 方案 B:保留 "Copilot" 作为面向用户的品牌称呼(仅指能力集合,不指 agent 实体)。
      • 项目长远合理性:如果营销层面要保留该品牌词,改 90 处再改回来是净浪费;但需要一条明确的措辞规范(Copilot = 技能集合的品牌名)写进 docs 贡献指南,否则每个后续作者都会再次人格化它;
      • 防 AI 犯错:弱于 A —— 品牌词与实体名同形,AI 无法从字面区分「品牌称呼」与「API 里的 agent 名」,Wow #1 demo docs + script still POST the retired sales_copilot agent #606 那类可执行示例写错的风险持续存在。

    PM 建议:方案 A,两轴都占优;唯一的反例是营销品牌诉求,而那是维护者才能确认的输入。

    另注:第 2 项(objectstack.config.ts:76 注释)已并入 #606 的范围,第 3 项(RELEASE_STRATEGY 版本号 + 版本号 drift 测试)是无争议小修,若维护者定调前想先消掉,可单独拆出去入队。


    Generated by Claude Code

  3. added
    pm:queueReady for the PM dispatch loop
    and removed
    needs-user-decisionNeeds the maintainer's call before work proceeds
    on Aug 4, 2026
  4. os-zhuang commented on Aug 4, 2026

    @os-zhuang
    ContributorAuthor

    维护者已拍板(2026-08-04):方案 A —— 全站统一改为中性的「AI assistant」措辞,去人格化。 移除 needs-user-decision,转入 pm:queue。

    派发时的范围界定(PM 记录,防止与在飞/已入队工作冲突):

    1. 主体:~39 个产品页面、~90 处散文中的 "Sales Copilot" / "Service Copilot" 人格化称呼 → "AI assistant"(中文版本用「AI 助手」,三语言版本保持一致);改写时保留句子的功能语义(如 contacts.mdx:54 的 DNC 拒发邮件行为描述),只换称呼。
    2. 随单加执法守卫:在 test/docs-drift.test.ts 增加规则 —— content/docs/** 散文不得再出现 "Sales Copilot" / "Service Copilot" 人格称呼(白名单机制留给历史性上下文,如确需提及退役史)。声明即强制,防止第三轮清理。
    3. 并入第 3 项:docs/RELEASE_STRATEGY.md:14 版本号(1.0.5 → 与 objectstack.config.ts 一致),并加版本号 drift 断言。
    4. 排除(避免撞车):

    串行顺序:#648 合并 → #606 合并 → 派发本单。


    Generated by Claude Code

  5. os-zhuang commented on Aug 4, 2026

    @os-zhuang
    ContributorAuthor

    补充架构定调(维护者,2026-08-04,作为方案 A 改写的措辞依据):AI 能力统一由 cloud(objectstack-ai/cloud)中的 agent 实现;应用项目侧只定义 skills。 因此文档改写时的正确心智模型是:「AI assistant」指平台统一提供的助手能力(由 cloud 侧 agent 承载),HotCRM 提供的是领域 skills —— 散文中凡是把助手描述成 HotCRM 自有人格("Sales/Service Copilot")的段落,改写后应与这一模型一致,不得再暗示应用内存在独立 agent 实体。


    Generated by Claude Code

  6. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Aug 6, 2026
  7. self-assigned this
    on Aug 6, 2026
  8. yinlianghui commented on Aug 6, 2026

    @yinlianghui
    Collaborator

    🔒 认领(/pm-dispatch R37,终局单,全站无并行)— session session_01VHrPAGEgFDoHjphqYG4BMa,分支 claude/issue-612-copilot-depersonalization。

    裁定(全部承自本单评论区维护者 2026-08-04 拍板与架构定调,现补充时效性条款):

    1. 方案 A:全站散文 "Sales Copilot"/"Service Copilot" 人格称呼 → "AI assistant"(zh「AI 助手」),三语一致;保留句子功能语义只换称呼。
    2. 架构定调进措辞:AI 能力由 cloud 侧 agent 承载、应用只定义领域 skills——改写后不得暗示应用内存在独立 agent 实体;参照系为 docs: align README/copilot pages with the shipped skills-only surface (#589) #611 已改写的 ai-copilot 六页与 glossary 口径。
    3. 随单执法守卫:docs-drift 加规则(content/docs 散文不得再现两个人格称呼;白名单留历史性上下文),两阶段红→绿。
    4. 并入第 3 项:docs/RELEASE_STRATEGY.md:14 版本号改与 objectstack.config.ts 一致 + 版本号 drift 断言(从 manifest.version 抽取)。
    5. 时效性(关键):「~39 页 ~90 处」是 8 月 2 日计数,经 R18-R36 约 60 个文档 PR 后必全量重扫定实际面(部分命中已随各轮改写消失或变形),逐页重定位;Wow #1 demo docs + script still POST the retired sales_copilot agent #606/Docs promise contact emails are unique "within the same account" — the enforced rule is per organization, and the documented use case is rejected #648 的落地文本与今日全部已合并 PR 的落地行零回退——特别注意今日各 PR 刻意保留给本单的 Copilot 字样(如 docs(sales): 把商机详情页 aside 区的两条描述写实(#959) #967/docs(sales): 看板小节按实况重写 + sales/index 补 Account Workbench(#996 #997) #1000 面内行)。
    6. objectstack.config.ts:76 注释归 Wow #1 demo docs + script still POST the retired sales_copilot agent #606 已处理,复核不重做;⛔ releases/ 不碰;SLA policy matrix: per-priority × tier clocks, first-response stamping, escalation that reassigns #595 不预判;zh 内链不带锚。

    Generated by Claude Code

  9. yinlianghui commented on Aug 6, 2026

    @yinlianghui
    Collaborator

    ✅ 验收通过(修复线终局单)—— PR #1001 已转 ready 并挂 auto-merge(本地六道门全绿 + docs-drift 57 断言;Actions 派发滞后 CI 排队中,由 auto-merge 把关——沿 #995/#1000 先例,如实不冒充绿)。

    验收要点:

    1. 重扫定面对比清晰:79 处/39 页 vs 8/2 的 ~90 处(两个 issue 例句已被后续 PR 消化未重做;派单「pipeline/opportunities 留给本单」只对一半也如实纠正);65 处改写/14 处历史豁免/已消失不重做——三档处置逐页留档。
    2. 跨行命中的发现是本单点睛:index 引用块续行与 whats-new 软换行两处按行 grep 永远读不到(原始清点盲区的成因),且 whats-new 该句两个译文早已去人格化、只剩英文——守卫据此做归一化(软换行+续行符+CJK 字符间空白),配三道防空转 + 六拼写×三换行形态探针,再加定向回归注入实测(跨行形态被抓)。
    3. 标题级漂移顺手修(zh 两页仍 ## Sales/Service Copilot 而英文早已 AI skills);措辞全程守住架构定调(cloud 侧 agent 承载、应用只定义 skills)。
    4. 版本号项:1.0.5→2.2.2 + 四文档与 package.json 一致性断言(表格行解析避开两类误伤)。
    5. 九个既有守卫 242 断言零回退;33 文件控制字节零命中。

    越界发现处置:#1002(home.page.ts:236 首页卡片「Ask the Sales Copilot」——src/ 与维护者文档中仅存的最后一处人格残留,用户今天可见)→ 标 pm:queue 并作为 R38 尾单即刻派发:方案 A 拍板的适用范围顺延到用户可见字符串是既有裁定的直接应用,无需新输入;守卫扫描面扩到 src/ 的问题留 finding 记录。


    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

documentationImprovements or additions to documentationpm: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