Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
90b9a2f
docs(tests): Documenter les leçons apprises sur la suite de tests
jsboige Aug 1, 2025
29f7189
feat(tests): Ajout du projet de tests visuels et des dépendances néce…
jsboige Aug 11, 2025
cacf143
fix(cardpen): Correction du bug localStorage dans les environnements …
jsboige Aug 11, 2025
0be104d
refactor(harvest): Amélioration de la robustesse et de la testabilité…
jsboige Aug 11, 2025
8554af9
chore: Améliorations diverses, logs et mise à jour de la documentation
jsboige Aug 11, 2025
78eaa90
fix(visual-tests): Stabilisation complète du pipeline de tests visuels
jsboige Aug 22, 2025
d324bd3
feat(pipeline): Stabilize visual asset generation pipeline
jsboige Aug 28, 2025
bb8a6e6
fix(pipeline): consolidate October 2025 recovery (code, assets, docs)
jsboige Dec 11, 2025
53f7785
refactor(scripts): rename cleanup script to avoid ambiguity
jsboige Dec 11, 2025
bc02db5
chore: cleanup test and backup configuration files
jsboige Dec 11, 2025
df48afc
chore(git): update gitignore to exclude artifacts
jsboige Dec 14, 2025
920ba95
docs(investigations): add investigation scripts, reports and SDDD upd…
jsboige Dec 14, 2025
2e081d1
docs(investigations): add missing diagnostic script
jsboige Dec 14, 2025
284804c
fix(pipeline): update CardPen and AssetConverter logic, remove legacy…
jsboige Dec 14, 2025
d36d81b
fix(pipeline): restore rscount handling and domtoimage options
jsboige Feb 1, 2026
7d7e186
fix(config): restore April 2024 reference values and enable Virtues
jsboige Feb 1, 2026
c0218d9
fix(entities): restore Rule.GetId() and improve CSV mapping
jsboige Feb 1, 2026
cf3afe7
test(cardpen): add CardSetInfo unit tests
jsboige Feb 1, 2026
9fa00c8
docs: add CLAUDE.md guide and update documentation
jsboige Feb 1, 2026
a0721c6
fix(pipeline): correct GitHub base URL for asset path rewriting
jsboige Feb 1, 2026
210dafb
fix(pipeline): restore Scenarii image generation
jsboige Feb 1, 2026
dce8cbe
docs(CLAUDE.md): add CsvType debugging section
jsboige Feb 1, 2026
3048325
fix(templates): improve Virtues CSS and Rules naming
jsboige Feb 1, 2026
37600e4
fix(harvest): restore Golden Master CSV injection behavior
jsboige Feb 1, 2026
f0b1cd3
fix(templates): add argumentsVertueux CSS class for root category
jsboige Feb 1, 2026
09b427e
fix(templates): convert Scenarii asset paths to absolute GitHub URLs
jsboige Feb 1, 2026
9b19d5e
fix(config): remove RowsetNb=14 for Scenarii CardSet
jsboige Feb 1, 2026
838f2f7
docs(CLAUDE.md): update pipeline status - FR generation complete
jsboige Feb 1, 2026
be1a529
fix(pdf): correct Print&Play recto-verso and A0 page count
jsboige Feb 1, 2026
bafd9d1
feat(pipeline): multilingual support and PDF format improvements
jsboige Feb 7, 2026
ad95148
fix(scenarii): correct recto-verso printing and back cycling
jsboige Feb 16, 2026
d6bb466
fix(pipeline): standardize DPI to 300 and fix Print&Play harvesting
jsboige Feb 19, 2026
688a21b
fix(pipeline): correct poker dimensions and Rules DPI
jsboige Feb 20, 2026
914abec
docs(issues): update Issue #2 with proposed solutions
jsboige Feb 20, 2026
938c65f
feat(rules): add CSS styling for new game variants
jsboige Feb 20, 2026
fea991c
docs(issues): mark issues #1 and #3 as resolved with verification
jsboige Feb 20, 2026
0a88d86
feat: improve Rules back handling and add reference images
jsboige Mar 3, 2026
698f10e
chore: add workspace config and Claude skills for team collaboration
jsboige Mar 3, 2026
74557ea
fix(pipeline): restore golden master harvest + back matching, switch …
jsboige Mar 14, 2026
e4be639
feat(pipeline): enable multilingual generation + fix FR Fallacies backs
jsboige Mar 14, 2026
148ce5b
fix(pipeline): Issue #119 - Rules ordering and layout optimization
jsboige Mar 15, 2026
dbc6bbb
fix(rules): complete Bingo + Parlote Coinchée card merges, remove par…
jsboige Mar 16, 2026
15829f1
fix(pipeline): P2 - Correct Bingo title translations in Rules CSV
jsboige Mar 17, 2026
7ac235f
docs(pipeline): P3 - Update CLAUDE.md with NbColumns=12 and Issue #119
jsboige Mar 17, 2026
48ff976
docs(pipeline): P1 complete - multilingual validation results
jsboige Mar 17, 2026
7e3a8e8
fix(pipeline): prepare multilingual + mind map generation
jsboige Mar 18, 2026
d84628e
fix(pipeline): implement NbCopies for CardSet duplication in documents
jsboige Mar 19, 2026
be2fe62
fix(pipeline): remove parasitic backs on Rules in Print&Play (#138)
jsboige Mar 19, 2026
b741980
chore(deps): upgrade AutoMapper from 12.0.1 to 14.0.0
jsboige Mar 19, 2026
18d9f2b
fix(tests): isolate ImageFileGenerator tests from pipeline config
jsboige Mar 19, 2026
267f662
fix(security): update AutoMapper to 14.0.0 (CVE fix)
jsboige Mar 19, 2026
d5060c9
fix(tests): auto-generate SVG snapshot on first run
jsboige Mar 19, 2026
a8674c1
fix(templates): add CSS aliases for renamed Virtues families (#139)
jsboige Mar 19, 2026
69d2cde
Merge branch 'fix/recovery-october-2025' of https://github.com/Argume…
jsboige Mar 19, 2026
574b5a7
fix(pipeline): resolve IMindMapItem duplicate + Freeplane Groovy SVG …
jsboige Mar 20, 2026
a8848ab
fix(mindmap): fix Interpolate cache collision between Fallacy and Vir…
jsboige Mar 20, 2026
94fee27
fix(mindmap): fix Interpolate cache collision between Fallacy and Vir…
jsboige Mar 20, 2026
c39695a
merge: resolve Interpolate cache fix conflict (identical fix both sides)
jsboige Mar 20, 2026
467cc3b
feat(mindmap): add IMindMapItem interface in Mindmapper namespace
jsboige Mar 20, 2026
47b2203
chore: clean up git status — gitignore validation artifacts + track u…
jsboige Mar 20, 2026
51aa992
fix(mindmap): localize DocumentName for multilingual .mm files + fix …
jsboige Mar 20, 2026
63720f2
fix(mindmap): align Virtue SVG export + fix FreeplanePath to .exe
jsboige Mar 20, 2026
0be6c27
chore: gitignore _mm_export and preview directories
jsboige Mar 20, 2026
1cbcef6
feat(mindmap): add XSLT fallback for mm→SVG conversion
jsboige Mar 20, 2026
02ea231
test(mindmap): add XSLT SVG conversion integration test
jsboige Mar 20, 2026
14d9f00
docs: update CLAUDE.md — mark CSV mapping issues as resolved
jsboige Mar 20, 2026
0feb7a1
test(mindmap): add Virtue mind map + XSLT pipeline integration tests
jsboige Mar 20, 2026
03528ff
fix(test): re-enable MmGenerator hang test — root cause was missing I…
jsboige Mar 20, 2026
e9138ad
test: add Interpolate cache collision regression tests
jsboige Mar 20, 2026
2fb2d73
feat(mindmap): FreeMind GUI automation for SVG export + XSLT fallback
jsboige Mar 23, 2026
46d6cd9
fix(mindmap): reliable FreeMind GUI automation for SVG export
jsboige Mar 24, 2026
5830cba
fix(mindmap): ProcessSvgFilesAsync disambiguation matching
jsboige Mar 24, 2026
5f60e90
fix(rules): restore 24-card CSV matching CSS color scheme
jsboige Mar 24, 2026
eb57e5b
fix(rules): redistribute card content for correct pagination
jsboige Mar 24, 2026
21dc8a8
Merge master into fix/recovery-october-2025
jsboige Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
233 changes: 233 additions & 0 deletions .claude/commands/pipeline-fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
# Skill: Pipeline Fix

Corrige un problème spécifique identifié dans un rapport de validation, régénère les médias affectés, et valide jusqu'à résolution.

## Usage

```
/pipeline-fix <problem-description> [validation-report-path]
```

**Exemples:**
- `/pipeline-fix "Virtues CSS argumentsVertueux manquant" Target/fr/validation-report-20260202.md`
- `/pipeline-fix "TarotCards_fr-2.pdf page 12 blanche"`
- `/pipeline-fix "Rules sans styles CSS"`

## Workflow Automatique

### Phase 1: Analyse du Problème

**Entrées:**
- Description du problème (texte ou extrait de rapport)
- Rapport de validation (optionnel)

**Actions:**

1. **Lis le rapport de validation** (si fourni) avec Read
2. **Identifie les paramètres:**
- CardSet affecté (ex: Virtues, Fallacies, Rules)
- Type de problème (CSS, dimension, asset, synchronisation)
- Fichiers source à modifier (template JSON, config C#, CSV)
- Impact (images, PDFs, ou les deux)

3. **Détermine la stratégie de correction:**

| Type Problème | Fichiers à Modifier | Régénération Requise |
|---------------|---------------------|---------------------|
| CSS manquant | Template JSON CardPen | Images + PDFs |
| Dimension incorrecte | WebBasedGeneratorConfig.cs | Images + PDFs |
| Asset non chargé | Template JSON (URLs) | Images + PDFs |
| Sync dos/faces | PrintAndPlayDocument.cs | PDFs seulement |
| Nombre colonnes PDF | CardSetDocumentConfig | PDFs seulement |
| CSV contenu | Fichier CSV source | Images + PDFs |

### Phase 2: Application de la Correction

**Utilise les outils appropriés:**

1. **Lis les fichiers concernés** avec Read
2. **Applique la correction** avec Edit
3. **Vérifie la syntaxe:**
- JSON: Valide avec parser
- C#: `dotnet build` pour vérifier compilation
- CSV: Pas de validation auto (trop fragile)

4. **Commit la correction** si demandé:
```bash
git add [fichiers]
git commit -m "fix([scope]): [description]

[détails du problème]
[solution appliquée]

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
```

### Phase 3: Régénération Ciblée

**Selon l'impact identifié:**

#### Si Images + PDFs à régénérer

```bash
cd "Generation/Converters/Argumentum.AssetConverter"

# Option 1: Régénération complète (plus sûr)
dotnet run --project Argumentum.AssetConverter.csproj

# Option 2: Régénération partielle (si supportée)
# TODO: Implémenter flag --cardset={name} dans le pipeline
```

**Surveillance:**
- Capture logs pour le CardSet affecté
- Vérifie que le problème ne se reproduit pas
- Note durée de régénération

#### Si PDFs seulement à régénérer

**Modifier temporairement le Mode dans AssetConverterConfig.cs:**

```csharp
// Désactiver harvesting, garder seulement PDF
Mode = OperationMode.QuestPdfGeneration | OperationMode.PdfAuditor
```

Puis:
```bash
dotnet run --project Argumentum.AssetConverter.csproj
```

**IMPORTANT:** Restaurer le Mode après régénération.

### Phase 4: Validation de la Correction

**Lis visuellement les fichiers régénérés:**

1. **Images concernées** (échantillon de 5-10):
- ✅ Problème corrigé?
- ✅ Pas de régression visuelle?
- ✅ Autres cartes non affectées?

2. **PDFs concernés** (lecture complète):
- ✅ Problème corrigé dans toutes les pages?
- ✅ Pas de nouvelles pages blanches?
- ✅ Qualité visuelle maintenue?

3. **Logs de génération:**
- Grep pour warnings liés au CardSet
- Pas de nouvelles erreurs?

### Phase 5: Itération si Nécessaire

**Si problème persiste:**

1. **Analyse approfondie:**
- Lis template JSON complet
- Lis config C# complet
- Compare avec Golden Master (commit 0087f0ec)
- Cherche CLAUDE.md pour leçons apprises similaires

2. **Hypothèse alternative:**
- Documente pourquoi première correction a échoué
- Propose nouvelle stratégie
- Applique correction #2

3. **Limite d'itérations:** 3 tentatives max
- Si échec après 3 tentatives → Demande intervention humaine
- Documente tout le contexte pour debug manuel

**Si problème résolu:**

1. **Créer rapport de correction:**

```markdown
# Fix Report: [Problème]

**Date:** 2026-02-02 15:30:00
**CardSet:** Virtues Tarot FR
**Problème:** Classe CSS `argumentsVertueux` manquante

## Diagnostic

- Fichier source: `Generation/CardPen/templates/Argumentum_Virtues_Face_fr.json`
- Cause: Classe CSS non définie dans section `<style>`
- Impact: 113 cartes avec fond blanc au lieu de gris #555555

## Correction Appliquée

**Fichier:** `Generation/CardPen/templates/Argumentum_Virtues_Face_fr.json`

**Changement:**
```diff
+ .argumentsVertueux { background-color: #555555; }
```

**Commit:** `a1b2c3d4 - fix(virtues): add argumentsVertueux CSS class`

## Régénération

**Commande:** `dotnet run --project Argumentum.AssetConverter.csproj`
**Durée:** 8m 15s
**Fichiers régénérés:** 113 images, 1 PDF (37MB)

## Validation Visuelle

✅ **Images:** 10 échantillons vérifiés
- Carte racine "Arguments vertueux" → fond gris #555555 ✅
- 7 familles → couleurs conservées ✅
- Texte lisible ✅

✅ **PDF:** TarotCards_Virtues_fr-FacesOnly.pdf
- 15 pages ✅
- Fond gris page 1 ✅
- Pas de régression ✅

## Résultat

**Statut:** ✅ RÉSOLU
**Itérations:** 1/3
**Qualité:** 100% (problème éliminé)

## Leçons Apprises

- Template Virtues nécessite 8 classes CSS (1 racine + 7 familles)
- Couleur racine doit être gris #555555 (pas blanc)
- Valider TOUTES les classes CSS lors de modification templates
```

2. **Mettre à jour checkpoint:**

Ajoute entrée dans `.claude/pipeline-recovery-checkpoint.md`:

```markdown
### Session 2026-02-02 (Fix Virtues CSS)

- **Problème:** Classe CSS `argumentsVertueux` manquante
- **Correction:** Ajouté dans template Virtues_Face_fr.json
- **Validation:** 113 images + 1 PDF régénérés et vérifiés
- **Commit:** `a1b2c3d4`
```

## Utilisation dans le Workflow

Cet agent est conçu pour être appelé:

1. **Après un pipeline-validate** avec problèmes identifiés
2. **Par pipeline-iterate** pour correction automatique
3. **Manuellement** pour fix ciblé d'un problème connu

## Sorties Réutilisables

- **Fix Report MD:** Traçabilité complète de la correction
- **Commit Git:** Correction versionnée
- **Logs de régénération:** Preuve de non-régression
- **Validation visuelle:** Screenshots avant/après

## Rappels Critiques

- **Toujours lire avant modifier** - Ne jamais deviner le contenu d'un fichier
- **Valider visuellement** - Pas de "ça devrait marcher", confirme avec Read (vision)
- **Documenter pourquoi** - Capture la cause racine, pas juste le symptôme
- **Limiter les itérations** - 3 max, sinon intervention humaine nécessaire
- **Ne pas casser ce qui marche** - Vérifie absence de régression sur autres CardSets
Loading