Files
Kill_LIFE/ai-agentic-embedded-base/specs/contracts/pcb_ai_fab_registry.json
T
kxkm 1c6c1952e8 fix+feat: restore CI/PIO regressions, 30-entry HF dataset, new tests & hardware
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>
2026-03-26 22:14:33 +01:00

133 lines
4.1 KiB
JSON

{
"version": "2026-03-22",
"scope": "pcb-ai-fab",
"source_of_truth": {
"doc": "docs/PCB_AI_FAB_INTEGRATION_MAP_2026-03-22.md",
"registry": "specs/contracts/pcb_ai_fab_registry.json",
"tui": "tools/cockpit/pcb_ai_fab_tui.sh"
},
"tools": [
{
"id": "pcbdesigner-ai",
"name": "PCB Designer AI",
"kind": "saas-eda-fast-fab",
"status": "evaluate-fast-fab",
"owner_agent": "Embedded-CAD",
"sub_agent": "HW-BOM",
"inputs": ["schematic", "kicad-import", "altium-import"],
"outputs": ["gerber", "odb++", "kicad", "altium", "bom"],
"strengths": [
"upload schematic then AI placement+routing",
"one-click fab ordering",
"live BOM pricing and alternates",
"JLCPCB and PCBWay oriented DRC"
],
"risks": [
"external SaaS IP boundary",
"vendor-managed rule interpretation",
"needs local fab package gate before acceptance"
],
"fit_with_kill_life": [
"prototype acceleration",
"bom and fabrication handoff",
"quick-turn board ordering"
],
"links": [
"https://pcbdesigner.ai/"
]
},
{
"id": "quilter",
"name": "Quilter",
"kind": "physics-driven-routing-engine",
"status": "canary-route",
"owner_agent": "CAD-Bridge",
"sub_agent": "CAD-Smoke",
"inputs": ["schematic", "board-file", "project-file"],
"outputs": ["same-cad-format", "layout-candidates", "constraint-review"],
"strengths": [
"physics constraints from schematic",
"candidate review workflow",
"fabricator and stack-up parameters",
"returns output in source CAD format"
],
"risks": [
"no verified one-click JLCPCB claim in source reviewed",
"needs guarded round-trip into local proof chain",
"requires per-project routing acceptance criteria"
],
"fit_with_kill_life": [
"routing canary",
"constraint-heavy boards",
"candidate comparison against YiACAD"
],
"links": [
"https://www.quilter.ai/",
"https://docs.quilter.ai/using-quilter/upload-your-design-files"
]
},
{
"id": "kicad-happy",
"name": "kicad-happy",
"kind": "open-source-claude-skills",
"status": "adopt-patterns",
"owner_agent": "HW-BOM",
"sub_agent": "Forge",
"inputs": ["kicad-sch", "kicad-pcb", "gerbers", "bom"],
"outputs": ["reviews", "pricing", "supplier-orders", "jlcpcb-order-files"],
"strengths": [
"schematic and PCB analysis",
"BOM lifecycle and pricing",
"DigiKey Mouser LCSC sourcing",
"JLCPCB fabrication and assembly workflow"
],
"risks": [
"Claude Code specific",
"reference workflow more than drop-in runtime dependency",
"needs adaptation into local prompts and runbooks"
],
"fit_with_kill_life": [
"review.bom patterns",
"sourcing playbooks",
"fabrication prep patterns"
],
"links": [
"https://github.com/aklofas/kicad-happy"
]
}
],
"gaps": [
"no canonical fab package contract in Kill_LIFE today",
"no direct one-click JLCPCB workflow implemented in Kill_LIFE",
"no external PCB AI canary lane with round-trip evidence",
"no unified BOM alternates plus sourcing plus CPL preparation flow"
],
"recommended_lots": [
{
"id": "T-RE-294",
"title": "Document PCB AI / Forge / BOM / fabrication map",
"status": "done"
},
{
"id": "T-RE-295",
"title": "Publish machine-readable PCB AI registry and TUI",
"status": "done"
},
{
"id": "T-RE-296",
"title": "Run Quilter routing canary on Hypnoled and compare round-trip evidence",
"status": "todo"
},
{
"id": "T-RE-297",
"title": "Formalize fab package contract for JLCPCB BOM CPL Gerber provenance",
"status": "todo"
},
{
"id": "T-RE-298",
"title": "Translate kicad-happy patterns into YiACAD and Forge playbooks",
"status": "todo"
}
]
}