20aed903ba
- Voice pipeline: ESP32 WebSocket client → voice bridge → LLM → Piper TTS (Tower :8001) - Hints engine: 3 puzzles (LA_440, LEFOU_PIANO, QR_FINALE), anti-cheat, 3 hint levels - MCP hardware server: 6 tools (puzzle, audio, LED, camera, scenario, status), stdio transport - Analytics: ESP32 module + 6 web endpoints + Dashboard UI with chat interface - Security: auth middleware (Bearer NVS), rate limiting, input validation on 30 endpoints - Frontend: code-split (1.1MB → 210KB initial), ErrorBoundary, API timeout, WS reconnect - Tests: 24 Python + 38 TypeScript + 18 MCP = 80 project tests (+ 19 mascarade) - Specs: AI_INTEGRATION_SPEC, MCP_HARDWARE_SERVER_SPEC, QA_TEST_MATRIX_SPEC - Docs: SECURITY, DEPLOYMENT_RUNBOOK, voice pipeline guide, AI architecture map - 6 AI agent definitions (.github/agents/ai_*.md) - TUI orchestration script (tools/dev/zacus_tui.py) - Docker compose TTS for Tower + KXKM-AI - CHANGELOG, README, mkdocs.yml updated - Cycle detection (DFS) in runtime3 validator - Sprint plan: plans/SPRINT_AI_INTEGRATION.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.1 KiB
1.1 KiB
Component Map
flowchart LR
subgraph Studio
App["App.tsx"]
Designer["BlocklyDesigner.tsx"]
ScenarioLib["lib/scenario.ts"]
Runtime3Lib["lib/runtime3.ts"]
ApiLib["lib/api.ts"]
end
subgraph Canon
ScenarioYaml["game/scenarios/zacus_v2.yaml"]
end
subgraph Runtime3
CompilerPy["tools/scenario/compile_runtime3.py"]
RuntimeCommon["tools/scenario/runtime3_common.py"]
SimPy["tools/scenario/simulate_runtime3.py"]
end
subgraph Device
Firmware["hardware/firmware"]
StoryCore["lib/story runtime adapter"]
UI["Freenove UI + API"]
end
ScenarioYaml --> ScenarioLib
Designer --> ScenarioLib
ScenarioLib --> Runtime3Lib
Runtime3Lib --> App
ScenarioYaml --> CompilerPy
CompilerPy --> RuntimeCommon
RuntimeCommon --> SimPy
RuntimeCommon --> Firmware
Firmware --> StoryCore
StoryCore --> UI
ApiLib --> UI
Notes
- The React studio owns authoring ergonomics and previews.
- The Python compiler/simulator owns deterministic offline validation.
- Firmware consumes the Runtime 3 contract and exposes runtime APIs.