Skip to content

[API] Inventory the effective public and extension API #426

Description

@lrnv

Scope

Inventory the API that Copulas.jl exposes today before deciding what should be stabilized. This is an evidence-gathering task, not authorization for API churn.

Inventory

  • exported names and documented public-but-unexported names;
  • methods inherited from or extending Distributions.jl;
  • copula-specific operations (condition, subsetdims, Rosenblatt transforms, fitting, dependence measures, and related helpers);
  • constructor forms, argument conventions, return shapes, and exceptions;
  • generic fallbacks versus required family methods;
  • developer extension hooks and strictly internal helpers;
  • obsolete compatibility paths, unreachable methods, and accidental effective API.

For each operation, record its actual availability across representative regular, singular, conditional, high-dimensional, and fittable models. Note where availability currently depends on ad hoc test predicates or undocumented dispatch details.

Deliverable

Produce a table classifying every relevant name or operation as:

  1. stable public API candidate;
  2. capability-dependent public API candidate;
  3. documented extension point;
  4. internal implementation detail;
  5. compatibility-sensitive legacy or accidental surface;
  6. dead/unreachable candidate supported by evidence.

Acceptance criteria

  • the inventory covers exports, documentation, implementation, and tests;
  • current behavior is recorded without assuming the documentation is correct;
  • generic fallback and specialization responsibilities are distinguished;
  • compatibility-sensitive findings become focused follow-ups;
  • no speculative removal or rename is bundled into the audit.

Parent: #427. Related housekeeping program: #422.

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