match: series-less queries, unified series spellings, number-trust discipline, narrators - #40
Merged
Merged
Conversation
…scipline, narrators Real-library replay (1147 books, 510 previously unresolved) drove four changes: - A series-less query is judged under each candidate's own series when its title spells that series out (any spelling form), so 'Chaos Seeds 1' finds the #1 card titled 'The Land: Founding' and the sibling veto finally reaches 'The Path of Ascension 4' vs the #10.5 card. - One seriesForms enumeration (paren-stripped, article-dropped, ' Series' suffix base) now feeds both the containment probe and stripSeries, whose removal is word-boundary-aware ('Land Series' no longer corrupts 'The Landlord'). - The bare branch trusts numbers only from the side entitled to them: vetoes need both sides bare, a wordy candidate confirms only via SeriesIndex, a wordy query only via its Sequence column - sub-series markers ('Part 1', 'Volume 5') are noise, exactly as the package doc always claimed. - Same-series full-title containment outranks a bare sequence agreement (local tags renumber franchises; titles are stabler), directional so an omnibus card cannot tie the true volume, with a non-degeneracy floor. - Book/Query carry Narrators: libraries tag the narrator as the author (David Tennant on Cressida Cowell books); catalog cards know both. Also: named score-ladder constants, per-candidate-series memoization, and a differential harness verified the structural refactors behavior-identical (300k randomized trials, zero mismatches).
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.
Driven by a live replay of audiosilo-sidecars' coverage matching over a real 1147-book library, where 510 books failed to resolve against meta.audiosilo.app and several resolved to the WRONG work.
What
seriesFormsspelling enumeration (paren-stripped, article-dropped, " Series"-suffix base) feeds both the containment probe andstripSeries, whose removal is now word-boundary-aware ("Land Series" no longer corrupts "The Landlord" into "The lord").SeriesIndex; a wordy query only via itsSequencecolumn. Sub-series markers ("Part 1", "Volume 5") are noise - the package doc always said so, and now the code agrees ("Forged in Blood: Part 1" is Emperor's Edge Allow different database options #6 again).Book/QuerygainNarrators: real libraries tag the narrator as the author (David Tennant on Cressida Cowell books), and catalog cards know both. Additive; no existing caller changes.Notes
stripSeries,bookSeqRef, the seriesLinked restructure,TestBestBareSeriesTitle) - the new work builds directly on it and they are not separable.