群内插句嘴+环境遥测两个新增触发入口的事务分段 #202
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#151(ADR-0013 ①层单一事务边界落地——请求级事务,issue #108 Q1)。
What to build
从「四个门控触发入口」片拆片起草时的核实过程中发现:
gate_pipeline.py模块文档字符串现状已经是"反应式、Drive Tick、环境信号、即刻追问、群内插句嘴(issue #159)五条触发路径……按调用点数是
五处而不是四处"——比 #151 design-verify 阶段核实时(当时只有四条)多了一条。同时
environment_pipeline.py另有_process_ambient_telemetry_signal(issue #153,环境遥测的tier-2-only 编排)这第六个调用点,与"环境信号"同属一条概念路径但是独立函数、独立触发。这两处是
issue #159/#153 合入之后才出现的范围增长,design-verify 阶段的原始清单不可能预见到,需要单独一张
票承接,不并入「四个门控触发入口」片以免那片继续膨胀。
两处都调用「四个门控触发入口」片会改造签名的共享函数(
_evaluate_unified_gate/apply_tier1_ambient_contagion),本票只负责这两处调用点自己怎么接线分段,不重新设计共享机制本身。
Acceptance criteria
一、群内插句嘴
_handle_group_slow_interrupt(entry_reactive.py,issue #159/ADR-0032)分段apply_tier1_ambient_contagion(tier-1,恒执行,不受 opt-in 限制)+compute_unlock_inputs+_evaluate_unified_gate合并进同一段;verdict≠proceed 的早退分支到此为止(决策快照独立提交,见"三"节,不算这一段)
loop.run_group_slow_interrupt(chat_id, message, affective_state=boosted_state)调用前提交/关闭
record_slow_interrupt_interaction(sends非空时触发)单独成段,loop.run_group_slow_interrupt()返回后新开;决策快照走"三"节独立提交,不进这一段get_slow_interrupt_opt_in、能量窗口get_slow_interrupt_window)都是纯读,不产生独立分段需求,随它们所在的那一段自然归属
二、环境遥测
_process_ambient_telemetry_signal(environment_pipeline.py,issue #153)分段compute_unlock_inputs+(过关系网解锁档后)get_relationship_axes(读)+_evaluate_unified_gate合并进同一段;is_relationship_network_unlocked未过时的早退不写决策快照(现状如此,注释已明确"解锁档位是 tier-2 整条路径的准入硬门槛,没到档就压根没进入
评估",不要在分段改造时顺手补上);verdict≠proceed 的早退分支到此为止(决策快照独立提交,
见"三"节)
loop.run_ambient_telemetry_signal(signal)调用前提交/关闭loop.run_ambient_telemetry_signal()之后只有决策快照一次写入,走"三"节独立提交,不需要额外开一个只装决策快照的段
三、决策记账类写入维持独立提交(复用「四个门控触发入口」片已确立的规则,不重新设计)
_write_decision_snapshot调用均使用地基片提供的"独立提交"能力,不接收/不使用当前分段的 session——与「四个门控触发入口」片"七"节的处理方式完全一致,不要为这两个新入口
另造一套决策快照提交方式
原文(ADR-0013「更新(2026-08-18,issue #151 Design-Verify)」节,同一条规则对新增入口同样适用):
四、测试
(不要求完整崩溃注入级别的覆盖,但要能看出两段写入范围确实分开)
Not in scope
_evaluate_unified_gate/apply_tier1_ambient_contagion等共享函数的签名改造——「四个门控触发入口」片负责,本票只是这两个共享函数新增的第五、第六个调用点
runtime_loop.py::RuntimeLoop主循环内部(run_group_slow_interrupt/run_ambient_telemetry_signal各自的内部写入,若与「四个门控触发入口」片"八"节覆盖的
_run_tool_loop共用路径有差异)——如果实现时发现这两个
loop.run_*变体内部还有独立于_run_tool_loop共用路径之外的写入,记录下来交「四个门控触发入口」片补充,不要在本票里顺手改
runtime_loop.pyBlocked by
与决策记账独立提交规则,且它会先改
_evaluate_unified_gate/apply_tier1_ambient_contagion的签名,本票在其基础上接入