Skip to content

Phase 2: move the GARG-AML scoring core across verbatim - #2

Merged
B-Deprez merged 1 commit into
mainfrom
phase-2-core
Sep 18, 2026
Merged

B-Deprez merged 1 commit into
mainfrom
phase-2-core

Conversation

@B-Deprez

Copy link
Copy Markdown
Member

Six modules moved from the research repository with their function bodies
unchanged: _blocks, _ordering, measures, scores, preprocess, features.

Verified by 56 golden-fixture comparisons and 158 old-vs-new comparisons across
22 graph shapes in both directions, including the degenerate ones (empty graph,
isolated nodes, clique, perfect smurfing pattern).

Original function names are retained deliberately — renaming in the same step as
moving would destroy the property that makes the move auditable. PEP 8 names,
type hints and NumPy docstrings follow in Phase 3.

Three ruff rules (SIM108, RUF005, PD002) are suppressed for src/garg_aml/*.py in
a block marked TEMPORARY; all three ask for body rewrites that belong to Phase 3,
where the fixtures are green and can vouch for each change. _blocks.py keeps a
separate, permanent SIM108 exemption: its else-branches hold the frozen
degenerate-case constants.

@B-Deprez
B-Deprez merged commit 0bdad2b into main Sep 18, 2026
4 of 5 checks passed
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