Fix Windows persistence (#11): require dol>=0.3.45#13
Merged
Conversation
Temporary: capture the exact path resolution + dol key->path mapping on the Windows runner to pinpoint the persistence-store failure. Reverted once fixed. Claude-Session: https://claude.ai/code/session_019bFtivmtdcXDoCQt3B9gGp
…diagnostic
Root cause of the Windows persistence failures was a dol bug: filter_regex
compiled regexes with the path-oriented safe_compile, which re.escape's on
Windows, so filter_suffixes('.json') (behind dol.Jsons) matched nothing and every
store write raised KeyError: 'Key not in store: <key>.json'. Fixed upstream in
dol 0.3.45 (i2mint/dol#64); pin it here. Reverts the temporary --tb diagnostic.
Closes #11.
Claude-Session: https://claude.ai/code/session_019bFtivmtdcXDoCQt3B9gGp
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the pre-existing Windows Tests CI failure (#11): every
dol.Jsons-backedpersistence test failed on Windows with
KeyError: 'Key not in store: <key>.json'.Root cause (in
dol, notek)dol.filter_regexcompiled its pattern with the path-orientedsafe_compile,which
re.escapes its input on Windows. That turnedfilter_suffixes('.json')'sregex
(\.json)$into a literal-string matcher, so no*.jsonkey matched thesuffix filter behind
dol.Jsons— and every write/read raised theKeyError.Diagnosed via a temporary
--tb=long -l -sCI probe (now reverted), which showedthe dir was created correctly but the filter rejected
<key>.json.Fix
Upstream in dol 0.3.45 (i2mint/dol#64):
filter_regexnow usesre.compile(its contract is a regex), leaving the path-oriented
safe_compileuntouched.POSIX behavior unchanged; dol's own Windows failures dropped 34→28 (6 fixed, 0
added). This PR just pins
dol>=0.3.45so ek's CI installs the fix, andreverts the temporary diagnostic.
Verification
dol.Jsonswrite+read+list works under a forcedplatform.system()=="Windows"with dol 0.3.45 (fails without it).Closes #11.
https://claude.ai/code/session_019bFtivmtdcXDoCQt3B9gGp