Skip to content

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

Comment 1, line 1

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

//! Claude Code tests include synthetic document-format samples from the original

Comment 2, line 2

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

//! local not_found run, shaped by A01 and described in each _expectations.md.

Comment 3, line 3

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

//! Read, parse, normalize, commit_batch and query; real 2.1.197 metadata tests are below.

Comment 4, line 4

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

//!

Comment 5, line 5

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

//! synthetic-contract manual totals, calculated record by record and cross-checked

Comment 6, line 6

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

//! with jq and _expectations.md:

Comment 7, line 7

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

//! - syn-req-1: lines 3/4/5 repeat requestId and usage across content blocks with

Comment 8, line 8

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

//! different timestamps. Deduplicate to one call: input 100, cache_read 40, cache_creation 10,

Comment 9, line 9

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

//! output 20; derived input_total=150 and total_tokens=170.

Comment 10, line 10

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

//! - syn-req-2: 200/0/50/30 gives input_total=250 and total=280.

Comment 11, line 11

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

//! - syn-req-3: 50/25/0/5 gives input_total=75 and total=80.

Comment 12, line 12

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

//! - Totals: call_count=3, input_total=475, cache_read=65, cache_write=60,

Comment 13, line 13

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

//! output=55, uncached=350 and total_tokens=530.

Comment 14, line 56

desktop/src-tauri/crates/core/tests/claude_contract.rs:56

// Verify SQL mapping per key: reported input_uncached=input_tokens;

Comment 15, line 57

desktop/src-tauri/crates/core/tests/claude_contract.rs:57

// derived input_total=input+cache_read+cache_creation and derived total_tokens.

Comment 16, line 90

desktop/src-tauri/crates/core/tests/claude_contract.rs:90

// Check static fields and per-field quality using syn-req-1.

Comment 17, line 198

desktop/src-tauri/crates/core/tests/claude_contract.rs:198

// All eight field-capability entries must exist.

Comment 18, line 243

desktop/src-tauri/crates/core/tests/claude_contract.rs:243

// Persist structured capabilities in source_instances.capabilities.

Comment 19, line 280

desktop/src-tauri/crates/core/tests/claude_contract.rs:280

/// Real sanitized WSL 2.1.197 sample begins with queue-operation and has attachment/

Comment 20, line 281

desktop/src-tauri/crates/core/tests/claude_contract.rs:281

/// last-prompt metadata plus a <synthetic> placeholder assistant: zero events,

Comment 21, line 282

desktop/src-tauri/crates/core/tests/claude_contract.rs:282

/// a synthetic diagnostic and successful detection; repeated reads add nothing.

Comment 22, line 298

desktop/src-tauri/crates/core/tests/claude_contract.rs:298

// A zero-event batch either has no commit result or reports zero changes.

Comment 23, line 307

desktop/src-tauri/crates/core/tests/claude_contract.rs:307

// Skipped synthetic assistants leave diagnostics without message bodies.

Comment 24, line 318

desktop/src-tauri/crates/core/tests/claude_contract.rs:318

// Repeated reads add no duplicate events.

Comment 25, line 335

desktop/src-tauri/crates/core/tests/claude_contract.rs:335

/// Reject queue-operation/attachment records containing usage.

Comment 26, line 336

desktop/src-tauri/crates/core/tests/claude_contract.rs:336

/// Usage on a non-usage record deviates from the format and must not be silently skipped.

Comment 27, line 348

desktop/src-tauri/crates/core/tests/claude_contract.rs:348

// Detection holds the file pending at its start for controlled retry, without importing events.