Skip to content

feat(fascicules): quêtes de collection par fascicule - #39

Merged
Lunik merged 1 commit into
developfrom
claude/game-engagement-retention-lyk0n0-collection
Oct 24, 2026
Merged

Lunik merged 1 commit into
developfrom
claude/game-engagement-retention-lyk0n0-collection

Conversation

@Lunik

@Lunik Lunik commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator

Partie Content de EtymoLogique/App#90. La PR App qui consomme ces données s’appuie sur ce manifeste.

Ce qui change

  • Schéma : un fascicule peut déclarer collections. Chaque quête a un id (identifiant de palier), un critere et une récompense (encre, sabliers).
    • Critères possibles, en liste fermée : prefixes, suffixes, mots_communs, mots_peu_communs, mots_rares.
    • C’est la rareté (ADR 0040) qui est retenue, pas la difficulté, que l’ADR 0047 garde cachée.
  • outils/src/collections.rs calcule une seule fois les membres d’une quête :
    • pour les préfixes et les suffixes : les briques du fascicule, briques reprises d’un fascicule précédent comprises ;
    • pour les raretés : les mots résultats de cette rareté. Le calcul reprend celui de rareteMot dans l’App : la plus haute rareté des briques de la recette la plus accessible, la moins rare pour une case à plusieurs briques possibles.
    • Jamais une légendaire, ni un mot qui en exige une (ADR 0043).
  • Compilation : le manifeste publie collections avec ses membres. La clé est absente quand le fascicule n’en déclare pas, ce qui laisse son empreinte inchangée.
  • Validateur :
    • fascicule.collection_doublon : un critère déclaré deux fois, ou un identifiant de palier déjà pris par une collection ou une quête au long cours ;
    • fascicule.collection_trop_petite : moins de 3 membres ;
    • fascicule.collection_sans_recompense.
  • Données : les 11 fascicules déclarent leurs quêtes.
    • Récompenses par défaut : préfixes et suffixes 20 gouttes et 1 sablier ; mots communs 20 gouttes ; peu communs 30 gouttes et 1 sablier ; rares 40 gouttes et 1 sablier.
    • Trois quêtes trop petites sont écartées : les mots rares de Rosette (1) et de Boustrophédon (0), et les mots communs d’Ogham (2).
  • README : une ligne ajoutée à « Ce que vérifie valider ».

Écart avec l’issue

Le contrôle collection_legendaire proposé dans l’issue n’a pas été ajouté : les membres excluent les légendaires par construction, il n’y a donc rien à contrôler.

Vérifications

  • cargo fmt --check, cargo clippy -D warnings : OK.
  • cargo test : 208 tests passent, dont 5 nouveaux du validateur et 2 de la compilation (membres sans la brique légendaire « étymo- » du jeu d’exemples).
  • etymo-contenu valider : 0 erreur. Il reste 1 avertissement, qui existait déjà : Ogham compte 31 mots.
  • Compilation en mode essai : le catalogue local de l’App lit les quêtes, et la récupération fonctionne de bout en bout.

Generated by Claude Code

A fascicule may now declare `collections`: all its prefixes, all its
suffixes, all its common, uncommon or rare words, each with an ink and
hourglass reward claimed like a palier (ADR 0042). Members are computed
once (outils/src/collections.rs), never counting a legendary nor a word
that needs one (ADR 0043): the validator checks them, the compilation
publishes them in the manifest.

New controls: fascicule.collection_doublon (criterion twice, or a palier
id already used by a collection or a long-running quest),
fascicule.collection_trop_petite (fewer than 3 members) and
fascicule.collection_sans_recompense.

All eleven fascicules declare their quests (rarity, not difficulty,
which ADR 0047 keeps hidden); the three below three members are left out.

Refs EtymoLogique/App#90

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0151stDRaZV3ScbhwvwjrfQ7
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.

2 participants