Impacts : le rapport ne dresse pas de tableau texte × public, mais il consacre un chapitre à chacun (sec04 individus, sec05 associations, sec06 entreprises). C'est ce placement éditorial — un choix explicite de l'auteur, pas une inférence — qui sert de base à la ventilation. Le sens vient de la cotation manuelle de l'annexe quand elle existe, sinon du vocabulaire, et le texte est alors marqué « à vérifier » (17 cas). Arbitrages de la validation de phase 5 portés en points clés : loi-riposte affiche l'AFD à 500 €, et le montant de 1 500 € n'apparaît que présenté comme la version sénatoriale abandonnée. Migration 004 + calendrier : 9 échéances nationales transcrites du corpus avec leur extrait source. Celle des sénatoriales porte explicitement concerne_guadeloupe = 0 — série 1, renouvelée en 2023. Défaut de qualité corrigé : un titre de section nommant plusieurs textes (« Cohésion républicaine, logement, GloBE, entrisme ») faisait hériter chaque phrase de transition aux quatre, polluant leurs résumés. Une section n'est dédiée que si elle nomme un seul texte. 118 tests, 92 % de couverture. Les 7 garde-fous du §7 et les 5 démos du §8.7 sont automatisés dans tests/test_acceptation.py. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
47 lines
2.2 KiB
SQL
47 lines
2.2 KiB
SQL
-- ============================================================================
|
|
-- Migration 004 — échéances du calendrier
|
|
--
|
|
-- La page « calendrier » agrège trois natures d'échéance :
|
|
--
|
|
-- * celles qui appartiennent à un texte (décision attendue du Conseil
|
|
-- constitutionnel, entrée en vigueur, prochaine étape) — dérivées de
|
|
-- `textes`, `evenements` et `decisions_cc` ;
|
|
-- * celles qui n'appartiennent à aucun texte mais structurent la fenêtre de
|
|
-- veille : sénatoriales du 27 septembre, présentation du projet de loi de
|
|
-- finances 2027, rentrée parlementaire ordinaire du 1ᵉʳ octobre.
|
|
--
|
|
-- Cette table porte les secondes. Le champ `concerne_guadeloupe` est explicite
|
|
-- et non déductible : le scrutin sénatorial du 27 septembre 2026 ne concerne
|
|
-- PAS la Guadeloupe (série 1, renouvelée en 2023), ce que le §7 du cahier des
|
|
-- charges impose de ne pas se tromper.
|
|
-- ============================================================================
|
|
|
|
CREATE TABLE echeances (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
code TEXT NOT NULL UNIQUE, -- « senatoriales-2026 »
|
|
date_echeance TEXT NOT NULL,
|
|
libelle TEXT NOT NULL,
|
|
description TEXT,
|
|
|
|
-- `nationale` : elle vaut pour l'ensemble du territoire ;
|
|
-- `texte` : elle découle d'un texte suivi (FK renseignée).
|
|
portee TEXT NOT NULL DEFAULT 'nationale'
|
|
CHECK (portee IN ('nationale', 'texte')),
|
|
texte_id TEXT REFERENCES textes (id) ON DELETE CASCADE,
|
|
|
|
-- 1 = concerne la Guadeloupe, 0 = ne la concerne pas, NULL = non tranché.
|
|
concerne_guadeloupe INTEGER CHECK (concerne_guadeloupe IN (0, 1)),
|
|
note_guadeloupe TEXT,
|
|
|
|
-- Vrai tant que l'échéance est prévisionnelle (postérieure à la date
|
|
-- d'arrêté du corpus et non confirmée par un collecteur).
|
|
previsionnel INTEGER NOT NULL DEFAULT 1 CHECK (previsionnel IN (0, 1)),
|
|
|
|
source_url TEXT,
|
|
source_extrait TEXT,
|
|
cree_le TEXT NOT NULL DEFAULT (datetime('now'))
|
|
);
|
|
|
|
CREATE INDEX idx_echeances_date ON echeances (date_echeance);
|
|
CREATE INDEX idx_echeances_texte ON echeances (texte_id);
|