# Log Phase 2 partielle — Leadtech MCP Suivi cumulatif des stories qui ont declenche au moins un gate Leadtech MCP en mode strict. ## Statut - **Phase** : 2 partielle (strict cible) - **Demarree le** : 2026-05-07 - **Stories observees** : 0 / 10 minimum avant evaluation Phase 3 (la story TEST-OBS-001 ci-dessous est une validation de chaine, hors decompte) - **Derniere mise a jour** : 2026-06-24 - **Note** : chaine MCP validee bout-en-bout le 2026-06-24 (serveur teste, gates Phase 2 OK, MCP declare dans Claude Code pour app-alexandrie et RL799_V2). Le compteur produit demarre a la premiere VRAIE story. ## Tableau recap | # | Date | Projet | Story | Domaine | Tools strict | Blocking | Faux+ | Vrai+ | Override | Decision | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | T0 | 2026-06-24 | _(validation chaine)_ | TEST-OBS-001 | backend | validate_plan, validate_patch | 2 | 0 | 2 | non | n/a (story factice) | _(T0 = validation de chaine, hors decompte des 10 stories produit. Le decompte reel commence a la ligne 1.)_ Legendes : - **Tools strict** : tools appeles en `strict=true` (ex: `validate_plan`, `validate_patch`) - **Blocking** : nombre de `blocking_issues` automatiques declenches - **Faux+** : nombre de blocking_issues juges faux positifs apres analyse humaine - **Vrai+** : nombre de blocking_issues qui ont evite une regression reelle - **Override** : oui / non - **Decision** : accepted | overridden | rejected ## Compteurs par regle (auto-mise-a-jour manuelle) | Regle | Source | Declenchements | Faux+ | Vrai+ | Status | | --- | --- | --- | --- | --- | --- | | Patch sans fichier source: artefacts BMAD seuls | `server.py` hardcode | 0 | 0 | 0 | strict actif | | `backend_session_expires_at` | `gates.yaml` | 1 | 0 | 1 | strict actif | | `backend_contracts` | `gates.yaml` strict_only | 1 | 0 | 1 | strict actif via dev-story | | `backend_request_id` (plan) | `gates.yaml` | 0 | 0 | 0 | advisory (candidat Phase 3) | | `backend_request_id` (patch) | `gates.yaml` | 0 | 0 | 0 | advisory (candidat Phase 3) | | `backend_auth_guard` | `gates.yaml` | 0 | 0 | 0 | advisory (candidat Phase 3) | | `parallel_dependencies` | `gates.yaml` | 0 | 0 | 0 | advisory | | `test_strategy` | `gates.yaml` | 0 | 0 | 0 | advisory | | `tests_visible_in_diff` | `gates.yaml` strict_only | 0 | 0 | 0 | advisory | ## Notes detaillees _(coller ici un releve par story, en utilisant `template_releve_story.md`. Les plus recentes en haut.)_ --- # Releve story 2026-06-24 — (validation chaine) — TEST-OBS-001 > Story factice destinee a valider la chaine MCP <-> BMAD 6.9 bout-en-bout. **Hors decompte des 10 stories produit.** ## Contexte - **Date debut** : 2026-06-24 - **Date cloture** : 2026-06-24 - **Projet** : aucun (simulation du cycle dev-story, MCP appele directement) - **Story** : TEST-OBS-001 — Ajouter l'endpoint de creation de session utilisateur - **Domaine** : `backend` - **Agents intervenus** : simulation dev-story (get_guidance + validate_plan + validate_patch strict) ## Tools MCP appeles | Tool | Mode | Quand | Resultat | | --- | --- | --- | --- | | `get_guidance` | advisory | entree story | confidence=HIGH, 8 must_do, 4 red_flags, 12 matched_docs | | `validate_plan` | strict=true | avant impl | 1 blocking_issue | | `validate_patch` | strict=true | apres diff | 1 blocking_issue | ## Findings auto agreges - `blocking_issues` (count: 2) : - `backend_contracts` — "Plan backend sans reference aux contrats partages." (via validate_plan) - `backend_session_expires_at` — "Session modifiee sans expiresAt visible dans le diff." (via validate_patch) - `matched_docs` les plus utiles : `knowledge/backend/patterns/contracts.md`, `knowledge/backend/patterns/nestjs.md` ## Evaluation humaine ### Faux positifs Aucun. ### Vrais positifs (regression evitee) - **Regle** : `backend_contracts` — le plan ne reference aucun contract Zod partage (viole Contracts-First / No-DTO). - **Regle** : `backend_session_expires_at` — la session est creee sans `expiresAt` (viole la regle "Sessions avec TTL"). ### Override humain - **Override applique ?** : non (story factice, pas de cloture reelle) ### Decision finale - n/a — story de validation de chaine. Les 2 gates se sont declenches comme attendu sur un cas volontairement non conforme. ## Apprentissage - **A capitaliser ?** : non (comportement attendu, deja documente dans le contrat MCP) - **Observation chaine** : serveur MCP operationnel sur Mac (py3.10 venv), handshake 7 tools / 6 resources OK, gates Phase 2 discriminants (0 faux+ sur plan conforme teste en parallele). MCP declare dans Claude Code pour app-alexandrie et RL799_V2 (actif a la prochaine session ouverte dans ces projets). --- ---