Skip to content

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs

Comment 1, line 1

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:1

//! Codex registry maps release versions to implementations or compatibility fallback.

Comment 2, line 2

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:2

//! See architecture.md#adapter-layout / #unknown-version.

Comment 3, line 3

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:3

//!

Comment 4, line 4

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:4

//! Register versions after native-sample checks: redacted test data or full local reads with calculated expectations.

Comment 5, line 5

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:5

//! Extend the registry by adding entries without deleting historical implementations.

Comment 6, line 6

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:6

//! Format implementations:

Comment 7, line 7

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:7

//! - rollout_v1: token_usage_record per-call records in 0.153+. Native 0.155.0-alpha.16.3

Comment 8, line 8

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:8

//! samples verify reading/parsing/storage/queries; 0.153/0.154 samples share that checked format.

Comment 9, line 9

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:9

//! - rollout_legacy: 0.139–0.151 lack per-call records; event_msg/token_count echoes

Comment 10, line 10

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:10

//! last_token_usage. Full local reads on 2026-09-26 covered 238 files across 21 versions:

Comment 11, line 11

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:11

//! zero token_usage_record records, 13,481 token_count records grouped by total differences,

Comment 12, line 12

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:12

//! and 222/238 matched reconciliations. See rollout_legacy.rs for methods and criteria.

Comment 13, line 13

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:13

//!

Comment 14, line 14

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:14

//! Selection rules:

Comment 15, line 15

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:15

//! - Registered version: KnownVersion, dispatch through the mapping.

Comment 16, line 16

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:16

//! - Unregistered/missing version: try the latest built-in parser (rollout_v1) with LatestFallback.

Comment 17, line 17

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:17

//! Validated records retain compatibility metadata; an unregistered number alone does not cause rejection.

Comment 18, line 18

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:18

//! - No Codex version is verified incompatible; there are no known_incompatible entries.

Comment 19, line 19

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:19

//! Scanning handles incompatible structures under V30 while retaining previous results.

Comment 20, line 24

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:24

/// This constant selects the latest built-in implementation without network access.

Comment 21, line 27

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:27

/// Registered release versions mapped to implementations.

Comment 22, line 28

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:28

/// Each version has checked native format samples; shared formats retain separate version entries.

Comment 23, line 29

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:29

/// 0.139–0.151 rollout_legacy: full local reads grouped each version by total differences and

Comment 24, line 30

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:30

/// compared summed calls with final snapshots. 222/238 matched; the 16 mismatches were

Comment 25, line 31

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:31

/// explained. Representative 0.139.0/0.142.5/0.146.0-alpha.3 samples verify

Comment 26, line 32

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:32

/// reading/parsing/storage/queries; see rollout_legacy.rs and the M2-D validation record.

Comment 27, line 34

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:34

// Four native releases checked independently in releases-032; registry updates replay old cursors.

Comment 28, line 39

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:39

// Eight native versions independently checked on 2026-10-08; release-030 samples

Comment 29, line 40

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:40

// cover dispatch, six token fields, null compaction carries and repeat reads.

Comment 30, line 49

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:49

// M2-A native samples: reading/parsing/storage/query expectations for three sessions/49 calls.

Comment 31, line 51

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:51

// M2-D version-specific redacted rollout-v*.sanitized.json samples and _expectations.md:

Comment 32, line 52

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:52

// independent jq calculations; token_usage_record has the checked 0.155 shape, shared through rollout_v1.

Comment 33, line 56

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:56

// Legacy token_count/last_token_usage: full local reads of 238 files and redacted

Comment 34, line 57

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:57

// rollout-legacy-*.sanitized.json reading/parsing/storage/query checks, 2026-09-26.

Comment 35, line 81

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:81

/// Preserve the old public constant name used by tests/examples.

Comment 36, line 84

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:84

/// Version selection result.

Comment 37, line 91

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:91

/// Detection and scanning share this V30 format-selection function.

Comment 38, line 110

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:110

// If product identity/input format is known but the version is missing, try the latest implementation.

Comment 39, line 118

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:118

/// Select the scan implementation using persisted parse_context.cli_version first, avoiding

Comment 40, line 119

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:119

/// repeated header reads. Initial/rescan/missing-context paths read bounded first-line session_meta.

Comment 41, line 120

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:120

/// Either failed route selects None: LatestFallback through rollout_v1, matching detection.

Comment 42, line 141

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:141

/// Read first-line session_meta.payload.cli_version within bounds; read/JSON failures return None.

Comment 43, line 161

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:161

/// Dispatch scans through the same registered version policy used by detection (V30).

Comment 44, line 162

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:162

/// This dispatcher does not reset consumed cursors on implementation changes; the scan framework decides when to rescan.

Comment 45, line 163

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:163

/// Before registration these legacy files were incompatible with unadvanced cursors, so initial parsing had no retained scan state.

Comment 46, line 190

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:190

// M2-D version-specific samples verify these shared-format versions.

Comment 47, line 200

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:200

// Register verified 0.139–0.151 versions as rollout_legacy after sample/full-local-read checks.

Comment 48, line 233

desktop/src-tauri/crates/core/src/adapters/codex/versions/mod.rs:233

// Unverified releases (such as 0.141.0 or future versions) still use rollout_v1 compatibility fallback.