Files
InfoRSI/src/vocab/jev.ts
T
iomgaa 0ac1e01613 feat: 任务书 08,jev 模块与账本记 Jev 判断
src/jev 3 个文件 515 行:判重、查冻结条款、查代码改动三个函数,九问问法和阈值照参考项目,只改说法和字段名,阈值注明未在新项目材料上校准,等真实数据。
新增 npm run test:jev(真实 Jev 三处各问一次)。vocab 加 JevJudgment。
ledger 表结构版本 3:callEnded 四种结局对上 agents,墙钟时间用 Measured(恢复时补写出错、原因"进程中断"、测不到);退回、提交记录都带 jev。
config 加必填的 models.jev。

用户原话:"这次就给提交记录加一个和退回记录同样的 Jev 判断字段";"墙钟时间改用 Measured,恢复时写出错加测不到(原因'进程中断')"。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 02:11:20 -04:00

23 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { Type, type Static } from "typebox";
/**
* Jev 对一个问题的一次判断(docs/方法.md 4.3 ③⑥⑨)。jev 交出它,ledger 在退回、判重合并等记录里原样存它,
* 两个模块互不引用,所以类型放在这里。
* - question:问题名,如 same_change;
* - questionHash:问题全文(措辞、判"是"判"否"的说明与示例、阈值)的哈希,改了一个字就能从记录里看出来;
* - probability:Jev 返回的原始概率;yes:probability 是否超过 threshold(概率高 = 有问题,或"是同一个");
* - requestId:Jev 返回的请求编号,用来到服务那边核对。
*/
export const JevJudgment = Type.Object(
{
question: Type.String({ pattern: "^[a-z][a-z_]*$" }),
questionHash: Type.String({ pattern: "^[0-9a-f]{64}$" }),
threshold: Type.Number({ minimum: 0, maximum: 1 }),
probability: Type.Number({ minimum: 0, maximum: 1 }),
yes: Type.Boolean(),
requestId: Type.String({ minLength: 1 }),
},
{ additionalProperties: false },
);
export type JevJudgment = Static<typeof JevJudgment>;