Skip to content

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

Comment 1, line 1

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

//! Kilo V12 incremental SQLite tests use schema fingerprints, stable message.id keys

Comment 2, line 2

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

//! and time_updated processing positions, compared with Codex/Pi JSONL tests:

Comment 3, line 3

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

//! - Repeated rows in the processed window with identical key/revision do not add usage.

Comment 4, line 4

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

//! - New messages contribute incrementally, without replaying the entire database.

Comment 5, line 5

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

//! - Increased time_updated and changed tokens replace values by source_revision without conflict.

Comment 6, line 6

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

//! - Completion replaces partial with final under the same key.

Comment 7, line 7

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

//! - Schema fingerprint changes reset processing positions and reread without duplication.

Comment 8, line 8

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

//! - Database recreation rescans without duplicate usage or loss of stored history.

Comment 9, line 9

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

//!

Comment 10, line 10

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

//! Data is synthetic using the real sample DDL, with manually calculated values.

Comment 11, line 17

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

/// Synthetic time base; each step adds 1_000_000 ms, beyond the 60-second overlap window.

Comment 12, line 55

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:55

/// Insert one assistant; Null tokens means no usage and finish is optional.

Comment 13, line 170

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:170

// Replay two unchanged rows in the 60-second overlap: same key/content/revision is unchanged,

Comment 14, line 171

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:171

// without added usage. SQLite does not skip solely on byte length; see incremental rules.

Comment 15, line 183

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:183

// Empty replay adds no usage; the data revision must not move backwards.

Comment 16, line 211

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:211

// Append beyond the overlap window; the new row contributes once and old rereads remain unchanged.

Comment 17, line 223

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:223

// Unsynchronized source snapshots remain visible as mismatch; detail events determine totals.

Comment 18, line 252

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:252

// Update an existing row with a higher time_updated revision and reduced token values.

Comment 19, line 319

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:319

// finish=stop, completed total and increased time_updated replace the same key as final.

Comment 20, line 376

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:376

// Modify the persisted schema fingerprint to simulate evolution and trigger a complete reread.

Comment 21, line 390

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:390

// Identical old key/revision/content is unchanged on full reread, without additions or conflict.

Comment 22, line 430

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:430

// Recreate at the same path; rereads preserve history and deduplicate the same instance/key.

Comment 23, line 510

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:510

// File identity includes creation time and first-sample fingerprint; when creation time is absent,

Comment 24, line 511

desktop/src-tauri/crates/core/tests/kilo_incremental_v12.rs:511

// same-shape recreation matches the old stream identity without a new instance contribution.