desktop/src-tauri/crates/core/tests/opencode_contract.rs
Comment 1, line 1
desktop/src-tauri/crates/core/tests/opencode_contract.rs:1
//! OpenCode tests include synthetic samples based on A17 source 0027387 andComment 2, line 2
desktop/src-tauri/crates/core/tests/opencode_contract.rs:2
//! real sanitized official CLI/local-model samples from 1.18.34.Comment 3, line 3
desktop/src-tauri/crates/core/tests/opencode_contract.rs:3
//! Read, parse, create per-step events, commit and query; compare the manuallyComment 4, line 4
desktop/src-tauri/crates/core/tests/opencode_contract.rs:4
//! calculated tests/fixtures/opencode/*/_expectations.md values without changing calculation rules.Comment 5, line 5
desktop/src-tauri/crates/core/tests/opencode_contract.rs:5
//!Comment 6, line 6
desktop/src-tauri/crates/core/tests/opencode_contract.rs:6
//! Helpers were copied from tests/common/mod.rs and tests/hermes_contract.rs duringComment 7, line 7
desktop/src-tauri/crates/core/tests/opencode_contract.rs:7
//! the earlier task, which kept shared common unchanged to avoid concurrent edits.Comment 8, line 55
desktop/src-tauri/crates/core/tests/opencode_contract.rs:55
/// serde_json to SQLite values, copied from tests/common/mod.rs json_to_sql.Comment 9, line 90
desktop/src-tauri/crates/core/tests/opencode_contract.rs:90
/// Rebuild SQLite from sanitized {schema:{session_ddl,message_ddl,part_ddl},sessions,messages,parts}Comment 10, line 91
desktop/src-tauri/crates/core/tests/opencode_contract.rs:91
/// at <dir>/opencode/opencode.db and return the data directoryComment 11, line 92
desktop/src-tauri/crates/core/tests/opencode_contract.rs:92
/// for manual-root discovery.Comment 12, line 158
desktop/src-tauri/crates/core/tests/opencode_contract.rs:158
/// Emulate the former parser's complete events and checkpoints for upgrade tests.Comment 13, line 245
desktop/src-tauri/crates/core/tests/opencode_contract.rs:245
// Synthetic continuation of the genuine wire shape, with matching session counters.Comment 14, line 400
desktop/src-tauri/crates/core/tests/opencode_contract.rs:400
// A new known-only window must not erase the older unknown record's compatibility.Comment 15, line 550
desktop/src-tauri/crates/core/tests/opencode_contract.rs:550
// Large tuples lack PartialEq; compare all selected fields in two nonoverlapping groups.Comment 16, line 593
desktop/src-tauri/crates/core/tests/opencode_contract.rs:593
/// Selected event fields, one row per per-step event.Comment 17, line 670
desktop/src-tauri/crates/core/tests/opencode_contract.rs:670
// Compare every field of the three per-step events with _expectations.md.Comment 18, line 710
desktop/src-tauri/crates/core/tests/opencode_contract.rs:710
// SQL excludes text parts; compare summary totals with _expectations.md.Comment 19, line 719
desktop/src-tauri/crates/core/tests/opencode_contract.rs:719
// Both session cumulative comparisons match: five-column sums equal their part sums through projector applyUsage.Comment 20, line 726
desktop/src-tauri/crates/core/tests/opencode_contract.rs:726
// Synthetic old-version records have no native version verification and retain latest_fallback.Comment 21, line 749
desktop/src-tauri/crates/core/tests/opencode_contract.rs:749
// Repeated scanning adds no duplicate usage.Comment 22, line 785
desktop/src-tauri/crates/core/tests/opencode_contract.rs:785
// File is not SQLite.Comment 23, line 795
desktop/src-tauri/crates/core/tests/opencode_contract.rs:795
// SQLite exists but lacks the three required tables.Comment 24, line 804
desktop/src-tauri/crates/core/tests/opencode_contract.rs:804
// A derived session_message table without part is rejected as an unverified format.Comment 25, line 822
desktop/src-tauri/crates/core/tests/opencode_contract.rs:822
// Empty session/part tables remain Pending for later detection.Comment 26, line 848
desktop/src-tauri/crates/core/tests/opencode_contract.rs:848
// OpenCode session tokens_* columns and message without agent_id fail the MiMo fingerprint.Comment 27, line 861
desktop/src-tauri/crates/core/tests/opencode_contract.rs:861
// Conversely, MiMo without tokens_* columns fails the OpenCode fingerprint.Comment 28, line 903
desktop/src-tauri/crates/core/tests/opencode_contract.rs:903
// XDG layout: <XDG_DATA_HOME>/opencode/opencode.db.Comment 29, line 913
desktop/src-tauri/crates/core/tests/opencode_contract.rs:913
// XDG_DATA_HOME follows the referenced global.ts xdgData lookup.Comment 30, line 937
desktop/src-tauri/crates/core/tests/opencode_contract.rs:937
// A manual parent root discovers <root>/opencode.Comment 31, line 947
desktop/src-tauri/crates/core/tests/opencode_contract.rs:947
// No recursive filename search: the grandparent here has no accepted direct databaseComment 32, line 948
desktop/src-tauri/crates/core/tests/opencode_contract.rs:948
// or child data-directory layout and yields no root. This avoids scanning deeperComment 33, line 949
desktop/src-tauri/crates/core/tests/opencode_contract.rs:949
// unrelated directories such as Kilo's observed opencode-rc.db location.Comment 34, line 960
desktop/src-tauri/crates/core/tests/opencode_contract.rs:960
// Default ~/.local/share/opencode is absent under the temporary home and yields no root.