reactive 路径逐条 addressed/skipped 判断设计定案(issue #176 grill) #178

Merged
Yushu merged 1 commit from feat/176-reactive-addressed-skipped-design into main 2026-08-20 09:41:42 +00:00
Member

Summary

issue #176(评估 reactive 路径逐条判断要不要实现)grill 结论:现在实现,且要接上至少一个
消费方(/why 渲染),不留一个没人用的字段。

  • AC9 纠偏:核实原文后,AC9 讲的是"处理路径本身不变",字面未提 addressed/skipped 粒度——
    那是 AC1 承诺的能力,从两级门控落地起就没被兑现,是"承诺过没人回头补",不是深思熟虑的豁免
  • 归属计算:复用已落地、有测试覆盖的 quote_message_id 机制——模型一轮内可多次
    send_message,每次可 quote 批次内任意一条消息;归属计算需要真正内聚进 RuntimeLoop
    (现状是 entry_reactive.py 事后凭 bool(sends) 拼凑)
  • 退化路径:能力不可用或未 quote 任何消息时,退回整批二元判定,与现有能力门控降级模式一致
  • 交互原语场景message_id 不渲染进 <interaction> 信封,天然维持整批二元,不需要特殊处理

ADR-0029 补更新节,CONTEXT.md/design.md 对应词条同步,gating.py 模块文档同步更新。具体
RuntimeLoop 接口扩展方式、/why 渲染文案留给实现票。

Test plan

gating.py 只改了模块 docstring,无逻辑改动;其余为纯文档变更。

## Summary issue #176(评估 reactive 路径逐条判断要不要实现)grill 结论:现在实现,且要接上至少一个 消费方(`/why` 渲染),不留一个没人用的字段。 - **AC9 纠偏**:核实原文后,AC9 讲的是"处理路径本身不变",字面未提 addressed/skipped 粒度—— 那是 AC1 承诺的能力,从两级门控落地起就没被兑现,是"承诺过没人回头补",不是深思熟虑的豁免 - **归属计算**:复用已落地、有测试覆盖的 `quote_message_id` 机制——模型一轮内可多次 `send_message`,每次可 quote 批次内任意一条消息;归属计算需要真正内聚进 `RuntimeLoop` (现状是 `entry_reactive.py` 事后凭 `bool(sends)` 拼凑) - **退化路径**:能力不可用或未 quote 任何消息时,退回整批二元判定,与现有能力门控降级模式一致 - **交互原语场景**:`message_id` 不渲染进 `<interaction>` 信封,天然维持整批二元,不需要特殊处理 ADR-0029 补更新节,CONTEXT.md/design.md 对应词条同步,`gating.py` 模块文档同步更新。具体 `RuntimeLoop` 接口扩展方式、`/why` 渲染文案留给实现票。 ## Test plan `gating.py` 只改了模块 docstring,无逻辑改动;其余为纯文档变更。
issue #176 grill 结论:现在实现,且要接上至少一个消费方(/why 渲染),不留
一个没人用的字段。核实 AC9 原文只讲"处理路径不变",未提粒度问题——"逐条
判断从未实现"是承诺过没人回头补,不是深思熟虑的豁免。归属计算复用已落地
的 quote_message_id 机制,退化路径是整批二元判定。ADR-0029 补更新节,
CONTEXT.md/design.md 对应词条同步,gating.py 模块文档同步更新。
Yushu merged commit ce9c5a7858 into main 2026-08-20 09:41:42 +00:00
Yushu deleted branch feat/176-reactive-addressed-skipped-design 2026-08-20 09:41:43 +00:00
Sign in to join this conversation.
No description provided.