Stoned.AI — live-streamed human + AI conversation show, both sides voiced via local Kokoro TTS. Governance docs 00-09, README, .gitignore. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.9 KiB
2.9 KiB
Acceptance Criteria
Functional Criteria
- Criterion 1: The host can open
/host, start a session, type a message, and submit it. - Criterion 2: The host's typed message is synthesized to WAV audio using the host's selected Kokoro voice and played back.
- Criterion 3: After the host submits, the AI backend generates a response and it is synthesized to WAV audio using the AI's selected Kokoro voice and played back.
- Criterion 4: Both the host message and the AI response appear as conversation cards in the feed on both
/hostand/broadcast. - Criterion 5: The
/broadcastview contains no interactive controls — only the scrolling conversation feed and audio playback. - Criterion 6: OBS Studio can use
/broadcastas a browser source and capture the conversation cards and audio. - Criterion 7: The host and AI each have an independently selectable Kokoro voice.
- Criterion 8: The host can stop an in-progress session from the host view.
- Criterion 9: A new session can be started after a previous one ends without restarting the server.
Non-Functional Criteria
- Performance: TTS synthesis must begin immediately after a turn is received. The next card must not appear until the current turn's audio has finished playing.
- Reliability: The server must not crash if the AI backend times out. A timeout must surface as an error card in the feed, not a silent hang.
- Security: The server is local-network only (
svc-ai). No authentication is required. The WAV serving path must be sandboxed to the session audio directory to prevent path traversal. - Maintainability: AI backends must be swappable without changes to the web server or TTS layer. Adding Claude in Phase 2 must require changes only to
ai.pyandpyproject.toml.
Documentation Criteria
README.mdupdated with installation and usage instructions.docs/09-PROJECT-STATUS.mdupdated to reflect completed phases.docs/06-WORKER-HANDOFF.mdupdated with current build state before each implementation handoff.
Validation Criteria
- Test evidence required: unit tests for
tts.pyvoice listing,clean.pynoise filtering,ai.pyCLI argument construction. - Review evidence required: supervisor review of Phase 1 and Phase 2 output before Phase 3 begins.
- Manual validation required: OBS browser source audio capture verified by Jason.
Definition Of Done
The project is done (Phase 1–4 complete) only when:
- all functional criteria above are satisfied
- the server runs stably on
svc-ai - OBS can capture the broadcast view end-to-end
- Jason has completed at least one test conversation from start to finish using the host view and the broadcast view simultaneously
- required documentation is updated
- supervisor review is complete
Signature
- Document role: governing
- Created by: Claude (supervisor)
- Created at: 2026-04-12
- Revision status: initial
- Future revision rule: this document may be revised only by the user or by an explicitly authorized supervisor revision