{ "_description": "Tunables for core/* modules. Loaded via core.config_loader.load('core').", "brain": { "allowed_callback_prefixes": [ "Project.Sanad.motion.", "Project.Sanad.voice.", "motion.", "voice." ], "gestural_speaking_default": false }, "logger": { "log_level": "INFO", "format": "%(asctime)s [%(name)s] %(levelname)-7s %(message)s", "datefmt": "%Y-%m-%d %H:%M:%S", "file_max_bytes": 10485760, "file_backup_count": 7 }, "event_bus": { "emit_timeout_sec": 0.5 }, "paths": { "_comment": "Path roots — resolved against BASE_DIR in core/config.py", "data": "data", "logs": "logs", "scripts": "scripts", "model": "model", "audio_recordings": "data/audio", "motion_recordings": "data/recordings/motion", "motions": "data/motions" }, "gemini_defaults": { "_comment": "Baseline Gemini API config — SINGLE SOURCE OF TRUTH. All voice modules read from here.", "api_key": "AIzaSyDt9Xi83MDZuuPpfwfHyMD92X7ZKdGkqf8", "model_live": "gemini-2.5-flash-native-audio-preview-12-2025", "model_ws_uri": "wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContent", "voice_name": "Charon", "ws_timeout_sec": 30, "default_system_prompt": "You are Sanad (Bousandah), a wise and friendly Emirati assistant. Speak strictly in the UAE dialect (Khaleeji). Be helpful, concise, and use local greetings like 'Marhaba' and 'Ya Khoy'." }, "g1_hardware": { "_comment": "G1 humanoid hardware constants — shared by every motion/voice module that talks to the arm.", "num_motor": 29, "enable_arm_sdk_index": 29, "replay_hz": 60.0 }, "script_files": { "_comment": "Filenames (under scripts/) used across voice + dashboard", "persona": "sanad_script.txt", "rules": "sanad_rule.txt", "arm_phrases": "sanad_arm.txt" }, "dashboard_defaults": { "host": null, "port": 8000, "interface": "wlan0" }, "audio_defaults": { "_comment": "Host PulseAudio fallback only — the G1 deployment uses UDP multicast mic + AudioClient.PlayStream speaker (see SANAD_USE_G1_MIC in config.py LIVE_TUNE). Default here is the Jetson/G1 built-in platform-sound chip.", "send_sample_rate": 16000, "receive_sample_rate": 24000, "chunk_size": 512, "channels": 1, "sink": "alsa_output.platform-sound.analog-stereo", "source": "alsa_input.platform-sound.analog-stereo" }, "dds": { "network_interface_default": "eth0" } }