Files
gitea-dashboard/docs/analyse/gitea-dashboard-v1.4.0-2026-03-13.md
2026-03-13 04:24:22 +01:00

3.5 KiB

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.