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 [![CI](https://img.shields.io/github/actions/workflow/status/electron-rare/Kill_LIFE/ci.yml?branch=main&label=CI)](https://github.com/electron-rare/Kill_LIFE/actions) -[![Licence MIT](https://img.shields.io/badge/license-MIT-blue)](licenses/MIT.txt) +[![MIT License](https://img.shields.io/badge/license-MIT-blue)](licenses/MIT.txt) [![Compliance](https://img.shields.io/badge/compliance-passed-brightgreen)](docs/COMPLIANCE.md)
- BanniĂšre Kill_LIFE + Kill_LIFE Banner
--- -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:
Don't Panic - Playlist apocalypse + Apocalypse playlist
-## 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.
- Schéma des agents BMAD + BMAD agents diagram
-> « 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 > 42 -([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.
- Pipeline hardware/firmware + Hardware/firmware pipeline
--- -## đŸ–„ïž 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
- Arborescence du projet Kill_LIFE + Kill_LIFE project tree
```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.
Evidence Pack
-### 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//`.
Bulk Edit Party
-### 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.
Gate Validation @@ -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.
OpenClaw Sandbox @@ -516,118 +516,120 @@ Les workflows éditables par `crazy_life` vivent dans [`workflows/`](workflows/) CI Inactive
-### 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. + +