Skip to content

docs: Issue #18 design proposal (self-is-unwrapped)#74

Merged
thorwhalen merged 1 commit into
masterfrom
study/dol-issue18-design
Jul 5, 2026
Merged

docs: Issue #18 design proposal (self-is-unwrapped)#74
thorwhalen merged 1 commit into
masterfrom
study/dol-issue18-design

Conversation

@thorwhalen

Copy link
Copy Markdown
Member

What

Adds misc/docs/dol_issue18_design.md — a decision-ready design for #18 (self is the unwrapped inner store inside a delegation-wrapped class's own methods), plus index + issues-report wiring.

Contents

  • Mechanism (verified in code): delegation (has-a) → a method defined on a wrapped class runs bound to the inner store, so self[k] bypasses transforms. Compounds under stacked/Pipe wraps.
  • Blast radius: a 26-site ecosystem classification — 0 break · 6 latent bugs a fix would resolve · 2 neutral · 18 immune. The 6 are real, demonstrated bugs in public packages (e.g. xdol.PyFilesReader(asyncio).is_pkg()False for an actual package; a decoy .cfg leaks past SetupCfgReader's filter).
  • Four designs (blessed-rewrap, is-a inheritance, staged-opt-in rebind, rebind) with adversarial judging across 3 lenses, and an empirical verification log.
  • Recommendation: ship wrapped_self() now (backward-compatible), commit to is-a wrapping later (closes wrap_kvs will wrap the instance but self of instance is not wrapped #18 + Store.wrap breaks the signature of subclasses. #6), reject method-rebinding (silently corrupts stacked-codec writes; super()/dict-native crashes).

Docs-only. Companion to the code change in #73 (wrapped_self). Refs #18

https://claude.ai/code/session_01H8PmV6xmMhzV64zi1Twraw

Adds misc/docs/dol_issue18_design.md — a decision-ready design for #18 (self is
the unwrapped inner store inside a delegation-wrapped class's own methods):
mechanism, a 26-site ecosystem blast-radius classification (0 break, 6 latent
bugs), four fix designs with adversarial judging, an empirical verification log,
and the staged recommendation.

Also wires it into the misc/docs index and updates the issues report's Wave-1
status (#18 Phase 1 shipped; #6 deferred to the is-a restructure).

Companion to the code change (wrapped_self) in PR #73. Refs #18

Claude-Session: https://claude.ai/code/session_01H8PmV6xmMhzV64zi1Twraw
@thorwhalen thorwhalen merged commit 0c726da into master Jul 5, 2026
12 checks passed
@thorwhalen thorwhalen deleted the study/dol-issue18-design branch July 5, 2026 07:34
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