diff --git a/README.md b/README.md
index db3484e..32331af 100644
--- a/README.md
+++ b/README.md
@@ -1,31 +1,31 @@
-# Kill_LIFE đ â Control Plane IA-native, cockpit opĂ©rateur et lot pilote extensions
+# Kill_LIFE đ â AI-native Control Plane, Operator Cockpit, and Extension Pilot Batch
[](https://github.com/electron-rare/Kill_LIFE/actions)
-[](licenses/MIT.txt)
+[](licenses/MIT.txt)
[](docs/COMPLIANCE.md)
-

+
---
-Bienvenue dans **Kill_LIFE**, le control plane public du programme agentique `Kill_LIFE`. Le repo concentre aujourd'hui le cockpit opérateur, la chaßne spec-first, les contrats runtime/MCP, les preuves d'exécution, et le lot pilote qui alimente les extensions VS Code soeurs `kill-life-studio`, `kill-life-mesh` et `kill-life-operator`.
+Welcome to **Kill_LIFE**, the public control plane of the `Kill_LIFE` agentic program. The repo now concentrates the operator cockpit, the spec-first pipeline, runtime/MCP contracts, execution evidence, and the pilot batch that powers sister VS Code extensions `kill-life-studio`, `kill-life-mesh`, and `kill-life-operator`.
-La regle de lecture 2026-03-22 est simple:
+The 2026-03-22 reading rule is simple:
-- ce `README.md` décrit le produit/programme et les décisions de consolidation
-- `docs/index.md` est la navigation opérateur canonique
-- `tools/cockpit/README.md` est l'entrée outillage/TUI canonique
-- `specs/README.md` reste la source de vérité de la chaßne spec-first
-- `docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-22.md` porte l'audit structure, les risques, la matrice IA et la carte de fonctionnalites
+- this `README.md` describes the product/program and consolidation decisions
+- `docs/index.md` is the canonical operator navigation
+- `tools/cockpit/README.md` is the canonical tooling/TUI entry point
+- `specs/README.md` remains the source of truth for the spec-first pipeline
+- `docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-22.md` contains the structural audit, risks, AI matrix, and feature map
-La boucle courte de gouvernance locale est désormais:
+The short local governance loop is now:
`lot_chain -> intelligence_tui(memory) -> runtime_ai_gateway(status)`
-Le programme d'integration intelligence actuellement actif se suit dans:
+The currently active intelligence integration program is tracked in:
- `docs/plans/22_plan_integration_intelligence_agentique.md`
- `docs/plans/22_todo_integration_intelligence_agentique.md`
@@ -35,93 +35,93 @@ Le programme d'integration intelligence actuellement actif se suit dans:
-## Entrées canoniques
+## Canonical Entry Points
-| Surface | RÎle | Entrée recommandée |
+| Surface | Role | Recommended entry point |
| --- | --- | --- |
-| Produit / programme | Vue d'ensemble, périmÚtre, stratégie | `README.md` |
-| Navigation opérateur | Index docs, runbooks, preuves, routines | `docs/index.md` |
-| Cockpit / TUI | Commandes shell, contrats `cockpit-v1`, santé runtime | `bash tools/cockpit/yiacad_operator_index.sh --action status` |
-| Gouvernance intelligence | owners, mémoire et prochaines actions | `bash tools/cockpit/intelligence_tui.sh --action status --json` |
-| Gateway runtime/MCP/IA | synthÚse consolidée runtime, mesh et Mascarade | `bash tools/cockpit/runtime_ai_gateway.sh --action status --refresh --json` |
-| ChaĂźne spec-first | Intake -> spec -> arch -> plan -> tasks | `specs/README.md` |
-| Audit consolidé | forces, faiblesses, opportunités, risques, IA | `docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-22.md` |
-| Veille OSS | benchmark MCP, orchestration, VS Code agents | `docs/WEB_RESEARCH_OPEN_SOURCE_2026-03-22.md` |
+| Product / program | Overview, scope, strategy | `README.md` |
+| Operator navigation | Docs index, runbooks, evidence, routines | `docs/index.md` |
+| Cockpit / TUI | Shell commands, `cockpit-v1` contracts, runtime health | `bash tools/cockpit/yiacad_operator_index.sh --action status` |
+| Intelligence governance | owners, memory, and next actions | `bash tools/cockpit/intelligence_tui.sh --action status --json` |
+| Runtime/MCP/AI gateway | consolidated runtime, mesh, and Mascarade summary | `bash tools/cockpit/runtime_ai_gateway.sh --action status --refresh --json` |
+| Spec-first pipeline | Intake -> spec -> arch -> plan -> tasks | `specs/README.md` |
+| Consolidated audit | strengths, weaknesses, opportunities, risks, AI | `docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-22.md` |
+| OSS watch | MCP benchmark, orchestration, VS Code agents | `docs/WEB_RESEARCH_OPEN_SOURCE_2026-03-22.md` |
-## 𧩠Présentation
+## đ§© Overview
-Kill_LIFE n'est plus seulement un squelette embarqué. Le repo sert désormais de source de vérité publique pour un programme plus large: opérations locales, gouvernance tri-repo, runtime MCP/IA, lot YiACAD, et spécialisation progressive des extensions VS Code.
+Kill_LIFE is no longer just an embedded skeleton. The repo now serves as the public source of truth for a broader program: local operations, tri-repo governance, MCP/AI runtime, YiACAD batch, and progressive specialization of VS Code extensions.
-Le positionnement retenu pour cette passe de consolidation est:
+The positioning chosen for this consolidation pass is:
-- `Kill_LIFE` = control plane, cockpit, contrats, preuves et référentiel documentaire
-- `kill-life-studio` = produit, specs, décisions, périmÚtre, roadmap
-- `kill-life-mesh` = orchestration multi-repo, handoffs, ownership, dépendances
-- `kill-life-operator` = exécution, checks, evidence, runbooks
+- `Kill_LIFE` = control plane, cockpit, contracts, evidence, and documentation reference
+- `kill-life-studio` = product, specs, decisions, scope, roadmap
+- `kill-life-mesh` = multi-repo orchestration, handoffs, ownership, dependencies
+- `kill-life-operator` = execution, checks, evidence, runbooks
-> « Bienvenue dans le meilleur des mondes : ici, chaque commit est validé, chaque gate est passé, et chaque agent sait que la vraie liberté, c'est d'avoir un evidence pack bien rangé. »
-> â Aldous Huxley, version CI/CD
+> "Welcome to the best of all worlds: here, every commit is validated, every gate is passed, and every agent knows that true freedom is having a neatly organized evidence pack."
+> â Aldous Huxley, CI/CD edition
---
-## đ§© Architecture & Principes
+## đ§© Architecture & Principles
-- **Spec-first** : Chaque évolution commence par une définition claire dans `specs/` ([Spec Generator FX](https://www.youtube.com/watch?v=9bZkp7q19f0)).
- > _Schaeffer : Les agents du pipeline écoutent le bruit des specs comme une symphonie de sons trouvés._
-- **Injection de standards** : Standards versionnés et profils injectés (Agent OS).
-- **BMAD / BMAD-METHOD** : Agents par rĂŽles (PM, Architecte, Firmware, QA, Doc, HW), rituels, gates, handoffs ([agents/](agents/), [bmad/](bmad/)).
-- **Tool-first** : Scripts reproductibles ([tools/](tools/)), evidence pack canonique dans `docs/evidence/` et expose en artifact CI.
-- **Pipeline hardware/firmware** : Bulk edits, exports, tests, conformité, snapshots.
-- **CAD headless** : KiCad 10 first + FreeCAD + OpenSCAD via MCP, conteneurisés.
-- **YiACAD** : lot IA-native de fusion KiCad + FreeCAD (with logs dédiés et smoke canari).
-- **Pilotage tri-repo** : contract `ready|degraded|blocked` piloté par `mesh_sync_preflight.sh` + `refonte_tui.sh`.
-- **Sécurité & conformité** : Sanitisation, sorties sûres, sandboxing, scope guard, anti-prompt injection ([OpenClaw Sandbox](https://www.openclaw.io/)).
-- **Runtime agentique** : `ZeroClaw` en local on-demand, `LangGraph` et `AutoGen` comme patterns d'intégration optionnels.
+- **Spec-first**: Every evolution starts with a clear definition in `specs/` ([Spec Generator FX](https://www.youtube.com/watch?v=9bZkp7q19f0)).
+ > _Schaeffer: Pipeline agents listen to the noise of specs like a symphony of found sounds._
+- **Standards injection**: Versioned standards and injected profiles (Agent OS).
+- **BMAD / BMAD-METHOD**: Role-based agents (PM, Architect, Firmware, QA, Doc, HW), rituals, gates, handoffs ([agents/](agents/), [bmad/](bmad/)).
+- **Tool-first**: Reproducible scripts ([tools/](tools/)), canonical evidence pack in `docs/evidence/` and exposed as a CI artifact.
+- **Hardware/firmware pipeline**: Bulk edits, exports, tests, compliance, snapshots.
+- **Headless CAD**: KiCad 10 first + FreeCAD + OpenSCAD via MCP, containerized.
+- **YiACAD**: AI-native KiCad + FreeCAD fusion batch (with dedicated logs and canary smoke).
+- **Tri-repo steering**: `ready|degraded|blocked` contract driven by `mesh_sync_preflight.sh` + `refonte_tui.sh`.
+- **Security & compliance**: Sanitization, safe outputs, sandboxing, scope guard, anti-prompt injection ([OpenClaw Sandbox](https://www.openclaw.io/)).
+- **Agentic runtime**: `ZeroClaw` local on-demand, `LangGraph` and `AutoGen` as optional integration patterns.
-

+
-> « La réponse à la question ultime de la vie, de l'univers et du développement embarqué IA : 42 specs, 7 agents, et un pipeline qui ne panique jamais. »
-> â Le README qui ne panique jamais
+> "The answer to the ultimate question of life, the universe, and AI embedded development: 42 specs, 7 agents, and a pipeline that never panics."
+> â The README that never panics
>
-([Les particules font-elles l'amour ?](https://lelectron-fou.bandcamp.com/album/les-particules-font-elles-l-amour-la-physique))
+([Do particles make love?](https://lelectron-fou.bandcamp.com/album/les-particules-font-elles-l-amour-la-physique))
---
-## ⚠Fonctionnalités principales
+## âš Main Features
-- **Développement guidé par la spec** : User stories, contraintes, architecture, plans, backlog.
-- **Automatisation** : Issue â PR avec tests unitaires, sanitisation, evidence pack.
-- **Multi-cibles** : ESP32, STM32, Linux, tests natifs.
-- **Pipeline matériel** : KiCad, exports SVG/ERC/DRC/BOM/netlist, bulk edits.
-- **Conformité** : Profils injectés, validation automatique.
-- **OpenClaw** : Labels & commentaires sanitisés, jamais de commit/push, sandbox obligatoire.
-- **Workflow catalog** : Workflows JSON éditables par `crazy_life`, validés contre un schéma JSON.
+- **Spec-driven development**: User stories, constraints, architecture, plans, backlog.
+- **Automation**: Issue â PR with unit tests, sanitization, evidence pack.
+- **Multi-target**: ESP32, STM32, Linux, native tests.
+- **Hardware pipeline**: KiCad, SVG/ERC/DRC/BOM/netlist exports, bulk edits.
+- **Compliance**: Injected profiles, automatic validation.
+- **OpenClaw**: Sanitized labels & comments, never commit/push, mandatory sandbox.
+- **Workflow catalog**: JSON workflows editable by `crazy_life`, validated against a JSON schema.
-

+
---
-## đ„ïž SchĂ©ma agentique (Mermaid)
+## đ„ïž Agentic Diagram (Mermaid)
```mermaid
flowchart TD
Issue[Issue label ai:*] --> PR[Pull Request]
- PR --> Gate[Gate tests + conformité]
+ PR --> Gate[Tests + compliance gate]
Gate --> Evidence[Evidence Pack]
- Evidence --> CI[22 workflows CI/CD]
- CI --> Deploy[Déploiement multi-cible]
- PR --> Agents[6 Agents PM Archi FW QA Doc HW]
- Agents --> Specs[specs/ â 21 specs]
+ Evidence --> CI[22 CI/CD workflows]
+ CI --> Deploy[Multi-target deployment]
+ PR --> Agents[6 Agents PM Arch FW QA Doc HW]
+ Agents --> Specs[specs/ - 21 specs]
Agents --> Firmware[firmware/ PlatformIO]
Agents --> Hardware[hardware/ KiCad]
Agents --> Docs[docs/]
@@ -130,11 +130,11 @@ flowchart TD
Agents --> OpenClaw[openclaw/]
Specs --> Standards[standards/]
Firmware --> Tests[test/]
- Hardware --> MCP{7 serveurs MCP}
+ Hardware --> MCP{7 MCP servers}
MCP --> KiCad[KiCad MCP]
MCP --> FreeCAD[FreeCAD MCP]
MCP --> OpenSCAD[OpenSCAD MCP]
- MCP --> YiACAD[YiACAD lot]
+ MCP --> YiACAD[YiACAD batch]
MCP --> HF[HuggingFace MCP]
Compliance --> Evidence
OpenClaw --> Sandbox[Sandbox]
@@ -146,139 +146,139 @@ flowchart TD
-> _Parmegiani : Un bulk edit, c'est une métamorphose électronique, un peu comme un pack d'évidence qui se transforme en nuage de sons._
+> _Parmegiani: A bulk edit is an electronic metamorphosis, a bit like an evidence pack turning into a cloud of sounds._
---
-## đșïž Structure du projet
+## đșïž Project Structure
-

+
```text
Kill_LIFE/
-âââ firmware/ # Code PlatformIO (ESP32/STM32)
-âââ hardware/ # Assets hardware et blocs KiCad
-âââ specs/ # 21 specs et tĂąches canoniques (00_intake â 04_tasks + MCP/ZeroClaw/CAD)
-âââ workflows/ # Workflows JSON canoniques + templates + schĂ©ma
-âââ agents/ # 6 agents spĂ©cialisĂ©s (PM, Archi, FW, QA, Doc, HW)
-âââ bmad/ # Gates (S0, S1), rituels (kickoff), templates (handoff, status)
-âââ compliance/ # Profils rĂ©glementaires, standards catalog, evidence
-âââ standards/ # Standards globaux versionnĂ©s
+âââ firmware/ # PlatformIO code (ESP32/STM32)
+âââ hardware/ # Hardware assets and KiCad blocks
+âââ specs/ # 21 canonical specs and tasks (00_intake -> 04_tasks + MCP/ZeroClaw/CAD)
+âââ workflows/ # Canonical JSON workflows + templates + schema
+âââ agents/ # 6 specialized agents (PM, Arch, FW, QA, Doc, HW)
+âââ bmad/ # Gates (S0, S1), rituals (kickoff), templates (handoff, status)
+âââ compliance/ # Regulatory profiles, standards catalog, evidence
+âââ standards/ # Versioned global standards
âââ openclaw/ # Labels, sandbox, onboarding
âââ tools/
-â âââ compliance/ # Validation compliance
-â âââ hw/ # Stack CAD, MCP, exports, smoke, schops
-â âââ ai/ # ZeroClaw launchers, intĂ©grations (langgraph, autogen, n8n)
-â âââ mistral/ # Safe patch et outils Mistral
-â âââ ci/ # Audit CI
-âââ web/ # Frontend Next.js YiACAD (dashboard, editor, viewer, review)
-âââ deploy/cad/ # Dockerfiles et compose CAD/runtime
-âââ docs/ # Docs opĂ©rateur, bridge, plans, workflows
-âââ test/ # Tests Python (stable + MCP)
+â âââ compliance/ # Compliance validation
+â âââ hw/ # CAD stack, MCP, exports, smoke, schops
+â âââ ai/ # ZeroClaw launchers, integrations (langgraph, autogen, n8n)
+â âââ mistral/ # Safe patch and Mistral tools
+â âââ ci/ # CI audit
+âââ web/ # YiACAD Next.js frontend (dashboard, editor, viewer, review)
+âââ deploy/cad/ # Dockerfiles and CAD/runtime compose
+âââ docs/ # Operator docs, bridge, plans, workflows
+âââ test/ # Python tests (stable + MCP)
âââ .github/
-â âââ agents/ # 6 dĂ©finitions agents GitHub
+â âââ agents/ # 6 GitHub agent definitions
â âââ prompts/ # 37 prompts (plan_wizard_*, start_*, Eureka_*)
-â âââ workflows/ # 22 workflows CI/CD
-âââ KIKIFOU/ # Diagnostic, diagramme, mapping, recommandations
-âââ mcp.json # 7 serveurs MCP configurĂ©s
-âââ mkdocs.yml # Site docs
+â âââ workflows/ # 22 CI/CD workflows
+âââ KIKIFOU/ # Diagnostics, diagram, mapping, recommendations
+âââ mcp.json # 7 configured MCP servers
+âââ mkdocs.yml # Docs site
```
-## Gouvernance refonte / IA-native
+## Refactor / AI-native Governance
-- Audit de consolidation: [docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-22.md](docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-22.md)
-- Spec intelligence: [specs/agentic_intelligence_integration_spec.md](specs/agentic_intelligence_integration_spec.md)
-- Feature map intelligence: [docs/AGENTIC_INTELLIGENCE_FEATURE_MAP_2026-03-21.md](docs/AGENTIC_INTELLIGENCE_FEATURE_MAP_2026-03-21.md)
-- Manifeste: [docs/REFACTOR_MANIFEST_2026-03-20.md](docs/REFACTOR_MANIFEST_2026-03-20.md)
-- Contrat mesh: [docs/TRI_REPO_MESH_CONTRACT_2026-03-20.md](docs/TRI_REPO_MESH_CONTRACT_2026-03-20.md)
-- Plans lot: [specs/04_tasks.md](specs/04_tasks.md)
-- Gestion des agents: [docs/plans/12_plan_gestion_des_agents.md](docs/plans/12_plan_gestion_des_agents.md)
-- To-do mesh: [docs/plans/19_todo_mesh_tri_repo.md](docs/plans/19_todo_mesh_tri_repo.md)
+- Consolidation audit: [docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-22.md](docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-22.md)
+- Intelligence spec: [specs/agentic_intelligence_integration_spec.md](specs/agentic_intelligence_integration_spec.md)
+- Intelligence feature map: [docs/AGENTIC_INTELLIGENCE_FEATURE_MAP_2026-03-21.md](docs/AGENTIC_INTELLIGENCE_FEATURE_MAP_2026-03-21.md)
+- Manifesto: [docs/REFACTOR_MANIFEST_2026-03-20.md](docs/REFACTOR_MANIFEST_2026-03-20.md)
+- Mesh contract: [docs/TRI_REPO_MESH_CONTRACT_2026-03-20.md](docs/TRI_REPO_MESH_CONTRACT_2026-03-20.md)
+- Batch plans: [specs/04_tasks.md](specs/04_tasks.md)
+- Agent management: [docs/plans/12_plan_gestion_des_agents.md](docs/plans/12_plan_gestion_des_agents.md)
+- Mesh to-do: [docs/plans/19_todo_mesh_tri_repo.md](docs/plans/19_todo_mesh_tri_repo.md)
- CAD AI-native: [docs/CAD_AI_NATIVE_FORK_STRATEGY.md](docs/CAD_AI_NATIVE_FORK_STRATEGY.md)
- Git EDA platform: [docs/YIACAD_GIT_EDA_PLATFORM_2026-03-22.md](docs/YIACAD_GIT_EDA_PLATFORM_2026-03-22.md)
- Web stack spec: [specs/yiacad_git_eda_platform_spec.md](specs/yiacad_git_eda_platform_spec.md)
-- YiACAD lane: `bash tools/cockpit/refonte_tui.sh --action yiacad-fusion:prepare` et `tools/cad/yiacad_fusion_lot.sh`
-- Workflow IA: [docs/AI_WORKFLOWS.md](docs/AI_WORKFLOWS.md)
-- TUI intelligence: `bash tools/cockpit/intelligence_tui.sh --action status`
-- Memoire intelligence: `bash tools/cockpit/intelligence_tui.sh --action memory --json`
-- Scorecard intelligence: `bash tools/cockpit/intelligence_tui.sh --action scorecard --json`
-- Comparaison inter-repos: `bash tools/cockpit/intelligence_tui.sh --action comparison --json`
-- File recommandations IA: `bash tools/cockpit/intelligence_tui.sh --action recommendations --json`
-- Gateway runtime/MCP/IA: `bash tools/cockpit/runtime_ai_gateway.sh --action status --refresh --json`
-- Sync locale: `bash tools/cockpit/lot_chain.sh status` rafraichit la memoire `intelligence_tui` avant de mettre a jour le suivi `lots`
-- Commande d'entrée: `bash tools/cockpit/refonte_tui.sh --action status`
-- Index operateur YiACAD: `bash tools/cockpit/yiacad_operator_index.sh --action status`
-- Phase active 2026-03-21: alignement lot 22, durcissement cockpit/logs, veille officielle MCP/agentique/IA, politique racine/mirror explicite et priorisation firmware/CAD/MCP.
+- YiACAD lane: `bash tools/cockpit/refonte_tui.sh --action yiacad-fusion:prepare` and `tools/cad/yiacad_fusion_lot.sh`
+- AI workflow: [docs/AI_WORKFLOWS.md](docs/AI_WORKFLOWS.md)
+- Intelligence TUI: `bash tools/cockpit/intelligence_tui.sh --action status`
+- Intelligence memory: `bash tools/cockpit/intelligence_tui.sh --action memory --json`
+- Intelligence scorecard: `bash tools/cockpit/intelligence_tui.sh --action scorecard --json`
+- Cross-repo comparison: `bash tools/cockpit/intelligence_tui.sh --action comparison --json`
+- AI recommendations file: `bash tools/cockpit/intelligence_tui.sh --action recommendations --json`
+- Runtime/MCP/AI gateway: `bash tools/cockpit/runtime_ai_gateway.sh --action status --refresh --json`
+- Local sync: `bash tools/cockpit/lot_chain.sh status` refreshes `intelligence_tui` memory before updating `lots` tracking
+- Entry command: `bash tools/cockpit/refonte_tui.sh --action status`
+- YiACAD operator index: `bash tools/cockpit/yiacad_operator_index.sh --action status`
+- Active phase 2026-03-21: batch 22 alignment, cockpit/log hardening, official MCP/agentic/AI watch, explicit root/mirror policy, and firmware/CAD/MCP prioritization.
-### Refonte UI/UX Apple-native 2026
+### Apple-native UI/UX Refactor 2026
-- Audit UX: [docs/YIACAD_APPLE_UI_UX_AUDIT_2026-03-20.md](docs/YIACAD_APPLE_UI_UX_AUDIT_2026-03-20.md)
-- Audit exhaustif refonte: [docs/YIACAD_EXHAUSTIVE_REFOUNTE_AUDIT_2026-03-20.md](docs/YIACAD_EXHAUSTIVE_REFOUNTE_AUDIT_2026-03-20.md)
-- Spécification technique: [specs/yiacad_uiux_apple_native_spec.md](specs/yiacad_uiux_apple_native_spec.md)
-- Spécification lot suivant `T-UX-004`: [specs/yiacad_tux004_orchestration_spec.md](specs/yiacad_tux004_orchestration_spec.md)
-- Feature map UI/UX: [docs/YIACAD_APPLE_UI_UX_FEATURE_MAP_2026-03-20.md](docs/YIACAD_APPLE_UI_UX_FEATURE_MAP_2026-03-20.md)
-- Feature map lot suivant: [docs/YIACAD_TUX004_FEATURE_MAP_2026-03-20.md](docs/YIACAD_TUX004_FEATURE_MAP_2026-03-20.md)
-- Veille Apple + OSS: [docs/YIACAD_APPLE_UI_UX_OSS_RESEARCH_2026-03-20.md](docs/YIACAD_APPLE_UI_UX_OSS_RESEARCH_2026-03-20.md)
-- Plan dédié: [docs/plans/20_plan_refonte_ui_ux_yiacad_apple_native.md](docs/plans/20_plan_refonte_ui_ux_yiacad_apple_native.md)
-- To-do dédié: [docs/plans/20_todo_refonte_ui_ux_yiacad_apple_native.md](docs/plans/20_todo_refonte_ui_ux_yiacad_apple_native.md)
-- TUI dédiée: `bash tools/cockpit/yiacad_uiux_tui.sh --action status|program-audit|next-spec|next-feature-map`
+- UX audit: [docs/YIACAD_APPLE_UI_UX_AUDIT_2026-03-20.md](docs/YIACAD_APPLE_UI_UX_AUDIT_2026-03-20.md)
+- Exhaustive refactor audit: [docs/YIACAD_EXHAUSTIVE_REFOUNTE_AUDIT_2026-03-20.md](docs/YIACAD_EXHAUSTIVE_REFOUNTE_AUDIT_2026-03-20.md)
+- Technical specification: [specs/yiacad_uiux_apple_native_spec.md](specs/yiacad_uiux_apple_native_spec.md)
+- Next-batch specification `T-UX-004`: [specs/yiacad_tux004_orchestration_spec.md](specs/yiacad_tux004_orchestration_spec.md)
+- UI/UX feature map: [docs/YIACAD_APPLE_UI_UX_FEATURE_MAP_2026-03-20.md](docs/YIACAD_APPLE_UI_UX_FEATURE_MAP_2026-03-20.md)
+- Next-batch feature map: [docs/YIACAD_TUX004_FEATURE_MAP_2026-03-20.md](docs/YIACAD_TUX004_FEATURE_MAP_2026-03-20.md)
+- Apple + OSS watch: [docs/YIACAD_APPLE_UI_UX_OSS_RESEARCH_2026-03-20.md](docs/YIACAD_APPLE_UI_UX_OSS_RESEARCH_2026-03-20.md)
+- Dedicated plan: [docs/plans/20_plan_refonte_ui_ux_yiacad_apple_native.md](docs/plans/20_plan_refonte_ui_ux_yiacad_apple_native.md)
+- Dedicated to-do: [docs/plans/20_todo_refonte_ui_ux_yiacad_apple_native.md](docs/plans/20_todo_refonte_ui_ux_yiacad_apple_native.md)
+- Dedicated TUI: `bash tools/cockpit/yiacad_uiux_tui.sh --action status|program-audit|next-spec|next-feature-map`
-### Bundle global YiACAD 2026
+### Global YiACAD Bundle 2026
-- Audit global: [docs/YIACAD_GLOBAL_REFACTOR_AUDIT_2026-03-20.md](docs/YIACAD_GLOBAL_REFACTOR_AUDIT_2026-03-20.md)
-- Evaluation IA: [docs/YIACAD_GLOBAL_AI_INTEGRATION_ASSESSMENT_2026-03-20.md](docs/YIACAD_GLOBAL_AI_INTEGRATION_ASSESSMENT_2026-03-20.md)
-- Feature map globale: [docs/YIACAD_GLOBAL_FEATURE_MAP_2026-03-20.md](docs/YIACAD_GLOBAL_FEATURE_MAP_2026-03-20.md)
-- Recherche OSS globale: [docs/YIACAD_GLOBAL_OSS_RESEARCH_2026-03-20.md](docs/YIACAD_GLOBAL_OSS_RESEARCH_2026-03-20.md)
-- Architecture backend: [docs/YIACAD_BACKEND_ARCHITECTURE_2026-03-20.md](docs/YIACAD_BACKEND_ARCHITECTURE_2026-03-20.md)
-- Spec globale: [specs/yiacad_global_refonte_spec.md](specs/yiacad_global_refonte_spec.md)
-- Spec backend: [specs/yiacad_backend_architecture_spec.md](specs/yiacad_backend_architecture_spec.md)
-- Plan global: [docs/plans/21_plan_refonte_globale_yiacad.md](docs/plans/21_plan_refonte_globale_yiacad.md)
-- TODO globale: [docs/plans/21_todo_refonte_globale_yiacad.md](docs/plans/21_todo_refonte_globale_yiacad.md)
-- TUI globale: `bash tools/cockpit/yiacad_refonte_tui.sh --action status`
-- Prochain front canonique:
- - architecture: backend YiACAD derriere `tools/cad/yiacad_native_ops.py`
- - produit: `T-UX-004` (`command palette`, `review center`, `inspector` persistant)
+- Global audit: [docs/YIACAD_GLOBAL_REFACTOR_AUDIT_2026-03-20.md](docs/YIACAD_GLOBAL_REFACTOR_AUDIT_2026-03-20.md)
+- AI assessment: [docs/YIACAD_GLOBAL_AI_INTEGRATION_ASSESSMENT_2026-03-20.md](docs/YIACAD_GLOBAL_AI_INTEGRATION_ASSESSMENT_2026-03-20.md)
+- Global feature map: [docs/YIACAD_GLOBAL_FEATURE_MAP_2026-03-20.md](docs/YIACAD_GLOBAL_FEATURE_MAP_2026-03-20.md)
+- Global OSS research: [docs/YIACAD_GLOBAL_OSS_RESEARCH_2026-03-20.md](docs/YIACAD_GLOBAL_OSS_RESEARCH_2026-03-20.md)
+- Backend architecture: [docs/YIACAD_BACKEND_ARCHITECTURE_2026-03-20.md](docs/YIACAD_BACKEND_ARCHITECTURE_2026-03-20.md)
+- Global spec: [specs/yiacad_global_refonte_spec.md](specs/yiacad_global_refonte_spec.md)
+- Backend spec: [specs/yiacad_backend_architecture_spec.md](specs/yiacad_backend_architecture_spec.md)
+- Global plan: [docs/plans/21_plan_refonte_globale_yiacad.md](docs/plans/21_plan_refonte_globale_yiacad.md)
+- Global TODO: [docs/plans/21_todo_refonte_globale_yiacad.md](docs/plans/21_todo_refonte_globale_yiacad.md)
+- Global TUI: `bash tools/cockpit/yiacad_refonte_tui.sh --action status`
+- Next canonical front:
+ - architecture: YiACAD backend behind `tools/cad/yiacad_native_ops.py`
+ - product: `T-UX-004` (`command palette`, `review center`, persistent `inspector`)
-### ChaĂźne de specs
+### Specs Pipeline
-Le workflow spec-first suit une séquence canonique dans `specs/` :
+The spec-first workflow follows a canonical sequence in `specs/`:
```text
00_intake.md â 01_spec.md â 02_arch.md â 03_plan.md â 04_tasks.md
```
-Specs spécialisées : `kicad_mcp_scope_spec.md`, `knowledge_base_mcp_spec.md`, `github_mcp_conversion_spec.md`, `cad_modeling_tasks.md`, `zeroclaw_dual_hw_orchestration_spec.md`, `mcp_agentics_target_backlog.md`.
+Specialized specs: `kicad_mcp_scope_spec.md`, `knowledge_base_mcp_spec.md`, `github_mcp_conversion_spec.md`, `cad_modeling_tasks.md`, `zeroclaw_dual_hw_orchestration_spec.md`, `mcp_agentics_target_backlog.md`.
-Contraintes : [`specs/constraints.yaml`](specs/constraints.yaml) â source de vĂ©ritĂ© pour cibles, toolchain, sĂ©curitĂ© IA et compliance.
+Constraints: [`specs/constraints.yaml`](specs/constraints.yaml) â source of truth for targets, toolchain, AI security, and compliance.
### Agents & prompts
-6 agents spécialisés dans [`agents/`](agents/) et [`.github/agents/`](.github/agents/) :
+6 specialized agents in [`agents/`](agents/) and [`.github/agents/`](.github/agents/) :
-| Agent | RĂŽle |
+| Agent | Role |
|---|---|
-| `pm_agent` | Gestion de projet, planning, backlog |
-| `architect_agent` | Architecture systĂšme, ADR |
-| `firmware_agent` | Code embarqué PlatformIO |
-| `hw_schematic_agent` | Schémas KiCad, bulk edits |
-| `qa_agent` | Tests, qualité, evidence packs |
+| `pm_agent` | Project management, planning, backlog |
+| `architect_agent` | System architecture, ADR |
+| `firmware_agent` | PlatformIO embedded code |
+| `hw_schematic_agent` | KiCad schematics, bulk edits |
+| `qa_agent` | Tests, quality, evidence packs |
| `doc_agent` | Documentation, onboarding |
-37 prompts dans [`.github/prompts/`](.github/prompts/) couvrent : brainstorming, spécification, coordination agents, CI/CD, compliance, troubleshooting, release, bulk edit HW, et les prompts de démarrage (`start_*`) et d'idéation (`Eureka_*`).
+37 prompts in [`.github/prompts/`](.github/prompts/) cover: brainstorming, specification, agent coordination, CI/CD, compliance, troubleshooting, release, HW bulk edit, and startup prompts (`start_*`) and ideation prompts (`Eureka_*`).
-### BMAD (gates & rituels)
+### BMAD (gates & rituals)
-Le framework BMAD dans [`bmad/`](bmad/) structure la progression :
+The BMAD framework in [`bmad/`](bmad/) structures progression:
-- **Gates** : `gate_s0.md` (pré-spec), `gate_s1.md` (pré-implémentation)
-- **Rituels** : `kickoff.md`
-- **Templates** : `handoff.md`, `status_update.md`
+- **Gates**: `gate_s0.md` (pre-spec), `gate_s1.md` (pre-implementation)
+- **Rituals**: `kickoff.md`
+- **Templates**: `handoff.md`, `status_update.md`
-Voir [KIKIFOU/diagramme.md](KIKIFOU/diagramme.md) pour le diagramme complet et [KIKIFOU/mapping.md](KIKIFOU/mapping.md) pour la table de mapping.
+See [KIKIFOU/diagramme.md](KIKIFOU/diagramme.md) for the complete diagram and [KIKIFOU/mapping.md](KIKIFOU/mapping.md) for the mapping table.
-Plan d'analyse repo courant:
+Current repo analysis plan:
- [docs/plans/REPO_DEEP_ANALYSIS_2026-03-11.md](docs/plans/REPO_DEEP_ANALYSIS_2026-03-11.md)
- [docs/REFACTOR_MANIFEST_2026-03-20.md](docs/REFACTOR_MANIFEST_2026-03-20.md)
@@ -293,66 +293,66 @@ Plan d'analyse repo courant:
- [docs/CAD_AI_NATIVE_FORK_STRATEGY.md](docs/CAD_AI_NATIVE_FORK_STRATEGY.md)
- [docs/TRI_REPO_MESH_CONTRACT_2026-03-20.md](docs/TRI_REPO_MESH_CONTRACT_2026-03-20.md)
-Infrastructure opérationnelle:
+Operational infrastructure:
-- Machines SSH opérateur (port SSH: `22`, priorité opérationnelle: Tower -> KXKM -> CILS -> local -> root):
+- Operator SSH machines (SSH port: `22`, operational priority: Tower -> KXKM -> CILS -> local -> root):
- | Machine | Utilisateur | RĂŽle | Port | Script principal |
+ | Machine | User | Role | Port | Main script |
|---|---|---|---:|---|
- | `clems@192.168.0.120` | `clems` | Machine de pilotage / orchestration locale | `22` | `run_alignment_daily.sh`, `ssh_healthcheck.sh` |
- | `kxkm@kxkm-ai` | `kxkm` | Mac opérateur | `22` | `run_alignment_daily.sh` |
- | `cils@100.126.225.111` | `cils` | Mac opérateur secondaire (`photon`, locké: pas de service essentiel) | `22` | `run_alignment_daily.sh` |
- | `root@192.168.0.119` | `root` | Serveur systÚme / exécution matérielle (réserve) | `22` | `run_alignment_daily.sh` |
+ | `clems@192.168.0.120` | `clems` | Control/orchestration machine | `22` | `run_alignment_daily.sh`, `ssh_healthcheck.sh` |
+ | `kxkm@kxkm-ai` | `kxkm` | Operator Mac | `22` | `run_alignment_daily.sh` |
+ | `cils@100.126.225.111` | `cils` | Secondary operator Mac (`photon`, locked: no essential service) | `22` | `run_alignment_daily.sh` |
+ | `root@192.168.0.119` | `root` | System server / hardware execution (reserve) | `22` | `run_alignment_daily.sh` |
-- Politique de charge P2P: `mesh_sync_preflight.sh --load-profile tower-first`
- - ordre: `Tower -> KXKM -> CILS -> local -> root`
- - `cils` accepte uniquement le repo critique `Kill_LIFE` en mode verrouillé.
-- Repos GitHub actifs:
+- P2P load policy: `mesh_sync_preflight.sh --load-profile tower-first`
+ - order: `Tower -> KXKM -> CILS -> local -> root`
+ - `cils` only accepts the critical repo `Kill_LIFE` in locked mode.
+- Active GitHub repos:
- `electron-rare/Kill_LIFE`
- `electron-rare/mascarade`
- - `electron-rare/crazy-life` (privé)
-- Snapshot machines/repos:
+ - `electron-rare/crazy-life` (private)
+- Machine/repo snapshots:
- [docs/MACHINE_SYNC_STATUS_2026-03-20.md](docs/MACHINE_SYNC_STATUS_2026-03-20.md)
- [docs/MACHINE_ALIGNMENT_CONTRACT_2026-03-20.md](docs/MACHINE_ALIGNMENT_CONTRACT_2026-03-20.md)
-### Health-check SSH (vérification machine)
+### SSH health-check (machine verification)
```bash
bash tools/cockpit/ssh_healthcheck.sh --json
```
-- Vérification de connectivité par machine avec statut `OK`/`KO` par ligne.
-- Logs horodatés: `artifacts/cockpit/ssh_healthcheck__.log`.
-- Contrat dâalignement opĂ©rationnel: [docs/MACHINE_ALIGNMENT_CONTRACT_2026-03-20.md](docs/MACHINE_ALIGNMENT_CONTRACT_2026-03-20.md)
+- Per-machine connectivity check with `OK`/`KO` status per line.
+- Timestamped logs: `artifacts/cockpit/ssh_healthcheck__.log`.
+- Operational alignment contract: [docs/MACHINE_ALIGNMENT_CONTRACT_2026-03-20.md](docs/MACHINE_ALIGNMENT_CONTRACT_2026-03-20.md)
-Routine quotidienne:
+Daily routine:
```bash
bash tools/cockpit/run_alignment_daily.sh --json
bash tools/cockpit/run_alignment_daily.sh --skip-healthcheck --json
```
-- Lance health-check SSH + `repo_refresh` en mode header-only.
-- IntÚgre la mémoire opérationnelle: [docs/MACHINE_SYNC_STATUS_2026-03-20.md](docs/MACHINE_SYNC_STATUS_2026-03-20.md) et [docs/MESH_SYNC_INCIDENT_REGISTER_2026-03-20.md](docs/MESH_SYNC_INCIDENT_REGISTER_2026-03-20.md).
-- En mode charge sensible, utiliser `--mesh-load-profile photon-safe`.
-- Ăcrit un log horodatĂ©: `artifacts/cockpit/machine_alignment_daily__.log`.
-- Purge auto configurable (`--purge-days `, défaut `14`).
-- Sur les machines non-pilotes, utiliser `--skip-healthcheck` si la clĂ© SSH nâest pas prĂ©vue pour lâauto-check mutuel.
+- Runs SSH health-check + `repo_refresh` in header-only mode.
+- Integrates operational memory: [docs/MACHINE_SYNC_STATUS_2026-03-20.md](docs/MACHINE_SYNC_STATUS_2026-03-20.md) and [docs/MESH_SYNC_INCIDENT_REGISTER_2026-03-20.md](docs/MESH_SYNC_INCIDENT_REGISTER_2026-03-20.md).
+- In sensitive load mode, use `--mesh-load-profile photon-safe`.
+- Writes a timestamped log: `artifacts/cockpit/machine_alignment_daily__.log`.
+- Configurable auto-purge (`--purge-days `, default `14`).
+- On non-pilot machines, use `--skip-healthcheck` if the SSH key is not intended for mutual auto-check.
---
-## đ Installation & dĂ©marrage rapide
+## đ Installation & Quick Start
-### Prérequis
+### Prerequisites
-- OS : Linux, macOS, Windows (WSL)
+- OS: Linux, macOS, Windows (WSL)
- Python â„ 3.10
- Docker + `docker compose`
-- `gh` pour les opérations GitHub
-- PlatformIO en natif ou via la stack conteneurisée
+- `gh` for GitHub operations
+- PlatformIO natively or via the containerized stack
- KiCad (hardware)
-### Installation rapide
+### Quick installation
```bash
git clone https://github.com/electron-rare/Kill_LIFE.git
@@ -360,35 +360,35 @@ cd Kill_LIFE
bash install_kill_life.sh
```
-Voir [INSTALL.md](INSTALL.md) pour les détails.
+See [INSTALL.md](INSTALL.md) for details.
-### Bootstrap Python repo-local
+### Repo-local Python bootstrap
```bash
bash tools/bootstrap_python_env.sh
```
-Options utiles :
-- `--venv-dir /tmp/kill-life-venv` pour vérifier le bootstrap sur un environnement vierge
-- `--reinstall` pour recréer proprement le venv cible
+Useful options:
+- `--venv-dir /tmp/kill-life-venv` to verify bootstrap on a clean environment
+- `--reinstall` to cleanly recreate the target venv
-Le chemin supporté pour le Python du repo est `./.venv/bin/python`.
+The supported path for repo Python is `./.venv/bin/python`.
-### Tests Python
+### Python tests
```bash
bash tools/test_python.sh
```
-| Suite | Commande | Contenu |
+| Suite | Command | Content |
|---|---|---|
-| `stable` | `--suite stable` | Tests repo-locaux (specs, compliance, sanitizer, safe patch, schops) |
-| `mcp` | `--suite mcp` | Tests MCP locaux (knowledge-base, github-dispatch, nexar) |
-| `all` | `--suite all` | Les deux suites enchaßnées |
+| `stable` | `--suite stable` | Repo-local tests (specs, compliance, sanitizer, safe patch, schops) |
+| `mcp` | `--suite mcp` | Local MCP tests (knowledge-base, github-dispatch, nexar) |
+| `all` | `--suite all` | Both suites chained |
-Options : `--bootstrap` pour créer le venv avant, `--list` pour lister les commandes couvertes.
+Options: `--bootstrap` to create the venv first, `--list` to list covered commands.
-### Vérifications utiles
+### Useful checks
```bash
.venv/bin/python tools/compliance/validate.py --strict
@@ -397,101 +397,101 @@ 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.
+`tools/validate_specs.py` includes a PyYAML preflight before calling `tools/compliance/validate.py` and returns an explicit install message if the dependency is missing.
---
-## đ§ Serveurs MCP
+## đ§ MCP Servers
-Le projet expose **7 serveurs MCP** (Model Context Protocol) configurés dans [`mcp.json`](mcp.json) :
+The project exposes **7 MCP servers** (Model Context Protocol) configured in [`mcp.json`](mcp.json):
-| Serveur | Type | RĂŽle |
+| Server | Type | Role |
|---|---|---|
-| `kicad` | local | Gestion de projet, schémas, PCB, bibliothÚques, validation, exports, sourcing |
-| `validate-specs` | local | Validation specs, compliance, RFC2119 (CLI + MCP stdio) |
-| `knowledge-base` | local | Recherche, lecture, ajout de memos (docmost) |
-| `github-dispatch` | local | Dispatch de workflows GitHub allowlistés |
-| `freecad` | local | Modélisation 3D, rendu, export, validation |
-| `openscad` | local | Modélisation paramétrique, export, validation |
-| `huggingface` | distant | AccĂšs au Hub HuggingFace (datasets, modĂšles, papers) |
+| `kicad` | local | Project management, schematics, PCB, libraries, validation, exports, sourcing |
+| `validate-specs` | local | Spec validation, compliance, RFC2119 (CLI + MCP stdio) |
+| `knowledge-base` | local | Search, read, add memos (docmost) |
+| `github-dispatch` | local | Dispatch allowlisted GitHub workflows |
+| `freecad` | local | 3D modeling, rendering, export, validation |
+| `openscad` | local | Parametric modeling, export, validation |
+| `huggingface` | remote | Access to HuggingFace Hub (datasets, models, papers) |
-La stack CAD est documentée dans [`deploy/cad/README.md`](deploy/cad/README.md) et pilotée par [`tools/hw/cad_stack.sh`](tools/hw/cad_stack.sh).
+The CAD stack is documented in [`deploy/cad/README.md`](deploy/cad/README.md) and managed by [`tools/hw/cad_stack.sh`](tools/hw/cad_stack.sh).
-- Cible actuelle : **KiCad 10 first** + FreeCAD + OpenSCAD
-- Launcher MCP : [`tools/hw/run_kicad_mcp.sh`](tools/hw/run_kicad_mcp.sh)
-- Configuration MCP : [`docs/MCP_SETUP.md`](docs/MCP_SETUP.md) et [`mcp.json`](mcp.json)
+- Current target: **KiCad 10 first** + FreeCAD + OpenSCAD
+- MCP launcher: [`tools/hw/run_kicad_mcp.sh`](tools/hw/run_kicad_mcp.sh)
+- MCP configuration: [`docs/MCP_SETUP.md`](docs/MCP_SETUP.md) and [`mcp.json`](mcp.json)
---
-## đ€ ZeroClaw & intĂ©grations agentiques (optionnel)
+## đ€ ZeroClaw & Agentic Integrations (Optional)
-Le runtime opérateur `ZeroClaw` peut tourner nativement sur la machine opérateur. Le launcher supporté essaie d'abord le binaire repo-local `zeroclaw/target/release/zeroclaw`, puis retombe sur `command -v zeroclaw` (typiquement `~/.cargo/bin/zeroclaw`).
+The `ZeroClaw` operator runtime can run natively on the operator machine. The supported launcher first tries the repo-local binary `zeroclaw/target/release/zeroclaw`, then falls back to `command -v zeroclaw` (typically `~/.cargo/bin/zeroclaw`).
```bash
-bash tools/ai/zeroclaw_stack_up.sh # démarrer
-bash tools/ai/zeroclaw_stack_down.sh # arrĂȘter
+bash tools/ai/zeroclaw_stack_up.sh # start
+bash tools/ai/zeroclaw_stack_down.sh # stop
```
-Les runbooks et intégrations vivent dans [`tools/ai/integrations/`](tools/ai/integrations/) :
+Runbooks and integrations live in [`tools/ai/integrations/`](tools/ai/integrations/):
-| Intégration | RÎle |
+| Integration | Role |
|---|---|
-| `zeroclaw/` | Runtime opérateur local, boucles agentiques |
-| `langgraph/` | Pattern d'intégration LangGraph |
-| `autogen/` | Pattern d'intégration AutoGen |
-| `n8n/` | Orchestration no-code / workflows externes |
+| `zeroclaw/` | Local operator runtime, agentic loops |
+| `langgraph/` | LangGraph integration pattern |
+| `autogen/` | AutoGen integration pattern |
+| `n8n/` | No-code orchestration / external workflows |
-Ces intĂ©grations restent consultables mĂȘme quand le runtime n'est pas dĂ©marrĂ©.
+These integrations remain browsable even when the runtime is not started.
---
-## đŠ Workflow catalog
+## đŠ Workflow Catalog
-Les workflows éditables par `crazy_life` vivent dans [`workflows/`](workflows/) et sont validés contre [`workflows/workflow.schema.json`](workflows/workflow.schema.json).
+Workflows editable by `crazy_life` live in [`workflows/`](workflows/) and are validated against [`workflows/workflow.schema.json`](workflows/workflow.schema.json).
-| Workflow | Fichier |
+| Workflow | File |
|---|---|
| Spec-first | `workflows/spec-first.json` |
| Embedded CI local | `workflows/embedded-ci-local.json` |
| Compliance release | `workflows/compliance-release.json` |
-- `workflows/templates/*.json` : templates de création
-- `.crazy-life/runs/` : état des runs locaux généré par `crazy_life` si l'éditeur est utilisé
-- `.crazy-life/backups/workflows/` : révisions/restores générés localement par `crazy_life` (non versionnés)
+- `workflows/templates/*.json`: creation templates
+- `.crazy-life/runs/`: local run state generated by `crazy_life` when the editor is used
+- `.crazy-life/backups/workflows/`: revisions/restores generated locally by `crazy_life` (not versioned)
---
-## đŠŸ Workflows agents dĂ©taillĂ©s
+## đŠŸ Detailed Agent Workflows
-### 1. SpĂ©cification â ImplĂ©mentation Firmware
+### 1. Specification â Firmware Implementation
-1. Rédige la spec dans `specs/`.
-2. Ouvre une issue avec le label `ai:spec`.
-3. L'agent PM/Architecte génÚre le plan et l'architecture.
-4. L'agent Firmware implémente le code dans `firmware/`.
-5. L'agent QA ajoute des tests Unity.
-6. Evidence pack généré automatiquement.
+1. Write the spec in `specs/`.
+2. Open an issue with label `ai:spec`.
+3. The PM/Architect agent generates the plan and architecture.
+4. The Firmware agent implements code in `firmware/`.
+5. The QA agent adds Unity tests.
+6. Evidence pack generated automatically.
-### 2. Bulk Edit Hardware KiCad
+### 2. KiCad Hardware Bulk Edit
-1. Ouvre une issue `type:systems` + `scope:hardware`, puis ajoute `ai:plan` (ou `ai:impl` si le batch est déjà cadré).
-2. L'agent HW effectue un bulk edit via `tools/hw/schops`.
-3. Exporte ERC/DRC, BOM, netlist.
-4. Snapshot avant/aprĂšs dans `artifacts/hw//`.
+1. Open an issue `type:systems` + `scope:hardware`, then add `ai:plan` (or `ai:impl` if the batch is already framed).
+2. The HW agent performs a bulk edit via `tools/hw/schops`.
+3. Export ERC/DRC, BOM, netlist.
+4. Before/after snapshot in `artifacts/hw//`.
-### 3. Documentation & Conformité
+### 3. Documentation & Compliance
-1. Ouvre une issue avec le label `ai:docs` ou `ai:qa`.
-2. L'agent Doc met Ă jour `docs/` et le README.
-3. L'agent QA valide le profil de conformité et génÚre le rapport, avec relais doc si nécessaire.
+1. Open an issue with label `ai:docs` or `ai:qa`.
+2. The Doc agent updates `docs/` and the README.
+3. The QA agent validates the compliance profile and generates the report, with doc handoff if needed.

@@ -499,12 +499,12 @@ Les workflows éditables par `crazy_life` vivent dans [`workflows/`](workflows/)
---
-## đĄïž SĂ©curitĂ© & conformitĂ©
+## đĄïž Security & Compliance
-- OpenClaw : sandbox obligatoire, jamais d'accĂšs aux secrets ou au code source.
-- Workflows CI : validation, sanitisation, scope guard, anti-prompt injection.
-- Evidence packs : tous les rapports dans `artifacts/
//`.
-- Tests hardware reproductibles via scripts documentés.
+- OpenClaw: mandatory sandbox, never access to secrets or source code.
+- CI workflows: validation, sanitization, scope guard, anti-prompt injection.
+- Evidence packs: all reports in `artifacts///`.
+- Reproducible hardware tests via documented scripts.

@@ -516,118 +516,120 @@ Les workflows éditables par `crazy_life` vivent dans [`workflows/`](workflows/)
-### ChaĂźne de compliance
+### Compliance Pipeline
```text
compliance/
-âââ active_profile.yaml # Profil actif (ex: "prototype")
+âââ active_profile.yaml # Active profile (e.g. "prototype")
âââ profiles/
-â âââ prototype.yaml # Standards requis + evidence pour prototype
-â âââ iot_wifi_eu.yaml # Profil IoT WiFi marchĂ© EU
-âââ standards_catalog.yaml # Catalogue de standards versionnĂ©s
-âââ plan.yaml # Produit, marchĂ©, radio, alimentation
+â âââ prototype.yaml # Required standards + evidence for prototype
+â âââ iot_wifi_eu.yaml # IoT WiFi profile for EU market
+âââ standards_catalog.yaml # Versioned standards catalog
+âââ plan.yaml # Product, market, radio, power
âââ evidence/
- âââ risk_assessment.md # Ăvaluation des risques
- âââ security_architecture.md # Architecture de sĂ©curitĂ©
- âââ test_plan_radio_emc.md # Plan de test radio/EMC
+ âââ risk_assessment.md # Risk assessment
+ âââ security_architecture.md # Security architecture
+ âââ test_plan_radio_emc.md # Radio/EMC test plan
âââ supply_chain_declarations.md
```
-Contraintes projet (depuis [`specs/constraints.yaml`](specs/constraints.yaml)) :
-- **Orientation** : ESP-first (cibles : esp32s3, esp32, esp32dev)
-- **Firmware** : PlatformIO + Unity (tests requis)
-- **Hardware** : KiCad ℠9 minimum, chemin préféré KiCad 10-first, bulk edits autorisés, ERC green requis
-- **IA** : un label `ai:*` adapte a l'etape est requis, secrets interdits, pas d'hypothese reseau
-- **Compliance** : profil actif injecté, validé par `tools/compliance/validate.py`
+Project constraints (from [`specs/constraints.yaml`](specs/constraints.yaml)):
+- **Orientation**: ESP-first (targets: esp32s3, esp32, esp32dev)
+- **Firmware**: PlatformIO + Unity (required tests)
+- **Hardware**: KiCad â„ 9 minimum, preferred KiCad 10-first path, bulk edits allowed, ERC green required
+- **AI**: an `ai:*` label adapted to the step is required, no secrets, no network assumptions
+- **Compliance**: active profile injected, validated by `tools/compliance/validate.py`
---
-## đ ĂcosystĂšme
+## đ Ecosystem
-| Repo | RĂŽle | AccĂšs |
+| Repo | Role | Access |
|---|---|---|
-| **Kill_LIFE** | Source de vĂ©ritĂ© : workflows, runtime, evidence packs, firmware, CAD, compliance | đ public |
-| **ai-agentic-embedded-base** | Compagnon local : miroir exporté des `specs/` + seed firmware minimal, jamais source de vérité primaire | local |
-| **crazy_life** | Surface web/devops et workflow editor | đ privĂ© |
-| **mascarade** | Orchestration et bridge historique (sync uniquement) | đ privĂ© |
+| **Kill_LIFE** | Source of truth: workflows, runtime, evidence packs, firmware, CAD, compliance | đ public |
+| **ai-agentic-embedded-base** | Local companion: exported mirror of `specs/` + minimal firmware seed, never primary source of truth | local |
+| **crazy_life** | Web/devops surface and workflow editor | đ private |
+| **mascarade** | Orchestration and historical bridge (sync only) | đ private |
-### Datasets HuggingFace
+### HuggingFace Datasets
-8 datasets de fine-tuning publiés sur [HuggingFace](https://huggingface.co/clemsail) (JSON, 1K-10K entrées chacun) :
+8 fine-tuning datasets published on [HuggingFace](https://huggingface.co/clemsail) (JSON, 1K-10K entries each):
`mascarade-stm32` · `mascarade-spice` · `mascarade-iot` · `mascarade-power` · `mascarade-dsp` · `mascarade-emc` · `mascarade-kicad` · `mascarade-embedded`
-Articulation détaillée : [`docs/MASCARADE_BRIDGE.md`](docs/MASCARADE_BRIDGE.md)
+Detailed articulation: [`docs/MASCARADE_BRIDGE.md`](docs/MASCARADE_BRIDGE.md)
---
-## âïž CI & release
+## âïž CI & Release
-**22 workflows GitHub Actions** couvrent l'ensemble du cycle :
+**22 GitHub Actions workflows** cover the full cycle:
-| Catégorie | Workflows |
+| Category | Workflows |
|---|---|
-| **Gate principal** | `ci.yml` (bootstrap Python + suite stable) |
-| **Release** | `release_signing.yml` (tag `v*` ou `workflow_dispatch`) |
-| **Qualité** | `badges.yml`, `evidence_pack.yml`, `repo_state.yml`, `repo_state_header_gate.yml` |
-| **Sécurité** | `secret_scan.yml`, `sbom_validation.yml`, `supply_chain.yml`, `incident_response.yml` |
-| **Tests avancés** | `api_contract.yml`, `model_validation.yml`, `performance_hil.yml` |
+| **Main gate** | `ci.yml` (Python bootstrap + stable suite) |
+| **Release** | `release_signing.yml` (tag `v*` or `workflow_dispatch`) |
+| **Quality** | `badges.yml`, `evidence_pack.yml`, `repo_state.yml`, `repo_state_header_gate.yml` |
+| **Security** | `secret_scan.yml`, `sbom_validation.yml`, `supply_chain.yml`, `incident_response.yml` |
+| **Advanced tests** | `api_contract.yml`, `model_validation.yml`, `performance_hil.yml` |
| **Infra** | `dependency_update.yml`, `community_accessibility.yml` |
-| **Pages** | `jekyll-gh-pages.yml`, `static.yml` (surfaces secondaires docs/evidence) |
+| **Pages** | `jekyll-gh-pages.yml`, `static.yml` (secondary docs/evidence surfaces) |
| **Orchestration** | `zeroclaw_dual_orchestrator.yml` |
---
-## đ€ Contribuer
+## đ€ Contributing
-1. Forke le dépÎt et clone-le localement.
-2. Suis le guide d'onboarding ([docs/index.md](docs/index.md), [RUNBOOK.md](RUNBOOK.md)).
-3. Ajoute des exemples minimalistes pour chaque agent (voir [agents/](agents/)).
-4. Propose des blocks hardware, profils de conformité, tests.
-5. Ouvre une PR, passe les gates, fournis un evidence pack.
-6. Respecte les conventions de commit et de labelling (`ai:*`).
+1. Fork the repository and clone it locally.
+2. Follow the onboarding guide ([docs/index.md](docs/index.md), [RUNBOOK.md](RUNBOOK.md)).
+3. Add minimal examples for each agent (see [agents/](agents/)).
+4. Propose hardware blocks, compliance profiles, tests.
+5. Open a PR, pass the gates, provide an evidence pack.
+6. Respect commit and labeling conventions (`ai:*`).
-> « Les particules rĂȘvent-elles d'Ă©lectron-ironique ? Peut-ĂȘtre font-elles l'amour dans le dossier hardware, pendant que les agents QA se demandent si la conformitĂ© est un rĂȘve ou une rĂ©alitĂ©. »
-> â InspirĂ© par Le RĂ©plicant de K. Dick & Les particules font-elles l'amour
+> "Do particles dream of electron-irony? Maybe they make love in the hardware folder, while QA agents wonder whether compliance is a dream or a reality."
+> â Inspired by K. Dick's Replicant & Do particles make love
-_« J'ai vu des evidence packs briller dans l'obscurité prÚs des gates S1⊠»_
+_âI've seen evidence packs glitter in the dark near S1 gatesâŠâ_
---
-## đ Liens utiles
+## đ Useful Links
-- [Documentation complĂšte](docs/index.md)
-- [RUNBOOK opérateur](RUNBOOK.md)
-- [Guide d'installation](INSTALL.md)
-- [Configuration MCP](docs/MCP_SETUP.md)
-- [SynthĂšse technique](KIKIFOU/synthese.md)
-- [Diagramme pipeline](KIKIFOU/diagramme.md)
-- [Mapping dossiers](KIKIFOU/mapping.md)
+- [Full documentation](docs/index.md)
+- [Operator RUNBOOK](RUNBOOK.md)
+- [Installation guide](INSTALL.md)
+- [MCP configuration](docs/MCP_SETUP.md)
+- [Technical summary](KIKIFOU/synthese.md)
+- [Pipeline diagram](KIKIFOU/diagramme.md)
+- [Folder mapping](KIKIFOU/mapping.md)
---
## â FAQ
-**Q : Comment démarrer rapidement ?**
-R : `bash install_kill_life.sh` puis `bash tools/bootstrap_python_env.sh`.
+**Q: How do I get started quickly?**
+A: `bash install_kill_life.sh` then `bash tools/bootstrap_python_env.sh`.
-**Q : Comment lancer les tests ?**
-R : `bash tools/test_python.sh --suite stable`
+**Q: How do I run tests?**
+A: `bash tools/test_python.sh --suite stable`
-**Q : Comment sécuriser OpenClaw ?**
-R : Sandbox obligatoire, jamais d'accĂšs aux secrets ou au code source.
+**Q: How do I secure OpenClaw?**
+A: Mandatory sandbox, never access to secrets or source code.
-**Q : Comment contribuer ?**
-R : Forke, suis le RUNBOOK, ouvre une PR avec evidence pack, respecte les labels `ai:*`.
+**Q: How do I contribute?**
+A: Fork, follow the RUNBOOK, open a PR with an evidence pack, respect `ai:*` labels.
-**Q : OĂč trouver la documentation complĂšte ?**
-R : [docs/index.md](docs/index.md), [RUNBOOK.md](RUNBOOK.md), [INSTALL.md](INSTALL.md).
+**Q: Where can I find the full documentation?**
+A: [docs/index.md](docs/index.md), [RUNBOOK.md](RUNBOOK.md), [INSTALL.md](INSTALL.md).
---
-## đ Licence
+## đ License
+
+MIT. See [`licenses/MIT.txt`](licenses/MIT.txt).
+
-MIT. Voir [`licenses/MIT.txt`](licenses/MIT.txt).
@@ -662,37 +664,37 @@ MIT. Voir [`licenses/MIT.txt`](licenses/MIT.txt).
- Debt markers: `6`
- Source files: `156`
-### Corrections Prioritaires
-- [ ] Optimisation ciblée perf/maintenabilité
-- [ ] Ajouter/fiabiliser les commandes de vérification automatiques.
-- [ ] Clore les points bloquants avant optimisation avancée.
+### Priority Fixes
+- [ ] Targeted perf/maintainability optimization
+- [ ] Add/harden automatic verification commands.
+- [ ] Close blocking points before advanced optimization.
-### Optimisation
-- [ ] Identifier le hotspot principal et mesurer avant/aprĂšs.
-- [ ] Réduire la complexité des modules les plus touchés.
+### Optimization
+- [ ] Identify the main hotspot and measure before/after.
+- [ ] Reduce complexity in the most impacted modules.
-### Mémoire chantier
+### Workstream memory
- Control plane: `/Users/electron/.codex/memories/electron_rare_chantier`
- Repo card: `/Users/electron/.codex/memories/electron_rare_chantier/REPOS/Kill_LIFE.md`
-## Delta mesh tri-repo 2026-03-20
+## Tri-repo mesh delta 2026-03-20
-Cette refonte opere desormais en mode maillé entre `Kill_LIFE`, `mascarade` et `crazy_life`.
+This refactor now operates in meshed mode between `Kill_LIFE`, `mascarade`, and `crazy_life`.
-- Contrat de gouvernance: [docs/TRI_REPO_MESH_CONTRACT_2026-03-20.md](docs/TRI_REPO_MESH_CONTRACT_2026-03-20.md)
-- Spec des contrats publics: [specs/mesh_contracts.md](specs/mesh_contracts.md)
-- Todo de transition: [docs/plans/19_todo_mesh_tri_repo.md](docs/plans/19_todo_mesh_tri_repo.md)
-- Preflight machines/repos: [tools/cockpit/mesh_sync_preflight.sh](tools/cockpit/mesh_sync_preflight.sh)
+- Governance contract: [docs/TRI_REPO_MESH_CONTRACT_2026-03-20.md](docs/TRI_REPO_MESH_CONTRACT_2026-03-20.md)
+- Public contracts spec: [specs/mesh_contracts.md](specs/mesh_contracts.md)
+- Transition todo: [docs/plans/19_todo_mesh_tri_repo.md](docs/plans/19_todo_mesh_tri_repo.md)
+- Machine/repo preflight: [tools/cockpit/mesh_sync_preflight.sh](tools/cockpit/mesh_sync_preflight.sh)
- Operations logs: [tools/cockpit/log_ops.sh](tools/cockpit/log_ops.sh)
-Regles actives:
+Active rules:
-- un lot doit declarer `owner_repo`, `owner_agent`, `write_set`, `preflight`, `validations`, `evidence`, `sync_targets`
-- aucun revert de changements externes
-- aucune propagation sans preflight de convergence
-- les MCP sont conformes en `ready` ou `degraded`; `blocked` doit etre justifie
+- a batch must declare `owner_repo`, `owner_agent`, `write_set`, `preflight`, `validations`, `evidence`, `sync_targets`
+- no revert of external changes
+- no propagation without convergence preflight
+- MCPs are compliant in `ready` or `degraded`; `blocked` must be justified
## Full operator lane (2026-03-20)
@@ -710,27 +712,29 @@ Regles actives:
- live `success`
- provider/model observed: `claude` / `claude-sonnet-4-6`
-### Refonte globale YiACAD 2026
+### Global YiACAD refactor 2026
-- Audit global: [docs/YIACAD_GLOBAL_REFACTOR_AUDIT_2026-03-20.md](docs/YIACAD_GLOBAL_REFACTOR_AUDIT_2026-03-20.md)
-- Evaluation IA: [docs/YIACAD_GLOBAL_AI_INTEGRATION_ASSESSMENT_2026-03-20.md](docs/YIACAD_GLOBAL_AI_INTEGRATION_ASSESSMENT_2026-03-20.md)
-- Feature map globale: [docs/YIACAD_GLOBAL_FEATURE_MAP_2026-03-20.md](docs/YIACAD_GLOBAL_FEATURE_MAP_2026-03-20.md)
-- Recherche OSS globale: [docs/YIACAD_GLOBAL_OSS_RESEARCH_2026-03-20.md](docs/YIACAD_GLOBAL_OSS_RESEARCH_2026-03-20.md)
-- Spec globale: [specs/yiacad_global_refonte_spec.md](specs/yiacad_global_refonte_spec.md)
-- Plan global: [docs/plans/21_plan_refonte_globale_yiacad.md](docs/plans/21_plan_refonte_globale_yiacad.md)
-- TODO globale: [docs/plans/21_todo_refonte_globale_yiacad.md](docs/plans/21_todo_refonte_globale_yiacad.md)
-- Index operateur: `bash tools/cockpit/yiacad_operator_index.sh --action status`
-- TUI globale: `bash tools/cockpit/yiacad_refonte_tui.sh --action status`
-- Facade backend locale: `python3 tools/cad/yiacad_backend_service.py status`
+- Global audit: [docs/YIACAD_GLOBAL_REFACTOR_AUDIT_2026-03-20.md](docs/YIACAD_GLOBAL_REFACTOR_AUDIT_2026-03-20.md)
+- AI assessment: [docs/YIACAD_GLOBAL_AI_INTEGRATION_ASSESSMENT_2026-03-20.md](docs/YIACAD_GLOBAL_AI_INTEGRATION_ASSESSMENT_2026-03-20.md)
+- Global feature map: [docs/YIACAD_GLOBAL_FEATURE_MAP_2026-03-20.md](docs/YIACAD_GLOBAL_FEATURE_MAP_2026-03-20.md)
+- Global OSS research: [docs/YIACAD_GLOBAL_OSS_RESEARCH_2026-03-20.md](docs/YIACAD_GLOBAL_OSS_RESEARCH_2026-03-20.md)
+- Global spec: [specs/yiacad_global_refonte_spec.md](specs/yiacad_global_refonte_spec.md)
+- Global plan: [docs/plans/21_plan_refonte_globale_yiacad.md](docs/plans/21_plan_refonte_globale_yiacad.md)
+- Global TODO: [docs/plans/21_todo_refonte_globale_yiacad.md](docs/plans/21_todo_refonte_globale_yiacad.md)
+- Operator index: `bash tools/cockpit/yiacad_operator_index.sh --action status`
+- Global TUI: `bash tools/cockpit/yiacad_refonte_tui.sh --action status`
+- Local backend facade: `python3 tools/cad/yiacad_backend_service.py status`
-### Delta 2026-03-21 - backend service YiACAD
+### Delta 2026-03-21 - YiACAD backend service
-- Service local: [docs/YIACAD_BACKEND_SERVICE_2026-03-21.md](docs/YIACAD_BACKEND_SERVICE_2026-03-21.md)
-- Client service-first: `python3 tools/cad/yiacad_backend_client.py --json-output health`
-- TUI backend: `bash tools/cockpit/yiacad_backend_service_tui.sh --action status`
+- Local service: [docs/YIACAD_BACKEND_SERVICE_2026-03-21.md](docs/YIACAD_BACKEND_SERVICE_2026-03-21.md)
+- Service-first client: `python3 tools/cad/yiacad_backend_client.py --json-output health`
+- Backend TUI: `bash tools/cockpit/yiacad_backend_service_tui.sh --action status`
## 2026-03-21 - Canonical operator entry
-- Entree publique recommandee: `bash tools/cockpit/yiacad_operator_index.sh --action status`.
-- Surface de preuves: `bash tools/cockpit/yiacad_proofs_tui.sh --action status`.
-- Surface de logs: `bash tools/cockpit/yiacad_logs_tui.sh --action status`.
-- Les routes directes historiques restent compatibles, mais ne sont plus l'entree publique recommandee.
+- Recommended public entry: `bash tools/cockpit/yiacad_operator_index.sh --action status`.
+- Proofs surface: `bash tools/cockpit/yiacad_proofs_tui.sh --action status`.
+- Logs surface: `bash tools/cockpit/yiacad_logs_tui.sh --action status`.
+- Historic direct routes remain compatible, but are no longer the recommended public entry.
+
+
diff --git a/README_FR.md b/README_FR.md
index db3484e..19f1c87 100644
--- a/README_FR.md
+++ b/README_FR.md
@@ -734,3 +734,5 @@ Regles actives:
- Surface de preuves: `bash tools/cockpit/yiacad_proofs_tui.sh --action status`.
- Surface de logs: `bash tools/cockpit/yiacad_logs_tui.sh --action status`.
- Les routes directes historiques restent compatibles, mais ne sont plus l'entree publique recommandee.
+
+
diff --git a/ai-agentic-embedded-base/.specify/README.md b/ai-agentic-embedded-base/.specify/README.md
index 5f94374..ecf0c92 100644
--- a/ai-agentic-embedded-base/.specify/README.md
+++ b/ai-agentic-embedded-base/.specify/README.md
@@ -1,27 +1,29 @@
-# Spec-driven development (compat Spec Kit)
+# Spec-driven development (Spec Kit compatible)
-Ce repo adopte un style **spec-first** : avant de coder, on écrit la spec et le plan.
+This repo adopts a **spec-first** style: before coding, we write the spec and the plan.
-Pour rester compatible avec l'approche **Spec Kit**, on expose un dossier `.specify/` qui contient
-des templates minimalistes.
+To remain compatible with the **Spec Kit** approach, we expose a `.specify/` folder that contains
+minimalist templates.
-## Générer un dossier de spec
+## Generate a spec folder
```bash
python tools/ai/specify_init.py --name
```
-Cela crée :
+This creates:
-```
+```raw
specs//
00_prd.md
01_tech_plan.md
02_tasks.md
```
-## RĂšgles
+## Rules
-- Un dossier `specs//` par feature/epic.
-- La PR doit référencer la spec (lien relatif).
-- Les tests/exports (firmware CI + hardware CI) doivent ĂȘtre verts.
+- One `specs//` folder per feature/epic.
+- The PR must reference the spec (relative link).
+- Tests/exports (firmware CI + hardware CI) must be green.
+
+
diff --git a/ai-agentic-embedded-base/.specify/README_FR.md b/ai-agentic-embedded-base/.specify/README_FR.md
new file mode 100644
index 0000000..10d0f11
--- /dev/null
+++ b/ai-agentic-embedded-base/.specify/README_FR.md
@@ -0,0 +1,29 @@
+# Spec-driven development (compat Spec Kit)
+
+Ce repo adopte un style **spec-first** : avant de coder, on écrit la spec et le plan.
+
+Pour rester compatible avec l'approche **Spec Kit**, on expose un dossier `.specify/` qui contient
+des templates minimalistes.
+
+## Générer un dossier de spec
+
+```bash
+python tools/ai/specify_init.py --name
+```
+
+Cela crée :
+
+```
+specs//
+ 00_prd.md
+ 01_tech_plan.md
+ 02_tasks.md
+```
+
+## RĂšgles
+
+- Un dossier `specs//` par feature/epic.
+- La PR doit référencer la spec (lien relatif).
+- Les tests/exports (firmware CI + hardware CI) doivent ĂȘtre verts.
+
+
diff --git a/ai-agentic-embedded-base/README.md b/ai-agentic-embedded-base/README.md
index 822c457..9b8da11 100644
--- a/ai-agentic-embedded-base/README.md
+++ b/ai-agentic-embedded-base/README.md
@@ -61,3 +61,5 @@ python3 tools/compliance/validate.py
```
Docs : `docs/COMPLIANCE.md`
+
+
diff --git a/ai-agentic-embedded-base/README_FR.md b/ai-agentic-embedded-base/README_FR.md
new file mode 100644
index 0000000..9b8da11
--- /dev/null
+++ b/ai-agentic-embedded-base/README_FR.md
@@ -0,0 +1,65 @@
+# ai-agentic-embedded-base
+
+Repo âde baseâ qui combine le meilleur de :
+- **Specâdriven development** (Spec Kit) : une spĂ©cification comme source de vĂ©ritĂ©.
+- **Standards injection** (Agent OS) : standards versionnés + profils.
+- **BMAD / BMADâMETHOD** : agents par rĂŽles + rituels + gates + handoffs.
+- **Agent Zero** : exécution transparente via outils locaux + logs + artifacts.
+
+> Ce dĂ©pĂŽt est **orientĂ© embarquĂ©** (firmware + hardware KiCad) mais extensible multiâtarget.
+
+## TL;DR
+- Ăcris/itĂšre la spec dans `specs/`
+- (optionnel) GénÚre un squelette de spec depuis `.specify/` : `python3 tools/ai/specify_init.py --name `
+- Applique les standards dans `standards/`
+- Exécute le cockpit : `python3 tools/cockpit/cockpit.py menu`
+- Pour lâautomatisation GitHub : label `ai:codex` â Issue â PR
+
+## Structure
+- `specs/` : intake â spec â arch â plan â tasks + contraintes
+- `standards/` : rĂšgles globales + profils (ESP / STM / multi)
+- `bmad/` : rĂŽles, rituels, gates, templates de handoff
+- `agents/` : prompts agents (PM/Architect/FW/QA/Doc/HW)
+- `tools/` : cockpit + outils AI + outils hardware (schops)
+- `firmware/` : PlatformIO + Unity (tests)
+- `hardware/` : KiCad + blocks + rules
+- `.github/` : workflows (CI firmware/hardware/docs + IssueâPR Codex)
+
+## KiCad local + IA
+Voir `docs/KICAD_AI_LOCAL.md`.
+
+## Démarrage rapide
+```bash
+# firmware
+cd firmware
+python -m pip install -U platformio
+pio run -e esp32s3_arduino
+pio test -e native
+
+# cockpit
+python3 tools/cockpit/cockpit.py menu
+```
+
+## Conventions de sortie
+Tous les scripts écrivent sous `artifacts///` (logs + exports + reports).
+
+
+## V4 â KiCad agentique (bulk + previews + MCP)
+- `bash tools/hw/hw_gate.sh hardware/kicad` : exports SVG + ERC/DRC JSON + BOM/netlist
+- `python3 tools/watch/watch_hw.py` : watch mode (re-run gate on save)
+- `docs/MCP_SETUP.md` : configuration MCP (`kicad-sch-api` / `kicad-sch-mcp`) îciteîturn0search9î
+
+## Compliance (2 options)
+- **Prototype interne** : profil `prototype` (pas de CE/RED)
+- **Produit UE WiâFi/BLE** : profil `iot_wifi_eu` (RED + cyber + RoHS/REACH/WEEE + ETSI)
+
+Changer de profil :
+```bash
+python3 tools/compliance/use_profile.py prototype
+python3 tools/compliance/use_profile.py iot_wifi_eu
+python3 tools/compliance/validate.py
+```
+
+Docs : `docs/COMPLIANCE.md`
+
+
diff --git a/ai-agentic-embedded-base/bmad/README.md b/ai-agentic-embedded-base/bmad/README.md
index 4a46f13..64a5141 100644
--- a/ai-agentic-embedded-base/bmad/README.md
+++ b/ai-agentic-embedded-base/bmad/README.md
@@ -5,3 +5,5 @@ Objectif : Ă©viter le âvibe codingâ en gardant un flow reproductible.
- `rituals/` : kickoff / daily / review
- `gates/` : checklists de passage (S0/S1/S2âŠ)
- `templates/` : status updates + handoffs
+
+
diff --git a/ai-agentic-embedded-base/bmad/README_FR.md b/ai-agentic-embedded-base/bmad/README_FR.md
new file mode 100644
index 0000000..64a5141
--- /dev/null
+++ b/ai-agentic-embedded-base/bmad/README_FR.md
@@ -0,0 +1,9 @@
+# BMAD (agents par rĂŽles + rituels + gates)
+
+Objectif : Ă©viter le âvibe codingâ en gardant un flow reproductible.
+- `roles/` : prompts de rĂŽles (optionnel ici)
+- `rituals/` : kickoff / daily / review
+- `gates/` : checklists de passage (S0/S1/S2âŠ)
+- `templates/` : status updates + handoffs
+
+
diff --git a/ai-agentic-embedded-base/hardware/README.md b/ai-agentic-embedded-base/hardware/README.md
index cb725cc..9717349 100644
--- a/ai-agentic-embedded-base/hardware/README.md
+++ b/ai-agentic-embedded-base/hardware/README.md
@@ -6,3 +6,5 @@
â ïž Les fichiers KiCad rĂ©els sont Ă crĂ©er/committer depuis ton poste.
Ce template fournit lâoutillage (schops + gates + CI).
+
+
diff --git a/ai-agentic-embedded-base/hardware/README_FR.md b/ai-agentic-embedded-base/hardware/README_FR.md
new file mode 100644
index 0000000..9717349
--- /dev/null
+++ b/ai-agentic-embedded-base/hardware/README_FR.md
@@ -0,0 +1,10 @@
+# Hardware
+
+- `kicad/` : projets KiCad
+- `rules/` : rĂšgles champs/footprints/nets
+- `blocks/` : Design Blocks KiCad 10 (bibliothĂšque de briques)
+
+â ïž Les fichiers KiCad rĂ©els sont Ă crĂ©er/committer depuis ton poste.
+Ce template fournit lâoutillage (schops + gates + CI).
+
+
diff --git a/ai-agentic-embedded-base/hardware/blocks/README.md b/ai-agentic-embedded-base/hardware/blocks/README.md
index 240d97e..92b8b38 100644
--- a/ai-agentic-embedded-base/hardware/blocks/README.md
+++ b/ai-agentic-embedded-base/hardware/blocks/README.md
@@ -7,3 +7,5 @@ Créer une brique :
Instancier une brique :
- `schops block instantiate ...` (à implémenter selon ton workflow)
+
+
diff --git a/ai-agentic-embedded-base/hardware/blocks/README_FR.md b/ai-agentic-embedded-base/hardware/blocks/README_FR.md
new file mode 100644
index 0000000..92b8b38
--- /dev/null
+++ b/ai-agentic-embedded-base/hardware/blocks/README_FR.md
@@ -0,0 +1,11 @@
+# Design Blocks (KiCad 10)
+
+Créer une brique :
+- isoler un sous-schéma stable (ex: régulateur 3V3)
+- générer un block via `schops block-make ...`
+- versionner sous `hardware/blocks/.kicad_blocks/`
+
+Instancier une brique :
+- `schops block instantiate ...` (à implémenter selon ton workflow)
+
+
diff --git a/ai-agentic-embedded-base/node_engine_architecture/universal_node_engine_starter/README.md b/ai-agentic-embedded-base/node_engine_architecture/universal_node_engine_starter/README.md
index e252dc8..81a809a 100644
--- a/ai-agentic-embedded-base/node_engine_architecture/universal_node_engine_starter/README.md
+++ b/ai-agentic-embedded-base/node_engine_architecture/universal_node_engine_starter/README.md
@@ -12,3 +12,5 @@ Includes:
This is a lightweight scaffold to start building a nodal orchestration engine
for AI, CAD, electronics and hardware pipelines.
+
+
diff --git a/ai-agentic-embedded-base/node_engine_architecture/universal_node_engine_starter/README_FR.md b/ai-agentic-embedded-base/node_engine_architecture/universal_node_engine_starter/README_FR.md
new file mode 100644
index 0000000..81a809a
--- /dev/null
+++ b/ai-agentic-embedded-base/node_engine_architecture/universal_node_engine_starter/README_FR.md
@@ -0,0 +1,16 @@
+# Universal Node Engine â Starter Repo
+
+Minimal starter for the Universal Node Engine architecture.
+
+Includes:
+
+- Node registry
+- Runtime engine
+- Simple scheduler
+- Example nodes
+- Basic web editor placeholder
+
+This is a lightweight scaffold to start building a nodal orchestration engine
+for AI, CAD, electronics and hardware pipelines.
+
+
diff --git a/ai-agentic-embedded-base/specs/README.md b/ai-agentic-embedded-base/specs/README.md
index 9e98b54..89fafdf 100644
--- a/ai-agentic-embedded-base/specs/README.md
+++ b/ai-agentic-embedded-base/specs/README.md
@@ -82,3 +82,5 @@ flowchart LR
- `tools/cockpit/refonte_tui.sh`
- `tools/cockpit/log_ops.sh`
- `docs/AI_WORKFLOWS.md`
+
+
diff --git a/ai-agentic-embedded-base/specs/README_FR.md b/ai-agentic-embedded-base/specs/README_FR.md
new file mode 100644
index 0000000..89fafdf
--- /dev/null
+++ b/ai-agentic-embedded-base/specs/README_FR.md
@@ -0,0 +1,86 @@
+# Specs (Spec-driven)
+
+Le dossier `specs/` est la source de vérité de la méthode Kill_LIFE. Il décrit la chaßne canonique `brief -> spec -> architecture -> plan -> tasks`, puis rattache chaque lot à un owner explicite et à une preuve exploitable par le cockpit, les plans et les extensions VS Code.
+
+ChaĂźne canonique:
+
+1. `00_intake.md` â idĂ©e brute + pĂ©rimĂštre
+2. `01_spec.md` â besoin, critĂšres dâacceptation
+3. `02_arch.md` â architecture + ADR
+4. `03_plan.md` â plan de rĂ©alisation
+5. `04_tasks.md` â backlog opĂ©rationnel
+
+Contraintes non-fonctionnelles:
+
+- `specs/constraints.yaml` (source de vérité)
+
+## Contrat de lot canonique
+
+Tout lot nouveau ou restructuré doit exposer les champs suivants dans sa documentation, ses TODOs ou ses preuves dérivées:
+
+- `owner_repo`
+- `owner_agent`
+- `owner_subagent`
+- `write_set`
+- `status`
+- `evidence`
+
+Ce contrat est la charniĂšre entre `Kill_LIFE`, `ai-agentic-embedded-base`, le cockpit shell/TUI et le trio d'extensions `kill-life-studio`, `kill-life-mesh`, `kill-life-operator`.
+
+```mermaid
+flowchart LR
+ Intake[00_intake.md] --> Spec[01_spec.md]
+ Spec --> Arch[02_arch.md]
+ Arch --> Plan[03_plan.md]
+ Plan --> Tasks[04_tasks.md]
+ Plan --> Cockpit[docs/plans/18_plan_enchainement_autonome_des_lots_utiles.md]
+ Tasks --> Mirror[tools/specs/sync_spec_mirror.sh]
+ Mirror --> Validate[tools/validate_specs.py]
+ Validate --> TUI[tools/cockpit/refonte_tui.sh]
+ TUI --> AI[docs/AI_WORKFLOWS.md]
+```
+
+## Specs de référence supplémentaires
+
+- `github_mcp_conversion_spec.md`
+- `cad_modeling_tasks.md`
+- `kicad_mcp_scope_spec.md`
+- `mcp_agentics_target_backlog.md`
+- `mcp_tasks.md`
+- `knowledge_base_mcp_spec.md`
+- `zeroclaw_dual_hw_orchestration_spec.md`
+- `zeroclaw_dual_hw_todo.md`
+
+## Exécutions utiles
+
+- Synchroniser les specs exportées:
+ - `bash tools/specs/sync_spec_mirror.sh all --yes`
+- Vérifier le miroir:
+ - `bash tools/specs/sync_spec_mirror.sh check`
+- Lancer la chaĂźne dâexĂ©cution:
+ - `bash tools/cockpit/lot_chain.sh all --yes`
+ - `bash tools/run_autonomous_next_lots.sh status`
+ - `bash tools/run_autonomous_next_lots.sh run`
+- Valider la cohérence:
+ - `bash tools/validate_specs.py --strict --require-mirror-sync`
+
+## Politique canonique vs miroir
+
+- `Kill_LIFE/specs/` reste la source de vérité; toute modification part de ce dossier.
+- `ai-agentic-embedded-base/specs/` reste un miroir exporté; on ne l'édite pas directement, on le synchronise via `bash tools/specs/sync_spec_mirror.sh all --yes`.
+- Les surfaces `docs/`, `tools/`, `artifacts/` et `firmware/` restent canoniques dans `Kill_LIFE` sauf lot explicite contraire.
+- La fermeture d'un lot spec-first passe par deux commandes: `bash tools/specs/sync_spec_mirror.sh all --yes` puis `python3 tools/validate_specs.py --strict --require-mirror-sync`.
+
+## Référentiels refonte à actualiser ensemble
+
+- `docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-21.md`
+- `docs/REFACTOR_MANIFEST_2026-03-20.md`
+- `docs/WEB_RESEARCH_OPEN_SOURCE_2026-03-20.md`
+- `docs/AGENT_SPEC_MODULE_MATRIX_2026-03-20.md`
+- `docs/plans/12_plan_gestion_des_agents.md`
+- `docs/plans/18_plan_enchainement_autonome_des_lots_utiles.md`
+- `tools/cockpit/refonte_tui.sh`
+- `tools/cockpit/log_ops.sh`
+- `docs/AI_WORKFLOWS.md`
+
+
diff --git a/ai-agentic-embedded-base/standards/README.md b/ai-agentic-embedded-base/standards/README.md
index 5ebb1ab..5cdb779 100644
--- a/ai-agentic-embedded-base/standards/README.md
+++ b/ai-agentic-embedded-base/standards/README.md
@@ -7,3 +7,5 @@ Objectif : ne plus ârĂ©-expliquerâ tes conventions Ă chaque prompt.
Usage recommandé :
- Les agents lisent **toujours** `standards/global/*` + le profil actif.
- Le profil actif est déclaré dans `specs/constraints.yaml` (ex: esp-first).
+
+
diff --git a/ai-agentic-embedded-base/standards/README_FR.md b/ai-agentic-embedded-base/standards/README_FR.md
new file mode 100644
index 0000000..5cdb779
--- /dev/null
+++ b/ai-agentic-embedded-base/standards/README_FR.md
@@ -0,0 +1,11 @@
+# Standards (Agent OS style)
+
+Objectif : ne plus ârĂ©-expliquerâ tes conventions Ă chaque prompt.
+- `global/` : standards communs
+- `profiles/` : overrides selon le type de projet
+
+Usage recommandé :
+- Les agents lisent **toujours** `standards/global/*` + le profil actif.
+- Le profil actif est déclaré dans `specs/constraints.yaml` (ex: esp-first).
+
+
diff --git a/ai-agentic-embedded-base/standards/profiles/esp-first/README.md b/ai-agentic-embedded-base/standards/profiles/esp-first/README.md
index 652b46c..758a319 100644
--- a/ai-agentic-embedded-base/standards/profiles/esp-first/README.md
+++ b/ai-agentic-embedded-base/standards/profiles/esp-first/README.md
@@ -3,3 +3,5 @@
- UART debug obligatoire
- Conso : deep sleep pris en compte dÚs le départ
- Wi-Fi/BLE : désactivables via flags
+
+
diff --git a/ai-agentic-embedded-base/standards/profiles/esp-first/README_FR.md b/ai-agentic-embedded-base/standards/profiles/esp-first/README_FR.md
new file mode 100644
index 0000000..758a319
--- /dev/null
+++ b/ai-agentic-embedded-base/standards/profiles/esp-first/README_FR.md
@@ -0,0 +1,7 @@
+# Profile: ESP-first
+
+- UART debug obligatoire
+- Conso : deep sleep pris en compte dÚs le départ
+- Wi-Fi/BLE : désactivables via flags
+
+
diff --git a/ai-agentic-embedded-base/standards/profiles/stm32/README.md b/ai-agentic-embedded-base/standards/profiles/stm32/README.md
index e5b0c72..c4a778f 100644
--- a/ai-agentic-embedded-base/standards/profiles/stm32/README.md
+++ b/ai-agentic-embedded-base/standards/profiles/stm32/README.md
@@ -3,3 +3,5 @@
- Dépendances minimales
- HAL isolé, couches drivers strictes
- Tests host/natif prioritaires
+
+
diff --git a/ai-agentic-embedded-base/standards/profiles/stm32/README_FR.md b/ai-agentic-embedded-base/standards/profiles/stm32/README_FR.md
new file mode 100644
index 0000000..c4a778f
--- /dev/null
+++ b/ai-agentic-embedded-base/standards/profiles/stm32/README_FR.md
@@ -0,0 +1,7 @@
+# Profile: STM32 industriel
+
+- Dépendances minimales
+- HAL isolé, couches drivers strictes
+- Tests host/natif prioritaires
+
+
diff --git a/ai-agentic-embedded-base/tools/cockpit/README.md b/ai-agentic-embedded-base/tools/cockpit/README.md
index 47b243e..ff66198 100644
--- a/ai-agentic-embedded-base/tools/cockpit/README.md
+++ b/ai-agentic-embedded-base/tools/cockpit/README.md
@@ -7,3 +7,5 @@ Entrée unique pour piloter le repo en local.
- `hw` : gates hardware (ERC/netlist/BOM)
Tous les outputs â `artifacts/`.
+
+
diff --git a/ai-agentic-embedded-base/tools/cockpit/README_FR.md b/ai-agentic-embedded-base/tools/cockpit/README_FR.md
new file mode 100644
index 0000000..ff66198
--- /dev/null
+++ b/ai-agentic-embedded-base/tools/cockpit/README_FR.md
@@ -0,0 +1,11 @@
+# Cockpit
+
+Entrée unique pour piloter le repo en local.
+- `menu` : menu simple
+- `gate_s0` : check âspec readyâ
+- `fw` : build/test firmware
+- `hw` : gates hardware (ERC/netlist/BOM)
+
+Tous les outputs â `artifacts/`.
+
+
diff --git a/ai-agentic-embedded-base/tools/hw/schops/README.md b/ai-agentic-embedded-base/tools/hw/schops/README.md
index dba7579..34e7d2d 100644
--- a/ai-agentic-embedded-base/tools/hw/schops/README.md
+++ b/ai-agentic-embedded-base/tools/hw/schops/README.md
@@ -79,3 +79,5 @@ python tools/hw/schops/schops.py block-make \
python tools/hw/schops/schops.py block-ls --lib hardware/blocks/power.kicad_blocks
```
+
+
diff --git a/ai-agentic-embedded-base/tools/hw/schops/README_FR.md b/ai-agentic-embedded-base/tools/hw/schops/README_FR.md
new file mode 100644
index 0000000..34e7d2d
--- /dev/null
+++ b/ai-agentic-embedded-base/tools/hw/schops/README_FR.md
@@ -0,0 +1,83 @@
+# schops (Schematic Ops)
+
+CLI local pour :
+- ERC/BOM/netlist via `kicad-cli`
+- bulk edits via `kicad-sch-api` (si installé)
+- Design Blocks KiCad 10 (structure + metadata)
+
+> Philosophie : **bulk edits safe** (backup + report) + exports déterministes (kicad-cli).
+
+## Install (local)
+```bash
+python -m venv .venv && source .venv/bin/activate
+python -m pip install -U pip
+python -m pip install -r tools/hw/schops/requirements.txt
+```
+
+## Usage
+```bash
+python tools/hw/schops/schops.py --help
+```
+
+## Exports (kicad-cli)
+```bash
+python tools/hw/schops/schops.py erc --schematic hardware/kicad//.kicad_sch
+python tools/hw/schops/schops.py netlist --schematic hardware/kicad//.kicad_sch
+python tools/hw/schops/schops.py bom --schematic hardware/kicad//.kicad_sch \
+ --fields "Reference,Value,Footprint,${DNP}" \
+ --group-by "Value,Footprint" \
+ --exclude-dnp
+```
+
+Les sorties vont dans `artifacts/hw//`.
+
+## Bulk edits (kicad-sch-api)
+
+### Champs / propriétés
+Applique `hardware/rules/fields.yaml` (defaults + rÚgles) et écrit un rapport JSON.
+
+```bash
+python tools/hw/schops/schops.py apply-fields \
+ --schematic hardware/kicad//.kicad_sch \
+ --rules hardware/rules/fields.yaml
+
+# review-only
+python tools/hw/schops/schops.py apply-fields --dry-run --schematic ... --rules ...
+```
+
+### Footprints
+```bash
+python tools/hw/schops/schops.py apply-footprints \
+ --schematic hardware/kicad//.kicad_sch \
+ --map hardware/rules/footprints.csv
+```
+
+### Renommage de nets (labels)
+```bash
+python tools/hw/schops/schops.py rename-nets \
+ --schematic hardware/kicad//.kicad_sch \
+ --rules hardware/rules/nets_rename.yaml
+```
+
+### Snapshot (pour diff)
+```bash
+python tools/hw/schops/schops.py snapshot --schematic ... --name before.json
+# ... modifications ...
+python tools/hw/schops/schops.py snapshot --schematic ... --name after.json
+```
+
+## Design Blocks (KiCad 10)
+Les design blocks sont des dossiers `*.kicad_block` stockés dans une librairie `*.kicad_blocks`.
+
+```bash
+python tools/hw/schops/schops.py block-make \
+ --name buck_5v \
+ --from-sheet hardware/kicad/buck/buck.kicad_sch \
+ --lib hardware/blocks/power.kicad_blocks \
+ --description "Buck 5V@2A" \
+ --keywords "power,buck,5v"
+
+python tools/hw/schops/schops.py block-ls --lib hardware/blocks/power.kicad_blocks
+```
+
+
diff --git a/bmad/README.md b/bmad/README.md
index 4f0fcc2..308a33f 100644
--- a/bmad/README.md
+++ b/bmad/README.md
@@ -8,3 +8,5 @@ Objectif : Ă©viter le âvibe codingâ en gardant un flow reproductible.
- `rituals/` : kickoff / daily / review
- `gates/` : checklists de passage (S0/S1/S2âŠ)
- `templates/` : status updates + handoffs
+
+
diff --git a/bmad/README_FR.md b/bmad/README_FR.md
new file mode 100644
index 0000000..308a33f
--- /dev/null
+++ b/bmad/README_FR.md
@@ -0,0 +1,12 @@
+# Easter Egg musique expérimentale
+
+_« Les gates et rituels sont modulĂ©s comme un OramicsâŻ: chaque passage, chaque handoff, est une invention sonore. »_ â Daphne Oram
+# BMAD (agents par rĂŽles + rituels + gates)
+
+Objectif : Ă©viter le âvibe codingâ en gardant un flow reproductible.
+- `roles/` : prompts de rĂŽles (optionnel ici)
+- `rituals/` : kickoff / daily / review
+- `gates/` : checklists de passage (S0/S1/S2âŠ)
+- `templates/` : status updates + handoffs
+
+
diff --git a/deploy/cad/README.md b/deploy/cad/README.md
index ff1af9e..7673bdd 100644
--- a/deploy/cad/README.md
+++ b/deploy/cad/README.md
@@ -101,3 +101,5 @@ Statut:
- la trajectoire MCP/agentics reste gouvernee dans `specs/mcp_agentics_target_backlog.md`
- `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
+
+
diff --git a/deploy/cad/README_FR.md b/deploy/cad/README_FR.md
new file mode 100644
index 0000000..7673bdd
--- /dev/null
+++ b/deploy/cad/README_FR.md
@@ -0,0 +1,105 @@
+# CAD Stack
+
+Last updated: 2026-03-14
+
+Stack Docker CAD/EDA integree directement dans `Kill_LIFE`.
+
+Important:
+
+- cette stack reste la base headless et containerisee;
+- YiACAD ajoute des surfaces GUI natives utilisateur dans KiCad et FreeCAD;
+- la strategie GUI/native est documentee dans `docs/CAD_AI_NATIVE_GUI_RUNBOOK_2026-03-20.md`, `docs/CAD_AI_NATIVE_HOOKS_2026-03-20.md` et `docs/YIACAD_APPLE_UI_UX_AUDIT_2026-03-20.md`.
+
+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
+
+- `KiCad headless`: `kicad-cli` via une image KiCad 10
+- `KiCad MCP`: `tools/hw/run_kicad_mcp.sh` et l'alias `tools/hw/cad_stack.sh mcp`
+- `FreeCAD headless`: `FreeCADCmd`
+- `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
+tools/hw/cad_stack.sh up
+tools/hw/cad_stack.sh doctor
+tools/hw/cad_stack.sh kicad-cli version
+tools/hw/cad_stack.sh freecad-cmd -c "import FreeCAD; print('.'.join(FreeCAD.Version()[:3]))"
+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
+```
+
+Le workspace monte dans les conteneurs est la racine de `Kill_LIFE` par defaut.
+
+## Statut modelling local
+
+- `FreeCAD`: supporte en headless, avec smoke versionne `python3 tools/hw/freecad_smoke.py --json`
+- `OpenSCAD`: supporte en headless, avec smoke versionne `python3 tools/hw/openscad_smoke.py --json`
+
+Limites explicites:
+
+- la stack Docker documentee ici reste headless par nature
+- l'UI graphique YiACAD ne passe pas par ces conteneurs, mais par les surfaces natives utilisateur KiCad/FreeCAD
+- les serveurs MCP `FreeCAD` et `OpenSCAD` restent des surfaces MCP separees; ils ne remplacent ni les wrappers CLI locaux ni les surfaces GUI YiACAD
+
+## MCP CAD locaux
+
+Launchers supportes:
+
+```bash
+bash tools/run_freecad_mcp.sh --doctor
+bash tools/run_openscad_mcp.sh --doctor
+python3 tools/freecad_mcp_smoke.py --json
+python3 tools/openscad_mcp_smoke.py --json
+```
+
+Statut:
+
+- `freecad`: supporte en `stdio` local, visible aussi dans `python3 tools/mcp_runtime_status.py --json`
+- `openscad`: supporte en `stdio` local, visible aussi dans `python3 tools/mcp_runtime_status.py --json`
+
+## Variables utiles
+
+- `KICAD_DOCKER_IMAGE`: image KiCad 10 a utiliser
+- `CAD_WORKSPACE_DIR`: workspace monte dans `/workspace`
+- `KILL_LIFE_RUNTIME_HOME` ou `KILL_LIFE_RUNTIME_BASE_DIR`: surcharge du runtime home des wrappers locaux et MCP
+
+## Gouvernance
+
+- 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` 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
+
+
diff --git a/docs/plans/README.md b/docs/plans/README.md
index 7bd0abf..caf14d3 100644
--- a/docs/plans/README.md
+++ b/docs/plans/README.md
@@ -35,3 +35,5 @@ Ces plans sont des **runbooks** : tu peux les suivre tels quels, ou les transfor
---
Astuce : si tu veux exĂ©cuter ces plans âĂ la chaĂźneâ en mode agentique, commence par crĂ©er une issue âProgramâ et dĂ©coupe en sousâissues (ou en checklists), puis applique les labels `ai:*` progressivement.
+
+
diff --git a/docs/plans/README_FR.md b/docs/plans/README_FR.md
new file mode 100644
index 0000000..caf14d3
--- /dev/null
+++ b/docs/plans/README_FR.md
@@ -0,0 +1,39 @@
+# Plans opérationnels
+
+Ces plans sont des **runbooks** : tu peux les suivre tels quels, ou les transformer en issues/epics. Ils sont pensés pour fonctionner avec :
+
+- Labels `ai:*` + scope guard
+- Evidence pack (preuves CI/HW)
+- SĂ©curitĂ© antiâpromptâinjection
+
+## Table des matiĂšres
+
+1. [Plan premiÚre entrée](01_plan_premiere_entree.md)
+2. [Plan brainstorming](02_plan_brainstorming.md)
+3. [Plan de specification](03_plan_specification.md)
+4. [Plan mise Ă jour agentics](04_plan_mise_a_jour_agentics.md)
+5. [Plan de roadmap hardware/firmware](05_plan_roadmap_hw_fw.md)
+6. [Plan dâintĂ©gration CI/CD](06_plan_integration_cicd.md)
+7. [Plan de gestion des specs](07_plan_gestion_specs.md)
+8. [Plan de conformité & sécurité](08_plan_conformite_securite.md)
+9. [Plan de bulk edit hardware](09_plan_bulk_edit_hardware.md)
+10. [Plan de documentation & onboarding](10_plan_documentation_onboarding.md)
+11. [Plan de contribution & feedback](11_plan_contribution_feedback.md)
+12. [Plan de gestion des agents](12_plan_gestion_des_agents.md)
+13. [Plan de troubleshooting](13_plan_troubleshooting.md)
+14. [Plan de release & versioning](14_plan_release_versioning.md)
+15. [Plan d'alignement MCP local](15_plan_mcp_runtime_alignment.md)
+16. [Plan de stack CAD modelling locale](16_plan_cad_modeling_stack.md)
+17. [Plan cible MCP + agentics + A2A](17_plan_target_architecture_mcp_agentics_2028.md)
+18. [Plan d'enchainement autonome des lots utiles](18_plan_enchainement_autonome_des_lots_utiles.md)
+19. [TODO mesh tri-repo](19_todo_mesh_tri_repo.md)
+20. [Plan refonte UI/UX YiACAD Apple-native](20_plan_refonte_ui_ux_yiacad_apple_native.md)
+21. [Plan refonte globale YiACAD](21_plan_refonte_globale_yiacad.md)
+22. [Plan integration intelligence agentique](22_plan_integration_intelligence_agentique.md)
+23. [TODO integration intelligence agentique](22_todo_integration_intelligence_agentique.md)
+
+---
+
+Astuce : si tu veux exĂ©cuter ces plans âĂ la chaĂźneâ en mode agentique, commence par crĂ©er une issue âProgramâ et dĂ©coupe en sousâissues (ou en checklists), puis applique les labels `ai:*` progressivement.
+
+
diff --git a/docs/workflows/README.md b/docs/workflows/README.md
index e04a371..36c6c02 100644
--- a/docs/workflows/README.md
+++ b/docs/workflows/README.md
@@ -42,3 +42,5 @@ Voir : `docs/evidence/evidence_pack.md`.
Raccourci d'usage :
- si le besoin est de valider un workflow, un runtime local ou un export avant CI, partir de la séquence `local`
- si le besoin est de suivre un dispatch allowlisté, un check GitHub ou un evidence pack CI, partir de la séquence `github`
+
+
diff --git a/docs/workflows/README_FR.md b/docs/workflows/README_FR.md
new file mode 100644
index 0000000..36c6c02
--- /dev/null
+++ b/docs/workflows/README_FR.md
@@ -0,0 +1,46 @@
+# Workflows professionnels (opérationnels)
+
+Ces workflows sont conçus pour ressembler aux pratiques **cabinet de conseil**, **bureau dâĂ©tudes**, **design produit**, **studio crĂ©atif**, **R&D**, **industrialisation / compliance** â tout en restant compatibles avec le pipeline agentique du repo :
+
+- labels `type:*` pour classer lâintention mĂ©tier,
+- labels `ai:*` pour dĂ©clencher lâautomatisation (Issue â PR),
+- **scope guard** et **label enforcement** pour sécuriser les actions,
+- **evidence pack** pour tracer les décisions et résultats.
+
+## Menu
+
+- đ§âđŒ [Cabinet de conseil](consulting.md)
+- đ [Bureau dâĂ©tudes / IngĂ©nierie systĂšme](systems_engineering.md)
+- đš [Design produit / UX](design.md)
+- đ [CrĂ©atif / narration / contenu](creative.md)
+- đ§Ș [R&D / spikes time-boxĂ©s](rnd_spikes.md)
+- đĄ [Compliance / QA / Release](compliance_release.md)
+
+## RĂšgle simple (anti-chaos)
+
+1) **Crée une issue** avec un template (`.github/ISSUE_TEMPLATE/`).
+2) **Triage** : ajoute `prio:*`, `risk:*`, `scope:*`, et garde seulement un `type:*`.
+3) **DĂ©clenche lâautomatisation** en ajoutant le bon label `ai:*` :
+ - `ai:spec` â formaliser exigences (RFC2119 + critĂšres dâacceptation)
+ - `ai:plan` â architecture + options + ADR
+ - `ai:tasks` â backlog exĂ©cutable
+ - `ai:impl` â impl + tests minimaux
+ - `ai:qa` â durcissement tests/edge
+ - `ai:docs` â docs + runbooks
+
+â ïž Si tu suspects une injection / comportement bizarre : ajoute `ai:hold`.
+
+## Evidence pack
+
+Voir : `docs/evidence/evidence_pack.md`.
+
+## Séquences opératoires canoniques
+
+- Local / cockpit / restore : `docs/KILL_LIFE_WORKFLOW_LOCAL_SEQUENCE_2026-03-11.md`
+- GitHub / dispatch / CI / artifacts : `docs/KILL_LIFE_WORKFLOW_GITHUB_SEQUENCE_2026-03-11.md`
+
+Raccourci d'usage :
+- si le besoin est de valider un workflow, un runtime local ou un export avant CI, partir de la séquence `local`
+- si le besoin est de suivre un dispatch allowlisté, un check GitHub ou un evidence pack CI, partir de la séquence `github`
+
+
diff --git a/docs/workspace_audit_2026-03-24/README.md b/docs/workspace_audit_2026-03-24/README.md
index e69de29..67fae62 100644
--- a/docs/workspace_audit_2026-03-24/README.md
+++ b/docs/workspace_audit_2026-03-24/README.md
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs/workspace_audit_2026-03-24/README_FR.md b/docs/workspace_audit_2026-03-24/README_FR.md
new file mode 100644
index 0000000..67fae62
--- /dev/null
+++ b/docs/workspace_audit_2026-03-24/README_FR.md
@@ -0,0 +1,3 @@
+
+
+
diff --git a/hardware/README.md b/hardware/README.md
index cb725cc..9717349 100644
--- a/hardware/README.md
+++ b/hardware/README.md
@@ -6,3 +6,5 @@
â ïž Les fichiers KiCad rĂ©els sont Ă crĂ©er/committer depuis ton poste.
Ce template fournit lâoutillage (schops + gates + CI).
+
+
diff --git a/hardware/README_FR.md b/hardware/README_FR.md
new file mode 100644
index 0000000..9717349
--- /dev/null
+++ b/hardware/README_FR.md
@@ -0,0 +1,10 @@
+# Hardware
+
+- `kicad/` : projets KiCad
+- `rules/` : rĂšgles champs/footprints/nets
+- `blocks/` : Design Blocks KiCad 10 (bibliothĂšque de briques)
+
+â ïž Les fichiers KiCad rĂ©els sont Ă crĂ©er/committer depuis ton poste.
+Ce template fournit lâoutillage (schops + gates + CI).
+
+
diff --git a/hardware/blocks/README.md b/hardware/blocks/README.md
index 240d97e..92b8b38 100644
--- a/hardware/blocks/README.md
+++ b/hardware/blocks/README.md
@@ -7,3 +7,5 @@ Créer une brique :
Instancier une brique :
- `schops block instantiate ...` (à implémenter selon ton workflow)
+
+
diff --git a/hardware/blocks/README_FR.md b/hardware/blocks/README_FR.md
new file mode 100644
index 0000000..92b8b38
--- /dev/null
+++ b/hardware/blocks/README_FR.md
@@ -0,0 +1,11 @@
+# Design Blocks (KiCad 10)
+
+Créer une brique :
+- isoler un sous-schéma stable (ex: régulateur 3V3)
+- générer un block via `schops block-make ...`
+- versionner sous `hardware/blocks/.kicad_blocks/`
+
+Instancier une brique :
+- `schops block instantiate ...` (à implémenter selon ton workflow)
+
+
diff --git a/openclaw/README.md b/openclaw/README.md
index 1462a5b..2802a95 100644
--- a/openclaw/README.md
+++ b/openclaw/README.md
@@ -31,4 +31,6 @@ Consultez le guide onboarding contributeur : [onboarding/README.md](onboarding/R
Consultez aussi le guide pas-Ă -pas, FAQ et bonnes pratiques : [onboarding/guide_contributeur.md](onboarding/guide_contributeur.md)
DĂ©couvrez des exemples dâutilisation : [onboarding/exemples.md](onboarding/exemples.md)
Accédez aux supports visuels, tutoriels vidéo et scripts de test : [onboarding/supports_visuels.md](onboarding/supports_visuels.md)
-Intégrez OpenClaw en local (VM sandboxée) : [onboarding/guide_vm_sandbox.md](onboarding/guide_vm_sandbox.md)
\ No newline at end of file
+Intégrez OpenClaw en local (VM sandboxée) : [onboarding/guide_vm_sandbox.md](onboarding/guide_vm_sandbox.md)
+
+
diff --git a/openclaw/README_FR.md b/openclaw/README_FR.md
new file mode 100644
index 0000000..2802a95
--- /dev/null
+++ b/openclaw/README_FR.md
@@ -0,0 +1,36 @@
+# OpenClaw Integration
+
+This repository includes optional integration points for **OpenClaw**, a local
+agent runtime that allows an operator to trigger automations via chat or other
+humanâinâtheâloop interfaces. In this template, OpenClaw is used solely as
+a *viewer* and *label manager*:
+
+* OpenClaw **does not commit or push code**. Any actions that modify the
+ repository must be performed via GitHub Agentic Workflows (ghâaw) with
+ safeâoutputs. This keeps the write surface minimal and auditable.
+* The only allowed actions are adding/removing `ai:*` labels on issues and
+ pull requests, and posting sanitized status comments. All comments are
+ processed through `tools/ai/sanitize_issue.py` before being sent.
+* OpenClaw must run in a sandbox or disposable environment with no access to
+ secrets, following the principle of least privilege. Running OpenClaw on
+ the same machine as your source code or CI system is *strongly
+ discouraged*ă57263998884462â L355-L419ă.
+
+Refer to `docs/security/anti_prompt_injection_policy.md` for more details on
+the defensive measures and threat model.
+
+## Workflows & Sécurité OpenClaw
+
+OpenClaw fonctionne strictement en mode observateurâŻ: il ne commite ni ne modifie le code source.
+
+
+Pour contribuer ou intĂ©grer OpenClawâŻ:
+
+Pour toute question, ouvrir une issue ou consulter la FAQ.
+Consultez le guide onboarding contributeur : [onboarding/README.md](onboarding/README.md)
+Consultez aussi le guide pas-Ă -pas, FAQ et bonnes pratiques : [onboarding/guide_contributeur.md](onboarding/guide_contributeur.md)
+DĂ©couvrez des exemples dâutilisation : [onboarding/exemples.md](onboarding/exemples.md)
+Accédez aux supports visuels, tutoriels vidéo et scripts de test : [onboarding/supports_visuels.md](onboarding/supports_visuels.md)
+Intégrez OpenClaw en local (VM sandboxée) : [onboarding/guide_vm_sandbox.md](onboarding/guide_vm_sandbox.md)
+
+
diff --git a/openclaw/local_setup/README_VM_SANDBOX.md b/openclaw/local_setup/README_VM_SANDBOX.md
index 41494f8..5f4d06b 100644
--- a/openclaw/local_setup/README_VM_SANDBOX.md
+++ b/openclaw/local_setup/README_VM_SANDBOX.md
@@ -46,4 +46,6 @@ Automatiser lâinstallation, la sĂ©curisation et la validation dâOpenClaw dan
- Installer curl, git, nodejs, npm, build-essential dans la VM (via install_packages.sh)
- Puis enchaĂźner sur le scan des secrets/tokens/code source
-Pour continuer, souhaitez-vous lancer lâinstallation des paquets dans la VM (via scp/ssh) ou simuler lâexĂ©cutionâŻ?
\ No newline at end of file
+Pour continuer, souhaitez-vous lancer lâinstallation des paquets dans la VM (via scp/ssh) ou simuler lâexĂ©cutionâŻ?
+
+
diff --git a/openclaw/local_setup/README_VM_SANDBOX_FR.md b/openclaw/local_setup/README_VM_SANDBOX_FR.md
new file mode 100644
index 0000000..5f4d06b
--- /dev/null
+++ b/openclaw/local_setup/README_VM_SANDBOX_FR.md
@@ -0,0 +1,51 @@
+# SynthÚse : Intégration locale OpenClaw en VM sandboxée
+
+## Objectif
+Automatiser lâinstallation, la sĂ©curisation et la validation dâOpenClaw dans une VM Ubuntu Minimal, sans risque pour le dĂ©pĂŽt principal.
+
+## Ătapes automatisĂ©es
+
+1. **Préparation VM**
+ - Installation VirtualBox/QEMU/LXD
+ - Téléchargement image Ubuntu Server 24.04 LTS Minimal
+ - Création VM (2 Go RAM, 10-20 Go disque, sans interface graphique)
+
+2. **Installation systĂšme**
+ - Installation manuelle dâUbuntu Minimal (console VM)
+ - Mise Ă jour systĂšme
+ - Installation paquets requis : `install_packages.sh`
+
+3. **Sécurité & conformité**
+ - Scan secrets/tokens/code source : `scan_secrets.sh`
+ - Vérification montages : `check_mounts.sh`
+ - Politique observer-only : `check_observer_only.sh`
+
+4. **Installation OpenClaw**
+ - Installation via curl : `curl -fsSL https://openclaw.ai/install.sh | bash`
+ - Vérification binaire : `check_openclaw.sh`
+ - Tests doctor/help : `openclaw_check.sh`
+
+5. **Onboarding & simulation**
+ - Simulation onboarding : `onboarding_simulation.sh` (lance tous les guides/tests)
+
+6. **Destruction VM & traçabilité**
+ - Destruction/réinitialisation : `destroy_vm.sh`
+ - Documentation : compléter `onboarding/vm_test_report.md`
+
+## Scripts Ă utiliser
+- Tous les scripts sont dans `openclaw/local_setup/`
+- Instructions centralisées dans `install_vm_openclaw.sh`
+
+## Validation
+- Suivre le script principal, transférer les scripts dans la VM, exécuter chaque étape.
+- Compléter le rapport de test.
+
+---
+
+## Prochaine étape todo
+- Installer curl, git, nodejs, npm, build-essential dans la VM (via install_packages.sh)
+- Puis enchaĂźner sur le scan des secrets/tokens/code source
+
+Pour continuer, souhaitez-vous lancer lâinstallation des paquets dans la VM (via scp/ssh) ou simuler lâexĂ©cutionâŻ?
+
+
diff --git a/openclaw/onboarding/README.md b/openclaw/onboarding/README.md
index 54a0e61..47d4d6d 100644
--- a/openclaw/onboarding/README.md
+++ b/openclaw/onboarding/README.md
@@ -1,21 +1,23 @@
-# Onboarding contributeur OpenClaw
+# OpenClaw Contributor Onboarding
-BienvenueâŻ! Pour intĂ©grer OpenClaw dans un projet Kill_LIFE ou contribuerâŻ:
+Welcome! To integrate OpenClaw into a Kill_LIFE project or contribute:
-## Encart onboarding
-- Lisez le README openclaw/ et la section "Workflows & Sécurité OpenClaw".
-- Vérifiez que votre environnement est sandboxé (pas d'accÚs aux secrets/code source).
-- Utilisez les labels `ai:*` pour toutes actions.
-- Publiez uniquement des commentaires sanitisés.
-- Ne modifiez jamais les workflows `.github/workflows/` sans validation humaine.
-- Consultez la FAQ et les guides sécurité.
+## Onboarding Box
+- Read the openclaw/ README and the "OpenClaw Workflows & Security" section.
+- Verify that your environment is sandboxed (no access to secrets/source code).
+- Use `ai:*` labels for all actions.
+- Publish only sanitized comments.
+- Never modify `.github/workflows/` workflows without human validation.
+- Check the FAQ and security guides.
-## Checklist contributeur
-- [ ] Sandbox activée, aucun accÚs aux secrets/code source
-- [ ] Actions limitées à labels/commentaires sanitisés
-- [ ] Respect du scope guard et des conventions
-- [ ] Evidence pack fourni pour toute contribution
-- [ ] Documentation mise Ă jour
-- [ ] Validation humaine pour toute modification sensible
+## Contributor Checklist
+- [ ] Sandbox enabled, no access to secrets/source code
+- [ ] Actions limited to sanitized labels/comments
+- [ ] Compliance with scope guard and conventions
+- [ ] Evidence pack provided for any contribution
+- [ ] Documentation updated
+- [ ] Human validation for any sensitive modification
-Pour toute question ou problĂšme, ouvrez une issue ou contactez lâĂ©quipe.
+For any question or issue, open an issue or contact the team.
+
+
diff --git a/openclaw/onboarding/README_FR.md b/openclaw/onboarding/README_FR.md
new file mode 100644
index 0000000..145fdc8
--- /dev/null
+++ b/openclaw/onboarding/README_FR.md
@@ -0,0 +1,23 @@
+# Onboarding contributeur OpenClaw
+
+BienvenueâŻ! Pour intĂ©grer OpenClaw dans un projet Kill_LIFE ou contribuerâŻ:
+
+## Encart onboarding
+- Lisez le README openclaw/ et la section "Workflows & Sécurité OpenClaw".
+- Vérifiez que votre environnement est sandboxé (pas d'accÚs aux secrets/code source).
+- Utilisez les labels `ai:*` pour toutes actions.
+- Publiez uniquement des commentaires sanitisés.
+- Ne modifiez jamais les workflows `.github/workflows/` sans validation humaine.
+- Consultez la FAQ et les guides sécurité.
+
+## Checklist contributeur
+- [ ] Sandbox activée, aucun accÚs aux secrets/code source
+- [ ] Actions limitées à labels/commentaires sanitisés
+- [ ] Respect du scope guard et des conventions
+- [ ] Evidence pack fourni pour toute contribution
+- [ ] Documentation mise Ă jour
+- [ ] Validation humaine pour toute modification sensible
+
+Pour toute question ou problĂšme, ouvrez une issue ou contactez lâĂ©quipe.
+
+
diff --git a/specs/README.md b/specs/README.md
index 9e98b54..89fafdf 100644
--- a/specs/README.md
+++ b/specs/README.md
@@ -82,3 +82,5 @@ flowchart LR
- `tools/cockpit/refonte_tui.sh`
- `tools/cockpit/log_ops.sh`
- `docs/AI_WORKFLOWS.md`
+
+
diff --git a/specs/README_FR.md b/specs/README_FR.md
new file mode 100644
index 0000000..89fafdf
--- /dev/null
+++ b/specs/README_FR.md
@@ -0,0 +1,86 @@
+# Specs (Spec-driven)
+
+Le dossier `specs/` est la source de vérité de la méthode Kill_LIFE. Il décrit la chaßne canonique `brief -> spec -> architecture -> plan -> tasks`, puis rattache chaque lot à un owner explicite et à une preuve exploitable par le cockpit, les plans et les extensions VS Code.
+
+ChaĂźne canonique:
+
+1. `00_intake.md` â idĂ©e brute + pĂ©rimĂštre
+2. `01_spec.md` â besoin, critĂšres dâacceptation
+3. `02_arch.md` â architecture + ADR
+4. `03_plan.md` â plan de rĂ©alisation
+5. `04_tasks.md` â backlog opĂ©rationnel
+
+Contraintes non-fonctionnelles:
+
+- `specs/constraints.yaml` (source de vérité)
+
+## Contrat de lot canonique
+
+Tout lot nouveau ou restructuré doit exposer les champs suivants dans sa documentation, ses TODOs ou ses preuves dérivées:
+
+- `owner_repo`
+- `owner_agent`
+- `owner_subagent`
+- `write_set`
+- `status`
+- `evidence`
+
+Ce contrat est la charniĂšre entre `Kill_LIFE`, `ai-agentic-embedded-base`, le cockpit shell/TUI et le trio d'extensions `kill-life-studio`, `kill-life-mesh`, `kill-life-operator`.
+
+```mermaid
+flowchart LR
+ Intake[00_intake.md] --> Spec[01_spec.md]
+ Spec --> Arch[02_arch.md]
+ Arch --> Plan[03_plan.md]
+ Plan --> Tasks[04_tasks.md]
+ Plan --> Cockpit[docs/plans/18_plan_enchainement_autonome_des_lots_utiles.md]
+ Tasks --> Mirror[tools/specs/sync_spec_mirror.sh]
+ Mirror --> Validate[tools/validate_specs.py]
+ Validate --> TUI[tools/cockpit/refonte_tui.sh]
+ TUI --> AI[docs/AI_WORKFLOWS.md]
+```
+
+## Specs de référence supplémentaires
+
+- `github_mcp_conversion_spec.md`
+- `cad_modeling_tasks.md`
+- `kicad_mcp_scope_spec.md`
+- `mcp_agentics_target_backlog.md`
+- `mcp_tasks.md`
+- `knowledge_base_mcp_spec.md`
+- `zeroclaw_dual_hw_orchestration_spec.md`
+- `zeroclaw_dual_hw_todo.md`
+
+## Exécutions utiles
+
+- Synchroniser les specs exportées:
+ - `bash tools/specs/sync_spec_mirror.sh all --yes`
+- Vérifier le miroir:
+ - `bash tools/specs/sync_spec_mirror.sh check`
+- Lancer la chaĂźne dâexĂ©cution:
+ - `bash tools/cockpit/lot_chain.sh all --yes`
+ - `bash tools/run_autonomous_next_lots.sh status`
+ - `bash tools/run_autonomous_next_lots.sh run`
+- Valider la cohérence:
+ - `bash tools/validate_specs.py --strict --require-mirror-sync`
+
+## Politique canonique vs miroir
+
+- `Kill_LIFE/specs/` reste la source de vérité; toute modification part de ce dossier.
+- `ai-agentic-embedded-base/specs/` reste un miroir exporté; on ne l'édite pas directement, on le synchronise via `bash tools/specs/sync_spec_mirror.sh all --yes`.
+- Les surfaces `docs/`, `tools/`, `artifacts/` et `firmware/` restent canoniques dans `Kill_LIFE` sauf lot explicite contraire.
+- La fermeture d'un lot spec-first passe par deux commandes: `bash tools/specs/sync_spec_mirror.sh all --yes` puis `python3 tools/validate_specs.py --strict --require-mirror-sync`.
+
+## Référentiels refonte à actualiser ensemble
+
+- `docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-21.md`
+- `docs/REFACTOR_MANIFEST_2026-03-20.md`
+- `docs/WEB_RESEARCH_OPEN_SOURCE_2026-03-20.md`
+- `docs/AGENT_SPEC_MODULE_MATRIX_2026-03-20.md`
+- `docs/plans/12_plan_gestion_des_agents.md`
+- `docs/plans/18_plan_enchainement_autonome_des_lots_utiles.md`
+- `tools/cockpit/refonte_tui.sh`
+- `tools/cockpit/log_ops.sh`
+- `docs/AI_WORKFLOWS.md`
+
+
diff --git a/standards/README.md b/standards/README.md
index 5ebb1ab..5cdb779 100644
--- a/standards/README.md
+++ b/standards/README.md
@@ -7,3 +7,5 @@ Objectif : ne plus ârĂ©-expliquerâ tes conventions Ă chaque prompt.
Usage recommandé :
- Les agents lisent **toujours** `standards/global/*` + le profil actif.
- Le profil actif est déclaré dans `specs/constraints.yaml` (ex: esp-first).
+
+
diff --git a/standards/README_FR.md b/standards/README_FR.md
new file mode 100644
index 0000000..5cdb779
--- /dev/null
+++ b/standards/README_FR.md
@@ -0,0 +1,11 @@
+# Standards (Agent OS style)
+
+Objectif : ne plus ârĂ©-expliquerâ tes conventions Ă chaque prompt.
+- `global/` : standards communs
+- `profiles/` : overrides selon le type de projet
+
+Usage recommandé :
+- Les agents lisent **toujours** `standards/global/*` + le profil actif.
+- Le profil actif est déclaré dans `specs/constraints.yaml` (ex: esp-first).
+
+
diff --git a/standards/profiles/esp-first/README.md b/standards/profiles/esp-first/README.md
index 652b46c..758a319 100644
--- a/standards/profiles/esp-first/README.md
+++ b/standards/profiles/esp-first/README.md
@@ -3,3 +3,5 @@
- UART debug obligatoire
- Conso : deep sleep pris en compte dÚs le départ
- Wi-Fi/BLE : désactivables via flags
+
+
diff --git a/standards/profiles/esp-first/README_FR.md b/standards/profiles/esp-first/README_FR.md
new file mode 100644
index 0000000..758a319
--- /dev/null
+++ b/standards/profiles/esp-first/README_FR.md
@@ -0,0 +1,7 @@
+# Profile: ESP-first
+
+- UART debug obligatoire
+- Conso : deep sleep pris en compte dÚs le départ
+- Wi-Fi/BLE : désactivables via flags
+
+
diff --git a/standards/profiles/stm32/README.md b/standards/profiles/stm32/README.md
index e5b0c72..c4a778f 100644
--- a/standards/profiles/stm32/README.md
+++ b/standards/profiles/stm32/README.md
@@ -3,3 +3,5 @@
- Dépendances minimales
- HAL isolé, couches drivers strictes
- Tests host/natif prioritaires
+
+
diff --git a/standards/profiles/stm32/README_FR.md b/standards/profiles/stm32/README_FR.md
new file mode 100644
index 0000000..c4a778f
--- /dev/null
+++ b/standards/profiles/stm32/README_FR.md
@@ -0,0 +1,7 @@
+# Profile: STM32 industriel
+
+- Dépendances minimales
+- HAL isolé, couches drivers strictes
+- Tests host/natif prioritaires
+
+
diff --git a/tools/ai/integrations/README.md b/tools/ai/integrations/README.md
index 90a65e7..79db782 100644
--- a/tools/ai/integrations/README.md
+++ b/tools/ai/integrations/README.md
@@ -32,3 +32,5 @@ Available runbooks:
- [`n8n/README.md`](n8n/README.md)
- [`langgraph/README.md`](langgraph/README.md)
- [`autogen/README.md`](autogen/README.md)
+
+
diff --git a/tools/ai/integrations/README_FR.md b/tools/ai/integrations/README_FR.md
new file mode 100644
index 0000000..79db782
--- /dev/null
+++ b/tools/ai/integrations/README_FR.md
@@ -0,0 +1,36 @@
+# ZeroClaw Integrations
+
+ZeroClaw remains in scope as the local operator stack for Kill_LIFE.
+
+This directory is synced by `tools/ai/zeroclaw_stack_up.sh` into
+`artifacts/zeroclaw/integrations/`, then served by the follow UI.
+
+Current integration posture:
+
+- `ZeroClaw`: kept as the local operator stack entrypoint.
+- `n8n`: kept as an external automation bridge and workflow handoff surface.
+- `LangGraph`: kept as an optional orchestration pattern, not the default runtime.
+- `AutoGen`: kept as an optional multi-agent experimentation path.
+
+These integrations are intentionally documented as operator runbooks. They are
+not required for the canonical repo-local stable path.
+
+Operator posture:
+
+- `ZeroClaw` runtime is started on demand via `tools/ai/zeroclaw_stack_up.sh`.
+- `zeroclaw.saillant.cc` is the live runtime surface when the native stack is up.
+- `zeroclaw-docs.saillant.cc` serves the ZeroClaw runbooks behind the
+ authenticated `edge-proxy`.
+- `langgraph.saillant.cc` serves the LangGraph runbook behind the authenticated
+ `edge-proxy`.
+- When the local `ZeroClaw` runtime is stopped, `zeroclaw.saillant.cc` should
+ present an operator-friendly offline page instead of raw proxy errors.
+
+Available runbooks:
+
+- [`zeroclaw/README.md`](zeroclaw/README.md)
+- [`n8n/README.md`](n8n/README.md)
+- [`langgraph/README.md`](langgraph/README.md)
+- [`autogen/README.md`](autogen/README.md)
+
+
diff --git a/tools/ai/integrations/autogen/README.md b/tools/ai/integrations/autogen/README.md
index 36167d9..040235f 100644
--- a/tools/ai/integrations/autogen/README.md
+++ b/tools/ai/integrations/autogen/README.md
@@ -17,3 +17,5 @@ Current posture:
If revived as code, keep it isolated from the stable repo-local CI path and
document the trigger conditions explicitly.
+
+
diff --git a/tools/ai/integrations/autogen/README_FR.md b/tools/ai/integrations/autogen/README_FR.md
new file mode 100644
index 0000000..040235f
--- /dev/null
+++ b/tools/ai/integrations/autogen/README_FR.md
@@ -0,0 +1,21 @@
+# AutoGen Runbook
+
+`AutoGen` stays available as an optional multi-agent experimentation path
+alongside `ZeroClaw`.
+
+Use it when you want:
+
+- ad hoc multi-agent roleplay or decomposition
+- experimentation outside the canonical repo workflow path
+- quick prototypes before turning a flow into a tracked workflow or MCP tool
+
+Current posture:
+
+- retained as a documented integration
+- not part of the canonical stable gate
+- should remain outside critical firmware/CAD/release paths by default
+
+If revived as code, keep it isolated from the stable repo-local CI path and
+document the trigger conditions explicitly.
+
+
diff --git a/tools/ai/integrations/langgraph/README.md b/tools/ai/integrations/langgraph/README.md
index a398e15..ac9668f 100644
--- a/tools/ai/integrations/langgraph/README.md
+++ b/tools/ai/integrations/langgraph/README.md
@@ -24,3 +24,5 @@ Recommended role split:
If this path is reactivated, add the concrete graph app or runner as tracked
artifacts in `tools/ai/` or a dedicated submodule, then link it from here.
+
+
diff --git a/tools/ai/integrations/langgraph/README_FR.md b/tools/ai/integrations/langgraph/README_FR.md
new file mode 100644
index 0000000..ac9668f
--- /dev/null
+++ b/tools/ai/integrations/langgraph/README_FR.md
@@ -0,0 +1,28 @@
+# LangGraph Runbook
+
+`LangGraph` stays in scope as an optional orchestration layer around
+`ZeroClaw`.
+
+Use it when you want:
+
+- explicit graph-shaped control flow
+- checkpointed or resumable orchestration
+- a graph runtime separated from the canonical repo workflows
+
+Current posture in Kill_LIFE:
+
+- `ZeroClaw` remains the local operator stack.
+- `LangGraph` is retained as an integration pattern, not as the default
+ runtime path.
+- No `LangGraph` service is wired into the main `mascarade` stack by default.
+
+Recommended role split:
+
+- `ZeroClaw`: local gateway, operator UX, prompts, pairing, follow UI
+- `LangGraph`: optional orchestration graph for complex flows
+- repo workflows / evidence: canonical tracked outputs
+
+If this path is reactivated, add the concrete graph app or runner as tracked
+artifacts in `tools/ai/` or a dedicated submodule, then link it from here.
+
+
diff --git a/tools/ai/integrations/n8n/README.md b/tools/ai/integrations/n8n/README.md
index e8c82fb..5dd050e 100644
--- a/tools/ai/integrations/n8n/README.md
+++ b/tools/ai/integrations/n8n/README.md
@@ -46,3 +46,5 @@ Historical workflow names:
- `zeroclaw_orchestrator_workflow`
- `zeroclaw_pr_autotriage_workflow`
+
+
diff --git a/tools/ai/integrations/n8n/README_FR.md b/tools/ai/integrations/n8n/README_FR.md
new file mode 100644
index 0000000..5dd050e
--- /dev/null
+++ b/tools/ai/integrations/n8n/README_FR.md
@@ -0,0 +1,50 @@
+# n8n Runbook
+
+`n8n` stays in scope as the low-code workflow bridge around ZeroClaw, not as
+the canonical source of truth for runtime state.
+
+Use it for:
+
+- operator-triggered chains around `zeroclaw` webhooks
+- import/export of automation flows
+- glue logic around notifications, reviews, or dispatch
+
+Current posture:
+
+- ZeroClaw exposes the runbook from `/integrations/n8n/README.md`.
+- The historical JSON workflow names are kept as references, but the canonical
+ runtime path is the ZeroClaw gateway plus repo workflows.
+- If you need concrete n8n workflow files again, regenerate them as explicit
+ tracked artifacts instead of relying on dead links.
+
+Current local validation commands:
+
+```bash
+bash tools/ai/zeroclaw_integrations_lot.sh verify
+bash tools/ai/zeroclaw_integrations_up.sh
+bash tools/ai/zeroclaw_integrations_status.sh --json
+bash tools/ai/zeroclaw_integrations_import_n8n.sh --json
+```
+
+Current runtime bootstrap:
+
+- `bash tools/ai/zeroclaw_integrations_up.sh` auto-provisions the local `mascarade-n8n` container if Docker is running but the container is still missing.
+- Official runtime basis: `docker.n8n.io/n8nio/n8n` on port `5678`, with a persistent volume per container name.
+- Readiness is validated through `http://127.0.0.1:5678/healthz` in addition to the editor root URL, because first boot and editor startup can lag behind the health endpoint.
+- Workflow activation path: reuse the tracked workflow when it is already active, otherwise prefer `n8n publish:workflow --id=` after import, with legacy fallback `n8n update:workflow --id= --active=true`.
+- Activation proof now checks `n8n list:workflow --active=true --onlyId`, so `active=true` is no longer assumed.
+- Runtime scripts fail fast on local Docker CLI timeouts and report a blocker instead of hanging indefinitely.
+- If the local DB already contains the tracked workflow with the exact stored nodes/connections and `active=true`, the import script now skips the CLI path and returns success immediately.
+- Recovery note: if local SQLite state is corrupted or still contains an obsolete workflow revision, preserve the volume backup and reset only the n8n DB files before reprovisioning the container.
+
+Tracked smoke artifact:
+
+- `tools/ai/integrations/n8n/kill_life_smoke_workflow.json`
+ - current trigger: yearly `Schedule Trigger`, so the workflow stays activable without creating noisy frequent runs
+
+Historical workflow names:
+
+- `zeroclaw_orchestrator_workflow`
+- `zeroclaw_pr_autotriage_workflow`
+
+
diff --git a/tools/aperant b/tools/aperant
index 76fdbad..cba7a02 160000
--- a/tools/aperant
+++ b/tools/aperant
@@ -1 +1 @@
-Subproject commit 76fdbade6f9996c37d0b1a138f0bc8fd724db5a6
+Subproject commit cba7a0270ec794a14ac71615bc6c48085807ede6
diff --git a/tools/cockpit/README.md b/tools/cockpit/README.md
index dda172a..2d7d8a6 100644
--- a/tools/cockpit/README.md
+++ b/tools/cockpit/README.md
@@ -354,3 +354,5 @@ Contrat JSON commun `cockpit-v1`:
- distinction retenue:
- audit statique = cohérence source des surfaces
- handoff runtime léger = disponibilité réelle du point de reprise canonique
+
+
diff --git a/tools/cockpit/README_FR.md b/tools/cockpit/README_FR.md
new file mode 100644
index 0000000..2d7d8a6
--- /dev/null
+++ b/tools/cockpit/README_FR.md
@@ -0,0 +1,358 @@
+# Cockpit
+
+Entrée outillage/TUI canonique pour piloter `Kill_LIFE` en local.
+
+## Entrées recommandées
+
+- `bash tools/cockpit/yiacad_operator_index.sh --action status` : point d'entrée opérateur public
+- `bash tools/cockpit/intelligence_tui.sh --action status --json` : point d'entrée gouvernance intelligence/agents/MCP/IA
+- `bash tools/cockpit/runtime_ai_gateway.sh --action status --refresh --json` : synthÚse canonique runtime/MCP/IA, avec surface auxiliaire `firmware_cad`, à partir de la mémoire intelligence, du mesh, de Mascarade et des preuves firmware/CAD
+- `bash tools/cockpit/refonte_tui.sh --action status` : raccourcis historiques et lots de refonte
+- `bash tools/cockpit/full_operator_lane.sh status --json` : lane opérateur consolidée
+- `bash tools/cockpit/run_alignment_daily.sh --json` : routine quotidienne santé + preuves
+
+Les sorties JSON cockpit convergent vers le contrat `cockpit-v1`: `contract_version`, `component`, `action`, `status`, `contract_status`, `artifacts`, `degraded_reasons`, `next_steps`.
+
+## Surfaces principales
+
+- `menu` : menu simple
+- `gate_s0` : check âspec readyâ
+- `fw` : build/test firmware
+- `hw` : gates hardware (ERC/netlist/BOM)
+- `mesh_sync_preflight.sh` : snapshot tri-repo (`Kill_LIFE`, `mascarade`, `crazy_life`) local + SSH, statut `ready|degraded|blocked`
+- `mesh_health_check.sh` : rapprochement consolidé `mesh_sync_preflight` + `readme_repo_coherence` + `log_ops` (avec `mesh_host_order`).
+- `log_ops.sh` : synthÚse JSON, purge contrÎlée et inventaire des artefacts de logs.
+- `lots-status` : état des lots locaux utiles + prochaine vraie question + resynchronisation de `docs/plans/18_*`
+- `lots-run` : enchaĂźne les lots auto-fix, la lane `autonomous_next_lots`, les validations, puis met Ă jour le suivi.
+- `run_next_lots_autonomously.sh` : enchaßne automatiquement tous les lots utiles détectés, un à un.
+- `runtime_ai_gateway.sh` : agrÚge la mémoire `intelligence_tui`, le mesh health et le runtime Mascarade/Ollama en un statut unique `ready|degraded|blocked`, expose une surface auxiliaire `firmware_cad`, publie `firmware_cad_summary_short_latest.json`, et dégrade vite le mode `--refresh` si une probe dépasse son timeout.
+- `bash tools/ai/zeroclaw_integrations_lot.sh verify` : validate ZeroClaw/n8n + smoke workflow.
+- `bash tools/ai/zeroclaw_integrations_lot.sh verify` remonte désormais un échec si le runtime n8n reste `degraded` ou `blocked`.
+- `ssh_healthcheck.sh` : check en lot de connectivite SSH sur les machines operateurs.
+- `mascarade_runtime_health.sh` : health-check live Mascarade/Ollama, smoke agent low-cost, artefacts JSON `latest.*`.
+- `mascarade_logs_tui.sh` : lecture, analyse, inventaire et purge contrÎlée des artefacts Mascarade/Ollama.
+- `mascarade_incidents_tui.sh` : vue TUI dédiée des incidents Mascarade/Ollama (`summary|watch|brief|registry|queue|daily`).
+- `render_mascarade_incident_brief.sh` : export Markdown court des incidents/runtime Mascarade/Ollama pour la revue opérateur.
+- `mascarade_incident_registry.sh` : registre Markdown/JSON horodaté des incidents Mascarade/Ollama à partir des artefacts cockpit/opérateur.
+- `render_mascarade_incident_queue.sh` : file dâincidents Markdown/JSON triĂ©e par prioritĂ©, sĂ©vĂ©ritĂ© puis rĂ©cence pour la revue opĂ©rateur.
+- `render_mascarade_incident_watch.sh` : watchboard Markdown/JSON ultra-court avec rollup priorité/sévérité, top queue et prochaines actions.
+- `render_mascarade_watch_history.sh` : historique Markdown/JSON des watchboards pour suivre lâĂ©volution des `P1/P2/P3` et `high/medium/low` sur plusieurs runs.
+- `render_daily_operator_summary.sh` : synthĂšse quotidienne Markdown/JSON pour lâopĂ©rateur Ă partir du daily log, du brief, du registre et de la queue.
+- `full_operator_lane.sh` : runbook TUI `status|dry-run|live|all|logs|purge` pour la lane operateur.
+- `bash tools/cockpit/full_operator_lane.sh logs --json --logs-action summary|latest|list|purge` : surface native lane operateur pour piloter les logs Mascarade/Ollama.
+- `full_operator_lane_sync.sh` : propagation conservative du patchset operateur vers les lanes mesh, avec option `--mode clems-live`.
+- `yiacad-fusion` : préparation et smoke de la couche IA-native CAD (KiCad + FreeCAD) avec logs dédiés.
+- `intelligence_tui.sh` : index TUI de la gouvernance intelligence (audit, spec, plan, TODO, research, owners, memory, next-actions, logs) couvrant le lot 22 et le plan 23 `web/`.
+- `bash tools/cockpit/intelligence_tui.sh --action scorecard --json` : score de fragmentation documentaire, maturite par lane et artefacts `scorecard_latest.*`.
+- `bash tools/cockpit/intelligence_tui.sh --action comparison --json` : comparaison inter-repos entre `Kill_LIFE`, `ai-agentic-embedded-base`, `kill-life-studio`, `kill-life-mesh` et `kill-life-operator`.
+- `bash tools/cockpit/intelligence_tui.sh --action recommendations --json` : file de recommandations IA priorisee issue de l'audit et de la veille OSS.
+- `intelligence_program_tui.sh` : alias de compatibilité vers `intelligence_tui.sh` pour les anciens runbooks.
+- `lot_chain.sh` rafraĂźchit `intelligence_tui --action memory --json` avant dâĂ©crire son statut et ses prochains choix manuels.
+- `bash tools/cockpit/refonte_tui.sh --action yiacad-fusion[:prepare|smoke|status|logs|clean-logs]` : exécute le lot YiACAD (préparation, vérification, statut, logs, purge).
+- `bash tools/cockpit/refonte_tui.sh --action intelligence|intelligence:plan|intelligence:todo|intelligence:research` : pont de compatibilité depuis la TUI refonte.
+- `bash tools/cockpit/intelligence_tui.sh --action memory --json` : écrit `artifacts/cockpit/intelligence_program/latest.json` et `latest.md` pour la continuité opérateur.
+- `bash tools/cockpit/intelligence_tui.sh --action scorecard|comparison|recommendations --json` : met aussi Ă jour les artefacts `scorecard_latest.*`, `repo_comparison_latest.*` et `recommendation_queue_latest.*`.
+- `bash tools/cockpit/intelligence_tui.sh --action next-actions` : derive les prochaines actions prioritaires depuis `TODO 22`, `TODO 23`, puis `specs/04_tasks.md`.
+- `bash tools/cockpit/runtime_ai_gateway.sh --action status --refresh --json` : met à jour et lit la passerelle consolidée runtime/MCP/IA.
+- `bash tools/cad/install_yiacad_native_gui.sh install` : installe le plugin KiCad et le workbench FreeCAD de YiACAD.
+- `weekly-summary` : synthÚse hebdomadaire opératoire pour lots, logs et état machine.
+- `bash tools/cockpit/refonte_tui.sh --action weekly-summary` : génÚre `artifacts/cockpit/weekly_refonte_summary.md`.
+- Journaux YiACAD: `artifacts/cad-fusion/`.
+- `bash tools/cockpit/yiacad_uiux_tui.sh --action logs-summary|logs-list|logs-latest|purge-logs` : lecture/analyse/purge des logs UI/UX.
+- `bash tools/cockpit/yiacad_uiux_tui.sh --action program-audit|next-spec|next-feature-map` : audit global YiACAD, spec du lot suivant et feature map Mermaid.
+- `bash tools/cockpit/yiacad_refonte_tui.sh --action status|backend-architecture|audit|ai-assessment|feature-map|spec|plan|todo|research|logs-summary|logs-list|logs-latest|purge-logs` : bundle global YiACAD (audit, backend, IA, plan, TODO, veille, logs).
+- `bash tools/cockpit/yiacad_operator_index.sh --action incident-watch|incident-history` : raccourcis opérateur trÚs courts vers le watchboard Mascarade et son historique.
+- `bash tools/cockpit/machine_registry.sh --action summary|list|show --json` : registre canonique machines/capacités/placements.
+- `mesh_sync_preflight.sh` consomme le registre canonique pour les rÎles, ports, priorités de charge, placements et cible de réserve.
+- `refonte_tui.sh --action mesh-preflight` : exécution TUI du préflight mesh.
+- `refonte_tui.sh --action mesh-preflight --mesh-load-profile photon-safe` : mĂȘme prĂ©flight en mode allĂšgement CILS.
+- `refonte_tui.sh --action ssh-health` : exécution TUI du health-check SSH.
+- `refonte_tui.sh --action mascarade-health` : exécution TUI du health-check Mascarade/Ollama.
+- `refonte_tui.sh --action mascarade-logs` : raccourci TUI vers `full_operator_lane.sh logs --logs-action summary`.
+- `refonte_tui.sh --action mascarade-logs-summary|mascarade-logs-latest|mascarade-logs-list|mascarade-logs-purge` : raccourcis TUI directs vers la surface logs native opérateur.
+- `refonte_tui.sh --action mascarade-incidents|mascarade-incidents-watch|mascarade-incidents-brief|mascarade-incidents-registry|mascarade-incidents-queue|mascarade-incidents-daily` : vues TUI directes pour le watchboard, le brief, le registre, la queue et la synthĂšse quotidienne Mascarade.
+- `refonte_tui.sh --action log-ops` : résumé centralisée logs avec JSON.
+- `refonte_tui.sh --action logs` : affichage + analyse courte des logs récents.
+- `refonte_tui.sh --action weekly-summary` : synthĂšse markdown prĂȘte pour revue dâagent / opĂ©rateur.
+- `refonte_tui.sh --action clean-logs --days 14 --yes-auto` : purge ciblée de logs plus anciens en mode non interactif
+- `mesh_sync_preflight.sh` : vérification convergence tri-repo (commande canonique)
+
+Note:
+- `lots-run` peut sortir avec le code `3` quand la chaßne est saine mais qu'un vrai choix opérateur reste nécessaire.
+- Tous les outputs â `artifacts/`.
+
+## 1) Health-check SSH (script de routine)
+
+- Script: `bash tools/cockpit/ssh_healthcheck.sh --json`
+- Cibles standard (priorité P2P):
+
+| Machine | Port | Priorité | RÎle |
+| --- | --- | --- | --- |
+| `clems@192.168.0.120` | 22 | 1 | Machine de pilotage / orchestration locale |
+| `kxkm@kxkm-ai` | 22 | 2 | Mac opérateur |
+| `cils@100.126.225.111` | 22 | 3 | Mac opérateur secondaire (photon, non essentiel) |
+| `root@192.168.0.119` | 22 | 4 | Serveur systÚme / exécution matérielle (réserve) |
+
+- Référence de preuve: `artifacts/cockpit/ssh_healthcheck__.log`
+- Politique P2P de charge (réseau 4 cibles): priorité `Tower -> KXKM -> CILS -> local -> root`,
+ chargement dynamique par score `load_ratio = loadavg / CPUs` + priorité statique.
+ `cils` est verrouillé en `tower-first`: seuls les snapshots critiques `Kill_LIFE` sont lancés par défaut.
+ mode `photon-safe` force `cils` en "no load": tout précheck applicatif distant CILS est ignoré (`cils-lockdown-photon-safe`).
+ Les hÎtes non critiques surchargés (`load_ratio > 1.8`) sont marqués en `degraded` sur cette passe.
+ Les sorties SSH inattendues / non conformes ne cassent plus la passe: elles sont marquées `unreachable` ou `degraded` et restent dans le journal JSON.
+ Priorité opérationnelle: `Tower` (`clems`) -> `KXKM` -> `CILS` (quota contrÎlé) -> `local` -> `root` (réserve).
+
+ - `bash tools/cockpit/mesh_sync_preflight.sh --load-profile tower-first`
+ - `bash tools/cockpit/mesh_sync_preflight.sh --load-profile photon-safe`
+ - `bash tools/cockpit/mesh_sync_preflight.sh --photon-safe`
+
+## 2) Routine quotidienne recommandée (runbook)
+
+1. health-check SSH ciblé
+2. health-check Mascarade/Ollama live
+3. refresh header repo (refresh docs d'état)
+4. lecture + purge de logs via `tools/cockpit/log_ops.sh`
+5. préflight mesh avec stratégie de charge (tower-first par défaut)
+
+Exemple:
+
+```bash
+bash tools/cockpit/ssh_healthcheck.sh --json
+bash tools/cockpit/mascarade_runtime_health.sh --json
+bash tools/repo_state/repo_refresh.sh --header-only
+bash tools/cockpit/log_ops.sh --action summary --json
+bash tools/cockpit/mesh_health_check.sh --json
+```
+Consolidé journalier:
+
+```bash
+bash tools/cockpit/run_alignment_daily.sh --json --mesh-load-profile tower-first
+bash tools/cockpit/log_ops.sh --action summary --json
+bash tools/cockpit/render_weekly_refonte_summary.sh
+```
+Forcer le mode photon-safe:
+
+```bash
+bash tools/cockpit/run_alignment_daily.sh --json --skip-healthcheck --mesh-load-profile photon-safe --skip-log-ops
+```
+
+Si lâhĂŽte est saturĂ©, le preflight mesh peut ĂȘtre dĂ©sactivĂ© au passage:
+
+```bash
+bash tools/cockpit/run_alignment_daily.sh --json --skip-mesh --skip-healthcheck
+```
+
+Purge contrÎlée:
+
+```bash
+bash tools/cockpit/log_ops.sh --action purge --apply --retention-days 14
+```
+
+`run_alignment_daily` expose maintenant un résumé JSON dédié `mascarade_health_status`, `mascarade_runtime_status`, `mascarade_provider`, `mascarade_model`, `mascarade_health_artifact`, `log_ops_summary_status`, `log_ops_stale`, `log_ops_purge_status` et `log_ops_purged`, et propose la purge de logs en contrÎle de routine.
+
+`run_alignment_daily` capture aussi désormais `mascarade_logs_status`, `mascarade_logs_artifact`, `mascarade_brief_status`, `mascarade_brief_artifact` et `mascarade_brief_markdown`, afin que `machine_alignment_daily_latest.log` embarque un snapshot logs/runtime Mascarade/Ollama et un brief opérateur court.
+
+`run_alignment_daily` exporte aussi désormais `mascarade_registry_status`, `mascarade_registry_artifact`, `mascarade_registry_markdown`, `mascarade_queue_status`, `mascarade_queue_artifact`, `mascarade_queue_markdown`, `daily_operator_summary_status`, `daily_operator_summary_artifact` et `daily_operator_summary_markdown`.
+
+`run_alignment_daily` exporte aussi désormais `mascarade_watch_status`, `mascarade_watch_artifact` et `mascarade_watch_markdown` pour fournir un artefact de garde plus court que la synthÚse quotidienne complÚte.
+
+`run_alignment_daily` exporte aussi dĂ©sormais `mascarade_watch_history_status`, `mascarade_watch_history_artifact` et `mascarade_watch_history_markdown` pour garder une trace courte de lâĂ©volution des prioritĂ©s sur plusieurs runs.
+
+`run_alignment_daily` recalcule maintenant son `result` et son `contract_status` aprÚs la génération de la synthÚse opérateur quotidienne, afin que le statut final reflÚte aussi un échec ou une dégradation sur `daily_operator_summary`.
+
+`render_daily_operator_summary.sh` et `render_weekly_refonte_summary.sh` intĂšgrent dĂ©sormais aussi la `mascarade incident queue`, afin que la priorisation opĂ©ratoire apparaisse dans lâhandoff quotidien comme dans la synthĂšse hebdomadaire.
+
+`render_daily_operator_summary.sh` affiche aussi un rollup ultra-court `priority P1/P2/P3` et `severity high/medium/low` pour accélérer la lecture opérateur.
+
+`render_mascarade_watch_history.sh` fournit dĂ©sormais un mini registre temporel des watchboards pour suivre lâĂ©volution des incidents courts sans relire chaque artefact daily.
+
+`full_operator_lane.sh` capture aussi automatiquement un snapshot `logs --logs-action latest` aprĂšs `dry-run|live|all`, afin de conserver lâĂ©tat Mascarade/Ollama le plus rĂ©cent dans les artefacts opĂ©rateur.
+
+`full_operator_lane.sh` embarque dĂ©sormais aussi la file dâincidents Mascarade (`mascarade_queue_*`), le watchboard court (`mascarade_watch_*`) et la synthĂšse opĂ©rateur quotidienne (`daily_operator_summary_*`) dans son contrat JSON natif.
+
+`full_operator_lane.sh --json` expose aussi désormais `priority_counts` et `severity_counts` au niveau top-level pour une lecture immédiate cÎté opérateur ou automation.
+
+`render_weekly_refonte_summary.sh` rafraßchit désormais aussi le brief, le registre, la queue, le watchboard incident et son historique Mascarade/Ollama avant de générer la synthÚse hebdomadaire.
+
+Contrat JSON commun `cockpit-v1`:
+
+- champs communs introduits sur les sorties JSON cockpit/TUI ciblées: `contract_version`, `component`, `action`, `status`, `contract_status`, `artifacts`, `degraded_reasons`, `next_steps`
+- helper partagé: `tools/cockpit/json_contract.sh`
+- `mesh_sync_preflight.sh --json` expose aussi `registry_file`, `registry_status` et des `host_profiles` enrichis (`id`, `placement`, `reserve_only`)
+- `run_alignment_daily.sh --json` expose aussi `mascarade_health_status`, `mascarade_runtime_status`, `mascarade_provider`, `mascarade_model` et `mascarade_health_artifact`
+
+## 3) Delta mesh tri-repo 2026-03-20
+
+- `mesh_sync_preflight.sh`: vérifie convergence multi-machines/multi-repos.
+- `log_ops.sh`: synthÚse et purge contrÎlée des logs avec sortie JSON exploitable.
+
+## Delta 2026-03-21 - entree operateur YiACAD
+
+- `bash tools/cockpit/yiacad_operator_index.sh --action status|uiux|global|backend|proofs|logs-summary|logs-list|logs-latest|purge-logs` : entree operateur stable entre la lane UI/UX, la lane globale et le backend service.
+- `backend-proof`, `review-session`, `review-history` et `review-taxonomy` restent compatibles mais pointent vers les routes canoniques.
+
+## Delta 2026-03-21 - backend service YiACAD
+
+- `bash tools/cockpit/yiacad_backend_service_tui.sh --action status|health|logs-summary|logs-list|logs-latest|purge-logs` : surface operatoire du backend service YiACAD.
+- Elle est la destination canonique de `backend` depuis l'index opérateur.
+
+## 2026-03-21 - Canonical operator entry
+- Entree publique recommandee: `bash tools/cockpit/yiacad_operator_index.sh --action status`.
+- Surface de preuves: `bash tools/cockpit/yiacad_proofs_tui.sh --action status`.
+- Surface de logs: `bash tools/cockpit/yiacad_logs_tui.sh --action status`.
+- Les routes directes historiques restent compatibles, mais ne sont plus l'entree publique recommandee.
+
+## Delta 2026-03-21 - Mascarade Tower / dispatch mesh
+
+- `tower` (`clems@192.168.0.120`) est maintenant normalise comme premiere cible lourde Mascarade/Ollama.
+- Runtime:
+ - `bash tools/ops/deploy_mascarade_tower_runtime.sh --action status --json`
+ - `bash tools/ops/deploy_mascarade_tower_runtime.sh --action apply --json`
+- Seed agents Tower:
+ - `bash tools/ops/sync_mascarade_agents_tower.sh --action plan --json`
+ - `bash tools/ops/sync_mascarade_agents_tower.sh --action sync --apply --json`
+- Dispatch mesh:
+ - `bash tools/cockpit/mascarade_dispatch_mesh.sh --action summary --json`
+ - `bash tools/cockpit/mascarade_dispatch_mesh.sh --action route --profile tower-code --json`
+ - `bash tools/cockpit/mascarade_dispatch_mesh.sh --action route --profile kxkm-analysis --json`
+- Politique P2P retenue:
+ - charges lourdes: `tower -> kxkm -> local -> cils -> root-reserve`
+ - texte interactif / docs: `kxkm -> tower -> local -> cils -> root-reserve`
+- Contrats:
+ - `specs/contracts/mascarade_model_profiles.tower.json`
+ - `specs/contracts/mascarade_dispatch.mesh.json`
+
+## Delta 2026-03-21 - contrat produit ops / Mascarade / kill_life
+
+- Contrat commun:
+ - `specs/contracts/ops_mascarade_kill_life.contract.json`
+- Doc de cadrage:
+ - `docs/OPS_MASCARADE_KILL_LIFE_PRODUCT_CONTRACT_2026-03-21.md`
+- Objectif:
+ - `ops` montre l'etat reel et declenche l'action
+ - `Mascarade` recommande avec `trust_level` et routing explicites
+ - `kill_life` persiste `resume_ref`, decision et handoff
+- Prochain lot recommande:
+ - projeter `status`, `decision`, `owner`, `artifacts`, `next_step`, `resume_ref`, `trust_level`, `routing` et `memory_entry` dans les sorties JSON cockpit prioritaires
+
+## Delta 2026-03-21 - projection contrat produit
+
+- Writer memoire:
+ - `bash tools/cockpit/write_kill_life_memory_entry.sh --component run_alignment_daily --json`
+- `full_operator_lane.sh --json` expose maintenant aussi:
+ - `owner`
+ - `decision`
+ - `resume_ref`
+ - `trust_level`
+ - `routing`
+ - `memory_entry`
+- `run_alignment_daily.sh --json` expose maintenant aussi:
+ - `owner`
+ - `decision`
+ - `resume_ref`
+ - `trust_level`
+ - `routing`
+ - `memory_entry`
+- la continuité `kill_life` est matérialisée dans:
+ - `artifacts/cockpit/kill_life_memory/latest.json`
+ - `artifacts/cockpit/kill_life_memory/latest.md`
+
+## Delta 2026-03-21 - surfaces Mascarade courtes alignées
+
+- `mascarade_runtime_health.sh --json` expose maintenant aussi:
+ - `owner`
+ - `decision`
+ - `resume_ref`
+ - `trust_level`
+ - `routing`
+ - `memory_entry`
+- `mascarade_incidents_tui.sh --json` relit désormais la continuité `kill_life` latest et remonte:
+ - `resume_ref`
+ - `trust_level`
+ - `routing`
+ - `memory_entry`
+- `render_daily_operator_summary.sh` et `render_weekly_refonte_summary.sh` affichent aussi la reprise `kill_life` dans le Markdown de handoff.
+
+## Delta 2026-03-21 - surfaces Mascarade trÚs courtes alignées
+
+- `render_mascarade_incident_brief.sh`, `render_mascarade_incident_queue.sh`, `render_mascarade_incident_watch.sh` et `render_mascarade_watch_history.sh` relisent aussi désormais:
+ - `trust_level`
+ - `resume_ref`
+ - `routing`
+ - `memory_entry`
+- les résumés Markdown Mascarade n'obligent plus à basculer vers une autre surface pour comprendre la reprise opérateur.
+
+## Delta 2026-03-21 - correction mémoire kill_life et derniÚres surfaces
+
+- `write_kill_life_memory_entry.sh` exporte désormais correctement les `artifacts` vers sa charge Python.
+- `mascarade_incident_registry.sh` relit maintenant aussi:
+ - `trust_level`
+ - `resume_ref`
+ - `routing`
+ - `memory_entry`
+- `mascarade_logs_tui.sh` remonte désormais ces champs sur les vues `summary`, `list` et `latest`.
+
+## Delta 2026-03-21 - gouvernance et points d'entrée
+
+- `yiacad_operator_index.sh` affiche maintenant explicitement la continuité `kill_life` dans son statut:
+ - `artifacts/cockpit/kill_life_memory/latest.md`
+ - `artifacts/cockpit/daily_operator_summary_latest.md`
+- `intelligence_tui.sh --action memory` relie aussi la mémoire de gouvernance à la mémoire de reprise `kill_life`.
+
+## Delta 2026-03-21 - chaĂźnes de pilotage cockpit
+
+- `refonte_tui.sh --action status` pointe désormais aussi vers:
+ - `artifacts/cockpit/kill_life_memory/latest.json`
+ - `artifacts/cockpit/kill_life_memory/latest.md`
+ - `artifacts/cockpit/daily_operator_summary_latest.md`
+- `lot_chain.sh` publie maintenant la continuité `kill_life` dans:
+ - `artifacts/cockpit/useful_lots_status.md`
+ - le bloc `AUTO LOT-CHAIN PLAN` de `specs/03_plan.md`
+ - le bloc `AUTO LOT-CHAIN TASKS` de `specs/04_tasks.md`
+- objectif:
+ - garder le mĂȘme point de reprise entre la TUI courte, la chaĂźne de lots et les handoffs cockpit
+
+## Delta 2026-03-21 - audit statique du contrat produit
+
+- `bash tools/cockpit/product_contract_audit.sh`
+- sorties:
+ - `artifacts/cockpit/product_contract_audit/latest.json`
+ - `artifacts/cockpit/product_contract_audit/latest.md`
+- objectif:
+ - vérifier sans relance runtime que les surfaces cockpit et les points d'entrée gardent visibles les ancrages `resume_ref`, `trust_level`, `routing` et `memory_entry`
+- cartographie associée:
+ - `docs/OPS_MASCARADE_KILL_LIFE_FEATURE_MAP_2026-03-21.md`
+
+## Delta 2026-03-21 - handoff produit minimal
+
+- `bash tools/cockpit/render_product_contract_handoff.sh`
+- sorties:
+ - `artifacts/cockpit/product_contract_handoff/latest.json`
+ - `artifacts/cockpit/product_contract_handoff/latest.md`
+- objectif:
+ - agréger l'audit de contrat, la mémoire `kill_life` latest et le handoff quotidien dans un seul brief opérateur court
+
+## Delta 2026-03-21 - handoff produit auto-régénérant
+
+- `bash tools/cockpit/render_product_contract_handoff.sh`
+ - défaut: tente de régénérer les prérequis légers `kill_life` et `daily_operator_summary`
+ - mode strict: `bash tools/cockpit/render_product_contract_handoff.sh --no-refresh`
+- champs JSON ajoutés:
+ - `degraded_reasons`
+ - `prereqs_refreshed`
+ - `kill_life_refresh_status`
+ - `daily_refresh_status`
+ - `markdown_file`
+ - `latest_markdown_file`
+- intégration dans les chemins opérateur:
+ - `run_alignment_daily.sh --json`
+ - `full_operator_lane.sh --json`
+ - `yiacad_operator_index.sh --action status`
+ - `refonte_tui.sh --action status`
+- garde-fou:
+ - `product_contract_audit.sh` vérifie maintenant aussi la présence du handoff et son exposition dans les points d'entrée opérateur
+- distinction retenue:
+ - audit statique = cohérence source des surfaces
+ - handoff runtime léger = disponibilité réelle du point de reprise canonique
+
+
diff --git a/tools/evals/README.md b/tools/evals/README.md
index 6ea3e39..06d2509 100644
--- a/tools/evals/README.md
+++ b/tools/evals/README.md
@@ -48,3 +48,5 @@ export MISTRAL_API_KEY="708zM4biF4WjZIAROJh2roFiAPK9O7kG"
export ANTHROPIC_API_KEY="sk-ant-api03-..."
export OPENAI_API_KEY="sk-proj-..."
```
+
+
diff --git a/tools/evals/README_FR.md b/tools/evals/README_FR.md
new file mode 100644
index 0000000..06d2509
--- /dev/null
+++ b/tools/evals/README_FR.md
@@ -0,0 +1,52 @@
+# T-MA-021 â Benchmark Multi-Provider Mascarade
+
+Benchmark comparatif base models vs fine-tuned sur prompts métier électronique.
+
+## Structure
+
+```
+evals/
+âââ benchmark_providers.py # Runner principal (Mistral, Anthropic, OpenAI)
+âââ prompts/
+â âââ metier_100_template.jsonl # 20 prompts template (Ă Ă©tendre Ă 100)
+âââ results/ # RĂ©sultats des runs (gitignored)
+```
+
+## Usage
+
+```bash
+# Dry run (pas d'appels API)
+python benchmark_providers.py --prompts prompts/metier_100_template.jsonl --dry-run
+
+# Run Mistral uniquement
+python benchmark_providers.py --prompts prompts/metier_100_template.jsonl --providers mistral
+
+# Run complet 3 providers
+python benchmark_providers.py --prompts prompts/metier_100_template.jsonl --providers mistral,anthropic,openai
+
+# Avec rate limiting adapté au free tier Anthropic (5 RPM)
+python benchmark_providers.py --prompts prompts/metier_100_template.jsonl --providers anthropic --rate-limit 13
+```
+
+## Format prompts (JSONL)
+
+```json
+{"id": "K001", "domain": "kicad", "prompt": "...", "system": "...", "difficulty": "medium"}
+```
+
+## Domaines couverts
+
+- **KiCad** (K001-K040): Schéma, PCB, DRC, symboles, empreintes
+- **SPICE** (S001-S030): Simulation, netlists, analyse AC/DC/transitoire
+- **Embedded** (E001-E020): Firmware STM32/ESP32, drivers, protocoles
+- **Mixed** (M001-M010): Architecture hardware+firmware complĂšte
+
+## Env vars
+
+```bash
+export MISTRAL_API_KEY="708zM4biF4WjZIAROJh2roFiAPK9O7kG"
+export ANTHROPIC_API_KEY="sk-ant-api03-..."
+export OPENAI_API_KEY="sk-proj-..."
+```
+
+
diff --git a/tools/hw/schops/README.md b/tools/hw/schops/README.md
index dba7579..34e7d2d 100644
--- a/tools/hw/schops/README.md
+++ b/tools/hw/schops/README.md
@@ -79,3 +79,5 @@ python tools/hw/schops/schops.py block-make \
python tools/hw/schops/schops.py block-ls --lib hardware/blocks/power.kicad_blocks
```
+
+
diff --git a/tools/hw/schops/README_FR.md b/tools/hw/schops/README_FR.md
new file mode 100644
index 0000000..34e7d2d
--- /dev/null
+++ b/tools/hw/schops/README_FR.md
@@ -0,0 +1,83 @@
+# schops (Schematic Ops)
+
+CLI local pour :
+- ERC/BOM/netlist via `kicad-cli`
+- bulk edits via `kicad-sch-api` (si installé)
+- Design Blocks KiCad 10 (structure + metadata)
+
+> Philosophie : **bulk edits safe** (backup + report) + exports déterministes (kicad-cli).
+
+## Install (local)
+```bash
+python -m venv .venv && source .venv/bin/activate
+python -m pip install -U pip
+python -m pip install -r tools/hw/schops/requirements.txt
+```
+
+## Usage
+```bash
+python tools/hw/schops/schops.py --help
+```
+
+## Exports (kicad-cli)
+```bash
+python tools/hw/schops/schops.py erc --schematic hardware/kicad//.kicad_sch
+python tools/hw/schops/schops.py netlist --schematic hardware/kicad//.kicad_sch
+python tools/hw/schops/schops.py bom --schematic hardware/kicad//.kicad_sch \
+ --fields "Reference,Value,Footprint,${DNP}" \
+ --group-by "Value,Footprint" \
+ --exclude-dnp
+```
+
+Les sorties vont dans `artifacts/hw//`.
+
+## Bulk edits (kicad-sch-api)
+
+### Champs / propriétés
+Applique `hardware/rules/fields.yaml` (defaults + rÚgles) et écrit un rapport JSON.
+
+```bash
+python tools/hw/schops/schops.py apply-fields \
+ --schematic hardware/kicad//.kicad_sch \
+ --rules hardware/rules/fields.yaml
+
+# review-only
+python tools/hw/schops/schops.py apply-fields --dry-run --schematic ... --rules ...
+```
+
+### Footprints
+```bash
+python tools/hw/schops/schops.py apply-footprints \
+ --schematic hardware/kicad//.kicad_sch \
+ --map hardware/rules/footprints.csv
+```
+
+### Renommage de nets (labels)
+```bash
+python tools/hw/schops/schops.py rename-nets \
+ --schematic hardware/kicad//.kicad_sch \
+ --rules hardware/rules/nets_rename.yaml
+```
+
+### Snapshot (pour diff)
+```bash
+python tools/hw/schops/schops.py snapshot --schematic ... --name before.json
+# ... modifications ...
+python tools/hw/schops/schops.py snapshot --schematic ... --name after.json
+```
+
+## Design Blocks (KiCad 10)
+Les design blocks sont des dossiers `*.kicad_block` stockés dans une librairie `*.kicad_blocks`.
+
+```bash
+python tools/hw/schops/schops.py block-make \
+ --name buck_5v \
+ --from-sheet hardware/kicad/buck/buck.kicad_sch \
+ --lib hardware/blocks/power.kicad_blocks \
+ --description "Buck 5V@2A" \
+ --keywords "power,buck,5v"
+
+python tools/hw/schops/schops.py block-ls --lib hardware/blocks/power.kicad_blocks
+```
+
+
diff --git a/web/README.md b/web/README.md
index 70658a6..1341ae1 100644
--- a/web/README.md
+++ b/web/README.md
@@ -45,3 +45,5 @@ Environment:
- copy values from `.env.example`
- `REDIS_URL` is required for the queue/worker path
- `KIBOT_CONFIG` is optional until a real KiBot recipe is added to the project
+
+
diff --git a/web/README_FR.md b/web/README_FR.md
new file mode 100644
index 0000000..1341ae1
--- /dev/null
+++ b/web/README_FR.md
@@ -0,0 +1,49 @@
+# YiACAD Web
+
+This directory hosts the web-facing YiACAD scaffold:
+
+- `app/` provides the Next.js frontend and GraphQL route handler.
+- `components/` holds the Excalidraw canvas, KiCanvas viewer shell, project tree, and realtime status cards.
+- `project/` is the Git-tracked source-of-truth for `.excalidraw` diagrams and local KiCad inputs.
+- `realtime/server.mjs` launches the separate Yjs websocket server with persistence.
+
+Product routes:
+
+- `/` project dashboard
+- `/diagram` Excalidraw editor
+- `/pcb` KiCanvas viewer lane
+- `/review` PR review surface
+
+Key commands:
+
+- `npm install`
+- `npm run dev`
+- `npm run dev:realtime`
+- `npm run worker:eda`
+- `npm run vendor:kicanvas`
+
+The current realtime layer exposes a Yjs room and transport status.
+Binding Excalidraw scene data into the CRDT document is intentionally left as the next incremental lot.
+
+AI / intelligence overlay:
+
+- keep Git as the source of truth
+- keep Yjs as collaboration transport only
+- keep workers as the execution boundary
+- introduce review assist only as a read-only overlay once Git/CI/artifact read models are real
+
+Queue and workers:
+
+- GraphQL enqueues EDA jobs through Redis-backed `BullMQ`
+- `npm run worker:eda` consumes the queue and calls existing repo tools
+- `kicad-headless` uses `tools/cad/yiacad_native_ops.py`
+- `kibot` prefers a real `kibot` binary when configured, then falls back to `tools/cockpit/fab_package_tui.sh`
+- `kiauto-checks` is wired as a real queue pipeline and requires `KIAUTO_BIN`
+
+Environment:
+
+- copy values from `.env.example`
+- `REDIS_URL` is required for the queue/worker path
+- `KIBOT_CONFIG` is optional until a real KiBot recipe is added to the project
+
+
diff --git a/web/project/pcb/README.md b/web/project/pcb/README.md
index 346cc72..2578087 100644
--- a/web/project/pcb/README.md
+++ b/web/project/pcb/README.md
@@ -2,3 +2,5 @@
Drop `.kicad_pcb`, `.kicad_sch`, and optional `.kicad_pro` files into this directory.
The project service will expose them through `/api/project-files/...` so KiCanvas can load them.
+
+
diff --git a/web/project/pcb/README_FR.md b/web/project/pcb/README_FR.md
new file mode 100644
index 0000000..2578087
--- /dev/null
+++ b/web/project/pcb/README_FR.md
@@ -0,0 +1,6 @@
+# YiACAD PCB Viewer Inputs
+
+Drop `.kicad_pcb`, `.kicad_sch`, and optional `.kicad_pro` files into this directory.
+The project service will expose them through `/api/project-files/...` so KiCanvas can load them.
+
+