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.3Comment 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 echoesComment 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 andComment 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 wereComment 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 verifyComment 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 samplesComment 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 redactedComment 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, avoidingComment 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.