diff --git a/.claude/workflow-progress.md b/.claude/workflow-progress.md index 88fff11..83550ba 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.2.0 | | Track | minor | -| Phase courante | 4 — PUBLICATION | -| Etape courante | 11 (done) | +| Phase courante | 5 — POST-RELEASE | +| Etape courante | 13 (done) | | workflow_version | v1.1 | --- @@ -76,8 +76,8 @@ | 9 | Smoke test | done | 2026-03-12 | tester + checklist | Auto (E2E + checklist) | step_9: done, mode: cli, rounds: 1, tests: 7/7 passed, coverage: 98% | | 10 | Documentation | merged_with_11 | 2026-03-12 | - | - | step_10: merged_with_11, pas de docs/guides ni OpenAPI | | 11 | Release | done | 2026-03-12 | /release | Auto (release creee) | step_11: done, tag: v1.2.0, mode: lightweight, guardian: APPROVED, issues: #6-#10 closed | -| 12 | Deploy (optionnel) | - | - | - | - | - | -| 13 | Retrospective | - | - | documenter | Auto (metriques + analyse) | - | +| 12 | Deploy (optionnel) | skipped | 2026-03-12 | - | - | CLI local, pas de deploy | +| 13 | Retrospective | done | 2026-03-12 | documenter | Auto (metriques et analyse) | step_13: done, metrics_written: true, analysis_written: true, gitea_milestone: closed | --- @@ -124,6 +124,8 @@ | 2026-03-12 | step 9 done | Smoke test CLI reel, 7/7 tests E2E, retrocompat OK, JSON OK, tri OK, filtre OK | | 2026-03-12 | step 10 merged_with_11 | Pas de docs/guides ni OpenAPI | | 2026-03-12 | step 11 done | Tag v1.2.0, release Gitea, push origin, guardian APPROVED, lightweight mode, issues #6-#10 closed | +| 2026-03-12 | step 12 skipped | CLI local, pas de deploy | +| 2026-03-12 | step 13 done | Retrospective, metriques, analyse, milestone fermee | ## Versions completees @@ -131,3 +133,4 @@ |---------|-----------|----------|-------| | v1.0.0 | 2026-03-10 | 2026-03-10 | major-initial, 12/13 steps, audit 97, 37 tests | | 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 | diff --git a/docs/analyse/gitea-dashboard-v1.2.0-2026-03-12.md b/docs/analyse/gitea-dashboard-v1.2.0-2026-03-12.md new file mode 100644 index 0000000..753bc89 --- /dev/null +++ b/docs/analyse/gitea-dashboard-v1.2.0-2026-03-12.md @@ -0,0 +1,67 @@ +# 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 + +1. **Sort milestones** : la section milestones utilisait la liste non triee +2. **Sort JSON** : `--sort` etait ignore en mode `--format json` +3. **Import lazy** : `export_json` importe conditionnellement dans le corps de main() +4. **Helper duplique** : `_make_repo` identique dans test_display.py et test_exporter.py +5. **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.