# CHANGELOG · tri-sages ## v0.2.1 — 2026-10-16 修两个缺陷。**没有动任何价值取向,也没有改任何票数算法**——所以重跑基准不受影响。 ### 1. 账本 id 撞号(真 bug) 现象:账本里出现两条 `ts-000002`。 原因:**命令模块(`/sages`)与工具模块(`sages_vote`)各自持有一个 ledger 实例**, 而 `seq` 缓存在实例内部(首次 append 时一次性从文件推算 max)。两个实例各写出一条 seq=2。 触发路径:先经 `/sages` 表决一次,再经 `sages_vote` 表决一次。 修法:`lib/ledger.mjs` 的 `append` **每次都从文件重算 max seq**(不再缓存)。 回归测试:`test/ledger.test.mjs` 用两个实例模拟这两个模块。 **历史不动**:那条撞号的记录保留原样,不重写账本(不覆盖历史是设计原则)。 ### 2. 单台失败时的"代投票"没有被告知(设计自相矛盾) 现象:三台全失败时系统报 ERROR 并声明"不伪造判决",但**单台失败时却代投了一张反对票**, 而结果里看不出这件事——只有翻账本才知道。 修法:`toRecord` 增加 `quorum`(真正回话的台数)与 `degraded`;报告**顶部**直接写 `⚠ 已表态:N/3 台 —— 结果里有 M 张系统代投的反对票`。 **票数算法一个字没改**(保守默认仍在),改的是"这件事被说出来"。 ### 故意没做的 - **`temperature` 仍是 0.7。** 它针对的症状(票不稳)已被 v0.2.0 的契约顺序修掉; 降温还会让三台更像彼此,而"三份不同色彩"恰恰是这套系统的价值所在。要动它,单独做 A/B。 - **没做自动重试。** 单台失败时重试一次能少一次代投,但会引入新变量,留给单独一轮。 ## v0.2.0 — 2026-10-16 改动的动机全部来自**洞穴奇案第一批 12 次表决**(`ts-000002`–`ts-000013`)暴露的三个毛病。 **没有动任何价值取向**——三台的轴、毛病、自查、契约里的规则一条没改。 ### 改了什么 1. **`maxTokens` 1400 → 2200。** 依据:`ts-000006` 里少女那台返回的 JSON 不合法被降级为反对;能看到的开头完好,出错点在其后, 最可能是写超上限被截断(而 `max-tokens` 在设计里算正常结束,截断的 JSON 才走到解析就死)。 2. **账本只在单元失败时保留原始返回(截 2000 字)。** 依据:`ts-000006` 那次失败**无法诊断**——错误串里只嵌了 300 字预览,而 `toRecord` 把 `raw` 丢掉了。 成功的票不再存原文(解析出来的 verdict 就是内容),账本因此不会白白胖三倍。 同时 `lib/parse.mjs` 的失败预览从 300 字放宽到 800 字。 3. **公共契约的字段顺序:`stance` 挪到 JSON 最后,并加一句自洽校验。** 依据:`ts-000003` 里熟女投了反对,理由却两次明写「我判有罪」——**票与理由相反**,而且直接改了结果 (3:0 变 2:1)。机制是:契约原来把 `stance` 放在第一位,模型**先落票、再写理由**, 理由是给已定的票做背书;票一旦抽歪,理由会写出一段与票相反的论证。 现在改成先写 `reason`、`stance` 最后落,并要求交票前自查"票和理由是不是同一个结论"。 4. **账本记录 `pluginVersion`,报告末尾打印 `引擎:tri-sages vX.Y.Z`。** 依据:代码改动**要重新挂载才生效**(人格与契约改完即生效)。没有这个自证,第三轮跑出来的 可能还是旧代码,而"改前/改后"的对照会静默失效。 ### 故意没改的 - **采样温度仍是 0.7。** 它和第 3 条治的是同一个症状(票不稳),同时改会分不清是谁起了作用; 而且降温会让三台更像彼此,而"三份不同色彩"恰恰是这套系统的价值所在。 要动它,留给再下一轮做单独的 A/B。 - **三份人格一个字没动。** ### 当时的基准(v0.1.0,供对照) | 议题 | 第一批 | 重测 | | --- | --- | --- | | 控制·易题 | 通过 3:0 | 通过 3:0 | | 有罪(1) | 通过 2:1 | 通过 2:1 | | 有罪(2) | 通过 3:0 | 通过 3:0 | | 目的论 | 被否 1:2 | 被否 0:3 | | 管辖 | 被否 0:3(含 1 台降级) | 被否 0:3 | | 禁弃权 | 通过 3:0 | 通过 3:0 | 同题重跑 6 条复现 5 条;**结论较稳、理由极不稳**。 ## v0.1.0 — 2026-10-16 首个可用版本。三台(少女·黄金/成女·乳香/熟女·没药)+四条规则(必须选边/举证责任/ 日常多数决·重大三票一致/僵局只有最年长者能签字降档)+外部人格 md +账本与异议存档。 41 项测试全绿。