desktop/src-tauri/crates/core/tests/opencode_contract.rs
第 1 条注释,第 1 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:1
//! OpenCode 测试包含基于 A17 源码 0027387 的合成样本,以及第 2 条注释,第 2 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:2
//! 1.18.34 官方 CLI 使用本地模型的真实脱敏样本。第 3 条注释,第 3 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:3
//! 读取→解析→逐次事件→commit→查询。数值对照第 4 条注释,第 4 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:4
//! tests/fixtures/opencode/*/_expectations.md 的人工核算,不改计算规则。第 5 条注释,第 5 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:5
//!(空行)第 6 条注释,第 6 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:6
//! 辅助函数在此前任务中从 tests/common/mod.rs 与 tests/hermes_contract.rs 复制,第 7 条注释,第 7 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:7
//! 当时保持共享 common 不变,以避免并行修改。第 8 条注释,第 55 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:55
/// serde_json 值 → SQLite 值(复制自 tests/common/mod.rs 的 json_to_sql)。第 9 条注释,第 90 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:90
/// 按脱敏数据({schema:{session_ddl,message_ddl,part_ddl},sessions,messages,parts})第 10 条注释,第 91 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:91
/// 在 <dir>/opencode/opencode.db 重建 SQLite 库,返回数据目录第 11 条注释,第 92 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:92
///(可作为手工根传入 discover)。第 12 条注释,第 158 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:158
/// 升级测试重现旧解析器的完整事件和处理位置。第 13 条注释,第 245 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:245
// 按真实结构续写合成记录,同时更新对应的会话累计值。第 14 条注释,第 400 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:400
// 新读取区间只有已知版本时,也不能清除旧的未知版本记录的兼容标记。第 15 条注释,第 550 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:550
// 大元组未实现 PartialEq,分成两个不重叠的组比较全部指定字段。第 16 条注释,第 593 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:593
/// 事件中的指定字段,每行对应一条逐 step 事件。第 17 条注释,第 670 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:670
// 期望见 _expectations.md:3 条逐次事件,全字段对照。第 18 条注释,第 710 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:710
// text 部件不产事件(SQL 层过滤);汇总对照 _expectations.md。第 19 条注释,第 719 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:719
// 会话累计对账:两会话均 matched(五列 = Σ 部件,projector applyUsage)。第 20 条注释,第 726 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:726
// 合成样本的旧版本没有原生格式核验,保留 latest_fallback 标记。第 21 条注释,第 749 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:749
// 幂等:重复扫描不增量。第 22 条注释,第 785 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:785
// 非 SQLite 文件。第 23 条注释,第 795 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:795
// SQLite 但无三表。第 24 条注释,第 804 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:804
// 仅新 core 派生视图层(session_message)而无 part 表 ⇒ 拒绝并注明待核验。第 25 条注释,第 822 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:822
// 空库(两表皆空)⇒ Pending 下轮重探。第 26 条注释,第 848 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:848
// OpenCode 库(session 含 tokens_* 五列、message 无 agent_id)不能过 MiMo 指纹。第 27 条注释,第 861 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:861
// 反向:MiMo 库(无 tokens_* 列)不能过 OpenCode 指纹。第 28 条注释,第 903 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:903
// XDG 布局:<XDG_DATA_HOME>/opencode/opencode.db。第 29 条注释,第 913 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:913
// XDG_DATA_HOME 覆盖(固定源码 global.ts xdgData 解析)。第 30 条注释,第 937 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:937
// 手工根传数据目录的父目录:<root>/opencode 形状定位。第 31 条注释,第 947 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:947
// 不按文件名递归搜索;本例的祖父目录没有直接包含可接受的数据库,第 32 条注释,第 948 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:948
// 也没有对应子目录布局,所以不返回来源根,避免继续搜索更深的第 33 条注释,第 949 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:949
// 无关目录,例如已观察到的 Kilo opencode-rc.db 所在目录。第 34 条注释,第 960 行
desktop/src-tauri/crates/core/tests/opencode_contract.rs:960
// 默认 home 候选(~/.local/share/opencode)在临时 home 下为空 ⇒ 无根。