Skip to content

Small wins: confirm_overwrite (#13), remove dead codec stubs (#68), drop redundant windows_ci.yml (#67)#77

Merged
thorwhalen merged 1 commit into
masterfrom
chore/small-wins-13-68-67
Jul 5, 2026
Merged

Small wins: confirm_overwrite (#13), remove dead codec stubs (#68), drop redundant windows_ci.yml (#67)#77
thorwhalen merged 1 commit into
masterfrom
chore/small-wins-13-68-67

Conversation

@thorwhalen

Copy link
Copy Markdown
Member

Three small self-contained wins.

#13confirm_overwrite preset for wrap_kvs

A preset that asks for typed confirmation before overwriting an existing key holding a different value; declined overwrites keep the existing value.

from dol import wrap_kvs, confirm_overwrite
d = wrap_kvs(dict(a='apple'), preset=confirm_overwrite)
d['a'] = 'apple'      # same value -> no prompt
d['c'] = 'coconut'    # new key    -> no prompt
d['a'] = 'alligator'  # differing  -> prompts to confirm by typing 'alligator'

Plus mk_confirm_overwrite_preset(get_input=..., prompt=...) for customization / non-interactive policies (and testing). Both exported. 4 regression tests.

#68 — remove empty KeyValueCodecs stubs

key_based / extension_based were empty method bodies that silently returned None (a No-Silent-Failures violation) and were unused. Removed; the module-level building blocks remain for a future real implementation.

#67 — remove redundant windows_ci.yml

Windows CI already runs automatically on push/PR via ci.yml's windows-validation job (the green "Windows Tests" check on recent PRs). The workflow_dispatch-only windows_ci.yml was a redundant, confusing duplicate.

Full dol suite green (135 passed). Changes are additive / dead-code removal (zero dependent blast radius; import sanity-checked).

Closes #13
Closes #68
Closes #67

https://claude.ai/code/session_01H8PmV6xmMhzV64zi1Twraw

), drop redundant windows_ci.yml (#67)

#13: add `confirm_overwrite`, a wrap_kvs preset that asks for typed confirmation
     before overwriting an existing key that holds a DIFFERENT value, plus a
     `mk_confirm_overwrite_preset(get_input=..., prompt=...)` factory for customizing
     / testing. Both exported. Declined overwrites keep the existing value.

#68: remove KeyValueCodecs.key_based / .extension_based -- empty stub methods that
     silently returned None (No Silent Failures). They were unused; the building-block
     module functions remain for a future real implementation.

#67: remove .github/workflows/windows_ci.yml. Windows CI already runs automatically
     on push/PR via ci.yml's `windows-validation` ("Windows Tests") job, so the
     workflow_dispatch-only file was a redundant, confusing duplicate.

Closes #13
Closes #68
Closes #67

Claude-Session: https://claude.ai/code/session_01H8PmV6xmMhzV64zi1Twraw
@thorwhalen thorwhalen merged commit 8da1040 into master Jul 5, 2026
12 checks passed
@thorwhalen thorwhalen deleted the chore/small-wins-13-68-67 branch July 5, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant