Issue #3614378: Rename the category entities to tariff, because to a buyer a category is a seat grade
Mechanical rename, no behaviour change. See the issue for why.
yoyaku_categorybecomesyoyaku_tariffyoyaku_slot_categorybecomesyoyaku_slot_tariffyoyaku_category_groupbecomesyoyaku_tariff_class(French label "Groupe de tarifs")yoyaku_gradeunchanged, so catégorie is free to mean the seat grade in the interface- "offer" stays presentational, and now shares the entity's name with
yoyaku-slot-offer.html.twigandOfferThemeHooks
Table names, entity keys, accessors, field keys, route names, path segments, the grade_matches_category plugin id and the interface labels all follow. Pre-1.0, so no update hook: reinstall is the upgrade path and the table renames ride it.
How it was verified
Level 1 phpstan, which is what the CI job runs, does not report a call to a method that no longer exists, so it cannot police a rename. Level 2 was used as the finding tool and reports zero rename-related errors; level 1 is unchanged at the same 8 pre-existing notices. The French catalogue was checked in both directions: 36 entries mentioning tariff all exist in source, and all 30 translatable code strings have entries. msgfmt -c validates.
Deliberately left alone
The word "categorical", which describes a non-numeric availability state. Every accented "Catégorie", which is a seat grade label. The docs' loose use of rate and tier as synonyms, which needs its own pass.
Noted, not fixed here
The concepts.md ER diagram gives the tariff a slot foreign key, conflating the per-resource tariff with the per-session slot tariff. That predates this change; folding a correctness fix into a rename would make the diff unreviewable. Its stale capacity label was corrected to quota though, since [#3614328] missed it.