docs(getting-started): write the quick tour's landing section to the dashboard Home really opens (#971) - #978
Merged
Conversation
…dashboard Home really opens (#971) The opening section of `content/docs/getting-started/quick-tour.mdx` described a dashboard that does not exist: its name came from one dashboard and its five bullets from three others. `nav_home` binds `executive_dashboard`, labelled **Executive Overview**. The **CRM Overview** the section named is real but hangs off `nav_crm_dashboard` under **Insights**, a group that ships collapsed — so a new user neither lands on it nor reaches it in one click. The same page's navigation table already said so (#960 / PR #968), leaving the page contradicting itself with the wrong half first. Of the five bullets one was right (**Open Leads**), one half-right, and three named tiles on other dashboards. The section now lists all nine **Executive Overview** tiles with what each measures, names the three dashboard-wide controls, and re-points every retired claim rather than deleting it. Two corrections beyond the reported ones: - **Pipeline by Stage** IS on this dashboard. It arrives from the shared widget factory (#539), so it carries no inline `title:` literal and a grep over `executive.dashboard.ts` finds eight tiles where the dashboard ships nine. The pipeline bullet was therefore half-right, and the section now says what the tile measures: open opportunity value per stage, not a count of deals. - "team-level rollups for managers" is not something this app does. Positions are flat, so visibility never rolls up a reporting line, and the **Sales Manager** set grants `viewAllRecords` outright — a manager's totals are org-wide, not a team slice. All three locales updated; `src/` untouched. The PR #968 guard only ever read the navigation table and stayed green through all of this; it now also compares this section against `ExecutiveDashboard.widgets` at runtime (which counts the factory-produced funnel) and pins the source side of each negative claim. Fixes #971 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. |
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 #971
《快速上手》第 1 节(三语)整节按实况重写。这是新用户读到的第一段话,而它描述的是一块并不存在的"混合盘"——名字取自一块盘,5 条要点取自另外三块。
一、落地页认错了(issue ① — 成立)
src/apps/crm.app.ts:33-39的nav_home是type: 'dashboard'+dashboardName: 'executive_dashboard',源码注释写明 "Pinned landing"。executive_dashboard的 label 是 Executive Overview(src/dashboards/executive.dashboard.ts:26,zh-CN 语言包「高管总览」)。页面说的 CRM Overview 是
crm_overview_dashboard(src/dashboards/crm.dashboard.ts:28),挂在group_insights下的nav_crm_dashboard(crm.app.ts:151);group_insights未声明expanded,默认收起 —— 新用户既不会"第一眼看到"它,默认也点不到。沿 #968/#975 口径:不静默删名,把 CRM Overview 的真身(Insights 分组下、默认收起、离你两次点击)点名写清楚。同页第 2 节(PR #968 刚写实的导航表)本就写着 Home 打开 Executive Overview —— 同一页自相矛盾,而错的那半在最前面。#968 落地行零回退,第 2 节一个字未动。
二、5 条要点逐条对照(issue ② — 一条需要修正)
executive.dashboard.ts:112)issue 正文列了 8 个 widget title 并据此判定"本盘无商机/管道 tile"。这一条不成立。
pipeline_by_stage来自共享工厂pipelineByStageFunnelWidget(src/dashboards/shared-widgets.ts:32,#539 引入),在executive.dashboard.ts:151以函数调用落位,没有内联的title:字面量,所以按标题 grep 只能数到 8 个。运行期ExecutiveDashboard.widgets是 9 个,四个语言包也都为它注册了条目(src/translations/{en,zh-CN,es-ES,ja-JP}.ts),本仓已有守卫的content/docs/analytics/dashboards.mdx:129同样列着它。所以"你的管道中有多少商机"是半对而非全错:管道磁贴在,但它画的是各阶段的进行中商机金额(funnel,
total_amount),不是商机条数。新文案照此写实。三、同节第三处失实(issue 未列,但在 issue 划定的
:10-20面内)原文末句"如果你是经理,你还会看到团队级汇总"描述的能力本应用没有:
src/sharing/positions.ts:3-17—— ADR-0090 D3,岗位扁平,无 parent,"可见性不会向上汇总";role_and_subordinates已移除。src/profiles/sales-manager.profile.ts:19-28——SalesManagerProfile在销售栈上直接给viewAllRecords: true,是全组织,不是"团队级"切片。面在 issue 自己划的第 1 节内,重写整节却留一句已知假话说不过去,故一并写实;新增守卫把这两条源码事实钉住。
四、守卫
扩 PR #968 的
test/docs-quick-tour-navigation.test.ts(它已导入CrmApp与ExecutiveDashboard),新增第 1 节两组断言,模式同 #948 的docs-service-index-analytics.test.ts:ExecutiveDashboard.widgets的每个 title 必须出现在本节 —— 断言走运行期对象而非文件文本,这正是能数到第 9 个工厂磁贴的原因(守卫里写明了这一点,并断言内联字面量恰好比运行期少 1 个,把 issue 数错的机制本身钉住)。viewAllRecords一并钉住。五、验证
六道门全绿,
flock -w 7200 /tmp/os-heavy-verify.lock内串行、NODE_OPTIONS=--max-old-space-size=4096:单跑本守卫:
Tests 39 passed (39)—— #968 原有 21 条全部在列且绿(15 条 page 断言 + 6 条 source-fact),另 18 条为本 PR 新增(12 条 page × 3 语 + 5 条 source-fact + 1 条补入 #968 组的 CRM Overview 归属断言)。反向验证(方向为事前预测,结果与预测一致):把英文页第 1 节还原成
origin/main的旧文案后重跑 —— 预测 #971 新守卫转红、#968 旧守卫保持绿(守卫盲区)。实测Tests 4 failed | 35 passed (39):转红的恰是英文页那 4 条 #971 断言;#968 的 21 条一条未动,因为它的blockOf只从Inside Enterprise CRM,读到下一个##,从来看不到第 1 节 —— 这正是本节失实能一路带着绿 CI 活下来的原因,如实记录。zh-Hans / zh-Hant 的 #971 断言在该轮保持绿(只还原了英文页),侧面确认三语断言彼此独立。src/零改动、@objectstack/*版本零改动、content/docs/releases/未触碰;changeset 见.changeset/quick-tour-landing-dashboard-real.md。未起 dev server。Generated by Claude Code