Skip to content

「工作流规则」清扫后仍有 bare workflows 残留族:faq / performance-and-limits 的「重新评估 5 次后停止」是 PR #854 已判虚构那条说法的未清扫副本,quotes:141 指向不存在的配置面 #899

Description

@yinlianghui

来源:#850 / PR #894 做改后全仓 grep 复扫时的顺带发现。基线 origin/main = 92b94e71。

与 #850 / PR #894 的边界:#850 的 grep 口径是「工作流规则 / 工作流規則 / workflow rule」,PR #894 已把这 36 处清干净。本条是另一个字串:把 workflows(不带 rule)当成独立于 flows 的一种东西来讲的散布,grep 命中面完全不重叠,落在 #850 的完成范围之外。

事实

清扫后 grep -rni "workflow|工作流" content/docs/(排除 automation 页与 GitHub Actions 语境)仍有一批。按严重程度分三档:

A. 与 PR #854 已判定为虚构的说法是同一条,只是没被清扫到

PR #854 在 automation 页把「重新评估工作流最多 5 次后停止」判为虚构,改写成了引擎实况(流程自身的写入是普通保存、会重新进入触发顺序,引擎用重入守卫打断自触发环,守卫是兜底而非停止条件;与 #701 同一事实)。同一条说法在另外两个页族里原封不动:

  • content/docs/reference/faq.mdx:83 × 3 —— "Workflows re-evaluate up to 5 times — beyond that, the cascade stops."
  • content/docs/reference/performance-and-limits.mdx:101 × 3 —— 「自动化限制」表一行:Workflow re-evaluations per save = 5 (then halts)

faq.mdx:75-82 × 3 的整个「我的工作流 / 流程没有触发」问答也以「工作流」为一等主语(:82 "Did a prior workflow change the record…")。

B. 指向不存在配置面(与 #850 A 类同款,只是不含「规则」二字)

  • content/docs/sales/quotes.mdx:141 × 3 —— "The daily expiration sweep runs at 1 AM. To change the time, adjust the schedule on the quote object's workflow." 对象上没有 workflow 可调;该计划实际是 src/flows/quote-expiration.flow.ts:25 里 start 节点的 schedule: '0 1 * * *'(flow name: 'quote_expiration',type: 'schedule')—— 源码作者面,不是 Setup 界面。
  • content/docs/sales/quotes.mdx:143 × 3 —— "add a workflow that flips the quote to In Review and notifies the manager",同一段里把 workflow 当可新建的类型讲(本条是建议性措辞,程度弱于 :141)。

C. 把 workflows 列进枚举,与 flows 并列成两种东西

  • content/docs/administration/index.mdx:33 × 3 —— "Automation — what happens when objects change (workflows, flows, state machines)."(同文件 :17 已由 PR docs: 清扫 automation 页之外的「工作流规则」并写实 cases 两条虚构通知 (#850, #887) #894 改成 Flows, object hooks, scheduled jobs,两行现在自相矛盾)
  • content/docs/administration/sandbox-and-releases.mdx:64 × 3 —— 变更包内容枚举 "(objects, fields, validations, workflows, sharing rules, etc.)";:90 × 3 —— 可部署项表格一行 "Workflows, flows ✅"(同一行里并列了两遍)
  • content/docs/reference/security-and-compliance.mdx:78 × 3 —— 审计类目 "Field, validation, workflow, sharing rule edits"
  • content/docs/customization/index.mdx:8 —— "If you are configuring users, profiles, workflows, or sharing from the app…"

(administration/setup:153「日常工作流」、customization/testing-and-ci、theming-and-i18n:43「Workflow」小节标题、service/index:66「看板式工单工作流」、knowledge-base:52「内容维护工作流」等属于 workflow 的日常英语/汉语义,不指涉元数据类型,不在本条范围。)

影响

A 档最实际:一个管理员照 faq:83 去数「我的级联为什么停了,是不是超过 5 次」,而引擎里没有这个计数器 —— PR #854 已经在 automation 页把这句改掉了,两个副本没跟上,现在文档内部自相矛盾。B 档是「你要改这个值,去这里改」指到了空处(与 #850 A 类同一失效模式)。C 档是词汇面,读者会以为 flows 之外还有一种叫 workflows 的东西可以部署 / 审计。不是观察类。

修复面(未做)

三语同步:A 档两处按 PR #854 已落地的引擎实况改写(重入守卫,不是次数上限);B 档 quotes:141 改指 src/flows/quote-expiration.flow.ts 的 start 节点 schedule,并如实写明这是源码作者面;C 档把枚举里的 workflows 并入 flows 或换成对象钩子。

⚠️ 接单注意:performance-and-limits:20、administration/index:17、glossary:70/:198 已由 PR #894 改写,不要回退。

Refs #850 #854 #701

Activity

  1. added
    pm:queueReady for the PM dispatch loop
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Aug 6, 2026
  2. self-assigned this
    on Aug 6, 2026
  3. yinlianghui commented on Aug 6, 2026

    @yinlianghui
    CollaboratorAuthor

    🔒 认领(/pm-dispatch R27)— session session_01VHrPAGEgFDoHjphqYG4BMa,分支 claude/issue-899-bare-workflows。

    文件面(七页族,已与本轮其余四单互斥,不含 automation 页):reference/faq、reference/performance-and-limits、sales/quotes、administration/index、administration/sandbox-and-releases、reference/security-and-compliance(各 ×3)、customization/index(:8,语言版本 dev 核实)。PR #894/#906 已动其中多页,fresh main 上逐处重定位。

    裁定:

    1. 基线已切 17.0.0-rc.3(PR chore(deps): 升级 @objectstack/* 17.0.0-rc.2 → 17.0.0-rc.3(零后果修复),并实测四条在案上游镜像 #910),开工先 stale-premise 复核。
    2. A 档(faq:83、performance-and-limits:101 的「5 次后停止」)按 PR docs(automation): retire the workflow-rules section in all three locales (#833) #854 已落地的重入守卫口径改写:守卫是兜底而非停止条件,没有次数计数器;faq:75-82 问答的「工作流」一等主语一并按 flows 实况收口。
    3. B 档 quotes:141 改指 src/flows/quote-expiration.flow.ts start 节点的 schedule: '0 1 * * *',如实写明这是源码作者面而非 Setup 界面;:143 的建议性措辞降格处理。
    4. C 档枚举把 workflows 并入 flows / 对象钩子,消除「第三种可部署物」的暗示。
    5. 日常英语/汉语义命中(setup:153、theming-and-i18n:43、service/index:66、knowledge-base:52 等)不在面内,不得动;PR docs: 清扫 automation 页之外的「工作流规则」并写实 cases 两条虚构通知 (#850, #887) #894 已改的 performance-and-limits:20、administration/index:17、glossary:70/:198 不得回退。

    Generated by Claude Code

  4. yinlianghui commented on Aug 6, 2026

    @yinlianghui
    CollaboratorAuthor

    ✅ 验收通过 —— PR #916 已转 ready 并挂 auto-merge(CI 8/8 全绿实核)。

    验收要点:

    1. 22 处前提在 rc.3 fresh main 逐 grep 复核成立,改后全仓重扫确认面内全部消失。
    2. A 档口径对齐到位:faq 问答一等主语收口 + 「5 次后停止」换成真实重入守卫模式,逐字对齐 docs(automation): retire the workflow-rules section in all three locales (#833) #854 已落地的 automation.mdx:114;performance 表行改「无固定预算」,docs: 清扫 automation 页之外的「工作流规则」并写实 cases 两条虚构通知 (#850, #887) #894 已改的 :20 未动。
    3. B 档:quotes:141 改指 quote-expiration.flow.ts:25 的 cron(已核实),如实写明源码作者面;:143 降格不再虚构可新建的 workflow 类型。
    4. C 档四页收口克制:sandbox :90 未新增「对象钩子可打包」这类未经证实断言;customization/index 复核 zh 两版本就写「流程」,零命中不硬改——按实况收面而非按清单硬凑。
    5. 反向验证是实测不是断言:stash 回退改前跑 4 个文档守卫全绿,盲区被证明而非预设——好实践,点名表扬。
    6. dev 自查自报 PR 正文控制字节实体化事故(#4890 同型,今日第 4 例,恰发生在书写该规则的当口)并改写复扫归零,事故透明处置正确,已记录在案。

    越界发现处置:#912(枚举外 4 处:whats-new:89、state-machines:133、cases:80 标题、integrations:130 弱例)已复核成立,标 pm:queue;⚠️ 其 state-machines:133 与 PR #919(#896)同文件,派发须等 #919 合并后重定位,且与 #920 同页可考虑 R28 并单。


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

pm:dispatchedDispatched to a dev agent by /pm-dispatch

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions