Skip to content

feat(core): name every show by its row id - #79

Merged
noctuum merged 1 commit into
mainfrom
feat/show-row-identity
Oct 14, 2026
Merged

noctuum merged 1 commit into
mainfrom
feat/show-row-identity

Conversation

@noctuum

@noctuum noctuum commented Oct 14, 2026

Copy link
Copy Markdown
Member

A show is named by ShowId, the id of its row in shows, through recognition, the session and the store. A title is what a person is shown, and AniList holds entries that share one: four romaji titles of the five thousand most popular entries belong to two entries each. Filed by title, two such entries merged into one.

  • Corpus::file takes the show. A Match carries it beside the title, and an Ambiguity lists Candidates that do. The index and the scorer work on shows, and an Assignment names one.
  • The session's effects name the show, and a sitting is told apart by show and episode.
  • Migration 2 rebuilds shows without the uniqueness of its title, since ALTER TABLE in SQLite cannot drop a constraint. Migrations run with the foreign keys off and set them back as found: the pragma does nothing inside a transaction, and dropping a table that rows of other tables point at is refused while they are on.
  • Store::new_show files a show. record, keep, resume and close take a ShowId and file nothing, and an Operation carries its show.

Over names built from those five thousand entries, 4,425 a form in seven forms, one name a form moved from answered to refused: a spelling that a series and its special share under one title. Every other answer is the same.

cargo test --workspace passes, 822 tests.

Migration 2 lets two shows share a title, as AniList entries do.
@noctuum
noctuum merged commit d762d51 into main Oct 14, 2026
1 check passed
@noctuum
noctuum deleted the feat/show-row-identity branch October 14, 2026 23:01
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