Files
stoned-ai/docs/07-REVIEW-CHECKLIST.md
Jason Hall fcd93ee0af Initialize project governance and baseline structure
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>
2026-04-12 21:55:46 +00:00

61 lines
2.2 KiB
Markdown

# 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.md` for full list)
- Are risks handled or explicitly accepted? (See `05-RISK-REGISTER.md`)
## Technical Review
- Correctness:
- Does `/host` accept 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 `/host` and `/broadcast` receive SSE events?
- 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.py` noise stripping?
- Is there a unit test for `ai.py` CLI argument construction?
- Is there a unit test for `tts.py` voice listing?
- 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.sh` present and functional?
- Does `stoned-web` start cleanly and bind to `0.0.0.0:8766` (or similar, not conflicting with Arena's 8765)?
## Documentation Review
- `README.md` updated with install and usage instructions: yes/no
- `docs/09-PROJECT-STATUS.md` updated to reflect completed phases: yes/no
- `docs/06-WORKER-HANDOFF.md` updated with current build state: yes/no
## Final Decision
- Accept
- Reject
- Request revision
## Notes
- Findings:
- Required follow-up: