Skip to content

consolidation: decide fate of hollow patterns/ shim vs canonical contrib/patterns/ #110

@Gradata

Description

@Gradata

Problem

src/gradata/patterns/__init__.py is a back-compat shim that re-exports from src/gradata/contrib/patterns/. The real Layer 0 is contrib/patterns/; the top-level patterns/ directory is effectively hollow.

Impact:

  • help(gradata.patterns) / tab-completion on patterns. yields nothing because the shim has no __all__
  • Callers who import gradata.patterns.X silently get gradata.contrib.patterns.X via lazy hops
  • Any future refactor of contrib/patterns/ must also maintain the shim or silently break callers

Proposed resolution (pick one)

A. Promote canonical: Delete src/gradata/patterns/, move contrib/patterns/src/gradata/patterns/, add deprecation notice to the old gradata.contrib.patterns import path.

B. Make the shim honest: Keep both locations, but give patterns/__init__.py a real __all__ so discovery works.

Option A is cleaner but breaks external imports of gradata.contrib.patterns.X. Option B keeps back-compat but locks in the bifurcation.

Context

Identified by council review of the autoresearch/consolidation branch. Needs a product-level decision — not a mechanical refactor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions