desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs
第 1 条注释,第 1 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:1
//! Codex 适配器缺口场景:合成样本(目录/文件头均标 synthetic)与 V17 语义。第 2 条注释,第 2 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:2
//! 合成样本覆盖 M0 真实样本缺失的场景:重复 final、子 Agent、cache write>0、第 3 条注释,第 3 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:3
//! 无 usage 的 tool/user 消息、缺 response_id;未知版本默认回退最新内置解析器第 4 条注释,第 4 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:4
//! 并带兼容标记(V17/V30),未知格式 fail closed。第 5 条注释,第 24 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:24
// 扫描产出 3 条事件(含重复 final),入库去重后 2 次调用。第 6 条注释,第 143 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:143
// 未收录版本 + 结构不变:默认回退最新内置解析器,数据正常入库并带兼容标记,第 7 条注释,第 144 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:144
// 不因版本号未收录直接拒绝(V17/V30 新语义)。第 8 条注释,第 168 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:168
// 兼容尝试成功的数据正常统计:1 次调用 input=10 output=5 total=15。第 9 条注释,第 174 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:174
// 兼容标记持久化:事件 parse_basis、文件 active_compat、探测结论 JSON。第 10 条注释,第 205 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:205
// 重复扫描不增加用量,兼容标记保留去重行为。第 11 条注释,第 216 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:216
// 版本字段缺失但 Agent 身份可识别(session_meta 携带会话 id):第 12 条注释,第 217 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:217
// 默认回退最新内置解析器(V30 场景),format_version 为空。第 13 条注释,第 248 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:248
// 仅新增可选字段(envelope/payload/usage 各加未知键):结构校验不受影响,第 14 条注释,第 249 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:249
// 数据正常入库(V30“仅新增可选字段”场景)。第 15 条注释,第 269 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:269
// 结构破坏的未知版本:读到了记录但零事件且带结构诊断 ⇒ 判不兼容第 16 条注释,第 270 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:270
// (状态 incompatible、无游标推进、不提交事件/聚合),保留旧结果;第 17 条注释,第 271 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:271
// 下轮重新尝试,解析器更新后允许重试(V30)。第 18 条注释,第 292 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:292
// 游标未推进:ingestion_checkpoints 为空,下轮可重新尝试。第 19 条注释,第 305 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:305
// latest_fallback 和结构诊断均可见,可区分拒绝解析与空文件成功。第 20 条注释,第 325 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:325
// 部分可用:一条结构完好的 usage 记录 + 一条必需字段类型错误的记录。第 21 条注释,第 326 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:326
// 可独立校验的部分保留入库(带兼容标记),缺口随诊断返回(V30)。第 22 条注释,第 395 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:395
// 合成样本:cache_write>0 的六字段映射(synthetic-cache-write 同值)。第 23 条注释,第 410 行
desktop/src-tauri/crates/core/tests/codex_gaps_synthetic.rs:410
// 矛盾不截断数值:cached + write > input → uncached 保持未知并进诊断。