Skip to content

docs: dol architecture map + issues triage/tackle-order report#71

Merged
thorwhalen merged 5 commits into
masterfrom
study/dol-tightening
Jul 4, 2026
Merged

docs: dol architecture map + issues triage/tackle-order report#71
thorwhalen merged 5 commits into
masterfrom
study/dol-tightening

Conversation

@thorwhalen

Copy link
Copy Markdown
Member

Kicks off the "tighten dol" effort with two code-verified study docs (no source changes).

What's here

Verified during this pass

Also done (outside this diff)

https://claude.ai/code/session_01UpwjDSfDpXWjSgSSubiEiM

Adds two code-verified study docs under misc/docs/:
- dol_architecture_map.md: module map, internal dependency graph, public API
  surface, class hierarchy, and a deep dive on the wrap_kvs/store_decorator/codec
  machinery (incl. the exact signature-conditioning logic behind #9), plus a
  ranked tech-debt list and notes for dev-skill authors.
- dol_issues_report.md: prioritized triage — which open issues are already
  resolved (#40/#50/#52/#58) and a wave-by-wave tackle order for the rest.

Also refreshes issues_and_discussions.md (corrects the #9 root-cause: it is
first-parameter-*name* matching, not arg-count; marks Windows/caching issues
resolved) and updates the docs index. A local-only ecosystem dependents+usage
inventory is generated under misc/data/ (gitignored).

Claude-Session: https://claude.ai/code/session_01UpwjDSfDpXWjSgSSubiEiM
…rgIsMapping

wrap_kvs decided whether to call a transform as f(data) vs f(self, data) purely by
the first parameter NAME (self/store/mapping). This misfired on unary callables whose
first param happens to be named 'self' -- e.g. bytes.decode -> TypeError.

- _has_unbound_self now also requires >=2 required positional params, so unary
  builtins like bytes.decode/str.upper are correctly treated as f(data) (#9).
- Add explicit opt-in marker FirstArgIsMapping (wired in, was dead code) and a single
  resolver _resolve_self_convention used by all 4 call sites (_wrap_outcoming,
  _wrap_ingoing, postget, preset) (#12). Exported from dol.
- Regression tests in tests/test_trans.py; new doctests.

Backward-compatible: AST scan of dol + 76 dependents found 0 behavior-changing call
sites; dependents test-gate (baseline vs modified) showed 0 pass->fail regressions.

Also adds dev skill dol-dev-wrap-kvs (machinery + traps + test-gate) and consumer
skill dol-store-building, and indexes them + the new misc/docs in CLAUDE.md.

Refs #9 #12 #18 #6

Claude-Session: https://claude.ai/code/session_01UpwjDSfDpXWjSgSSubiEiM
Keeps the analysis docs, the consumer skill (dol-store-building), and the CLAUDE
index on this branch; the wrap_kvs code change and its dev skill are reviewed
separately in PR #72 to keep that behavior change independently reviewable.

Claude-Session: https://claude.ai/code/session_01UpwjDSfDpXWjSgSSubiEiM
@thorwhalen

Copy link
Copy Markdown
Member Author

Scope note: this PR also includes the consumer skill dol-store-building and the CLAUDE.md index update. The companion code fix for #9/#12 (with its dol-dev-wrap-kvs dev skill) is in #72 — kept separate so the behavior change is independently reviewable.

@thorwhalen thorwhalen merged commit 856ecd3 into master Jul 4, 2026
12 checks passed
@thorwhalen thorwhalen deleted the study/dol-tightening branch July 4, 2026 21:28
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