fix: make MBID enrichment best-effort (don\u0027t drop recs)#381
Merged
RicherTunes merged 1 commit intomainfrom Jan 18, 2026
Merged
fix: make MBID enrichment best-effort (don\u0027t drop recs)#381RicherTunes merged 1 commit intomainfrom
RicherTunes merged 1 commit intomainfrom
Conversation
Best-effort enrichment must not drop candidates unless RequireMbids is enabled. Adds regression tests and fixes the top-up underfill case.
4 tasks
RicherTunes
added a commit
that referenced
this pull request
Feb 17, 2026
* chore: bump Common submodule to include triage contracts Picks up PR #380 (TriageReasonCodes, ConfidenceBand enum) and PR #381 (Phase 12-17 evidence blocks in canonical roadmap). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * refactor(triage): import Common's TriageReasonCodes and ConfidenceBand Replace local ReasonCodes inner class with Common's canonical TriageReasonCodes constants. Use Common's ConfidenceBand enum for classification (output remains lowercase string for API compat). Zero behavior change: all 25 triage/calibration/golden fixture tests pass with identical outputs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(triage): add EnableProviderCalibration feature flag Add FieldDefinition(43) EnableProviderCalibration setting (default=true) that controls whether per-provider confidence calibration is applied to triage scores. When disabled, the orchestrator passes null for the provider parameter, resulting in raw uncalibrated scores. Add CalibrationDisabled_ReturnsRawScores test verifying the flag behavior: - provider=null yields no CALIBRATION_APPLIED reason code - provider=Ollama yields CALIBRATION_APPLIED + LOW_CALIBRATION_PROVIDER 2415/2415 tests pass (1 known flaky rate limiter test excluded). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
$## Why\nRequireMbids=false should not silently drop recommendations when MusicBrainz lookups fail. This was causing top-up underfill (expected 2, got 1) in BrainarrOrchestratorTopUpTests.\n\n## What\n- Preserve the original Recommendation when album/artist MBID resolution fails (best-effort); downstream safety gates still enforce MBIDs when configured.\n- Add regression tests for both resolvers.\n\n## Tests\n- dotnet test Brainarr.Tests/Brainarr.Tests.csproj -c Release -m:1 --no-build (2037 passed, 29 skipped).\n- Focused filter for TopUp + resolver tests (4 passed).\n