Skip to content

docs: in-app manuals batch 2 — getting started, activities, metrics, assistant skills, go-live and import (#2329) - #2359

Merged
objectstack-fleet[bot] merged 3 commits into
mainfrom
claude/project-thread-oe1e56
Oct 28, 2026
Merged

objectstack-fleet[bot] merged 3 commits into
mainfrom
claude/project-thread-oe1e56

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Irene · project thread
Fixes #2329

Clause-②: no
Metadata-protocol: none

维护者速读

  • 改了什么:应用包新增六个双语手册页(快速上手、使用助手、活动、指标、上线清单、导入数据),用户手册新增 Analytics 分组,商机页的任务一节移到活动页。
  • 为什么改:In-app docs, batch 2 (app package): getting started, activities, metric definitions and AI skills, plus admin setup and data import #2329 第二批应用内文档,补齐新成员和新管理员第一天要找的内容。
  • 风险与回滚:只改文档、书的分组和测试,不动对象、权限或流程;回滚即还原本 PR。
  • 先看:test/docs-analytics-metrics.test.ts(每条指标定义对照编译后的数据集、组件和报表),以及 src/docs/crm_analytics_metrics.md。
  • 两分钟验证:pnpm vitest run test/docs-analytics-metrics.test.ts test/docs-ai-skills.test.ts test/docs-import-matching.test.ts test/docs-books.test.ts 全绿;以管理员打开 帮助 → 管理员手册,应停在上线清单。
  • 需要你做的:无,席位落地

What changes

New pages in src/docs/, each with a .zh.md sibling written to the zh-CN pack's labels:

Page Book › group What it covers
crm_getting_started User Manual › Getting Started Where HotCRM opens per role (measured landings), My Work, the approval inbox, notifications, Ctrl+K search, Help
crm_ai_skills User Manual › Getting Started The six HotCRM skills of the platform assistant, the rules they follow and the buttons each may press; says the assistant ships on ObjectOS Cloud/Enterprise only
crm_sales_activities User Manual › Sales Log a Call / Log a Meeting / Schedule a Meeting, the activity clock held events stamp, Schedule Follow-up, tasks (moved from Opportunities), reminders, Do Not Call
crm_analytics_metrics User Manual › Analytics (new group) What each dataset measure, dashboard tile, forecast formula and report counts
crm_admin_setup Admin Manual (opens here, order: 0) Go-live order: demo data, people, positions, permission sets, scheduled work, import, impersonation check
crm_admin_data_import Admin Manual Import order, the key each mapping upserts on, suspected-duplicate leads, owners, common refusals

Edits to existing pages move text only: the ## Tasks section of crm_sales_opportunities (en/zh) moves to Activities, and the AI-skills roster in crm_admin_automation (en/zh) becomes a pointer to crm_ai_skills. The User Manual's Getting Started group is now curated (pages) so Overview stays first; link-check gains anchored rows for the three new name prefixes.

Platform limits kept as they are, not worked around: no page embeds a live metadata view (objectstack#27090) and none of the six draws a diagram; book and group titles stay English to zh-CN readers (objectstack#26819); and an administrator sees the admin pages under Uncategorized in the User Manual tree (objectstack#27091).

Tests

  • test/docs-analytics-metrics.test.ts: every | **Name** | definition | row resolves to a measure, widget, report/block or formula field in the compiled stack, and its definition must name the bold field and option labels, the ratio operands and the date window that object actually uses, in both locales; every app-package measure with a filter or derived formula must have a row. Bite: an English copy as .zh.md fails 36 assertions.
  • test/docs-ai-skills.test.ts: the skill sections equal the registered skills' labels, and each action_* tool's action label appears bold in its skill's section (en and the zh pack). Bite: un-bolding 转化线索 fails it.
  • test/docs-import-matching.test.ts: the matching table equals each upsert mapping's object and upsertKey field labels, en and zh.
  • test/docs-lifecycle-diagrams.test.ts: the six pages join the "draws no state diagram" list.

Acceptance notes

  • Statements about behaviour were measured on the dev server (ObjectStack 18.2.0), not read off comments: a blank-owner import makes the importer the owner (no round-robin); re-import upserts by email; a lead whose email matches a contact is created as a suspected duplicate; a reminder later than the due date is refused (the hook's header comment still says "warns"); the open framework answers 501 for the assistant, so the pages say Cloud/Enterprise.
  • Help opens the User Manual on Overview and the Admin Manual on the Go-Live Checklist; persona landings are unchanged.

Verification

  • pnpm verify (validate, typecheck, lint, hygiene, token ratchet, build, full test) on 68351e0: exit 0, 242 test files, 4606 passed, 1 skipped.
  • markdown-link-check@3.13.7 with the repo config over the 16 changed .md files: 0 dead links (the new ./crm_getting_*, ./crm_analytics_* and ./crm_ai_* links resolve through the added rows).
  • Browser pass, en and zh-CN: as admin, all six pages render with their titles and tables; the trees show the new Analytics group and the Admin Manual opening on Go-Live. As a sales rep, the User Manual pages render and in-body links open their targets; the Admin Manual answers "You do not have access to this documentation". Screenshots: project files issue-2329/.

🤖 Generated with Claude Code

https://claude.ai/code/session_01J8VVAkXhMGs3b6W5rW9ioC

…trics definition guard (#2329)

The Tasks section moves from Opportunities into the new Activities page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J8VVAkXhMGs3b6W5rW9ioC
… link-check rows and guards (#2329)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J8VVAkXhMGs3b6W5rW9ioC
)

The assistant paragraph now says it reads only what the member can read
and changes records only through the member's own buttons, without
promising a confirmation the Schedule Follow-up action does not ask for.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J8VVAkXhMGs3b6W5rW9ioC
@vercel

vercel Bot commented Oct 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
hotcrm Ignored Ignored Oct 28, 2026 6:30am UTC

Request Review

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

席位核对

Verdict: ACCEPT · repo:hotcrm seat 1 · huangyiirene · session session_01J8VVAnPkgK6CWrJa6t7Fk5 · 2026-10-28T06:32Z · head 68351e0
Implemented-by: card thread session session_01J8VVAkXhMGs3b6W5rW9ioC (report 6462380992 on #2329). Reviewed-by: the seat, against the 24-file diff and hotcrm origin/main f660fd8.

  • Shape:
    • Draft, base main, assignee huangyiirene, and the body reads Fixes #2329.
    • No governed path is touched.
    • The diff stays within claim 6461804951. It adds six pages with .zh.md siblings, edits two books, adds three anchored link-check rows, and has text moves in crm_sales_opportunities and crm_admin_automation.
    • The diff adds the guards and a changeset.
    • git merge-tree against f660fd8 is clean.
  • Card held:
    • The six pages: crm_getting_started, crm_sales_activities, crm_analytics_metrics, crm_ai_skills, crm_admin_setup and crm_admin_data_import. Each is claimed by one book.
    • Getting Started: the group is now a curated pages list (overview, then first day, then the assistant). Its sections (landings, My Work, Inbox, notifications, search, assistant, Help) do not overlap the overview's (areas, lifecycle, which guide).
    • Analytics: a new group, filed by rule.
    • Admin Manual: it opens on the go-live checklist.
  • Moved, not copied:
    • The Tasks section left crm_sales_opportunities (its task_urgent_alert / crm_task sources went with it) for crm_sales_activities.
    • crm_admin_automation's skill roster became a pointer to crm_ai_skills.
  • Guards read the compiled stack, in en and zh-CN:
    • every metrics definition against its measure, widget, report or formula;
    • every skill section against its skill and action labels;
    • the import matching table against each upsert mapping's upsertKey.
    • Bite proofs went red (36 and 1) and were restored.
  • Measured claims: the assistant pages say Cloud/Enterprise, because the open framework answers 501.
  • Browser pass (en and zh-CN): the six pages render. The Analytics group and the Admin Manual's go-live opening show. A rep reads the User Manual, and in-body links open their targets. The Admin Manual refuses the rep.
  • Gates:
    • pnpm verify exit 0 at 68351e0: 242 files, 4606 passed, 1 skipped.
    • Link-check finds 0 dead links locally.
    • CI on 68351e0: 8 of 9 check runs are success, link-check included. Build and Test (22.x) is still running.
  • Out of scope:
    • The batch-1 crm_sales_leads claim that CSV-imported leads are round-robined contradicts the measured importer ownership. The seat cards it with the stale task.hook.ts header comment as one HotCRM docs-accuracy card.
    • The doc links leaving the app shell and the English access refusal are platform console behaviour. They are noted here and not carded in this stroke.
  • Landing: non-governed. The seat flips the PR to ready and arms auto-merge in this stroke. In-app docs, batch 2 (modules): case triage, billing hand-off, products and price books, and a marketing book with its Help entry #2330 (batch 2, modules) unblocks when this lands.

Generated by Claude Code

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

Labels

ci/cd CI plumbing and the verification pipeline documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

In-app docs, batch 2 (app package): getting started, activities, metric definitions and AI skills, plus admin setup and data import

2 participants