DJC_IQ_1_2 — Gérer la bi-temporalité d'un texte
Objet (la tâche précise)
Appliquer, après validation dirigeant, la bascule de vigueur d'un texte dans le corpus selon le modèle bi-temporel : ingérer un nouveau texte, archiver l'ancien sans le détruire, ou planifier une entrée en vigueur future. C'est la tâche qui garantit qu'à tout instant t, un agent interroge la bonne version d'un texte, et qu'on peut rejouer l'état du corpus à une date passée (audit). [CORPUS] (Recueil famille D)
Prérequis / matériel / sécurité
- Décision validée par le dirigeant (GO en porte ADR-039). Sans GO, aucune bascule. [CORPUS]
- Fiche de veille
DJC_FQ_1qualifiée (issue deDJC_IQ_1_1). [STANDARD] - Accès écriture au registre
documents/vec_corpus(via le pipeline d'ingestion Lot 8). [CORPUS] - Garde anti-destruction : l'opération de suppression physique d'un document du corpus est interdite par construction — seul l'archivage logique est permis. [CORPUS] (UC-D02)
Étapes d'exécution
- Recevoir la décision validée + la fiche
DJC_FQ_1. - Selon le cas :
- Ingestion (nouveau texte en vigueur immédiate) : déclencher OCR/transcription →
.md→ chunking → embedding → upsertvec_corpus; renseignerconnu_depuis = aujourd'hui,en_vigueur_du = date d'entrée en vigueur,vigueur = en_vigueur. [CORPUS] - Abrogation : sur l'ancien document, poser
vigueur = abrogé,en_vigueur_au = date d'abrogation,remplacé_par = <id nouveau>. Ne pas supprimer. [CORPUS] (UC-D02) - Effet futur : ingérer le nouveau avec
vigueur = à_effet_futur,en_vigueur_du = <date future>; laisser l'ancienen_vigueurjusqu'à la date ; programmer la bascule automatique. [CORPUS] (UC-D03)
- Ingestion (nouveau texte en vigueur immédiate) : déclencher OCR/transcription →
- Vérifier le chaînage : ancien.
remplacé_par↔ nouveau.remplacecohérents et réciproques. [STANDARD] - Propager : poser
revision_duesur les catalogues dérivés impactés (issus de la fiche). [CORPUS] (UC-D05) - Notifier les Directions consommatrices si impact opérationnel (DEX, ADV) via
notify_business/notify_system. [CORPUS] - Clôturer la fiche
DJC_FQ_1(décision appliquée, horodatée).
Règles, critères et seuils [= embryon du CATALOGUE]
- Jamais de DELETE sur un document du corpus : abrogation = changement d'état + horodatage. (source_ref: Recueil UC-D02 « jamais supprimer ») [CORPUS]
- Un texte
à_effet_futurn'est jamais servi comme source de vérité avanten_vigueur_du; la requête RAG par défaut filtre survigueur = en_vigueur ∧ en_vigueur_du ≤ today ≤ en_vigueur_au. (source_ref: ADR-042 bi-temporel) [CORPUS] - Une requête d'audit datée (UC-D09) sert la version
en_vigueurà la date du dossier, pas la version courante. (source_ref: Recueil UC-D09) [CORPUS] connu_depuis≠en_vigueur_du: un texte peut être connu avant son entrée en vigueur (effet futur) ou ingéré après (rattrapage). Les deux axes sont distincts et tous deux renseignés. (source_ref: Recueil §7 famille D, modèle bi-temporel) [CORPUS]- Toute bascule est précédée d'une validation humaine ; l'agent ne bascule jamais de lui-même, sauf l'exécution automatique programmée d'un effet futur déjà validé. (source_ref: ADR-039) [CORPUS]
Points de contrôle / cas particuliers
- Effet futur dont la date arrive : un job programmé bascule
à_effet_futur → en_vigueuret l'ancienen_vigueur → abrogéàen_vigueur_du. Vérifier qu'aucune intervention manuelle n'est requise (décision déjà prise en amont). [CORPUS] (UC-D03) - Abrogation partielle (un article modifié dans un texte qui survit) : versionner au niveau document (nouvelle version du texte) plutôt qu'abroger le texte entier. [STANDARD]
- Réactivation (rare : abrogation annulée) : créer un nouvel état, ne pas « ressusciter » l'ancien enregistrement — la trace reste linéaire. [À CONFIRMER]
- Conflit de chaînage (un même ancien remplacé par deux nouveaux) → escalade dirigeant, ne pas trancher seul. [CORPUS]
Sortie / enregistrement produit
Corpus mis à jour (états de vigueur cohérents, chaînage renseigné) + catalogues marqués revision_due + fiche DJC_FQ_1 clôturée. [CORPUS]
Agent responsable
Agent Veille réglementaire (DJC) — exécute la bascule après GO dirigeant. Propose-only en amont, exécutant déterministe en aval de la porte. [CORPUS] (ADR-039)