chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
# Contrôle du scope — Anti-scope-creep
|
|
|
|
|
|
|
|
|
|
**Objectif** : Éviter toute dérive de scope. Chaque modification doit être intentionnelle et traçable.
|
2026-02-22 13:26:28 +00:00
|
|
|
**Référence active** : [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md)
|
|
|
|
|
**Version précédente** : [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md)
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 1. Règle d'or
|
|
|
|
|
|
2026-02-22 13:26:28 +00:00
|
|
|
> **Avant d'ajouter quoi que ce soit : vérifier si c'est dans le scope v0.402.**
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
> Si non → ne pas ajouter. Créer un ticket pour une version ultérieure.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-02-22 13:26:28 +00:00
|
|
|
## 2. Pendant la phase v0.402 (jusqu'au tag)
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
### 2.1 Autorisé
|
|
|
|
|
|
2026-02-22 13:26:28 +00:00
|
|
|
- **Corrections de bugs** sur les features IN SCOPE v0.402
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
- **Stabilisation** : tests, refactoring sans changement de comportement
|
|
|
|
|
- **Nettoyage** : suppression de code mort, consolidation
|
|
|
|
|
- **Documentation** : mise à jour des docs existantes
|
|
|
|
|
- **Sécurité** : correctifs de vulnérabilités identifiées
|
|
|
|
|
- **Accessibilité** : corrections a11y sur composants existants
|
|
|
|
|
|
|
|
|
|
### 2.2 Interdit
|
|
|
|
|
|
2026-02-22 13:02:31 +00:00
|
|
|
- **Nouvelles features** hors scope v0.401
|
2026-02-20 14:23:12 +00:00
|
|
|
- **Nouvelles routes** ou pages hors scope
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
- **Nouvelles dépendances** (sauf correctif sécurité)
|
|
|
|
|
- **Changements de comportement** sur les features HORS SCOPE
|
2026-02-22 13:26:28 +00:00
|
|
|
- **"Améliorations"** non liées à un bug identifié ou une feature IN SCOPE v0.402
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
### 2.3 Cas limite
|
|
|
|
|
|
|
|
|
|
| Situation | Action |
|
|
|
|
|
|-----------|--------|
|
2026-02-22 13:26:28 +00:00
|
|
|
| Bug dans une feature HORS SCOPE | Corriger si blocant pour une feature IN SCOPE v0.402. Sinon : ticket pour plus tard. |
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
| Dépendance obsolète/vulnérable | Mettre à jour. Documenter dans la PR. |
|
|
|
|
|
| Refactoring qui change une API interne | Autorisé si 0 impact sur le contrat public et tests passent. |
|
2026-02-22 13:26:28 +00:00
|
|
|
| "Petite amélioration UX" | **Non.** Créer un ticket pour v0.403+. |
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 3. Processus de validation avant commit
|
|
|
|
|
|
|
|
|
|
### 3.1 Checklist pré-commit (dans la tête)
|
|
|
|
|
|
2026-02-22 13:26:28 +00:00
|
|
|
1. **Mon changement modifie-t-il une feature IN SCOPE v0.402 ?**
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
- Oui → Continuer. S'assurer qu'il n'y a pas de régression.
|
|
|
|
|
- Non → **STOP.** Est-ce une correction de bug ? Si oui, la feature est-elle IN SCOPE ?
|
|
|
|
|
|
|
|
|
|
2. **Mon changement ajoute-t-il du code ?**
|
2026-02-22 13:26:28 +00:00
|
|
|
- Nouvelle route, nouveau composant, nouveau service → Vérifier V0_402_RELEASE_SCOPE. Si hors scope → **STOP.**
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
- Correction, refactoring, test → OK si lié à une feature IN SCOPE.
|
|
|
|
|
|
|
|
|
|
3. **Mes tests passent-ils ?**
|
|
|
|
|
- `npm test -- --run` (frontend)
|
|
|
|
|
- `go test ./...` (backend)
|
|
|
|
|
- Aucune régression sur les tests existants.
|
|
|
|
|
|
|
|
|
|
### 3.2 Conventions de commit
|
|
|
|
|
|
|
|
|
|
Format : `type(scope): description`
|
|
|
|
|
|
|
|
|
|
- `fix(auth): correct token refresh loop` ✅
|
|
|
|
|
- `fix(playlists): pagination boundary check` ✅
|
|
|
|
|
- `test(player): add coverage for seek` ✅
|
|
|
|
|
- `refactor(tracks): extract upload validation` ✅
|
|
|
|
|
- `feat(chat): add typing indicator` ❌ (nouvelle feature)
|
|
|
|
|
- `chore: update deps` → OK si correctif sécurité, sinon éviter
|
|
|
|
|
|
|
|
|
|
**Commits réguliers** : 1 commit = 1 changement logique. Pas de méga-commits.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 4. Processus PR
|
|
|
|
|
|
|
|
|
|
### 4.1 Vérification scope (obligatoire)
|
|
|
|
|
|
|
|
|
|
Dans chaque PR, le relecteur doit valider :
|
|
|
|
|
|
2026-02-22 13:26:28 +00:00
|
|
|
- [ ] Le changement est dans le scope v0.402 (voir [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md))
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
- [ ] Aucune nouvelle feature ajoutée
|
|
|
|
|
- [ ] Aucune régression sur les flows critiques
|
|
|
|
|
- [ ] Les tests passent
|
|
|
|
|
- [ ] La description explique le *pourquoi* (bug, stabilisation, nettoyage)
|
|
|
|
|
|
|
|
|
|
### 4.2 Rejet automatique
|
|
|
|
|
|
|
|
|
|
Une PR sera rejetée si :
|
|
|
|
|
|
|
|
|
|
- Elle ajoute une nouvelle route, page ou feature
|
|
|
|
|
- Elle modifie le comportement d'une feature HORS SCOPE (sauf correctif bug critique)
|
|
|
|
|
- Les tests échouent
|
|
|
|
|
- Elle introduit une dépendance non justifiée
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-02-22 02:38:49 +00:00
|
|
|
## 5. Proposer une feature pour APRÈS v0.303
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
### 5.1 Template
|
|
|
|
|
|
|
|
|
|
Utiliser le template [Feature request](.github/ISSUE_TEMPLATE/feature_request.md) avec :
|
|
|
|
|
|
2026-02-22 13:26:28 +00:00
|
|
|
- **Alignement scope** : cocher "Hors scope v0.402 — pour v0.403+"
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
- **Justification** : pourquoi cette feature est nécessaire
|
|
|
|
|
- **Effort estimé** : S / M / L / XL
|
2026-02-22 02:38:49 +00:00
|
|
|
- **Dépendances** : quelles features v0.303 doivent être stables avant
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
### 5.2 Workflow
|
|
|
|
|
|
|
|
|
|
1. Créer une issue avec le template
|
2026-02-22 13:26:28 +00:00
|
|
|
2. **Ne pas implémenter** tant que v0.402 n'est pas taguée
|
|
|
|
|
3. Une fois v0.402 stable, prioriser les issues "v0.403" dans V0_403_RELEASE_SCOPE.md
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 6. Gestion des exceptions
|
|
|
|
|
|
|
|
|
|
### 6.1 Urgence sécurité
|
|
|
|
|
|
|
|
|
|
Si une vulnérabilité critique est identifiée :
|
|
|
|
|
|
|
|
|
|
- Correctif autorisé **immédiatement**
|
|
|
|
|
- Documenter dans la PR
|
2026-02-22 13:02:31 +00:00
|
|
|
- Pas besoin d'être dans le scope v0.401
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
### 6.2 Blocage production
|
|
|
|
|
|
|
|
|
|
Si un bug bloque un déploiement ou un flow critique :
|
|
|
|
|
|
|
|
|
|
- Correctif autorisé
|
2026-02-22 13:02:31 +00:00
|
|
|
- La feature concernée doit être IN SCOPE v0.401 ou dépendance directe d'une feature IN SCOPE
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
### 6.3 Décision collégiale
|
|
|
|
|
|
|
|
|
|
Pour tout cas ambigu :
|
|
|
|
|
|
|
|
|
|
- Ouvrir une issue "Scope clarification"
|
|
|
|
|
- Décision documentée dans l'issue
|
2026-02-22 13:26:28 +00:00
|
|
|
- Mise à jour de V0_402_RELEASE_SCOPE.md si le scope est étendu (exception rare)
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 7. Après le tag d'une version
|
|
|
|
|
|
2026-02-22 13:26:28 +00:00
|
|
|
1. **Créer** le document de scope de la version suivante (ex: `V0_403_RELEASE_SCOPE.md`)
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
2. **Définir** explicitement les nouvelles features autorisées
|
|
|
|
|
3. **Mettre à jour** la référence active dans ce document (section header)
|
|
|
|
|
4. **Reprendre** ce processus avec le nouveau document de scope
|
|
|
|
|
5. **Archiver** l'ancien document dans `docs/archive/` une fois obsolète
|
|
|
|
|
|
|
|
|
|
**Historique des versions** :
|
|
|
|
|
- v0.101 : Stabilisation, freeze fonctionnel (taguée)
|
2026-02-20 13:48:08 +00:00
|
|
|
- v0.102 : Déblocage Coming Soon, renforcement coeur produit (taguée)
|
2026-02-20 14:23:12 +00:00
|
|
|
- v0.103 : Complétion Phase 1 Fondation — Auth A1/A4, Profils B1-B3 (taguée)
|
2026-02-20 14:44:30 +00:00
|
|
|
- v0.201 : Phase 2 Contenu — Lot E Métadonnées (BPM, key, lyrics, tags) — taguée
|
feat(release): v0.202 — Lots G, H, F, C, D
- Lot G: Recherche avancée (musical_key, tri pertinence, autocomplete, facettes, historique)
- Lot H: Analytics créateur (stats, charts, completion rate, export CSV/JSON)
- Lot F: Seller dashboard (GET /sell/stats, liste produits)
- Lot C: Player (crossfade, gapless preload, PiP)
- Lot D2: Autoplay (GET /tracks/recommendations, section À écouter ensuite)
Backend: GetRecommendations handler, route /tracks/recommendations
Frontend: PlayerQueue recommendations, fix TS errors (GlobalPlayer, AnalyticsViewKpiGrid, etc.)
Docs: FEATURE_STATUS, PROJECT_STATE, CHANGELOG, SCOPE_CONTROL
2026-02-20 17:16:17 +00:00
|
|
|
- v0.202 : Phase 2 Contenu — Lots G, H, F, C, D — taguée
|
2026-02-21 04:13:43 +00:00
|
|
|
- v0.203 : Phase 2 Contenu — D1, K, L (queue collaborative, recherche enrichie, Social Trending) — taguée
|
2026-02-21 04:36:33 +00:00
|
|
|
- v0.301 : Phase 3 Social — P0, C1, P1, S1 (Chat Server fix, typing, read receipts, présence, social enrichi) — taguée
|
2026-02-22 02:38:49 +00:00
|
|
|
- v0.302 : Phase 3 Social — S2, N1, P2 (groupes avancés, push, rich presence) — taguée
|
2026-02-22 13:02:31 +00:00
|
|
|
- v0.303 : Phase 3 Social — C2 (Chat appels WebRTC 1-to-1) — taguée
|
2026-02-22 13:26:28 +00:00
|
|
|
- v0.401 : Phase 4 Commerce — M1, M2, M3 (Marketplace catalogue, licences, seller enrichi) — taguée
|
|
|
|
|
- v0.402 : Phase 4 Commerce — P1, P2 (Checkout Hyperswitch production-ready, codes promo) — en préparation
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 8. Rappel pour les contributeurs
|
|
|
|
|
|
|
|
|
|
- **Cursor / IA** : Les règles dans `.cursorrules` rappellent de vérifier le scope avant toute modification.
|
2026-02-22 13:26:28 +00:00
|
|
|
- **Humains** : Lire [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md) avant de coder.
|
chore(v0.102): consolidate remaining changes — docs, frontend, backend
- docs: SCOPE_CONTROL, CONTRIBUTING, README, .github templates
- frontend: DeveloperDashboardView, Player components, MSW handlers, auth, reactQuerySync
- backend: playback_analytics, playlist_service, testutils, integration README
Excluded (artifacts): .auth, playwright-report, test-results, storybook_audit_detailed.json
2026-02-20 12:02:12 +00:00
|
|
|
- **En doute ?** Ouvrir une issue "Scope clarification" plutôt que de coder.
|