# CUMET Repair Station V1

Auteur : William Michaud — WM AI TECHNOLOGIES INC.  
© 2026 WM AI TECHNOLOGIES INC. / William Michaud — Tous droits réservés.  
Canada Corp #16527230 — BN 735465023RC0001

---

## Intention

**CUMET Repair Station V1** transforme CUMET en station-service de réparation IA pour projets numériques : dépôts GitHub, applications Vite/React, frontends statiques, Edge Functions Supabase, Appwrite Sites, workflows GitHub Actions, runners et variables d'environnement.

Objectif opérationnel : passer de **symptôme client** à **PR réparable, testée et déployable**.

```txt
Symptôme → Intake → Diagnostic → Patch → Test Bench → PR → Déploiement → Monitoring → Rapport
```

---

## Cas d'usage V1

### Page blanche frontend

Détection : exception au chargement module JavaScript, variables `VITE_*` absentes, import dynamique cassé, CSP bloquant, `base` Vite incorrect, root React absent, service worker obsolète.

Sortie : cause racine, patch minimal, garde-fou runtime, écran diagnostic, PR GitHub.

### Build cassé

Détection : `npm install`, `npm ci`, `vite build`, TypeScript, dépendance incompatible, lockfile corrompu.

Sortie : correctif package/config, commande de reproduction, rapport de risque, PR.

### CI/CD et GitHub Actions

Détection : workflow YAML invalide, runner absent, job bloqué, secrets manquants, permissions insuffisantes, artefacts absents.

Sortie : patch workflow, instructions runner, commentaire ChatOps, rerun ou PR.

### Supabase / Appwrite

Détection : variables frontend absentes, clé serveur exposée côté client, Edge Function non déployée, CORS, auth, RLS, healthcheck inexistant.

Sortie : liste des variables attendues, correctif frontend/backend, garde-fou, plan de redéploiement.

---

## Principe de sécurité

```txt
Voir → Vérifier → Consentir → Tracer → Arrêter
```

Règles V1 :

1. Aucun secret brut dans les PR, issues, logs ou pages publiques.
2. Aucune clé serveur dans un frontend.
3. Les commandes destructrices exigent une validation humaine explicite.
4. Les actions automatiques doivent créer une branche `fix/*` ou `repair/*`.
5. Toute réparation doit produire un résumé auditable.
6. Les journaux doivent être redacted par défaut.
7. Le rollback doit être documenté.

---

## Pipeline technique

### Intake

Entrées acceptées : URL repo GitHub, log Appwrite/Vercel/Netlify/Supabase, capture erreur console, URL déploiement, nom de branche, symptôme en langage naturel.

### Diagnostic

Analyse minimale : `package.json`, `vite.config.*`, `index.html`, `src/main.*`, `src/App.*`, clients API, providers React, workflows GitHub, logs fournis.

### Patch

```txt
branch: repair/<symptom>-<date>
commit: fix(<scope>): <cause-racine>
pr: résumé + cause + test + rollback
```

### Test Bench

```bash
npm ci
npm run build
npm run typecheck || true
npm audit --audit-level=high || true
```

### Rapport

Le rapport doit contenir : symptôme, cause racine, fichiers modifiés, risques résiduels, commande de test, instructions de déploiement, rollback.

---

## Taxonomie de réparations

| Code | Nom | Exemple | Niveau |
|---|---|---|---|
| `RUNTIME_BLANK_PAGE` | Page blanche runtime | throw import-time | élevé |
| `ENV_MISSING` | Variable manquante | `VITE_SUPABASE_URL` | moyen |
| `BUILD_FAIL` | Build cassé | TypeScript / Vite | élevé |
| `CI_FAIL` | Workflow cassé | YAML / runner | moyen |
| `EDGE_FAIL` | Edge Function cassée | CORS / auth | élevé |
| `SECRET_EXPOSURE` | Secret exposé | clé serveur côté client | critique |
| `ROUTE_FAIL` | Route/fallback cassé | SPA 404 | moyen |
| `CACHE_STALE` | Cache obsolète | SW bundle stale | moyen |
| `SECURITY_HEADERS` | Headers invalides | CSP trop stricte/faible | moyen |
| `DEPLOY_DRIFT` | Drift prod/repo | mauvais repo branch | élevé |

---

## Interface V1

Page statique : `/repair-station.html`

Fonctions V1 : cockpit d'intake, checklist de diagnostic, matrice de gravité, modèle de rapport, statut des baies de réparation, rappel des règles de sécurité.

---

## Monétisation possible

| Plan | Fonction | Limite |
|---|---|---|
| Diagnostic | analyse + rapport | pas de PR |
| Repair PR | diagnostic + branche + PR | pas de déploiement |
| Repair Deploy | PR + tests + guide deploy | approbation obligatoire |
| Enterprise Station | runner dédié + monitoring + SLA | contrat |

---

## Scénario réel de référence

Symptôme : page blanche après build Appwrite réussi.  
Cause : crash au chargement du client Supabase quand variables frontend manquantes.  
Réparation : remplacement du crash import-time par garde-fou runtime + écran diagnostic.  
Sortie : PR de correction dans le dépôt applicatif.
