5efb380da5
* feat: automate yiacad pr review lane * fix: stabilize yiacad review and spec gates * fix: scope kicad exports to repo hardware * fix: ignore kicad block library sources in exports * feat: Add infra VPS monitoring runbook and healthcheck scripts - Created INFRA_VPS_RUNBOOK_2026.md detailing operational procedures for monitoring VPS services. - Added infra_vps_healthcheck.sh script for automated health checks on DNS, TLS, TCP, and HTTP for VPS services. - Introduced infra_vps_security_audit.sh for non-intrusive security checks on external VPS services. - Established JSON schema for infra VPS inventory in infra_vps.schema.json. - Developed integration for runtime status reporting in the Next.js API route. - Implemented Playwright tests for smoke testing the application and ensuring core functionalities. - Updated Makefile for development dependencies and testing commands. - Created various test files for unit and end-to-end testing across different components. * feat(agentics): update mesh agents, gates, prompts, and workflows
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:
00_intake.md— idée brute + périmètre01_spec.md— besoin, critères d’acceptation02_arch.md— architecture + ADR03_plan.md— plan de réalisation04_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_repoowner_agentowner_subagentwrite_setstatusevidence
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.
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.mdcad_modeling_tasks.mdkicad_mcp_scope_spec.mdmcp_agentics_target_backlog.mdmcp_tasks.mdknowledge_base_mcp_spec.mdzeroclaw_dual_hw_orchestration_spec.mdzeroclaw_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 --yesbash tools/run_autonomous_next_lots.sh statusbash 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 viabash tools/specs/sync_spec_mirror.sh all --yes.- Les surfaces
docs/,tools/,artifacts/etfirmware/restent canoniques dansKill_LIFEsauf lot explicite contraire. - La fermeture d'un lot spec-first passe par deux commandes:
bash tools/specs/sync_spec_mirror.sh all --yespuispython3 tools/validate_specs.py --strict --require-mirror-sync.
Référentiels refonte à actualiser ensemble
docs/KILL_LIFE_CONSOLIDATION_AUDIT_2026-03-21.mddocs/REFACTOR_MANIFEST_2026-03-20.mddocs/WEB_RESEARCH_OPEN_SOURCE_2026-03-20.mddocs/AGENT_SPEC_MODULE_MATRIX_2026-03-20.mddocs/plans/12_plan_gestion_des_agents.mddocs/plans/18_plan_enchainement_autonome_des_lots_utiles.mdtools/cockpit/refonte_tui.shtools/cockpit/log_ops.shdocs/AI_WORKFLOWS.md