Skip to content

fix: preserve full-width Windows filesystem IDs#279

Merged
douglasmonsky merged 5 commits into
mainfrom
fix/278-windows-filesystem-id-overflow
Jul 17, 2026
Merged

fix: preserve full-width Windows filesystem IDs#279
douglasmonsky merged 5 commits into
mainfrom
fix/278-windows-filesystem-id-overflow

Conversation

@douglasmonsky

@douglasmonsky douglasmonsky commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • preserve complete Windows filesystem device/inode identifiers as versioned fsid-v1: text before SQLite binding
  • normalize legacy integer source rows so existing checkpoints remain valid without a forced full reparse
  • fall back safely on malformed identities and add synthetic 128-bit regression coverage

Root cause

Python 3.12+ on Windows may expose a 128-bit stat().st_ino. Binding that arbitrary-precision Python integer to SQLite INTEGER raises OverflowError because SQLite integers are signed 64-bit.

Validation

  • Ruff, mypy, and compileall
  • 1,016 tests passed
  • coverage suite passed at 88%
  • 24 dashboard JavaScript syntax checks
  • release and distribution checks
  • wheel/sdist build and Twine checks
  • installed-package smoke test

Addresses #278. The issue will remain open until the reporter confirms the fix on Windows.

@douglasmonsky
douglasmonsky marked this pull request as ready for review July 17, 2026 01:59
@douglasmonsky
douglasmonsky merged commit b3765c2 into main Jul 17, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant