fix(review): add missing duplicationDelta to REES_ANALYZER_NAMES (both copies) - #5871
Conversation
REES_ANALYZER_NAMES in enrichment-analyzer-names.ts is the canonical list that validates operator `REES_ANALYZERS` env entries and per-repo `.loopover.yml` `review.enrichment` toggles. It listed 56 analyzers but the generated analyzer-metadata.json registry defines 57 — `duplicationDelta` (right next to `duplication`) was the one gap. As a result resolveReesAnalyzers rejected `duplicationDelta` as "invalid" for operators who listed it explicitly, and resolveEnrichmentAnalyzerSelection could never honor a per-repo toggle for it. Add the missing entry so the list exactly matches the metadata registry, and add a parity test asserting REES_ANALYZER_NAMES and the registry stay in sync (set equality against the registry as source of truth, so a future analyzer can't silently drift the two apart), plus a regression assertion for duplicationDelta and a no-duplicates check.
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Caution 🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥 🛑 LoopOver review result - fixes requiredReview updated: 2026-07-14 21:33:03 UTC
🛑 Suggested Action - Fix Blockers Review summary Nits — 2 non-blocking
CI checks failing
Linked issue satisfactionPartially addressed Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
Gittensory is closing this pull request on the maintainer's behalf (CI is failing (validate, validate-tests (6), validate-tests (1), validate-tests (3), validate-tests (2), validate-tests (5), validate-tests (4))). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |
Summary
REES_ANALYZER_NAMESis the canonical single-source-of-truth list that validates both the operatorREES_ANALYZERSenv list and per-repo.loopover.ymlreview.enrichmenttoggles. It listed 56 analyzers, but the generatedreview-enrichment/analyzer-metadata.jsonregistry defines 57 —"duplicationDelta"(defaultEnabled: true, right next to"duplication") was the one missing entry.Two concrete, reachable breakages in
enrichment-wire.tsas a result:resolveReesAnalyzersrejected"duplicationDelta"as an "invalid" analyzer name for any self-host operator who listed it explicitly.resolveEnrichmentAnalyzerSelectioncould never honor a per-repoduplicationDeltatoggle.Fix
Add
"duplicationDelta"immediately after"duplication"in both hand-duplicated copies of the list —src/review/enrichment-analyzer-names.tsand its engine twinpackages/loopover-engine/src/review/enrichment-analyzer-names.ts— so the canonical list again matches the registry and the two copies stay in sync (thecheck-engine-parityguard requires them identical).Tests
Adds a parity block to
test/unit/enrichment-analyzers-taxonomy.test.ts:REES_ANALYZER_NAMEScovers exactly the analyzers the metadata registry defines — compared as sets against the registry (the source of truth), not a hardcoded count, so a newly-added analyzer can't silently drift the two apart again.duplicationandduplicationDeltaare present.The existing
check-engine-paritysuite continues to pass (both copies now carry the entry). 100% patch coverage on the touched module locally.Closes #5839