split: dev

domain: 头像上传

speaker: 产品

text: 个人资料页需要支持上传头像。

decision: wait

task: 实现头像上传

open_questions: 格式、大小和保存流程未定

rationale: 单方提出需求。


text: 个人资料页需要支持上传头像。

speaker: 开发

text: 先只收 PNG 和 JPEG，裁成正方形，最大 5MB？

text: 可以，上传后本地预览，保存资料时一起提交。

rationale: 主要范围已有，但错误处理仍在讨论。


text: 个人资料页需要支持上传头像。

text: 先只收 PNG 和 JPEG，裁成正方形，最大 5MB？

text: 可以，上传后本地预览，保存资料时一起提交。

text: 失败就保留原头像并显示错误，不自动重试。

text: 同意，这一版够了。

task: 实现头像上传：支持 PNG/JPEG、最大 5MB、正方形预览，随资料保存提交，失败时保留原头像并报错

rationale: 基于当前可见信息，范围与失败行为均已达成一致，任务可在分支中实现。


text: 个人资料页需要支持上传头像。

text: 先只收 PNG 和 JPEG，裁成正方形，最大 5MB？

text: 可以，上传后本地预览，保存资料时一起提交。

text: 失败就保留原头像并显示错误，不自动重试。

text: 同意，这一版够了。

speaker: 负责人

text: 先暂停，合规说用户图片不能存我们当前的海外桶。

rationale: 当前出现新的合规阻塞，必须暂停。


domain: 分析埋点

speaker: 增长

text: 新引导流程要统计每一步的流失。

task: 为新引导流程增加埋点

rationale: 只有目标，没有可执行规格。


text: 新引导流程要统计每一步的流失。

text: 事件名和属性可以先定，但用户标识能不能发到第三方？

rationale: 关键数据边界尚未解决。


text: 新引导流程要统计每一步的流失。

text: 事件名和属性可以先定，但用户标识能不能发到第三方？

text: 我想带 user_id，方便串起来分析。

speaker: 法务

text: 不行，是否能发稳定标识要先做隐私评估。

task: 发送带 user_id 的引导埋点

rationale: 法务明确阻止当前方案。


text: 新引导流程要统计每一步的流失。

text: 事件名和属性可以先定，但用户标识能不能发到第三方？

text: 我想带 user_id，方便串起来分析。

text: 不行，是否能发稳定标识要先做隐私评估。

text: 那等评估结果，先不埋。

rationale: 参与者决定等待，并非形成了实现共识。


domain: 接口重试

speaker: 开发甲

text: 消息发送偶发 502，要不要在客户端重试？

task: 为消息发送增加客户端重试

rationale: 只是问题与建议。


text: 消息发送偶发 502，要不要在客户端重试？

speaker: 开发乙

text: 可以，但只重试网络错误和 502、503，业务 4xx 不重试。

task: 为网络错误和 502、503 增加重试

open_questions: 重试次数、间隔和幂等行为未定

rationale: 错误范围明确，但执行策略还不完整。


text: 消息发送偶发 502，要不要在客户端重试？

text: 可以，但只重试网络错误和 502、503，业务 4xx 不重试。

text: 最多两次，间隔 500ms 和 1500ms，保留同一个幂等键。

text: 同意，最终失败沿用现有错误提示。

task: 为消息发送增加最多两次客户端重试：仅网络错误和 502/503，间隔 500ms/1500ms，复用幂等键，最终失败沿用现有提示

rationale: 触发条件、退避、幂等和失败行为全部确认。


text: 消息发送偶发 502，要不要在客户端重试？

text: 可以，但只重试网络错误和 502、503，业务 4xx 不重试。

text: 最多两次，间隔 500ms 和 1500ms，保留同一个幂等键。

text: 同意，最终失败沿用现有错误提示。

text: 服务端限流策略另开议题。

task: 调整服务端限流策略

rationale: 新议题与已闭合任务分离。