ADR-019 — posterior 用户面翻译措辞对齐 MP-3
⚠️ 已退役(2026-06-04)——由 ADR-021 · kelly_cap 退役 取代。 它规定的「仓位上界(非仓位建议)」posterior 胶囊已随
kelly_cap从代码删除(FinBayes684d69d)。仅作历史记录保留。
§0 决策简述
决议:把 posterior(含 kelly_cap)的用户面价值翻译从「建议仓位区间」更正为「仓位上界(非仓位建议)」,使 MP-5 与 MP-3 字面一致。落点:MP-5 §3 + contracts/field-surface-mapping.yaml 的 user_widget_translation / value / 白名单与示例措辞,全部由「建议仓位区间」改为「仓位上界(非仓位建议)」。
owner 已批(2026-06-01,R8 验收后定下一焦点=可操作-边界内强化时)。本 ADR 是 M1.6 M 层(posterior/mca 用户语胶囊)渲染 posterior 的前置——S 切片不渲染 posterior 故不受此约束。
§1 触发:渲染层四透镜 brainstorm 的红队发现
M1.6 渲染层 brainstorm 红队透镜发现协议级活雷:MP-5 §3(含 contract)把 posterior 的用户翻译写成「建议仓位区间」,而 MP-3 A.1/D.1 红线是「kelly_cap = 认知层凯利上界估计、非仓位建议,拒绝用户偏好/风险等级覆盖」。两者字面冲突:渲染层一旦把 posterior 按 MP-5 翻译成「建议仓位区间」,就直接造出 MP-3 禁止的「建议仓位」语义。S 切片绕开(不渲染 posterior),但 M 层渲染 posterior 前必须先消除此冲突。
§2 理由
- MP-3 是 P0 签字红线、且是 FinBayes 边界纪律的核心(R7'/R8 实测 FinBayes 0 高置信越界、kelly 不渲染成仓位是其差异化)。冲突应以 MP-3 为准、改 MP-5 措辞。
- 「仓位上界」保留了该字段对用户的可操作价值(让用户知道"不确定性给仓位设了多高的认知天花板"——这正是 R8 回灌①"可操作-边界内"要补的),同时「非仓位建议」显式否定了"建议你买这么多"的指令语义。
- 不改 schema(
kelly_cap: float[ge=0, lt=0.25]不动)、不改 MP-3、不改字段暴露面分层原则(MP-5 §3 白名单为主仍成立)——只修该字段的用户翻译措辞。
§3 落地
MP-5-field-surface-layering-protocol.md:全文「建议仓位区间」→「仓位上界(非仓位建议)」(§3 映射表 / 白名单 / block-list 注 / 里程碑表 / 示例);加修订注 + frontmatterlast-updated2026-06-01。contracts/field-surface-mapping.yaml:posterior.user_widget_translation/ 翻译映射value/ 注释里的「建议仓位区间」→「仓位上界(非仓位建议)」。- verify:kb cross-section 一致性须绿(MP-5 ↔ contract 镜像一致)。
§4 对渲染层(M1.6 M 层)的约束
- M 层渲染 posterior 胶囊时,用户面措辞用「仓位上界(非仓位建议)」+ 双峰/尾宽的白话("大概率小赚、尾部能崩"),显式挂"看对前提下"的条件,绝不渲染成"建议你买 X%"。
kelly_captoken 不外泄;硬上限 0.25 不被任何表达层逻辑突破或重算(MP-3)。- 这块"仓位上界 + 不确定性"正是 R8 回灌①"可操作-边界内"的认知内容——可操作但不越界。