1c6c1952e8
Regressions fixed (aa916de simplification):
- firmware/platformio.ini: restore esp32s3_waveshare (pioarduino platform,
lib_deps: ArduinoJson/ESP32_Display_Panel/ESP32-audioI2S/IO_Expander,
BOARD_HAS_PSRAM, I2S pins), restore esp32s3_qemu (extends waveshare +
QEMU_BUILD), fix default_envs=esp32s3_waveshare, keep build_dir=/tmp/kl_pio_build
- .github/workflows/ci.yml: restore firmware-native (112 Unity tests),
firmware-build (esp32s3_waveshare artifact), firmware-sim (Wokwi gated),
hardware-export (KiCad ERC + SVG/PDF/netlist + KiBot + compliance)
- .gitignore: add .kibot-venv/ and .pio-venv/ (prevent committing venvs)
Dataset (HuggingFace clemsail/kill-life-embedded-qa v2):
- generate_hf_dataset.py: rag_query timeout 30s->120s (LLM takes ~45s),
rag_search timeout 15s->30s; resolves intermittent server-busy failures
- 30 entries (10+10+5+5) -- 100% coverage vs 21/40 previously
Firmware tests (112/112):
- 4 suites: test_basic (39), test_modules (32), test_radio_state (26),
test_wifi_state (15); test_logic.cpp now a stub (content moved to test_basic)
Hardware:
- esp32_minimal.kicad_pcb, esp32s3_enclosure.FCStd/.step, gen_pcb.py,
gen_enclosure.py, REGISTRY.md, ERC reports for all design blocks
MCP tools:
- apify_mcp.py: +5 Kill_LIFE tools (fetch_espressif_docs, fetch_kicad_library_info,
fetch_platformio_registry, ingest_to_rag, get_runtime_info)
- mcp_runtime_status.py: fix classify_overall -- accept_degraded respected for
failed checks, task annotations, optional_degraded logic cleaned up
- deploy/cad/docker-compose.yml: path mascarade->mascarade-main
Specs & docs:
- docs/plans/TODO_2026-03-26.md, TODO_2026-03-27.md
- ai-agentic-embedded-base/specs: arch, tasks, intake, spec updates
- docs/playbooks/kicad_happy_hw_bom_forge.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Easter Egg musique expérimentale
« L’intake du projet s’écoute comme une partition acousmatique : chaque idée module le silence. » — François Bayle
Intake
Problème
- Le projet Kill_LIFE a déjà une architecture agentique et un socle MCP, mais les artefacts canoniques sont en partie désynchronisés.
- Le référentiel doit passer en mode refonte complète sans perdre la traction opérationnelle ni casser les chaînes CI.
- Les lots d’optimisation existent, mais les priorités et responsabilités ne sont pas suffisamment structurées pour un cycle autonome.
Utilisateurs / contexte
- Équipe produit embarquée (PM, firmware, hardware, QA, doc) qui pilote des lots hebdomadaires.
- Opérateurs locaux (
clems@192.168.0.120,root@192.168.0.119,kxkm@kxkm-ai,cils@100.126.225.111) qui exécutent la refonte. - Mainteneurs souhaitant une piste claire entre specs, plans, automatisation et preuve.
Hypothèses
- La spec-driven chain (
00_intake -> 01_spec -> 02_arch -> 03_plan -> 04_tasks) reste la source de vérité. - Les labels
ai:*et le scope guard restent les garde-fous principaux. - Les intégrations IA (ZeroClaw, MCP, LangGraph, AutoGen) restent optionnelles quand non sécurisées par les gates.
- Les données de télémetrie/logs doivent être exploitables, lisibles, puis nettoyables.
Risques
- Perte de cohérence entre README/plans/specs.
- Dérive de portée AI (automatisation trop invasive hors garde-fous).
- Faux positifs dans les détections de lot auto.
- Chute de conformité si les evidences et gates sont sautées.
Définition du “done”
docs/REFACTOR_MANIFEST_2026-03-20.mdetdocs/WEB_RESEARCH_OPEN_SOURCE_2026-03-20.mdmis à jour.- Plans/tâches ré-assignés (
docs/plans/12,docs/plans/18,specs/04_tasks.md) avec priorités. - Nouveau script TUI opérationnel :
tools/cockpit/refonte_tui.sh. - Diagrammes et cartes mises à jour dans
docs/KILL_LIFE_FEATURE_MAP_2026-03-11.md,docs/AGENTIC_LANDSCAPE.md, workflows. - Logs de lot lus, analysés et purgeables avec commande dédiée.