Skip to content

fix: correct OPF workflows and bump to 2.0.1 - #60

Merged
gugarosa merged 2 commits into
mainfrom
fix/opfython-correctness-2.0.1
Sep 6, 2026
Merged

gugarosa merged 2 commits into
mainfrom
fix/opfython-correctness-2.0.1

Conversation

@gugarosa

@gugarosa gugarosa commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix batch-dependent KNN predictions and stale graph, plateau, density, and traversal state during neighbourhood selection.
  • Validate sample alignment and actual precomputed-distance indexes without removing supported NumPy inputs or rectangular matrix layouts.
  • Preserve every winning pruning path, support single-class supervised/semi-supervised forests, and correct the final heap-node position.
  • Correct evaluation of extra clusters and missing classes while preserving the existing OPF scoring convention.
  • Add regression and compatibility cases, clarify affected contracts, and correct inaccurate return annotations.
  • Bump the source version, project metadata, and lockfile to 2.0.1, with no dependency upgrades or Python support changes.

The functional changes and version bump are separate commits. Existing public callable arguments and class bases are preserved; all 110 original test functions remain unchanged.

Evidence and validation

  • The original baseline passed 175 tests despite reproducible correctness failures, including identical queries receiving different labels and valid precomputed matrices being rejected.
  • The completed correctness suite passed 274 tests on each of Python 3.11, 3.12, and 3.13 on Windows.
  • The 2.0.1 wheel and source distribution each passed 48 cases from isolated artifact installations, with installation provenance and version metadata verified.
  • Configured quality hooks, strict Sphinx builds, lockfile consistency, and artifact builds passed.
  • No performance improvement or exhaustive numerical assurance is claimed.

Release plan

Leave this PR for the maintainer to review and merge; do not enable auto-merge. After the PR is merged and CI succeeds on its exact main-branch merge commit, create v2.0.1 at that commit. The existing Publish to PyPI workflow will publish the new version. No release or publication is performed before that gate.

gugarosa and others added 2 commits September 5, 2026 20:54
Fix batch-dependent KNN predictions, clustering state, indexed distance validation, pruning, sample alignment, evaluation class domains, and heap positions. Preserve existing public arguments and add focused regression coverage.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 804ac811-6a11-4d29-8526-ab1643abf900
Keep the package version, project metadata, and locked project record in sync without changing dependency versions or the supported Python floor.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 804ac811-6a11-4d29-8526-ab1643abf900
@gugarosa
gugarosa merged commit c1b4d56 into main Sep 6, 2026
6 checks passed
@gugarosa
gugarosa deleted the fix/opfython-correctness-2.0.1 branch September 6, 2026 00:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant