rentoo

Questions ouvertes et scripts SQL

Ce fichier garde deux choses seulement :

L’audit complet (A01 à A24, chantiers T, V, F, R…) est archivé dans docs/archives/AUDIT_CORRECTIONS-jusqu-au-12-10-2026.md. Les chantiers à venir pour la mise en production sont dans docs/exploitation.md.

Questions pour Pierre-Louis

Scripts Supabase à exécuter (dans l’ordre)

  1. supabase/migrations/020_suivi_loyers.sql (A02) : colonne leases.tracked_from, reprise des baux existants, portal_info, portal_declare_payment et monthly_recaps mis à jour. Rejouable.

  2. supabase/migrations/021_registre_versements.sql (A06) : tables rent_payments et rent_allocations (RLS), déclencheurs qui tiennent payments à jour, reprise des paiements existants. Rejouable. Redéployer ensuite send-receipt (dossier _shared compris).

  3. supabase/migrations/022_verrous_formules.sql (A14) : plan_has, my_plan_has, lease_plan_has et verrous sur annonces, signatures et devis. Rejouable. Redéployer send-receipt et copilot.

  4. supabase/migrations/023_elision_mois.sql (A18) : month_de(), notification « Loyer reçu » corrigée, reprise des titres existants. Rejouable. Redéployer send-receipt et location.

  5. supabase/migrations/024_indices_irl.sql (A24) : table irl_indices (métropole, Corse, outre-mer) avec les valeurs publiées. Rejouable. À chaque publication de l’Insee (mi-janvier, mi-avril, mi-juillet, mi-octobre), ajouter une ligne par zone (exemple en fin de script).

  6. supabase/migrations/025_lien_logement.sql (T03) : adresse unique « Mon logement ». Fonctions home_link_report_token et report_home_token, déclencheur home_link_report, reprise des liens existants. Aucune table modifiée. Rejouable. Aucune fonction Edge à redéployer.

  7. supabase/migrations/026_bailleur_pas_locataire.sql (retour APK du 30/09) : manages_property, manages_any_property, tenant_join et tenant_spaces corrigés, reprise des comptes. Rejouable. Aucune fonction Edge à redéployer.

  8. supabase/migrations/027_veille.sql (A3) : veille IRL et zones tendues (table veille_state, fonctions protégées par le secret du coffre, tâches pg_cron). Créer d’abord les secrets project_url et veille_secret (voir AMELIORATIONS.md). Déployer la fonction veille.

  9. supabase/migrations/028_canaux_notifications.sql (C6) : notify_channel, notify_kind_type, push_pending filtré par canal, owner_mail_allowed. Rejouable. Redéployer location.

  10. supabase/migrations/029_adresse_envoi.sql (N1) : colonne profiles.mail_alias (unique, non modifiable), mail_alias_base (même règle que src/lib/mailAlias.ts), reprise des comptes existants, mail_alias_for_application, journal mail_log pour les envois sans bien. Rejouable. Redéployer send-receipt et location.

  11. supabase/migrations/030_invitation_coproprietaire.sql (N3) : property_members.last_invited_at et invite_token, share_invite_info, enforce_invite (une personne invitée sur un bien s’inscrit sans code de test, avec l’adresse invitée seulement). Rejouable. Redéployer location.

  12. supabase/migrations/031_artisans_siret.sql (N6) : colonnes artisans.siret et artisans.address. Rejouable. Redéployer copilot (type de document « devis »).

  13. supabase/migrations/032_conversations_roo.sql (R1) : tables copilot_conversations et copilot_messages (RLS : propriétaire seul), conversation remontée à chaque message, 20 conversations au plus par compte. Rejouable.

  14. supabase/migrations/033_notes_locataires.sql (F2) : table tenant_notes (notes privées du bailleur, mêmes droits que la fiche du locataire). Rejouable. Redéployer copilot.

  15. supabase/migrations/034_journal_roo.sql (C3) : table roo_actions (journal des actions validées depuis Roo, annulables 30 jours ; RLS : propriétaire seul ; 300 au plus). Rejouable.

  16. supabase/migrations/035_courriers.sql (F4) : table lease_letters (historique des courriers par bail ; mêmes droits que le bien). Rejouable. Redéployer send-receipt et copilot.

  17. supabase/migrations/036_verifications_fiscales.sql (parcours Fiscalité) : table tax_reviews (vérifications faites, par année ; RLS : propriétaire seul). Rejouable.

  18. supabase/migrations/037_avis_roo.sql (C2) : table copilot_feedback (avis sur les réponses de Roo ; RLS : propriétaire seul ; effacé avec la conversation). Rejouable. Redéployer copilot.

  19. supabase/migrations/038_memoire_roo.sql (R4) : table roo_memory (préférences retenues par Roo avec l’accord du bailleur ; RLS : propriétaire seul ; 50 au plus). Rejouable. Redéployer copilot.

  20. supabase/migrations/039_ton_roo.sql (R5) : colonne profiles.roo_tone (« court » ou « detaille »). Rejouable. Redéployer copilot.

  21. supabase/migrations/040_alertes_reglementaires.sql (F6) : table roo_alert_state (zone de chaque bien vue à la dernière vérification, alertes notées ; RLS : propriétaire seul). Rejouable. Aucune fonction à redéployer.

  22. supabase/migrations/041_decomptes_copro.sql (régularisation des charges) : table copro_statements (décomptes annuels du syndic : part locative, provisions, solde ; mêmes droits que le bien ; aucun IBAN enregistré). Rejouable. Redéployer copilot (lecture de l’avis de taxe foncière par adresse et du décompte du syndic).

  23. supabase/migrations/042_cycle_relances.sql (Vague 2, cycle de relance) : lease_letters.kind accepte « mise_en_demeure », rent_reminders.channel accepte « courrier ». Rejouable. Redéployer copilot (Roo peut proposer la mise en demeure).

  24. supabase/migrations/043_valeur_estimee.sql (Vague 3, patrimoine) : colonnes properties.estimated_value et estimated_at. Rejouable. Aucune fonction à redéployer.

  25. supabase/migrations/044_portail_locataire.sql (Vague 3, portail locataire) : déclencheur notify_receipt (nouvelle quittance), fonction insurance_reminders et tâche pg_cron rentoo-rappel-assurance (8 h 30), notify_kind_type (quittance suit le réglage « paiements »). Rejouable.

  26. supabase/migrations/045_disposition_finances.sql (refonte Finances, étape 3) : colonne profiles.finance_layout (disposition de la synthèse Finances, gardée sur le compte). Rejouable. Aucune fonction à redéployer.

  27. supabase/migrations/046_rubriques_menu.sql (lot 10, menu) : colonne profiles.nav_sections (rubriques épinglées dans le menu, liste fermée de quatre valeurs). Rejouable. Aucune fonction à redéployer.

  28. supabase/migrations/047_tableau_amortissement.sql (lot 10, prêt) : loans.schedule_document_id (tableau de la banque rangé dans Documents) et loan_years.source (« attestation » ou « tableau »). Rejouable. Redéployer copilot (lecture du tableau, années et échéances).

  29. supabase/migrations/048_empreinte_documents.sql (UX étape 4, « Photo d’abord ») : colonne documents.content_hash (empreinte SHA-256 du fichier, contrôlée) et index par propriétaire pour repérer les doublons. Rejouable. Aucune fonction à redéployer. Sans ce script, les documents s’enregistrent sans empreinte.