状态:全文为建议,可调整。已确认的方向是:流程衔接对象与当前任务、区分浏览与业务推进、返回时保留仍有效的工作。第 10 节 C1-FEED 为首期通用组合候选,第 14 节 PAT-ONBOARD 为代理依用户授权采用的有界文档候选(设计未创建、实现未验证);全页夹具与验收场景均未执行。 更新:2026-10-20 所属章节:表单与业务流程
本页补充流程交互契约,不决定任何产品的审批制度、岗位权限、流程时限或组织职责。
阅读顺序:流程状态与责任 → B2-FLOW 线性/时间线/分支与并行 → B1-WIZARD 跨步骤草稿、核对与最终提交 → 业务退回/取消/协作 → C1-FEED 评论与回复 → 历史与验收。向导不是审批制度或后台任务服务。
任务导引:本页第 14 节「PAT-ONBOARD:首次使用与账户启用引导」是通用 UI 有界主合同;设备、身份、法律或执行服务仍按该节的能力前提判断。
1. 从业务条件理解流程
流程界面应帮助用户理解:当前真实阶段、哪些工作已完成、哪些条件仍未满足、由谁继续处理,以及自己能做什么。步骤图只是表达手段;如果它无法解释并行、阻塞或退回,应调整表达,不要求业务适应线性控件。
建议每个需要操作的阶段都明确:输入依据、完成条件、可用动作、当前责任、动作后果和结果位置。业务规则由产品提供,界面不能根据按钮顺序自行推断阶段关系。
2. 状态与责任分开表达
“处理中”说明工作状态,“由审核角色处理”说明责任,“当前用户可代办”说明授权。这些信息可能同时存在,不能合成一个含糊标签。
建议区分:
- 任务未开始、可处理、进行中、等待前置条件、已完成、已取消等业务状态,实际集合由产品定义。
- 任务分配给谁或哪个角色,是否已领取,以及是否允许转交、代理或多人处理。
- 当前用户是否可查看、编辑、推进、退回或仅查看结果。
未分配与用户无权获知负责人不是同一种情况。无法展示责任信息时,应在披露权限内说明限制,不显示虚构人员,也不默认认为无人负责。
3. B2-FLOW 流程可视化
共同的数据、状态、权限与等价路径沿用图表选择、交互与可访问等效的「B2-DATA-COMMON 共同身份、等价与安全」;以下只读流程表达不替代业务推进或 B1-WIZARD。
B2-FLOW-01 共同结构和状态
只读表达真实的任务、事件和依赖,帮助用户理解位置与限制;它不是流程设计器、业务执行引擎、向导进度或批准权限。结构包含:任务/实例与定义版本、当前快照/时间、节点/事件身份、关系与方向、分别说明的状态/责任/权限、局部读取失败与可达详情。查看节点不推进阶段,动画走完不表示执行成功。
服务提供的未开始、处理中、等待、完成、取消、失败、未知、不适用各自保留;具体状态集合来自产品,缺少状态映射时显示未知原义而不猜测。全部节点完成也不能无条件推出整体完成,仍需真实的整体结果。读取刷新失败与执行未知不同;有旧图时标为旧快照,旧事件不覆盖新状态。不存在任务查询能力时不编造恢复入口,也不因关闭图而取消已发出的执行。
B2-FLOW-LINE 线性状态图
展示真实阶段和前后条件。下一阶段尚不能执行时,在权限允许的范围内说明缺少什么;若用户可补充,应提供直接入口。浏览下一阶段的说明不改变当前业务阶段。
仅用于实际有序的阶段关系;分支和返工不能压成简单的“下一步”。当前查看节点、真实当前阶段和已完成阶段分别表达。结构含顺序与稳定 ID,以及节点标题、状态、可披露的责任和依赖说明;不适用的阶段不强制完成。总步数未知时只列已知阶段,不生成精确百分比。
代理默认的自然 Tab 顺序只经过详情入口,静态节点不都可点击;同一结构化有序列表可读出每个阶段的状态和依据。点击未来节点只查看说明,不跳过前置;业务动作在独立、明确的入口中再授权并核对基准。阶段返工后可同时显示历史完成与当前需处理,不能用已见过的最大序号保持完成。长阶段名可纵向堆叠,语义顺序不因 RTL 被反转。
B2-FLOW-TIME 事件时间线
表达实际已记录的事件,不把计划节点当作已发生事件。事件的稳定 ID、发生时间(明确类型/时区)、记录时间、来源、性质与状态分开;重复时刻或同名事件不合并,先后未知时予以声明,不用像素顺序推断因果。使用服务明确给出的顺序键;仅在同一时刻且无顺序证据时呈现为并列组,不制造先后。
“加载更多”与新事件通知分别记录游标/快照,当前已阅读的事件保持锚点,不自动追尾,也不逐条高优先级播报。新事件可有明确的“查看新事件”入口;旧分页晚到不得串到另一任务。更正/撤销事件与原事件关联,不能默默擦除历史并宣称完整审计;没有完整日志能力时直接说明。精确列表提供同样的时间、来源、状态与详情;未获准查看的历史不因“追溯”而展示。
B2-FLOW-GRAPH 分支、并行与依赖
按真实活动分支展示状态、责任与依赖。某分支已完成不意味着整体已完成;汇合条件由产品定义,如全部必要分支结束或特定条件满足。界面应说明当前在等待什么,不能编造剩余时间或精确进度。
并行分支互相影响时,应让受影响用户看到相关变化并重新核查必要内容。不要用“已读”或打开页面作为另一分支完成的证据。
当业务条件决定后续路径时,说明当前适用路径及可知的判断依据。更改输入导致分支变化时,提示哪些后续内容或确认不再有效。未选择的路径不应显示为“失败”,不适用阶段也不应强制用户点击完成。
用于真实存在分叉/汇合、并发或循环依赖的可读概览,不限定后台必须是 DAG。节点与边有稳定 ID、条件/关系类型及可披露状态;未知的分支条件不当作 false,不适用路径不当作失败。汇合条件只能来自产品,已完成一条不表示整体完成,后继数量未知时不编造总量或剩余时间。循环/返工可明确标为回边,不能因布局重复而生成新任务。
结构化等价列表按节点列出允许披露的前置/后继关系及条件,能表达并行,而不只是扁平的标题列表。折叠子图只改 V,不取消或完成被隐藏的节点;选中/查看身份保持稳定 ID。自动布局、展开、缩放都不执行依赖。虚拟化的未知后继显示“尚未取得”或“不可披露”等合适状态,展开失败不冒充叶节点。焦点仍在即将被隐藏的子节点内时,先由最高子层/原稿仲裁,再交给折叠的父节点;焦点已合法移出的不抢回。
B2-FLOW-ASYNC 执行关联与授权
图内若有真实执行入口,完整复用本页与异步执行、结果核查与恢复:发出、已接收、处理中、可信结果、结果未知分开;防重针对原操作,不把重画或重开图当作重试。“取消查看”与“请求取消执行”分别命名,取消请求未获确认不得显示已取消;无查询能力时说明限制并允许离开。读取权限撤回时,清理节点、边、责任人、可访问关系及其推导;只撤回动作权限时保留可读的图,所有操作路径都阻断。切换账户后,原写操作的回执只归属原操作,按允许范围披露事实,不更新新账户下的同名节点。
图及列表在各端都能完成查看状态、关系、详情和返回任务,不能只有拖动画布;移动端可直接使用列表。触控、读屏、键盘、减少动画、长文本与响应式的实测须分别记录,本页不声称跨端通过。
精确文档夹具(全部未执行)
B2-FLOW-F01 线性浏览不是推进
- 前置:真实阶段 N1 完成、N2 处理中、N3 未开始,查看位置在 N1;无执行入口。
- 动作:查看 N3 详情后返回。
- 预期:当前阶段仍是 N2,N3 仍未开始;写入 0 次;查看位置可回到 N1。
- 禁止:点击 N3 自动完成 N2。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-LINE。
B2-FLOW-F02 线性返工与未知
- 前置:旧快照 S1 中 N2 已完成;新快照 S2 明确 N2 需重做,后续总量未知。
- 动作:读取 S2,之后 S1 迟到。
- 预期:N2“当前需处理”可见,历史完成与当前分开;无精确百分比;S1 不使状态倒退。
- 禁止:按最大序号算完成;把未知总数填为 3。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-LINE。
B2-FLOW-F03 时间线同时刻
- 前置:事件 E1、E2 发生在同一 UTC 时刻,均无相对顺序键;E3 有独立的稍晚时刻;三个 ID 均可读。
- 动作:读取等价列表。
- 预期:E1、E2 为同刻并列组且不推断因果;E3 排在其后;三个 ID 相互独立。
- 禁止:按名称伪定先后;合并同名事件。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-TIME。
B2-FLOW-F04 旧分页与移焦
- 前置:任务 T1 的时间线分页请求 p1 在途;用户已切到 T2 且读取成功,焦点在 T2 的返回按钮。
- 动作:p1 成功,随后 T1 的旧新事件通知到达。
- 预期:T2 不插入 T1 事件、无旧通告,焦点不变;不追尾。
- 禁止:游标跨任务复用。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-TIME。
B2-FLOW-F05 并行汇合正常
- 前置:图中 A 分至 B、C,再汇至 D;真实条件为 B 和 C 都完成后 D 才可处理;B 已完成、C 处理中。
- 动作:查看 D 的原因;随后可信结果显示 C 完成,且服务确认 D 可处理。
- 预期:前期显示 D 在等待 C,后期才可处理;查看与布局写入 0 次;不说整体完成。
- 禁止:B 完成即视为 D 完成。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-GRAPH。
B2-FLOW-F06 未知后继失败
- 前置:已知节点 A 有可展开关系,但后继尚未取得,请求 q1 在途。
- 动作:q1 失败;用户明确重试,q2 返回 B、C 及关系。
- 预期:失败时标为“无法读取”而非叶节点;重试成功后出现 B、C,焦点保持在 A,不自动跳到 B。
- 禁止:把失败装成叶节点;猜测后继总数。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-GRAPH。
B2-FLOW-F07 折叠子层并发原稿
- 前置:子节点 B 的非模态详情内有原稿 q,父节点 A 的折叠入口可达;本实例的离开仲裁拒绝关闭。
- 动作:明确折叠 A,并选择继续编辑。
- 预期:A 仍展开,B 的原稿 q 保留,焦点回到 B 的有效字段;写入 0 次、折叠 0 次。
- 禁止:折叠吞掉原稿;一次请求仲裁两次。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-GRAPH。
B2-FLOW-F08 执行未知关闭
- 前置:节点 B 的真实操作 W1 已发出,通信超时,且无任务查询/幂等能力;图仍可关闭。
- 动作:再次激活同一动作,并关闭查看。
- 预期:新执行 0 次,W1 仍为未知;离开限制可读且允许关闭,不称取消了执行。
- 禁止:动画完成即视为成功;重开即重试。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-ASYNC。
B2-FLOW-F09 取消执行未确认
- 前置:真实操作 W1 处理中且有取消协议,用户明确请求取消 C1。
- 动作:C1 通信超时,之后 W1 的可信成功结果到达。
- 预期:先显示取消结果未知,之后归入原 W1 成功;不声称已取消,不补发原操作。
- 禁止:把关闭图当作取消回执。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-ASYNC。
B2-FLOW-F10 撤读权与换账户
- 前置:账户 U 在 T1 中有敏感节点名称、关系,且写操作 W1 在途;切换到账户 V 的 T2(含同名节点),且 U 的读取权限被撤回。
- 动作:旧 T1 读取结果及 W1 成功回执到达。
- 预期:V 不显示 U 的节点、关系或通告;W1 只归原操作并按允许范围披露事实;不改动 T2。
- 禁止:把写回执当作可丢弃的旧读取;跨账号显示。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-ASYNC。
B2-FLOW-F11 长名循环和替代
- 前置:图 A→B→A 为明确的返工边,两个稳定 ID;名称分别为汉字“甲”“乙”各重复 120 次后接 A/B;减少动画开启;两个 Web 子轮:320×800 CSS px/100%,以及 1280×800 初始、真实 200% 后实测 640×400。
- 动作:每个固定子轮切换到结构化关系列表,查看两条边,再返回;原生平台另测,不据此声明通过。
- 预期:仍为 2 个节点和两条关系,回边可理解;静态状态等价,不要求观看动画,退出可达。
- 禁止:循环克隆任务;扁平名录丢失边。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-GRAPH。
B2-FLOW-F12 只撤写权与读取失败
- 前置:T1 可读,节点 B 处理中,有动作入口且该入口的存在允许披露;焦点在安全位置 H。
- 动作:撤回动作权限,再刷新时读取失败。
- 预期:原获准快照标为旧快照并标读取失败;动作不可用的原因可达,所有路径写入 0 次;这不是执行失败。
- 禁止:清空可读的图;把读取失败标为 W 失败。
- 合同:B2-DATA-COMMON、B2-FLOW-01、B2-FLOW-ASYNC。
4. B1-WIZARD:跨步骤草稿、核对与提交
本节只补充组合规则:查询范围沿用查询、选择范围与批量执行,原始草稿与提交快照沿用表单校验、草稿与提交的 FORM-SNAPSHOT,未知恢复沿用异步执行、结果核查与恢复,权限沿用权限变化、并发修改与保存冲突,离开沿用导航、深链接与上下文保留的 NAV,临时层沿用浮层组件:对话框、抽屉与提示的 CMP-LAYER。七角色 × 固定职责 step、label/prose/heading 各九档,以及一个独立任务只有单一主操作的约定保持不变。本节均为可调整的文档契约,不新增实现或服务能力承诺;全部运行未执行。
4.1 B1-WIZARD-01 用途、不适用与结构
向导用于同一任务被有意义地拆成若干输入/核对步骤;不用于把简单表单人为拉长,也不把独立工作台导航、复杂的多人并行流程或异步业务阶段硬塞进线性页码。访问步骤不等于完成业务阶段,业务推进仍按本页的流程推进规则处理。
结构:稳定的任务标题与范围、当前步骤标题、可理解的步骤顺序/分支说明、当前内容、局部/跨步问题摘要、上一步/下一步、可选的真实草稿保存、最终核对与明确提交、任务结果。已完成标记须说明含义是“本版本已检查”还是“已填写”,不能用无说明的对勾暗示服务端成功。
W3C 多页表单教程支持逻辑分组、可辨的可选阶段、标题中的进度以及回看已完成步骤;这里采用这些信息表达原则,不复制其示例样式,也不把回看前保留数据等同于自动业务提交。W3C Multi-page Forms
4.2 B1-WIZARD-02 步骤身份、草稿与独立状态
记录:稳定的任务/对象、安全域、流程定义版本、步骤 ID 及当前适用的依赖、各字段的原始草稿和解析候选、草稿修订、校验依据、已确认的保存版本、最终提交的操作身份。步骤标题、序号、数组索引都不是身份。切换显示、窄屏重排或步骤序号改变不能丢失草稿、重建任务,或串到同位置的另一字段。
独立的状态轴至少包括:
- 当前位置;
- 各步骤适用/不适用/条件未知;
- 未访问/已访问;
- 编辑未改/已改;
- 未校验/检查中/通过/需修正/检查失败;
- 本地保留/保存中/已确认草稿/保存失败;
- 最终提交未发/在途/已确认/未知;
- 权限。
完成一页、打开核对页、自动保存成功都不证明最终提交成功。当前步骤可以有无效原文,同时其他步骤持有旧版本的通过证据。
回到上一步、从核对页进入修改、切换可访问步骤时,保留原始的无效或未解析草稿(如“1.”),不回填成上次的规范值、远端旧值或空值。保留边界应区分本会话、刷新、重启/跨设备;未实现持久化时如实说明,不能因前进按钮工作正常就承诺下次可恢复。若底层无法保留某种内容,应在导航前明确保护,而不是先卸载再补提示。
4.3 B1-WIZARD-03 前进、回退和版本化校验
“下一步”是对当前适用步骤的明确前进请求,不是保存或正式提交的同义词。按实例声明校验当前步骤及必要依赖;前进不能因为一个无关的未来步骤尚未填写而无解释地被阻塞,也不能绕过真正的前置规则。字段的 IME、候选选择、换行等先按 FORM-SNAPSHOT 处理,不同时触发前进。
异步前进校验绑定发起时的步骤 ID、草稿修订、依赖、规则与授权版本,以及这次前进意图。校验期间更改内容、撤销前进、切到别的步骤或分支变化后,旧的通过不能触发导航,旧的拒绝不能污染新草稿或抢焦点;仍需新的明确前进。一次连续双击只对应一次位置推进,不得跳过两步。无效时停在当前步骤并给出可定位的问题;校验服务失败表示“无法检查”,不是假定字段无效。
“上一步”通常允许返回以修正,不能要求先把当前无效草稿改成合法才准返回;它只移动位置并保存获准的会话草稿。若实际同时保存草稿,须声明动作名称及保存失败策略,保存确认只适用于发送的版本。访问已有步骤按依赖规则限制;不能使用看似可点击、实际却无说明地被阻塞的步骤标题。不是 tabs 的步骤序列不套用 tabs 的方向键。
4.4 B1-WIZARD-04 分支及下游失效
上游选择改变后按当前规则重算适用步骤;受影响的下游“已检查/已确认”状态失效,未受影响的步骤保留有效证据。显示新增、略去或需重新核对的范围;不适用不是错误,也不是已完成。
隐藏分支的草稿按 FORM-SNAPSHOT 的明确保留/提交/清除规则处理。候选的保守策略:可安全保留的不适用草稿隔离且不提交,重新启用时重新校验;这不是所有产品都必须实现的持久历史。被撤权的内容不得因切回分支、撤销、返回预览或旧回包而复活。若流程定义改变,按稳定身份迁移并说明冲突,不把步骤 3 的草稿自动赋给新的步骤 3。
动态总步数未知时,显示当前名称和已知阶段/估计标记,不提供虚构的精确“第 2 步/共 4 步”;步骤数量不能冒充工作量完成率或远端执行百分比。
4.5 B1-WIZARD-05 核对、修改返回与最终提交
核对页来自当前有效草稿及已知规则,标明尚需处理的字段、被排除的步骤及其影响;不能用旧的保存版本覆盖尚未保存的原文并谎称已核对。每个修改入口具有字段/分组名称与稳定目标,进入修改时记录“返回核对”的意图;修改引出新的必需问题时,先处理或明确标为待处理,不强迫重走无关步骤,也不跳过新问题。
GOV.UK 核对答案模式支持提交前复核以及带上下文的修改入口;其具体业务文案不直接成为 YUDS 的确认声明。GOV.UK Check answers
最终提交是独立、明确的意图:重新核对所有适用步骤、跨步规则、当前权限和对象基准,并捕获 FORM-SNAPSHOT。核对摘要的修订变化使旧确认失效;不把曾经看过核对页作为新内容获准的证据。按钮名称表达真实后果,不一概叫“完成”;最终成功只来自原提交的可信结果。提交后继续编辑形成的新草稿不能被旧的成功清空;旧失败只归属旧快照。没有整单原子保证时,不编造全有或全无的结果;逐步真实生效的流程必须明示各步后果,不能称为“直到最后都只是草稿”。
4.6 B1-WIZARD-06 离开、恢复、并发与撤权
“上一步”是任务内部导航;系统 Back、浏览器历史、关闭、放弃更改、取消已发业务任务仍按 NAV 区分。应用内的步骤路由若写入历史,应防止返回时本地处理和默认导航各推进一次;系统强退或进程终止不能保证离开确认会出现。持久化只按实际服务支持提供,自动保存也须由产品明确,并展示发送版本的状态。
恢复时先授权,再核查任务/对象/流程定义版本,再恢复获准的草稿和合理位置;先前步骤已校验不免除更新后的校验。任务已被他人完成时,显示可访问的真实结果,不能从旧的末步再提交;会话恢复或重新登录不重放旧的前进或提交动作。部分字段被撤权时,隔离其值、摘要、步骤标题中的受限内容及待发负载;若余下任务无法继续,说明安全路径,不能为了保存草稿而保留受限屏幕。
活跃会话内的外部更新也要检查,不等到重新登录或恢复:协作者或其他入口改变对象基准、依赖、流程定义或父草稿时,旧检查/核对对受影响范围失效;保留可安全保留的本地原始输入并标记冲突,未编辑区域能否刷新按兼容策略决定。最终提交核对最新已知基准,并由执行层检测是否再次变化;用户曾看过差异不等于获得永久覆盖权。
“取消本次修改”必须标明层级:子编辑器、单步骤编辑会话,还是整个向导。子层以进入前的父草稿为起点,即使父草稿无效也不退回远端确认值;取消只撤销本层变化。父草稿在此期间被另一合法入口更新时,保留新的父修订,不回写打开时的快照;若接受旧的子值,则提示冲突并重新审阅。整个向导的“放弃本次未保存更改”只处理其明确拥有的未保存修改,不删除已确认保存的草稿,不撤销外部写入;若基准已变化且无法安全逆转,给出差异及重新加载等真实路径,不用旧的整份基线覆盖当前草稿。撤权始终优先于原文保留。
最终提交结果未知时,用异步执行、结果核查与恢复/CMP-LAYER 的真实能力核查;没有持久查询服务时说明刷新或退出后的限制,用户可等待或明确离开,不锁死界面、不造任务中心、不默认重发。返回上一步或放弃本地草稿都不撤销已发出的任务。
4.7 B1-WIZARD-07 键盘、辅助技术、增长与平台
步骤条默认是有名称的有序列表/导航,当前项使用平台支持的“当前步骤”语义;可回看的真实链接或本地动作按钮可用 Tab 访问,非交互的未来步骤不伪装成按钮。步骤状态有文字,不能只靠线条、颜色或图标。切换步骤后将焦点移到新步骤标题或合适的起点,保留可理解的任务与位置;校验失败时焦点到摘要/问题,从核对页返回修改时按记录的目标定位。异步挂载晚于用户转到其他任务时不得夺焦,沿用既有的摘要定位契约。
长步骤名可换行;窄屏可显示当前步骤加可访问的完整步骤概览,不能只留下“2/5”而隐去任务名称。大字号下底部操作不得遮住最后的字段或错误;RTL 顺序按语言和逻辑步骤映射,前后按钮的标签说明去向,不只是镜像箭头。每个步骤在同一任务中只有一个主操作(下一步或最终提交),上一步/保存草稿按次要层级处理;无法继续时仍有可理解的修正或退出路径。
Web 多页路由、单页切换、原生导航栈和模态向导各用其语义;浏览器 Back 不自动等于上一步,原生手势取消不修改草稿。收起输入法由平台优先消费。具体的原生生命周期、状态保存/恢复、后台任务及辅助技术手势,待目标平台实现时验证,本页不新声明操作系统能力;复用平台适配、国际化与输入能力和 NAV 的平台映射。
4.8 B1-WIZARD 精确文档夹具(全部未执行)
B1-WIZARD-F01
- 关联规则:B1-WIZARD-02、B1-WIZARD-03
- 前置:任务 T1 步骤 S2 的字段原文为
1.(无效);S1 可回看;草稿仅在会话内保留。 - 动作:上一步到 S1,再进入 S2。
- 预期:S2 原文仍为
1.,无效状态仍可修正;仅发生两次内部位置变化。 - 禁止事件:强制修好 S2 才能返回;把
1.变成1或空;正式提交。
B1-WIZARD-F02
- 关联规则:B1-WIZARD-03
- 前置:S1 草稿 v1,异步前进检查 C1 进行中;随后编辑为 v2。
- 动作:C1 返回通过。
- 预期:留在当前合法位置;v2 尚待自身检查;不应用 v1 的通过。
- 禁止事件:自动前进;将 v2 标为通过。
B1-WIZARD-F03
- 关联规则:B1-WIZARD-03
- 前置:S1/v1 的异步前进检查 C1 进行中,用户已取消前进并回到另一可访问步骤。
- 动作:C1 返回拒绝。
- 预期:拒绝归入 v1 记录;不污染新步骤字段、不夺焦、不恢复旧前进。
- 禁止事件:跳回 S1;再执行导航;把旧错误套到当前草稿。
B1-WIZARD-F04
- 关联规则:B1-WIZARD-03
- 前置:S1 有效,下一步可用;S2 为必需且未填写的步骤。
- 动作:快速双击下一步。
- 预期:一次前进到 S2,再次前进必须有新的意图与 S2 校验。
- 禁止事件:直接跳到 S3;两次业务提交。
B1-WIZARD-F05
- 关联规则:B1-WIZARD-04
- 前置:分支 A 下 S2 原文为
bad,S3 已检查,且检查基于 A;规则允许安全保留不适用的草稿且不提交。 - 动作:S1 从 A 改为 B,再改回 A。
- 预期:切到 B 时 S2 被隔离且不提交;S3 的依赖证据失效;回到 A 时保留
bad并重新校验。 - 禁止事件:隐藏字段继续进入负载;沿用 S3 的旧通过;自动清空无效草稿。
B1-WIZARD-F06
- 关联规则:B1-WIZARD-02、B1-WIZARD-04
- 前置:定义 V1 第 3 项 ID 为 S3,存有草稿 x;定义 V2 第 3 项为 S9,S3 后移。
- 动作:将任务恢复到定义 V2。
- 预期:按稳定 ID 映射 S3 的草稿,说明新增项与冲突;S9 不获得 x。
- 禁止事件:按索引复制草稿;声明所有旧步骤仍通过。
B1-WIZARD-F07
- 关联规则:B1-WIZARD-05
- 前置:核对页为 v4;从核对页修改 S1,新增了 S2 的必需字段;S3 独立有效。
- 动作:完成修改,返回核对页。
- 预期:新必需项明确标为待处理且可定位;S3 无需无理由重填;在有效之前阻止最终提交。
- 禁止事件:旧核对确认覆盖 v5;跳过新的 S2 问题;强制重走无关步骤。
B1-WIZARD-F08
- 关联规则:B1-WIZARD-05
- 前置:T1/v5 的最终提交已发出;用户继续编辑得到 v6。
- 动作:收到 v5 的成功回执。
- 预期:记录 v5 真实成功,v6 仍为未确认的新草稿;按任务实际的后续规则处理。
- 禁止事件:清空 v6;把 v6 标为已保存;重复提交 T1。
B1-WIZARD-F09
- 关联规则:B1-WIZARD-06
- 前置:最终提交 E1 结果未知;无持久查询或幂等保证;本地草稿仍在。
- 动作:上一步,或放弃本地草稿。
- 预期:仅按声明处理位置或本地草稿;E1 仍为未知,显示真实的核查限制。
- 禁止事件:把 E1 标为已取消;自动重发 E1;伪造任务中心。
B1-WIZARD-F10
- 关联规则:B1-WIZARD-06
- 前置:恢复快照含 S2 的受限值,任务 T1 已由他人完成;当前用户重新登录。
- 动作:恢复向导。
- 预期:先做授权与任务核查,不展示受限值,呈现获准的真实结果,不恢复旧的可执行末步。
- 禁止事件:登录后自动最终提交;恢复受限摘要;重放旧前进。
B1-WIZARD-F11
- 关联规则:B1-WIZARD-06
- 前置:S2 字段 f 可见;离开确认已打开;f 的读取权限被撤回。
- 动作:收到旧读取结果与撤销操作。
- 预期:清理受限值、标题、辅助技术内容和待发负载;焦点落到安全位置;旧回包与撤销都不让 f 复活。
- 禁止事件:等离开决定后才清理;建议将 f 导出备份。
B1-WIZARD-F12
- 关联规则:B1-WIZARD-07
- 前置:步骤 S2 输入法组字中;子菜单已打开;任务草稿为 v1。
- 动作:平台先消费一次返回以关闭 IME,再一次返回关闭菜单。
- 预期:每次只由最高的有效拥有者处理;S2 和 v1 保留;用户未发起步骤返回。
- 禁止事件:一次事件既退出菜单又退回步骤;业务保存或提交。
B1-WIZARD-F13
- 关联规则:B1-WIZARD-07
- 前置:长步骤名称、RTL、当前 S2 有错误;两个独立子轮:A 为默认缩放时实际 CSS viewport 宽 320px;B 为真实浏览器 Zoom 200%,并记录缩放后的实际 CSS viewport 宽度;不以截图放大代替。
- 动作:用键盘访问步骤概览并定位错误。
- 预期:当前名称、状态及完整顺序可读;正确定位到 S2 字段;底部按钮不遮挡;无虚构的 tabs 键位。
- 禁止事件:只显示数字而不说明当前步骤;错误定位抢走另一任务的焦点。
B1-WIZARD-F14
- 关联规则:B1-WIZARD-02、B1-WIZARD-06
- 前置:草稿仅在会话内保留,未实现刷新恢复;用户请求应用内退出。
- 动作:明确选择退出,之后刷新。
- 预期:退出前说明真实限制;刷新后不承诺恢复草稿;不虚构“已保存”时间。
- 禁止事件:声称自动云端备份;重放未确认的提交。
B1-WIZARD-F15
- 关联规则:B1-WIZARD-06
- 前置:服务端已确认 a/V1;父步骤草稿 b=
1.且无效,修订 P1;打开子修改会话,产生 c=2;无外部更新。 - 动作:取消本次子修改。
- 预期:父仍为 b=
1.及无效状态/P1;子值 c 被丢弃;最终提交 0 次。 - 禁止事件:回退到服务端的 a;把 b 规范化为 1;删除已保存草稿。
B1-WIZARD-F16
- 关联规则:B1-WIZARD-05、B1-WIZARD-06
- 前置:服务端 a/V1;父步骤 b=
1.无效/P1;子会话 c=2;另一合法入口把父草稿改为 d=3/P2;协作者把服务器更新为 e/V2。 - 动作:取消子会话;随后请求最终提交。
- 预期:取消不回写 b 或 a,父保留 d/P2;标出 V2 冲突,受影响的证据失效;先核对新基准,未解决前不正式提交;解决后执行层仍检查更晚的版本。
- 禁止事件:用 P1 整份覆盖 P2;把 c 恢复为当前值;凭 V1 的核对直接覆盖 V2。
B1-WIZARD-F17
- 关联规则:B1-WIZARD-03、B1-WIZARD-05
- 前置:T1 定义固定为两页:S1/核对;S1 草稿 v1 有效;无自动保存;无外部变化;当前可提交;最终提交可获得可信确认。
- 动作:下一步到核对页;明确最终提交一次;收到 v1 的可信成功。
- 预期:前进位置变化 1 次;到达核对页前正式提交 0 次、草稿保存 0 次;最终提交意图 1 次;回执确认 T1/v1 成功;只有此时才显示最终成功。
- 禁止事件:切到核对页时自动正式提交;步骤检查通过即显示业务成功;重复提交。
来源:原始完整夹具 JSON · 来源登记 · 独立反审。冻结源稿仅作为存证保存在同目录的 source-drafts JSON 中,不构成第二份现行正文。SAP403 路线未请求,不宣称与供应商全文等价;公开正文的支持范围及组合推导边界以来源登记为准。
5. 退回、撤回、取消与重新提交
这些动作的含义不可互换,名称与后果应由实际业务制度支持。
| 动作 | 需要解释的事项 |
|---|---|
| 退回 | 退到哪里、需补充什么、由谁处理、已完成部分是否仍有效 |
| 撤回 | 谁可撤回、当前是否仍允许、影响哪些已启动的后续工作 |
| 取消 | 结束哪些未完成工作,是否仍有已生效结果或后续义务 |
| 重新提交 | 针对原任务还是新任务、使用哪份内容、哪些确认需重新完成 |
| 转交/代理 | 接收角色或人员、责任如何变化、是否保留原责任、操作以谁的身份记录 |
需要理由时,应在操作前说明理由的用途与可见范围。不能默认理由对所有参与者公开,也不能要求用户在自由文本中填写无必要的敏感信息。
退回后要让接手人看见具体问题和可执行的下一步;不能只有“已退回”状态而没有可访问的修改入口。相关记录不可访问时,按安全策略给出有限且可用的指引。
6. 推进前的核查
执行“提交”“批准”“退回”等动作前,重新核查对象与任务身份、数据基准、当前权限、流程条件及作用范围。关键内容变化后,应让用户重新阅读或核查,并使新的确认对应当前版本。
确认摘要应突出本次将发生什么,不只显示一般提示。若业务不可逆或存在重要外部后果,应明确说明已知后果和实际可用的后续路径。普通低风险保存可采用简短反馈,避免所有操作都被同一个确认弹窗打断。
用户在核查阶段打开附件、历史或其他步骤后返回,保留仍有效的输入。并发变化、权限变化或任务已完成时重新判断,不把用户上一次点击视作对新条件的持续授权。
7. 协作、领取与代理
只有产品有明确模型时才提供领取、转交、代理或多人协作。界面应显示当前责任与可操作身份,避免用户以为自己在代理他人,实际却以自己的身份产生不同后果。
如果领取会阻止其他人处理,应说明其效果,并提供产品实际支持的释放或转交路径。界面显示“有人正在查看”不等于存在编辑锁;真实的锁必须有执行层保证,其范围和解除条件也需说明。
多人同时操作同一任务时,先完成者的真实结果应被其他会话识别。后完成的请求不能静默覆盖或再次执行,而应返回当前状态与合适的后续路径。
8. 等待、催办与通知
等待状态应明确等待的是人员、前置任务、外部事件还是执行结果。只有产品提供可靠的截止时间或服务目标时才展示;没有依据时不写“即将完成”,也不承诺某个时限。
催办、通知和订阅是独立操作,可能向他人发送消息。界面应明确接收范围、内容含义与触发效果,遵守产品的权限和通信规则;不能因用户查看进度就自动发起催办。
收到通知不等于任务仍然可操作。打开通知时重新核查状态;通知已过时,应指向允许查看的当前结果,不保留旧的执行入口。
9. 历史、意见与差异
历史应按真实时间与事件表达发生了什么,区分业务动作、数据修改、分配变化及系统执行结果。展示范围遵守权限;用户无权查看的意见、身份或附件不能通过历史侧栏泄露。
退回与重新提交时,优先呈现相关修改及尚未解决的问题,避免用户只能从大量事件中自行拼接。若无法提供完整的差异或历史,应说明缺口;不能将当前内容伪装为当时的内容。
意见是否可编辑、删除、撤销或更正由产品定义。已经产生后果的意见变更应有对应规则,YUDS 不默认允许无痕修改。
10. C1-FEED:评论与回复流
本节是首期通用组合候选,已经独立反审;不批准服务、平台实现或真实业务能力。全部运行未执行。
共同边界见 AI 辅助与用户控制 的「C1-COMMON 四类组合共同边界」,只引用其中的输入、异步、权限主档,不要求启用 AI 能力。
10.1 C1-FEED-01 范围、结构与身份
首期范围是附属于明确对象或线程的纯文本评论、单层回复关系,以及已声明的编辑、删除能力;不是即时聊天、群成员管理、审批审计或多人共同编辑。附件、提及自动通知、反应、在线状态与已读回执均不默认存在。群组流只描述同一获准受众下的讨论集合,不由成员展示推断发送权限。
结构包括线程/受众说明、作者及必要的代理身份、正文、发生/发布或编辑时间、回复关系、读取状态、发送区和适用动作。线程 ID、消息 ID、作者身份、父回复 ID、版本、受众/授权分别记录;名字、头像、时间戳都不是唯一身份。作者真实身份由可信服务提供,界面不凭显示名标示认证。评论正文作为不可信纯文本安全呈现:不执行 HTML/脚本,不自动预取 URL 或外部资源,也不因文本含 @名称就发送提及通知。链接增强若另行支持,必须有明确的目标与激活合同,不能由纯文本隐含获得。
默认使用普通语义列表与命名的消息动作,回复关系明确关联。「尚未取得父消息」与「父消息已删除/受限」分开表达,不泄露不可披露内容。加载、空、部分、分页失败、受限分开表达。原生平台采用对应的列表与文本语义;不能仅添加 Web 的 feed 或 log 角色就算实现完成。
10.2 C1-FEED-02 草稿、发送与未知
原始当前草稿、已冻结的待发送快照、在途操作、已接收、已发布、明确失败和未知分开表达。只有产品把接收回执定义为发布确认时才合并状态;进入队列不能先画成已发布。发送快照包含线程/回复父 ID、受众、正文修订、作者/代理及授权、必要基准。Enter 默认换行,显式发送按钮触发一次发送;IME 确认不穿透。另设快捷键必须显式说明,并保留等价按钮。
同一未知操作防止重复;除非真实服务证明原操作未生效且可安全重试,否则不新发相同意图。存在查询能力才核查,缺少该能力时不虚构后台状态。发送后可以继续形成新稿,旧发送的成功只确认旧发送快照;只有当前稿仍等于被发送稿、且属于同一编辑会话时才可清除该稿,新稿必须保留。失败时保留当前可披露的稿件及原操作信息,不把旧失败挂到新稿上。
用户取消未发送草稿是本地事务;发出后的关闭或清空不取消远端发送。若服务提供取消,须另行记录取消请求及可信结果。草稿是否持久保留由实际能力声明;发送或保存草稿都不能悄悄扩大受众或自动通知他人。
10.3 C1-FEED-03 分页、新消息与阅读锚点
查询绑定线程、范围、游标/快照与授权;消息按稳定 ID 和服务版本去重。时间或名称相同的消息不合并,顺序取服务明确规定的键;无法证明完整时标为部分结果,不凭页码拼出完整历史。重复的页结果不重复创建消息,旧线程的成功或失败不污染新线程。
新消息可以提示“有新消息”,默认不追尾(不自动跳到最新),也不移动正在编辑或阅读的焦点。用户明确查看新消息时才移动阅读位置,并保证可以回到旧锚点;分页追加不改变现有消息的稳定身份。移除或折叠实际持有焦点的消息前,先处理最高子层与原始稿,再把焦点转到仍有效的后继或线程入口;焦点已经移出则不抢回。虚拟化必须保留编辑宿主,不能因回收而隐式发送、保存或丢稿。
读取与查看不自动写入已读、订阅、催办或通知;这些是另有真实能力和明示语义的操作。通知入口和讨论消息可以相互定位,但通知已读不代表评论作者或流程已确认。
10.4 C1-FEED-04 编辑、删除与历史
只有真实权限和产品后果合同都存在时才提供编辑、删除;首期未声明时,已发布消息只读。编辑基于消息版本和允许保留的原始编辑稿,提交前以及执行层都要重新核对作者/代理、权限、受众和基准。安全的编辑覆盖必须有服务端条件版本写入或等价的原子冲突控制;仅靠提交前先读或前端核验不够。没有这种能力时,已发布消息保持只读,不能宣称安全编辑;可以另作一条明确的新评论,但不改动原消息。外部 V2 到达时不覆盖本地稿,旧 V1 的保存不得覆盖 V2。取消子编辑只丢弃子稿,不回写打开时的消息或父草稿的旧快照。
消息编辑/更正后是否保留原文、编辑历史对谁可见、删除是占位还是真实删除,都由真实服务说明;没有证据时不称完整审计或“彻底删除”。删除按钮包含对象与后果;确认服务结果前不把未知当作已删除,关闭本地行不冒充服务删除。受限或删除占位只展示可披露的元信息,不能通过回复摘录、错误、缓存或读屏描述泄漏旧正文。
10.5 精确夹具(全部运行未执行)
C1-FEED-F01 发送旧稿确认不清新稿
- 前置:线程 T1 允许发送;草稿 D1=甲;可信服务单独返回发布成功;无自动草稿存储。
- 动作:显式发送 D1,形成 W1;回执到达前把当前稿改为 D2=乙;先收到“已接收”,再收到发布成功 M1/V1。
- 预期:发送意图 1 次;接收阶段不称已发布;成功仅表示 M1(正文甲)已发布;当前稿 D2 乙保留;不承诺自动持久化。
- 禁止事件:成功后清除乙;队列接收即显示已发布;发送两次。
- 规则:C1-FEED-01、C1-FEED-02。
C1-FEED-F02 未知防重和失败保稿
- 前置:两轮独立。A 轮:线程 T1 发送甲(W1)后回执丢失,且无查询能力。B 轮:重置后线程 T1 发送甲(W2),服务可信地拒绝、未发布。
- 动作:A 轮再次点击发送;B 轮随后用户把当前稿改为乙。
- 预期:A 轮仍为未知,发送总计 1 次,并说明无查询能力;B 轮已知失败归属 W2/甲,乙仍是当前稿,且不挂甲的内容错误;无自动重试。
- 禁止事件:把断网当作未发送;旧错误删除新稿;虚造查询入口。
- 规则:C1-FEED-02。
C1-FEED-F03 取消子编辑保原始父稿
- 前置:父消息编辑稿
D1=未完成((允许保留),打开正文子编辑器;另一合法入口形成D2=新的未完成(;子稿为丙。 - 动作:取消子编辑器。
- 预期:父稿 D2 逐字保留;子稿丙丢弃;消息服务写入 0 次;不回写旧发布正文或 D1。
- 禁止事件:取消时恢复合法的服务器值;关闭子层即发布消息。
- 规则:C1-FEED-04。
C1-FEED-F04 并发消息版本不覆盖
- 前置:A 轮:已发布 M1/V1=甲;用户有编辑权,本地改为乙,且服务有原子条件版本写入;服务后来产生 M1/V2=丙。B 轮:独立重置同一消息,但服务没有条件版本或等价的原子冲突控制。
- 动作:A 轮收到 V2 后试图凭 V1 提交乙;B 轮请求编辑已发布的 M1。
- 预期:A 轮保留本地乙并说明冲突,不覆盖 V2;B 轮已发布的 M1 只读,原消息编辑写入 0 次,并说明能力限制;不能以前端先读代替原子保证。
- 禁止事件:按显示名覆盖消息;旧保存成功指向 V2;自动拼接乙和丙。
- 规则:C1-FEED-04。
C1-FEED-F05 删除结果未知和焦点
- 前置:消息列表含 M1、M2;焦点在 M1 的删除按钮;真实删除能力有权限与后果说明,但没有结果查询;服务删除 W1 已发出。
- 动作:W1 回执丢失;关闭删除对话框;再次尝试删除 M1。
- 预期:保留未知记录,重复删除被阻断;不把本地关闭称为已删除;焦点按关闭原因转到仍有效的入口,不能跳到空节点。
- 禁止事件:清除行即称彻底删除;重复发出 W1;承诺所有引用已清除。
- 规则:C1-FEED-04。
C1-FEED-F06 旧线程分页与重复消息
- 前置:T1 快照 R1 当前有 M1,下一页 P1 在途;用户切到 T2,已显示 N1;T2 的下一页 P2 含同版本的 N1 与 N2。
- 动作:P2 返回后,从 T2 含 N1/N2 的同一状态独立重置两轮,分别交付 P1 的旧成功和 P1 的旧失败。
- 预期:T2 中 N1、N2 各出现一次,顺序按 T2 的服务顺序键;P1 不混入 T2,也不给 T2 盖上错误;T1 的完整性不靠页数猜测。
- 禁止事件:按正文相同去重;旧页追加到当前线程;时间相同即合并消息。
- 规则:C1-FEED-03。
C1-FEED-F07 新消息不追尾或写已读
- 前置:T1 当前阅读 M2,焦点在其详情入口,编辑框有未发送的甲;服务返回新消息 M4;无已读或通知能力。
- 动作:出现新消息提示;用户明确查看 M4,再使用“返回原阅读位置”。
- 预期:首次保持 M2 焦点与甲;明确查看后能到达 M4 并回到 M2 锚点;业务写入、已读、通知均为 0。
- 禁止事件:被动追加时抢焦点并追尾;看见即发已读;返回时清除甲。
- 规则:C1-FEED-03。
C1-FEED-F08 受限回复父与撤权
- 前置:M2 回复 M1;M1 内容当前不可披露;M2 正文合法可读;随后线程读权被全部撤回(A2),旧页面请求在途。
- 动作:呈现 M2;执行撤权 A2;旧请求带着 M1/M2 正文返回。
- 预期:首次只给出不泄漏 M1 的关系说明;撤权后所有受限正文、摘录、作者详情、读屏内容和缓存均被清理;旧请求不恢复这些内容。
- 禁止事件:回复摘录绕过 M1 权限;把未加载的父消息说成已删除;只在列表中隐藏。
- 规则:C1-FEED-01、C1-FEED-04。
C1-FEED-F09 虚拟化不发送与宿主保护
- 前置:M1 编辑宿主中有未完成的中文 IME 组合“合同”和草稿甲;列表拟因滚动回收 M1;没有用户离开授权。
- 动作:滚动至远处;随后返回 M1,按 Enter 确认 IME。
- 预期:稳定的编辑宿主、草稿和输入组合优先保留,不能因回收而提交或丢稿;Enter 只确认文本;发送、保存均为 0。
- 禁止事件:滚动时隐式保存;回收后同位置的 M2 接管编辑;重复发送。
- 规则:C1-FEED-02、C1-FEED-03。
C1-FEED-F10 长纯文本与显式发送
- 前置:T1 草稿为“评论”重复 120 次,再加 “
R-001 العربية <b>甲</b> https://example.invalid @乙”;Web 两轮独立,A 为 320×800 CSS px、缩放 100%,B 为 1280×800 CSS px、浏览器缩放 100% 且文字 200%;允许发送;无附件或提及通知能力。 - 动作:各轮按 Enter 换行;用键盘到达显式发送按钮并激活一次;可信发布成功。
- 预期:完整原文及换行保留;各轮均发送 1 次;阅读与操作可达,标识不反转;尖括号按原文显示,不执行 HTML、不预取 URL、不发提及通知、不上传;每轮独立复位。
- 禁止事件:Enter 同时触发发送;长文被截断;把文字 200% 当作原生读屏通过。
- 规则:C1-FEED-01、C1-FEED-02、C1-FEED-03。
证据附件:完整夹具 · 来源与边界 · 独立源稿反审 · 冻结原稿。冻结原稿仅作存证,不是第二份现行规范;全部运行未执行。
11. 示例:并行审核后退回补充
以下为虚构场景,用于检验交互,不规定真实审批制度。
某事项有资料核查与业务核查两个并行分支。资料核查已完成,业务核查要求补充材料。界面分别显示两个分支的状态,说明整体尚未完成、退回目标及当前负责角色。
补充人员打开原任务时,能看到允许访问的问题与相关资料;修改是否导致已完成的核查失效,由产品规则决定,界面明确呈现。重新提交前展示本次内容和重新核查要求。另一位处理人在旧页面提交时,应被告知任务或版本已变化,不能覆盖新结果。
12. 验收场景
以下测试均未执行:
- 浏览历史或未来阶段不会改变业务状态,也不会自动发送通知。
- 分支不适用、等待条件和无权限具有准确且安全的表达。
- 并行分支分别有真实状态,整体完成条件清楚,不假定线性推进。
- 退回后接手人能理解原因、责任与允许执行的下一步,原输入按有效性保留。
- 转交或代理操作的身份与结果可辨,未授权人员不能通过深链接执行。
- 两位用户同时处理时,后到请求识别已完成或已变化状态,不重复产生结果。
- 数据变化后旧确认失效,重新核查与确认对应当前内容。
- 历史与意见只呈现获准信息,缺失记录不被伪造补齐。
- 键盘和辅助技术能获知各分支状态、责任、可用动作与执行结果。
13. 并行协作的结果夹具
规则 YUDS-110200-01(责任与推进)
分支业务状态、当前责任、用户授权和请求结果分别呈现;任何一个分支通过都不能推断整体结束。批准、拒绝、退回等候选动作由真实制度提供,当前主操作依任务上下文确定;D04 已选择不启用双主例外,采用“选择处理结论后单一明确执行入口”等保守路径,不称该路径已批准为产品 API。
| 输入与动作 | 可验预期 | 反例 |
|---|---|---|
| 两分支仅资料核查完成,业务核查待补件;浏览历史后返回 | 状态与责任分别可辨,整体等待真实条件;浏览不推进、不催办 | 2/2 页面已看即显示整体完成 |
| 甲完成任务 T/V3,乙持旧页点击推进;随后重新登录 | 乙先核查当前任务与授权,不能再次推进 T;已发生结果可按权限查看 | 登录成功就重放旧按钮动作 |
| 修改补件使旧核查依据失效;重新提交 | 明示受影响分支及新依据,按产品规则重新核验;旧确认不自动沿用 | 无声保留全部旧通过标记 |
本规则不定义审批制度、岗位或消息收件人。实际并发、代理和通知验证均未执行。
14. PAT-ONBOARD:首次使用与账户启用引导
代理依用户授权采用本节为有界文档候选(2026-10-20),文档契约已经独立反审;本单元设计未创建、实现未验证、运行未执行。
本节共同继承 CMP-STATE、原始稿/接受值/写回执的区分、NAV 离开保护、CMP-LAYER 焦点、撤权清理及真实服务能力;异步事件绑定会话、对象、版本、账户与权限代次。标题、目的、状态、可用动作、原因和退出必须可获取。秘密不得进入示例或普通日志。
- 前提与输入:产品提供适用触发条件、步骤 ID/版本、必选/可跳过标记、依赖、实际保存能力和完成判定;身份、许可、同意分别由对应的真实机制提供。
- 状态:未开始、进行中、已完成当前步骤、待外部处理、被阻断、已跳过可选项、已中止、完成事实未知、已确认完成。浏览完一页不等于完成业务或认证步骤。
- 契约:说明目的和当前进度;仅在总数已知时显示总步数。返回修改前置选择时,重新评估后续步骤的有效性,不悄悄保留旧完成标记。可选步骤的跳过有清楚结果;必要步骤失败时给出真实的恢复或退出,不无限困住用户。只在实际需要时请求设备权限,并说明用途;拒绝后的路径由功能适用性决定。继续或重新进入只恢复实际保存且仍有权限的进度;不宣称自动跨端恢复。完成后是否再显示由产品版本/触发条件决定,不固定为“永不显示”。
- 最小文档测试:步骤 S2 依赖账户 A,改为 B 后 S2 的完成标记失效;跳过可选偏好不被记录为同意;重启且无持久存储时说明未恢复,而不是显示已完成;完成回执丢失时不重复开通账号或重发外部动作。
- 设计路由:D04,依赖 PAT-AUTH、PAT-CONSENT 及向导;未采用其中任一能力时明确为不适用。