Commit Graph

105 Commits

Author SHA1 Message Date
MaksTinyWorkshop 4d0f99d699 perf(mcp): lower get_guidance default max_items 12 -> 6 (token budget)
Un appel get_guidance par défaut passe de ~3800 à ~2280 tokens (-40%) en gardant
un mix patterns/risques équilibré (3 must_do + 3 red_flags) et confidence HIGH sur
un cas backend réaliste. Les agents qui veulent plus peuvent toujours passer max_items.

Mesuré: lire toute la base = ~131k tokens ; 1 appel ciblé à 6 = ~2,3k (~98% d'économie).
Défaut aligné dans server.get_guidance et knowledge.search_knowledge.
79 tests passent, aucune régression.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:46:32 +02:00
MaksTinyWorkshop d002435f03 docs(mcp): add NUC + Tailscale central hosting design (chantier, non démarré)
Capture le design abouti d'un MCP central:
- besoin: 1 instance, lecture+écriture, sans clone local sur chaque machine
- hébergement NUC en HTTP (FastMCP streamable-http), exposition via Tailscale (pas de WAN)
- écriture centralisée: ALLOW_WRITE=1 côté NUC, plus de conflit multi-machine
- workflow capitalisation à seuil: accumulation -> triage_capitalization() au-delà de N -> rapport -> validation humaine
- source de vérité données: Git (origin), NUC = clone de référence

Statut: PISTE non figée (pas dans 40_decisions_et_archi.md). Reste-à-faire listé.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:33:40 +02:00
MaksTinyWorkshop a1d0aba98d docs(observability): record Phase 2 chain validation (TEST-OBS-001)
Validation bout-en-bout de la chaîne MCP <-> BMAD 6.9 :
- serveur leadtech-bmad testé sur Mac (handshake 7 tools / 6 resources OK)
- gates Phase 2 stricts vérifiés (backend_contracts + backend_session_expires_at
  se déclenchent sur cas non conforme, 0 faux positif sur plan conforme)
- MCP déclaré dans Claude Code pour app-alexandrie et RL799_V2

Story TEST-OBS-001 enregistrée comme ligne T0 (validation de chaîne, factice,
HORS décompte des 10 stories produit). Le compteur réel Phase 3 démarre intact
à la première vraie story.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:20:25 +02:00
MaksTinyWorkshop cbace46989 chore(bmad): migrate 80_bmad/base from 6.0.4 to 6.9 + port customizations to TOML overrides
Migration des modules via l'installer officiel (Quick update, en place) :
- core/bmm 6.0.4 -> 6.9.0
- tea 1.5.3 -> 1.19.0
- cis 0.1.8 -> 0.2.1

Portage des customisations Lead_tech vers le nouveau mécanisme d'overrides
(_bmad/custom/<skill>.toml, couche "team" résolue par resolve_customization.py) :
- 6 agents directs (analyst, architect, dev, pm, tech-writer, ux-designer)
- module tea
- workflows: dev-story, create-story, code-review, quick-dev, qa-generate-e2e-tests
- agents disparus en 6.9 reportés vers leurs workflows hôtes
  (QA -> code-review, SM -> create-story, quick-flow-solo-dev -> quick-dev)
- règle de capitalisation 95_a_capitaliser factorisée dans
  _bmad/custom/leadtech-capitalisation.md (référencée via persistent_facts)

Nettoyage du legacy 6.0.4 :
- suppression des 17 *.customize.yaml (non lus par 6.9)
- suppression des .bak générés par l'installer (contenu porté en .toml)
- suppression de 17 skills orphelins dans .agents/skills (anciens noms, .agents/.claude réalignés 66=66)
- suppression des coquilles de workflows disparus

Tous les overrides validés par le resolver officiel (12/12 JSON valide,
base préservée + ajouts Lead_tech). Le cœur (couche customize.toml) n'est plus modifié,
donc les updates 6.x futurs ne pourront plus écraser ces customisations.

Note env: resolve_customization.py exige Python >=3.11 (uv installé, python3 -> 3.12.13).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 16:48:44 +02:00
Claude a7b96919a6 feat(observability): scaffold Phase 2 tracking for Leadtech MCP rollout
Met en place le squelette d'observabilite pour suivre le rollout
Phase 2 partielle sur les 10-20 prochaines stories BMAD.

Trois fichiers dans 80_bmad/observability/ :
- README.md : flux operationnel + criteres de promotion vers Phase 3
  + criteres de retour en arriere vers Phase 1
- template_releve_story.md : modele a copier-coller par story
- phase2_log.md : log cumulatif (tableau recap + compteurs par regle
  + notes detaillees)

Suivi tenu a la main pour l'instant. Une automatisation (script qui
scanne les sections 'Leadtech MCP Gates' dans les stories des projets
de _projects.conf) sera consideree apres 10 stories releves
manuellement, si le format est juge stable.

rollout_bmad_advisory.md reference le nouveau dossier dans sa section
Observabilite.
2026-05-07 08:06:04 +00:00
Claude 3ce243591c docs(mcp-rollout): clarify Curator as human-driven flow (no BMAD agent)
Le role Curator de la doc rollout n'avait pas d'agent BMAD dedie, ce
qui laissait planer un doute sur ses points d'invocation. Clarification :

- Pas d'agent BMAD Curator. Le role est execute par l'humain.
- Les autres agents (dev, qa, architect, sm, pm, ux-designer) ecrivent
  directement dans 95_a_capitaliser.md via leurs memories — pas besoin
  de propose_capitalization en critical_action.
- Le triage est manuel via le skill capitalisation-triage et le tool
  MCP triage_capitalization() pour la pre-analyse heuristique.
- propose_capitalization reste utile en interactif quand l'humain veut
  formaliser une entree.
2026-05-07 07:59:57 +00:00
Claude ad2a0acdb3 feat(bmad): wire ux-designer and pm to Leadtech MCP get_guidance
Deux agents BMAD avaient critical_actions vide alors qu'ils opèrent
sur des domaines couverts par la base Lead_tech.

- ux-designer : get_guidance(domain='ux', task_type='analysis').
  Commentaire explicite : knowledge/ux/ est encore vide (index README
  sans entrée), wiring en place pour s'activer dès qu'un pattern UX
  validé sera promu via 95_a_capitaliser.md. Le smoke test retourne
  2 matched_docs depuis les README index — utile dès maintenant.
- pm : get_guidance(domain='product', task_type='analysis') sur
  roadmap, prioritization, epic-level decisions. Smoke test :
  confidence HIGH, 3 matched_docs sur knowledge/product/.
2026-05-07 07:59:20 +00:00
Claude 993f048600 fix(bmad): align customize.yaml strict mode with workflows (Phase 2)
Les workflows dev-story appellent validate_plan/validate_patch en
strict=true depuis le commit 355d613, mais les customize.yaml
correspondants disaient encore strict=false. Le workflow surcharge le
customize au moment de l'exécution, donc pas de bug fonctionnel — mais
la lecture du customize seul donnait une fausse impression du rollout.

Changements :
- bmm-dev : strict=true sur validate_plan et validate_patch + memory
  Phase 2 partielle remplaçant la mention 'advisory-first'.
- bmm-quick-flow-solo-dev : idem, quick-flow ne contourne pas le strict.
- bmm-qa : strict=false maintenu volontairement (le blocage a déjà eu
  lieu côté dev) avec commentaire YAML qui explique le choix, et memory
  reformulée pour Phase 2.
2026-05-07 07:58:36 +00:00
Claude 18fc130ad6 docs(mcp-rollout): align rollout doc with Phase 2 partielle reality
Audit santé du chantier mcp_v1 a montré un écart entre la doc rollout
(advisory only) et l'implémentation réelle (workflows dev-story et
create-story en strict=true, personas dev.md et sm.md avec hard-blocker
sur blocking_issues). Décision : aligner la doc sur l'implem.

Changements :
- rollout_bmad_advisory.md : réécrit pour décrire la Phase 2 partielle
  avec les 3 blocages stricts effectivement actifs (artefacts BMAD seuls,
  sessions sans expiresAt, plan backend sans contracts).
- integration_mcp_sidecar.md : points d'injection mis à jour avec
  strict=true sur dev, advisory sur QA, statut Phase 2.
- mcp_v1.md et README.md : statut 'advisory-first' / 'prototype' →
  'Phase 2 partielle'.
- 40_decisions_et_archi.md : nouvel ADR retraçant le choix.

Note : les customize.yaml invoquent encore strict=false, surchargés par
les workflows. Cohérence interne à traiter dans un prochain commit si
besoin.
2026-05-07 07:40:34 +00:00
Claude 3948bf794a chore(gitignore): exclude leadtech-bmad-mcp local index
Generated by `leadtech-bmad-build-index` at repo root, regenerable
on demand. Avoid accidental commits of the 600 KB index artifact.
2026-05-07 07:24:31 +00:00
MaksTinyWorkshop b3417ad77b capitalisation: intégration ~60 entrées RL799_V2 (triage 2026-05-02)
Triage du 95_a_capitaliser.md (~75 propositions) :
- 60 entrées intégrées dans knowledge/ (backend, frontend, workflow)
- 4 nouveaux fichiers : backend/patterns/tests.md, backend/risques/tests.md,
  frontend/patterns/general.md, workflow/patterns/general.md
- 6 doublons rejetés
- Mise à jour des READMEs index pour refléter les nouvelles entrées
- 95_a_capitaliser.md restauré à sa structure initiale
- 40_decisions_et_archi.md : décision mono-tenant déployable vs SaaS multi-tenant
- 90_debug_et_postmortem.md : sub-agents Write indisponible, effet iceberg CI,
  prisma migrate diffs cosmétiques

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 22:12:44 +02:00
MaksTinyWorkshop 02ad0de258 chore(capitalisation): integrate triage entries and anchor new knowledge 2026-04-18 13:19:27 +02:00
MaksTinyWorkshop 7767f1f947 capitalisation: intégration 28 entrées knowledge + 2 CLAUDE.md RL799_V2 (triage branche mcp_v1)
28 nouvelles sections intégrées dans 12 fichiers knowledge (backend risques/patterns,
frontend risques/patterns, workflow risques). Couvre rate limiting, RGPD, CSP Next.js,
refresh token TOCTOU, catch-all Prisma, distinction 401/403, tests E2E Playwright, etc.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 20:11:02 +02:00
MaksTinyWorkshop 72758c1adc capitalisation: intégration 33 propositions RL799_V2 (triage 2026-04-07)
Backend: 21 entrées (general, prisma, contracts, auth, patterns)
Frontend: 9 entrées (navigation, tests, general, performance, patterns)
Workflow: 5 entrées (story-tracking)
Nouveau fichier: backend/patterns/general.md
95_a_capitaliser.md purgé.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 15:44:36 +02:00
MaksTinyWorkshop 07f39ad433 docs(frontend): capitalise navigation et primitives UI 2026-04-02 10:17:12 +02:00
MaksTinyWorkshop 355d6130eb bmad: wire leadtech mcp pilot into agent customizations 2026-03-31 16:28:10 +02:00
MaksTinyWorkshop 6adc35d0ac leadtech-bmad-mcp: close lot 3 rollout and gates config 2026-03-31 16:12:42 +02:00
MaksTinyWorkshop bafc872030 leadtech-bmad-mcp: close lot 1 and implement lot 2 index 2026-03-31 15:57:09 +02:00
MaksTinyWorkshop ff8eac0dfb mcp: consolidate lot 1 metadata and planning 2026-03-31 15:39:20 +02:00
MaksTinyWorkshop 547ffb8e6f mcp: clean tracked artifacts and document rollout 2026-03-31 15:10:38 +02:00
MaksTinyWorkshop fc0bec0e2b capitalisation: intégrer 12 entrées depuis app-alexandrie et app-template-resto
- backend/risques/nestjs : guard multi-statut READ_METHODS avant statut
- backend/patterns/nestjs : fusionner lastSeenAt dans la réconciliation
- backend/risques/contracts : pas de process.env dans services/helpers
- backend/risques/nextjs : self-request Server Action + EXDEV atomic write
- backend/risques/prisma : champ enum-like stocké en String
- frontend/risques/general : Alert.prompt iOS-only
- frontend/risques/tests : 3 anti-patterns (helpers copiés, test indirect, test façade)
- workflow/risques/story-tracking : 2 entrées (hors périmètre, File List approximative)
- skill capitalisation-triage : nouveau format de rapport (tableaux par domaine)
- 95_a_capitaliser.md : purgé
2026-03-31 14:47:42 +02:00
MaksTinyWorkshop 80d9d0a48d Test MCP_Perso 2026-03-31 09:24:06 +02:00
MaksTinyWorkshop 6d56061554 Add README and LICENSE for community sharing
- README: modèle mental complet (Claude/Codex, BMAD, capitalisation), scripts détaillés, gestion secrets Bitwarden
- LICENSE: CC BY 4.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 09:51:02 +02:00
MaksTinyWorkshop ef99f2a2ca capitalisation 2026-03-28 12:50:07 +01:00
MaksTinyWorkshop e9c1cb8ff9 Update Sync-ai-instructions 2026-03-28 12:26:32 +01:00
MaksTinyWorkshop b6c2aba8e2 Affiner sync projets + publication skills Claude/Codex 2026-03-28 12:13:26 +01:00
MaksTinyWorkshop 52daf6b3af Ajout @RTK.md ref 2026-03-28 10:19:00 +01:00
MaksTinyWorkshop 9fe3ad027e Align BMAD paths with new knowledge structure and automate project registry sync 2026-03-28 10:18:24 +01:00
MaksTinyWorkshop 75c3303271 refactor(sync): générer CLAUDE.md directement dans ~/.claude, pas dans le repo
Le repo Lead_tech n'a pas à héberger CLAUDE.md/AGENTS.md.
sync-ai-instructions génère maintenant ~/.claude/CLAUDE.md directement
et ~/.codex/AGENTS.md reste un symlink vers celui-ci.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 21:15:39 +01:00
MaksTinyWorkshop 824c38505f fix(leadtech): résoudre les chemins Lead_tech selon la machine
- aliases.sh : détection par uname au lieu de tester l'existence du dossier
- _AI_INSTRUCTIONS.md : placeholder {{LEADTECH}} pour tous les chemins
- sync-ai-instructions.sh : substitution {{LEADTECH}} → REPO_ROOT à la génération
- .gitignore : exclure CLAUDE.md et AGENTS.md (fichiers générés, machine-spécifiques)
2026-03-27 21:02:04 +01:00
MaksTinyWorkshop 788e7e7a40 debug doc générale 2026-03-27 15:02:17 +01:00
MaksTinyWorkshop a9283bb198 sync-projetc script 2026-03-27 13:03:36 +01:00
MaksTinyWorkshop a7fecdb1bf Maj Scripts vers BitWarden 2026-03-27 13:00:17 +01:00
MaksTinyWorkshop 8ecc8db217 refactor(scripts): supprimer expect — passer le mdp via stdin à keepassxc-cli 2026-03-26 18:52:36 +01:00
MaksTinyWorkshop 8aab830b15 fix(scripts): utiliser log_file pour capturer le CSV complet dès le spawn 2026-03-26 18:45:19 +01:00
MaksTinyWorkshop 69101cfc77 fix(scripts): capturer CSV via fichier tmp — évite la perte du buffer expect sur Linux 2026-03-26 18:43:21 +01:00
MaksTinyWorkshop ba772da50c fix(scripts): ignorer le bruit du buffer expect avant l'en-tête CSV 2026-03-26 18:31:38 +01:00
MaksTinyWorkshop a2ec71dbbf tmp: debug csv capture 2026-03-26 18:30:22 +01:00
MaksTinyWorkshop 44ac880e18 fix(scripts): corriger passage CSV à python3 via pipe au lieu de heredoc 2026-03-26 18:27:12 +01:00
MaksTinyWorkshop 28454bf466 fix(scripts): remplacer parsing CSV bash par python3 — gère les champs multilignes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 18:26:02 +01:00
MaksTinyWorkshop 83ca6c8bb0 fix(env_paths): migrer les chemins Linux vers ~/.config/auto-secrets/ 2026-03-26 17:56:22 +01:00
MaksTinyWorkshop df1ffb4892 fix(sync-service): aligner le chemin Linux sur ~/.config/auto-secrets/service.env 2026-03-26 17:52:03 +01:00
MaksTinyWorkshop bc7309ee1e fix(scripts): chemins KeePass — Racine/ pour export CSV, sans préfixe pour show 2026-03-26 17:37:07 +01:00
MaksTinyWorkshop 8079bb50df fix(scripts): corriger les chemins de groupes KeePass (supprimer préfixe Racine/) 2026-03-26 17:31:00 +01:00
MaksTinyWorkshop 67d1ba5c7c feat(scripts): ajout sync-project — génère le .env projet depuis KeePass 2026-03-26 17:18:01 +01:00
MaksTinyWorkshop e134513146 fix(aliases): guillemets doubles pour expansion de \$LEADTECH dans zsh/bash 2026-03-26 16:30:49 +01:00
MaksTinyWorkshop d47e1132a5 fix(scripts): remplacer détection env_paths par $LEADTECH/scripts/env_paths.sh
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 16:26:30 +01:00
MaksTinyWorkshop 0a7166faa8 refactor(aliases): harmoniser tous les alias sur \$LEADTECH 2026-03-26 16:24:38 +01:00
MaksTinyWorkshop 53bba76612 feat(scripts): intégrer Auto_scripts dans le repo pour déploiement multi-machine 2026-03-26 16:22:27 +01:00
MaksTinyWorkshop 163b3835b6 fix(aliases): corriger loadg et sync-service — source au lieu d'exécution subshell
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 16:19:21 +01:00