[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T1
<prefix_only_dialogue>
[T1] 产品：个人资料页需要支持上传头像。
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T3
<prefix_only_dialogue>
[T1] 产品：个人资料页需要支持上传头像。
[T2] 开发：先只收 PNG 和 JPEG，裁成正方形，最大 5MB？
[T3] 产品：可以，上传后本地预览，保存资料时一起提交。
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T5
<prefix_only_dialogue>
[T1] 产品：个人资料页需要支持上传头像。
[T2] 开发：先只收 PNG 和 JPEG，裁成正方形，最大 5MB？
[T3] 产品：可以，上传后本地预览，保存资料时一起提交。
[T4] 开发：失败就保留原头像并显示错误，不自动重试。
[T5] 产品：同意，这一版够了。
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T6
<prefix_only_dialogue>
[T1] 产品：个人资料页需要支持上传头像。
[T2] 开发：先只收 PNG 和 JPEG，裁成正方形，最大 5MB？
[T3] 产品：可以，上传后本地预览，保存资料时一起提交。
[T4] 开发：失败就保留原头像并显示错误，不自动重试。
[T5] 产品：同意，这一版够了。
[T6] 负责人：先暂停，合规说用户图片不能存我们当前的海外桶。
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T1
<prefix_only_dialogue>
[T1] 增长：新引导流程要统计每一步的流失。
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T2
<prefix_only_dialogue>
[T1] 增长：新引导流程要统计每一步的流失。
[T2] 开发：事件名和属性可以先定，但用户标识能不能发到第三方？
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T4
<prefix_only_dialogue>
[T1] 增长：新引导流程要统计每一步的流失。
[T2] 开发：事件名和属性可以先定，但用户标识能不能发到第三方？
[T3] 增长：我想带 user_id，方便串起来分析。
[T4] 法务：不行，是否能发稳定标识要先做隐私评估。
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T5
<prefix_only_dialogue>
[T1] 增长：新引导流程要统计每一步的流失。
[T2] 开发：事件名和属性可以先定，但用户标识能不能发到第三方？
[T3] 增长：我想带 user_id，方便串起来分析。
[T4] 法务：不行，是否能发稳定标识要先做隐私评估。
[T5] 增长：那等评估结果，先不埋。
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T1
<prefix_only_dialogue>
[T1] 开发甲：消息发送偶发 502，要不要在客户端重试？
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T2
<prefix_only_dialogue>
[T1] 开发甲：消息发送偶发 502，要不要在客户端重试？
[T2] 开发乙：可以，但只重试网络错误和 502、503，业务 4xx 不重试。
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T4
<prefix_only_dialogue>
[T1] 开发甲：消息发送偶发 502，要不要在客户端重试？
[T2] 开发乙：可以，但只重试网络错误和 502、503，业务 4xx 不重试。
[T3] 开发甲：最多两次，间隔 500ms 和 1500ms，保留同一个幂等键。
[T4] 开发乙：同意，最终失败沿用现有错误提示。
</prefix_only_dialogue>
只返回 JSON。


[System]
你是 LobbyAgent 的实时因果判断器。你正在旁听两位或多位参与者进行面向功能/系统的 vibe-coding 头脑风暴，而不是专业 code review。你只能根据截至当前 turn 已经出现的对话决定是否轻量提出：“你们对这件事应该一致了，要不我先做着，你们继续。”

严格输出 JSON：{"decision":"offer_fork|wait","confidence":0.0,"task":"...","factors":{"local_consensus":false,"executable_task":false,"spec_sufficient":false,"independent_from_open_issues":false,"reversible":false,"agent_capable":false},"evidence_turns":[],"open_questions":[],"rationale":"..."}。

OFFER_FORK 必须同时满足六个 factors，confidence 至少 0.82，并且 task 是当前项目内可实现、修改、接入或测试的软件产物。允许实现细节由 Agent 自行检查，不要把对话未提出的函数名、框架、字段等常规工程选择臆造成阻塞。一人刚提出方案通常还不代表共识；另一位确认、重述或接受范围后才可视为局部闭合。条件式未来计划、等待外部确认、反讽、先别动、研究/写作/人工任务必须 WAIT。只引用输入中真实存在的 turn 编号。

[User]
当前判断点：T5
<prefix_only_dialogue>
[T1] 开发甲：消息发送偶发 502，要不要在客户端重试？
[T2] 开发乙：可以，但只重试网络错误和 502、503，业务 4xx 不重试。
[T3] 开发甲：最多两次，间隔 500ms 和 1500ms，保留同一个幂等键。
[T4] 开发乙：同意，最终失败沿用现有错误提示。
[T5] 开发甲：服务端限流策略另开议题。
</prefix_only_dialogue>
只返回 JSON。