# FACTION-046 — deux places dès la fondation Branche `codex/sky-flight-zoom-beta046`, à partir de beta.045. ## Contrat Une nouvelle faction coûte toujours dix niveaux par défaut, sans prestige. Elle dispose de deux places : le fondateur responsable et un invité, qui rejoint sans payer et sans prestige. La troisième place et les suivantes demandent une charge de prestige chacune par défaut. Le serveur revalide la capacité à chaque acceptation : deux invitations simultanées ne permettent pas de dépasser la limite. ## Migration La configuration `config/sanctuary/cycle-factions.json` passe au schéma 3. Les schémas 1 et 2 sont lus puis convertis une seule fois au chargement : `initialCapacity` devient 2 ; un ancien `maxMembers: 1` devient 2. Les prix, récompenses, autres plafonds et le réglage de conservation d'XP sont préservés (la conversion historique de `creationCost` vers dix niveaux reste applicable au schéma 1). Cette règle vaut uniquement pour les fondations futures. Le journal `data/sanctuary-cycle-factions.json` accepte les schémas 1, 2 et 3. La lecture ne réécrit pas les anciens événements : capacités, membres, dépenses, charges et prestiges existants restent identiques. La prochaine mutation écrit le schéma 3 avec l'historique conservé. Les créations anciennes à une place restent valides, les nouvelles créations en proposent deux. Les identifiants d'événements et de sauvegarde ne changent pas. Ne pas faire relire un journal schéma 3 par un ancien binaire ; restaurer ensemble journal et joueurs pour revenir en arrière. Aucun monde personnel n'est modifié pendant ce ticket. Le marqueur réseau additif `sanctuary:faction_founding_pair_v1` évite qu'un ancien client lise une configuration qu'il ne reconnaît pas. Les libellés FR/EN présentent les deux places, dont une pour le fondateur. ## Vérifications et livraison Le test de contrat `cycle011Smoke` passe : conversion des configurations schémas 1/2, idempotence, conservation d’une ancienne faction à une place, fondation à deux places, invitation immédiate et écritures interrompues. Les scénarios natifs font partie des 20 GameTests serveur ciblés réussis : un invité rejoint sans prestige, un troisième membre est refusé jusqu’au financement d’une place, puis peut rejoindre. Les nouveaux instantanés client reflètent la capacité et les dépenses exactes. Build, exports et parcours client sont décrits dans [le ticket beta.046](sky-flight-zoom-beta046.md) et [Distribution](packwiz.md).