# RAPPORT LINT - Context Continuity - 2026-07-03 08:39
# ETAGE 1 (lecture seule) - groupe par data quality dimension

## Inventaire
- Notes chargees : 336
  - backlogItem : 96
  - composantLogiciel : 12
  - concept : 2
  - contexteReprise : 11
  - contrainte : 2
  - convention : 4
  - conversation : 29
  - decision : 43
  - documentation : 25
  - historiqueItem : 90
  - infrastructure : 1
  - outil : 2
  - principe : 3
  - projet : 2
  - service : 4
  - skill : 10

## Synthese : 32 anomalies
  Par dimension : completeness=0, accuracy=2, consistency=0, validity=25, uniqueness=3, freshness=2
  Par bac d'action : AUTO=4, SIGNALER=7, JUGEMENT=21

## COMPLETENESS (0 anomalies)
  Les champs obligatoires sont remplis ET les entites attendues sont toutes saisies (exhaustivite).
  Controles deterministes : COMP-labels
  [delegue agent] COMP-exhaustivite : Entites manquantes vs realite du projet (ex : backlog incomplet)

## ACCURACY (2 anomalies)
  Le niveau de la donnee reflete la realite (bon rangement, contenu conforme au type, statut a jour).
  Controles deterministes : ACC-rangement, ACC-decision
  [delegue agent] ACC-contenu-type : Le contenu redige d'une note reflete-t-il bien son type

  - [ACC-decision | JUGEMENT] (projet ContextContinuity) (f9qMQOFVyVCy)
      12 decisions actives sur ContextContinuity : possibles v1 non revisees
      -> revue : tisser ~revise, passer les v1 obsoletes en revisee
  - [ACC-decision | JUGEMENT] (projet SlidingAutomation) (XOtJDSeSE8Ny)
      23 decisions actives sur SlidingAutomation : possibles v1 non revisees
      -> revue : tisser ~revise, passer les v1 obsoletes en revisee

## CONSISTENCY (0 anomalies)
  Coherence dans le temps et a travers les entites (vocabulaire courant, informations repetees a jour partout).
  Controles deterministes : CONS-vocab
  [delegue agent] CONS-chiffres-croises : Une information repetee (ex : nombre de tools) est-elle a jour dans toutes les notes

## VALIDITY (25 anomalies)
  Les valeurs et relations respectent les regles en vigueur (enums, conventions de nommage, ontologie des relations).
  Controles deterministes : VAL-enum, VAL-nommage, VAL-relation

  - [VAL-enum | AUTO] Fix Python 3.9 : Union[X|Y] non supporté (LbUxsCkI5FQw)
      typeHistorique='Contrainte découverte' (casse/accent)
      -> corriger en 'Contrainte decouverte'
  - [VAL-enum | AUTO] Fix polices : détection via assets/fonts/ (pas fc-list) (3GmGgfoK4aJI)
      typeHistorique='Fait établi' (casse/accent)
      -> corriger en 'Fait etabli'
  - [VAL-enum | AUTO] Fix semantic key : self.theme['semantic'] (i5M20n936xmD)
      typeHistorique='Fait établi' (casse/accent)
      -> corriger en 'Fait etabli'
  - [VAL-enum | AUTO] POST /etapi/notes inexistant sur TriliumNext 0.95 (SCYdo6cV20js)
      typeHistorique='Contrainte découverte' (casse/accent)
      -> corriger en 'Contrainte decouverte'
  - [VAL-nommage | SIGNALER] Configurer l'accès SSH (port 2222) et tester le clone via SSH (VBTUmbai1IAE)
      label projet='Code Versioning' contient un espace
      -> renommer sans espace + repercuter partout
  - [VAL-nommage | SIGNALER] Configurer le reverse proxy HTTPS pour forgejo.bertha-cloud.fr (oUFzjF3Ef0UU)
      label projet='Code Versioning' contient un espace
      -> renommer sans espace + repercuter partout
  - [VAL-nommage | SIGNALER] Créer le premier dépôt de test et valider le workflow git (e5rBCaJHEP8a)
      label projet='Code Versioning' contient un espace
      -> renommer sans espace + repercuter partout
  - [VAL-nommage | SIGNALER] Finaliser la configuration initiale de Forgejo (base de données, utilisateur admin, etc.) (VN7HUNymHGYn)
      label projet='Code Versioning' contient un espace
      -> renommer sans espace + repercuter partout
  - [VAL-rel-portee | JUGEMENT] patch_pptx_theme (Eh2R3GGFdt1v)
      ~dependDe : cible type=outil hors portee ['composantLogiciel', 'service']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] render_engine.py (PMdUlYZqzgn6)
      ~dependDe : cible type=outil hors portee ['composantLogiciel', 'service']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] Architecture pipeline : Narrator → Designer (ou Free Designer) → Encoder → render_engine_v2.py (LxsGi9O4wPKT)
      ~impacte : cible type=ComposantLogiciel hors portee ['composantLogiciel', 'service']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] Design system v2 « PR Editorial » : 21 layouts + freeform, charte navy/coral/glacier, Cambria/Calibri (EWq0H6IhfcAG)
      ~impacte : cible type=ComposantLogiciel hors portee ['composantLogiciel', 'service']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] Freeform : palier 3 (primitives + helpers charte), charte IMPOSÉE (tokens couleur uniquement, pas de hex) (bwcIY5LNiCI2)
      ~impacte : cible type=ComposantLogiciel hors portee ['composantLogiciel', 'service']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] Refonte majeure v1→v2 du pipeline : moteur, design system et facilitator entièrement reconstruits (B6ZL5ZO7PjxG)
      ~impacte : cible type=ComposantLogiciel hors portee ['composantLogiciel', 'service']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] render_engine durci : org_chart et renderers tolèrent les nœuds en string OU dict (anti-crash Encoder) (Rnu3kQ178XeY)
      ~impacte : cible type=ComposantLogiciel hors portee ['composantLogiciel', 'service']
      -> verifier la pertinence
  - [VAL-rel-domaine | JUGEMENT] Deck 35 slides (data-domain-pitch-deck) rendu sans crash après fix org_chart string/dict (32SqGgA5SzCV)
      ~illustre : source type=historiqueItem hors domaine ['composantLogiciel', 'concept', 'service']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] Deck 35 slides (data-domain-pitch-deck) rendu sans crash après fix org_chart string/dict (32SqGgA5SzCV)
      ~illustre : cible type=ComposantLogiciel hors portee ['concept']
      -> verifier la pertinence
  - [VAL-rel-domaine | JUGEMENT] Encoder laisse passer du Markdown brut (**gras**) dans les valeurs texte (visible slide 19) (sL21Grl1N62Q)
      ~contraintPar : source type=historiqueItem hors domaine ['composantLogiciel', 'decision']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] Encoder laisse passer du Markdown brut (**gras**) dans les valeurs texte (visible slide 19) (sL21Grl1N62Q)
      ~contraintPar : cible type=composantLogiciel hors portee ['contrainte', 'principe']
      -> verifier la pertinence
  - [VAL-rel-domaine | JUGEMENT] Mode collage /coller validé : les commandes dans un texte collé ne sont pas interprétées (E3DDmSw5bFsH)
      ~illustre : source type=historiqueItem hors domaine ['composantLogiciel', 'concept', 'service']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] Mode collage /coller validé : les commandes dans un texte collé ne sont pas interprétées (E3DDmSw5bFsH)
      ~illustre : cible type=composantLogiciel hors portee ['concept']
      -> verifier la pertinence
  - [VAL-rel-domaine | JUGEMENT] Persistance et rechargement exact du plan compact validés (anti-régression entre sessions) (EwfkXXLfVdyN)
      ~illustre : source type=historiqueItem hors domaine ['composantLogiciel', 'concept', 'service']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] Persistance et rechargement exact du plan compact validés (anti-régression entre sessions) (EwfkXXLfVdyN)
      ~illustre : cible type=composantLogiciel hors portee ['concept']
      -> verifier la pertinence
  - [VAL-rel-domaine | JUGEMENT] Forgejo (ArTsdwSCqXod)
      ~dependDe : source type=service hors domaine ['composantLogiciel']
      -> verifier la pertinence
  - [VAL-rel-portee | JUGEMENT] Forgejo (ArTsdwSCqXod)
      ~dependDe : cible type=outil hors portee ['composantLogiciel', 'service']
      -> verifier la pertinence

## UNIQUENESS (3 anomalies)
  Absence de doublons.
  Controles deterministes : UNIQ-doublon

  - [UNIQ-doublon | SIGNALER] installation réussie de forgejo (via gitea) en docker sur synology (nAxyy3POFpgr)
      2 notes identiques (type=historiqueItem projet=CodeVersioning) : ['nAxyy3POFpgr', 'e2TZu6UWdVcO']
      -> fusionner ou supprimer les doublons
  - [UNIQ-doublon | SIGNALER] post /etapi/notes inexistant sur triliumnext 0.95 (SCYdo6cV20js)
      2 notes identiques (type=historiqueItem projet=SlidingAutomation) : ['SCYdo6cV20js', 'PkKQcJZUOSFk']
      -> fusionner ou supprimer les doublons
  - [UNIQ-doublon | SIGNALER] synoinfo.conf unique doit rester synology_rtd1296_ds220j (B4cW13Ell9El)
      2 notes identiques (type=historiqueItem projet=SlidingAutomation) : ['B4cW13Ell9El', 'KCecvxr2KUNG']
      -> fusionner ou supprimer les doublons

## FRESHNESS (2 anomalies)
  Les entites ne portent pas un etat perime (anciennete anormale, non-cloture).
  Controles deterministes : FRESH-staleness

  - [FRESH-conversation | JUGEMENT] [Claude Sonnet 4.6] 2026-06-01 22:35 — Session 2026-06-01 - Slide 1 cover_split + Trilium install (DbgPmpROLCDR)
      conversation 'en-cours' non cloturee depuis 31 j
      -> cloturer si terminee
  - [FRESH-conversation | JUGEMENT] [Le Chat Large] 2026-05-30 22:30 — Reprise post-doc et style (zJZwyQbOMORY)
      conversation 'en-cours' non cloturee depuis 33 j
      -> cloturer si terminee
