docs: refresh repo state and lot split manifests

This commit is contained in:
L'électron rare
2026-03-15 21:56:51 +01:00
parent 174d620bab
commit dc0ba3499c
11 changed files with 322 additions and 66 deletions
+2
View File
@@ -245,6 +245,8 @@ bash tools/hw/cad_stack.sh doctor
KILL_LIFE_PIO_MODE=container .venv/bin/python tools/auto_check_ci_cd.py
```
`tools/validate_specs.py` inclut un preflight PyYAML avant d'appeler `tools/compliance/validate.py` et retourne un message d'installation explicite si la dependance manque.
---
## 🔧 Serveurs MCP
+26 -1
View File
@@ -1,5 +1,7 @@
# CAD Stack
Last updated: 2026-03-14
Stack Docker CAD/EDA integree directement dans `Kill_LIFE`.
Backlogs canoniques associes:
@@ -7,6 +9,8 @@ Backlogs canoniques associes:
- plan modelling local: `docs/plans/16_plan_cad_modeling_stack.md`
- TODO modelling local: `specs/cad_modeling_tasks.md`
- backlog cible MCP/agentics: `specs/mcp_agentics_target_backlog.md`
- backlog MCP/provenance: `specs/mcp_tasks.md`
- benchmark KiCad adjacent: `docs/KICAD_BENCHMARK_MATRIX.md`
## Direction retenue
@@ -16,6 +20,24 @@ Backlogs canoniques associes:
- `OpenSCAD headless`: `openscad`
- `PlatformIO`: `pio` dans un conteneur Python leger
## Provenance outillage CAD
- `officiel`: surface publiee par le projet ou l'organisation qui own l'outil
- `community valide`: projet tiers etabli, retenu comme reference ou benchmark
- `custom local`: wrapper, launcher ou garde-fou maintenu dans `Kill_LIFE`
| Surface / outil | Provenance | Statut | Usage retenu |
| --- | --- | --- | --- |
| `KiCad.app` + `kicad-cli` + image KiCad 10 | officiel | supporte | source de verite headless pour ERC/DRC/export |
| `FreeCADCmd` + releases FreeCAD | officiel | supporte | modelling headless et backend du serveur `freecad` |
| `OpenSCAD` CLI + releases/snapshots | officiel | supporte | rendu/export headless et backend du serveur `openscad` |
| `KiAuto` | community valide | benchmark outille | appoint opt-in si un lot concret demande plus de checks/export que `kicad-cli` + `kicad-mcp` |
| `kicad-automation-scripts` | community valide | benchmark classe | reference historique pour patterns Docker/doc; pas de promotion runtime par defaut |
| `InteractiveHtmlBom` | community valide | reference utile | BOM interactive offline si la couche doc/fabrication le justifie |
| `tools/hw/cad_stack.sh`, `tools/hw/run_kicad_mcp.sh`, `tools/run_freecad_mcp.sh`, `tools/run_openscad_mcp.sh`, `tools/tui/cad_mcp_audit.sh`, `tools/tui/kicad_benchmark_review.sh` | custom local | supporte | wrappers, garde-fou et helper doc benchmark operateur `Kill_LIFE` |
Le classement `custom local` ne change jamais la source de verite runtime: les wrappers `Kill_LIFE` restent bornes par les binaires officiels detectes ou par les fallbacks conteneurises supportes.
## Usage rapide
```bash
@@ -26,6 +48,8 @@ tools/hw/cad_stack.sh freecad-cmd -c "import FreeCAD; print('.'.join(FreeCAD.Ver
tools/hw/cad_stack.sh openscad --version
tools/hw/cad_stack.sh pio system info
tools/hw/cad_stack.sh mcp
bash tools/tui/kicad_benchmark_review.sh report
bash tools/tui/kicad_benchmark_review.sh purge --yes
python3 tools/hw/freecad_smoke.py --json
python3 tools/hw/openscad_smoke.py --json
```
@@ -69,4 +93,5 @@ Statut:
- la couche modelling locale `FreeCAD/OpenSCAD` reste gouvernee dans `specs/cad_modeling_tasks.md`
- la trajectoire MCP/agentics reste gouvernee dans `specs/mcp_agentics_target_backlog.md`
- `mcp_tasks.md` reste reserve au backlog KiCad MCP et auxiliaires associes
- `mcp_tasks.md` porte le lot provenance MCP/CAD; `docs/KICAD_BENCHMARK_MATRIX.md` fixe la decision benchmark `KiAuto` / `kicad-automation-scripts`
- `bash tools/tui/cad_mcp_audit.sh audit` reste le garde-fou minimal avant toute promotion documentaire ou operateur du lot MCP/CAD
+94
View File
@@ -0,0 +1,94 @@
# KiCad benchmark matrix
Last updated: 2026-03-14
Source canonique pour `K-025` dans `Kill_LIFE`.
References de cadrage absorbees dans ce lot:
- provenance MCP/CAD: `docs/MCP_CAD_PROVENANCE_2026-03-14.md`
- setup MCP local: `docs/MCP_SETUP.md`
- support MCP local: `docs/MCP_SUPPORT_MATRIX.md`
- stack CAD locale: `deploy/cad/README.md`
- backlog executable: `specs/mcp_tasks.md`
## Objectif
Transformer le backlog benchmark `KiAuto` + `kicad-automation-scripts` en une decision operatoire exploitable, sans introduire de dependance externe par defaut et sans desserrer le garde-fou `bash tools/tui/cad_mcp_audit.sh audit`.
## Regle de base
- chaine canonique conservee: `kicad-cli` + `kicad-mcp`
- outillage adjacent compare comme appoint seulement
- aucun `pip install`, clone externe ou image supplementaire n'est ajoute par defaut dans ce repo pour `K-025`
- les logs bruts du lot vivent temporairement sous `.ops/kicad-benchmark/`, puis sont purges apres extraction des conclusions durables
## Matrice de comparaison
Inference explicite:
- la comparaison ci-dessous est deduite des references operatoires du `2026-03-13` et `2026-03-14`, plus de l'architecture actuelle de `Kill_LIFE`
- elle ne suppose ni checkout local de `KiAuto`, ni checkout local de `kicad-automation-scripts`
| Surface / chaine | Provenance | Dependance externe par defaut | ERC / DRC | Export / doc | Fit `Kill_LIFE` | Decision | Position operatoire |
| --- | --- | --- | --- | --- | --- | --- | --- |
| `kicad-cli` + `kicad-mcp` | officiel + custom local | aucune nouvelle dependance | fort | fort | maximal | keep | chaine canonique deja portee par `tools/hw/cad_stack.sh`, `tools/hw/run_kicad_mcp.sh` et `mcp.json` |
| `KiAuto` | community valide | oui, explicite et optionnelle | fort | moyen a fort | moyen | adopt | appoint cible si un lot KiCad reclame des exports ou checks au-dela de la chaine canonique |
| `kicad-automation-scripts` | community valide | oui, explicite et optionnelle | moyen | moyen | faible | ignore | reference historique de patterns Docker/doc, pas une dependance runtime a introduire dans ce repo |
## Lecture de la decision
### `keep` — `kicad-cli` + `kicad-mcp`
- deja supporte, documente et aligne avec les wrappers locaux
- couvre le besoin courant sans nouvelle dette de packaging
- reste compatible avec le garde-fou `tools/tui/cad_mcp_audit.sh`
### `adopt` — `KiAuto`, mais seulement sur activation explicite
- utile comme appoint quand un lot concret demande plus de checks ERC/DRC/export que la chaine canonique n'en expose proprement
- ne doit pas devenir un prerequis repo-global
- doit rester active via un lot ou un profil explicite, avec documentation et logs dedies
Gates d'activation pour un futur lot:
1. un besoin projet reel depasse `kicad-cli` + `kicad-mcp`
2. l'ajout reste optionnel et documente, sans installation implicite
3. le garde-fou `bash tools/tui/cad_mcp_audit.sh audit` est rejoue avant promotion
4. les logs bruts du benchmark sont purges apres synthese durable
### `ignore` — `kicad-automation-scripts` comme dependance runtime
- sa valeur principale ici est documentaire et historique
- le repo possede deja `tools/hw/cad_stack.sh` pour les boucles locales Docker/headless
- l'introduire comme dependance operative dupliquerait la chaine locale plus qu'il ne la clarifierait
## Outillage repo-local livre par `K-025`
Le helper suivant sert a produire une trace locale du benchmark sans dependances additionnelles:
```bash
bash tools/tui/kicad_benchmark_review.sh report
bash tools/tui/kicad_benchmark_review.sh matrix
bash tools/tui/kicad_benchmark_review.sh doctor
bash tools/tui/kicad_benchmark_review.sh purge --yes
```
Contrat:
- `report`: genere `.ops/kicad-benchmark/report.md` plus des logs bruts temporaires
- `matrix`: imprime la matrice de comparaison et la journalise temporairement
- `doctor`: capture l'etat local utile au benchmark
- `purge`: supprime les `*.log` bruts et conserve `report.md`
Le helper ne remplace pas le garde-fou CAD/MCP:
```bash
bash tools/tui/cad_mcp_audit.sh audit
```
## Decision durable pour le repo
- garder `kicad-cli` + `kicad-mcp` comme chemin canonique
- adopter `KiAuto` uniquement comme appoint opt-in, sur lot futur explicitement motive
- ignorer `kicad-automation-scripts` comme dependance runtime du repo
- conserver `InteractiveHtmlBom` comme reference adjacente pour la couche doc/fabrication, hors scope direct de `K-025`
+27
View File
@@ -0,0 +1,27 @@
# Lot Split Manifest - Kill_LIFE (2026-03-15)
## KL-DOCS
README.md
docs/MCP_ECOSYSTEM_MATRIX.md
docs/MCP_SETUP.md
docs/MCP_SUPPORT_MATRIX.md
docs/REPO_STATE.md
docs/plans/15_plan_mcp_runtime_alignment.md
docs/plans/15_todo_mcp_stack.md
docs/KICAD_BENCHMARK_MATRIX.md
docs/LOT_SPLIT_MANIFEST_2026-03-15.md
docs/MCP_CAD_PROVENANCE_2026-03-14.md
## KL-SPECS
specs/mcp_tasks.md
## KL-TOOLS
tools/cad_runtime.py
tools/freecad_mcp.py
tools/mcp_runtime_status.py
tools/validate_specs.py
tools/tui/
## KL-OTHER
deploy/cad/README.md
.ops/
+51
View File
@@ -0,0 +1,51 @@
# Lot provenance MCP/CAD — 2026-03-14
Lot documentaire et de backlog pour `Kill_LIFE`, mene sans toucher a `git` et sans lancer de tests.
## References utilisees
- `/Users/electron/.codex/memories/electron_rare_chantier/MANIFEST_EASTER_EGGS_REF_2026-03-11.md`
- `/Users/electron/.codex/memories/electron_rare_chantier/WEB_NOTES_2026-03-13_GATEWAY_MCP.md`
- `/Users/electron/.codex/memories/electron_rare_chantier/WEB_2026_TO_BACKLOG_2026-03-14.md`
## Garde-fou conserve
Commande jouee:
```bash
bash tools/tui/cad_mcp_audit.sh audit
```
Resultat durable extrait du rapport:
- `raw_hits`: `4`
- `ignored_hits`: `4`
- `actionable_hits`: `0`
- `doc_anchor_hits`: `103`
- rapport conserve: `.ops/cad-mcp-audit/report.md`
Le lot provenance n'assouplit donc pas l'allowlist CAD/MCP existante.
## Decisions retenues
- `officiel`
- surfaces MCP distantes publiees par leur owner: `huggingface`
- runtimes CAD amont: `KiCad`, `FreeCAD`, `OpenSCAD`
- `community valide`
- references de benchmark ou d'appoint: `KiAuto`, `kicad-automation-scripts`, `InteractiveHtmlBom`
- `custom local`
- launchers, wrappers, serveurs et garde-fous maintenus dans `Kill_LIFE` ou `mascarade`: `kicad`, `validate-specs`, `knowledge-base`, `github-dispatch`, `freecad`, `openscad`, `component_database`, `kicad_tools`, `nexar_api`, `tools/tui/cad_mcp_audit.sh`
## Actions durables
- mise a jour des docs canoniques MCP: `docs/MCP_SETUP.md`, `docs/MCP_SUPPORT_MATRIX.md`, `docs/MCP_ECOSYSTEM_MATRIX.md`
- mise a jour de la doc CAD: `deploy/cad/README.md`
- mise a jour du plan canonique: `docs/plans/15_plan_mcp_runtime_alignment.md`
- mise a jour du TODO canonique: `specs/mcp_tasks.md`
- `K-025` absorbe via `docs/KICAD_BENCHMARK_MATRIX.md` et `tools/tui/kicad_benchmark_review.sh`
## Politique logs
- les logs bruts vivent temporairement dans `.ops/cad-mcp-audit/*.log`
- seul le rapport Markdown `.ops/cad-mcp-audit/report.md` est conserve comme trace durable
- apres extraction des conclusions, les `.log` bruts doivent etre purges
+39 -31
View File
@@ -1,6 +1,6 @@
# MCP ecosystem matrix
Last updated: 2026-03-08
Last updated: 2026-03-14
Matrice transverse des surfaces MCP et non-MCP observees dans `Kill_LIFE`, `mascarade` et `crazy_life`.
@@ -12,49 +12,57 @@ Matrice transverse des surfaces MCP et non-MCP observees dans `Kill_LIFE`, `masc
- `infra-only`: composant d'infra ou de migration, pas un point d'entree operateur
- `non supporte`: historique, doc-only ou chemin non retenu
## Provenance
- `officiel`: surface publiee par le projet ou l'organisation qui own l'outil, ou referencee par une source officielle
- `community valide`: projet tiers etabli, retenu comme reference ou benchmark
- `custom local`: launcher, wrapper, service, probe ou integration maintenu dans `Kill_LIFE` ou un repo compagnon du workspace
## 1. Serveurs MCP reels
| Surface | Repo principal | Type | Point d'entree | Statut | Notes |
| --- | --- | --- | --- | --- | --- |
| `kicad` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/hw/run_kicad_mcp.sh` | supporte | runtime KiCad canonique; implementation dans `mascarade/finetune/kicad_mcp_server` |
| `validate-specs` | `Kill_LIFE` | serveur MCP | `python3 tools/validate_specs.py --mcp` | supporte | validation repo/specs; pas un runtime CAD |
| `knowledge-base` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_knowledge_base_mcp.sh` | supporte avec dependance externe | serveur MCP de compat sur la knowledge base configuree (`memos` ou `docmost`); validation live fermee sur le provider actif `memos` auto-heberge |
| `github-dispatch` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_github_dispatch_mcp.sh` | supporte avec dependance externe | serveur stable, validation live fermee via token GitHub persiste dans `runtime-secrets` |
| `freecad` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_freecad_mcp.sh` | supporte | serveur MCP headless local base sur `FreeCADCmd` |
| `openscad` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_openscad_mcp.sh` | supporte | serveur MCP headless local stateless base sur `openscad` |
| `component_database` | `mascarade` | micro-serveur MCP | `python3 -m mcp_servers.component_db` | supporte avec dependance externe | serveur auxiliaire; depend du cache KiCad v10 et du repo compagnon |
| `kicad_tools` | `mascarade` | micro-serveur MCP | `python3 -m mcp_servers.kicad_tools` | supporte avec dependance externe | serveur auxiliaire; depend des fichiers KiCad reels et du repo compagnon |
| `nexar_api` | `Kill_LIFE` + `mascarade` | micro-serveur MCP | `tools/run_nexar_mcp.sh` | supporte avec dependance externe | chemin live valide; le token de reference atteint Nexar mais reste limite par un quota externe (`part limit of 0`) |
| Surface | Repo principal | Type | Point d'entree | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `kicad` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/hw/run_kicad_mcp.sh` | supporte | custom local | runtime KiCad canonique; implementation dans `mascarade/finetune/kicad_mcp_server` |
| `validate-specs` | `Kill_LIFE` | serveur MCP | `python3 tools/validate_specs.py --mcp` | supporte | custom local | validation repo/specs; pas un runtime CAD |
| `knowledge-base` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_knowledge_base_mcp.sh` | supporte avec dependance externe | custom local | serveur MCP de compat sur la knowledge base configuree (`memos` ou `docmost`) |
| `github-dispatch` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_github_dispatch_mcp.sh` | supporte avec dependance externe | custom local | serveur stable, validation live fermee via token GitHub persiste dans `runtime-secrets` |
| `freecad` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_freecad_mcp.sh` | supporte | custom local | serveur MCP headless local base sur `FreeCADCmd` |
| `openscad` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_openscad_mcp.sh` | supporte | custom local | serveur MCP headless local stateless base sur `openscad` |
| `huggingface` | `Kill_LIFE` | serveur MCP distant | `https://huggingface.co/mcp` | supporte avec dependance externe | officiel | endpoint MCP distant officiel, versionne dans `mcp.json` |
| `component_database` | `mascarade` | micro-serveur MCP | `python3 -m mcp_servers.component_db` | supporte avec dependance externe | custom local | serveur auxiliaire; depend du cache KiCad v10 et du repo compagnon |
| `kicad_tools` | `mascarade` | micro-serveur MCP | `python3 -m mcp_servers.kicad_tools` | supporte avec dependance externe | custom local | serveur auxiliaire; depend des fichiers KiCad reels et du repo compagnon |
| `nexar_api` | `Kill_LIFE` + `mascarade` | micro-serveur MCP | `tools/run_nexar_mcp.sh` | supporte avec dependance externe | custom local | chemin live valide, mais encore borne par un quota externe |
## 2. Consommateurs et configs MCP
| Surface | Repo principal | Type | Point d'entree | Statut | Notes |
| --- | --- | --- | --- | --- | --- |
| `mcp.json` | `Kill_LIFE` | config consommateur MCP | `mcp.json` | supporte | reference `kicad`, `validate-specs`, `knowledge-base`, `github-dispatch`, `freecad`, `openscad` |
| `MCP setup` | `Kill_LIFE` | doc operateur MCP | `docs/MCP_SETUP.md` | supporte | source de verite d'usage local |
| `ops MCP probe` | `mascarade` | observabilite synthetique | `/api/ops/summary` via `api/src/routes/ops.ts` | supporte avec dependance externe | expose l'etat agrege de `kicad`, `validate-specs`, `knowledge-base`, `github-dispatch`, `freecad`, `openscad` et des surfaces distantes suivies par le cockpit |
| `crazy_life MCP positionnement` | `crazy_life` | doc de non-ownership / cockpit | `docs/MCP_PLAN_2026-03-07.md` | supporte | `crazy_life` consomme l'etat MCP et les probes, sans porter de serveur |
| Surface | Repo principal | Type | Point d'entree | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `mcp.json` | `Kill_LIFE` | config consommateur MCP | `mcp.json` | supporte | custom local | reference `kicad`, `validate-specs`, `knowledge-base`, `github-dispatch`, `freecad`, `openscad` et `huggingface` |
| `MCP setup` | `Kill_LIFE` | doc operateur MCP | `docs/MCP_SETUP.md` | supporte | custom local | source de verite d'usage local et de provenance operatoire |
| `ops MCP probe` | `mascarade` | observabilite synthetique | `/api/ops/summary` via `api/src/routes/ops.ts` | supporte avec dependance externe | custom local | expose l'etat agrege des surfaces MCP locales et distantes suivies par le cockpit |
| `crazy_life MCP positionnement` | `crazy_life` | doc de non-ownership / cockpit | `docs/MCP_PLAN_2026-03-07.md` | supporte | custom local | `crazy_life` consomme l'etat MCP et les probes, sans porter de serveur |
## 3. Integrations tierces non-MCP
| Surface | Repo principal | Type | Point d'entree | Dependance | Statut | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `Knowledge base bridge` | `mascarade` | API HTTP interne | `/api/knowledge-base/*` via `api/src/routes/knowledgeBase.ts` | provider actif + credentials associes | supporte | bridge HTTP de compat vers la knowledge base configuree |
| `Knowledge base core` | `mascarade` | integration provider-aware | `core/mascarade/integrations/knowledge_base.py` | provider actif + credentials associes | supporte | source de verite backend pour `memos` et `docmost` |
| `GitHub dispatch` | `mascarade` | API GitHub directe | `api/src/lib/killlife.ts` | `KILL_LIFE_GITHUB_TOKEN` ou `GITHUB_TOKEN` | supporte | lance `workflow_dispatch`, conserve en parallele du MCP `github-dispatch` |
| `FreeCAD agent` | `mascarade` | agent metier | `core/mascarade/agents/freecad_agent.py` | backend LLM | supporte | reste un agent de guidance; l'execution outillee passe par le MCP `freecad` pour la suite cible |
| `Workflow editors` | `mascarade` + `crazy_life` | UI orchestration | `web/src/pages/KillLifeWorkflowEditor.tsx`, `src/pages/KillLifeWorkflowEditor.tsx`, `src/pages/CrazyLaneEditor.tsx` | backend API | supporte | exposent `github-dispatch` comme type de noeud, pas comme serveur MCP |
| Surface | Repo principal | Type | Point d'entree | Dependance | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- |
| `Knowledge base bridge` | `mascarade` | API HTTP interne | `/api/knowledge-base/*` via `api/src/routes/knowledgeBase.ts` | provider actif + credentials associes | supporte | custom local | bridge HTTP de compat vers la knowledge base configuree |
| `Knowledge base core` | `mascarade` | integration provider-aware | `core/mascarade/integrations/knowledge_base.py` | provider actif + credentials associes | supporte | custom local | source de verite backend pour `memos` et `docmost` |
| `GitHub dispatch` | `mascarade` | API GitHub directe | `api/src/lib/killlife.ts` | `KILL_LIFE_GITHUB_TOKEN` ou `GITHUB_TOKEN` | supporte | custom local | lance `workflow_dispatch`, conserve en parallele du MCP `github-dispatch` |
| `FreeCAD agent` | `mascarade` | agent metier | `core/mascarade/agents/freecad_agent.py` | backend LLM | supporte | custom local | reste un agent de guidance; l'execution outillee passe par le MCP `freecad` pour la suite cible |
| `Workflow editors` | `mascarade` + `crazy_life` | UI orchestration | `web/src/pages/KillLifeWorkflowEditor.tsx`, `src/pages/KillLifeWorkflowEditor.tsx`, `src/pages/CrazyLaneEditor.tsx` | backend API | supporte | custom local | exposent `github-dispatch` comme type de noeud, pas comme serveur MCP |
## 4. Surfaces infra-only ou migration
| Surface | Repo principal | Type | Point d'entree | Statut | Notes |
| --- | --- | --- | --- | --- | --- |
| `openmemory-mcp / mem0` | `mascarade` | conteneur MCP tiers | `deploy/migration/compose.tools.ai.yml` | infra-only | profil `heavy`, non documente comme point d'entree canonique |
| `kicad-sch-mcp` | docs historiques | ancien serveur MCP externe | documentation seulement | non supporte | pas package ni retenu dans le workspace actuel |
| Surface | Repo principal | Type | Point d'entree | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `openmemory-mcp / mem0` | `mascarade` | conteneur MCP tiers | `deploy/migration/compose.tools.ai.yml` | infra-only | community valide | profil `heavy`, non documente comme point d'entree canonique |
| `kicad-sch-mcp` | docs historiques | ancien serveur MCP externe | documentation seulement | non supporte | community valide | pas package ni retenu dans le workspace actuel |
## 5. Conclusion
- `Kill_LIFE` porte maintenant des MCP locaux supportes pour `kicad`, `validate-specs`, `knowledge-base`, `github-dispatch`, `freecad` et `openscad`
- `Kill_LIFE` porte des MCP locaux supportes pour `kicad`, `validate-specs`, `knowledge-base`, `github-dispatch`, `freecad` et `openscad`, tous classes `custom local`
- `huggingface` reste la surface MCP distante officielle suivie dans `mcp.json`
- `mascarade` porte l'agregation ops et les integrations applicatives encore existantes en parallele
- `crazy_life` consomme et supervise, mais n'own pas de serveur MCP
- `A2A` reste ferme tant que l'orchestrateur n'est pas branche sur les MCP specialises et que l'observabilite MCP n'est pas completement homogene
- les references `community valide` restent des apports de benchmark ou d'infra, pas des runtimes canoniques par defaut
+27 -4
View File
@@ -1,6 +1,6 @@
# MCP setup
Last updated: 2026-03-08
Last updated: 2026-03-14
Source canonique pour l'usage MCP local de `Kill_LIFE`.
@@ -9,6 +9,8 @@ References canoniques:
- spec de perimetre KiCad: `specs/kicad_mcp_scope_spec.md`
- matrice de support: `docs/MCP_SUPPORT_MATRIX.md`
- matrice ecosysteme: `docs/MCP_ECOSYSTEM_MATRIX.md`
- benchmark KiCad adjacent: `docs/KICAD_BENCHMARK_MATRIX.md`
- note de lot provenance: `docs/MCP_CAD_PROVENANCE_2026-03-14.md`
- backlog MCP KiCad: `specs/mcp_tasks.md`
- backlog cible MCP/agentics: `specs/mcp_agentics_target_backlog.md`
@@ -19,6 +21,13 @@ References canoniques:
- `specs/` a la racine de `Kill_LIFE` est la source de verite canonique
- `ai-agentic-embedded-base/specs/` n'est qu'un miroir exporte
## Provenance operatoire
- `officiel`: surface publiee par le projet ou l'organisation qui own l'outil, ou referencee via une source officielle
- `community valide`: projet tiers etabli, retenu comme reference ou benchmark
- `custom local`: launcher, wrapper, serveur ou audit maintenu dans `Kill_LIFE` ou `mascarade`
- garde-fou actif: `bash tools/tui/cad_mcp_audit.sh audit` reste obligatoire pour le lot CAD/MCP; au `2026-03-14`, le rapport documente `0 actionable hit`
## Chemins supportes
- `kicad`: `tools/hw/run_kicad_mcp.sh`
@@ -27,7 +36,8 @@ References canoniques:
- `github-dispatch`: `tools/run_github_dispatch_mcp.sh`
- `freecad`: `tools/run_freecad_mcp.sh`
- `openscad`: `tools/run_openscad_mcp.sh`
- transport supporte: `stdio` local uniquement, sauf surface distante explicitement declaree par le cockpit compagnon
- `huggingface`: `https://huggingface.co/mcp`
- transport supporte: `stdio` local par defaut; l'unique exception versionnee ici est `huggingface` en endpoint `url` distant officiel
## Ce qui est reellement supporte
@@ -37,6 +47,7 @@ References canoniques:
- `github-dispatch`: MCP local pour workflows GitHub allowlistes
- `freecad`: MCP local headless pour infos runtime, document minimal, export et script Python controle
- `openscad`: MCP local headless pour infos runtime, validation, rendu et export
- `huggingface`: surface MCP distante officielle, optionnelle et hors chaine CAD locale
Les micro-serveurs `kicad_kic_ai` de `mascarade` restent suivis comme surfaces auxiliaires dans `docs/MCP_SUPPORT_MATRIX.md`.
@@ -78,7 +89,7 @@ python3 tools/mcp_runtime_status.py --json
Sur la machine de reference:
- `kicad`, `validate-specs`, `freecad` et `openscad` sont `ready`
- `kicad`, `validate-specs`, `freecad`, `openscad` et `huggingface` sont `ready`
- `knowledge-base` est `ready` sur le provider actif `memos` auto-heberge
- `github-dispatch` est `ready`, avec validation live fermee via token GitHub persiste
@@ -124,6 +135,14 @@ Le fichier versionne [mcp.json](../mcp.json) pointe vers les serveurs MCP reelle
"command": "bash",
"args": ["tools/run_openscad_mcp.sh"],
"tools": ["*"]
},
"huggingface": {
"type": "url",
"url": "https://huggingface.co/mcp",
"headers": {
"Authorization": "Bearer ${HUGGINGFACE_API_KEY}"
},
"note": "Use https://huggingface.co/mcp?login for OAuth browser login instead of token auth"
}
}
}
@@ -220,14 +239,18 @@ Le chemin d'observabilite synthetique n'est pas fourni par `Kill_LIFE` seul. Si
## Politique de support
- `stdio` reste le seul transport supporte par defaut
- `stdio` reste le seul transport supporte par defaut pour les surfaces locales
- aucun serveur MCP reseau n'est expose par defaut pour ces surfaces locales
- `huggingface` reste la seule surface distante officielle versionnee dans `mcp.json`
- `knowledge-base` et `github-dispatch` sont valides en live sur la machine de reference
- `freecad` et `openscad` sont supportes comme serveurs MCP headless locaux
- `kicad` reste le runtime MCP CAD principal
- les classifications `officiel` / `community valide` / `custom local` sont detaillees dans `docs/MCP_SUPPORT_MATRIX.md` et `deploy/cad/README.md`
- `docs/KICAD_BENCHMARK_MATRIX.md` fixe la decision `K-025`: `KiAuto` reste un appoint opt-in, `kicad-automation-scripts` reste une reference doc-only
## Points encore ouverts
- finir l'observabilite MCP homogene
- requalifier l'ouverture future de `A2A` une fois l'observabilite MCP homogene fermee
- garder `K-012` comme validation host-native optionnelle tant que le runtime KiCad canonique reste le conteneur; `K-014` est valide en live, avec une limite externe de quota Nexar sur le token de reference
- si un futur lot active `KiAuto`, suivre `docs/KICAD_BENCHMARK_MATRIX.md`, rester opt-in et rejouer `bash tools/tui/cad_mcp_audit.sh audit`
+26 -17
View File
@@ -1,6 +1,6 @@
# MCP support matrix
Last updated: 2026-03-08
Last updated: 2026-03-14
Matrice canonique du statut MCP pour `Kill_LIFE`, `mascarade` et les surfaces associees.
@@ -15,32 +15,41 @@ Vue plus large de l'ecosysteme:
- `experimental`: surface presente et suivie, mais pas encore validee comme chemin operateur stable
- `non supporte`: ancien chemin, historique ou simple reference documentaire
## Provenance
- `officiel`: surface publiee par l'organisation ou le projet qui own l'outil, ou referencee via le registry MCP officiel
- `community valide`: projet tiers etabli, retenu comme reference ou benchmark, sans ownership local direct
- `custom local`: launcher, wrapper, serveur ou audit maintenu dans `Kill_LIFE` ou son repo compagnon
## Matrice
| Surface | Point d'entree | Ownership | Protocole observe / declare | Statut | Notes |
| --- | --- | --- | --- | --- | --- |
| `kicad` | `tools/hw/run_kicad_mcp.sh` | launcher `Kill_LIFE`, implementation `mascarade/finetune/kicad_mcp_server` | `2025-03-26` observe au smoke | supporte | runtime KiCad canonique; `tools/hw/cad_stack.sh mcp` est un alias supporte |
| `validate-specs` | `python3 tools/validate_specs.py --mcp` | `Kill_LIFE` | `2025-03-26` observe en test | supporte | validation repo/specs; ne remplace pas le runtime KiCad |
| `knowledge-base` | `tools/run_knowledge_base_mcp.sh` | launcher `Kill_LIFE`, backend `mascarade/core/mascarade/integrations/knowledge_base.py` | `2025-03-26` observe en test | supporte avec dependance externe | serveur MCP de compat vers la knowledge base configuree (`memos` ou `docmost`); validation live fermee sur le provider actif `memos` auto-heberge |
| `github-dispatch` | `tools/run_github_dispatch_mcp.sh` | launcher `Kill_LIFE`, backend `mascarade/core/mascarade/integrations/github_dispatch.py` | `2025-03-26` observe en test | supporte avec dependance externe | serveur local stable; validation live fermee via token GitHub persiste dans `runtime-secrets` |
| `freecad` | `tools/run_freecad_mcp.sh` | runtime `Kill_LIFE`, ops `mascarade` | `2025-03-26` observe au smoke | supporte | MCP local headless pour infos runtime, creation minimale, export et script controle |
| `openscad` | `tools/run_openscad_mcp.sh` | runtime `Kill_LIFE`, ops `mascarade` | `2025-03-26` observe au smoke | supporte | MCP local headless stateless pour validation, rendu et export |
| `component_database` | `python3 -m mcp_servers.component_db` | `mascarade/finetune/kicad_kic_ai` | `2025-03-26` observe au handshake | supporte avec dependance externe | micro-serveur auxiliaire; depend du cache KiCad v10 et du repo compagnon |
| `kicad_tools` | `python3 -m mcp_servers.kicad_tools` | `mascarade/finetune/kicad_kic_ai` | `2025-03-26` observe au handshake | supporte avec dependance externe | micro-serveur auxiliaire; analyses reelles si les fichiers KiCad et dependances associees sont disponibles |
| `nexar_api` | `tools/run_nexar_mcp.sh` | launcher `Kill_LIFE`, serveur `mascarade/finetune/kicad_kic_ai/mcp_servers/nexar.py` | `2025-03-26` observe au handshake | supporte avec dependance externe | micro-serveur auxiliaire; le chemin live est valide avec `Bearer NEXAR_TOKEN`; sur la machine de reference, le token actuel atteint Nexar mais retourne un quota `part limit of 0` |
| Surface | Point d'entree | Ownership | Protocole observe / declare | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `kicad` | `tools/hw/run_kicad_mcp.sh` | launcher `Kill_LIFE`, implementation `mascarade/finetune/kicad_mcp_server` | `2025-03-26` observe au smoke | supporte | custom local | runtime KiCad canonique; `tools/hw/cad_stack.sh mcp` est un alias supporte |
| `validate-specs` | `python3 tools/validate_specs.py --mcp` | `Kill_LIFE` | `2025-03-26` observe en test | supporte | custom local | validation repo/specs; ne remplace pas le runtime KiCad |
| `knowledge-base` | `tools/run_knowledge_base_mcp.sh` | launcher `Kill_LIFE`, backend `mascarade/core/mascarade/integrations/knowledge_base.py` | `2025-03-26` observe en test | supporte avec dependance externe | custom local | serveur MCP de compat vers la knowledge base configuree (`memos` ou `docmost`); validation live fermee sur le provider actif `memos` auto-heberge |
| `github-dispatch` | `tools/run_github_dispatch_mcp.sh` | launcher `Kill_LIFE`, backend `mascarade/core/mascarade/integrations/github_dispatch.py` | `2025-03-26` observe en test | supporte avec dependance externe | custom local | serveur local stable; validation live fermee via token GitHub persiste dans `runtime-secrets` |
| `freecad` | `tools/run_freecad_mcp.sh` | runtime `Kill_LIFE`, ops `mascarade` | `2025-03-26` observe au smoke | supporte | custom local | MCP local headless pour infos runtime, creation minimale, export et script controle |
| `openscad` | `tools/run_openscad_mcp.sh` | runtime `Kill_LIFE`, ops `mascarade` | `2025-03-26` observe au smoke | supporte | custom local | MCP local headless stateless pour validation, rendu et export |
| `huggingface` | `https://huggingface.co/mcp` | `Hugging Face` | endpoint `url` versionne dans `mcp.json` | supporte avec dependance externe | officiel | surface MCP distante officielle; hors garde-fou `stdio` local; requiert `HUGGINGFACE_API_KEY` ou login OAuth |
| `component_database` | `python3 -m mcp_servers.component_db` | `mascarade/finetune/kicad_kic_ai` | `2025-03-26` observe au handshake | supporte avec dependance externe | custom local | micro-serveur auxiliaire; depend du cache KiCad v10 et du repo compagnon |
| `kicad_tools` | `python3 -m mcp_servers.kicad_tools` | `mascarade/finetune/kicad_kic_ai` | `2025-03-26` observe au handshake | supporte avec dependance externe | custom local | micro-serveur auxiliaire; analyses reelles si les fichiers KiCad et dependances associees sont disponibles |
| `nexar_api` | `tools/run_nexar_mcp.sh` | launcher `Kill_LIFE`, serveur `mascarade/finetune/kicad_kic_ai/mcp_servers/nexar.py` | `2025-03-26` observe au handshake | supporte avec dependance externe | custom local | micro-serveur auxiliaire; le chemin live est valide avec `Bearer NEXAR_TOKEN`; sur la machine de reference, le token actuel atteint Nexar mais retourne un quota `part limit of 0` |
## Hors chaine supportee
| Surface | Point d'entree | Ownership | Protocole observe / declare | Statut | Notes |
| --- | --- | --- | --- | --- | --- |
| `kicad-sch-mcp` | aucun chemin versionne supporte ici | historique | n/a | non supporte | ancien chemin documentaire, pas un runtime principal de ce workspace |
| Surface | Point d'entree | Ownership | Protocole observe / declare | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `kicad-sch-mcp` | aucun chemin versionne supporte ici | historique | n/a | non supporte | community valide | ancien serveur MCP tiers documente seulement; pas retenu comme runtime principal de ce workspace |
## Decisions importantes
- `stdio` reste le seul transport supporte par defaut pour les serveurs locaux
- `stdio` reste le seul transport supporte par defaut pour les serveurs locaux; `huggingface` est la seule surface distante versionnee dans `mcp.json`
- `knowledge-base` et `github-dispatch` sont supportes comme serveurs MCP locaux, avec validation live fermee sur la machine de reference
- `freecad` et `openscad` sont des serveurs MCP supportes et sondes par le cockpit ops
- le probe synthetique MCP expose cote ops appartient a `mascarade/api/src/routes/ops.ts`
- la provenance `custom local` n'assouplit jamais le garde-fou `bash tools/tui/cad_mcp_audit.sh audit`
- la provenance des runtimes CAD sous-jacents est detaillee dans `deploy/cad/README.md`
- `K-025` est absorbe dans `docs/KICAD_BENCHMARK_MATRIX.md`: `KiAuto` reste un appoint opt-in, `kicad-automation-scripts` reste doc-only
## Dettes encore ouvertes
+5 -5
View File
@@ -1,11 +1,11 @@
<!-- REPO_STATE:v1 -->
Repo: Kill_LIFE
Branch: codex/repo-state-global-index
HEAD: 432c76a57e5cd9c1603d68f56cc6d012168be1b3
HeadDate: 2026-02-21T03:03:06+01:00
HeadSubject: Merge pull request #9 from electron-rare/codex/autonomy-plan-todo-hw-local
Branch: main
HEAD: 225f2f856eb11da28ea1aad4cea1d35244388fca
HeadDate: 2026-03-15T00:00:00+01:00
HeadSubject: Baseline capture before multi-repo implementation lots
RepoURL: https://github.com/electron-rare/Kill_LIFE.git
ProjectKind: agentic_orchestrator
PivotChanges: [{"path": "(none)", "tags": ["general_change"]}]
ImpactGates: general_change
GeneratedAtUTC: 2026-02-21T02:22:47Z
GeneratedAtUTC: 2026-03-15T00:00:00Z
+22 -7
View File
@@ -1,6 +1,6 @@
# 15) Plan d'alignement MCP local
Last updated: 2026-03-07
Last updated: 2026-03-14
Ce fichier est le plan MCP canonique cote `Kill_LIFE`.
@@ -8,29 +8,35 @@ Sources de verite associees:
- `docs/MCP_SETUP.md`
- `docs/MCP_SUPPORT_MATRIX.md`
- `docs/MCP_ECOSYSTEM_MATRIX.md`
- `docs/KICAD_BENCHMARK_MATRIX.md`
- `docs/MCP_CAD_PROVENANCE_2026-03-14.md`
- `specs/kicad_mcp_scope_spec.md`
- `specs/mcp_tasks.md`
## Objectif
Faire de `Kill_LIFE` le repo de consommation et de gouvernance MCP, sans maintenir un second serveur KiCad concurrent.
Faire de `Kill_LIFE` le repo de consommation et de gouvernance MCP, sans maintenir un second serveur KiCad concurrent et sans brouiller la provenance des surfaces CAD/MCP.
## Etat actuel
- `mcp.json` pointe vers des launchers MCP reels pour `kicad`, `validate-specs`, `knowledge-base` et `github-dispatch`
- `mcp.json` pointe vers des launchers MCP reels pour `kicad`, `validate-specs`, `knowledge-base`, `github-dispatch`, `freecad`, `openscad` et `huggingface`
- `tools/hw/run_kicad_mcp.sh` est le point d'entree canonique pour le runtime KiCad
- `tools/hw/cad_stack.sh mcp` est deja aligne sur ce launcher
- `python3 tools/hw/mcp_smoke.py --timeout 30` passe sur la machine auditee via fallback conteneur
- `validate-specs` existe comme CLI et comme serveur MCP `stdio`
- la pile MCP locale converge sur `2025-03-26`
- l'observabilite synthetique MCP est exposee via `/api/ops/summary` si la stack compagnon `mascarade` tourne
- le garde-fou `bash tools/tui/cad_mcp_audit.sh audit` retourne `0 actionable hit` au lot provenance du `2026-03-14`
## Decisions figees
- `Kill_LIFE` ne publie pas de second runtime KiCad host-side concurrent
- `mascarade/finetune/kicad_mcp_server` reste l'implementation serveur KiCad de reference
- `stdio` reste le seul transport supporte par defaut
- `stdio` reste le seul transport supporte par defaut pour les serveurs locaux
- `huggingface` reste l'unique surface MCP distante versionnee dans `mcp.json`
- la matrice de support MCP est centralisee dans `docs/MCP_SUPPORT_MATRIX.md`
- la provenance `officiel` / `community valide` / `custom local` est centralisee dans `docs/MCP_SUPPORT_MATRIX.md` et `deploy/cad/README.md`
- le backlog executable est centralise dans `specs/mcp_tasks.md`
- `specs/` a la racine est la source de verite canonique; `ai-agentic-embedded-base/specs/` reste un miroir exporte
@@ -43,6 +49,7 @@ Faire de `Kill_LIFE` le repo de consommation et de gouvernance MCP, sans mainten
5. Stabiliser le fallback conteneur KiCad v10
6. Ajouter un smoke consommateur versionne
7. Fixer une doc d'usage canonique et une matrice de support
8. Classer la provenance MCP/CAD sans desserrer le garde-fou d'audit
## Travail restant
@@ -66,18 +73,26 @@ Faire de `Kill_LIFE` le repo de consommation et de gouvernance MCP, sans mainten
### Priorite 4 — Classement des surfaces auxiliaires
1. Fait
2. `component_database` et `kicad_tools` sont classes `supporte avec dependance externe`.
3. `nexar_api` reste `experimental` tant qu'il n'est pas valide en mode live.
2. `component_database`, `kicad_tools` et `nexar_api` sont classes `supporte avec dependance externe`.
3. `nexar_api` reste supporte avec dependance externe; la limite live restante est externe au workspace (quota/plan du token), pas un doute sur la surface.
4. Le helper `python3 tools/nexar_mcp_smoke.py --json` qualifie le mode demo; `--live` sert a valider un vrai token.
### Priorite 5 — Provenance et outillage adjacent
1. Fait
2. `docs/MCP_SUPPORT_MATRIX.md`, `docs/MCP_ECOSYSTEM_MATRIX.md`, `docs/MCP_SETUP.md` et `deploy/cad/README.md` classent maintenant `officiel`, `community valide` et `custom local`.
3. `docs/KICAD_BENCHMARK_MATRIX.md` et `tools/tui/kicad_benchmark_review.sh` absorbent `K-025`: `KiAuto` reste un appoint opt-in, `kicad-automation-scripts` reste doc-only, sans remplacer par defaut `kicad-cli` + `kicad-mcp`.
4. Les logs bruts du benchmark vivent sous `.ops/kicad-benchmark/*.log`, puis sont purges apres extraction des conclusions durables; le rapport Markdown peut rester.
## Criteres de sortie
- `Kill_LIFE` publie une seule doc operateur MCP canonique
- la matrice de support ne laisse plus de statut implicite
- la matrice de support ne laisse plus de statut implicite ni de provenance implicite
- les TODOs MCP ne sont plus dupliques entre `docs/plans` et `specs`
- le prochain lecteur sait immediatement:
- quel serveur lancer
- quel alias utiliser
- ce qui est supporte localement
- ce qui est officiel, communautaire valide ou custom local
- ce qui depend encore de `mascarade`
- ce qui reste reellement ouvert
+3 -1
View File
@@ -1,6 +1,6 @@
# TODO MCP stack — `Kill_LIFE`
Last updated: 2026-03-07
Last updated: 2026-03-14
Ce fichier n'est plus le TODO MCP canonique.
@@ -9,8 +9,10 @@ Source de vérité actuelle:
- backlog exécutable: `specs/mcp_tasks.md`
- doc opérateur: `docs/MCP_SETUP.md`
- matrice de support: `docs/MCP_SUPPORT_MATRIX.md`
- benchmark KiCad adjacent: `docs/KICAD_BENCHMARK_MATRIX.md`
Raison:
- le backlog MCP ne doit plus être dupliqué entre `docs/plans` et `specs`
- `specs/mcp_tasks.md` porte maintenant l'état courant et les actions restantes
- `K-025` est ferme dans `specs/mcp_tasks.md`; la decision durable vit dans `docs/KICAD_BENCHMARK_MATRIX.md`