Skip to content

[Bug]: Windows history manifest integrity check treats C:\... and \\?\C:\... as different paths and fails after sessions are archived #4442

Description

@SeanChengN

Summary

OpenCodex 2.52.0 on Windows reports:

backup manifest or restore target failed integrity checks — manual review required

for an existing v2 Codex history manifest. A read-only inspection shows that the history appears intact:

  • 66 manifest entries; all 66 corresponding thread IDs still exist in the database.
  • 46 rollout paths match exactly.
  • 20 rollout paths are reported as mismatches:
    • 18 differ only by the Windows extended-length prefix (\\?\\).
    • 2 have moved from sessions to archived_sessions.
  • There is no evidence that the 66 threads or rollout files are corrupted.

The likely false positive is that Windows paths such as C:\\... and \\\\?\\C:\\... refer to the same file, but the integrity check compares them as different path identities.

Environment

  • OpenCodex 2.52.0
  • Codex CLI 0.154.0
  • Windows

Reproduction

  1. Use an existing v2 Codex history manifest on Windows.
  2. Run the OpenCodex history integrity/doctor check.
  3. Observe the integrity warning for the manifest even though the database rows and rollout files are present.

Workaround

Setting syncResumeHistory=false bypasses the failing history-resume check and allows routing to recover as opencodex-local.

Expected behavior

Windows path identity normalization should treat C:\\... and \\\\?\\C:\\... as the same file, while legitimately archived sessions should be handled or reported separately from integrity failures.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingplatformOS/service/tray/ACL (Windows-heavy, not Windows-only)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions