gate-validator

star 0

Valide les milestones du projet NLP Sentiment Analysis (M0..M6) en vérifiant les critères de sortie, livrables, seuils d'accuracy et conformité spec. À utiliser pour auditer un milestone avant passage au suivant.

toba75 By toba75 schedule Updated 3/5/2026

name: gate-validator description: "Valide les milestones du projet NLP Sentiment Analysis (M0..M6) en vérifiant les critères de sortie, livrables, seuils d'accuracy et conformité spec. À utiliser pour auditer un milestone avant passage au suivant." argument-hint: "[milestone: M0|M1|M2|M3|M4|M5|M6|all] [mode: check|report]"

Agent Skill — Milestone Validator (NLP Sentiment Analysis)

Objectif

Auditer un ou plusieurs milestones du plan d'implémentation et produire un verdict structuré (GO / NO-GO / GO AVEC RÉSERVES) avec preuves.

Contexte repo

  • Plan : docs/plan/implementation.md
  • Spécification : docs/specifications/specs.md
  • Notebook : notebook.ipynb (livrable principal)
  • Cours : docs/cours/

Rôle de l'agent

Tu dois :

  • vérifier que les critères de sortie de chaque milestone sont satisfaits ;
  • confronter chaque critère aux cellules du notebook réellement présentes ;
  • produire un rapport de conformité factuel (pas d'hypothèses) ;
  • ne jamais déclarer un milestone GO sans preuve vérifiable.

Registre des milestones

M0 — Fondations & Environnement

# Critère Preuve attendue
M0.1 Notebook créé avec squelette 10 sections Cellules markdown de titre présentes
M0.2 Cellule imports & config exécutable sans erreur Imports torch, transformers, sklearn, nltk, pandas
M0.3 Seeds de reproductibilité fixées Fonction set_seed(seed) présente et appelée
M0.4 Dataset chargé et exploré DataFrame avec colonnes review, score/sentiment
M0.5 Distribution des classes visualisée Graphique de distribution des labels
M0.6 Mapping labels effectué 3 classes : positif (4-5★), négatif (1-2★), neutre (3★)

M1 — Pipeline de données

# Critère Preuve attendue
M1.1 Split train/val/test stratifié Code de split avec stratify=, seed fixée
M1.2 Poids de classe calculés compute_class_weight('balanced') sur train
M1.3 Pipeline classique fonctionnel Fonctions clean_text(), tokenize(), stop-words
M1.4 Vocabulaire construit sur train uniquement word2idx avec <PAD>, <UNK>
M1.5 TF-IDF fit sur train TfidfVectorizer.fit() sur train, transform() sur val/test
M1.6 DataLoaders classiques opérationnels Itération sans erreur sur chaque DataLoader
M1.7 Pipeline Transformer fonctionnel AutoTokenizer, TransformerDataset, DataLoaders
M1.8 MAX_SEQ_LEN déterminé Analyse distribution longueurs, percentile 95

M2 — Modèle Transformer (PRIORITÉ COMPÉTITION)

# Critère Seuil Preuve attendue
M2.1 Modèle Transformer défini AutoModelForSequenceClassification instancié
M2.2 Boucle d'entraînement Transformer Fonction train_transformer() opérationnelle
M2.3 Accuracy test ≥ 85% 85% Métriques calculées et affichées
M2.4 Courbes d'apprentissage Graphiques loss/accuracy par epoch
M2.5 Meilleur modèle sauvegardé torch.save() effectué
M2.6 Precision + Confusion Matrix Affichés pour le modèle Transformer

M3 — Baseline & MLP

# Critère Seuil Preuve attendue
M3.1 Logistic Regression entraînée Accuracy ≥ 60% Métriques calculées
M3.2 MLP PyTorch défini et entraîné Accuracy ≥ 65% Classe SentimentMLP(nn.Module) + métriques
M3.3 Courbes d'apprentissage MLP Graphiques

M4 — Modèles pédagogiques

# Critère Seuil Preuve attendue
M4.1 BiLSTM + Attention défini et entraîné Accuracy ≥ 70% Classe BiLSTMAttention + métriques
M4.2 CNN texte défini et entraîné Accuracy ≥ 70% Classe TextCNN + métriques
M4.3 Mécanisme d'attention implémenté Module Attention Bahdanau
M4.4 Courbes d'apprentissage Graphiques BiLSTM + CNN

M5 — Évaluation comparative & Prédictions

# Critère Preuve attendue
M5.1 Tableau comparatif complet Accuracy, Precision, Recall, F1 pour tous les modèles
M5.2 Confusion Matrices côte à côte Visualisation pour chaque modèle
M5.3 Fonction predict() pipeline classique Prend texte brut → retourne prédiction + probabilités
M5.4 Fonction predict() pipeline Transformer Prend texte brut → retourne prédiction + probabilités
M5.5 Tests sur commentaires inédits Exemples positifs, négatifs, neutres, ambigus
M5.6 Meilleur modèle identifié et documenté Conclusion argumentée

M6 — Finalisation du notebook

# Critère Preuve attendue
M6.1 Toutes les fonctions ont une docstring Inspection systématique
M6.2 Cellules markdown explicatives Introduction, transitions, interprétations, conclusion
M6.3 Structure en 10 sections conforme (§10 spec) Vérification de l'ordre
M6.4 Notebook exécutable de A à Z Restart & Run All sans erreur
M6.5 Exigences du sujet satisfaites Precision ✓, Confusion Matrix ✓, PyTorch ✓, Prédictions ✓, Docstrings ✓
M6.6 Notebook nettoyé Pas de cellules debug, outputs inutiles, code mort

Workflow de validation

  1. Identifier le milestone demandé (ou all pour audit complet).
  2. Parcourir le registre : pour chaque critère, vérifier preuve dans le notebook.
  3. Vérifier l'intégrité des données : vocabulaire/vectorisation fit sur train uniquement.
  4. Vérifier les seuils d'accuracy : comparer aux minimums spécifiés.
  5. Produire le verdict par critère.

Format du rapport de sortie

# Rapport de validation — Milestone [MN]

Date : [YYYY-MM-DD]
Milestone : [M0..M6]
Verdict global : [GO | NO-GO | GO AVEC RÉSERVES]

## Détail par critère

| # | Critère | Verdict | Preuve / Remarque |
|---|---|---|---|
| MN.1 | … | GO | Cellule [N] du notebook |
| MN.2 | … | NO-GO | Absent : [ce qui manque] |

## Actions requises (si NO-GO)
1. [Action corrective 1]
2. [Action corrective 2]

Ordre d'exécution

M0 → M1 → M2 (GO: ≥85%) → M3 → M4 → M5 → M6

M2 est bloquant : ne pas passer à M3/M4 tant que le Transformer ne score pas ≥ 85%.

Principes

  • Factuel : ne pas inférer de conformité sans preuve tangible.
  • Traçable : chaque verdict cite la cellule du notebook ou le livrable.
  • Incrémental : un milestone peut être audité plusieurs fois.
  • Système de fichiers : toute écriture (rapport) doit rester dans le répertoire du projet (/Users/rousseau/nlp_projet/). Interdit d'écrire dans /tmp, /var ou tout autre chemin hors du projet.
Install via CLI
npx skills add https://github.com/toba75/nlp_projet --skill gate-validator
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator