Skip to content

[Housekeeping] Reduce maintenance and CI costs #422

Description

@lrnv

Objective

Run a staged housekeeping program to minimize Copulas.jl maintenance and CI costs without reducing functional coverage or mixing unrelated behavioral changes into a single large pull request.

The guiding principle is one source of truth per mathematical or numerical mechanism. Similar-looking implementations must first be classified as accidental duplication, justified specialization, or genuinely different numerical problems.

Working rules

  • Measure before changing, especially compilation time versus warm execution time.
  • Keep mechanical moves separate from numerical or API changes.
  • Add characterization tests before consolidating numerical implementations.
  • Preserve closed forms and justified multiple-dispatch specializations.
  • Organize tests around distinct dispatch paths, not every family-operation Cartesian product.
  • Use small reviewable PRs, each with an explicit maintenance or CI benefit.

Success indicators

  • fewer duplicated numerical implementations;
  • clear ownership and discoverability of internal types;
  • explicit mapping between representative models and dispatch paths;
  • lower CI wall time and/or compilation work with equivalent functional coverage;
  • removal of genuinely dead internal code and accidental API surface;
  • documented follow-ups where consolidation is unsafe or premature.

The native GitHub sub-issues attached below track the independent workstreams. This issue is for coordination and aggregate progress only.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions