Un rejeu par mois était une carence de 30 jours : elle refusait le second passage à qui déménage la veille d'acheter une voiture, et ne bornait jamais le total, qui restait de douze par an. Cinq rejeux par période d'abonnement (D-060) permettent les deux corrections le même jour et font attendre le sixième. `quiz_rejoue_le` devient `quiz_rejeux` : on garde la liste des dates, jamais le verdict. Le quota se recompte à chaque lecture contre la période payée en cours, donc la reconduction annuelle le relève sans qu'aucun code ne tourne à cette date. Repli sur une année glissante pour les foyers sans période connue, et aucune date de reprise annoncée à un abonnement résilié en fin de période. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
12 KiB
Contrats — un chantier transverse, pas un pilier
Document de référence des contrats. Ce n'est pas un pilier : le § 5.6 du cadrage l'interdit explicitement — « pas de pilier Contrats dans l'interface, chaque contrat vit dans le pilier qu'il sert ». Ce document existe parce que les contrats traversent les piliers — cinq depuis D-019 —, portent le gisement d'affiliation (§ 10.4), et sont la seule saisie que le produit s'autorise à demander.
Statut : rédigé le 28 juillet 2026, à l'occasion de l'audit complet. Les faits juridiques cités portent leur source ; les items marqués ❓ n'ont pas été vérifiés.
État d'avancement (28 juillet 2026)
Livré, et fermé par décision. Huit types de contrats, huit fiches, un écran de quiz dédié.
| Type déclarable | Fiche | Pilier de rattachement |
|---|---|---|
assurance_habitation |
assurance-habitation-echeance |
maison |
assurance_auto |
assurance-auto-echeance |
véhicules |
assurance_animale |
assurance-animale-echeance |
animaux |
assurance_emprunteur |
assurance-emprunteur-echeance |
papiers |
mutuelle |
mutuelle-sante-echeance |
papiers |
box |
box-internet-echeance |
papiers |
mobile |
forfait-mobile-echeance |
papiers |
salle_de_sport |
salle-de-sport-echeance |
papiers |
Correspondance vérifiée à l'audit : aucun type déclarable sans fiche, aucune fiche sans type déclarable.
Trois décisions successives ont façonné ce chantier (decisions.md) :
- D-005 — le mur e-mail post-quiz est retiré ; le contrat n'est plus une monnaie d'échange.
- D-006 — les contrats rejoignent le quiz, dans un écran dédié à la suite des papiers, filtré par pertinence.
- D-007 — l'opt-in post-quiz est retiré. C'est aujourd'hui le seul moment de déclaration. Un contrat ignoré à l'écran 8, ou devenu pertinent après coup (nouveau véhicule, nouvel animal), n'est plus déclarable du tout. La redite perçue a pesé plus lourd que la couverture perdue.
1. Ce qu'on demande, et ce qu'on refuse de demander
Un seul champ par contrat sélectionné : « Échéance approximative ? » (un mois, « je ne sais pas » servi par défaut).
L'assureur n'est pas demandé. C'est la règle qui tient tout l'écran : il ne sert aucune inférence, et le quiz ne demande jamais ce qui ne déclenche pas une échéance. C'est aussi ce qui rend l'écran tenable en dix secondes.
Conséquence à assumer : sans l'assureur, on ne peut ni pré-remplir une lettre de résiliation, ni personnaliser un lien d'affiliation, ni détecter un doublon. La détection par transfert de PDF (phase 2) est ce qui rattrape cette limite — pas une question de plus.
C'est la seule exception à « aucune saisie obligatoire » du § 4.2, et elle reste facultative dans les faits : ignorer l'écran entier est un parcours valide.
2. Le socle juridique — pourquoi une échéance de contrat est une vraie échéance
Ce n'est pas du confort déguisé : le droit français crée des fenêtres que presque personne ne connaît, et une fenêtre manquée coûte une année pleine au tarif non renégocié.
| Règle | Ce qu'elle ouvre | Source |
|---|---|---|
| Résiliation infra-annuelle (dite loi Hamon) | Auto, habitation, affinitaire : résiliation à tout moment après 1 an de contrat, sans frais | Code des assurances art. L113-15-2 ; economie.gouv.fr |
| Obligation d'information de l'échéance (dite loi Chatel) | L'assureur doit rappeler la date de résiliation ; à défaut, le contrat devient résiliable | Code des assurances art. L113-15-1 |
| Loi Lemoine | Assurance emprunteur : résiliation à tout moment dès la signature de l'offre de prêt | Loi n° 2022-270 du 28 février 2022 ; economie.gouv.fr |
| Résiliation « en 3 clics » | Depuis le 1er juin 2023, tout contrat souscriptible en ligne doit être résiliable en quelques clics — même s'il a été souscrit en agence ou par téléphone | service-public.gouv.fr A16455 et A16599 |
| Complémentaire santé | Résiliation infra-annuelle également ouverte après 1 an | economie.gouv.fr |
| ❓ Services financiers à distance | De nouvelles règles de protection s'appliquent à compter du 19 juin 2026 aux souscriptions à distance de services financiers, assurance comprise | signalé par economie.gouv.fr — à instruire, portée exacte non vérifiée |
L'assurance emprunteur reste le premier gisement (§ 10.4), pour une raison arithmétique : c'est le seul contrat où l'économie se compte en milliers d'euros sur la durée d'un prêt, et le seul résiliable à tout moment — donc le seul dont l'échéance n'est pas une contrainte mais un prétexte.
3. Ce qui manque
3.1 Le trou ouvert par D-007 · comblé le 28/07/2026 par le rejeu du quiz
Mise à jour du 28/07/2026 : plutôt que de rouvrir la déclaration uniquement dans le récap annuel (la piste envisagée ci-dessous, conservée pour la trace du raisonnement), le porteur de projet a préféré une réponse plus générale — le quiz reste la référence unique pour mettre à jour les déclarations d'un foyer. Un abonné peut désormais le rejouer à la demande (
/quiz?rejouer=<id>, garde-fou de cinq rejeux par période d'abonnement depuis D-060 — un par mois jusqu'au 07/08/2026), ses réponses précédentes préremplies et modifiables. Un contrat oublié, ou devenu pertinent après coup, se déclare donc de nouveau à l'écran 7 lors d'un rejeu — le trou de D-007 est comblé sans usage ponctuel du récap annuel. Implémentation :src/engine/quiz-rejeu.ts,POST /api/quiz(paramètrehouseholdId),GET /api/foyer/[id]/quiz(préremplissage). Voir l'audit § 0 pour la réserve sur les assets remplacés (véhicules, animaux, contrats perdent leur état d'échéance à chaque rejeu).
D-007 a fermé le rattrapage post-quiz en connaissance de cause. Le prix est explicite : un foyer qui achète une voiture six mois après son quiz ne pouvait plus déclarer son assurance auto. Jamais — jusqu'au rejeu ci-dessus.
C'était le bon arbitrage face à une redite perçue. Mais deux choses ont changé depuis :
- le hub payant existe et se visite (§ 10.2) ;
- le récap annuel est prévu comme organe de rétention (§ 9.4, § 10.2).
Le récap annuel est le bon endroit pour rouvrir la déclaration : une fois par an, au moment où le foyer regarde déjà son année, sans redite possible puisque douze mois ont passé. Ce n'est ni un opt-in post-quiz ni un formulaire à tenir — c'est une ligne dans un document qu'il ouvre de toute façon.
À trancher, et cela demande une décision de cadrage, pas seulement du code.
3.2 Le rangement dans les piliers · tranché le 28/07/2026
Cinq fiches sur huit sont classées pilier: papiers faute de pilier « foyer » (§ 5.6 : « rattachés au foyer »). Le pilier Papiers devient un fourre-tout dont l'intitulé ne prépare personne à y trouver son forfait mobile.
Trois sorties étaient possibles :
- assumer et renommer dans la copie du hub (« Papiers & contrats »), sans toucher aux fiches ;
- redistribuer ce qui a un rattachement naturel : la box internet est un équipement du logement (→ maison), la salle de sport et la mutuelle n'en ont aucun ;
- ne rien faire et attendre les données d'usage.
Décision du porteur de projet (28/07/2026) : les contrats restent dans le pilier Papiers. Aucune fiche déplacée, aucun changement de copie demandé pour l'instant.
La première est la moins coûteuse et ne casse aucun identifiant stable (invariant n° 1).
3.3 La fenêtre est un mois, pas une date · limite structurelle
computeWindow traite echeance_mois avec confidence: "connue" (src/engine/windows.ts:312). C'est généreux : le foyer a donné un mois approximatif, pas une date. La conséquence n'est pas cosmétique — connue donne 21 jours d'avance au scheduler et, pour un enjeu legal+assurance, ouvre le passe-droit hors budget (horsBudget, src/engine/notifications.ts:120).
Concrètement, aucune fiche de contrat n'est classée legal+assurance aujourd'hui, donc le passe-droit ne se déclenche pas. Mais la marche est là, et elle se franchirait par une simple modification de fiche.
À arbitrer : soit echeance_mois produit une fenêtre estimee (ce qu'elle est réellement), soit on documente pourquoi connue est le bon choix ici. La première réponse semble plus juste — le foyer a lui-même répondu « approximativement ».
Relevé le 30/07/2026 — l'arbitrage a un revers qu'il faut peser (audit-2026-07-30.md § 1.3) : sans mois déclaré, une fiche de contrat retombe en fenêtre
libre, et une fenêtre libre ne déclenche jamais de mail (AVANCE_JOURS.libre === null). Les huit fiches de contrats figurent donc parmi les 16 fiches du produit qui se taisent faute d'ancre — et c'est le seul groupe dont le foyer détient déjà la clé, en une réponse à l'écran 7.Ce qui veut dire deux choses. D'une part, passer
echeance_moisenestimeene coûte pas de couverture (les 21 jours d'avance deconnuedeviennent 0, mais 0 reste très au-dessus de « jamais »). D'autre part, l'écart de valeur entre un contrat déclaré et un contrat passé est total, pas graduel — ce qui rend l'écran 7 plus décisif que sa place dans le quiz ne le suggère.
3.4 La détection par transfert de PDF · phase 2, inchangé
Le § 5.6 le pose : « en phase 2, transférer le PDF du contrat = le renseigner ». C'est ce qui rend l'assureur connaissable sans l'avoir demandé, donc ce qui débloque la personnalisation d'affiliation et la lettre de résiliation pré-remplie. Rien à faire avant la bannette.
4. Affiliation — l'état des lieux
Le § 10.4 fixe trois règles non négociables : uniquement dans les rappels où l'action sert le foyer, toujours affichée (« lien partenaire — c'est ce qui finance la veille »), proportionnelle à la confiance donnée.
Aujourd'hui : les huit fiches portent des actions avec des slot_affiliation nommés (assurance_animale, chauffagiste, veterinaire…), et ce sont des liens neutres, comme prévu « dès le jour 1 ». Aucun contrat commercial n'existe, aucun lien commissionné n'est posé. La bascule est triviale par construction : les slots sont dans les fiches, pas dans le code.
Ce qui manque avant de basculer : la mention obligatoire dans la copie du mail (elle n'est écrite nulle part), et la structure juridique — c'est une décision ouverte du § 17, sans échéance.
Un point de vigilance qui n'est écrit nulle part : le § 5 de l'audit relève que les liens sortants fuiteraient l'URL du foyer en Referer faute d'en-tête Referrer-Policy. Sur des liens partenaires, une URL-capacité qui fuit vers un tiers commercial n'est pas un détail de configuration.
5. Ce qui reste ouvert
- ✅ Rouvrir la déclaration (§ 3.1) — fait le 28/07/2026, via le rejeu du quiz plutôt que le récap annuel.
- Le rangement dans les piliers (§ 3.2) — tranché le 28/07/2026 : les contrats restent dans le pilier Papiers, aucune fiche déplacée.
echeance_mois:connueouestimee? (§ 3.3) — une ligne de code, une vraie question de fond. Toujours ouvert.- La mention d'affiliation dans la copy des mails (§ 4) — à écrire avant toute bascule commissionnée. Toujours ouvert.
- ✅
Referrer-Policysur les liens d'action (§ 4) — fait le 28/07/2026 (next.config.ts, audit S6). - ❓ Les règles du 19 juin 2026 sur les services financiers à distance (§ 2) — portée à instruire ; elles peuvent créer de nouvelles fenêtres à surveiller.