e67fb754c2
Session kxkm-ai 25-26 mars 2026 — 98/98 tâches TODO complétées. Hardware: - KiCad 10.0.0 native avec sym/fp-lib-table locales - Nouveau block SPI (gen_spi_header.py), ERC clean - Module partagé hardware/lib/kicad_gen.py (5 générateurs refactorisés) - Pipeline export: tools/hw/hw_export.sh (ERC + SVG + PDF + netlist) - KiBot 1.8.5 installé, .kibot.yaml configuré Firmware: - Fix I2S driver conflict: migration I2sMic vers nouvelle API i2s_channel_* - Fix WDT risk: yield() dans CompletePushToTalk (voice_controller.cpp) - Fix XSS wifi_manager.cpp: innerHTML → createElement/textContent - Fix null check FwIsValidWavHeader - Dead code supprimé: i2s_audio.cpp.bak, i2s_audio.h Simulation MCU: - QEMU ESP32-S3 v9.2.2 installé (tools/sim/) - Script run_qemu_esp32s3.sh — boot OK vérifié - [env:esp32s3_qemu] dans platformio.ini - Wokwi CI: wokwi.toml + diagram.json + scenario.yaml - SPICE bridge POC: tools/sim/spice_bridge.py (ngspice → ADC/brownout) Compliance: - Profil iot_wifi_eu validé (16 standards, 8 evidence) - 4 evidence remplis: risk_assessment, security_architecture, test_plan_radio_emc, supply_chain_declarations - plan.yaml complété avec données produit réelles CI: - Job hardware-export (KiCad 10 ERC + SVG + PDF + netlist) - Job firmware-sim (Wokwi, conditionnel WOKWI_CLI_TOKEN) - evidence_pack.yml enrichi avec exports hardware Docs & RAG: - specs/02_arch.md complet (481 lignes, 4 ADR, diagrammes) - docs/SIMULATION.md (3 niveaux: native, QEMU, Wokwi) - 6 chunks ingérés dans kb-kicad RAG - Dataset HF: tools/generate_hf_dataset.py + datasets/kb_kicad_qa.jsonl - Rapport analyse: docs/plans/ANALYSIS_REPORT_2026-03-25.md - Recherche OSS: docs/research/oss_similar_projects.md Infra: - ZeroClaw 0.1.7 installé (cargo install) - APIFY_API_KEY configurée, smoke OK - Tests: 39/39 firmware + 26/26 Python stable Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
74 lines
2.2 KiB
YAML
74 lines
2.2 KiB
YAML
name: Evidence Pack Validation
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
evidence_pack:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 25
|
|
env:
|
|
KILL_LIFE_PIO_MODE: native
|
|
PLATFORMIO_CORE_DIR: ~/.platformio
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
cache: pip
|
|
cache-dependency-path: |
|
|
tools/compliance/requirements.txt
|
|
tools/compliance/requirements-platformio.txt
|
|
|
|
- name: Cache PlatformIO core
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.platformio
|
|
key: ${{ runner.os }}-platformio-${{ hashFiles('firmware/platformio.ini', 'tools/compliance/requirements-platformio.txt') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-platformio-
|
|
|
|
- name: Bootstrap repo-local venv
|
|
run: bash tools/bootstrap_python_env.sh --with-platformio
|
|
|
|
- name: Generate evidence pack summary
|
|
run: ./.venv/bin/python tools/auto_check_ci_cd.py
|
|
|
|
- name: Install KiCad 10
|
|
run: |
|
|
sudo add-apt-repository -y ppa:kicad/kicad-10.0-releases
|
|
sudo apt-get update
|
|
sudo apt-get install -y kicad
|
|
|
|
- name: Hardware ERC + exports
|
|
run: |
|
|
mkdir -p artifacts/hw
|
|
kicad-cli sch erc hardware/esp32_minimal/esp32_minimal.kicad_sch \
|
|
--format json --output artifacts/hw/erc_report.json
|
|
kicad-cli sch export svg hardware/esp32_minimal/esp32_minimal.kicad_sch \
|
|
--output artifacts/hw/
|
|
kicad-cli sch export pdf hardware/esp32_minimal/esp32_minimal.kicad_sch \
|
|
--output artifacts/hw/schematic.pdf
|
|
kicad-cli sch export netlist hardware/esp32_minimal/esp32_minimal.kicad_sch \
|
|
--output artifacts/hw/netlist.xml
|
|
|
|
- name: Upload evidence pack artifact
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: evidence-pack
|
|
if-no-files-found: warn
|
|
path: |
|
|
docs/evidence/
|
|
artifacts/hw/
|