{"key":"project_arena_snapshot_2026_03_30_pre_next_changes","title":"Arena project snapshot before next changes","content":"Project snapshot captured on 2026-03-30 UTC before further Arena changes.\n\nPrimary project path:\n- /home/svc-admin/ai-projects/projects/arena\n\nImportant note:\n- This project is NOT a git repository right now, so there is no commit hash rollback point.\n- This snapshot is intended as a restore/reference point for the current live state.\n\nCurrent Arena project files of interest:\n- /home/svc-admin/ai-projects/projects/arena/README.md\n- /home/svc-admin/ai-projects/projects/arena/docs/custom-voices.md\n- /home/svc-admin/ai-projects/projects/arena/pyproject.toml\n- /home/svc-admin/ai-projects/projects/arena/scripts/arena-voice-library.py\n- /home/svc-admin/ai-projects/projects/arena/scripts/install.sh\n- /home/svc-admin/ai-projects/projects/arena/src/arena/__init__.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/agents.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/clean.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/cli.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/core.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/tts.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/web.py\n\nCurrent web UI/service state:\n- URL: http://192.168.4.117:8765/\n- systemd user service: /home/svc-admin/.config/systemd/user/arena-web.service\n- service name: arena-web.service\n- service status at snapshot time: active (running)\n- main process: /home/svc-admin/ai-projects/projects/arena/.venv/bin/python3 /home/svc-admin/ai-projects/projects/arena/.venv/bin/arena-web --host 0.0.0.0 --port 8765\n\nCurrent Arena feature state:\n- Web UI exists and is served from src/arena/web.py.\n- Standard mode exists.\n- Satirical Newscast mode exists.\n- Mode presets prepopulate topic, stories, rundown, speakers, and roles.\n- Stories textarea exists and supports arbitrary number of story lines.\n- Rundown textarea exists and backend preserves repeated speakers in order.\n- UI shows per-speaker voice selectors and speed fields.\n- Voice dropdown is currently filtered to English-only Kokoro voices (American/British English families).\n- Sessions publish status updates such as:\n  - Conversation running.\n  - Generating turn X for <speaker>...\n  - Synthesizing audio for <speaker>...\n- Current turn delivery model for spoken mode:\n  - model generates turn\n  - server-side TTS runs\n  - entry is published to UI with audio_url\n  - browser plays it and ACKs turn completion\n  - next buffered turn can be released after ACK\n- This means text/audio remain coupled so it feels like the speaker is reading the response.\n- Known UX caveat: longer responses or slow TTS can make the UI look idle while waiting for first-turn delivery.\n\nCurrent TTS state:\n- Arena TTS manager is implemented in /home/svc-admin/ai-projects/projects/arena/src/arena/tts.py\n- Kokoro is the main local built-in TTS backend.\n- XTTS is integrated for enabled custom voices whose IDs begin with custom.\n- Piper is removed from the project and no longer the active backend.\n\nXTTS runtime state:\n- XTTS Docker stack path: /home/svc-admin/docker/xtts\n- Important files:\n  - /home/svc-admin/docker/xtts/docker-compose.yml\n  - /home/svc-admin/docker/xtts/Dockerfile\n  - /home/svc-admin/docker/xtts/app/server.py\n  - /home/svc-admin/docker/xtts/app/requirements.txt\n  - /home/svc-admin/docker/xtts/README.md\n- XTTS sidecar URL: http://127.0.0.1:8020\n- Docker compose service name: xtts-runtime\n- Container status at snapshot time: running (22h uptime)\n- XTTS health at snapshot time:\n  - ok: true\n  - voice_root: /voices\n  - enabled_voices: [\"custom.jason\"]\n  - cached_conditioning: [\"custom.jason\"]\n- Speaker embedding / conditioning cache is already implemented in XTTS sidecar.\n- Speed is passed from Arena to XTTS.\n- This cache reduced repeated custom.jason warm-path synthesis time materially.\n\nCustom voice library state:\n- Voice library root: /opt/models/arena-voices\n- Catalog file: /opt/models/arena-voices/index.json\n- Current catalog contents at snapshot time:\n  - voice_id: custom.jason\n  - display_name: Jason\n  - language_code: en-us\n  - backend: xtts_v2\n  - status: ready\n  - enabled: true\n  - manifest: /opt/models/arena-voices/voices/jason/voice.json\n- Custom voice helper script:\n  - /home/svc-admin/ai-projects/projects/arena/scripts/arena-voice-library.py\n- Custom voice docs:\n  - /home/svc-admin/ai-projects/projects/arena/docs/custom-voices.md\n\nJason voice recording state:\n- Voice directory: /opt/models/arena-voices/voices/jason\n- Raw clips present: 10\n  - clip001.wav through clip010.wav\n- Reference clips present: 5\n  - clip001.wav\n  - clip003.wav\n  - clip007.wav\n  - clip008.wav\n  - clip010.wav\n- User has already enabled custom.jason in the voice catalog.\n- Known quality caveat:\n  - custom.jason is currently a quick-test XTTS clone based on a very small reference set.\n  - It works for pipeline testing but does not yet reliably preserve the user’s exact natural accent/prosody.\n\nCurrent live operational conclusions:\n- Arena backend can successfully start and run sessions.\n- Clean test sessions emit status and entry events correctly.\n- If the UI says running but appears blank, a likely cause is delayed first-turn delivery due to coupled TTS synthesis before entry publish, especially for longer responses or custom voice use.\n- For Kokoro-only sessions, latency is generally lower but longer replies still increase both generation and synthesis time.\n\nUseful restore/reference paths:\n- Arena project root: /home/svc-admin/ai-projects/projects/arena\n- Arena service unit: /home/svc-admin/.config/systemd/user/arena-web.service\n- XTTS stack: /home/svc-admin/docker/xtts\n- Voice library: /opt/models/arena-voices\n\nThis memory is meant to be used as the rollback/reference snapshot before any additional Arena architectural or UI changes after 2026-03-30.","summary":"Project snapshot captured on 2026-03-30 UTC before further Arena changes.\n\nPrimary project path:\n- /home/svc-admin/ai-projects/projects/arena\n\nImportant note:\n- This project is NOT a git repository right now, so there is no commit hash rollback point.\n- This snapshot is intended as a restore/reference point for the current live state.\n\nCurrent Arena project files of interest:\n- /home/svc-admin/ai-projects/projects/arena/README.md\n- /home/svc-admin/ai-projects/projects/arena/docs/custom-voices.md\n- /home/svc-admin/ai-projects/projects/arena/pyproject.toml\n- /home/svc-admin/ai-projects/projects/arena/scripts/arena-voice-library.py\n- /home/svc-admin/ai-projects/projects/arena/scripts/install.sh\n- /home/svc-admin/ai-projects/projects/arena/src/arena/__init__.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/agents.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/clean.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/cli.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/core.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/tts.py\n- /home/svc-admin/ai-projects/projects/arena/src/arena/web.py\n\nCurrent web UI/service state:\n- URL: http://192.168.4.117:8765/\n- systemd user service: /home/svc-admin/.config/systemd/user/arena-web.service\n- service name: arena-web.service\n- service status at snapshot time: active (running)\n- main process: /home/svc-admin/ai-projects/projects/arena/.venv/bin/python3 /home/svc-admin/ai-projects/projects/arena/.venv/bin/arena-web --host 0.0.0.0 --port 8765\n\nCurrent Arena feature state:\n- Web UI exists and is served from src/arena/web.py.\n- Standard mode exists.\n- Satirical Newscast mode exists.\n- Mode presets prepopulate topic, stories, rundown, speakers, and roles.\n- Stories textarea exists and supports arbitrary number of story lines.\n- Rundown textarea exists and backend preserves repeated speakers in order.\n- UI shows per-speaker voice selectors and speed fields.\n- Voice dropdown is currently filtered to English-only Kokoro voices (American/British English families).\n- Sessions publish status updates such as:\n  - Conversation running.\n  - Generating turn X for <speaker>...\n  - Synthesizing audio for <speaker>...\n- Current turn delivery model for spoken mode:\n  - model generates turn\n  - server-side TTS runs\n  - entry is published to UI with audio_url\n  - browser plays it and ACKs turn completion\n  - next buffered turn can be released after ACK\n- This means text/audio remain coupled so it feels like the speaker is reading the response.\n- Known UX caveat: longer responses or slow TTS can make the UI look idle while waiting for first-turn delivery.\n\nCurrent TTS state:\n- Arena TTS manager is implemented in /home/svc-admin/ai-projects/projects/arena/src/arena/tts.py\n- Kokoro is the main local built-in TTS backend.\n- XTTS is integrated for enabled custom voices whose IDs begin with custom.\n- Piper is removed from the project and no longer the active backend.\n\nXTTS runtime state:\n- XTTS Docker stack path: /home/svc-admin/docker/xtts\n- Important files:\n  - /home/svc-admin/docker/xtts/docker-compose.yml\n  - /home/svc-admin/docker/xtts/Dockerfile\n  - /home/svc-admin/docker/xtts/app/server.py\n  - /home/svc-admin/docker/xtts/app/requirements.txt\n  - /home/svc-admin/docker/xtts/README.md\n- XTTS sidecar URL: http://127.0.0.1:8020\n- Docker compose service name: xtts-runtime\n- Container status at snapshot time: running (22h uptime)\n- XTTS health at snapshot time:\n  - ok: true\n  - voice_root: /voices\n  - enabled_voices: [\"custom.jason\"]\n  - cached_conditioning: [\"custom.jason\"]\n- Speaker embedding / conditioning cache is already implemented in XTTS sidecar.\n- Speed is passed from Arena to XTTS.\n- This cache reduced repeated custom.jason warm-path synthesis time materially.\n\nCustom voice library state:\n- Voice library root: /opt/models/arena-voices\n- Catalog file: /opt/models/arena-voices/index.json\n- Current catalog contents at snapshot time:\n  - voice_id: custom.jason\n  - display_name: Jason\n  - language_code: en-us\n  - backend: xtts_v2\n  - status: ready\n  - enabled: true\n  - manifest: /opt/models/arena-voices/voices/jason/voice.json\n- Custom voice helper script:\n  - /home/svc-admin/ai-projects/projects/arena/scripts/arena-voice-library.py\n- Custom voice docs:\n  - /home/svc-admin/ai-projects/projects/arena/docs/custom-voices.md\n\nJason voice recording state:\n- Voice directory: /opt/models/arena-voices/voices/jason\n- Raw clips present: 10\n  - clip001.wav through clip010.wav\n- Reference clips present: 5\n  - clip001.wav\n  - clip003.wav\n  - clip007.wav\n  - clip008.wav\n  - clip010.wav\n- User has already enabled custom.jason in the voice catalog.\n- Known quality caveat:\n  - custom.jason is currently a quick-test XTTS clone based on a very small reference set.\n  - It works for pipeline testing but does not yet reliably preserve the user’s exact natural accent/prosody.\n\nCurrent live operational conclusions:\n- Arena backend can successfully start and run sessions.\n- Clean test sessions emit status and entry events correctly.\n- If the UI says running but appears blank, a likely cause is delayed first-turn delivery due to coupled TTS synthesis before entry publish, especially for longer responses or custom voice use.\n- For Kokoro-only sessions, latency is generally lower but longer replies still increase both generation and synthesis time.\n\nUseful restore/reference paths:\n- Arena project root: /home/svc-admin/ai-projects/projects/arena\n- Arena service unit: /home/svc-admin/.config/systemd/user/arena-web.service\n- XTTS stack: /home/svc-admin/docker/xtts\n- Voice library: /opt/models/arena-voices\n\nThis memory is meant to be used as the rollback/reference snapshot before any additional Arena architectural or UI changes after 2026-03-30.","status":"active","namespace":"general","namespace_name":"general","namespace_tier":"shared","tags":[]}