Skip to content

Cruft audit: relocate fleet-unused, low-value members (xdol / tests / recipes) #94

Description

@thorwhalen

Intent record (maintainer, 2026-08-21). dol has accumulated members that no fleet package uses and that don't pull their weight. Tentative rule: if none of the fleet uses it AND it doesn't look useful → move it out of dol. Destination: xdol when it could be useful (it existed for a reason, once); otherwise repurpose as tests or recipes, or delete.

Grounding (current numbers — rescan before acting)

  • The import-level fleet scan (2026-08-03, 85 direct dependents) says 86 of 147 dol/__init__.py exports have zero detected fleet usage; 61 of those have been public for over a year (the strongest candidates), 25 are recent additions where adoption may simply be pending.
  • A trans.py survey adds concrete candidates with verified zero usage, e.g.: disallow_overwrites (broken and dead — defines an inner __setitem__ it never attaches; superseded by OverWritesNotAllowedMixin), _kv_wrap_trans_names, store_wrap and kv_wrap_persister_cls (both superseded by Store.wrap; the latter carries its own deprecation TODO), cache_iter (a "being deprecated" alias still exported), mk_kv_reader_from_kv_collection, condition_function_call/constant_output, CachedInvertibleTrans/MapInvertabilityError, iterate_values_and_accumulate_non_error_keys.

Caveats that gate the audit

  • Rescan first — the fleet and dol have both moved since the scan.
  • Star imports — several packages do from dol import *; their usage is invisible to an import scan. Needs the ledger's deeper (AST) census, or a runtime check.
  • Submodule-only compat surface — ~42 names are imported by the fleet from dol submodules despite not being in __init__ (including a few private helpers). Any relocation must treat these as public surface.
  • Authoritative zero-usage list comes from the fleet-usage ledger — this audit is sequenced behind it.

Relation to existing work

Complementary to #70 (splitting oversized modules / deduping helpers): #70 reorganizes what stays; this issue relocates what shouldn't stay. Cross-reference, don't merge.

Tracked in misc/docs/dol_roadmap.md.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions