跳转到内容

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs

第 1 条注释,第 1 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:1

//! M8 提交评审修复的回归测试(2026-09-29)。

第 2 条注释,第 2 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:2

//!(空行)

第 3 条注释,第 3 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:3

//! 每条用例检查一个评审发现的问题,防止再次出现:

第 4 条注释,第 4 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:4

//! - copilot:未知 schema 走兼容回退,坏 token 桶诊断不补零。

第 5 条注释,第 5 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:5

//! - otel:TTFT 三键按文档单位换算(不按数值猜);token 越界跳过记录;

第 6 条注释,第 6 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:6

//! span status ERROR 映射 error_status。无单位的 agentlens 字段采用下文的独立启发规则。

第 7 条注释,第 7 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:7

//! - roo:同毫秒两条 api_req_started 都入账(去重键含序号)。

第 8 条注释,第 8 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:8

//! - jcode:journal 读取截断如实上报(BudgetExhausted/LineTooLong),

第 9 条注释,第 9 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:9

//! 不再静默漏计尾部消息;同消息时间戳的更正按会话更新时间修订。

第 10 条注释,第 10 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:10

//! - aider:完全相同的两行都入账(键含行号);同父多个手工目录根不互吞。

第 11 条注释,第 11 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:11

//! - goose:token 全 NULL 但 provider cost 有效的行仍入账;schema 指纹

第 12 条注释,第 12 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:12

//! 变化后游标重置全量重读;旧库累计会话更新后重读。

第 13 条注释,第 13 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:13

//! - crush/kiro/zed:SQLite 行上限后可续扫;Crush 累计成本按修订替换;

第 14 条注释,第 14 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:14

//! Kiro 半写入 SQLite 魔数 Pending。

第 15 条注释,第 15 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:15

//! - atomcode:多模型 turn 的 round_count 只计一次(unattributed 单列);

第 16 条注释,第 16 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:16

//! 零 token 但有 rounds 的行保留调用数。

第 17 条注释,第 17 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:17

//! - gajae:version≠5 的事件 parse_basis 如实标 LatestFallback。

第 18 条注释,第 18 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:18

//! - grok:token 越界行跳过记诊断。

第 19 条注释,第 19 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:19

//! - junie:用量指纹在 64 KiB 头之后仍 Supported;类型化日志无指纹 Pending。

第 20 条注释,第 20 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:20

//! - zed/crush:单行类型错误跳行记诊断,不中止整轮。

第 21 条注释,第 21 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:21

//! - xum:版本取顶层字段;停用来源即使被逐源任务选中也不扫描。

第 22 条注释,第 93 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:93

// OTel 测试。

第 23 条注释,第 103 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:103

// copilot_chat.time_to_first_token 是毫秒:7298ms 保持 7298,

第 24 条注释,第 104 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:104

// 不能按"数值小=秒"猜成 7,298,000ms。

第 25 条注释,第 107 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:107

// gen_ai.response.time_to_first_chunk 是秒(可含小数):1.5s ⇒ 1500ms。

第 26 条注释,第 110 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:110

// response.time_to_first_token(agentlens,单位未标):量级启发

第 27 条注释,第 111 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:111

// 只用于该键——300 按秒折算 300000ms;15000 按毫秒保持。

第 28 条注释,第 134 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:134

// 负 token:整条记录跳过(不能静默丢桶后入账)。

第 29 条注释,第 137 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:137

// 合法记录不受影响。

第 30 条注释,第 220 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:220

// Roo 测试。

第 31 条注释,第 230 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:230

// 同毫秒第二条请求(retry/并行子任务):键冲突不能吞并。

第 32 条注释,第 245 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:245

// Jcode 测试。

第 33 条注释,第 269 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:269

// 超过硬编码的 100k 行数上限:旧实现静默报 Complete,尾部消息永久漏计。

第 34 条注释,第 386 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:386

// Aider 测试。

第 35 条注释,第 393 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:393

// 完全相同的重复发送(同秒重发同一 prompt):内容哈希相同,

第 36 条注释,第 394 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:394

// 键必须靠行号区分,不能折叠。

第 37 条注释,第 484 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:484

// Goose 测试。

第 38 条注释,第 512 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:512

// token 全 NULL 但 provider_reported cost 有效:成本是已报告事实,不能丢。

第 39 条注释,第 554 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:554

// schema 变化(列集纳入指纹)⇒ 旧游标作废全量重读(upsert 幂等)。

第 40 条注释,第 614 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:614

// AtomCode 测试。

第 41 条注释,第 648 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:648

// 单模型 turn:rounds 归属该模型。

第 42 条注释,第 653 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:653

// 多模型 turn 的 3 轮 + 无 model_usage turn 的 2 轮:单列不摊派。

第 43 条注释,第 659 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:659

// 零 token 但有 rounds 的行保留调用数(token 全未知不补零)。

第 44 条注释,第 663 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:663

// 调用数总计守恒:5 + 5 + 4 = 14 = 3+5+2+4。

第 45 条注释,第 672 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:672

// gajae-code 测试。

第 46 条注释,第 690 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:690

// 内置 version=5 格式使用 KnownVersion;此合成测试检查解析器选择。

第 47 条注释,第 699 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:699

// version=6(未收录)⇒ LatestFallback(不能虚标 KnownVersion)。

第 48 条注释,第 710 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:710

// Grok 测试。

第 49 条注释,第 761 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:761

// Junie 测试。

第 50 条注释,第 768 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:768

// 64 KiB 头内只有事件指纹,用量事件在大文件后段:

第 51 条注释,第 769 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:769

// 旧实现误报 UnknownFormat,该会话永远无法入账。

第 52 条注释,第 799 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:799

// 非 junie 文件仍 fail closed。

第 53 条注释,第 806 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:806

// ---- zed / crush 行级容错 ----

第 54 条注释,第 822 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:822

// data 列存 INTEGER:String 读取类型错误——单行跳过不中止整轮。

第 55 条注释,第 862 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:862

// cost 存非数值文本(REAL 列亲和无法转换即原样存 TEXT):

第 56 条注释,第 863 行

desktop/src-tauri/crates/core/tests/m8_review_fixes.rs:863

// f64 读取类型错误——单行跳过不中止整轮。