2.6 KiB
2.6 KiB
Analyse v1.2.0 — gitea-dashboard
Date : 2026-03-12 Track : minor Issues : #6, #7, #8, #9, #10 (5/5 fermees)
Metriques
| Metrique | v1.1.0 | v1.2.0 | Delta | Seuil | Alerte |
|---|---|---|---|---|---|
| Modules source | 5 | 7 | +2 | — | — |
| Lignes source | ~400 | 551 | +38% | — | — |
| Fichiers test | 4 | 6 | +2 | — | — |
| Tests | 53 | 88 | +66% | +50% | OUI |
| Couverture | ~95% | 93% | -2% | -5% | non |
| Dependances | 2 | 2 | 0 | +5 | non |
| Audit initial | 94 | 78 | -16 | — | — |
| Audit final | 100 | 100 | 0 | — | — |
| Rounds audit | 2 | 3 | +1 | — | — |
Alerte : tests +66%
La croissance des tests depasse le seuil de +50%. C'est attendu pour une version minor ajoutant 5 fonctionnalites (4 Added + 1 Fixed). Le ratio tests/fonctionnalite reste stable (~7 tests/fonctionnalite). Pas d'action corrective necessaire.
Chronologie
| Etape | Duree estimee | Notes |
|---|---|---|
| 6 Plan | rapide | architect, 3 phases, 3 ADR |
| 7 Dev | moyen | orchestrator (8 fichiers), 1 commit |
| 8 Audit | moyen | 3 rounds (78→94→100), 4 corrections |
| 9 Smoke | rapide | 7/7 E2E, 1 round |
| 10 Docs | fusionne avec 11 | — |
| 11 Release | rapide | lightweight, guardian APPROVED |
| 12 Deploy | skip | CLI local |
| 13 Retro | rapide | metriques + analyse |
Findings d'audit corriges
- Sort milestones : la section milestones utilisait la liste non triee
- Sort JSON :
--sortetait ignore en mode--format json - Import lazy :
export_jsonimporte conditionnellement dans le corps de main() - Helper duplique :
_make_repoidentique dans test_display.py et test_exporter.py - N+1 API : declasse en dette documentee (ADR-003), 3 appels/repo accepte
Decisions notables
- ADR-006 : ajout de
exporter.py(5e module), separation serialisation/affichage - ADR-007 : retry manuel plutot que urllib3.Retry (simplicite, testabilite)
- ADR-008 : tri dans display.py, pas collector.py (SRP)
- sort_repos rendu public : necessaire pour le tri JSON dans cli.py
Points d'amelioration pour v1.3+
- Parallelisation des appels API (ADR-003, 3 appels sequentiels par repo)
- Export CSV
- Cache API local
- Couverture display.py a 86% (branches de formatage de dates)
Conclusion
Version v1.2.0 livree avec les 5 fonctionnalites prevues. Audit final 100/100. Le score initial d'audit (78) est le plus bas depuis v1.0.0, principalement du a des bugs introduits par l'orchestrateur (sort inconsistency, sort JSON). Les corrections ont ete rapides (3 rounds). La dette N+1 est documentee et planifiee.