Skip to content

FILTER.m computes two outputs (isDissimilar, isVISA) that are never consumed anywhere #43

Description

@andremun

Summary

FILTER.m returns [subsetIndex, isDissimilar, isVISA, unif]. Both real call sites in
InstanceSpace.m discard isDissimilar and isVISA via ~ — confirmed by checking every
reference to either name across the entire codebase (grep -rn "isDissimilar\|isVISA" returns
hits only inside FILTER.m itself). Both are computed with genuine loop logic (tracking
per-instance closeness-check state across the whole FILTER run), so this isn't free — it's
real computation with no consumer.

isVISA's docstring calls it "visually important, but not subsetted away," which reads like a
half-built visualisation feature (highlighting borderline/near-duplicate instances differently
in a plot) that never got wired up to an actual plot.

Proposed change

Either:

  • (a) build the consumer these outputs seem to have been intended for — e.g. a
    InstanceSpace.plot() case or scriptpng.m overlay highlighting VISA instances, or
  • (b) drop isDissimilar/isVISA from FILTER.m's outputs and the loop bookkeeping that
    produces them, since nothing uses them today.

Motivation

Dead computation costs maintenance attention and CPU cycles for no current benefit. Either
resolution is fine — the point is picking one deliberately rather than leaving unused output in
place indefinitely.

Acceptance criteria

  • Decision recorded: wire up a consumer, or remove the outputs
  • If removed: both call sites in InstanceSpace.m updated, no behaviour change to
    subsetIndex/unif
  • If wired up: new consumer documented, with a test exercising it

Part of the v0.9.1 milestone. Source: full-file audit pass over every core algorithm file plus previously-grepped-only utility files — this finding was raised during the audit itself and deferred to this batch. Independent of batches 1, 2, 3, 5.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions