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>
66 lines
2.0 KiB
Makefile
66 lines
2.0 KiB
Makefile
PYTHON ?= python3
|
|
SCENARIO ?= game/scenarios/zacus_v2.yaml
|
|
FRONTEND_DIR ?= frontend-scratch-v2
|
|
|
|
.PHONY: bootstrap-validators bootstrap-docs scenario-validate audio-validate printables-validate export validate-runtime-bundle content-checks runtime3-compile runtime3-simulate runtime3-verify runtime3-test runtime3-firmware-bundle frontend-lint frontend-test frontend-build docs-build docs-serve all-validate images
|
|
|
|
bootstrap-validators:
|
|
bash tools/setup/install_validators.sh
|
|
|
|
bootstrap-docs:
|
|
$(PYTHON) -m pip install --user --break-system-packages -r tools/requirements/docs.txt
|
|
|
|
scenario-validate:
|
|
$(PYTHON) tools/scenario/validate_scenario.py $(SCENARIO)
|
|
|
|
audio-validate:
|
|
$(PYTHON) tools/audio/validate_manifest.py audio/manifests/zacus_v2_audio.yaml
|
|
|
|
printables-validate:
|
|
$(PYTHON) tools/printables/validate_manifest.py printables/manifests/zacus_v2_printables.yaml
|
|
|
|
export:
|
|
$(PYTHON) tools/scenario/export_md.py $(SCENARIO)
|
|
|
|
validate-runtime-bundle:
|
|
$(PYTHON) tools/scenario/validate_runtime_bundle.py
|
|
|
|
content-checks:
|
|
bash tools/test/run_content_checks.sh
|
|
|
|
runtime3-compile:
|
|
$(PYTHON) tools/scenario/compile_runtime3.py $(SCENARIO)
|
|
|
|
runtime3-simulate:
|
|
$(PYTHON) tools/scenario/simulate_runtime3.py $(SCENARIO)
|
|
|
|
runtime3-verify:
|
|
$(PYTHON) tools/scenario/verify_runtime3_pivots.py $(SCENARIO)
|
|
|
|
runtime3-test:
|
|
$(PYTHON) -m unittest discover -s tests/runtime3 -p 'test_*.py'
|
|
|
|
runtime3-firmware-bundle:
|
|
$(PYTHON) tools/scenario/export_runtime3_firmware_bundle.py $(SCENARIO)
|
|
|
|
frontend-lint:
|
|
cd $(FRONTEND_DIR) && npm run lint
|
|
|
|
frontend-test:
|
|
cd $(FRONTEND_DIR) && npm run test
|
|
|
|
frontend-build:
|
|
cd $(FRONTEND_DIR) && npm run build
|
|
|
|
docs-build:
|
|
$(PYTHON) -m mkdocs build --strict
|
|
|
|
docs-serve:
|
|
$(PYTHON) -m mkdocs serve
|
|
|
|
all-validate: scenario-validate audio-validate printables-validate validate-runtime-bundle runtime3-compile runtime3-simulate runtime3-verify runtime3-test
|
|
@echo "All validations passed."
|
|
|
|
images:
|
|
$(PYTHON) tools/images/generate_printables.py --manifest printables/manifests/zacus_v2_printables.yaml
|