Repository navigation
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
Activity
- addeddocumentationImprovements or additions to documentationImprovements or additions to documentationneeds-user-decisionNeeds the maintainer's call before work proceedsNeeds the maintainer's call before work proceeds
on Aug 4, 2026 分诊(PM 循环第 1 轮扫检,会话
session_01Rvtsew6XgsSjxVa59HRPRK):加needs-user-decision,等维护者定调后再入队。待拍板的问题:约 39 个产品页面、~90 处散文仍把 "Sales Copilot" / "Service Copilot" 当作人格化助手称呼(#512 已退役 agent 实体)。全站统一用语是一次品牌/产品语义决策,不宜由单个 PR 顺手带过。
可选方案(两轴分析):
- 方案 A:统一改为中性的「AI assistant / 平台助手」措辞。
- 项目长远合理性:与 refactor(ai): skills-only AI surface — real Actions instead of 10 fictional tools, retire the two agents #512 的技能化架构(ADR-0063,skills-only)一致 —— 产品里已不存在名为 Copilot 的实体,文档称呼一个不存在的人格是持续性漂移源;
- 防 AI 犯错:名实一致后,docs-drift 类测试可以钉住「文档不得引用不存在的 agent 人格」,结构上封死这类回归;AI 改写文档时也不会再从旧称呼里学到错误事实。
- 方案 B:保留 "Copilot" 作为面向用户的品牌称呼(仅指能力集合,不指 agent 实体)。
- 项目长远合理性:如果营销层面要保留该品牌词,改 90 处再改回来是净浪费;但需要一条明确的措辞规范(Copilot = 技能集合的品牌名)写进 docs 贡献指南,否则每个后续作者都会再次人格化它;
- 防 AI 犯错:弱于 A —— 品牌词与实体名同形,AI 无法从字面区分「品牌称呼」与「API 里的 agent 名」,Wow #1 demo docs + script still POST the retired
sales_copilotagent #606 那类可执行示例写错的风险持续存在。
PM 建议:方案 A,两轴都占优;唯一的反例是营销品牌诉求,而那是维护者才能确认的输入。
另注:第 2 项(
objectstack.config.ts:76注释)已并入 #606 的范围,第 3 项(RELEASE_STRATEGY 版本号 + 版本号 drift 测试)是无争议小修,若维护者定调前想先消掉,可单独拆出去入队。
Generated by Claude Code
- 方案 A:统一改为中性的「AI assistant / 平台助手」措辞。
- addedpm:queueReady for the PM dispatch loopReady for the PM dispatch loopand removedneeds-user-decisionNeeds the maintainer's call before work proceedsNeeds the maintainer's call before work proceeds
on Aug 4, 2026 维护者已拍板(2026-08-04):方案 A —— 全站统一改为中性的「AI assistant」措辞,去人格化。 移除
needs-user-decision,转入pm:queue。派发时的范围界定(PM 记录,防止与在飞/已入队工作冲突):
- 主体:~39 个产品页面、~90 处散文中的 "Sales Copilot" / "Service Copilot" 人格化称呼 → "AI assistant"(中文版本用「AI 助手」,三语言版本保持一致);改写时保留句子的功能语义(如 contacts.mdx:54 的 DNC 拒发邮件行为描述),只换称呼。
- 随单加执法守卫:在
test/docs-drift.test.ts增加规则 ——content/docs/**散文不得再出现 "Sales Copilot" / "Service Copilot" 人格称呼(白名单机制留给历史性上下文,如确需提及退役史)。声明即强制,防止第三轮清理。 - 并入第 3 项:
docs/RELEASE_STRATEGY.md:14版本号(1.0.5 → 与objectstack.config.ts一致),并加版本号 drift 断言。 - 排除(避免撞车):
content/docs/ai-copilot/live-schema.*与objectstack.config.ts:76注释 → 归 Wow #1 demo docs + script still POST the retiredsales_copilotagent #606(已入队,先落);content/docs/sales/contacts.mdx一族正被 Docs promise contact emails are unique "within the same account" — the enforced rule is per organization, and the documented use case is rejected #648(在飞,分支claude/issue-648-contact-email-docs)编辑 —— Blocked-by: 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 合并;- ⛔
content/docs/releases/一如既往不碰。
串行顺序:#648 合并 → #606 合并 → 派发本单。
Generated by Claude Code
补充架构定调(维护者,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
- addedpm:dispatchedDispatched to a dev agent by /pm-dispatchDispatched to a dev agent by /pm-dispatchand removedpm:queueReady for the PM dispatch loopReady for the PM dispatch loop
on Aug 6, 2026 🔒 认领(/pm-dispatch R37,终局单,全站无并行)— session
session_01VHrPAGEgFDoHjphqYG4BMa,分支claude/issue-612-copilot-depersonalization。裁定(全部承自本单评论区维护者 2026-08-04 拍板与架构定调,现补充时效性条款):
- 方案 A:全站散文 "Sales Copilot"/"Service Copilot" 人格称呼 → "AI assistant"(zh「AI 助手」),三语一致;保留句子功能语义只换称呼。
- 架构定调进措辞:AI 能力由 cloud 侧 agent 承载、应用只定义领域 skills——改写后不得暗示应用内存在独立 agent 实体;参照系为 docs: align README/copilot pages with the shipped skills-only surface (#589) #611 已改写的 ai-copilot 六页与 glossary 口径。
- 随单执法守卫:docs-drift 加规则(content/docs 散文不得再现两个人格称呼;白名单留历史性上下文),两阶段红→绿。
- 并入第 3 项:docs/RELEASE_STRATEGY.md:14 版本号改与 objectstack.config.ts 一致 + 版本号 drift 断言(从 manifest.version 抽取)。
- 时效性(关键):「~39 页 ~90 处」是 8 月 2 日计数,经 R18-R36 约 60 个文档 PR 后必全量重扫定实际面(部分命中已随各轮改写消失或变形),逐页重定位;Wow #1 demo docs + script still POST the retired
sales_copilotagent #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 面内行)。 - objectstack.config.ts:76 注释归 Wow #1 demo docs + script still POST the retired
sales_copilotagent #606 已处理,复核不重做;⛔ releases/ 不碰;SLA policy matrix: per-priority × tier clocks, first-response stamping, escalation that reassigns #595 不预判;zh 内链不带锚。
Generated by Claude Code
- added a commit that references this issue
on Aug 6, 2026 ✅ 验收通过(修复线终局单)—— PR #1001 已转 ready 并挂 auto-merge(本地六道门全绿 + docs-drift 57 断言;Actions 派发滞后 CI 排队中,由 auto-merge 把关——沿 #995/#1000 先例,如实不冒充绿)。
验收要点:
- 重扫定面对比清晰:79 处/39 页 vs 8/2 的 ~90 处(两个 issue 例句已被后续 PR 消化未重做;派单「pipeline/opportunities 留给本单」只对一半也如实纠正);65 处改写/14 处历史豁免/已消失不重做——三档处置逐页留档。
- 跨行命中的发现是本单点睛:index 引用块续行与 whats-new 软换行两处按行 grep 永远读不到(原始清点盲区的成因),且 whats-new 该句两个译文早已去人格化、只剩英文——守卫据此做归一化(软换行+续行符+CJK 字符间空白),配三道防空转 + 六拼写×三换行形态探针,再加定向回归注入实测(跨行形态被抓)。
- 标题级漂移顺手修(zh 两页仍 ## Sales/Service Copilot 而英文早已 AI skills);措辞全程守住架构定调(cloud 侧 agent 承载、应用只定义 skills)。
- 版本号项:1.0.5→2.2.2 + 四文档与 package.json 一致性断言(表格行解析避开两类误伤)。
- 九个既有守卫 242 断言零回退;33 文件控制字节零命中。
越界发现处置:#1002(home.page.ts:236 首页卡片「Ask the Sales Copilot」——src/ 与维护者文档中仅存的最后一处人格残留,用户今天可见)→ 标 pm:queue 并作为 R38 尾单即刻派发:方案 A 拍板的适用范围顺延到用户可见字符串是既有裁定的直接应用,无需新输入;守卫扫描面扩到 src/ 的问题留 finding 记录。
Generated by Claude Code
- added 4 commits that reference this issue
on Aug 10, 2026 - added a commit that references this issue
on Aug 25, 2026
发现于 #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.mdxcontent/docs/revenue/products.mdx:89,113content/docs/service/knowledge-base.mdx、service/sla-and-escalation.mdxcontent/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"ai能力那段长注释里的这一句写于 agents 退役(#512)之前,现在应为 "the skills still validate…"。属于源码注释而非文档,故未并入 #611。3.
docs/RELEASE_STRATEGY.md:14版本号过时实际为
2.2.2(objectstack.config.ts与package.json一致)。#589 只点名了docs/ARCHITECTURE.md的同类问题(已在 #611 修正),此处遗漏。顺带建议:既然同一个数字已经在至少三处手写副本中漂移,可以考虑让
test/docs-drift.test.ts增加一条规则,从objectstack.config.ts抽取manifest.version并断言这些文档中出现该值——把"声明即强制"落到版本号上,比再修一次更划算。