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.2 KiB
2.2 KiB
Review Checklist
Review Goal
Compare the implementation against the governing docs. Confirm the build matches the charter, architecture, and acceptance criteria before Jason signs off.
Check These First
- Does the implementation match the charter? (One human, one AI, both voiced, two browser views)
- Does it respect architecture decisions? (Reused Kokoro backend, separate host/broadcast URLs, CLI backends first)
- Does it remain inside scope? (No microphone, no STT, no Claude API yet)
- Are acceptance criteria satisfied? (See
04-ACCEPTANCE-CRITERIA.mdfor full list) - Are risks handled or explicitly accepted? (See
05-RISK-REGISTER.md)
Technical Review
-
Correctness:
- Does
/hostaccept host text input and submit it to the server? - Does the server call the AI backend and return a clean response?
- Does TTS synthesis run for both host and AI turns?
- Are WAV files served correctly and played in sequence?
- Do both
/hostand/broadcastreceive SSE events?
- Does
-
Behavioral regressions:
- Does a timeout on the AI backend produce a visible error, not a hang?
- Can the host start a new session after ending a previous one without restarting the server?
- Does the broadcast view contain zero interactive elements?
-
Missing tests:
- Is there a unit test for
clean.pynoise stripping? - Is there a unit test for
ai.pyCLI argument construction? - Is there a unit test for
tts.pyvoice listing?
- Is there a unit test for
-
Hidden complexity:
- Is session state thread-safe?
- Is the WAV serving path sandboxed to the session directory?
-
Security concerns:
- Path traversal: can a crafted URL escape the generated audio directory?
-
Operational concerns:
- Is
scripts/install.shpresent and functional? - Does
stoned-webstart cleanly and bind to0.0.0.0:8766(or similar, not conflicting with Arena's 8765)?
- Is
Documentation Review
README.mdupdated with install and usage instructions: yes/nodocs/09-PROJECT-STATUS.mdupdated to reflect completed phases: yes/nodocs/06-WORKER-HANDOFF.mdupdated with current build state: yes/no
Final Decision
- Accept
- Reject
- Request revision
Notes
- Findings:
- Required follow-up: