From 518fad17af5207cafae3d984ba8dd1d9db693390 Mon Sep 17 00:00:00 2001 From: jsboige Date: Sun, 14 Jun 2026 04:50:51 +0200 Subject: [PATCH] docs(release): align validation brief post-#460 + fix test-count drift 155->159 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The v0.9.0 validation brief (PR #462) was written from a pre-#460 reading and flagged doc discrepancies that #460 had already resolved, plus it under-reported the test count. Corrections (3 files, docs-only): 1. release-v0.9.0-validation-brief.md - reframe §3.1/§3.2 as RESOLVED by PR #460 (36124be2): MindMap SVGs correctly state FR/EN/RU/PT committed (21) + ES/AR/FA/ZH pending (CHANGELOG L16, RELEASE-NOTES L25/L35/L92); Generated Assets counts reconciled to 64 (Tarot 24 + Poker 16 + Web 24). Simplifies jsboige's residual decision to: regenerate MindMaps 8-lang (Track 1a, option A) vs status quo (option B, already applied by #460). Also fixes a structural duplication in the prior commit (stale §3.1 RED / §3.2 YELLOW sections that should have been removed) and adds §3.4. 2. §3.4 (new) - test-count drift: CHANGELOG L70 + RELEASE-NOTES L46 said 155 tests, but dashboard reports 159 after #465/#28. Verified by grep [Fact]/[Theory]: Issue28TargetDissociationTests.cs = 4 tests; #466/#467 /#468 are doc-only / Enabled=false config -> 0 runtime tests. 155+4=159. 3. CHANGELOG.md L70 + RELEASE-NOTES-v0.9.0.md L46 - 155 -> 159 tests ("+4 from #465/#28 front/back dissociation"). Only §3.3 trivial date placeholders remain (normal, pre-tag). Gate release unchanged - no tag/launch/merge. Co-Authored-By: Claude Opus 4.6 --- CHANGELOG.md | 2 +- RELEASE-NOTES-v0.9.0.md | 2 +- docs/release-v0.9.0-validation-brief.md | 83 +++++++++++-------------- 3 files changed, 40 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ec7992b..5655bc7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,7 +67,7 @@ Complete restoration of the generation pipeline from the April 2024 Golden Maste ### Test Coverage -- **155 tests** pass (up from 0 in April 2024) +- **159 tests** pass (up from 0 in April 2024; +4 from #465/#28 front/back dissociation) - Coverage includes: CsvDiffEngine, SyncSafetyChecker, DiffReport, CsvToGrid, MindMapHtmlWrapper, FallaciesLocalizationTests, TaxonomyValidationTests, Memo_Back localization, Playwright visual tests - 1 skip (Freeplane GUI — requires interactive session) - 5 skips (visual/infrastructure-dependent) diff --git a/RELEASE-NOTES-v0.9.0.md b/RELEASE-NOTES-v0.9.0.md index fbf5e410..e44b0b93 100644 --- a/RELEASE-NOTES-v0.9.0.md +++ b/RELEASE-NOTES-v0.9.0.md @@ -43,7 +43,7 @@ After a series of regressions (May–September 2025), the entire .NET generation - **HarvestManager**: Playwright-based card image generation restored with correct timeouts and CSV injection - **PdfManager**: QuestPDF assembly working with thread-safe serialization - **MindMapper**: FreeMind + Batik SVG generation automated (including FreePlane GUI) -- **Tests**: 155 automated tests (up from 0) +- **Tests**: 159 automated tests (up from 0; +4 from #465/#28 front/back dissociation) ### 📊 Data Quality diff --git a/docs/release-v0.9.0-validation-brief.md b/docs/release-v0.9.0-validation-brief.md index 83170a55..274c09b3 100644 --- a/docs/release-v0.9.0-validation-brief.md +++ b/docs/release-v0.9.0-validation-brief.md @@ -23,7 +23,7 @@ validation, il ne la remplace pas et ne lève rien. | Images carte (PNG) ~9 834 | RELEASE-NOTES L36 | | **MindMap SVGs générés « pour les 8 langues »** | **CHANGELOG L16 / RELEASE-NOTES L25, L35** | | Pipeline restauré vs Golden Master avril 2024 | CHANGELOG L38-48 / RELEASE-NOTES L39-46 | -| 155 tests (depuis 0) | CHANGELOG L70 / RELEASE-NOTES L46 | +| Tests : docs disent 155, réel = 159 (PR #465/#28 +4) | CHANGELOG L70 / RELEASE-NOTES L46 — **corrigé ce tick → 159** | | OWL ontologie : FR seulement | RELEASE-NOTES L37, L91 | --- @@ -38,64 +38,46 @@ Ces points sont confirmés par inspection directe des artefacts locaux (régén `Fallacies_Web_Thumbnails_A4`. Les 8 sous-dossiers langue (`ar en es fa fr pt ru zh`) sont tous présents et peuplés. - ✅ **~9 834 images** (régén validée 12 juin, exit 0, 5,0 Go). -- ✅ **155 tests pass / 0 fail / 5 skip** (dont 1 skip = test GUI FreePlane « requires interactive - session » — pertinent pour le point chaud §3.1). +- ✅ **159 tests pass / 0 fail / 5 skip** (dont 1 skip = test GUI FreePlane « requires interactive + session » — pertinent pour le point chaud §3.1). 155 → 159 via PR #465/#28 (front/back target + dissociation, +4 tests `Issue28TargetDissociationTests`), compté par grep `[Fact]/[Theory]` ce tick. + PRs #466/#467/#468 sont doc-only / config `Enabled=false` → 0 test runtime. - ✅ **Rendu multi-script validé inline** avec toi : Memo Backs FR/RU/AR/ZH + fronts Fallacies « Généralisation hâtive » FR/AR/ZH — Latin / Cyrillique / Arabe-RTL / CJK corrects, zéro glyphe manquant, zéro débordement, zéro fallback FR (#452 résolu sur pièce). --- -## 3. ⚠️ À TRANCHER avant tag — 3 écarts trouvés dans les docs #456 +## 3. ⚠️ À TRANCHER avant tag — 1 écart résiduel (§3.3 trivial) ; §3.1/§3.2 RÉSOLUS par PR #460, §3.4 CORRIGÉ ce tick -J'ai relu les 2 docs ligne à ligne contre les artefacts réels. Je **ne** les rubber-stamp pas : -voici les 3 écarts, du plus matériel au plus trivial. +> **Mise à jour 2026-06-14 (po-2023).** En relisant les docs sur master `8382a071`, je constate que la +> PR **#460** (`36124be2` « align v0.9.0 notes with master HEAD reality », merge-bot, post-#456) a +> **déjà corrigé** les écarts §3.1 et §3.2 que je signalais dans la version initiale de ce brief. Cette +> section est alignée : il ne reste qu'un écart trivial (placeholders de date, §3.3 — normal avant tag). +> _Note process : mon brief initial (#462) a été rédigé d'après une lecture pré-#460 et n'avait pas +> été re-syncé — d'où les 2 écarts fantômes. Gap de review signalé à ai-01._ -### 3.1 🔴 MATÉRIEL — « MindMap SVGs pour les 8 langues » est **sur-affirmé** +### 3.1 ✅ RÉSOLU (PR #460) — MindMap SVGs : docs désormais alignés sur la réalité 4-langues -**Affirmé :** CHANGELOG L16 « FreeMind mind maps generated **for all 8 languages** » ; -RELEASE-NOTES L35 table « MindMap SVGs | **8** | ~40 ». +**État courant (vérifié 14/06 sur master `8382a071`) :** CHANGELOG L16, RELEASE-NOTES L25 et L35, et +Known Limitations L92 disent **tous** « FR/EN/RU/PT (21 SVGs), ES/AR/FA/ZH configurés mais régén +pending ». **Plus de sur-affirmation, plus de contradiction interne** — l'écart matériel est clos. -**Réel (vérifié dans `Cards/Fallacies/Mindmaps/`) :** seules **4 langues** ont des SVGs commités — -`fr` (6), `en` (5), `pt` (5), `ru` (5) = **21 SVGs**. **`es`, `ar`, `fa`, `zh` sont ABSENTS** (pas -de sous-dossier). +**Réel (inchangé, vérifié dans `Cards/Fallacies/Mindmaps/`) :** 4 langues commitées (21 SVGs), +`es/ar/fa/zh` absents. Le pipeline est configuré pour les 8 (PR #454), seul le run GUI FreePlane manque. -**Pire que ce que les docs admettent :** RELEASE-NOTES L92 (Known Limitations) reconnaît -*partiellement* l'écart — « MindMap SVGs for **AR/FA/ZH** : regeneration pending » — mais **omet ES** -et **contredit sa propre table L35** (« 8 »). Donc un lecteur a deux affirmations opposées dans le -même fichier. +**Décision résiduelle pour jsboige (simplifiée) — statu quo vs régén :** +- **(A) Régénérer** MindMap ES/AR/FA/ZH (Track 1a, run attendu/foreground) → les docs passent de + « 4 + pending » à « 8 ». _Si les MindMaps 8-lang sont dans le scope v0.9.0._ +- **(B) Statu quo** (= option B du brief initial, **déjà appliquée par #460**) : les docs restent + honnêtes sur 4 langues. _Si les MindMaps 8-lang peuvent attendre post-v0.9.0._ -**État technique :** le pipeline EST configuré pour les 8 langues (PR #454 : `StaticConversions` + -`MindMapLocalization` AR/FA/ZH/ES présents dans `AssetConverterConfig.cs`). Il manque **uniquement le -RUN de régénération** — qui passe par l'automation **GUI FreePlane** (`SendKeys.SendWait`, desktop -takeover ; c'est exactement le chemin que le test suite **skip** comme « interactive session »). +> Avec #460, l'option B est **déjà faite** — jsboige n'a plus qu'à décider si elle veut activer A. -**Ta décision dimanche (2 options) :** -- **(A) Faire la vérité :** lancer la régén MindMap ES/AR/FA/ZH (Track 1a) — run **attendu/foreground** - (pas en tick automatisé, risque de keystrokes parasites). Après ça, l'affirmation « 8 langues » - devient exacte. _Recommandé si les MindMaps font partie du livrable v0.9.0._ -- **(B) Aligner les docs :** corriger CHANGELOG L16 + RELEASE-NOTES L25/L35 en « 4 langues - (FR/EN/RU/PT) générées, ES/AR/FA/ZH en attente de régén » et retirer la contradiction L92. - _Recommandé si les MindMaps 8-lang peuvent attendre post-v0.9.0._ +### 3.2 ✅ RÉSOLU (PR #460) — table « Generated Assets » : comptes réconciliés -> Un patch « option B » (docs alignées) peut être préparé en 5 min si tu choisis B. Je n'ai -> **rien modifié** d'office — c'est ton arbitrage. - -### 3.2 🟡 MINEUR — table « Generated Assets » : comptes par type non réconciliés - -RELEASE-NOTES L31-34 donne des comptes par type qui **ne réconcilient pas** avec la structure réelle -(8 types × 8 langues = 64) : - -| Doc dit | Réel | -|---------|------| -| Tarot Card PDFs — « ~64 » | `TarotCards` = 8 (le « ~64 » ressemble au **total global mal étiqueté**) | -| A0 Poster PDFs — « ~16 » | `Fallacies_Web_A0` = 8 | -| Print&Play PDFs — « ~16 » | Tarot P&P (8) + Poker P&P (8) = **16 ✓** | -| Poker Card PDFs — « ~8 » | `PokerCards` = 8 ✓ | - -**Suggestion :** remplacer la table par le décompte propre **8 types × 8 langues = 64 PDFs** (liste -des 8 types ci-dessus §2). Cosmétique, mais évite qu'un lecteur additionne ~64+16+16+8 ≈ 104 et se -demande où sont les PDFs manquants. +**État courant :** RELEASE-NOTES L31-34 donne désormais **Tarot 24 + Poker 16 + Fallacies Web 24 = +64** (8 langues × {3 + 2 + 3} types). **Réconcilié** avec la structure réelle (§2). Plus d'ambiguïté. ### 3.3 ⚪ TRIVIAL — placeholders de date @@ -105,6 +87,17 @@ demande où sont les PDFs manquants. À remplir **au moment du tag** (post-validation, post-go-live DNN). Normal qu'ils soient en attente — juste à ne pas oublier. +### 3.4 ✅ CORRIGÉ ce tick (po-2023) — test count drift (155 → 159) + +**Drift détecté :** le CHANGELOG L70 + RELEASE-NOTES L46 disaient **155 tests**, mais le dashboard +ai-01 rapporte **159** après #465/#28. Vérifié par grep `[Fact]/[Theory]` dans +`Argumentum.AssetConverter.Tests/` ce tick : `Issue28TargetDissociationTests.cs` = **4 tests** (PR +#465/#28, sur master `8382a071`). Les PRs #466/#467/#468 sont doc-only / config `Enabled=false` → +**0 test runtime**. Donc 155 + 4 = **159**. ai-01 avait raison. + +**Correctif appliqué ce tick** (même patch que ce brief) : CHANGELOG L70 + RELEASE-NOTES L46 mis à +**159** (`+4 from #465/#28`). Plus de drift pour la validation dimanche. + --- ## 4. Hors-docs mais lié — bug i18n trouvé pendant l'audit DNN (#457)