# US-01：离开半天，回来就知道下一步。
# 每个用例从空存储开始；顶层 actor 可被步骤覆盖，now 是 CLI 上下文。
# expect 为部分断言：items 按全局 ID 核对保留记录，不限定 state 的输出形状。
# events_appended 计 JSONL 批次记录；events_contain 匹配批次记录，changes_contain 匹配内部变化。
# 这些是待实现的行为用例，尚无产品或用例运行器。

budget: 64
actor: assistant

steps:
  - name: 早上三件事上板
    now: "2026-10-09T08:30:00+08:00"
    commit:
      batch_id: us01-morning
      declarations:
        - {id: weekly-report, title: 周报草稿, summary: 起草中, weight: high, kind: in-progress}
        - {id: visa-materials, title: 签证材料, summary: 核对中，等代理回复, weight: normal, kind: in-progress}
        - {id: pr-410, title: PR 410, summary: 等待检查, weight: low, kind: in-progress}
        - {id: pr-411, title: PR 411, summary: 等待检查, weight: low, kind: in-progress}
        - {id: pr-412, title: PR 412, summary: 等待检查, weight: low, kind: in-progress}
      acknowledges: []
    expect:
      accepted: true
      batch_status: committed
      revision: r1
      events_appended: 1
      used: 27
      shares: {weekly-report: 12, visa-materials: 6, pr-410: 3, pr-411: 3, pr-412: 3}
      rank: [weekly-report, visa-materials, pr-410, pr-411, pr-412]

  - name: 中午前的整理：覆盖、合并、提升
    now: "2026-10-09T11:30:00+08:00"
    commit:
      batch_id: us01-midday
      declarations:
        - id: visa-materials
          relation: supersedes:visa-materials
          title: 签证材料
          summary: 还缺银行流水；周五办理的预约待确认。展开查看材料要求。
          weight: critical
          kind: needs-you
          reason: 代理确认缺材料，需要用户参与，影响 10 月 20 日出差。
          due_at: "2026-10-12T18:00:00+08:00"
          sources:
            - {channel: email, ref: "mail:17", quote: 还缺纸质银行流水，请在10月12日18点前送到。, observed_at: "2026-10-09T10:01:00+08:00"}
          children:
            - {id: visa-bank, title: 银行流水, summary: 需要近 6 个月纸质流水, weight: critical, kind: needs-you}
            - {id: visa-appt, title: 办理预约, summary: 周五时段待确认, weight: high, kind: in-progress}
            - {id: visa-passport, title: 护照复印件, summary: 已交, weight: normal, kind: done}
        - id: weekly-report
          relation: supersedes:weekly-report
          summary: 草稿已完成，收入数字有一处需要核对。
          weight: high
          kind: done
        - id: pr-batch
          relation: "merges:[pr-410, pr-411, pr-412]"
          title: PR 进展
          summary: 2 / 3 已合并，剩余一项等待 CI。
          weight: normal
          kind: in-progress
      acknowledges: []
    expect:
      accepted: true
      batch_status: committed
      revision: r2
      events_appended: 1
      used: 42
      shares: {visa-materials: 24, weekly-report: 12, pr-batch: 6}
      rank: [visa-materials, weekly-report, pr-batch]
      children:
        visa-materials:
          used: 42
          shares: {visa-bank: 24, visa-appt: 12, visa-passport: 6}
      withdrawn: []
      changes_contain:
        - {op: supersede, item: visa-materials}
        - {op: supersede, item: weekly-report}
        - {op: merge, item: pr-batch, merged: [pr-410, pr-411, pr-412]}

  - name: 用户中午回来留下批注
    actor: user
    now: "2026-10-09T12:40:00+08:00"
    annotate:
      batch_id: us01-user-note
      item: visa-materials
      text: 下午我去打印，周五按之前说的时间约。
    expect:
      accepted: true
      batch_status: committed
      annotation_id: ann-1
      annotation_status: saved
      revision: r2
      events_appended: 1
      events_contain:
        - {type: annotation, batch_id: us01-user-note, actor: user, revision: r2}

  - name: Agent 下午开始工作，先读状态
    now: "2026-10-09T14:00:00+08:00"
    state: {}
    expect:
      revision: r2
      pending_annotations: [ann-1]
      events_appended: 0
      items:
        visa-materials:
          age: 5 小时 30 分钟
          since_update: 2 小时 30 分钟
          last_seen_at: null           # 首切片未采集用户阅读，未知不等于从未看过。
          since_seen: null
          until_due: 3 天 4 小时
          until_stale: null

  - name: Agent 确认预约结果，同时更新父摘要和预约子项
    now: "2026-10-09T14:05:00+08:00"
    commit:
      batch_id: us01-afternoon
      declarations:
        - id: visa-materials
          relation: supersedes:visa-materials
          summary: 已约周五 10 点；等你下午打印的银行流水。
          weight: critical
          kind: needs-you
          reason: 按用户批注完成预约；流水仍未补齐，事项未完成。
        - id: visa-appt
          relation: supersedes:visa-appt
          summary: 已确认周五 10 点办理。
          weight: high
          kind: done
      acknowledges: [ann-1]
    expect:
      accepted: true
      batch_status: committed
      revision: r3
      events_appended: 1
      events_contain:
        - {type: commit, batch_id: us01-afternoon, actor: assistant, revision: r3}
      annotation_status: {ann-1: acknowledged}
      annotation_bound_to: {ann-1: r3}
      pending_annotations: []
      items:
        visa-materials:
          title: 签证材料
          weight: critical
          kind: needs-you
          created_at: "2026-10-09T08:30:00+08:00"
          updated_at: "2026-10-09T14:05:00+08:00"
          last_seen_at: null
          due_at: "2026-10-12T18:00:00+08:00"
          sources:
            - {channel: email, ref: "mail:17", quote: 还缺纸质银行流水，请在10月12日18点前送到。, observed_at: "2026-10-09T10:01:00+08:00"}
          annotations: [ann-1]
          children: [visa-bank, visa-appt, visa-passport]
        visa-appt:
          title: 办理预约
          summary: 已确认周五 10 点办理。
          weight: high
          kind: done
          updated_at: "2026-10-09T14:05:00+08:00"
        visa-bank:
          summary: 需要近 6 个月纸质流水
          kind: needs-you
          updated_at: "2026-10-09T11:30:00+08:00"
      used: 42
      shares: {visa-materials: 24, weekly-report: 12, pr-batch: 6}
      rank: [visa-materials, weekly-report, pr-batch]
      children:
        visa-materials:
          used: 42
          shares: {visa-bank: 24, visa-appt: 12, visa-passport: 6}
      text_brief_contains:
        - "**签证材料**"
        - 已约周五 10 点
        - 周报草稿
        - 2 / 3 已合并
