diff --git a/.claude/workflow-progress.md b/.claude/workflow-progress.md index 79a8675..8c5a421 100644 --- a/.claude/workflow-progress.md +++ b/.claude/workflow-progress.md @@ -9,8 +9,8 @@ | Origine | gitea@192.168.0.106:admin/gitea-dashboard.git | | Version courante | v1.4.0 | | Track | minor | -| Phase courante | 4 — PUBLICATION | -| Etape courante | 11 (done) | +| Phase courante | 5 — POST-RELEASE | +| Etape courante | 13 (done) | | workflow_version | v1.1 | --- @@ -103,7 +103,7 @@ | 10 | Documentation | merged_with_11 | 2026-03-13 | - | - | Pas de docs/guides ni OpenAPI | | 11 | Release | done | 2026-03-13 | /release | Auto (release creee) | step_11: done, tag: v1.4.0, mode: lightweight, guardian: APPROVED, issues: #16-#19 closed | | 12 | Deploy (optionnel) | skipped | 2026-03-13 | - | - | CLI local, pas de deploy | -| 13 | Retrospective | - | - | documenter | Auto (metriques + analyse) | - | +| 13 | Retrospective | done | 2026-03-13 | documenter | Auto (metriques et analyse) | step_13: done, metrics_written: true, analysis_written: true, gitea_milestone: closed | --- @@ -169,6 +169,7 @@ | 2026-03-13 | step 10 merged_with_11 | Pas de docs/guides ni OpenAPI | | 2026-03-13 | step 11 done | Tag v1.4.0, release Gitea, push origin, guardian APPROVED, lightweight mode, issues #16-#19 closed | | 2026-03-13 | step 12 skipped | CLI local, pas de deploy | +| 2026-03-13 | step 13 done | Retrospective, metriques, analyse, milestone fermee | ## Versions completees @@ -178,3 +179,4 @@ | v1.1.0 | 2026-03-11 | 2026-03-11 | minor, 7/8 steps (10 merged, 12 skipped), audit 100, 53 tests | | v1.2.0 | 2026-03-12 | 2026-03-12 | minor, 7/8 steps (10 merged, 12 skipped), audit 100, 88 tests | | v1.3.0 | 2026-03-12 | 2026-03-12 | minor, 7/8 steps (10 merged, 12 skipped), audit 100, 122 tests | +| v1.4.0 | 2026-03-13 | 2026-03-13 | minor, 7/8 steps (10 merged, 12 skipped), audit 100, 166 tests | diff --git a/docs/analyse/gitea-dashboard-v1.4.0-2026-03-13.md b/docs/analyse/gitea-dashboard-v1.4.0-2026-03-13.md new file mode 100644 index 0000000..7e2221d --- /dev/null +++ b/docs/analyse/gitea-dashboard-v1.4.0-2026-03-13.md @@ -0,0 +1,72 @@ +# Analyse de version — gitea-dashboard v1.4.0 + +**Date** : 2026-03-13 +**Track** : minor +**Durée** : 1 session + +## Métriques + +| Métrique | v1.3.0 | v1.4.0 | Delta | +|----------|--------|--------|-------| +| Fichiers source | 7 | 8 | +1 (+14%) | +| Lignes source | ~850 | 1138 | +288 (+34%) | +| Tests | 122 | 166 | +44 (+36%) | +| Couverture | 99% | 94% | -5% | +| Dépendances runtime | 2 | 3 | +1 (PyYAML) | +| Audit initial (reviewer) | 68 | - | - | +| Audit initial (guardian) | 87 | - | - | +| Audit final | 100 | - | - | +| Rounds d'audit | 2 | - | - | +| Corrections d'audit | 6 | - | - | +| Smoke tests E2E | 11/12 | - | - | + +## Alertes + +| Métrique | Seuil | Valeur | Statut | +|----------|-------|--------|--------| +| Tests | +50% | +36% | OK | +| Couverture | -5% | -5% | **ALERTE** | +| Dépendances | +5 | +1 | OK | + +**Couverture -5%** : la baisse de 99% à 94% est due aux nouvelles branches dans `display.py` (rendu conditionnel des colonnes, coloration milestones) et `config.py` (chemins de fichier par défaut). Ces branches sont difficiles à tester sans infrastructure de capture console plus élaborée. Les fonctions critiques (collecte, export, retry) restent à 100%. + +## Issues traitées + +| Issue | Titre | Type | Résultat | +|-------|-------|------|----------| +| #16 | Milestone progress view (--milestones) | feat | Fermée | +| #17 | YAML configuration file support | feat | Fermée | +| #18 | Handle API timeout during paginated requests | fix | Fermée | +| #19 | Configurable column visibility (--columns) | improvement | Fermée | + +## ADR produits + +- ADR-012 : Dégradation gracieuse sur timeout dans `_get_paginated` +- ADR-013 : Nouveau module `config.py` pour la configuration YAML +- ADR-014 : Dataclass `MilestoneData` pour la vue milestones +- ADR-015 : Colonnes configurables par inclusion/exclusion + +## Observations + +### Ce qui a bien fonctionné + +- **TDD 4 commits** (2 RED + 2 GREEN) : les tests failing d'abord ont permis de détecter les interfaces manquantes avant l'implémentation +- **Audit adversarial** : 6 findings détectés dont 2 majeurs (colonne activity non rendue, incohérence token/auth). Sans l'audit, ces bugs auraient été livrés en production +- **Dégradation gracieuse** : le pattern timeout partiel est propre et réutilisable pour d'autres cas +- **Configuration YAML** : architecture propre avec module dédié, résolution ${VAR}, et détection des variables non résolues + +### Points d'attention + +- **Couverture en baisse** : la colonne `activity` duplique le rendu de `commit` — une future version pourrait différencier ces colonnes (fréquence vs date) +- **Syntaxe `--columns`** : l'exclusion par préfixe `-` nécessite la syntaxe `--columns="-col"` à cause d'argparse — documenter dans l'aide CLI +- **Clé `columns` dans YAML** : le fichier config YAML ne supporte pas encore la clé `columns` — finding mineur du smoke test, à traiter en v1.5 + +### Améliorations de workflow + +- L'orchestrator a produit les 4 commits TDD correctement malgré la complexité (10 fichiers) +- Le fixer a corrigé les 6 findings en une seule passe sans régression +- Le mode lightweight de release gate (audit_final=100) a permis d'accélérer la publication + +## Conclusion + +Version v1.4.0 livrée avec 4 fonctionnalités majeures et 1 bugfix. Le projet atteint 8 modules source, 166 tests, et 3 dépendances runtime. La couverture a baissé de 5% mais reste à 94%. Le prochain cycle devrait prioriser la couverture des branches display.py et le support de `columns` dans la config YAML.