2 Commits
v1.4.0 ... HEAD

Author SHA1 Message Date
sylvain
b43a1359e6 chore(workflow): complete step 13 (retrospective), v1.4.0 done
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 04:24:22 +01:00
sylvain
0e3dff86fa chore(workflow): complete step 11 (release v1.4.0), skip step 12
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 04:22:35 +01:00
2 changed files with 83 additions and 6 deletions

View File

@@ -9,8 +9,8 @@
| Origine | gitea@192.168.0.106:admin/gitea-dashboard.git | | Origine | gitea@192.168.0.106:admin/gitea-dashboard.git |
| Version courante | v1.4.0 | | Version courante | v1.4.0 |
| Track | minor | | Track | minor |
| Phase courante | 2DEV | | Phase courante | 5POST-RELEASE |
| Etape courante | 9 (done) | | Etape courante | 13 (done) |
| workflow_version | v1.1 | | workflow_version | v1.1 |
--- ---
@@ -100,10 +100,10 @@
| 7 | Developpement | done | 2026-03-13 | orchestrator | Auto (tests passent) | step_7: done, commits: 4 (2 RED + 2 GREEN), files_modified: 5, files_created: 1, tests: 162 passed (122 existing + 40 new), fixes #16-#19 | | 7 | Developpement | done | 2026-03-13 | orchestrator | Auto (tests passent) | step_7: done, commits: 4 (2 RED + 2 GREEN), files_modified: 5, files_created: 1, tests: 162 passed (122 existing + 40 new), fixes #16-#19 |
| 8 | Audit + corrections | done | 2026-03-13 | reviewer + guardian + fixer | Auto (score 100) | step_8: done, audit_initial: 68 (reviewer) / 87 (guardian), audit_final: 100, rounds: 2, corrections: 6 (activity col, token/auth key, unresolved vars, tests), 166 tests | | 8 | Audit + corrections | done | 2026-03-13 | reviewer + guardian + fixer | Auto (score 100) | step_8: done, audit_initial: 68 (reviewer) / 87 (guardian), audit_final: 100, rounds: 2, corrections: 6 (activity col, token/auth key, unresolved vars, tests), 166 tests |
| 9 | Smoke test | done | 2026-03-13 | tester + checklist | Auto (E2E + checklist) | step_9: done, mode: cli, rounds: 1, tests: 11/12 passed (1 syntaxe argparse attendue), finding mineur: columns YAML ignoree | | 9 | Smoke test | done | 2026-03-13 | tester + checklist | Auto (E2E + checklist) | step_9: done, mode: cli, rounds: 1, tests: 11/12 passed (1 syntaxe argparse attendue), finding mineur: columns YAML ignoree |
| 10 | Documentation | - | - | documenter | Auto (README + CHANGELOG) | merged_with_11 si pas docs/guides | | 10 | Documentation | merged_with_11 | 2026-03-13 | - | - | Pas de docs/guides ni OpenAPI |
| 11 | Release | - | - | /release | Auto (release creee) | - | | 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) | - | - | - | - | CLI local, skip prevu | | 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 |
--- ---
@@ -166,6 +166,10 @@
| 2026-03-13 | step 7 done | 4 commits TDD (2 RED + 2 GREEN), 5 fichiers modifiés, 1 créé, 162 tests (40 nouveaux), fixes #16-#19 | | 2026-03-13 | step 7 done | 4 commits TDD (2 RED + 2 GREEN), 5 fichiers modifiés, 1 créé, 162 tests (40 nouveaux), fixes #16-#19 |
| 2026-03-13 | step 8 done | Audit: reviewer 68→100, guardian 87→100, 2 rounds, 6 corrections, 166 tests | | 2026-03-13 | step 8 done | Audit: reviewer 68→100, guardian 87→100, 2 rounds, 6 corrections, 166 tests |
| 2026-03-13 | step 9 done | Smoke test CLI réel, 11/12 tests E2E, milestones OK, columns OK, config YAML OK, JSON pipe OK | | 2026-03-13 | step 9 done | Smoke test CLI réel, 11/12 tests E2E, milestones OK, columns OK, config YAML OK, JSON pipe OK |
| 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 ## Versions completees
@@ -175,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.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.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.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 |

View File

@@ -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.