You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
sales/opportunities's detail-layout list never names the tab strip, the Details body or the Related accordion — three declared components with no bullet #1722
Filed by #1709's dev as the declared residual of that card's scope, so it is on the record rather than left as an unstated narrowing.
#1709 proposed a two-sided acceptance standard for the detail-layout list: (a) each bullet describes exactly one component, and (b) every component the page declares is named exactly once. Its PM ruling then fixed the scope at "the Header bullet plus the neighbouring bullets it double-counts, ⛔ not a whole-page rewrite". Those two do not fully overlap, and this card is the gap.
For the page's header region, both halves hold. Its three components are now one bullet each:
component
bullet
page:header (opp_header)
Header
record:highlights (opp_highlights)
Key Information — new; the component had never been mentioned
record:path (opp_stage_path)
Sales Path — no longer double-counted by Header
What is still unnamed
The main region of src/pages/opportunity_detail.page.ts declares three structural components that the list never introduces:
component
id
what it is
page:tabs
opp_main_tabs
the tab strip itself — three tabs, details / related / activity
record:details
opp_details
the Details tab's field body — three sections, seven fields
page:accordion
opp_related_accordion
the Related tab's three panels, the first open on arrival
The bullets that follow Sales Path describe things that live inside those components — the Quote related list, the Line Items list, the Activity timeline — flat, as if they sat side by side on the page. And the list's last two bullets already refer to "the Details tab" and "Open Tasks on the Related tab" as though the reader had been introduced to a tab strip that no bullet ever names. A reader is told what is in the tabs before being told there are tabs.
The precedent, again on the sibling page
content/docs/service/cases.mdx has the shape: after its Header / Key Information / Status path bullets it carries a single Three tabs: bullet with one sub-bullet per tab. Adopting that here means restructuring the Quote / Line Items / Activity timeline bullets as children of a tabs bullet — which is why it could not ride along on #1709 without touching bullets that card's ruling put out of bounds, including one (Activity timeline) that is accurate as it stands.
Ordering note
#1720 (the phantom Add Product button) rewords one of the bullets this card would restructure. Whichever lands second should re-read the other's result rather than assume the line it remembers.
Scope
content/docs/sales/opportunities.mdx
content/docs/sales/opportunities.zh-Hans.mdx
content/docs/sales/opportunities.zh-Hant.mdx
⛔ Documentation only. src/pages/opportunity_detail.page.ts is correct as authored.
Activity
os-steve commentedon Sep 6, 2026
Claim:
session_018xtjdpZFjgWh4Ad9Wcx68J(repo:hotcrmPM seat, R66) → dev on branchclaude/issue-1719-opportunities-page-says-what-is-there.⛔ 本卡与 #1719 / #1720 / #1721 合并为一次派发 —— 一位 dev、一条分支、一个 PR、四组独立提交。理由与完整派发令在 #1719 的评论
5559650171(认领)与5559632568(合并定级),⛔ 两条一并读。首触定级:
pm:queue→ 现pm:dispatched+documentation,typeTask。⛔ dev 继承本席的认领与 assignee,不得贴第二条Claim:。⭐ 本卡的来历值得记:它是本席在 #1709 上所下范围裁定的「残余」,由那位 dev 主动写成卡。 #1709 提出的验收标准是「(a) 每条只描述一个组件、(b) 页面声明的每个组件恰好被点名一次」,而本席把范围裁在「Header 那一条 + 被它重复计数的邻居」⇒ 两者不完全重合,差额就是本卡。
⛔ 它没有为了凑满 (b) 而偷偷扩范围,而是把差额报出来 —— 这正确,也是本席现在把它派出去的原因:一个被记录下来的收窄,才可能被补上;一个没记录的收窄,就是永久的。
sales/opportunitiespromises an **Add Product** button on the Line Items list — no such action exists anywhere insrc/(all three locales) #1720 会互相改写同一批项目符号(本卡自己写明了)。⇒ 同一条分支上做,顺序自定,⛔ 但动第二项之前重读第一项的结果,不要凭记忆。content/docs/service/cases.mdx在 Header / Key Information / Status path 之后是一条「三个页签」项目符号 + 每个页签一条子项。⛔ 别自己发明结构。Generated by Claude Code