Skip to content

match: series-less queries, unified series spellings, number-trust discipline, narrators - #40

Merged
KodeStar merged 1 commit into
mainfrom
match-series-less-query
Aug 13, 2026
Merged

match: series-less queries, unified series spellings, number-trust discipline, narrators#40
KodeStar merged 1 commit into
mainfrom
match-series-less-query

Conversation

@KodeStar

Copy link
Copy Markdown
Owner

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

  • Series-less queries link via the candidate's own series when the query title spells it out (any spelling form). "Chaos Seeds 1" now finds the Improve the onboarding process #1 card titled "The Land: Founding"; the sibling veto finally reaches "The Path of Ascension 4" vs the Copy invite #10.5 card (previously a token-subset false match).
  • One seriesForms spelling enumeration (paren-stripped, article-dropped, " Series"-suffix base) feeds both the containment probe and stripSeries, whose removal is now word-boundary-aware ("Land Series" no longer corrupts "The Landlord" into "The lord").
  • Number-trust discipline in the bare branch: 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 - 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).
  • Full-title containment outranks bare sequence agreement within a series (local tags renumber franchises - a "HALO Favourites #9" tag was picking Silentium over an exact-title Primordium card), directional so an omnibus card cannot tie the true volume.
  • Book/Query gain Narrators: 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

  • This bundles the uncommitted bare-series-title round found in the working tree (stripSeries, bookSeqRef, the seriesLinked restructure, TestBestBareSeriesTitle) - the new work builds directly on it and they are not separable.
  • Structural refactors were verified behavior-identical by a 300k-trial randomized differential harness; every new rule is individually mutation-tested (reverting each breaks exactly its own tests).
  • Corpus validation: unknown books 510 -> 45 (with the sidecars retrieval ladder), zero regressions vs the previous matcher over the full library, and two previously-wrong omnibus matches now resolve to the correct individual volumes.
  • audiosilo-manager's four match-consuming packages compile and pass their tests against this change.
  • audiosilo-sidecars bumps its module pin in a companion PR.

…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).
@KodeStar
KodeStar merged commit 6a1c414 into main Aug 13, 2026
2 checks passed
@KodeStar
KodeStar deleted the match-series-less-query branch August 13, 2026 22:26
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.

1 participant