跳到主要内容

FinClaw V1 Sub-Packet: Save Thread Sheet 确认流程

状态:Pending 日期:2026-05-16 Lane:Engineering / Frontend Owner:Frontend Agent D + Engineering Agent A Parent Packet:v1-engineering-implementation-task-packet.md 对齐 Action Item:AL-6

1. 目标

v1-ui-ux-interaction-design.md §5 Save Thread Flowv1-user-journey-and-interaction-flow.md §7 落地为可运行的「保存为线程」确认 sheet,覆盖:

  • 完整字段展示:标题 / 关注对象 / 用户关注理由 / 初始主判断 / 反方 / watch questions / refresh conditions / invalidators / 是否保存用户自述上下文;
  • 4 类用户动作:保存为线程 / 修改标题或关注理由 / 只保存快照 / 放弃保存;
  • 与 sub-1 ProfileConsent 的联动:保存用户自述金融上下文必须 explicit confirm。

2. 允许读取

见 frontmatter must_read / reference_only

3. 禁止范围

  • 不在 Sheet 中收集任何超出 Thread schema 的字段;
  • 不强制要求用户填写 user_focus_reason(可留空,但默认建议填写);
  • 不让 Save 动作绕过 Thread proposal logic(即非 thread_proposal 的 snapshot 不应弹出 Sheet);
  • 不在 Sheet 中暴露 buy / sell / 订单 CTA。

4. Acceptance Criteria

AC ID验收项
AC-1SaveThreadSheet 渲染 9 个字段 + 4 个动作按钮
AC-2Thread proposal 仅在 snapshot 满足 product-object-and-advisor-design.md §1.3 创建规则 时弹出
AC-3「只保存快照」action 触发 snapshot_saved 事件,不触发 thread_created
AC-4「放弃保存」action 触发 thread_save_declined 事件 + decline_reason 选择
AC-5用户金融上下文(持仓 / 成本 / 资金规模)保存到线程前必须二次确认(依赖 sub-1)
AC-6后端 POST /v1/threads 创建线程;linked_snapshots 字段引用源 snapshot;不覆盖
AC-7单测:4 个用户动作 + 2 个金融上下文确认 case + 1 个 thread proposal 不弹出 case
AC-8与 sub-4 联动:保存成功后跳转 Thread 主视图,且后续 refresh 可触发 sub-4 的 Diff View

5. 回写位置

  • 代码 → 工程仓库 fin-claw
  • v1-governance-engineering-alignment.md §5 / §9.AL-6 状态由 missingaligned-initial
  • Hand-off anchor → handoff-anchors/v1-eng-impl-sub-5-save-thread-sheet.yaml
  • 解除依赖:trial sub-2(trial 任务 1 → 任务 2 路径需要 Save Thread)。

6. 风险与裁决项

  • 风险 R-1:Sheet 字段过多导致摩擦 → mobile 单列折叠 + 默认折叠次要字段(保留主判断 / 反方 / watch questions 默认展开);
  • 风险 R-2:Thread proposal 频繁误触 → 优先以 user 主动「保存」为入口;系统 proposal 仅作 hint chip;
  • 裁决项 J-1:default decline_reason 选项集(just_reading / not_relevant / unsure / other)trial 后再细化。

7. 与其他 Sub-Packet 的关系

  • 依赖:sub-1(ProfileConsent 用于金融上下文保存确认);
  • 解除:trial sub-2、sub-4 联动;
  • 共享文件需协调:server/api/thread_routes.py(与 sub-4 协调)。