veza/docs/BUDGETS.md

39 lines
2 KiB
Markdown
Raw Permalink Normal View History

# VEZA RESOURCE BUDGETS (THE CONTRACT)
Ce fichier définit les limites **physiques** acceptables pour le projet.
Les tests automatisés (`tmt/tests/...`) utilisent ces valeurs comme conditions d'échec.
> **Règle d'or** : Tout changement dans ce fichier exige un **commit dédié** et une **justification écrite** expliquant pourquoi l'augmentation est inévitable et bénéfique pour l'utilisateur final (pas pour le développeur).
## 1. Frontend (Web)
| Métrique | Limite (Max) | Justification | Script de Contrôle |
| :--- | :--- | :--- | :--- |
| **Bundle Size** (Total) | **5000 KB** (5MB) | Téléchargement < 10s en 3G (4Mbps). | `tests/frontend/bundle_size.sh` |
| **Main Entry JS** | **800 KB** | Parsing/Execution rapide sur CPU mobile bas de gamme. | `tests/frontend/bundle_size.sh` |
| **Temps de Build** | **120 s** | Feedback loop rapide. Empêche la complexité du toolchain. | `tests/frontend/build_perf.sh` |
## 2. Backend (API Go)
| Métrique | Limite (Max) | Justification | Script de Contrôle |
| :--- | :--- | :--- | :--- |
| **Temps de Démarrage** | **2 s** | Cold start rapide, redémarrage auto transparent. | `tests/backend/startup_time.sh` |
| **Mémoire RSS (Idle)** | **100 MB** | Doit cohabiter avec DB + Services sur 1Go RAM total. | `tests/backend/memory_budget.sh` |
| **Binaires .test** | **0** | Aucun binaire de test ne doit polluer le repo. | `.gitignore` |
## 3. Services (Rust)
| Métrique | Limite (Max) | Justification | Script de Contrôle |
| :--- | :--- | :--- | :--- |
| **Warnings** | **0** | Zéro tolérance au bruit. | `tests/services/rust_clippy.sh` |
| **Compilation** | *Suivi* | Pas de limite dure encore, mais surveillé. | - |
## 4. Protocole d'Augmentation
Si vous devez augmenter un budget :
1. Ouvrez une **Issue** titrée : `[BUDGET] Request to increase <Metric>`.
2. Prouvez que vous avez d'abord tenté d'optimiser.
3. Expliquez l'impact sur un utilisateur avec un Celeron N4000 et 4GB RAM.
4. Obtenez l'approbation d'un mainteneur "Garde des Sceaux".