Skip to content

fix: make computing feature lookup deterministic - #372

Merged
PierreRaybaut merged 2 commits into
developfrom
fix/feature-identity
Oct 5, 2026
Merged

PierreRaybaut merged 2 commits into
developfrom
fix/feature-identity

Conversation

@PierreRaybaut

Copy link
Copy Markdown
Contributor

Prepares the merge of develop into the plugin SDK branch by making feature identity explicit and lookups deterministic.

  • get_feature(name) no longer depends on registration order: built-in features are preferred, or features from the recorded plugin module when plugin_origin is given (History replay and re-processing pass it). Previously, replaying a plugin feature that shares its name with a built-in feature ran the built-in one.
  • Direct compute_1_to_1 calls now honour the registered preview_enabled flag (the lookup used the function name on a registry keyed by function, so it always missed).
  • Persisted identities (processing metadata, History) go through a single seam, ComputingFeature.feature_id / BaseProcessor.get_feature_id(). Values are unchanged (function names).
  • Removed duplicate Allan/Hadamard registrations and the image transpose "Swap X/Y axes" registration, which no menu reached (the Geometry menu resolves transpose to "Flip diagonally"). No visible change.
  • New tests pin built-in identifier uniqueness per panel, lookup preference and preview gating; each fails without the fix.

Full suite: 631 passed, 3 skipped (develop baseline: 628 passed, 3 skipped).

Assisted-by: Claude Opus 5.5

History replay ran the built-in feature when a plugin feature shared its name.

Assisted-by: Claude Opus 5.5
@PierreRaybaut
PierreRaybaut merged commit a477afe into develop Oct 5, 2026
6 checks passed
@PierreRaybaut
PierreRaybaut deleted the fix/feature-identity branch October 5, 2026 16:27
@ThomasMalletCodra ThomasMalletCodra added this to the V1.4.0 milestone Oct 6, 2026
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.

2 participants