Skip to content

0.6.0 staging: tech-debt & module refactoring (reduce monoliths) #231

@Fieldnote-Echo

Description

Staging / tracking issue for the 0.6.0 cycle — internal tech debt and module refactoring, with no public API breakage.

Goal: break large monolithic modules into smaller, cohesive units (the repo style targets ~200–400 lines/file, 800 max) and consolidate duplicated dispatch/kernel boilerplate — without changing behavior, the public surface, or the on-disk formats.

This is a living checklist; items are added/triaged as we go.

Candidate areas (to triage)

  • Split the largest core modules into focused units (separate the index type / scoring kernels / eval path / persistence glue where a single file has grown past the size guideline).
  • rank_io.rs: consider per-format submodules sharing the common header/validation helpers.
  • Factor the repeated AVX-512 → AVX2 → scalar SIMD dispatch boilerplate into a shared helper.
  • Give the experimental research modules (contingency / multi-bucket / constant-weight bitmap) a clearer internal structure.
  • Reduce test-file monoliths similarly.

Out of scope

  • Anything that changes the public API or on-disk write formats → tracked in the 0.8.0 re-architecture issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions