docs(analytics): 把 analytics 落地页写实,并清掉散在 8 页上的 cube 词汇残留 (#976, #977) - #987
Merged
Conversation
… vocabulary (#976, #977) `content/docs/analytics/index.mdx` is the first screen a reader of the analytics docs sees, and every count on it named something else. Six claims, all three locales, rewritten against `src/`: - 4 cubes (Sales, Pipeline, Service, Marketing) -> no cube of this app's own; the semantic layer is the nine datasets in `src/datasets/`, compiled into cubes by the analytics service (ADR-0021). The four names hit nothing. - 4 dashboards -> five; Sales Activity was missing. - "10+ standard reports across leads, deals, cases, contracts" -> exactly ten, and none of them is a contract report: no dataset reads `crm_contract`, so none can be built. - a rep running *Pipeline by Stage* -> **Opportunities by Stage**, with the name's two real identities (a shared dashboard tile, a chart title) written the way PR #975 wrote them on the reports page. - the **Analytics** navigation group -> **Insights**, with the five entries the app pins to it; nothing in the sidebar is called Dashboards/Reports/Cubes. - "the AI Copilot can read directly from cubes" -> what this app declares (no skill names a dataset, cube or measure; the data-question skill aggregates over records), leaving the platform side undecided rather than asserted. The `/docs/ai-copilot/sales-copilot` link the issue reported as dangling is not: #589 / PR #611 renamed the link text and the target page has been there throughout. Left as is, and pinned. Eight further pages carried the same retired vocabulary (#977): whats-new now lists the nine datasets; for-developers draws `datasets/` instead of the `src/cubes/` directory removed in #492; performance-and-limits and faq state the refresh cadence the app really declares (each dashboard's own `refreshInterval` - 60s / 180s / 300s) instead of an "every 5 min incremental, nightly full" figure nothing in `src/` configures, and no longer promise a manual refresh button no dashboard declares; pipeline-management, introduction, fork-hotcrm and sandbox-and-releases were renames only. The glossary's definition of the cube concept is deliberately untouched. `test/docs-analytics-vocabulary.test.ts` derives every count and product name on these pages from `src/` and fails when the app and the page disagree. Reverse verification: 25 of its 39 rules go red on the pre-fix tree, green after. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VHrPAGEgFDoHjphqYG4BMa
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
…t labels The landing page's Copilot section cited Commit / Quota / Closed / Pipeline as figures on the forecast record. Three of the four are: closed_amount is labelled **Closed Won** on crm_forecast and only becomes **Closed** as a measure on the Forecast Metrics dataset. Say both, so the name a reader sees on the record and the name they select in a report each appear where they belong. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VHrPAGEgFDoHjphqYG4BMa
yinlianghui
marked this pull request as ready for review
August 6, 2026 14:47
This was referenced Aug 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #976
Fixes #977
并单实施。口径全部沿 PR #975 在
analytics/cubes/analytics/reports刚立的写法:本仓零 cube 声明,语义层是src/datasets/的九个 dataset(ADR-0021),平台侧主张中性化而不预判为假。三语同步,zh 内链带前缀不带锚。#976 —
analytics/index六处src/datasets/),本应用不声明任何 cube,由分析服务内部编译;四个名字在应用里零命中,按退役名以 斜体 点出去处src/dashboards/index.ts,缺的是 Sales Activity)crm_contractsrc/apps/crm.app.ts),并说明其余仪表盘各自钉在 Sales / Activity / Service 组下;沿 #968 quick-tour 已立口径,退役名 Analytics / Dashboards / Reports / Cubes 保留为斜体第 6 条的悬空链接一条:前提已失效,未改。 单里说
/docs/ai-copilot/sales-copilot不存在、content/docs/ai-copilot/只有 index / knowledge-bases / live-schema。fresh main 上该页三语俱在(sales-copilot{,.zh-Hans,.zh-Hant}.mdx),meta.json的pages也列着它;链接文字早在 #589 / PR #611 就从 Sales Copilot 改成了 Sales Skills,目标页一直在。链接原样保留,并加了存在性 pin,将来页面被移走时是这条测试红,而不是悄悄变回一条悬空链接。顺带随命中行族一并写实的两处:frontmatter 的 description(“data cubes that power them”),以及页尾「Start here」的“the four built-in dashboards”——留着会和上面的表自相矛盾。
#977 — 8 页词汇残留(
glossary:54未动)whats-new:105getting-started/for-developers:41cubes/→datasets/(src/cubes/在 #492 被移除)reference/performance-and-limits:75/83Reporting & cubes→Reporting & analytics;`Cube refresh frequencyreference/faq:133/138sales/pipeline-management:93opportunity_metrics)、度量 Total Amount、维度 Stagegetting-started/introduction:21marketplace/fork-hotcrm:21、administration/sandbox-and-releases:93reference/glossary:54测试
新增
test/docs-analytics-vocabulary.test.ts(39 条),一切数字与产品名都从src/推导而非抄写:仪表盘/报表 label 取自 barrel、dataset 计数取自 barrel、导航组与 children 取自CrmApp.navigation、刷新间隔取自各 dashboard 的refreshInterval。两处树遍历各带 vacuity guard。粗体/斜体规则只跑在「Where to find things」一节上:Dashboards / Reports / Cubes 仅作为导航条目是幻影,作为本页链出去的三个文档页完全是真的("What's included" 表正是这个意思在加粗)——与
docs-quick-tour-navigation.test.ts把规则限定在左导航块同一处理。反向验证(方向预判:改前红、改后绿,实测一致):把
content/docs/整体退回 origin/main 后跑,25 / 39 红,en 页命中 8 条(仪表盘数、报表数、dataset 数、Insights children、nav 块粗体、幻影斜体、真报表名、退役 cube 名),两个 zh 页各 7 条,加上 #977 的三条(cubes/目录、刷新间隔、⟳ 字形)。恢复后 39/39 绿。一处如实报告的方向差异:
bolds only real navigation labels这条在两个 zh 页上改前改后都是绿的——boldNames()按既有约定过滤含 CJK 的粗体串,而旧 zh 页导航节里加粗的是「仪表盘」「报表」「多维数据集」,本来就被过滤掉。中文页那一节真正抓住旧文的是幻影斜体那条(Analytics / Dashboards / Reports / Cubes 一个都没被点名)。没有为了凑「三语同红」去改判据。守卫单跑确认不触:#923(
docs-conversion-rate-spelling,carrier 是 cubes / reports 两页,本 PR 未动,也未引入 转换率 拼法)、#955、#968(docs-quick-tour-navigation)、#736 的 callout 三语配平(本 PR 未新增/删除任何>块)。六道门(
flock -w 7200 /tmp/os-heavy-verify.lock内串行,NODE_OPTIONS=--max-old-space-size=4096):push 前另做控制字节自扫:
grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f]'覆盖本 PR 全部 29 个改动文件,零命中。未起 dev server。顺带记录(未在本 PR 修)
getting-started/for-developers的 src/ 目录树仍画着 #512 删掉的agents/,后缀表也仍列*.agent.ts;docs-drift 的目录守卫看不到 content/docs #984 —for-developers同一段目录树里agents/是 refactor(ai): skills-only AI surface — real Actions instead of 10 fictional tools, retire the two agents #512 删掉的目录,后缀表也仍列*.agent.ts;并附docs-drift.test.ts目录守卫为何看不见(扫描面只有维护者文档,正则又要求src/前缀)。sales/pipeline-management的「预测汇总」另两条:仪表盘真名是 Sales Performance,Pipeline Coverage 报表是「预测类别 × 结束季度」而非「季度 × 阶段」 #985 —pipeline-management「预测汇总」另两条:Sales Dashboard 真名是 Sales Performance;Pipeline Coverage 是「预测类别 × 结束季度」而非「季度 × 阶段」,与 PR docs(analytics): 把 reports 页剩余三节与 cubes 整页写到 src/ (#962, #965) #975 已写实的 reports 页直接矛盾。src/零改动,content/docs/releases/未动,@objectstack/*版本未动。changeset:.changeset/analytics-landing-page-cube-vocabulary.md。Generated by Claude Code