docs: préparation v0.302 - V0_302_RELEASE_SCOPE, PROJECT_STATE, SCOPE_CONTROL, FEATURE_STATUS, CHANGELOG
This commit is contained in:
parent
a27ccc12b6
commit
fd606a6234
6 changed files with 257 additions and 20 deletions
|
|
@ -1,10 +1,10 @@
|
|||
# Règles de Développement UI - Projet SaaS
|
||||
|
||||
## 0. Scope v0.301 (priorité absolue)
|
||||
## 0. Scope v0.302 (priorité absolue)
|
||||
|
||||
- **Référence** : `docs/V0_301_RELEASE_SCOPE.md` et `docs/SCOPE_CONTROL.md`
|
||||
- Avant toute modification : vérifier si le changement est **dans le scope v0.301**
|
||||
- **Autorisé v0.301** : lots P0, C1, P1, S1 (Chat Server fix, typing/read receipts, présence, social enrichi)
|
||||
- **Référence** : `docs/V0_302_RELEASE_SCOPE.md` et `docs/SCOPE_CONTROL.md`
|
||||
- Avant toute modification : vérifier si le changement est **dans le scope v0.302**
|
||||
- **Autorisé v0.302** : lots S2, N1, C2, P2 (groupes avancés, push, appels, rich presence)
|
||||
- **Interdit** : nouvelles routes/pages hors scope, nouvelles dépendances (sauf correctif sécurité)
|
||||
- En cas de doute : ne pas ajouter. Créer une issue pour une version ultérieure.
|
||||
|
||||
|
|
|
|||
11
CHANGELOG.md
11
CHANGELOG.md
|
|
@ -1,5 +1,16 @@
|
|||
# Changelog - Veza
|
||||
|
||||
## [Unreleased] — v0.302 (prévu)
|
||||
|
||||
Voir [V0_302_RELEASE_SCOPE.md](docs/V0_302_RELEASE_SCOPE.md) pour le scope détaillé.
|
||||
|
||||
- Lot S2 : Groupes avancés (demander à rejoindre, inviter, rôles, feed groupes)
|
||||
- Lot N1 : Notifications push Web (Web Push API)
|
||||
- Lot C2 : Chat appels audio/vidéo WebRTC (MVP)
|
||||
- Lot P2 : Rich presence (track en cours), mode invisible
|
||||
|
||||
---
|
||||
|
||||
## [v0.301] - 2026-02-20
|
||||
|
||||
### Added
|
||||
|
|
|
|||
|
|
@ -84,6 +84,17 @@ Voir [V0_203_RELEASE_SCOPE.md](V0_203_RELEASE_SCOPE.md) pour le détail.
|
|||
|
||||
Voir [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md) pour le détail.
|
||||
|
||||
## Prévu en v0.302 (Phase 3 Social — suite)
|
||||
|
||||
| Lot | Feature |
|
||||
|-----|---------|
|
||||
| S2 | Groupes avancés : demander à rejoindre (privé), inviter membres, rôles assign/revoke, feed groupes, mes groupes |
|
||||
| N1 | Notifications push : Web Push API navigateur, subscription, envoi sur événement, préférences |
|
||||
| C2 | Chat appels : WebRTC audio/vidéo 1-to-1, signalisation via WebSocket |
|
||||
| P2 | Présence enrichie : rich presence (track en cours), mode invisible |
|
||||
|
||||
Voir [V0_302_RELEASE_SCOPE.md](V0_302_RELEASE_SCOPE.md) pour le détail.
|
||||
|
||||
---
|
||||
|
||||
## Projets abandonnés
|
||||
|
|
|
|||
|
|
@ -51,7 +51,13 @@
|
|||
### Immédiat (post v0.301)
|
||||
1. ~~Tag~~ : v0.301 taguée et poussée
|
||||
2. ~~Merge~~ : v0.301 mergée dans main
|
||||
3. **Prochaine** : création V0_302_RELEASE_SCOPE.md
|
||||
3. ~~V0_302_RELEASE_SCOPE.md~~ : Créé
|
||||
|
||||
### Prochaine version (v0.302)
|
||||
- **Lot S2** : Groupes avancés (demander à rejoindre, inviter, rôles, feed groupes)
|
||||
- **Lot N1** : Notifications push Web (Web Push API)
|
||||
- **Lot C2** : Chat appels audio/vidéo WebRTC (MVP)
|
||||
- **Lot P2** : Rich presence (track en cours), mode invisible
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -60,6 +66,7 @@
|
|||
| Document | Usage |
|
||||
|----------|-------|
|
||||
| [PLAN_V0_301_FINALISATION.md](PLAN_V0_301_FINALISATION.md) | Plan de finalisation v0.301 |
|
||||
| [V0_302_RELEASE_SCOPE.md](V0_302_RELEASE_SCOPE.md) | Scope v0.302 (groupes avancés, push, appels, présence) |
|
||||
| [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md) | Scope détaillé v0.301 (Phase 3 Social) |
|
||||
| [V0_203_RELEASE_SCOPE.md](V0_203_RELEASE_SCOPE.md) | Scope v0.203 (archivé) |
|
||||
| [SCOPE_CONTROL.md](SCOPE_CONTROL.md) | Anti-scope-creep, workflow |
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
# Contrôle du scope — Anti-scope-creep
|
||||
|
||||
**Objectif** : Éviter toute dérive de scope. Chaque modification doit être intentionnelle et traçable.
|
||||
**Référence active** : [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md)
|
||||
**Version précédente** : [V0_203_RELEASE_SCOPE.md](V0_203_RELEASE_SCOPE.md)
|
||||
**Référence active** : [V0_302_RELEASE_SCOPE.md](V0_302_RELEASE_SCOPE.md)
|
||||
**Version précédente** : [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md)
|
||||
|
||||
---
|
||||
|
||||
## 1. Règle d'or
|
||||
|
||||
> **Avant d'ajouter quoi que ce soit : vérifier si c'est dans le scope v0.301.**
|
||||
> **Avant d'ajouter quoi que ce soit : vérifier si c'est dans le scope v0.302.**
|
||||
> Si non → ne pas ajouter. Créer un ticket pour une version ultérieure.
|
||||
|
||||
---
|
||||
|
||||
## 2. Pendant la phase v0.301 (jusqu'au tag)
|
||||
## 2. Pendant la phase v0.302 (jusqu'au tag)
|
||||
|
||||
### 2.1 Autorisé
|
||||
|
||||
|
|
@ -26,17 +26,17 @@
|
|||
|
||||
### 2.2 Interdit
|
||||
|
||||
- **Nouvelles features** hors scope v0.301
|
||||
- **Nouvelles features** hors scope v0.302
|
||||
- **Nouvelles routes** ou pages hors scope
|
||||
- **Nouvelles dépendances** (sauf correctif sécurité)
|
||||
- **Changements de comportement** sur les features HORS SCOPE
|
||||
- **"Améliorations"** non liées à un bug identifié ou une feature IN SCOPE
|
||||
- **"Améliorations"** non liées à un bug identifié ou une feature IN SCOPE v0.302
|
||||
|
||||
### 2.3 Cas limite
|
||||
|
||||
| Situation | Action |
|
||||
|-----------|--------|
|
||||
| Bug dans une feature HORS SCOPE | Corriger si blocant pour une feature IN SCOPE. Sinon : ticket pour plus tard. |
|
||||
| Bug dans une feature HORS SCOPE | Corriger si blocant pour une feature IN SCOPE v0.302. Sinon : ticket pour plus tard. |
|
||||
| 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. |
|
||||
| "Petite amélioration UX" | **Non.** Créer un ticket pour v0.102+. |
|
||||
|
|
@ -47,12 +47,12 @@
|
|||
|
||||
### 3.1 Checklist pré-commit (dans la tête)
|
||||
|
||||
1. **Mon changement modifie-t-il une feature IN SCOPE ?**
|
||||
1. **Mon changement modifie-t-il une feature IN SCOPE v0.302 ?**
|
||||
- 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 ?**
|
||||
- Nouvelle route, nouveau composant, nouveau service → **STOP.** Hors scope v0.301.
|
||||
- Nouvelle route, nouveau composant, nouveau service → **STOP.** Hors scope v0.302.
|
||||
- Correction, refactoring, test → OK si lié à une feature IN SCOPE.
|
||||
|
||||
3. **Mes tests passent-ils ?**
|
||||
|
|
@ -81,7 +81,7 @@ Format : `type(scope): description`
|
|||
|
||||
Dans chaque PR, le relecteur doit valider :
|
||||
|
||||
- [ ] Le changement est dans le scope v0.301 (voir [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md))
|
||||
- [ ] Le changement est dans le scope v0.302 (voir [V0_302_RELEASE_SCOPE.md](V0_302_RELEASE_SCOPE.md))
|
||||
- [ ] Aucune nouvelle feature ajoutée
|
||||
- [ ] Aucune régression sur les flows critiques
|
||||
- [ ] Les tests passent
|
||||
|
|
@ -104,7 +104,7 @@ Une PR sera rejetée si :
|
|||
|
||||
Utiliser le template [Feature request](.github/ISSUE_TEMPLATE/feature_request.md) avec :
|
||||
|
||||
- **Alignement scope** : cocher "Hors scope v0.301 — pour v0.302+"
|
||||
- **Alignement scope** : cocher "Hors scope v0.302 — pour v0.303+"
|
||||
- **Justification** : pourquoi cette feature est nécessaire
|
||||
- **Effort estimé** : S / M / L / XL
|
||||
- **Dépendances** : quelles features v0.202 doivent être stables avant
|
||||
|
|
@ -112,8 +112,8 @@ Utiliser le template [Feature request](.github/ISSUE_TEMPLATE/feature_request.md
|
|||
### 5.2 Workflow
|
||||
|
||||
1. Créer une issue avec le template
|
||||
2. **Ne pas implémenter** tant que v0.301 n'est pas taguée
|
||||
3. Une fois v0.301 stable, prioriser les issues "v0.302" dans V0_302_RELEASE_SCOPE.md
|
||||
2. **Ne pas implémenter** tant que v0.302 n'est pas taguée
|
||||
3. Une fois v0.302 stable, prioriser les issues "v0.303" dans V0_303_RELEASE_SCOPE.md
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -140,7 +140,7 @@ Pour tout cas ambigu :
|
|||
|
||||
- Ouvrir une issue "Scope clarification"
|
||||
- Décision documentée dans l'issue
|
||||
- Mise à jour de V0_301_RELEASE_SCOPE.md si le scope est étendu (exception rare)
|
||||
- Mise à jour de V0_302_RELEASE_SCOPE.md si le scope est étendu (exception rare)
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -160,11 +160,12 @@ Pour tout cas ambigu :
|
|||
- v0.202 : Phase 2 Contenu — Lots G, H, F, C, D — taguée
|
||||
- v0.203 : Phase 2 Contenu — D1, K, L (queue collaborative, recherche enrichie, Social Trending) — taguée
|
||||
- v0.301 : Phase 3 Social — P0, C1, P1, S1 (Chat Server fix, typing, read receipts, présence, social enrichi) — taguée
|
||||
- v0.302 : Phase 3 Social — S2, N1, C2, P2 (groupes avancés, push, appels, rich presence) — en préparation
|
||||
|
||||
---
|
||||
|
||||
## 8. Rappel pour les contributeurs
|
||||
|
||||
- **Cursor / IA** : Les règles dans `.cursorrules` rappellent de vérifier le scope avant toute modification.
|
||||
- **Humains** : Lire [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md) avant de coder.
|
||||
- **Humains** : Lire [V0_302_RELEASE_SCOPE.md](V0_302_RELEASE_SCOPE.md) avant de coder.
|
||||
- **En doute ?** Ouvrir une issue "Scope clarification" plutôt que de coder.
|
||||
|
|
|
|||
207
docs/V0_302_RELEASE_SCOPE.md
Normal file
207
docs/V0_302_RELEASE_SCOPE.md
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
# Scope v0.302 — Phase 3 Social (suite)
|
||||
|
||||
**Version cible** : v0.302 (X=3, Y=2)
|
||||
**Prérequis** : v0.301 taguée et mergée dans main
|
||||
**Objectif** : Chat (appels, notifications), Social (groupes avancés), Présence enrichie
|
||||
**Dernière mise à jour** : 20 février 2026
|
||||
**Effort estimé** : 6-8 semaines de développement
|
||||
|
||||
---
|
||||
|
||||
## 1. Principe directeur
|
||||
|
||||
> **v0.302 = suite Phase 3 Social.**
|
||||
>
|
||||
> Quatre axes principaux :
|
||||
> 1. **Groupes avancés (Lot S2)** : Demander à rejoindre, inviter, rôles, feed groupes
|
||||
> 2. **Notifications push (Lot N1)** : Web Push API navigateur
|
||||
> 3. **Chat appels (Lot C2)** : Appels audio/vidéo WebRTC (MVP)
|
||||
> 4. **Présence enrichie (Lot P2)** : Rich presence (track en cours), mode invisible
|
||||
|
||||
---
|
||||
|
||||
## 2. Contexte — État post v0.301
|
||||
|
||||
### 2.1 Livré en v0.301
|
||||
|
||||
| Lot | Feature | Statut |
|
||||
|-----|---------|--------|
|
||||
| P0 | Chat Server compilable, auth WebSocket | ✅ |
|
||||
| C1 | Typing indicators, read receipts, delivered | ✅ |
|
||||
| P1 | Présence API, PresenceBadge, last_seen | ✅ |
|
||||
| S1 | Feed enrichi, pagination, explore, filtres all/following/groups | ✅ |
|
||||
|
||||
### 2.2 Fondation existante (à enrichir)
|
||||
|
||||
| Domaine | Existant | À ajouter v0.302 |
|
||||
|---------|----------|-------------------|
|
||||
| **Groupes** | CRUD, join, leave, rôles (admin/modo/member) | Demander à rejoindre (privé), inviter, feed groupes |
|
||||
| **Notifications** | In-app (liste, marquer lu) | Web Push navigateur |
|
||||
| **Chat** | DM, rooms, typing, receipts | Appels audio/vidéo WebRTC |
|
||||
| **Présence** | online/away/offline, last_seen | Rich presence (track), mode invisible |
|
||||
|
||||
### 2.3 Composants techniques
|
||||
|
||||
| Composant | État | Action v0.302 |
|
||||
|-----------|------|---------------|
|
||||
| veza-backend-api | ✅ | Nouvelles routes groupes, push subscriptions |
|
||||
| veza-chat-server | ✅ | Signalisation WebRTC (si Lot C2) |
|
||||
| apps/web | ✅ | Groupes avancés UI, Web Push, appels UI |
|
||||
| Stream Server | ⚠️ | Hors scope (pas nécessaire pour appels) |
|
||||
|
||||
---
|
||||
|
||||
## 3. Features IN SCOPE v0.302
|
||||
|
||||
### 3.1 Lot S2 — Groupes avancés
|
||||
|
||||
**Objectif** : Enrichir les groupes sociaux (demander à rejoindre, inviter, feed).
|
||||
**Effort** : M (4-5 jours)
|
||||
**Référence** : veza_full_features_list.md §6.3 (216-225)
|
||||
|
||||
| # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie |
|
||||
|---|---------|-----------------|---------|----------|-------------------|
|
||||
| S2.1 | **Demander à rejoindre** | Groupe privé : requête d'adhésion | POST /groups/:id/request, table group_join_requests | Bouton « Demander à rejoindre », liste demandes (admin) | Flux demande → approbation fonctionnel |
|
||||
| S2.2 | **Inviter membres** | Admin/modo peut inviter par email ou user_id | POST /groups/:id/invite, notifications | Modal inviter, lien ou recherche user | Invitation envoyée, user peut accepter |
|
||||
| S2.3 | **Rôles (assign/revoke)** | Promouvoir modo, rétrograder | PUT /groups/:id/members/:user_id/role | UI rôles dans GroupDetailView | Admin peut changer rôle membre |
|
||||
| S2.4 | **Feed groupes** | Posts des groupes dont user est membre | GetGlobalFeed type=groups déjà implémenté | Vérifier filtre groups retourne données | Feed « Groupes » affiche posts des groupes |
|
||||
| S2.5 | **Liste mes groupes** | Groupes dont l'utilisateur est membre | GET /social/groups/mine | Onglet ou section « Mes groupes » | Liste groupes de l'utilisateur |
|
||||
|
||||
**Fichiers clés** :
|
||||
- Backend : `group_service.go`, `social_group_handler.go`, migrations
|
||||
- Frontend : `GroupDetailView`, `GroupsView`, `groupService.ts`, `SocialViewFeed` (filtre groups)
|
||||
|
||||
---
|
||||
|
||||
### 3.2 Lot N1 — Notifications push (Web Push)
|
||||
|
||||
**Objectif** : Notifications navigateur (sans FCM/APNs).
|
||||
**Effort** : M (3-4 jours)
|
||||
**Référence** : Module 2.3 (61-62), features 529, 552-553
|
||||
|
||||
| # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie |
|
||||
|---|---------|-----------------|---------|----------|-------------------|
|
||||
| N1.1 | **Subscription** | Enregistrer endpoint Web Push | POST /notifications/push/subscribe (VAPID) | Service Worker, pushManager.subscribe | Subscription stockée |
|
||||
| N1.2 | **Envoi** | Déclencher push sur événement (follow, like, message) | Intégrer web-push dans notification_service | — | Push reçu en arrière-plan |
|
||||
| N1.3 | **Préférences** | Activer/désactiver par type | GET/PUT /notifications/preferences | Settings notifications | User peut activer/désactiver push |
|
||||
| N1.4 | **Badge** | Compteur non lus sur icône | — | Badge sur favicon ou titre | Badge mis à jour |
|
||||
|
||||
**Fichiers clés** :
|
||||
- Backend : `notification_service.go`, `notification_handlers.go`, migration push_subscriptions
|
||||
- Frontend : `sw.ts` (service worker), `useNotifications`, settings
|
||||
|
||||
**Note** : FCM/APNs pour mobile reportés v0.303+.
|
||||
|
||||
---
|
||||
|
||||
### 3.3 Lot C2 — Chat appels (WebRTC)
|
||||
|
||||
**Objectif** : Appels audio/vidéo 1-to-1 via WebRTC.
|
||||
**Effort** : L (5-7 jours)
|
||||
**Référence** : Module 5, Video chat intégré (full_features 487)
|
||||
|
||||
| # | Feature | Tâche détaillée | Chat Server | Frontend | Critère de sortie |
|
||||
|---|---------|-----------------|-------------|----------|-------------------|
|
||||
| C2.1 | **Signalisation** | SDP/ICE via WebSocket | Messages CallOffer, CallAnswer, ICECandidate | Échange WebRTC via WS | Connexion peer-to-peer établie |
|
||||
| C2.2 | **UI appel** | Bouton appeler, modal appel entrant/sortant | — | CallButton, IncomingCallModal, ActiveCallBar | Appel initié, accepté, refusé |
|
||||
| C2.3 | **Audio uniquement (MVP)** | Appel audio 1-to-1 | — | getUserMedia audio | Appel audio fonctionnel |
|
||||
| C2.4 | **Vidéo (optionnel)** | Activer caméra | — | getUserMedia video | Appel vidéo si temps |
|
||||
|
||||
**Fichiers clés** :
|
||||
- Chat Server : `websocket/handler.rs`, types CallOffer, CallAnswer, ICECandidate
|
||||
- Frontend : `useWebRTC`, `CallModal`, `chatStore` (call state)
|
||||
|
||||
**Option** : Si effort trop élevé, reporter C2 en v0.303 et garder S2, N1, P2.
|
||||
|
||||
---
|
||||
|
||||
### 3.4 Lot P2 — Présence enrichie
|
||||
|
||||
**Objectif** : Rich presence (track en cours), mode invisible.
|
||||
**Effort** : S (2-3 jours)
|
||||
**Référence** : V0_301 HORS SCOPE → v0.302
|
||||
|
||||
| # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie |
|
||||
|---|---------|-----------------|---------|----------|-------------------|
|
||||
| P2.1 | **Rich presence** | Champ status_message = « Écoute X » | PresenceService.UpdatePresence(track_id, track_title) | Player envoie track en cours | « Écoute Midnight Drive » affiché |
|
||||
| P2.2 | **Mode invisible** | User peut masquer statut | PUT /users/me/presence (invisible: true) | Toggle paramètres | Statut masqué pour les autres |
|
||||
|
||||
**Fichiers clés** :
|
||||
- Backend : `presence_handler.go`, `user_presence` (colonne invisible)
|
||||
- Frontend : `playerStore`, `PresenceBadge`, settings
|
||||
|
||||
---
|
||||
|
||||
## 4. Récapitulatif par lot
|
||||
|
||||
| Lot | Priorité | Effort | Dépendances |
|
||||
|-----|----------|--------|-------------|
|
||||
| S2 | Haute | M (4-5 j) | Aucune |
|
||||
| N1 | Haute | M (3-4 j) | Aucune |
|
||||
| C2 | Moyenne | L (5-7 j) | Chat Server stable |
|
||||
| P2 | Moyenne | S (2-3 j) | P1 (présence) |
|
||||
|
||||
**Ordre recommandé** : S2, N1 en parallèle → P2 → C2 (ou C2 reporté).
|
||||
|
||||
---
|
||||
|
||||
## 5. Features HORS SCOPE v0.302
|
||||
|
||||
| Feature | Raison | Version cible |
|
||||
|---------|--------|---------------|
|
||||
| FCM / APNs (mobile) | Infra externe, apps natives | v0.303+ |
|
||||
| Appels de groupe (3+) | Complexité WebRTC | v0.304+ |
|
||||
| Chiffrement E2E messages | Effort majeur | v0.303+ |
|
||||
| Forum de discussion par groupe | Scope S2 suffit | v0.303 |
|
||||
| Événements de groupe | Scope S2 suffit | v0.303 |
|
||||
|
||||
---
|
||||
|
||||
## 6. Migrations et schémas
|
||||
|
||||
| Migration | Description |
|
||||
|-----------|-------------|
|
||||
| 089 | group_join_requests (group_id, user_id, status, created_at) |
|
||||
| 090 | push_subscriptions (user_id, endpoint, p256dh, auth, created_at) |
|
||||
| 091 | user_presence.invisible (BOOLEAN DEFAULT false) — si pas déjà dans 088 |
|
||||
|
||||
---
|
||||
|
||||
## 7. Critères de livraison v0.302
|
||||
|
||||
- [ ] Lot S2 : Demander à rejoindre, inviter, rôles, feed groupes, mes groupes
|
||||
- [ ] Lot N1 : Web Push subscription, envoi sur événement, préférences
|
||||
- [ ] Lot C2 : Appel audio 1-to-1 (ou reporté avec ticket)
|
||||
- [ ] Lot P2 : Rich presence (track), mode invisible
|
||||
- [ ] Tests : `go test ./...` OK, `npm run build` OK
|
||||
- [ ] Documentation : FEATURE_STATUS, PROJECT_STATE, CHANGELOG mis à jour
|
||||
|
||||
---
|
||||
|
||||
## 8. Checklist pré-merge
|
||||
|
||||
- [ ] Tous les lots IN SCOPE terminés ou reportés (avec ticket)
|
||||
- [ ] Pas de régression sur v0.301
|
||||
- [ ] SCOPE_CONTROL.md référence V0_302_RELEASE_SCOPE.md
|
||||
- [ ] FEATURE_STATUS.md mis à jour
|
||||
- [ ] CHANGELOG v0.302
|
||||
- [ ] MSW handlers pour nouvelles routes
|
||||
|
||||
---
|
||||
|
||||
## 9. Transition vers v0.303
|
||||
|
||||
À l'issue de v0.302 :
|
||||
- Phase 3 Social avancée (~400 / 600 features)
|
||||
- Prochaine version : **v0.303** — Chat (E2E, appels groupe), Notifications (FCM), Social (forum groupes)
|
||||
- Document de scope : `V0_303_RELEASE_SCOPE.md` (à créer après tag v0.302)
|
||||
|
||||
---
|
||||
|
||||
## Références
|
||||
|
||||
- [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md) — Version précédente
|
||||
- [SCOPE_CONTROL.md](SCOPE_CONTROL.md) — Processus anti-scope-creep
|
||||
- [FEATURE_STATUS.md](FEATURE_STATUS.md) — Statut des features
|
||||
- [PROJECT_STATE.md](PROJECT_STATE.md) — État actuel du projet
|
||||
- [veza_full_features_list.md](archive/root-md/veza_full_features_list.md) — Cible v1.0 (600 features)
|
||||
Loading…
Reference in a new issue