Skip to content

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

Comment 1, line 1

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

//! ZCode tests use real sanitized local ZCode 3.14.3 samples, extracted read-only

Comment 2, line 2

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

//! on 2026-09-25 into tests/fixtures/zcode/real-main-session and real-subagent.

Comment 3, line 3

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

//! Read, detect, parse, normalize, commit_batch and query, then compare each value

Comment 4, line 4

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

//! with the manual calculations in _expectations.md.

Comment 5, line 5

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

//!

Comment 6, line 6

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

//! Two usage representations of one record are exclusive and must not be added:

Comment 7, line 7

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

//! - AI SDK response.usage: five camelCase keys; primary inputTokens includes cache reads.

Comment 8, line 8

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

//! - Anthropic response.providerMetadata.anthropic.usage: snake_case comparison fields;

Comment 9, line 9

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

//! input_tokens excludes cache; check in+cr+cw == inputTokens and out == outputTokens.

Comment 10, line 10

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

//!

Comment 11, line 11

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

//! real-main-session manual totals: four main_turn records.

Comment 12, line 12

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

//! in 391115+391297+392343+392729=1,567,484; out 120+595+345+114=1,174;

Comment 13, line 13

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

//! cr 390976+391104+391296+392320=1,565,696; all cw values are 0;

Comment 14, line 14

desktop/src-tauri/crates/core/tests/zcode_contract.rs:14

//! total 391235+391892+392688+392843=1,568,658; uncached sum 1788.

Comment 15, line 15

desktop/src-tauri/crates/core/tests/zcode_contract.rs:15

//! real-subagent manual totals: four subagent records.

Comment 16, line 16

desktop/src-tauri/crates/core/tests/zcode_contract.rs:16

//! in=596,365, out=4,594, cr=587,328, total=600,959 and uncached sum 9037.

Comment 17, line 17

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

//! Combined: 8 events, in=2,163,849, out=5,768, cr=2,153,024 and cw=Some(0);

Comment 18, line 18

desktop/src-tauri/crates/core/tests/zcode_contract.rs:18

//! total=2,169,617, uncached=10,825 (=2,163,849-2,153,024-0).

Comment 19, line 19

desktop/src-tauri/crates/core/tests/zcode_contract.rs:19

//! Anthropic in_tokens 10,825 + cr 2,153,024 = 2,163,849 matches the exclusive AI SDK representation.

Comment 20, line 67

desktop/src-tauri/crates/core/tests/zcode_contract.rs:67

// Check each field of the first event: line 1, requestId anon-2, attempt 1.

Comment 21, line 144

desktop/src-tauri/crates/core/tests/zcode_contract.rs:144

// Verify zcode:{requestId}:{attempt} keys; all main_turn records are primary.

Comment 22, line 166

desktop/src-tauri/crates/core/tests/zcode_contract.rs:166

// Registered 3.14.3 uses known_version with source_completion timestamps.

Comment 23, line 179

desktop/src-tauri/crates/core/tests/zcode_contract.rs:179

// No diagnostics are expected.

Comment 24, line 209

desktop/src-tauri/crates/core/tests/zcode_contract.rs:209

// querySource=subagent maps to sub_agent; first uncached input is 145225-(142656+0)=2569.

Comment 25, line 226

desktop/src-tauri/crates/core/tests/zcode_contract.rs:226

// Put both files under one rollout root: 8 events, 4 primary and 4 sub_agent with combined totals.

Comment 26, line 260

desktop/src-tauri/crates/core/tests/zcode_contract.rs:260

// Uncached total 10,825 matches the Anthropic representation; never add both representations.

Comment 27, line 337

desktop/src-tauri/crates/core/tests/zcode_contract.rs:337

// Persist and read back capabilities in source_instances.capabilities.