trust轴归因方向性bug修复:按发言人而非内容主体(全ADR对抗审查组C) #181

Open
opened 2026-08-21 03:23:21 +00:00 by KumaAgent · 0 comments
Member

来源

全量32条ADR设计合理性对抗审查(评估侧内部执行,2026-08-21),组C·关系网ADR-0008。方向性bug,经独立agent对抗式反驳后确认成立。

问题

trust 轴的更新信号(复用 Delta 压缩管线的 sensitive/sensitive_category 打标)按事实的 scope_id(主体)或事件的 participant_ids(涉及者)归属,不按"是谁向 bot 透露的"归属:

  • delta.py:facts 候选走 if candidate.sensitive and candidate.scope == "user": record_trust_disclosure(storage, persona_id, candidate.scope_id, ...)——scope_id 字面定义是"该事实关于谁"(含"对方自述、消息里明确点名"两种来源),不要求是发言人。
  • events 候选走 for participant_id in event.participant_ids: record_trust_disclosure(...),把 trust 记给事件涉及的全部人,而非说话人。

当 A 向 bot 透露"B 得了抑郁症"这类关于 B 的敏感信息时,得到 trust 加分的是 B,而不是真正做出自我展露这个行为的 A。CONTEXT.md/ADR-0005 均确认 trust(X) 门控的是机器人自己要不要对 X 敞开心扉,这是互惠模型,必须反映"X 自己对机器人袒露过多少",不是"机器人从别人那听说了多少关于 X 的事"。

_parse_candidate/_parse_eventProfileCandidate/EventCandidate 完全没有 speaker/discloser 字段——对照同一文件里 speaker_polarity/speaker_conflict(喂 affinity/tension 用)明确是逐发言人字典,代码库本身完全具备"按真实发言人归属"的能力和先例,trust 这条路径却没有采用。

Acceptance criteria

  • delta.py::record_trust_disclosure 调用改为优先取当轮真实发言人 sender_id(不再用 scope_id/participant_ids
  • 补测试覆盖"A说B的隐私"这类非对称披露场景,断言 trust 加分记给 A 而非 B(现有 test_sensitive_event_bumps_trust_for_every_resolved_participant 用的例子是双方各自自陈,未覆盖这个分支,需要新增)
  • ADR-0008 补更新节记录归因修正
  • 全量测试通过
## 来源 全量32条ADR设计合理性对抗审查(评估侧内部执行,2026-08-21),组C·关系网ADR-0008。方向性bug,经独立agent对抗式反驳后确认成立。 ## 问题 trust 轴的更新信号(复用 Delta 压缩管线的 sensitive/sensitive_category 打标)按事实的 `scope_id`(主体)或事件的 `participant_ids`(涉及者)归属,不按"是谁向 bot 透露的"归属: - `delta.py`:facts 候选走 `if candidate.sensitive and candidate.scope == "user": record_trust_disclosure(storage, persona_id, candidate.scope_id, ...)`——`scope_id` 字面定义是"该事实关于谁"(含"对方自述、消息里明确点名"两种来源),不要求是发言人。 - events 候选走 `for participant_id in event.participant_ids: record_trust_disclosure(...)`,把 trust 记给事件涉及的全部人,而非说话人。 当 A 向 bot 透露"B 得了抑郁症"这类关于 B 的敏感信息时,得到 trust 加分的是 B,而不是真正做出自我展露这个行为的 A。CONTEXT.md/ADR-0005 均确认 trust(X) 门控的是机器人自己要不要对 X 敞开心扉,这是互惠模型,必须反映"X 自己对机器人袒露过多少",不是"机器人从别人那听说了多少关于 X 的事"。 `_parse_candidate`/`_parse_event` 里 `ProfileCandidate`/`EventCandidate` 完全没有 speaker/discloser 字段——对照同一文件里 `speaker_polarity`/`speaker_conflict`(喂 affinity/tension 用)明确是逐发言人字典,代码库本身完全具备"按真实发言人归属"的能力和先例,trust 这条路径却没有采用。 ## Acceptance criteria - [ ] `delta.py::record_trust_disclosure` 调用改为优先取当轮真实发言人 `sender_id`(不再用 `scope_id`/`participant_ids`) - [ ] 补测试覆盖"A说B的隐私"这类非对称披露场景,断言 trust 加分记给 A 而非 B(现有 `test_sensitive_event_bumps_trust_for_every_resolved_participant` 用的例子是双方各自自陈,未覆盖这个分支,需要新增) - [ ] ADR-0008 补更新节记录归因修正 - [ ] 全量测试通过
KumaAgent changed title from 占位标题-稍后回填-03 to trust轴归因方向性bug修复:按发言人而非内容主体(全ADR对抗审查组C) 2026-08-21 03:26:57 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ProjectKuma/arise#181
No description provided.