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>
3.0 KiB
3.0 KiB
Zacus Master Plan
Objective
Ship a coherent Zacus V3 platform that unifies content authoring, runtime compilation, hardware execution, and documentation.
Waves
- Baseline and freeze
- Capture repo drift, failing builds, validator status, CI drift, and legacy inventory.
- Establish canonical coordination files in
memory/,plans/, andtodos/.
- Product canon
- Publish system map, feature map, migration map, runtime spec, and agent matrix.
- Rewrite contradictory frontend and repo structure specs.
- Runtime 3 core
- Define IR schema.
- Build YAML/Blockly -> IR compiler.
- Add a local Runtime 3 simulator.
- Studio canon
- Stabilize React + Blockly.
- Support roundtrip YAML <-> graph and JSON IR preview.
- Align frontend API assumptions with Runtime 3.
- Firmware adapter
- Load Runtime 3 artifacts from firmware.
- Expose canonical runtime APIs.
- Restore green Freenove builds with memory margin.
- Cleanup and cutover
- Archive or remove legacy frontend/docs/specs after replacement proof.
- Finalize docs, CI, runbooks, and release gates.
Phase Exit Criteria
- Wave 1 exits when the repo has one documented target architecture.
- Wave 3 exits when Runtime 3 artifacts can be compiled and simulated locally.
- Wave 4 exits when the studio builds cleanly and can preview Runtime 3 JSON from authored content.
- Wave 5 exits when firmware builds green against the Runtime 3 adapter path.
- Wave 6 exits when legacy references are quarantined or removed and CI enforces the new route.
Immediate Next Slice
- Retire the remaining
steps_reference_orderfallback from non-canonical importers once the adapter and studio deploy path no longer need compatibility output. - Add Runtime 3 deploy/refresh actions once the adapter accepts native IR payloads.
- Continue quarantining legacy docs/agent references that still point to
docs/AGENT_TODO.mdorzacus_v1. - Split the oversized frontend bundle once functionality is stable.
Current Progress
- Wave 1 delivered: coordination files, runtime spec, architecture maps, updated README/Quickstart/Structure docs.
- Wave 3 slice delivered: React + Blockly studio builds and previews Runtime 3 JSON.
- Wave 3.5 delivered: Runtime 3 regression tests and firmware bundle export are part of the canonical validation flow.
- Wave 4 slice delivered: the canonical scenario now defines explicit
firmware.stepstransitions and compiles through the Runtime 3 firmware-import path. - Wave 4.5 slice delivered: the studio dashboard now surfaces Runtime 3 adapter metadata without relying only on raw endpoint buttons.
- Wave 4.6 slice delivered: the studio now has a dedicated frontend regression gate for graph-first parsing and Runtime 3 compilation.
- Wave 4.7 slice delivered: the canonical scenario and studio builder no longer emit a top-level
steps_reference_ordercontract. - Wave 5 slice delivered: firmware now discovers Runtime 3 bundle metadata and exposes adapter status/document endpoints.
- Wave 5 build gate recovered:
freenove_esp32s3andesp8266_oledboth compile green.